aula uml 3

9

Click here to load reader

Upload: gabriela-melo

Post on 04-Jul-2015

1.878 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Aula uml 3

1

Arquitetura de Software – Thaís Batista

UMLDiagramas

• Diagrama é uma representação gráfica de uma coleção de elementos de um modelo

• São desenhados para permitir a visualização de um sistema sob diferentes perspectivas

• Um mesmo item pode aparecer em todos os diagramas ou em apenas alguns.

Arquitetura de Software – Thaís Batista

UMLDiagramas

• UML define 9 (nove) diagramas:– Diagrama de Classes– Diagrama de Objetos– Diagrama de Casos de Uso– Diagrama de Sequência– Diagrama de Colaboração– Diagrama de Atividades– Diagrama de Gráficos de Estados (Statechart)– Diagrama de Componentes– Diagrama de Desenvolvimento

ModelamAspectosDinâmicos

Diagramasde Interações

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Classes

• Oferece uma visão estática da estrutura do sistema

• Exibe um conjunto de classes, interfaces e colaborações bem como seus relacionamentos.

• Podem conter notas e restrições, pacotes ou subsistemas e instâncias

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Classes

• Dicas para criar um diagrama de classes:– Atribua- lhe um nome que comunique seu

propósito– Distribua seus elementos de modo a minimizar

o cruzamento de linhas– Use notas e cores como indicações visuais para

chamar a atenção de aspectos importantes– Não exiba grande quantidade de tipos de

relacionamentos

Page 2: Aula uml 3

2

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Classes

Empresa

Departamento

nome: Nome

EscritórioEndereço: string

localização

EscritórioMatrizPessoanome: Nomecódigo: InteiroObterContrato()ObterDados()

membro gerente

1

11..*

* *

InformaçãoContrato

Endereço: string

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Objetos

• Oferece uma visão estática de instâncias de itens encontrados no diagrama de classes

• Exibe um conjunto de objetos e relacionamentos • Podem conter notas e restrições, pacotes ou

subsistemas• Pode- se dizer que é uma instância do diagrama de

classes• Não expressa informações sobre as msg passadas

entre os objetos

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Objetos

E:Empresa

D1:DepartamentoNome=“Estoque”

D2:DepartamentoNome=“Vendas”

p:PessoaNome=“Maria”Código = 1010

gerente

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Casos de Uso

• Exibe um conjunto de casos de uso e atores• Importantes para organização e modelagem

de comportamentos do sistema• Especificam e documentam o

comportamento de um elemento para se entender como este elemento é utilizado (desenvolvedores precisam de casos de uso para poder implementar o sistema)

Page 3: Aula uml 3

3

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Casos de Uso

cliente

Sistema de Vendas

SolicitaProduto

Depto.VendasVerifica

Estoque

Libera/CancelaVenda

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Sequência

• Diagrama de interação cuja ênfase está na ordenação temporal das mensagens

• Graficamente é representando por uma tabela que mostra objetos distribuídos no eixo X e mensagens, em ordem crescente no tempo, no eixo Y

• Contém objetos, vínculos e mensagens. • Podem conter notas e restrições

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Sequência

• O objeto que inicia a interação é colocado mais a esquerda

• As mensagens são colocadas no eixo Y em ordem crescente de tempo, proporcionando ao leitor uma clara indicação visual do fluxo de controle ao longo do tempo

• Existe a linha de vida do objeto

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Sequência

• Diferenças para o diagrama de colaboração:– Existe a linha de vida do objeto – Existe o foco de controle (um retângulo alto e

estreito que mostra o período no qual um objeto está desempenhando uma ação)

Page 4: Aula uml 3

4

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Sequência

c:Cliente

t:Transação<<create>>

Compra(produto)

OK/Cancela

<<destroy>>

BD

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Colaboração

• Diagrama de interação cuja ênfase está na organização estrutural dos objetos que enviam e recebem mensagens

• Os objetos da colaboração são vértices de um grafo, os vínculos são os arcos e contém as mensagens que os objetos enviam e recebem.

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Colaboração

• Diferenças para o diagrama de sequência:– Existe o caminho– Existe o número de sequência (para indicar a

ordem temporal de uma mensagem)

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Colaboração

c:Cliente

t:Transação

1: <<create>>2: Compra(produto)3:<<destroy>>

Page 5: Aula uml 3

5

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Gráfico de Estados

• Exibe uma máquina de estados dando ênfase no fluxo de controle de um estado para outro

• É formado por:– Estados: situação na vida de um objeto onde ele realiza

