cursouml - unified modeling language
TRANSCRIPT
UML - Unified Modeling Language
Virgínia Mara Cardoso [email protected]
UML Histórico Conceitos
Visão Geral da UML Modelos Visões Diagramas
Diagramas Classes Objetos Casos de Uso Sequência Colaboração Estado Atividade Componentes Implantação
Um Exemplo para Utilizar UML
Bibliografia Booch, G., Jacobson, I., Rumbaugh, J., The Unified Software
Development Process, Addison-Wesley Object Technology Series, 1999.
Larman, C., Applying UML and Patterns – An Introduction to Object-Oriented Analysis and Design, Prentice Hall, 1997.
Pressman, R. S., Software Engineering: A Practitioner’s Approach, 4th Edition (1997), McGraw-Hill.
Ferramenta de Modelagem UML Poseidon, 2002, http://www.gentleware.com
Ferramenta de Modelagem UML Rational Rose, 2002, http://www.rational.com
UML 1.4 Specification. Chapter 2 and 3 - UML Notation Guide, September, 2001, http://www.omg.org/technology/documents/formal/uml.htm.
UML – Unified Modeling Language
O que é UML? Linguagem visual para modelar sistemas
de software. Objetivo:
simplificar e consolidar métodos já conhecidos. Não proprietária. Propósito geral.
UML – Unified Modeling Language
Propósito Geral (sistemas de software):
especificar; visualizar; construir; documentar.
UML – Unified Modeling Language Modelagem abrange:
aspectos estáticos: tipos de objetos e relacionamentos entre eles.
aspectos dinâmicos: evolução dos objetos no tempo e interação entre eles.
aspectos de ambiente. aspectos organizacionais:
particionamento de grandes sistemas; representação de decisões de implementação; implantação do sistema (organização em tempo de
execução).
Histórico Evolução das metodologias de desenvolvimento:
análise Estruturada e Projeto Estruturado (Yordon, 1979);
projeto Estruturado para Tempo-Real (Ward, 1985). metodologias OO (Goldberg/Robson,83; Cox, 86;
Meyer, 88; Shlaer/Mellor, 88; CRC – Wirfs-Brock et al, 90; Coad/Yourdon, 91; Booch, 91; OMT – Rumbaugh et al, 91; Objectory – Jacobson, 92)
UML – Booch/ Rumbaugh/Jacobson, 1995 ; 1996 - requisição de padrão pelo OMG (object
Management Group) 1997 – adotada como padrão pelo OMG.
Modelos de Software Definem semântica e notação:
informação semântica: descreve o significado ou intenção do sistema;
notação: apresentação visual mostram o modelo de forma facilmente
compreensível; não adicionam semântica;
podem ser apresentados de várias formas, incluindo texto e diagramas.
Modelos de Software Objetivos:
apreender e indicar precisamente requisitos e conhecimento do domínio;
facilitar o desenvolvimento; gerenciar complexidade:
manter informações sobre o sistema; visualizar o sistema sob diferentes pontos de
vista; visualizar o sistema em diferentes níveis de
abstração.
Visões
Diferentes pontos de vista devem ser usados para refletir os aspectos desejados.
Cada visão mostra um conjunto de aspectos do sistema numa notação adequada à sua compreensão.
UML apresenta diferentes visões do sistema sendo modelado.
Visões
A arquitetura de um sistema pode ser refletida em cinco visões distintas:
Projeto Implementação
Processo Implantação
Casos de Uso
Diagramas
Formas de apresentação, menos detalhadas, facilitam a compreensão do modelo descrito. Ex: diagramas (gráficos e desenhos).
UML apresenta diversos diagramas: cada visão tem seu conjunto de diagramas; cada diagrama pode apresentar diferentes
versões, em diferentes níveis de detalhamento.
Diagramas de Classes Apresenta as classes e relacionamentos
entre elas. Entidades Classes. Relacionamentos generalização, associação, etc.
Diagrama de Classes
AssociaçãoClasse
Diagrama de Objetos Retrato do sistema em determinado
instante. Representação dos objetos e as
ligações entre eles. Não descreve o sistema. Facilita o entendimento e validação do
sistema e modelos.
Diagrama de Objetos
Objetos
Diagramas de Casos de Uso
Descrevam o comportamento do sistema.
Especifica os argumentos funcionais que determinarão a macro-arquitetura do sistema.
Não descreve a organização interna do software.
Diagramas de Casos de Uso Elementos básicos de modelagem:
atores, agentes externos ( clientes do sistema); caso de uso, unidade de funcionalidade coerente,
expressa pelas transações (comunicação) entre os atores e o sistema;
Comunicação, ligação entre ator e caso de uso expressando comunicação entre eles (associação, extensão, inclusão, generalização).
Diagramas de Casos de UsoAtor
Caso de Uso
Fronteira do sistema
Diagrama de Seqüência Apresenta o conjunto de mensagens trocadas entre
objetos na execução de transações. Cada diagrama mostra um cenário de execução de
uma transação. Elementos de Modelagem:
papéis, objetos são representados pelo papel que desempenham na transação, mas não são referenciados diretamente;
mensagens, representam a execução de uma operação de uma classe ou a ocorrência de um evento em uma máquina de estados, e são ordenadas no tempo (de cima para baixo);
linha de vida, representa o período de existência de um objeto;
período de atividade, representa os períodos em que um objeto está ativo.
Diagrama de Seqüência
Período ativo
Linha de vida
Diagrama de Colaboração Modela objetos e ligações de uma
interação: apresenta somente os objetos e ligações
significativas para a interação; as mensagens são numeradas
sequencialmente; mostra implementação de operações,
descrevendo parâmetros e variáveis locais usadas.
Diagramas- Seqüência e Colaboração
Visual, relacionando mensagens a ligações entre papéis
Implícito (pelos números de seqüência)
implícito
Relacionamento entre papéis
Colaboração
Seqüência
Seqüência no tempo
Visível (explícito) graficamente
aspecto interações
Diagrama de Colaboração
mensagemobjeto
Diagrama de Estados Modela as possíveis histórias de um
objeto de uma classe através de máquinas de estados. Apresenta possíveis estados do objeto
conectados por transições. Usado para descrever:
sistemas reativos, como interface com usuário; objetos passivos que apresentam períodos com
comportamento distinto no decorrer do tempo.
Diagrama de Estado
Abrir janela
ProntoCampo alterado
Pronto
Botão consultar
Botão sair
Diagrama de Atividades Variação de máquinas de estado. Mostra atividades computacionais
envolvidas em uma operação.Atividade:
trabalho ou tarefa a ser realizada Passos em um workflow; Execução de uma operação;
podem ocorrer seqüencialmente ou concorrentemente.
Diagrama de Atividades
Diagrama de Componentes Modela os componentes do sistema e
dependências entre eles.Elementos de modelagem:
componente unidade de software usada para compor o sistema;
interface conjunto de operações suportado (realizado) por um
componente; cada componente pode prover múltiplas interfaces; componentes podem utilizar (depender) interfaces de
outros componentes.
Diagrama de ComponentesInterface
Classe
Diagrama de Implantação Descreve o arranjo de componentes
executáveis em nós de execução. Permite avaliar conseqüências da distribuição e
alocação de recursos. São apresentados em dois níveis:
Descritivo (geral); De instância (específico).
Nó Recurso computacional (tempo de execução)
Computadores, memória, dispositivos periféricos.
Diagrama de Implantação Nível descritivo (geral)
Descreve os elementos contidos em cada nó.
Especifica as dependências entre elementos (possivelmente em nós distintos).
Padrão de comunicação entre nós.
Diagrama de Implantação
nódependência
comunicação
Diagrama de Implantação De Instância (específico)
Apresenta instâncias de nós, e comunicação efetiva entre eles.
Apresenta os nós para uma versão/configuração especifica do sistema.
Nó
Comunicação