criando diagramas uml com o staruml - cnx.org · visão geral da uml ... aplicação e cará mais...

19

Upload: trinhanh

Post on 23-Dec-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

OpenStax-CNX module: m47736 1

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�

Introdução a UMLA UML surgiu com o objetivo de uni�car o método de desenvolvimento de software usando o conceito

de orientação a objetos (OO). Houve uma época que existiram diversos métodos distintos cada um comsua forma de desenvolvimento, não havia um padrão de desenvolvimento usando o paradigma da orientaçãoa objetos. Mas neste mesmo período já tínhamos bons métodos como Object Modeling Technique deJames Rumbaugh, Booch de Grady Booch e oObject-Oriented Software Engineering de Ivar Jacobsone, foi à união do que tinha de melhor nesses três métodos que de origem ao padrão UML.

Conceitos de Orientação a ObjetosPara entender um pouco melhor o método implantado na UML temos que entender o paradigma da

programação Orientada a Objetos. Hoje em dia existem muitas linguagens que trabalham com o conceitode orientação a objetos, mas a primeira linguagem que solidi�cou esse conceito foi à linguagem SmallTalk.A partir dai varias aplicações seguindo esse paradigma foram criadas e até hoje é assim. Vamos ver algunsconceitos da orientação a objetos.

Objeto: na programação é tudo que pode existir de concreto ou abstrato no mundo real. Por exemplo:cadeira, pessoa, caneta, avaliação, entre outros. Um objeto possui uma identidade, ou seja, ele é único. Porexemplo, um objeto carro tem as seguintes propriedades:

Cor: PretaModelo: GolFabricante: VolkswagenChassi: 11H838KKClasse: na programação a classe é um modelo utilizado para criação de objetos distintos. Pegando o

exemplo anterior vemos que um carro tem os atributos cor, modelo, fabricante e Chassi. Então o que todosos outros objetos terão em comum serão esses atributos, a classe serve para isso para classi�car os objetos ecriar seus modelos.

Visão Geral da UMLO objetivo da UML é descrever qualquer sistema baseado no desenvolvimento orientado a objetos através

de seus diagramas e anotações. A modelagem de sistemas usando a UML é aplicada em cinco fases, são elas:Analise de Requisitos, Análise, Design, Programação e Teste. Durante essas fases o responsável pelo projetopoderá utilizar diversos diagramas disponíveis na UML.

Analise de RequisitosNessa fase que capturamos as expectativas dos usuários sobre o sistema a ser desenvolvido. As idéias

capturadas aqui serão representadas como funções do sistema através de notações chamadas de use-case,e também as interações do sistema junto a usuários ou outros sistemas demonstrados através atores. Com

*Version 1.1: Sep 28, 2013 11:06 am -0500�http://creativecommons.org/licenses/by/3.0/

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

OpenStax-CNX module: m47736 2

a visão dos diagramas montado nessa fase o cliente terá uma idéia dos recursos que estarão disponíveis naaplicação e �cará mais fácil o seu entendimento a respeito dos requisitos solicitados.

AnáliseNessa fase do projeto estudam-se quais serão as entidades necessárias para o funcionamento do sistema.

Ou seja, aqui descobrimos super�cialmente as classes que irão compor o sistema. Para isso temos o diagramade Classe representando as entidades e seus relacionamentos.

DesignAqui se explora as soluções mais técnicas como descrição mais detalhada do relacionamento do sistema

junto aos sistemas legados e possível adição de novas classes para completar o projeto a partir para codi�caçãodo sistema.

ProgramaçãoNessa fase toda a parte já elaborada será convertida em código. Estudam-se todas as classes e seus

relacionamentos e a partir disso o código é gerado.TesteNessa fase são realizados os testes de unidade e os testes de integração. Os testes de unidade são aplicáveis

individualmente em cada classe. Já os testes de integração são aplicados sobre um conjunto de classes e seusrecursos (por exemplo, conexão a banco de dados). Por �m o software é testado pelo usuário �nal paraveri�car se o que foi estabelecido no modelo de diagrama do use-case realmente foi atingido.

Os Diagramas AbordadosNesse artigo falarei sobre três tipos de grá�cos: o diagrama de caso de uso, diagrama de classes e o

diagrama de sequência. Abordarei de forma simples e pratica esses diagramas e ao �nal do artigo criareiexemplos de cada um deles.

O Diagrama de Caso de UsoO Diagrama de caso de uso tem foco no comportamento do sistema. Sua construção deve ser feita de

forma clara sem ambiguidade. A construção do diagrama de caso de uso é baseada nos requisitos que foramlevantados junto ao cliente. Os elementos básicos desse diagrama são:

Caso de Uso � uma elipse contendo um texto onde descrevemos qual a responsabilidade do caso de usodentro do sistema.

Figure 1

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

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

OpenStax-CNX module: m47736 3

