Você está na página 1de 25

Conceitos de Orientação a

Objetos
Prof. Alessandro Jatobá
Agenda
Análise
Visões da UML
Visão geral dos diagramas da UML
Modelagem de casos de uso
Modelagem de classes
Exercícios

2/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...

3/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

4/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!

5/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

6/24
Diagramas da UML

7/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

8/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

9/24
Modelagem de casos de uso:
Estereótipos

10/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

11/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

12/24
Exercício (casos de uso)

13/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

14/24
Modelagem de classes
É a essência da UML
Trata da estrutura lógica estática, mostrando uma coleção de elementos
declarativos

15/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

16/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

17/24
Modelagem de classes:
Associações
Agregação/composição
◦ Denota relação parte/todo entre as classes

18/24
Modelagem de classes:
Associações
Associação
◦ Relaciona as partes através de vínculos e conexões semânticas

Direção

19/24
Modelagem de classes:
Associações
Dependência
◦ Relacionamento em que uma mudança no elemento independente
interfere no elemento dependente

20/24
Modelagem de classes:
Multiplicidades

21/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

PÓS-GRADUAÇÃO E ENGENHARIA DE SOFTWARE 22/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)

23/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

24/24
Exercícios

25/24

Você também pode gostar