Buscar

Aula_0010 - Modelagem de classes de especificação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Princípios de Análise 
e Projeto de Sistemas 
com UML 
2ª edição 
Eduardo Bezerra 
 
Editora Campus/Elsevier 
Capítulo 08 
Modelagem de classes de especificação 
“A perfeição (no projeto) é alcançada, não quando não há nada 
mais para adicionar, mas quando não há nada mais para 
retirar.” 
Eric Raymond, The Cathedral and the Bazaar 
Tópicos 
• Introdução 
 
• Especificação de atributos 
 
• Especificação de operações 
 
• Especificação de associações 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 3 
Tópicos 
• Introdução 
 
• Especificação de atributos 
 
• Especificação de operações 
 
• Especificação de associações 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 4 
Introdução 
• O modelo de classes de especificação é construído em paralelo 
com os diagramas de interação; 
 
• Após a construção desse modelo, o sistema estará em um 
estágio próximo ao de implementação 
 
• As classes do modelo de domínio são refinadas, até chegar a 
um estágio próximo ao código. 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 5 
Especificação de Classes de Fronteira 
• Algumas classes de fronteira são divididas em mais de uma; 
 
• As classes de fronteira que se comunicam com o usuário 
devem passar por um processo específico; 
 
• Além da fronteira com o usuário, existem outras: 
– Interface com equipamentos 
– Interface com outros sistemas 
– Interface com banco de dados... 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 6 
Especificação das Classes de Entidade 
• Necessitam de armazenamento persistente; 
 
• Devem ser identificados padrões de acesso a cada classe; 
 
• Devem ser consideradas operações de inclusão, exclusão e 
alteração nesses objetos; 
 
• Deve-se pensar em como será realizado o mapeamento das 
classes para o mecanismo de persistência utilizado. 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 7 
Especificação das Classes de Controle 
• Deve-se analisar a necessidade dessas classes; 
 
• Em casos simples como manutenção (inserção, remoção, 
atualização e busca), as classes de fronteira podem repassar os 
dados para as entidades; 
 
• Em alguns casos, uma classe de controle complexa pode ser 
dividida em mais de uma classe. 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 8 
Tópicos 
• Introdução 
 
• Especificação de atributos 
 
• Especificação de operações 
 
• Especificação de associações 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 9 
Especificação de Atributos 
• Nas classes de domínio, não havia a necessidade de explicitar 
os atributos; 
 
• A notação da UML para atributos no diagrama de classes é: 
 
[visibilidade] nome : tipo = valor inicial 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 10 
Especificação de Atributos 
[visibilidade] nome : tipo = valor inicial 
 
Visibilidade 
• Refere-se ao nível de acesso; 
 
• Implementa o encapsulamento; 
 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 11 
Visibilidade Símbolo 
Public + 
Private - 
Protected # 
Package ~ 
Especificação de Atributos 
[visibilidade] nome : tipo = valor inicial 
 
Tipo 
• Especifica o tipo do atributo; 
• Depende da linguagem de programação; 
• Pode ser um tipo primitivo ou um TAD; 
• Alguns tipos definidos, não precisam ser representados como 
classes no diagrama. 
 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 12 
Especificação de Atributos 
[visibilidade] nome : tipo = valor inicial 
 
Valor inicial 
• O valor é atribuído ao atributo quando um objeto dessa classe 
é instanciado. 
 
• Também depende da linguagem de programação. 
 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 13 
Especificação de Atributos 
Atributos derivados 
 
• São atributos, cujo valor depende de outro atributo. 
 
• Exemplo clássico: Idade; 
 
• São representados com uma barra (/) a esquerda. 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 14 
Especificação de Atributos 
Atributos estáticos 
 
• São atributos que referem-se a classe e não aos objetos; 
 
• São sublinhados no diagrama; 
 
 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 15 
Tópicos 
• Introdução 
 
• Especificação de atributos 
 
• Especificação de operações 
 
• Especificação de associações 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 16 
Especificação de Operações 
• São as ações de uma classe (métodos); 
 
• Durante a construção dos diagramas de interação, ficam mais 
claros; 
 
• No diagrama de classes, inserimos as assinaturas das 
operações; 
 
visibilidade nome(parâmetros) : tipo-retorno {propriedades} 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 17 
Especificação de Operações 
visibilidade nome(parâmetros) : tipo-retorno {propriedades} 
 
Nome 
• Recomenda-se seguir uma forma: verbo + complemento; 
 