Figure 2

Fronteira do Sistema � um retângulo que representa a fronteira do sistema, ou seja, seus limites dentrode uma determinada visão. É dentro dessa fronteira que �cam todos os casos de Uso.

Figure 3

�Extends� � Descreve cenários opcionais de um caso de uso. São executados se algumas condiçõessão satisfeitas. É como se fosse um teste para saber se um caso de uso vai ou não ser estendido.

�includs� -Descreve um cenário que indica obrigatoriedade onde a execução do primeiro caso de usoobriga a execução do segundo caso de uso.

O Diagrama de ClassesO diagrama de classes é utilizado para representar classes e seus relacionamentos dentro do projeto. Esse

diagrama é composto por um retângulo divido em três partes que representam a estrutura da classe (nome,atributos e operações).

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

OpenStax-CNX module: m47736 4

Figure 4

Diagrama de SequênciasEsse diagrama serve para demonstrar a interação entre os objetos. Essa interação acontece através de

mensagens ordenadas entre os objetos do sistema. O diagrama de sequência 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 quejá foram criados após isso clique com o botão direito sobre o pacote e vá a Add Diagram � SequenceDiagram. Para adicionar os objetos já existentes devemos ir aos pacotes correspondentes clicar sobre osobjetos segure e araste para a área do diagrama de sequencia. Para adicionar os outros objetos devemosutilizar a caixa de ferramentas que �ca do lado esquerdo:

Figure 5

Após a inclusão dos objetos o diagrama �cara assim:

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

OpenStax-CNX module: m47736 5

Figure 6

O Programa StarUMLStarUML é uma ferramenta Open Source utilizada para desenvolvimento rápido de projetos modelados

pela UML. Mais informações podem ser encontradas no site da ferramenta http://staruml.sourceforge.net/en/1

.Nota: os desenhos de diagramas nesse artigo foram todos feitos através do StarUMLInstalando o StarUMLBaixando:Acessar o site http://staruml.sourceforge.net/en/2 clicar sobre link StarUML Download depois sobre

(2005-12-30) StarUML 5.0 (Windows Installer) Stable 5.0 (21.67MB)optar por uma forma deinstalação (escolhi o staruml-5.0-with-cm.exe).

Instalando:Dê dois cliques sobre o executável

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

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

OpenStax-CNX module: m47736 6

Figure 7

Clique em Next

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

OpenStax-CNX module: m47736 7

Figure 8

Marque a opção I accept the agrement e clique em Next

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

OpenStax-CNX module: m47736 8

Figure 9

Escolha o diretório de instalação ou deixe o sugerido e clique em Next

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

OpenStax-CNX module: m47736 9

Figure 10

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

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 Create a Desktopicon e clique em Next

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

OpenStax-CNX module: m47736 11

Figure 12

Clique em Install e aguarde a instalação do programa.

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

OpenStax-CNX module: m47736 12

Figure 13

Depois disso o programa será instalado e estará disponível em Inicial � Todos os Programas �StarUML (ou o nome que foi colocado na instalação) .

Implementando na Prática o Uso da UML- Mão na MassaNessa parte do artigo teremos a modelagem de um sistema escolar de informática usando os diagramas

que foram abordados anteriormente. O objetivo é mostrar de forma pratica a aplicação da UML em de-senvolvimento de sistemas orientado a objetos. A ferramenta utilizada para montagens dos grá�cos será oStarUML.

Estudo de Caso: o sistema desenvolvido será para uma escola de informática, a escola precisa de umsoftware onde a secretaria possa cadastrar as turmas de um semestre. Quando o aluno se matricular osistema �nanceiro deve ser avisado (aqui temos uma emissão de boleto). O sistema deve fornecer uma listade turmas cadastradas para controle dos professores. O sistema deve ter um controle de acesso (usuário esenha).

Iniciei o programa StarUML através do atalha na área de trabalho (caso não tenha esse atalho use aopção já explicada anteriormente). Ao abrir o programa clique em Empty Projtect conforme a imagemabaixo:

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

OpenStax-CNX module: m47736 13

Figure 14

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

Com o StarUML aberto do lado direito da tela no Model Explore clique com o botão direito sobreUnititled e escolha Add � 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 doprograma teremos todos os itens para criação do Diagrama de Caso de Uso.

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

OpenStax-CNX module: m47736 14

Figure 15

Agora para criação do diagrama precisamos analisar dentro do contexto descrito no estudo de caso quaisserão os possíveis usuários do sistema e ainda quais as interações 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 informática, a escola precisa de um software onde asecretaria possa cadastrar as turmas de um semestre. Quando o aluno se matricular o sistema �nan-ceiro deve ser avisado (aqui temos uma emissão de boleto). O sistema deve fornecer uma lista de turmascadastradas para controle dos professores. O sistema deve ter um controle de acesso (usuário e senha).�

