Buscar

Conceitos de Orientação a Objetos parte 2

Prévia do material em texto

Conceitos de Orientação a 
Objetos
Prof. Alessandro Jatobá
2/24
Agenda
Análise
Visões da UML
Visão geral dos diagramas da UML
Modelagem de casos de uso
Modelagem de classes
Exercícios
3/24
Por que Analisar????
Não adianta que o software funcione somente na sua máquina
Pessoas reais vão usá-lo
Todo software se aplica a um contexto
Por mais que as guitarras tenham o comportamento “emitir som”, não adianta, 
se o cliente quiser um “latido”, por exemplo...
4/24
Por que Analisar????
O objetivo da análise é trazer o software para o mundo real
Mundo real ≠ mundo perfeito
A análise vai dar garantias de que o software funciona em um contexto de 
mundo real
5/24
Passos da análise
O primeiro passo é identificar o problema a ser tratado (contexto)
Em seguida planeje a solução
Enfim, Descreva a solução
Utilizando as visões e os diagramas da UML!
6/24
Visões da UML
Visão de Casos de Uso
◦ Interações entre o sistema e agentes externos
Visão de Projeto
◦ Características estruturais e comportamentais
Visão de implementação
◦ Gerenciamento de versões e módulos do sistema
Visão de Implantação
◦ Distribuição física do sistema
Visão de Processo
◦ Características de concorrência e desempenho
7/24
Diagramas da UML
8/24
Modelagem de casos de uso
Representação das interações entre agentes externos e os elementos do 
sistema
É parte integrante da especificação de requisitos (especialmente dos requisitos 
funcionais)
É uma caixa-preta, que fornece situações de aplicação
9/24
Modelagem de casos de uso
Descreve os requisitos funcionais
Fornece um descrição consistente e clara das responsabilidades do sistema
Oferece as possíveis situações do mundo real para o teste do sistema
Não é uma descrição formal
◦ Sua profundidade depende do público-alvo
◦ Construa-os de maneira que faça sentido para você, para seu gerente 
e para seus clientes
10/24
Modelagem de casos de uso:
Estereótipos
11/24
Modelagem de casos de uso:
Estereótipos
Ator
◦ Agente externo, que interagem com o sistema
◦ Representa um papel
Relacionamentos
◦ Inclusão: O caso de uso A só é realizado se o caso de uso B também for
◦ Extensão: A realização do caso de uso B é opcional para a realização do caso de uso 
A
◦ Generalização: reuso. O ator (ou caso de uso) filho herda todas as interações do pai
12/24
Modelagem de casos de uso:
Especificação
A documentação dos casos de uso deve conter:
◦ Nome
◦ Identificador
◦ Sumário
◦ Ator primário
◦ Ator Secundário
◦ Pré-condições
◦ Fluxo principal
◦ Fluxos alternativos
◦ Pós condições
◦ Regras de negócio
13/24
Exercício (casos de uso)
14/24
Modelagem de classes
A funcionalidade do sistema se materializa na colaboração entre objetos
Essa interação se dá em dois aspectos
◦ Dinâmico: representa a troca de mensagens entre os objetos
◦ Estrutural estático: descreve a estrutura das classes dos objetos e suas relações
A modelagem de classes está no aspecto estrutural estático
15/24
Modelagem de classes
É a essência da UML
Trata da estrutura lógica estática, mostrando uma coleção de elementos 
declarativos
16/24
Modelagem de classes:
Responsabilidades
São obrigações que um objeto tem para com o sistema no qual ele está 
inserido
Responsabilidades de Conhecer
◦ São as informações que um objeto sabe sobre si. Quando 
“perguntado” sobre essa informação, o objeto precisa saber 
responder
◦ Atributos
Responsabilidades de fazer
◦ São as ações que um objeto é capaz de realizar
◦ Operações
Método de identificação orientado a responsabilidades
17/24
Modelagem de classes:
Associações
Generalização
◦ Também conhecida como herança, indica que o elemento específico 
contêm informação adicional ao elemento geral
18/24
Modelagem de classes:
Associações
Agregação/composição
◦ Denota relação parte/todo entre as classes
19/24
Modelagem de classes:
Associações
Associação
◦ Relaciona as partes através de vínculos e conexões semânticas
Direção
20/24
Modelagem de classes:
Associações
Dependência
◦ Relacionamento em que uma mudança no elemento independente 
interfere no elemento dependente
21/24
Modelagem de classes:
Multiplicidades
PÓS-GRADUAÇÃO E ENGENHARIA DE SOFTWARE 22/24
Modelagem de classes:
Classes Associativas
São classes que estão ligadas a associações e não a outras classes
São utilizadas para responder por responsabilidades que não são de 
nenhuma das classes da associação, mas da associação em si
23/24
Modelagem de classes:
Outras associações
Associações ternárias
◦ Ocorrem quando objetos de três (ou mais) classes distintas colaboram entre si
◦ Algumas ferramentas CASE não permitem seu desenho (Astah, por exemplo)
Associações reflexivas (auto associações)
◦ Objetos do mesmo tipo colaboram entre si
◦ Exemplo: técnico e supervisor (instâncias de empregado)
24/24
Modelagem de classes:
Outros estereótipos
Interfaces
◦ São um recurso da OO utilizados para definir um conjunto de comportamentos que 
todas as classes de uma hierarquia devem possuir, porém cada uma com sua 
implementação
◦ São uma espécie de “contrato” entre classes
Ou
25/24
Exercícios

Continue navegando