Anda di halaman 1dari 19

OpenStax-CNX module: m47736

Criando Diagramas UML com o


StarUML

Joao Carlos Ferreira dos Santos


This work is produced by OpenStax-CNX and licensed under the

Creative Commons Attribution License 3.0

Introduo a UML
A UML surgiu com o objetivo de unicar o mtodo de desenvolvimento de software usando o conceito
de orientao a objetos (OO). Houve uma poca que existiram diversos mtodos distintos cada um com
sua forma de desenvolvimento, no havia um padro de desenvolvimento usando o paradigma da orientao

Object Modeling Technique de


Booch de Grady Booch e o Object-Oriented Software Engineering de Ivar Jacobson

a objetos. Mas neste mesmo perodo j tnhamos bons mtodos como


James Rumbaugh,

e, foi unio do que tinha de melhor nesses trs mtodos que de origem ao padro UML.

Conceitos de Orientao a Objetos

Para entender um pouco melhor o mtodo implantado na UML temos que entender o paradigma da
programao Orientada a Objetos. Hoje em dia existem muitas linguagens que trabalham com o conceito
de orientao a objetos, mas a primeira linguagem que solidicou esse conceito foi linguagem

SmallTalk.

A partir dai varias aplicaes seguindo esse paradigma foram criadas e at hoje assim. Vamos ver alguns
conceitos da orientao a objetos.

Objeto:

na programao tudo que pode existir de concreto ou abstrato no mundo real. Por exemplo:

cadeira, pessoa, caneta, avaliao, entre outros. Um objeto possui uma identidade, ou seja, ele nico. Por
exemplo, um objeto carro tem as seguintes propriedades:
Cor: Preta
Modelo: Gol
Fabricante: Volkswagen
Chassi: 11H838KK

Classe:

na programao a classe um modelo utilizado para criao de objetos distintos. Pegando o

exemplo anterior vemos que um carro tem os atributos cor, modelo, fabricante e Chassi. Ento o que todos
os outros objetos tero em comum sero esses atributos, a classe serve para isso para classicar os objetos e
criar seus modelos.

Viso Geral da UML


O objetivo da UML descrever qualquer sistema baseado no desenvolvimento orientado a objetos atravs

de seus diagramas e anotaes. A modelagem de sistemas usando a UML aplicada em cinco fases, so elas:
Analise de Requisitos, Anlise, Design, Programao e Teste. Durante essas fases o responsvel pelo projeto
poder utilizar diversos diagramas disponveis na UML.

Analise de Requisitos

Nessa fase que capturamos as expectativas dos usurios sobre o sistema a ser desenvolvido. As idias

use-case,
atores. Com

capturadas aqui sero representadas como funes do sistema atravs de notaes chamadas de
e tambm as interaes do sistema junto a usurios ou outros sistemas demonstrados atravs

Version 1.1: Sep 28, 2013 11:06 am +0000


http://creativecommons.org/licenses/by/3.0/

http://cnx.org/content/m47736/1.1/

OpenStax-CNX module: m47736

a viso dos diagramas montado nessa fase o cliente ter uma idia dos recursos que estaro disponveis na
aplicao e car mais fcil o seu entendimento a respeito dos requisitos solicitados.

Anlise

Nessa fase do projeto estudam-se quais sero as entidades necessrias para o funcionamento do sistema.
Ou seja, aqui descobrimos supercialmente as classes que iro compor o sistema. Para isso temos o diagrama
de Classe representando as entidades e seus relacionamentos.

Design

Aqui se explora as solues mais tcnicas como descrio mais detalhada do relacionamento do sistema
junto aos sistemas legados e possvel adio de novas classes para completar o projeto a partir para codicao
do sistema.

Programao
Nessa fase toda a parte j elaborada ser convertida em cdigo.

Estudam-se todas as classes e seus

relacionamentos e a partir disso o cdigo gerado.

Teste

Nessa fase so realizados os testes de unidade e os testes de integrao. Os testes de unidade so aplicveis
individualmente em cada classe. J os testes de integrao so aplicados sobre um conjunto de classes e seus
recursos (por exemplo, conexo a banco de dados).

Por m o software testado pelo usurio nal para

vericar se o que foi estabelecido no modelo de diagrama do

Os Diagramas Abordados

use-case realmente foi atingido.

