uml itens estruturais - interfacethais/mes20061/umlparte2.pdf · • nome do caminho: é o nome da...
TRANSCRIPT
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>
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
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
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>
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)
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
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>
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>
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
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
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ó
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
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>
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)
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
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>
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
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
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>
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
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
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
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
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
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..* *
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
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.
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
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
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
!
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
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
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
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)
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
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)
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.
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>>
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
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
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
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
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
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
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
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
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
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