uml itens estruturais - interfacethais/mes20061/umlparte2.pdf · • nome do caminho: é o nome da...

48
1 Arquitetura de Software – Thaís Batista UML Itens Estruturais - Interface Coleção de operações que especificam serviços de uma classe ou componente Descreve o comportamento visível externamente • Raramente aparece sozinha. Em geral vem anexada à classe ou ao componente que realiza a interface • Não especificam qualquer estrutura (não podem incluir atributos) nem qualquer implementação Arquitetura de Software – Thaís Batista UML Itens Estruturais - Interface • Notações Círculo ou Pirulito: usada quando for necessário apenas especificar a presença de uma “costura” do sistema. Em geral isto é necessário para os componentes e não para as classes Forma Expandida (classe estereotipada): quando for necessário visualizar detalhes do próprio serviço, expondo suas operações e outras propriedades. As operações pode exibir apenas o nome ou suas assinaturas completas <nome> <<interface>> <nome> <operações>

Upload: vanphuc

Post on 11-Nov-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

1

Arquitetura de Software – Thaís Batista

UMLItens Estruturais - Interface

• Coleção de operações que especificam serviços de uma classe ou componente

• Descreve o comportamento visível externamente• Raramente aparece sozinha. Em geral vem

anexada à classe ou ao componente que realiza a interface

• Não especificam qualquer estrutura (não podem incluir atributos) nem qualquer implementação

Arquitetura de Software – Thaís Batista

UMLItens Estruturais - Interface

• Notações– Círculo ou Pirulito: usada quando for

necessário apenas especificar a presença de uma “costura” do sistema. Em geral isto é necessário para os componentes e não para as classes

– Forma Expandida (classe estereotipada): quando for necessário visualizar detalhes do próprio serviço, expondo suas operações e outras propriedades. As operações pode exibir apenas o nome ou suas assinaturas completas

<nome>

<<interface>><nome>

<operações>

Page 2: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

2

Arquitetura de Software – Thaís Batista

UMLItens Estruturais - Interface

• Nome– Uma sequência de caracteres textual– Para diferenciar o nome de uma interface do

nome de uma classe é interessante incluir um I antes do nome de cada interface. Ex.: IOrigem

– Pode ser de dois tipos:• Nome simples• Nome do caminho: é o nome da interface tendo

como prefixo o nome do pacote em que a interface está armazenada. Ex.: Networking::Irouter

Arquitetura de Software – Thaís Batista

UMLItens Estruturais - Interface

• Exemplo

<<interface>>IStore

Load()Save()

IStore

Pedido

IRunnable

O componente Pedido implementaAs interfaces Istore e IRunnable

Page 3: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

3

Arquitetura de Software – Thaís Batista

UMLItens Estruturais - Colaborações

• Permitem nomear um agrupamento conceitual (sociedade de classes, interfaces e outros elementos que trabalham em conjunto para fornecer algum comportamento cooperativo)

• Abrange aspectos estruturais (os elementos que a compõem) e comportamentais (a dinâmica das interações entre os elementos)

Arquitetura de Software – Thaís Batista

UMLItens Estruturais - Colaborações

• Não possui nenhum dos seus elementos estruturais, apenas referencia ou usa elementos estruturais que são declarados em outra parte

• Um elemento pode aparecer em mais de uma colaboração

Page 4: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

4

Arquitetura de Software – Thaís Batista

UMLItens Estruturais - Colaborações

• A parte estrutural da colaboração é representada pelo diagrama de classes

• A parte comportamental da colaboração é representada pelo diagrama de interação ou, se a ênfase for no aspecto temporal das mensagens, o diagrama de sequência deve ser usado

Arquitetura de Software – Thaís Batista

UMLItens Estruturais - Colaborações

• Notação: eclipse com linha tracejada

<nome>

Page 5: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

5

Arquitetura de Software – Thaís Batista

UMLItens Estruturais – Caso de Uso

• Especifica o comportamento de um sistema ou de parte dele

• Descrição de um conjunto de sequência de ações realizadas pelo sistema para um determinado ator (pessoas ou sistemas automatizados)

Arquitetura de Software – Thaís Batista

UMLItens Estruturais – Caso de Uso

• Especificam o comportamento desejado mas não determinam como esse comportamento será executado

• Um Caso de Uso é realizado por uma colaboração (uma sociedade de elementos que implementam o comportamento do caso de uso)

Page 6: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

6

Arquitetura de Software – Thaís Batista

UMLItens Estruturais – Caso de Uso

• Exemplo:– Especificar como um sistema de caixa

eletrônico deve funcionar definindo, seus casos de uso:

• como os usuários deverão interagir com o sistema

Arquitetura de Software – Thaís Batista

UMLItens Estruturais – Casos de Uso