• A primeira letra em minúsculo e as iniciais dos outros nomes 
em maiúsculo; 
 
• Deve remeter à perspectiva externa (serviços): 
obterIdadeMedia() é melhor que calcularIdadeMedia() 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 18 
Especificação de Operações 
visibilidade nome(parâmetros) : tipo-retorno {propriedades} 
 
Parâmetros 
• Informações que o método recebe; 
 
• Uma operação pode ter 0 ou muitos parâmetros; 
 
• Ideal usar o mínimo de parâmetros possíveis (diminui 
acoplamento); 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 19 
Especificação de Operações 
visibilidade nome(parâmetros) : tipo-retorno {propriedades} 
 
Tipo de retorno 
• Representa o tipo do valor retornado pela operação; 
 
• Depende da linguagem de programação; 
 
• Pode ser um tipo primitivo ou um TAD. 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 20 
Especificação de Operações 
visibilidade nome(parâmetros) : tipo-retorno {propriedades} 
 
Propriedades 
• Ficam entre chaves, podem ser: 
– isQuery: Não modifica o estado do objeto 
– sequential 
– guarded 
– concurrent 
 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 21 
Úteis na modelagem de sistemas 
com múltiplas threads (multi threaded) 
Especificação de Operações 
Criação e destruição 
 
• Não são obrigatórios no diagrama, mas podem ser 
representados; 
 
• Algumas ferramentas CASE geram automaticamente; 
 
• Os construtores podem ter parâmetros que inicializam os 
atributos. 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 22 
Especificação de Operações 
Getters e Setters (Seletores e Modificadores) 
 
• Úteis para garantir o encapsulamento; 
 
• Os seletores começam normalmente com get ou obter seguido 
do atributo e possuem retorno igual ao tipo do atributo; 
 
• Os modificadores não possuem retorno; 
 
• Nem sempre é necessário. Exemplo, atributos estáticos (sem 
setter). 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 23 
Tópicos 
• Introdução 
 
• Especificação de atributos 
 
• Especificação de operações 
 
• Especificação de associações 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 24 
Especificação de Associações 
Relacionamentos de dependência 
 
• Não identificado no modelo de classes de domínio; 
• Tipos: 
– Dependênciapor atributo: A possui um atributo cujo tipo é B 
– Dependência por variável global: A utiliza uma variável global cujo 
tipo é B; 
– Dependência por variável local: A possui uma operação cuja 
implementação utiliza uma variável local de tipo B. 
– Dependência por parâmetro: A possui uma operação, que possui pelo 
menos um parâmetro, cujo tipo é B. 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 25 
Especificação de Associações 
Relacionamentos de dependência 
 
• São representados por uma linha tracejada ligando as classes; 
 
• Podem haver estereótipos indicando o tipo de dependência; 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 26 
Especificação de Associações 
Transformação (associação  dependência) 
 
• Algumas das associações definidas no modelo de classes de 
domínio podem ser, na verdade dependências; 
 
• Quanto mais dependência entre as classes, menor será o 
encapsulamento. 
 
• Então, cuidado... 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 27 
Especificação de Associações 
Transformação (associação  agregação ou composição) 
 
• Agregação X Composição (Mais forte) 
 
• A agregação é mais empregada no modelo de classes de 
domínio, mas algumas delas virarão composição no modelo de 
classes de especificação; 
 
• Nessas associações, o todo cria as partes quando requisitado. 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 28 
Especificação de Associações 
Restrições das associações 
 
• Algumas restrições podem ser realizadas sobre as associações; 
 
• Existem duas: 
– Subset (subconjunto): Indicam que os objetos ligados por uma das 
linhas são subconjunto dos ligados por outra. 
– Xor (exclusivo): Indica que somente uma das associações pode ocorrer 
entre os objetos das classes. 
 
– São representadas por uma linha pontilhada ligando as associações. 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 29 
Especificação de Associações 
Restrições das associações 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 30 
Especificação de Associações 
Navegabilidade 
 
• As associações podem ser bidirecionais ou unidirecionais; 
 
• Se nada for especificado, subtende-se que a associação é 
bidirecional; 
 
• No modelo de classes de especificação, deve-se definir a 
navegabilidade. 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 31 
Referências 
• BEZERRA, Eduardo. Princípios de Análise e Projeto de 
Sistemas com UML. Rio de Janeiro: Editora Campus, 2006. 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 32

Outros materiais