Baixe o app para aproveitar ainda mais
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
Compartilhar