Analisando o estudo de caso acima temos o seguinte:

• Secretária: não é um usuário do sistema, mas terá interação com ele e por tanto pode ser consideradaum ator.

• Aluno: é um usuário do sistema e por tanto é um ator.• Financeiro: não é um usuário do sistema, mas terá interação com ele e por isso pode ser considerado

um ator.• Professor: é um usuário do sistema e por tanto é um ator.

De�nido os usuários podemos identi�car agora os casos de uso do sistema. Bom no caso do aluno o queele pode fazer é realizar a sua matricula no sistema, temos então o caso de uso realizar matricula emconsequência podemos ter a criação de outro caso de uso que seria o gerar boleto essa ocorrência tem onome de �includ�.

No caso da secretária podemos ter basicamente três casos de uso que são: Cadastrar Turmas, Cadas-trar Professor e Cadastrar Aluno. No caso do Cadastrar Aluno podemos dizer que a secretaria faça ocadastro do aluno em casos de problemas por parte do aluno ao tentar cadastra-se no sistema.

O professor pode basicamente gerar três casos de uso também que são: Cadastrar Frequência, LançarNota, Consultar Lista Turma.

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

OpenStax-CNX module: m47736 15

O �nanceiro tem basicamente a função de administrar os pagamentos dos alunos junto ao sistema detesouraria.

Nota: os casos de uso criados são bem simples, pois são para �ns didáticos, é claro que poderíamosencontrar muito mais casos nesse senário.

Após a montagem do Diagrama de Caso de Uso teríamos essa visão:

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 comoimplícitas. Analisando o contexto temos as seguintes classes: Aluno, Professor, Disciplina, Curso e Turma.Secretaria e Financeiro como são sistemas externos não estou incluindo na analise.

Para adicionar um diagrama de classes temos que clicar com o botão direito do mouse sobre o pacote eir a Add Diagram � Class Diagram. Pronto temos todos os itens para construção das classes:

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

OpenStax-CNX module: m47736 16

Figure 17

Feito isso agora começo a construção das classes junto com seus possíveis atributos e métodos.Classe Aluno: o que basicamente compõe essa classe são os atributos nome, sexo, matricula, dataNasci-

mento. Todos esses atributos serão privados, ou seja, serão todos de acesso exclusivo da classe assim paraacessa-los de fora da classe será necessário à construção dos métodos Getter e Setter. Não é necessário àvisão desses métodos no diagrama apenas os métodos relevantes são considerados. Os métodos dessa classesão: registrarAluno, cosultarAluno, excluirAluno e alterarMatricula.

Classe Professor: basicamente é composta pelos atributos nome, sexo e registro. Os métodos dessaclasse são: consultarTurma, lancarNota e realizarFrequencia. Todos os atributos da classe serão privados eprecisão de seus métodos Getter e Setter.

Classe Turma: é composta pelos atributos codigo, codigoAluno, codigoProfessor. Os métodos dessaclasse são listarTurma, listarAlunos. Os atributos dessa classe serão privados.

Classe Curso: é composta pelos atributos código e nome apenas e os métodos consultarCurso e incluir-Curso. Os atributos são privados.

Classe Disciplina: é composta pelos atributos código e nome, e pelos métodos consultarDisciplina eincluirDisciplina.

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

OpenStax-CNX module: m47736 17

Classe DetalheTurma: é uma classe que auxilia no relacionamento da classe turma junto as classesAluno e Professor. Essa classe é composta pelos atributos codigoAluno, codigoProfessor e codigoTurma.Todos os atributos dessa classe são 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 são privados.

DetalheDisciplina: é uma classe que auxilia no relacionamento da classe Disciplina junta a classe Curso.É composta pelos atributos codigoCurso e codigoDisciplina. Seus atributos são privados.

Depois de criado o diagrama de classe vai �car assim:

Figure 18

Agora vou mostrar um exemplo da criação do Diagrama de Sequência. 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 usodescoberto será necessário à criação de um diagrama de sequencia, mas não criarei todos os diagramas desequencia mostrarei apenas um diagrama relacionado ao caso de uso Lançar Nota que é executado peloator Professor.

Para adicionar o diagrama de sequencia repetimos os mesmos passos dos outros diagramas. Primeiroadicionamos um pacote depois adicionamos um Sequence Diagram. Para incluir os objetos no diagramatemos que selecionar os pacotes onde já existem as classes e os casos de uso selecionar o objeto segurar earrastar para a área de criação. 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

Após a inclusão de todos os objetos o grá�co �ca assim:

Figure 20

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

OpenStax-CNX module: m47736 19

1 Referência:

Melo, A. C. (2010). Desenvolvendo Aplicações com UML 2.2. Rio de Janeiro: Brasporte.StarUML. (s.d.). Welcome to StarUML. Acesso em 09 de 2013, disponível em StarUML � The Open

Source UML/MDA Platform.

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