Nesse artigo falarei sobre trs tipos de grcos: o diagrama de caso de uso, diagrama de classes e o
diagrama de sequncia. Abordarei de forma simples e pratica esses diagramas e ao nal do artigo criarei
exemplos de cada um deles.

O Diagrama de Caso de Uso


O Diagrama de caso de uso tem foco no comportamento do sistema. Sua construo deve ser feita de

forma clara sem ambiguidade. A construo do diagrama de caso de uso baseada nos requisitos que foram
levantados junto ao cliente. Os elementos bsicos desse diagrama so:

Caso de Uso  uma elipse contendo um texto onde descrevemos qual a responsabilidade do caso de uso

dentro do sistema.

Figure 1

Ator  um boneco magrelo que representa um personagem ou sistema externo que interage com o caso
de uso. Geralmente descrevemos qual o seu papel colocando um texto abaixo do boneco.

http://cnx.org/content/m47736/1.1/

OpenStax-CNX module: m47736

Figure 2

Fronteira do Sistema  um retngulo que representa a fronteira do sistema, ou seja, seus limites dentro
de uma determinada viso. dentro dessa fronteira que cam todos os casos de Uso.

Figure 3

Extends

 Descreve cenrios opcionais de um caso de uso. So executados se algumas condies

so satisfeitas. como se fosse um teste para saber se um caso de uso vai ou no ser estendido.

includs

-Descreve um cenrio que indica obrigatoriedade onde a execuo do primeiro caso de uso

obriga a execuo do segundo caso de uso.

O Diagrama de Classes

O diagrama de classes utilizado para representar classes e seus relacionamentos dentro do projeto. Esse
diagrama composto por um retngulo divido em trs partes que representam a estrutura da classe (nome,
atributos e operaes).

http://cnx.org/content/m47736/1.1/

OpenStax-CNX module: m47736

Figure 4

Diagrama de Sequncias
Esse diagrama serve para demonstrar a interao entre os objetos. Essa interao acontece atravs de
mensagens ordenadas entre os objetos do sistema. O diagrama de sequncia possui dois eixos: eixo vertical,
que mostra o tempo e o eixo horizontal que mostra os objetos do sistema.
Para adicionar esse diagrama primeiro vamos incluir um novo pacote da mesma forma que os outros que
j foram criados aps isso clique com o boto direito sobre o pacote e v a

Diagram.

Add Diagram

Sequence

Para adicionar os objetos j existentes devemos ir aos pacotes correspondentes clicar sobre os

objetos segure e araste para a rea do diagrama de sequencia. Para adicionar os outros objetos devemos
utilizar a caixa de ferramentas que ca do lado esquerdo:

Figure 5

Aps a incluso dos objetos o diagrama cara assim:

http://cnx.org/content/m47736/1.1/

OpenStax-CNX module: m47736

Figure 6

O Programa StarUML
StarUML uma ferramenta Open Source utilizada para desenvolvimento rpido de projetos modelados
1

pela UML. Mais informaes podem ser encontradas no site da ferramenta http://staruml.sourceforge.net/en/
.
Nota: os desenhos de diagramas nesse artigo foram todos feitos atravs do StarUML

Instalando o StarUML
Baixando:

clicar sobre link StarUML Download depois sobre


(2005-12-30) StarUML 5.0 (Windows Installer) Stable 5.0 (21.67MB)optar por uma forma de
Acessar o site http://staruml.sourceforge.net/en/

instalao (escolhi o staruml-5.0-with-cm.exe).

Instalando:

D dois cliques sobre o executvel

1
2

http://staruml.sourceforge.net/en/
http://staruml.sourceforge.net/en/

http://cnx.org/content/m47736/1.1/

OpenStax-CNX module: m47736

Figure 7

Clique em

Next

http://cnx.org/content/m47736/1.1/

OpenStax-CNX module: m47736

Figure 8

Marque a opo

I accept the agrement e clique em Next

http://cnx.org/content/m47736/1.1/

OpenStax-CNX module: m47736

Figure 9

Escolha o diretrio de instalao ou deixe o sugerido e clique em

http://cnx.org/content/m47736/1.1/

Next

OpenStax-CNX module: m47736

Figure 10

D o nome da pasta (ou deixe o sugerido) de atalho que ser criada no menu do Windows e clique em

Next.

http://cnx.org/content/m47736/1.1/

OpenStax-CNX module: m47736

10

Figure 11

Caso queira criar um atalho do programa na rea de trabalho deixe marcado a caixa