uma atividade ou aguarda um evento– Transições: relacionamento entre dois estados – Eventos: uma ocorrência significativa; um estímulo

capaz de ativar uma transição de estado– Atividades: execução em uma máquina de estado

• Modelam comportamento de uma interface, classe ou colaboração

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Gráfico de Estados

Ocioso Executando

pressionartecla

concluído

desligar

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Atividades

• Tipo especial de diagrama de estado onde:– Estados são atividades– Transições são ativadas pela conclusão de atividades

• Diagrama de Atividades X Diagramas de Interação– Diagrama de Atividades: exibe o fluxo de uma

atividade para outra– Diagramas de Interação (Sequência e Colaboração):

exibem fluxo de controle de um objeto para outro

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Atividades

• Diagrama de Atividades X Diagrama de Gráfico de Estados (Statecharts)– O diagrama de atividades é uma projeção dos

elementos encontrados em um gráfico de atividades

Page 6: Aula uml 3

6

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Atividades

• Ramificações:– Especifica caminhos alternativos baseados em

expressões booleanas– É representado como um diamante

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Atividades

Compra Produto

Verifica Estoque

Libera Compra

[Com Estoque]

[Sem Estoque]Cancela Compra

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Atividades

• Bifurcação e União– Modelam fluxos concorrentes

• Bifurcação: a divisão de um memo fluxo de controle em dois ou mais fluxos concorrentes

– poderá ter uma única transição de entra e duas ou mais transições de saída

– Abaixo da bifurcação as atividades associadas com cada um dos caminhos prosseguem paralelamente

• União: a sincronização de dois ou mais fluxos de controle concorrentes

– Poderá ter duas ou mais transições de entrada e uma única transição de saída

– Uma barra de sincronização é usada para especificar bifurcação e união dos fluxos paralelos de controle

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Atividades

• Raias de Natação– Particiona em grupos os estados de atividades

de um diagrama de atividades (cada grupo representa um elemento responsável pela atividade)

– Cada grupo é chamado de raia de natação pois os grupos ficam separados de seus vizinhos por uma linha cheia vertical

– Cada raia de natação deve ter um nome único

Page 7: Aula uml 3

7

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Atividades

Compra Produto

Verifica Estoque

Cliente Vendas Estoque

RespondePedido

RecebePedido Cobrança

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Componentes

• Modela aspectos físicos• Exibe as organizações e as dependências de

um conjunto de componentes • Está relacionado com o diagrama de classes

pois tipicamente componentes são mapeados para uma ou mais classes, interfaces, colaborações

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Componentes

• Elementos– Componentes– Interfaces– Relacionamentos de dependências,

generalização, associação e realização• Podem conter notas e restrições

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Componentes

• Usos comuns:– Modelagem do Código Fonte

• Representa a modelagem do gerenciamento da configuração dos arquivos com código fonte

– Modelagem de Executáveis– Modelagem de Bancos de Dados Físicos

Page 8: Aula uml 3

8

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Componentes

• Estereótipos padrão que se aplicam a componentes:– Executável: especifica um componente que

poderá ser executado em um nó– Biblioteca: especifica uma biblioteca estática

ou dinâmica– Tabela: especifica um componente que

representa uma tabela de BD– Arquivo: um componente que representa um

documento contendo código fonte ou dados– Documento: um componente que representa

um documentoArquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Componentes

Modelagem de Código Fonte

Mestre.h{versão = 3.0}

Mestre.h{versão = 4.0}

<<pai>>

Estoque.h{versão = 2.0}

Mestre.cpp

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Componentes

professores alunos cursos

Modelagem de um Banco de Dados

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Desenvolvimento

• Sinônimo de Diagrama de Implantação• Exibe a configuração dos nós de

processamento em tempo de execução • Está relacionado com o diagrama de

componentes pois tipicamente um nós inclui um ou mais componentes

Page 9: Aula uml 3

9

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Desenvolvimento

• Elementos:– Nós– Relacionamentos de Dependência e Associação

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Desenvolvimento

• Modelagem de um sistema Cliente/Servidor

Servidor

2..*<<processador>>Servidor Http

Desenvolv.http.exe

4..*<<processador>>

Servidor XDesenvolv.Dbadmin.exe

Clientes

console

Arquitetura de Software – Thaís Batista

UMLDiagramas – RESUMO

• Diagrama de Classes – Vocabulário do domínio

• Diagramas de Casos de Uso – Comportamento do sistema

• Diagrama de Sequências, de Colaboração, de Gráficos de Estados e de Atividades– Forma como os itens do vocabulãrio trabalharão em

conjunto para execução do comportamento especificado