UML
Unified Modeling Language
Análise Orientada a Objetos
UML
• Utiliza vários diagramas para descrever um sistema
– Apresentação gráfica de um conjunto de elementos
– Cada diagrama aborda aspectos específicos do sistema
UML
• Diagrama de comportamento externo
– visão externa do sistema e dos objetivos que os atores externos tem do sistema
• Diagramas estruturais
– visão estática da estrutura de suporte do sistema, sobre a qual ele será construído
• Diagramas de comportamento interno
– visão da dinâmica interna do sistema (processos que ocorrem entre as estruturas que compõem o sistema)
• Diagramas de implementação
– como as estruturas são implementadas em software e hardware
UML
• Diagramas propostos
– Diagrama de classes – Diagrama de pacotes
– Diagrama de caso de uso – Diagramas de interação
• Diagrama de seqüência
• Diagrama de colaboração
– Diagrama de estado
• Diagrama de atividade
– Diagramas de implementação
• Diagramas de componentes
• Diagrama de implantação
UML
Diagrama de Classe
• Apresenta a estrutura estática de um sistema
– Descreve as classes que formam a estrutura do sistema e suas relações.
• Classes
– Atributos – Métodos
• Relacionamento (tipo de dependência)
– Herança, agregação, composição, associação, etc.
– Construção gradativa
Diagrama de Classe
Diagrama de Pacotes
• Sistemas complexos
– Diagramas de classes extensos
• Agrupamento de diagrama de classes por pacotes
• Um pacote representa um grupo de
classes inter-relacionadas
Diagrama de Pacotes
GUI
Lógica de Negócio
Data
Diagrama de Caso de Uso
• Descrevem funcionalidades do sistema percebidas por atores externos
– Um objetivo a ser alcançado pelo ator externo ao utilizar o sistema
• Atores interagem com o sistema (encontra-se fora do seu escopo de atuação)
– Usuários – Dispositivos
– Outros sistemas
Diagrama de Caso de Uso
• Biblioteca
– Aluno pega um livro emprestado – Aluno devolve um livro
– Aluno reserva um livro
– Aluno/Bibliotecário cadastra usuário – Bibliotecário cadastra novo livro
Diagrama de Caso de Uso
• Biblioteca
Diagrama de Caso de Uso
• Casos de uso devem receber uma descrição textual que permita o
entendimento do seu objetivo
– Cenários: situação onde o ator utilizou o
sistema para conseguir atingir o objetivo do caso de uso
• Otimistas
• Pessimistas
• Alternativos
Diagrama de Interação Seqüência
• Permite modelar processos (use cases) através da troca de mensagens (eventos) entre os objetos do sistema
– Colaboração dinâmica entre (alguns) objetos mostrando a troca de mensagens entre os mesmos
• Objetos são linhas verticais
• Mensagens são setas que partem do objeto que invoca um outro objeto
– Setas cheias (solicitação) – Setas tracejadas (resposta)
Diagrama de Interação
Seqüência
Diagrama de Interação Colaboração
• Apresenta a mesma informação do diagrama de seqüência
– Relacionamento entre as classes é mais explícito
• Objetos manipulados e seus vínculos
• Seqüência de mensagens identificada por números de seqüência
• Relacionado aos casos de uso
– Apresenta detalhamentos não presentes no diagrama de classes
Diagrama de Interação
Colaboração
Diagrama de Estado
• Apresenta uma seqüência de estados assumidos por um objeto (durante a
interação) diante de eventos recebidos (estímulos)
– Dinâmica interna da classe
• Algoritmo utilizado
– Eventos e estados de uma única classe são apresentados
Diagrama de Estado
Diagrama de Estado (Atividade)
• Diagrama de estado especial
– Estado: estado ação
– Transição: conclusão de uma atividade no estado anterior
• Descreve as atividades realizadas em
uma operação (fluxo de execução)
Diagrama de Estado
(Atividade)
Diagrama de Implementação Componentes
• Mostra a dependência entre componentes de software
– Tempo de compilação – Tempo de execução
Diagrama de Implementação Implantação
• Modela o mundo físico do sistema, considerando:
– Computadores – Dispositivos e
– Suas interconexões
Como construir os diagramas
• De forma incremental
– Expandindo os diagramas um por vez
• De forma iterativa
– Repetindo o processo de projetar uma pequena parte e construí-la
– Refinamentos
• Identificar:
– Quais informações são relevantes – Quais diagramas são interessantes