icon e clique em Next

http://cnx.org/content/m47736/1.1/

Create a Desktop

OpenStax-CNX module: m47736

11

Figure 12

Clique em Install e aguarde a instalao do programa.

http://cnx.org/content/m47736/1.1/

OpenStax-CNX module: m47736

12

Figure 13

Depois disso o programa ser instalado e estar disponvel em

StarUML (ou o nome que foi colocado na instalao) .

Inicial

Todos os Programas

Implementando na Prtica o Uso da UML

- Mo na Massa

Nessa parte do artigo teremos a modelagem de um sistema escolar de informtica usando os diagramas
que foram abordados anteriormente.

O objetivo mostrar de forma pratica a aplicao da UML em de-

senvolvimento de sistemas orientado a objetos. A ferramenta utilizada para montagens dos grcos ser o
StarUML.

Estudo de Caso:

o sistema desenvolvido ser para uma escola de informtica, a escola precisa de um

software onde a secretaria possa cadastrar as turmas de um semestre.

Quando o aluno se matricular o

sistema nanceiro deve ser avisado (aqui temos uma emisso de boleto). O sistema deve fornecer uma lista
de turmas cadastradas para controle dos professores. O sistema deve ter um controle de acesso (usurio e
senha).
Iniciei o programa StarUML atravs do atalha na rea de trabalho (caso no tenha esse atalho use a
opo j explicada anteriormente). Ao abrir o programa clique em
abaixo:

http://cnx.org/content/m47736/1.1/

Empty Projtect conforme a imagem

OpenStax-CNX module: m47736

13

Figure 14

Agora vamos criar primeiro o diagrama de caso de uso e monta-lo conforme os requisitos propostos no
estudo de caso.

Model Explore clique com o boto direito sobre


Package. Feito isso poder renomear o pacote para o nome que quiser.
Agora clique sobre o pacote e escolha Add Diagram  Use Case Diagram. Pronto do lado esquerdo do
Com o StarUML aberto do lado direito da tela no

Unititled

e escolha

Add

programa teremos todos os itens para criao do Diagrama de Caso de Uso.

http://cnx.org/content/m47736/1.1/

OpenStax-CNX module: m47736

14

Figure 15

Agora para criao do diagrama precisamos analisar dentro do contexto descrito no estudo de caso quais
sero os possveis usurios do sistema e ainda quais as interaes desse sistema junto a outros sistemas.
Assim podemos criar os atores do diagrama de caso de uso.
o sistema desenvolvido ser para uma escola de informtica, a escola precisa de um software onde a

secretaria possa cadastrar as turmas de um semestre. Quando o aluno se matricular o sistema nanceiro deve ser avisado (aqui temos uma emisso de boleto). O sistema deve fornecer uma lista de turmas
cadastradas para controle dos professores. O sistema deve ter um controle de acesso (usurio e senha).
Analisando o estudo de caso acima temos o seguinte:

Secretria: no um usurio do sistema, mas ter interao com ele e por tanto pode ser considerada
um ator.

Aluno: um usurio do sistema e por tanto um ator.


Financeiro: no um usurio do sistema, mas ter interao com ele e por isso pode ser considerado
um ator.

Professor: um usurio do sistema e por tanto um ator.

Denido os usurios podemos identicar agora os casos de uso do sistema.

Bom no caso do aluno o que

realizar matricula em
gerar boleto essa ocorrncia tem o

ele pode fazer realizar a sua matricula no sistema, temos ento o caso de uso
consequncia podemos ter a criao de outro caso de uso que seria o
nome de

includ.

No caso da secretria podemos ter basicamente trs casos de uso que so:

trar Professor e Cadastrar Aluno.

Cadastrar Turmas, Cadas-

No caso do Cadastrar Aluno podemos dizer que a secretaria faa o

cadastro do aluno em casos de problemas por parte do aluno ao tentar cadastra-se no sistema.
O professor pode basicamente gerar trs casos de uso tambm que so:

Nota, Consultar Lista Turma.

http://cnx.org/content/m47736/1.1/

Cadastrar Frequncia, Lanar

OpenStax-CNX module: m47736

15

O nanceiro tem basicamente a funo de administrar os pagamentos dos alunos junto ao sistema de
tesouraria.
Nota:

os casos de uso criados so bem simples, pois so para ns didticos, claro que poderamos

encontrar muito mais casos nesse senrio.


