Buscar

APS Tema 3 - Modelo de Classe de Análise

Prévia do material em texto

Modelo de Classes de Análise 
Engenharia de Requisitos– Profs Tavares e Sylvio 
Modelo de Classes de Análise 
 
1 
Modelo de Classes de Análise 
Engenharia de Requisitos– Prof Tavares 
 As funcionalidades de um SSOO são realizadas internamente através de 
colaborações entre objetos. 
 Externamente, os atores visualizam resultados de cálculos, relatórios 
produzidos, confirmações de requisições realizadas, etc. 
 Internamente, os objetos colaboram uns com os outros para produzir 
os resultados. 
 Essa colaboração pode ser vista sob o aspecto dinâmico e sob o aspecto 
estrutural estático. 
 O modelo de classes representa o aspecto estrutural e estático dos objetos 
que compõem um SSOO. 
2 
Modelo de Classes de Análise 
Engenharia de Requisitos– Prof Tavares 
 O modelo de classes evolui durante o desenvolvimento do 
SSOO. 
 À medida que o SSOO é desenvolvido, o modelo de objetos é 
incrementado com novos detalhes. 
 Há três níveis sucessivos de detalhamento: 
 Análise  Especificação (Projeto)  Implementação. 
3 
Modelo de Classes de Análise 
Engenharia de Requisitos– Prof Tavares 
Objetivo da Modelagem de Classes 
Prover respostas para as seguintes perguntas: 
 Por definição um sistema OO é composto de objetos...em 
um nível alto de abstração, que objetos constituem o 
sistema em questão? 
 Quais são as classes candidatas? 
 Como as classes do sistema estão relacionadas entre si? 
 Quais são as responsabilidades de cada classe? 
4 
Modelo de Classes de Análise 
Engenharia de Requisitos– Prof Tavares 
Modelo de Análise: Foco no Problema 
 O modelo de análise não representa detalhes da solução do 
problema. 
 Embora este sirva de ponto de partida para uma posterior definição das 
classes de software (especificação). 
Venda 
data 
hora 
Venda 
-data:Date 
-hora:Time 
+getTotal():Currency 
Pagamento 
quantia 1 1 Pago-por 
Pagamento 
-quantia: Currency 
 +getValor(): Currency 
1 1 Pago-por 
Projeto (Especificação) 
Análise 
5 
Modelo de Classes de Análise 
Engenharia de Requisitos– Profs Tavares e Sylvio 
 Um diagrama de classes mostra a existência das classes e os 
seus relacionamentos numa visão lógica e estática do sistema 
 A UML modela os elementos de um diagrama de classes: 
 Classes, sua estrutura e comportamentos. 
 Associações, agregações e relacionamentos de herança. 
 Multiplicidade e indicadores de navegação. 
 
6 
Modelo de Classes de Análise 
Engenharia de Requisitos– Profs Tavares e Sylvio 
Uma classe descreve um conjunto de objetos com: 
 propriedades semelhantes; 
 comportamentos semelhantes; 
 relacionamentos comuns com outros objetos. 
A classe é uma fábrica de objetos. 
Classe Pessoa 
Objeto João Objeto Ana 
Classificação 
 
 
Instanciação 
7 
Classe 
Modelo de Classes de Análise 
Engenharia de Requisitos– Prof Tavares 
Classes 
Uma classe descreve esses objetos através de atributos e 
operações. 
Atributos > correspondem às informações que um objeto armazena. 
Operações > correspondem às ações que um objeto sabe realizar. 
Notação na UML: “caixa” com no máximo três compartimentos 
exibidos. 
Detalhamento utilizado depende do estágio de desenvolvimento e do 
nível de abstração desejado. 
8 
Modelo de Classes de Análise 
Engenharia de Requisitos– Profs Tavares e Sylvio 
Classe - Diagramação 
Nome da Classe 
 
Atributos 
 
 
Operações 
9 
Modelo de Classes de Análise 
Engenharia de Requisitos– Profs Tavares e Sylvio 
 
 
 
