Você está na página 1de 16

APS – Diagramas UML

09/11/2022

4
1. Diagramas de UML (revisão)

2. Conceitos de Modelação

3. Diagrama de Caso de Uso

Agenda 4. Diagrama de Classes


Introdução à UML
(Unified Modeling Language)

1
“Era uma vez um sistema UML que 2nha origem na compilação das
"melhores prá2cas de engenharia" que provaram ter sucesso
na modelação de sistemas grandes e complexos” Wikipédia

UML Unified Modeling Language


Quais as etapas envolvidas?
O que é? O processo adotado depende do Sw a ser desenvolvido.
Linguagem padrão para descrever / documentar
um projeto de so9ware. Qual é o artefacto?
Elementos visuais dos diagramas UML e os seus significados.
Quem realiza?
Engenheiros de so9ware, analistas.
Como garanJr que o trabalho foi realizado corretamente?
Porque é importante? Qualquer elemento da equipa de Sw. Deverá ser capaz de
Porque propicia uma representação entender o projeto de sw recorrendo aos diagramas UML.
inequivoca do projeto de Sw.
FRIEND: First Responder Interactive Emergency Navigational Database

UML
Diagrama de Caso de
Uso
Ajudam a determinar a funcionalidade e as caracterís3cas
do so4ware sob o ponto de vista do u3lizador. Definem os
limites / fronteiras do sistema.
Actores / Actors são en3dades externas que interagem
com o sistema. Casos de Uso / Use Cases descrevem a
funcionalidade do ponto de vista do u3lizador.
Relações de inclusão/include:
- representam-se por uma linha
tracejada com uma seta aberta;
- Usada em sistemas mais complexos
para evitar redundância;
- Casos de uso que estejam
UML incluídos noutros casos de uso;
- Entry condiJon: The Dispatcher
Diagrama de Caso de opens na Incident.

Uso
Relações de comunicação
- representam-se por uma linha entre o ator e o caso de Relações de extensão/extend:
uso. - representam-se por uma linha
- usam-se para denotar que um ator tem acesso a uma
funcionalidade; (embora por vezes a interface possa ser
tracejada com uma seta aberta;
diferente) - Usada para reduzir complexidade
num modelo de casos de uso;
- Serve para indicar relações
exepcionais;
- Entry condiJon: It’s iniJated
when network connecJon is
lost.
Cenários / Scenarios:
- Um caso de uso é uma abstração que descreve em termos de
funcionalidade todos os possíveis cenários;
- Um cenário é uma instância de um caso de uso onde são descritos um
conjunto concreto de ações;
- Template para descrever um cenário:
- Nome do cenário, não deve ser ambíguo; deve estar sublinhado para
UML indicar qual é a instância;
- Instancias de atores que parUcipam no cenário; também devem estar
Diagrama de Caso de sublinhados;
- Fluxo de eventos do cenário que descrevem a sequencia de eventos
Uso (passo-a-passo);

Relações de Herança / Inheritance

- representam-se por uma linha com uma seta fechada


na ponta;

- Quando um caso de uso é uma situação particular de


outro mais genérico;
UML
Diagrama de Caso de
Uso
UML 1. IdenUficar os atores?

Diagrama de Caso de 2. Quais os casos de uso?

Uso

Exercício do e-commerce:

O dono de uma loja de e-commerce quer disponibilizar um


catalogo de produtos online. Onde os clientes registados
possam comprar um produto (comunicando os dados de
pagamento), que é armazenado no sistema e transferido
para o departamento de pedidos que o processa.
1. Identificar os atores?
UML Cliente
Administrador da loja

Diagrama de Caso de Departamento de pedidos

2. Quais os casos de uso?


Uso Registo do clientes
O cliente consulta o catalogo de produtos
O cliente Seleciona o tipo de pagamento
O administrador organiza o catálogo
O dep. de pedidos atende os pedidos

Exercício do e-commerce:

O dono de uma loja de e-commerce quer disponibilizar um


catalogo de produtos online. Onde os clientes registados
possam comprar um produto (comunicando os dados de
pagamento), que é armazenado no sistema e transferido
para o departamento de pedidos que o processa.
Classes são abstrações que especificam atributos e
comportamentos de um conjunto de objetos.
Uma classe é um conjunto de objetos que parJlha atributos que
disJnguem os objetos membros de uma coleção.