Aps a montagem do Diagrama de Caso de Uso teramos essa viso:

Figure 16

Criado o diagrama de caso de uso vamos agora para o Diagrama de Classes. O diagrama de classes
baseado nas entidades que levantamos dentro do contexto do estudo de caso tanto entidades explicitas como
implcitas. Analisando o contexto temos as seguintes classes: Aluno, Professor, Disciplina, Curso e Turma.
Secretaria e Financeiro como so sistemas externos no estou incluindo na analise.
Para adicionar um diagrama de classes temos que clicar com o boto direito do mouse sobre o pacote e
ir a

Add Diagram

Class Diagram.

http://cnx.org/content/m47736/1.1/

Pronto temos todos os itens para construo das classes:

OpenStax-CNX module: m47736

16

Figure 17

Feito isso agora comeo a construo das classes junto com seus possveis atributos e mtodos.

Classe Aluno:

o que basicamente compe essa classe so os atributos nome, sexo, matricula, dataNasci-

mento. Todos esses atributos sero privados, ou seja, sero todos de acesso exclusivo da classe assim para
acessa-los de fora da classe ser necessrio construo dos mtodos Getter e Setter. No necessrio
viso desses mtodos no diagrama apenas os mtodos relevantes so considerados. Os mtodos dessa classe
so: registrarAluno, cosultarAluno, excluirAluno e alterarMatricula.

Classe Professor:

basicamente composta pelos atributos nome, sexo e registro. Os mtodos dessa

classe so: consultarTurma, lancarNota e realizarFrequencia. Todos os atributos da classe sero privados e
preciso de seus mtodos Getter e Setter.

Classe Turma:

composta pelos atributos codigo, codigoAluno, codigoProfessor. Os mtodos dessa

classe so listarTurma, listarAlunos. Os atributos dessa classe sero privados.

Classe Curso:

composta pelos atributos cdigo e nome apenas e os mtodos consultarCurso e incluir-

Curso. Os atributos so privados.

Classe Disciplina:

composta pelos atributos cdigo e nome, e pelos mtodos consultarDisciplina e

incluirDisciplina.

http://cnx.org/content/m47736/1.1/

OpenStax-CNX module: m47736

17

Classe DetalheTurma:
Aluno e Professor.

uma classe que auxilia no relacionamento da classe turma junto as classes

Essa classe composta pelos atributos codigoAluno, codigoProfessor e codigoTurma.

Todos os atributos dessa classe so privados.

Classe DetalheCurso:

uma classe que auxilia no relacionamento da classe curso junto a classe Turma.

composta pelos atributos codigoCurso e codigoTurma. Os atributos dessa classe so privados.

DetalheDisciplina:

uma classe que auxilia no relacionamento da classe Disciplina junta a classe Curso.

composta pelos atributos codigoCurso e codigoDisciplina. Seus atributos so privados.


Depois de criado o diagrama de classe vai car assim:

Figure 18

Agora vou mostrar um exemplo da criao do Diagrama de Sequncia.

O diagrama de sequencia

baseado nos casos de uso e ele descreve o uxo de eventos de cada caso, assim sendo, para cada caso de uso
descoberto ser necessrio criao de um diagrama de sequencia, mas no criarei todos os diagramas de
sequencia mostrarei apenas um diagrama relacionado ao caso de uso

Lanar Nota

que executado pelo

ator Professor.
Para adicionar o diagrama de sequencia repetimos os mesmos passos dos outros diagramas.
adicionamos um pacote depois adicionamos um Sequence Diagram.

Primeiro

Para incluir os objetos no diagrama

temos que selecionar os pacotes onde j existem as classes e os casos de uso selecionar o objeto segurar e
arrastar para a rea de criao. Objetos novos podem ser adicionados pela paleta que ca do lado esquerdo:

http://cnx.org/content/m47736/1.1/

OpenStax-CNX module: m47736

18

Figure 19

Aps a incluso de todos os objetos o grco ca assim:

Figure 20

http://cnx.org/content/m47736/1.1/

OpenStax-CNX module: m47736

19

1 Referncia:
Melo, A. C. (2010). Desenvolvendo Aplicaes com UML 2.2. Rio de Janeiro: Brasporte.
StarUML. (s.d.).

Welcome to StarUML. Acesso em 09 de 2013, disponvel em StarUML  The Open

Source UML/MDA Platform.

http://cnx.org/content/m47736/1.1/