Escolar Documentos
Profissional Documentos
Cultura Documentos
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
4/24
Passos da análise
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
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
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)
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