Classes - Atributos 
 A estrutura da classe é representada por seus atributos. 
 Os atributos podem ser encontrados examinando-se as 
definições das classes, as suas características e aplicando-se o 
conhecimento do domínio. 
 
Cada Aluno tem uma 
matrícula, nome, 
endereço 
Aluno 
matrícula 
nome 
endereço 
10 
Modelo de Classes de Análise 
Engenharia de Requisitos– Profs Tavares e Sylvio 
Classes - Operações 
• O comportamento da classe é representado por operações 
• As operações podem ser encontradas examinando-se os diagramas 
de interação 
Coordenação 
addCurso (Aluno, Curso) 
Formulário de 
Registro 
Coordenação 
Add Curso(João,Inglês) 
11 
Modelo de Classes de Análise 
Engenharia de Requisitos– Profs Tavares e Sylvio 
 
 
Relacionamentos 
Os relacionamentos ligam as classes/objetos entre si criando 
relações lógicas entre estas entidades. 
Podem ser: 
 Associação. 
 Classes de Associação 
 Agregação/ composição. 
 Especialização/Generalização (Herança). 
12 
Modelo de Classes de Análise 
Engenharia de Requisitos– Profs Tavares e Sylvio 
 Relação que descreve um conjunto de vínculos entre classes. 
 Em relação ao número de classes envolvidas na associação, uma 
associação pode ser unária, binária ou n-ária. 
 Uma associação entre classes é o equivalente ao relacionamento 
entre conjuntos de entidades, do DER. 
Relacionamentos - Associações 
13 
Modelo de Classes de Análise 
Engenharia de Requisitos– Profs Tavares e Sylvio 
Funcionário 
Lotação 1..* 1 
é lotado Lota 
Departamento 
Nome da Associação 
Papéis 
Multiplicidade 
Multiplicidade 
Relacionamentos - Associação Binária 
14 
Modelo de Classes de Análise 
Engenharia de Requisitos– Profs Tavares e Sylvio 
Funcionário Chefiar 
* 
1 
é chefiado 
chefia 
Relacionamentos - Associação Reflexiva 
15 
Modelo de Classes de Análise 
Engenharia de Requisitos– Profs Tavares e Sylvio 
Relacionamentos - Associação Ternária 
Funcionário 
* 
* 
Departamento 
Projeto 
* 
16 
Modelo de Classes de Análise 
Engenharia de Requisitos– Prof Tavares 
Relacionamentos – Associações: Multiplicidades 
 Representam a informação dos limites inferior e superior da 
quantidade de objetos aos quais outro objeto pode se associar. 
 Cada associação em um diagrama de classes possui duas 
multiplicidades, uma em cada extremo da linha de associação. 
Nome Simbologia na UML 
Apenas Um 1..1 (ou 1) 
Zero ou Muitos 0..* (ou *) 
Um ou Muitos 1..* 
Zero ou Um 0..1 
Intervalo Específico l
i
..l
s
 
17 
Modelo de Classes de Análise 
Engenharia de Requisitos– Prof Tavares 
Relacionamentos - Associações: Exemplos (multiplicidade) 
Exemplo: 
– Pode haver um cliente que esteja associado a vários pedidos. 
– Pode haver um cliente que não esteja associado a pedido algum. 
– Um pedido está associado a um, e somente um, cliente. 
 
 
 
Exemplo: 
– Uma corrida está associada a, no mínimo, dois velocistas 
– Uma corrida está associada a, no máximo, seis velocistas. 
– Um velocista pode estar associado a várias corridas. 
18 
Modelo de Classes de Análise 
Engenharia de Requisitos– Prof Tavares 
Relacionamentos - Associações: Conectividade 
 A conectividade corresponde ao tipo de associação entre duas 
classes: “muitos para muitos”, “um para muitos” e “um para 
um”. 
 A conectividade da associação entre duas classes depende dos 
