O documento apresenta os diagramas estruturais da UML, incluindo diagramas de classes, pacotes, estrutura composta e componentes. Descreve a história e evolução da UML e como esses diagramas podem ser usados para modelar aspectos estáticos de um sistema de software.
Apresentação sobre UML com foco nos Diagramas de Caso de Uso e Diagrama de Classes; apresentada na SESTINFO2009 (Semana de Estudos em Tecnologia da Informação) realizada na Universidade Metodista de São Paulo.
Requisitos
Funcionais
Não-funcionais
Problemas
Possíveis Soluções
UML
Diagrama de Casos de Uso
Diagrama de Atividades
Diagramas de Caso de Uso no Rose
Diagramas de Atividades no Rose
Apresentação sobre UML com foco nos Diagramas de Caso de Uso e Diagrama de Classes; apresentada na SESTINFO2009 (Semana de Estudos em Tecnologia da Informação) realizada na Universidade Metodista de São Paulo.
Requisitos
Funcionais
Não-funcionais
Problemas
Possíveis Soluções
UML
Diagrama de Casos de Uso
Diagrama de Atividades
Diagramas de Caso de Uso no Rose
Diagramas de Atividades no Rose
Aborda aspectos da elicitação, gestão e documentação dos requisitos de um software. Estudo dos desafios que o analista de sistemas precisa enfrentar. Expõe exemplos dos tipos de artefatos de requisitos que podem ser documentados. Recomenda melhores práticas para a escrita dos requisitos e casos de uso.
Aborda aspectos da elicitação, gestão e documentação dos requisitos de um software. Estudo dos desafios que o analista de sistemas precisa enfrentar. Expõe exemplos dos tipos de artefatos de requisitos que podem ser documentados. Recomenda melhores práticas para a escrita dos requisitos e casos de uso.
UML, Linguagem de Modelagem Unificada, é um padrão para modelagem visual de software.
Neste tutorial abordamos como utilizar a UML para fazer especificação de software através de conjunto de modelos e diagramas.
A modelagem visual facilita o entendimento e a comunicação do 'o quê' precisa ser feito e 'como' deverá ser feito o software;
Este material descreve o processo de desenvolvimento de software desde o Workflow de Requisitos até o Workflow Arquitetura.
Os modelos são elaborados com a UML seguindo a Orientação a Objetos.
Documentação de Arquitetura de Software Aplicando o C4 ModelDouglas Alonso
O C4 Model é uma proposta para padronizar de forma coerente e eficiente a representação da arquitetura de um software.
Os diagramas do C4 Model facilitam a comunicação entre todos os envolvidos no projeto do software.
3. UML: Diagramas Estruturais
Introdução
• A UML (Unified Modeling Language)
CEA486 - Engenharia de Software II
4. UML: Diagramas Estruturais
Introdução
• Fácil Visualização
• Obtém a especificação desejada
• Facilita na comunicação entre pessoas
CEA486 - Engenharia de Software II
5. UML: Diagramas Estruturais
História do UML
• Início do paradigma da Orientação à Objetos
• Vários métodos surgiram
• Destaque para três métodos:
– OOSE de Ivar Jacobson. Voltado para casos de uso
– Booch’93 de Grady Booch. Voltado para fase de projeto
– OMT-2 de James Rumbaugh. Voltado para análise de
sistemas de informação
CEA486 - Engenharia de Software II
6. UML: Diagramas Estruturais
História do UML
• Em 1995 surgiu o “Método unificado”
• Versão unificada foi batizada de UML
• Surgimento de outras versões
CEA486 - Engenharia de Software II
8. UML: Diagramas Estruturais
História do UML
• Contribuição da OMG3
• Passou a responsabilizar pelas revisões
• Adotou a UML como linguagem padrão.
CEA486 - Engenharia de Software II
9. UML: Diagramas Estruturais
Os diagramas UML 2
• A linguagem UML chegou a sua versão 2 em 2003
• A linguagem UML 2 é composta por 13 diagramas
Diagrama
Diagrama de
Diagrama Estrutural
Comportamento
CEA486 - Engenharia de Software II
11. UML: Diagramas Estruturais
Diagramas Estruturais
• Os diagramas estruturais são aspectos estáticos do sistema.
Diagramas
estruturais
Diagrama de
Diagrama de Diagrama de Diagrama de Diagrama de Diagrama de
estrutura
classes objetos pacotes componentes implementação
composta
CEA486 - Engenharia de Software II
13. UML: Diagramas Estruturais
Diagramas de Classe
• É o principal diagrama
• É o diagrama que chega mais próximo do código
• Fácil visualização
CEA486 - Engenharia de Software II
14. UML: Diagramas Estruturais
Diagramas de Classe
• O que é uma linguagem Orientada a Objetos?
– Abstrações de conceitos do mundo real.
Exemplo: Locadora de Filmes:
Objetos: CD’s e Fitas, Clientes, etc.
CEA486 - Engenharia de Software II
16. UML: Diagramas Estruturais
Diagramas de Classe
• Atributos físicos:
– é grande,
– sua cor principal é castanha,
– olhos pretos, orelhas grandes e caídas, rabo grande.
• Ações que ele costuma fazer:
– balança o rabo quando chego em casa,
– late quando ouve um barulho estranho,
– trás a bola pra mim quando quer brincar.
CEA486 - Engenharia de Software II
17. UML: Diagramas Estruturais
Diagramas de Classe
Objeto: Thor
Propriedades: Cor do corpo: castanha, Cor dos olhos: preto,
Altura: 30 cm Comprimento: 80 cm, Largura: 24 cm.
Métodos: Balançar o rabo, Brincar, Latir, Deitar.
CEA486 - Engenharia de Software II
18. UML: Diagramas Estruturais
Diagramas de Classe
• Classes funcionam como “carimbos”
CEA486 - Engenharia de Software II
20. UML: Diagramas Estruturais
Diagramas de Classe
• Atributos – Características de um objeto
• Métodos – Ações de um objeto
• Relacionamentos
CEA486 - Engenharia de Software II
21. UML: Diagramas Estruturais
Diagramas de Classe
• Construindo um diagrama de classes:
• Levantamento de pré-requisitos
• Definição dos Objetos
• Definição e detalhamento das Ações
• Definição das classes
• Definição dos Atributos
CEA486 - Engenharia de Software II
22. UML: Diagramas Estruturais
Diagramas de Classe
Exemplo
• Levantamento de pré-requisitos
– Conversa com o gerente de uma clínica dentária
• Definição dos Objetos
– Paciente, agenda, dentista, serviço, consulta, pagamento, etc..
• Definição e detalhamento das Ações
– marcar e confirmar consultas, cadastrar pacientes, cadastrar serviços, etc.
• Definição das classes
– paciente, dentista, exame, agenda, serviço.
CEA486 - Engenharia de Software II
24. UML: Diagramas Estruturais
Diagramas de Classe
• Quando usar o diagrama de classes?
– Sempre que houver uma classe
– É o diagrama primário de qualquer projeto OO!
CEA486 - Engenharia de Software II
28. UML: Diagramas Estruturais
Diagramas de Pacotes
• O Diagrama de pacotes mostra a relação de pacotes e
dependências entre pacotes.
Clientes Serviços
Produtos
CEA486 - Engenharia de Software II
31. UML: Diagramas Estruturais
Diagrama de Estrutura Composta
• O Diagrama de estrutura composta mostra a estrutura interna das
classes.
Computador
Programa Impressora
CEA486 - Engenharia de Software II
34. UML: Diagramas Estruturais
Diagramas de Componentes
• Mostra como as classes deverão se encontrar
organizadas;
• Apresentar a disposição dos componentes físicos
de um sistema;
• Pode ser um pedaço de software reutilizável, bem
encapsulado e facilmente substituído.
CEA486 - Engenharia de Software II
35. UML: Diagramas Estruturais
Diagramas de Componentes
Segundo MACORATTI, a UML reconhece cinco estereótipos de
componentes:
• Um executável: Um componente que pode ser executado (um programa).
• Uma biblioteca: Uma biblioteca de classes ou funções, dinâmica ou
estática.
• Um tabela: Uma tabela de um banco de dados.
• Um documento: Uma parte da documentação (texto livre, diagramas,
documentos de ajuda, etc.)
• Um arquivo: Outros arquivos, geralmente, se trata de um arquivo de
código fonte, mas pode ser também um arquivo de dados, um “script” ou
outros arquivos.
CEA486 - Engenharia de Software II
36. UML: Diagramas Estruturais
Diagramas de Componentes
• Um componente pode ser tanto um código em linguagem
de programação como um código executável já compilado:
CEA486 - Engenharia de Software II
37. UML: Diagramas Estruturais
Diagramas de Componentes
• Exemplo de notação:
CEA486 - Engenharia de Software II
38. UML: Diagramas Estruturais
Diagramas de Componentes
• Um componente, assim como as classes que ele possui,
dependem funcionalmente das classes de outro
componente.
• Exemplo 1:
CEA486 - Engenharia de Software II
40. UML: Diagramas Estruturais
Diagramas de Componentes
Normalmente é utilizado para:
• Modelar os componentes do código-fonte, do código
executável do software.
• Destacar a função de cada módulo para facilitar a sua
reutilização.
CEA486 - Engenharia de Software II
42. UML: Diagramas Estruturais
Diagramas de Implementação
Modela o mundo físico do sistema,
considerando: FAX
• Computadores
Terminal 1
• Dispositivos e Servidor
Impressora
Matricial
• Suas interconexões
Terminal 2 Impressora
Laser
CEA486 - Engenharia de Software II
44. UML: Diagramas Estruturais
Comparativo entre os Diagramas
• Classes
– Mostra o conjunto de classes com seus atributos e métodos e os
relacionamentos entre classes
– Modelados a partir das classes, objetos e métodos
• Objetos
– Exemplificar diagramas complexos de classes
– Objetos recebem nomes reais
CEA486 - Engenharia de Software II
45. UML: Diagramas Estruturais
Comparativo entre os Diagramas
• Pacotes
– grupo de classes e relações entre esses grupos
• Estrutura Composta
– relacionamentos entre os elementos
• Componentes
– Organização das classes
• Implantação
– modela o relacionamento entre recursos de infra-estrutura, de rede ou
artefatos de sistemas
CEA486 - Engenharia de Software II
48. UML: Diagramas Estruturais
Conclusões
• Os diagramas UML partem do mesmo princípio;
• Permite em si a construção de um sistema eficiente, se
tratando de linguagens orientadas a objeto;
• Permite analisar os requisitos que beneficia outros aspectos,
como a comunicação;
• É considerada uma das linguagens mais expressivas no
quesito modelagem.
• A UML é um método satisfatório para construção de sistema.
CEA486 - Engenharia de Software II
49. Referências
• http://staruml.sourceforge.net
• SILVA, R. P. e. UML 2 em Modelagem Orientada a Objetos. Florian : Visual Books, 2007.
• VARGAS, Thânia Clair de Souza. A história de UML e seus diagramas .
• BOOCH, G.; RUMBAUGH,J.; JACOBSON,I. UML Guia do Usuário.2.ed. Rio de Janeiro:Elsevier,
2006.
• PFLEEGER, S.L.Engenharia de Software - Teoria e Prática. 2.ed. São Paulo: Prentice Hall,2004.
• CRAIG, L. Utilizando UML e padrões - Uma introdução à análise e ao projeto orientados a
objetos e ao desenvolvimento iterativo.
• BEZERRA, Eduardo. Princípios de Análise e Projeto de Sistemas com UML. – Rio de Janeiro :
Elsevier, 2003.
• PENDER, Tom. UML A Bíblia – Rio de Janeiro:Elsevier, 2004.
• BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar. UML Guia do Usuário. – Rio de Janeiro :
Elsevier, 2006.
• MARTIN, James.; ODELL, James. Análise e Projeto Orientados a Objeto. 639 p. – São Paulo:
Makron Books, 1995.
CEA486 - Engenharia de Software II