Diagramas de UML

Download Report

Transcript Diagramas de UML

Unified Modeling Language
UML
• UML - Unified Modeling Language
• Padrão de OMG (Object Management
Group) desde 1997
• É um recurso não proprietário, aberto para a
comunidade.
Objetivos de UML
• Especificar, permitir a visualização,
construir e documentar os artefatos de
sistemas de software.
• Pode ser usada para modelos de negócio e
de outros tipos de sistemas.
• Os modelos gerados são independentes dos
métodos e linguagens de programação.
Ferramentas Representativas
• décadas de 60 e 70:
– COBOL, FORTRAN, C
– técnicas de análise e projeto estruturados
• década de 80 e início de 90:
– Smalltalk, Ada, C++, Visual Basic
– métodos orientados a objetos de 1a. Geração
• meados/fim da década de 90:
– Java, UML, Unified Process
Situação antes da UML
• linguagens orientadas a objetos: desde a
década de 60 (Simula)
• métodos de análise e projeto:
– entre 1989 e 1994, o número de métodos
aumentou de 10 para mais de 50
– “guerra de métodos”
– métodos com incorporação de recursos de
outros métodos
Histórico da UML
• Associação de Booch e Rumbaugh (1994)
na Rational
• Unified Method 0.8, resultante dos métodos
de Booch e OMT (1995)
• Incorporação de Jacobson e sua empresa
Objectory na Rational (1995)
• UML 0.9 e 0.91, como linguagem unificada
para modelagem (1996)
Histórico da UML
• Request for Proposal (RFP) de OMG
• Estabelecimento do consórcio de
organizações para a definição de UML 1.0
• Submissão de propostas pelo consórcio
UML e outras empresas (janeiro 1997)
Histórico da UML
• Elaboração de UML 1.1 pelo consórcio
ampliado e sua submissão a OMG
(setembro 1997)
• Aceitação de UML 1.1 como padrão de
OMG (novembro 1997)
Evolução de UML
• A adoção de UML como padrão permite a
representação de sistemas que independem
do processo utilizado.
• A UML pode ser estendida, sem alterar o
seu núcleo.
• Espera-se que seja base para ferramentas de
modelagem de sistemas de forma geral,
simulação e ambientes de desenvolvimento.
Evolução de UML
• Os seus recursos permitem o seu uso em:
– desenvolvimento de sistemas com tecnologia
orientada a objetos
– modelagem de negócios
– desenvolvimento com componentes
– projeto de arquitetura de software
– reuso de software e de processos
Método
• Um método possui
– representação: é a linguagem para a descrição
do sistema
– processo: é a maneira pela qual a representação
é construída
– ferramentas: fornecem suporte para o uso do
método.
• UML: é a representação e não inclui o
processo.
Processo de Engenharia de
Software
• A notação somente não é suficiente.
• O processo define quem faz o que, quando e
como atingir as metas.
• Como usar UML:
– utilizar o processo de métodos existentes e
construir os modelos com UML.
• Exemplo de métodos:
– Booch, OMT, OOSE, Unified Process
Modelo em UML
• É a representação do sistema através de
diversas visões:
– visão estática: caso de uso, classe, objeto,
componente e implementação
– visão dinâmica: seqüência, colaboração, estado
e atividade
• O modelo é constituído por diagramas.
Diagramas de UML
• diagrama de caso de uso: descreve a
funcionalidade do sistema na visão do
usuário
• diagrama de classes: descreve o vocabulário
do sistema através das classes
• diagrama de objetos: descreve as instâncias
e suas interligações
Diagramas de UML
• diagrama de componentes: descreve a
estrutura física da implementação
• diagrama de implementação: descreve a
topologia da estrutura de hardware
• diagrama de seqüência: descreve a
comportamento dependente de tempo
Diagramas de UML
• diagrama de colaboração: descreve o
comportamento dependente da troca de
mensagens
• diagrama de estados: descreve a transição
de estados causada pelos eventos
• diagrama de atividade: descreve a seqüência
de operações
Diagrama de Caso de Uso
• Elementos: sistema, atores e casos de uso
• Relacionamento entre atores: generalização
– exemplo: cliente pode fazer uma compra
pessoalmente ou pelo telefone
• Relacionamentos entre casos de uso:
– extensão
– uso
– agrupamento
Diagrama de Caso de Uso
Diagrama de Caso de Uso
• Descrição de caso de uso:
– objetivo
– início
– fluxo de mensagens entre os atores e o caso de
uso
– fluxos alternativos
– término
Diagrama de Classes/Objetos
• Diagrama de Classes: descreve a visão
estática do sistema em termos de classes e
relacionamentos.
• Diagrama de Objetos: é um exemplo de
Diagrama de Classes, com os seus objetos
instanciados.
• Representação: nome, atributos e operações
Diagrama de Classes
Diagrama de Classes/Objetos
Relacionamentos
• associação
–
–
–
–
–
–
–
–
associação normal
associação recursiva
papel da associação
associação qualificada
associação ou
associação ordenada
associação como classe
associação ternária
Relacionamentos
• agregação
– agregação comum
– agregação compartilhada
– agregação de composição
• generalização
– generalização normal
– generalização retrita
• overlapping/disjoint
• completa/incompleta
Relacionamentos
• dependência: conexão entre os elementos
dependentes e independentes do modelo, do
ponto de vista de alteração
• refinamento: relacionamento entre descrição
do mesmo elemento em níveis de abstração
diferentes
Pacotes
• Pacote é um mecanismo geral para
organizar os elementos em grupos que
apresentam uma dada semântica.
• Um pacote pode conter outros pacotes.
Pacotes
Pacotes
• O subsistema E depende do subsistema B.
• O subsistema C depende dos subsistemas B
e D.
• Os subsistemas B, C e E são internos ao
subsistema A.
• Todos os subsistemas estão representados
através de pacotes.
Diagrama de Componentes
• Descreve a estrutura dos componentes de
software (código).
• A dependência entre os componentes
representa que um componente precisa do
outro para sua definição completa.
• Tipos de componentes: em tempo de
compilação, de ligação e de execução
Diagrama de Componentes
Diagrama de Implementação
• Descreve a topologia física do sistema
através de :
– estrutura das unidades de hardware
• nós e conexões
– componentes de software executados em cada
unidade
• componentes e objetos
Diagrama de Implementação
Diagrama de Seqüência
• Representa a interação entre os objetos ao
longo do tempo.
• Forma:
– de instância: descrição detalhada de um cenário
– genérica: descreve todas as alternativas
possíveis em um cenário; inclui condições e
repetições
• criação e destruição de objetos
Diagrama de Seqüência
Diagrama de Colaboração
• Representa a interação dos objetos através
das ligações entre eles e a seqüência das
mensagens trocadas entre eles.
• É apropriado para as interações complexas
entre os objetos.
• Auxilia entender a interação, através das
ligações entre os objetos.
Diagrama de Colaboração
Diagrama de Estados
•
•
•
•
•
estados e transições
condições na transição
ação e atividade
ação com envio de mensagem
envio de mensagens entre Diagramas de
Estados
• sub-estados
• indicador de histórico do estado
Diagrama de Estados
Diagrama de Atividade
• Representa o fluxo de atividades.
• Elementos: estado de ação, condições,
execução paralela, objetos e sinais
• Uso do Diagrama de Atividades:
– representação de atividades realizadas em uma
operação
– descrição de caso de uso
– descrição de interação entre objetos
Diagrama de Atividade
Elementos Principais