• Notação: eclipse com linha contínua• Os nomes de casos de uso são expressões verbais

ativas nomeando algum comportamento

<nome> Valida Usuário

Page 7: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

7

Arquitetura de Software – Thaís Batista

UMLItens Estruturais – Classes Ativas

• São classes cujos objetos têm um ou mais processos ou threads, portanto, podem iniciar atividade de controle

• Semelhante à uma classe exceto pelos objetos representarem comportamento concorrente

Arquitetura de Software – Thaís Batista

UMLItens Estruturais – Classes Ativas

• Notação: semelhante a de classes mas com linhas mais grossas

<nome>

<atributos>

<operações>

Page 8: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

8

Arquitetura de Software – Thaís Batista

UMLItens Estruturais – Componentes

• Partes físicas e substituíveis de um sistema que realizam um conjunto de interfaces

• Tipicamente componentes representam o pacote físico de elementos lógicos diferentes como classes, interfaces e colaborações

Arquitetura de Software – Thaís Batista

UMLItens Estruturais - Componentes

• Notações– Simples: retângulo com abas

incluindo somente o nome

– Forma Estendida: inclui compartimentos adicionais para expor detalhes (em geral só é usado quando está modelando um sistema reflexivo capaz de manipular seus próprios componentes

<nome>

<nome>

<detalhes>

Page 9: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

9

Arquitetura de Software – Thaís Batista

UMLItens Estruturais – Componentes

• Componentes X Classe (semelhanças)– Ambos podem realizar um conjunto de

interfaces– Ambos podem participar de vários

relacionamentos (dependência, generalização, associação)

– Ambos podem ser aninhados– Ambos permitem instâncias– Ambos podem participar de interações

Arquitetura de Software – Thaís Batista

UMLItens Estruturais – Componentes

• Componentes X Classe (diferenças)– Classes representam abstrações lógicas;

componentes representam coisas físicas (componentes podem estar em nós mas classes não)

– Classes podem ter atributos e operações diretamente. Em geral componentes somente têm operações que são alcançadas por meio de suas interfaces

Page 10: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

10

Arquitetura de Software – Thaís Batista

UMLItens Estruturais – Componentes

• Quando usar componentes e quando usar classes?

Se o que é modelado está em um nó => ComponenteCaso contrário => Classe

Arquitetura de Software – Thaís Batista

UMLItens Estruturais – Nós

• Elemento físico existente em tempo de execução que representa um recurso computacional

• Representam o hardware onde os componentes são instalados e executados

Page 11: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

11

Arquitetura de Software – Thaís Batista

UMLItens Estruturais – Nós

<nome>

• Notações– Simples: cubo com nome

– Forma Estendida: inclui compartimentos adicionais para expor detalhes

<nome>

<detalhes>

Arquitetura de Software – Thaís Batista

UMLItens Estruturais – Nós

servidor

• Exemplo

processorSpeed = 300MHzMemory = 128 Mb

dbadmin.exe

componente executável que reside no nó

Page 12: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

12

Arquitetura de Software – Thaís Batista

UMLBlocos Básicos - Itens

• Existem quatro tipos de itens:– Itens Estruturais– Itens Comportamentais– Itens de Agrupamento– Itens Anotacionais

Arquitetura de Software – Thaís Batista

UMLItens Comportamentais

• São as partes dinâmicas dos modelos UML• Estão conectados a elementos estruturais• São 2 tipos:

– Interação– Máquina de Estado

Page 13: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

13

Arquitetura de Software – Thaís Batista

UMLItens Comportamentais – Interação

• Comportamento que abrange um conjunto de mensagens trocadas entre objetos

• Pode representar o comportamento de uma operação individual ou de um conjunto de objetos

• Usadas para modelar o aspecto dinâmico das colaborações

Arquitetura de Software – Thaís Batista

UMLItens Comportamentais – Interação

• Notação: a mensagem é representada por uma linha cheia com seta incluindo o nome da operação

<nome da operação>

Page 14: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

14

Arquitetura de Software – Thaís Batista

UMLItens Comportamentais – Interação

• Pode ser usado de duas maneiras– Ênfase na ordem temporal das mensagens (no

diagrama de sequência)– Ênfase na sequência das mensagem (no

diagrama de colaboração)

Arquitetura de Software – Thaís Batista

UMLItens Comportamentais – Interação

TráfegoAéreo Plano de Vôo

1:PosiçãoTempo(t)

Page 15: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

15

Arquitetura de Software – Thaís Batista

UMLItens Comportamentais – Máquinas de Estado

• Especifica a sequência de estados pelas quais objetos ou interações passam durante sua existência em resposta a eventos

• Abrange elementos: estados, transições, eventos e atividades

Arquitetura de Software – Thaís Batista

UMLItens Comportamentais – Máquinas de Estado

• Interação X Máquina de Estados• Usando a interação modela-se o

comportamento de um conjunto de objetos

• Usando uma máquina de estados modela-se o comportamento de um objetoindividual

Page 16: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

16

Arquitetura de Software – Thaís Batista

UMLItens Comportamentais – Máquinas de Estado

• Termos e Conceitos• Estado: é uma condição ou situação de um objeto• Evento: é a especificação de uma ocorrência

significativa • Transição: é um relacionamento entre dois estados,

indicando que um objeto no primeiro estado realizará certas ações e entrará no segundo estado quando um evento especificado ocorrer

• Ação: computação atômica executável que resulta na alteração do estado ou no retorno de um valor

Arquitetura de Software – Thaís Batista

UMLItens Comportamentais – Máquinas de Estado

• Notação: retângulo com cantos arredondados com:• Nome• Transições• Estados Inicial e Final

<nome>

Page 17: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

17

Arquitetura de Software – Thaís Batista

UMLItens Comportamentais – Máquinas de Estado

• Exemplo

Ocioso Executando

pressionartecla

concluído

desligar

Arquitetura de Software – Thaís Batista

UMLBlocos Básicos - Itens

• Existem quatro tipos de itens:– Itens Estruturais

– Itens Comportamentais– Itens de Agrupamento– Itens Anotacionais

Page 18: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

18

Arquitetura de Software – Thaís Batista

UMLItens de Agrupamento

• São as partes organizacionais dos modelos UML – os blocos em que os modelos podem ser decompostos

• Um tipo apenas:– Pacotes

Arquitetura de Software – Thaís Batista

UMLItens de Agrupamento - Pacotes

• Mecanismo de propósito geral para organização de elementos em grupos

• Diferentemente de componentes, que existem em tempo de execução, um pacote é puramente conceitual (existe apenas em tempo de desenvolvimento)

• Pacotes bem-estruturados agrupam elementos que estão próximos semanticamente e que tendem a se modificar em conjunto

Page 19: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

19

Arquitetura de Software – Thaís Batista

UMLItens de Agrupamento - Pacotes

• Podem conter outros elementos (classes, interfaces, nós, colaborações, etc) e até outros pacotes

Arquitetura de Software – Thaís Batista

UMLItens de Agrupamento - Pacotes

• Notação: semelhante a de um diretório– Simples: inclui apenas o nome

– Forma estendida: para descrever elementos que pertencem ao pacote. Neste caso o nome do pacote vem na aba

<nome>

<nome>

<elementos>

Page 20: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

20

Arquitetura de Software – Thaís Batista

UMLBlocos Básicos - Itens

• Existem quatro tipos de itens:– Itens Estruturais

– Itens Comportamentais

– Itens de Agrupamento– Itens Anotacionais

Arquitetura de Software – Thaís Batista

UMLItens Anotacionais

• São as partes explicativas dos modelos UML – comentários para descrever, esclarecer e fazer observações sobre qualquer elemento do modelo

• Um tipo apenas:– Nota

Page 21: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

21

Arquitetura de Software – Thaís Batista

UMLItens Anotacionais – Nota

• É um símbolo pra representar restrições ou comentários sobre um elemento ou coleção de elementos

• Notação: um retângulo com uma dobra no canto incluindo um comentário em texto ou gráfico

<comentário>

Arquitetura de Software – Thaís Batista

UMLBlocos Básicos - Itens

• Existem quatro tipos de itens:– Itens Estruturais (classes, interfaces,

colaborações, casos de uso, classes ativas, componentes, nós)

– Itens Comportamentais (interação e máquina de estado)

– Itens de Agrupamento (pacotes)

– Itens Anotacionais (nota)

11 itens

Page 22: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

22

Arquitetura de Software – Thaís Batista

UMLRelacionamentos

• Relacionamento é uma conexão entre itens• A maioria dos itens relacionam-se entre si.• Quatro tipos de relacionamentos:

– Dependência– Generalização– Associação– Realização

Arquitetura de Software – Thaís Batista

UMLRelacionamentos - Dependência

• Relacionamento de utilização• A alteração de um item (o independente)

pode afetar a semântica do outro item (o dependente)

• Notação:– Linhas tracejadas com setas podendo incluir um

rótulo

Page 23: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

23

Arquitetura de Software – Thaís Batista

UMLRelacionamentos - Dependência

• Notação:– Linhas tracejadas com setas podendo incluir um

rótulo

Arquitetura de Software – Thaís Batista

UMLRelacionamentos - Generalização

• Relacionamento entre itens gerais (superclasses) e tipos mais específicos desses itens (subclasses ou classes-filha)

• Generalizações são relacionamentos “é-um-tipo-de” (uma classe Estudante é um tipo de uma classe mais geral, a classe Pessoa)

• As subclasses compartilham a estrutura e comportamento das superclasses

Page 24: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

24

Arquitetura de Software – Thaís Batista

UMLRelacionamentos - Generalização

• Notação:– Linha sólida com seta em branco apontando a

superclasse

Arquitetura de Software – Thaís Batista

UMLRelacionamentos - Associação

• Relacionamento estrutural que especifica objetos de um item conectado a objetos de outro item

Page 25: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

25

Arquitetura de Software – Thaís Batista

UMLRelacionamentos - Associação

• Notação:– Linha sólida podendo incluir:

• Nome: pode ser utilizado para descrever a natureza do relacionamento. Pode-se atribuir direção para o nome, fornecendo um triângulo de orientação que aponta a direção como nome deve ser lido

• Papel: o papel é a face que a classe próxima a uma das extremidades apresenta à classe encontrada na outra extremidade da associação

• Multiplicidade: a quantidade de objetos que podem ser conectados pela associação. A multiplicidade em uma das extremidades da associação especifica para cada objeto da classe encontrada na extremidade oposta deve haver a determinada quantidade de objetos na extremidade próxima

Arquitetura de Software – Thaís Batista

UMLRelacionamentos - Associação

• Exemplo

Pessoa Empresafuncionário empregador1..* *

Page 26: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

26

Arquitetura de Software – Thaís Batista

UMLRelacionamentos - Realização

• Relacionamento no qual um item especifica um contrato cujo cumprimento é realizado por outro item.

• São encontrados em dois locais– Entre interfaces e as classes ou componentes

que as realizam– Entre casos de uso e as colaborações que os

realizam

Arquitetura de Software – Thaís Batista

UMLRelacionamentos - Realização

• Notação:– Linha tracejada com seta branca

Page 27: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

27

Arquitetura de Software – Thaís Batista

UMLRelacionamentos - Realização

• Exemplo

<<interface>>IagentedeRegra

adicionarRegra()ExplicarAção()

RegrasDeContabilidade

Arquitetura de Software – Thaís Batista

UMLRelacionamentos - Agregação

• Relacionamento “todo/parte” que indica um item maior (o “todo”) formado por itens menores (as “partes”)

• É um tipo especial de Associação especificada utilizando-se uma associação simples com um diamante aberto na extremidade do todo

• O diamante sólido significa composição: as classes ligadas ao diamante é decomposta ou contém as classes da outra extremidade.

Page 28: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

28

Arquitetura de Software – Thaís Batista

UMLRelacionamentos - Agregação

• Exemplo

Empresa

Departamento

1

*

todo

parte

Arquitetura de Software – Thaís Batista

UMLMecanismos Básicos

• Adornos• Mecanismos de Extensão

Page 29: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

29

Arquitetura de Software – Thaís Batista

UMLMec. Básicos - Adornos

• São itens gráficos ou visuais adicionados à notação básica de um elemento para permitir a especificação de detalhes

• Por exemplo, a notação básica para uma associação é uma linha mas podem ser incluídos adornos referentes a detalhes como:– Papel– multiplicidade

Arquitetura de Software – Thaís Batista

UMLMec. Básicos – Mec. de Extensibilidade

• Estereótipos– Amplia o vocabulário da UML permitindo a

criação de novos tipos de itens que são derivados dos já existentes mas específicos a determinados problemas

– Ao aplicar um estereótipo a um elemento está se estendendo a UML

Page 30: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

30

Arquitetura de Software – Thaís Batista

UMLMec. Básicos – Mec. de Extensibilidade

• Estereótipos– É representado por um nome entre ângulos

(p.ex., <<nome>>) colocado acima do nome de outro elemento

– Pode-se definir um ícone para o estereótipo e apresentá-lo à direita do nome

Arquitetura de Software – Thaís Batista

UMLMec. Básicos – Mec. de Extensibilidade

• Estereótipos - exemplo

<<exceção>>Overflow

!

Page 31: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

31

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

Page 32: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

32

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 33: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

33

Arquitetura de Software – Thaís Batista

UMLDiagrama – Diagrama de Classes

Empresa

Departamento

nome: NomeEscritório

Endereço: stringlocalizaçã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

Page 34: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

34

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 35: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

35

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

Page 36: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

36

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 37: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

37

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.

Page 38: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

38

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 39: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

39

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

Page 40: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

40

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 41: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

41

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

Page 42: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

42

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 43: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

43

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

Page 44: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

44

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 45: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

45

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 documento

Arquitetura 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

Page 46: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

46

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 47: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

47

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

Page 48: UML Itens Estruturais - Interfacethais/MES20061/UMLParte2.pdf · • Nome do caminho: é o nome da interface tendo ... • São classes cujos objetos têm um ou mais processos ou

48

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