CursoUML - Unified Modeling Language

34
UML - Unified Modeling Language Virgínia Mara Cardoso [email protected]

Transcript of CursoUML - Unified Modeling Language

Page 1: CursoUML - Unified Modeling Language

UML - Unified Modeling Language

Virgínia Mara Cardoso [email protected]

Page 2: CursoUML - Unified Modeling Language

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

Page 3: CursoUML - Unified Modeling Language

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.

Page 4: CursoUML - Unified Modeling Language

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.

Page 5: CursoUML - Unified Modeling Language

UML – Unified Modeling Language

Propósito Geral (sistemas de software):

especificar; visualizar; construir; documentar.

Page 6: CursoUML - Unified Modeling Language

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).

Page 7: CursoUML - Unified Modeling Language

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.

Page 8: CursoUML - Unified Modeling Language

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.

Page 9: CursoUML - Unified Modeling Language

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.

Page 10: CursoUML - Unified Modeling Language

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.

Page 11: CursoUML - Unified Modeling Language

Visões

A arquitetura de um sistema pode ser refletida em cinco visões distintas:

Projeto Implementação

Processo Implantação

Casos de Uso

Page 12: CursoUML - Unified Modeling Language

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.

Page 13: CursoUML - Unified Modeling Language

Diagramas de Classes Apresenta as classes e relacionamentos

entre elas. Entidades Classes. Relacionamentos generalização, associação, etc.

Page 14: CursoUML - Unified Modeling Language

Diagrama de Classes

AssociaçãoClasse

Page 15: CursoUML - Unified Modeling Language

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.

Page 16: CursoUML - Unified Modeling Language

Diagrama de Objetos

Objetos

Page 17: CursoUML - Unified Modeling Language

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.

Page 18: CursoUML - Unified Modeling Language

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).

Page 19: CursoUML - Unified Modeling Language

Diagramas de Casos de UsoAtor

Caso de Uso

Fronteira do sistema

Page 20: CursoUML - Unified Modeling Language

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.

Page 21: CursoUML - Unified Modeling Language

Diagrama de Seqüência

Período ativo

Linha de vida

Page 22: CursoUML - Unified Modeling Language

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.

Page 23: CursoUML - Unified Modeling Language

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

Page 24: CursoUML - Unified Modeling Language

Diagrama de Colaboração

mensagemobjeto

Page 25: CursoUML - Unified Modeling Language

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.

Page 26: CursoUML - Unified Modeling Language

Diagrama de Estado

Abrir janela

ProntoCampo alterado

Pronto

Botão consultar

Botão sair

Page 27: CursoUML - Unified Modeling Language

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.

Page 28: CursoUML - Unified Modeling Language

Diagrama de Atividades

Page 29: CursoUML - Unified Modeling Language

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.

Page 30: CursoUML - Unified Modeling Language

Diagrama de ComponentesInterface

Classe

Page 31: CursoUML - Unified Modeling Language

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.

Page 32: CursoUML - Unified Modeling Language

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.

Page 33: CursoUML - Unified Modeling Language

Diagrama de Implantação

nódependência

comunicação

Page 34: CursoUML - Unified Modeling Language

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.

Comunicação