símbolos de multiplicidade que são utilizados na associação. 
Conectividade Em um extremo No outro extremo 
Um para um 0..1 
1 
0..1 
1 
Um para muitos 0..1 
1 
* 
1..* 
0..* 
Muitos para muitos * 
1..* 
0..* 
* 
1..* 
0..* 
19 
Modelo de Classes de Análise 
Engenharia de Requisitos– Prof Tavares 
Relacionamentos - Associações: Exemplos de Conectividade 
gerencia gerenciado 
1 0..1 
alocado aloca 
0..* 1 
alocado aloca 
0..* 1..* 
20 
Engenharia de Requisitos– Prof Tavares 
Modelo de Classes de Análise 
Relacionamentos - Classe associativa 
 Classe que está ligada a uma associação, ao invés de a outras 
classes. 
 Normalmente ocorre quando duas ou mais classes estão 
associadas e é necessário manter informações sobre esta 
associação. 
 Uma classe associativa (ou de associação) pode estar ligada a 
associações de qualquer tipo de conectividade. 
21 
Engenharia de Requisitos– Prof Tavares 
Modelo de Classes de Análise 
Relacionamentos - Notação para Classes Associativas 
 Notaçãoé semelhante à utilizada para classes ordinárias. A 
diferença é que esta classe é ligada a uma associação por uma linha 
tracejada. 
 Exemplo: para cada par de objetos [pessoa, empresa], há duas informações 
associadas: salário e data de contratação. 
 
22 
Modelo de Classes de Análise 
Engenharia de Requisitos– Profs Tavares e Sylvio 
Relacionamentos - Classe Associativa 
23 
Fornecedor 1..* 1..* Produto 
Fornecimento 
 
quantidade 
fornece fornecido 
Modelo de Classes de Análise 
Engenharia de Requisitos– Profs Tavares e Sylvio 
Relacionamentos - Classe Associativa 
24 
Médico 1..* 1..* Paciente 
Consulta 
 
data 
diagnóstico 
atende atendido 
Exame 
solicita solicitado 
0..* 0..* 
Modelo de Classes de Análise 
Engenharia de Requisitos– Profs Tavares e Sylvio 
Relacionamentos - Agregação 
 Forma especial de Associação que serve para mostrar que uma 
determinada classe de objetos é composta por outra classe. 
 Semanticamente indica que o objeto parte é um atributo do 
objeto todo (é-parte-de). 
 A representação é feita colocando-se um losango vazio do lado 
do objeto todo. 
 . 25 
Time Torneio 
0..* * 
Modelo de Classes de Análise 
Engenharia de Requisitos– Profs Tavares e Sylvio 
 O objeto parte só tem existência se o objeto todo existir. 
 A multiplicidade da associação é sempre 1 do lado do objeto 
todo. 
 A representação é feita colocando-se um losango cheio do lado 
do objeto todo. 
Item Pedido Pedido 
1 1..* 
Relacionamentos - Composição 
26 
Engenharia de Requisitos– Prof Tavares 
Modelo de Classes de Análise 
Relacionamentos - Generalização/Especialização 
 Generalização/Especialização é a abstração que permite compartilhar 
semelhanças, preservando diferenças 
27 
Modelo de Classes de Análise 
Engenharia de Requisitos– Profs Tavares e Sylvio 
 É um relacionamento entre em elemento mais geral (superclasse) e um 
elemento mais específico (subclasse). 
 Indica que a superclasse tem atributos, operações e associações comuns 
que são compartilhados por todas as subclasses derivadas. 
 Um objeto de uma subclasse é um tipo-de-objeto da superclasse. 