UML
Diagrama de Classes

Um diagrama de classe fornece uma visão estática ou Objetos são enJdades que encapsulam o estado e o
estrutural do sistema. atributos, operações, relações e comportamento. Cada objeto tem uma idenJdade única! Pode
associações com outras classes. ser invocado individualmente e é diferente dos outros objetos.
O Diagrama de classes descreve a estrutura do
sistema em termos de classes e objetos.
Associações podem ser:
- Simétricas: bidirecionais

- Assimétricas: unidirecionais

UML
Diagrama de Classes Classes AssociaJvas / AssociaJon class
Associações são similares às classes, têm atributos e operações
específicas. Uma classe associaJva é definida com os mesmos
símbolos da classe pode ser representada das seguintes formas:

Associações e Ligações
Uma ligação / link representa uma ligação
entre dois objetos.
Associações são relações entre classes e
representam grupos de ligações/links
Mul2plicidade
Cada associação pode ser iden3ficada por um conjunto de inteiros que indicam o
número de ligações / links que podem ser criados por uma instância da classe onde
estão ligadas.

Existem três 3pos:

UML - Um para um: 1 em ambos os lados;


- Um para muitos: 1 em um lado e 0..n (*), ou 1..n;
- Muitos para muitos: 0..n (*) ou 1..n em ambos os lados.
Diagrama de Classes

Agregação
Papéis / Roles É um caso espacial, que acontece muito frequentemente na prá3ca e se denomina
de agregação. Acontece quando as associações são usadas para representar uma
Cada associação pode ser identificada com uma vasta quan3dade de ligações para um conjunto de objetos. Embora semelhante à
role. Servem para clarificar o propósito da mul3plicidade 1..1, não pode ser confundido. Pois as agregações denotam aspetos
associação. hierárquicos da relação 1..* e *..* enquanto as associações de 1..* implicam o
relacionamento do par/peer.
Herança / Inheritance
Herança é a relação entre a classe geral e uma classe mais específica.
Permite-nos descrever todos os atributos e operações que são comuns para um
conjunto de classes.

UML
Diagrama de Classes

O comportamento do objeto é especificado pelas operações. Os pedidos feitos


durante a execução de uma operação entre um objeto para outro são chamados de
Qualificação mensagens. A mensagem é mapeada com o método definido pela classe que está a
É a técnica usada para reduzir a mulJplicidade receber o objeto ou pelas suas superclasses.
através do uso de chaves/keys.
Por exemplo: A relação entre Directory e File é uma A dis3nção entre operações e métodos permite-nos dis3nguir entre a especificação
comportamental (operação) e a sua implementação ( conjunto de métodos que são
associação qualificada.
possivelmente definidos em classes diferentes com uma hierarquia de herança).
1. Para cada animal admiUdo, quer armazenar: o nome,
raça (se exisUr) e o seu dono (proprietário). Cada
animal deve ter um idenUficado numérico único.
2. Para cada dono, quer armazenar: o nome, endereço e
telefone. Também deve exisUr um idenUficador único.
3. Um animal pode não ter dono. Isto acontece muito
UML frequentemente em animais abandonados que são
adotados por novos donos.
Diagrama de Classes 4. Deve ser possível adicionar informação sobre uma raça
específica, mesmo que não haja nenhum animal que
dessa raça que tenha sido atendido na clinica.
5. Cada consulta deve ter um responsável clinico
(veterinário). Todas as consultas têm uma data e
tempo de início e fim.
Exercício da Clínica Veterinária: 6. Para cada veterinário, quer armazenar: o seu nome,
morada, telemóvel. Também deve exisUr um
O dono de uma clinica veterinária quer criar uma base de idenUficador único.
7. Durante a consulta, podem ser detetadas diversas
dados para armazenar informação sobre os serviços
efetuados. Depois de alguma recolha de requisitos a condições médicas (fase de diagnósUco). Cada uma
equipa de desenvolvimento definiu o seguinte: delas deve ser idenUficada por: um nome comum e um
nome especifico. Não podem exisUr condições médicas
com o mesmo nome em simultâneo.
8. Deve ser armazenada a informação sobre as condições
médicas mais comuns para cada raça.

Você também pode gostar