Relacionamentos - Generalização/Especialização 
Funcionário 
Engenheiro Motorista 
28 
Modelo de Classes de Análise 
Engenharia de Requisitos– Profs Tavares e Sylvio 
Relacionamentos - Generalização/Especialização 
Funcionário 
Engenheiro Motorista 
29 
Departamento 
Nome 
CREA CNH 
Projeto 
Veículo 
Engenharia de Requisitos– Prof Tavares 
Modelo de Classes de Análise 
Relacionamentos - Generalização/Especialização: Herança 
 Mecanismo para modelar similaridades entre classes, representando as 
abstrações de generalização e especialização. 
 A herança possibilita: 
 Reutilização; 
 Captura explícita de características comuns; 
 Facilidade de manutenção; 
 Facilidade de criar novas classes. 
 O desenvolvimento orientado a objetos é fortemente baseado na 
construção de hierarquias de classes. 
30 
Engenharia de Requisitos– Prof Tavares 
Modelo de Classes de Análise 
 Uma classe abstrata é aquela no qual um ou mais métodos são declarados 
mas não definidos. 
 Quando se deriva uma classe a partir de uma classe abstrata não há 
necessidade de definirem todos os métodos abstratos na subclasse; nesse 
caso, a subclasse também será abstrata. 
 Não se pode instanciar um objeto a partir de uma classe abstrata, mas 
pode-se fazer referência a uma classe abstrata por meio de um objeto de 
uma sub-classe. 
 
Relacionamentos - Generalização/Especialização: Classe Abstrata 
31 
Modelo de Classes de Análise 
Engenharia de Requisitos– Profs Tavares e Sylvio 
Uma classe que provê organização. 
32 
Relacionamentos - Generalização/Especialização: Classe Abstrata 
Modelo de Classes de Análise 
Engenharia de Requisitos– Profs Tavares e Sylvio 
 Especifica condições e proposições que devem ser satisfeitas nas 
associações. 
 A restrição é colocada entre chaves, sobre a linha que representa a 
associação. 
Cliente 1..* 1 
realiza 
Pedido 
{Se nível de crédito insuficiente, 
 pagamento à vista} 
realizado 
33 
Restrições em Relacionamentos - Associações 
Modelo de Classes de Análise 
Engenharia de Requisitos– Profs Tavares e Sylvio 
Restrições em Relacionamentos - Generalização/Especialização 
 Sobreposição - objetos podem ocorrer simultaneamente em mais de 
uma subclasse de uma mesma superclasse. 
 Disjunção - objetos só podem pertencer a uma subclasse de uma 
mesma superclasse. 
 Completo - todas as subclasses estão representadas. 
 Incompleto - Nem todas as subclasses estão representadas. 
Funcionário 
Engenheiro Motorista 
{disjunção, incompleto} {sobreposição, completo} 
Pessoa 
Cliente Funcionário 
34 
Modelo de Classes de Análise 
Engenharia de Requisitos– Profs Tavares e Sylvio 
Diagrama de Objetos 
 Além do diagrama de classes, a UML define um segundo tipo 
de diagrama estrutural, o diagrama de objetos. 
 Pode ser visto com uma instância de diagramas de classes 
 Representa uma “fotografia” do sistema em um certo 
momento. 
 exibe as ligações formadas entre objetos conforme estes 
interagem e os valores dos seus atributos. 
35 
Modelo de Classes de Análise 
Engenharia de Requisitos– Profs Tavares e Sylvio 
Diagrama de Classes original 
36 
Cliente Contrato de Aluguel 
Nome 
Idade 
CPF 
Num 
Veiculo 
* 1 
Modelo de Classes de Análise 
Engenharia de Requisitos– Profs Tavares e Sylvio 
 
2678: Contrato de Aluguel 
Num_Contrato : 2678 
Veículo : "BMW 914" 
2679: Contrato de Aluguel 
Num_Contrato : 2679 
Veículo : "Audi V8" 
Pablo: Cliente 
Nome : "Pablo F. Barros" 
Idade : 20 
CPF : 94168912-15 
Diagrama de Objetos 
37 
Modelo de Classes de Análise 
Engenharia de Requisitos– Profs Tavares e Sylvio 38

Continue navegando