Baixe o app para aproveitar ainda mais
Prévia do material em texto
Modelo de Classes de Análise Engenharia de Requisitos– Profs Tavares e Sylvio Modelo de Classes de Análise 1 Modelo de Classes de Análise Engenharia de Requisitos– Prof Tavares As funcionalidades de um SSOO são realizadas internamente através de colaborações entre objetos. Externamente, os atores visualizam resultados de cálculos, relatórios produzidos, confirmações de requisições realizadas, etc. Internamente, os objetos colaboram uns com os outros para produzir os resultados. Essa colaboração pode ser vista sob o aspecto dinâmico e sob o aspecto estrutural estático. O modelo de classes representa o aspecto estrutural e estático dos objetos que compõem um SSOO. 2 Modelo de Classes de Análise Engenharia de Requisitos– Prof Tavares O modelo de classes evolui durante o desenvolvimento do SSOO. À medida que o SSOO é desenvolvido, o modelo de objetos é incrementado com novos detalhes. Há três níveis sucessivos de detalhamento: Análise Especificação (Projeto) Implementação. 3 Modelo de Classes de Análise Engenharia de Requisitos– Prof Tavares Objetivo da Modelagem de Classes Prover respostas para as seguintes perguntas: Por definição um sistema OO é composto de objetos...em um nível alto de abstração, que objetos constituem o sistema em questão? Quais são as classes candidatas? Como as classes do sistema estão relacionadas entre si? Quais são as responsabilidades de cada classe? 4 Modelo de Classes de Análise Engenharia de Requisitos– Prof Tavares Modelo de Análise: Foco no Problema O modelo de análise não representa detalhes da solução do problema. Embora este sirva de ponto de partida para uma posterior definição das classes de software (especificação). Venda data hora Venda -data:Date -hora:Time +getTotal():Currency Pagamento quantia 1 1 Pago-por Pagamento -quantia: Currency +getValor(): Currency 1 1 Pago-por Projeto (Especificação) Análise 5 Modelo de Classes de Análise Engenharia de Requisitos– Profs Tavares e Sylvio Um diagrama de classes mostra a existência das classes e os seus relacionamentos numa visão lógica e estática do sistema A UML modela os elementos de um diagrama de classes: Classes, sua estrutura e comportamentos. Associações, agregações e relacionamentos de herança. Multiplicidade e indicadores de navegação. 6 Modelo de Classes de Análise Engenharia de Requisitos– Profs Tavares e Sylvio Uma classe descreve um conjunto de objetos com: propriedades semelhantes; comportamentos semelhantes; relacionamentos comuns com outros objetos. A classe é uma fábrica de objetos. Classe Pessoa Objeto João Objeto Ana Classificação Instanciação 7 Classe Modelo de Classes de Análise Engenharia de Requisitos– Prof Tavares Classes Uma classe descreve esses objetos através de atributos e operações. Atributos > correspondem às informações que um objeto armazena. Operações > correspondem às ações que um objeto sabe realizar. Notação na UML: “caixa” com no máximo três compartimentos exibidos. Detalhamento utilizado depende do estágio de desenvolvimento e do nível de abstração desejado. 8 Modelo de Classes de Análise Engenharia de Requisitos– Profs Tavares e Sylvio Classe - Diagramação Nome da Classe Atributos Operações 9 Modelo de Classes de Análise Engenharia de Requisitos– Profs Tavares e Sylvio Classes - Atributos A estrutura da classe é representada por seus atributos. Os atributos podem ser encontrados examinando-se as definições das classes, as suas características e aplicando-se o conhecimento do domínio. Cada Aluno tem uma matrícula, nome, endereço Aluno matrícula nome endereço 10 Modelo de Classes de Análise Engenharia de Requisitos– Profs Tavares e Sylvio Classes - Operações • O comportamento da classe é representado por operações • As operações podem ser encontradas examinando-se os diagramas de interação Coordenação addCurso (Aluno, Curso) Formulário de Registro Coordenação Add Curso(João,Inglês) 11 Modelo de Classes de Análise Engenharia de Requisitos– Profs Tavares e Sylvio Relacionamentos Os relacionamentos ligam as classes/objetos entre si criando relações lógicas entre estas entidades. Podem ser: Associação. Classes de Associação Agregação/ composição. Especialização/Generalização (Herança). 12 Modelo de Classes de Análise Engenharia de Requisitos– Profs Tavares e Sylvio Relação que descreve um conjunto de vínculos entre classes. Em relação ao número de classes envolvidas na associação, uma associação pode ser unária, binária ou n-ária. Uma associação entre classes é o equivalente ao relacionamento entre conjuntos de entidades, do DER. Relacionamentos - Associações 13 Modelo de Classes de Análise Engenharia de Requisitos– Profs Tavares e Sylvio Funcionário Lotação 1..* 1 é lotado Lota Departamento Nome da Associação Papéis Multiplicidade Multiplicidade Relacionamentos - Associação Binária 14 Modelo de Classes de Análise Engenharia de Requisitos– Profs Tavares e Sylvio Funcionário Chefiar * 1 é chefiado chefia Relacionamentos - Associação Reflexiva 15 Modelo de Classes de Análise Engenharia de Requisitos– Profs Tavares e Sylvio Relacionamentos - Associação Ternária Funcionário * * Departamento Projeto * 16 Modelo de Classes de Análise Engenharia de Requisitos– Prof Tavares Relacionamentos – Associações: Multiplicidades Representam a informação dos limites inferior e superior da quantidade de objetos aos quais outro objeto pode se associar. Cada associação em um diagrama de classes possui duas multiplicidades, uma em cada extremo da linha de associação. Nome Simbologia na UML Apenas Um 1..1 (ou 1) Zero ou Muitos 0..* (ou *) Um ou Muitos 1..* Zero ou Um 0..1 Intervalo Específico l i ..l s 17 Modelo de Classes de Análise Engenharia de Requisitos– Prof Tavares Relacionamentos - Associações: Exemplos (multiplicidade) Exemplo: – Pode haver um cliente que esteja associado a vários pedidos. – Pode haver um cliente que não esteja associado a pedido algum. – Um pedido está associado a um, e somente um, cliente. Exemplo: – Uma corrida está associada a, no mínimo, dois velocistas – Uma corrida está associada a, no máximo, seis velocistas. – Um velocista pode estar associado a várias corridas. 18 Modelo de Classes de Análise Engenharia de Requisitos– Prof Tavares Relacionamentos - Associações: Conectividade A conectividade corresponde ao tipo de associação entre duas classes: “muitos para muitos”, “um para muitos” e “um para um”. A conectividade da associação entre duas classes depende dos símbolos de multiplicidade que são utilizados na associação. Conectividade Em um extremo No outro extremo Um para um 0..1 1 0..1 1 Um para muitos 0..1 1 * 1..* 0..* Muitos para muitos * 1..* 0..* * 1..* 0..* 19 Modelo de Classes de Análise Engenharia de Requisitos– Prof Tavares Relacionamentos - Associações: Exemplos de Conectividade gerencia gerenciado 1 0..1 alocado aloca 0..* 1 alocado aloca 0..* 1..* 20 Engenharia de Requisitos– Prof Tavares Modelo de Classes de Análise Relacionamentos - Classe associativa Classe que está ligada a uma associação, ao invés de a outras classes. Normalmente ocorre quando duas ou mais classes estão associadas e é necessário manter informações sobre esta associação. Uma classe associativa (ou de associação) pode estar ligada a associações de qualquer tipo de conectividade. 21 Engenharia de Requisitos– Prof Tavares Modelo de Classes de Análise Relacionamentos - Notação para Classes Associativas Notaçãoé semelhante à utilizada para classes ordinárias. A diferença é que esta classe é ligada a uma associação por uma linha tracejada. Exemplo: para cada par de objetos [pessoa, empresa], há duas informações associadas: salário e data de contratação. 22 Modelo de Classes de Análise Engenharia de Requisitos– Profs Tavares e Sylvio Relacionamentos - Classe Associativa 23 Fornecedor 1..* 1..* Produto Fornecimento quantidade fornece fornecido Modelo de Classes de Análise Engenharia de Requisitos– Profs Tavares e Sylvio Relacionamentos - Classe Associativa 24 Médico 1..* 1..* Paciente Consulta data diagnóstico atende atendido Exame solicita solicitado 0..* 0..* Modelo de Classes de Análise Engenharia de Requisitos– Profs Tavares e Sylvio Relacionamentos - Agregação Forma especial de Associação que serve para mostrar que uma determinada classe de objetos é composta por outra classe. Semanticamente indica que o objeto parte é um atributo do objeto todo (é-parte-de). A representação é feita colocando-se um losango vazio do lado do objeto todo. . 25 Time Torneio 0..* * Modelo de Classes de Análise Engenharia de Requisitos– Profs Tavares e Sylvio O objeto parte só tem existência se o objeto todo existir. A multiplicidade da associação é sempre 1 do lado do objeto todo. A representação é feita colocando-se um losango cheio do lado do objeto todo. Item Pedido Pedido 1 1..* Relacionamentos - Composição 26 Engenharia de Requisitos– Prof Tavares Modelo de Classes de Análise Relacionamentos - Generalização/Especialização Generalização/Especialização é a abstração que permite compartilhar semelhanças, preservando diferenças 27 Modelo de Classes de Análise Engenharia de Requisitos– Profs Tavares e Sylvio É um relacionamento entre em elemento mais geral (superclasse) e um elemento mais específico (subclasse). Indica que a superclasse tem atributos, operações e associações comuns que são compartilhados por todas as subclasses derivadas. Um objeto de uma subclasse é um tipo-de-objeto da superclasse. Relacionamentos - Generalização/Especialização Funcionário Engenheiro Motorista 28 Modelo de Classes de Análise Engenharia de Requisitos– Profs Tavares e Sylvio Relacionamentos - Generalização/Especialização Funcionário Engenheiro Motorista 29 Departamento Nome CREA CNH Projeto Veículo Engenharia de Requisitos– Prof Tavares Modelo de Classes de Análise Relacionamentos - Generalização/Especialização: Herança Mecanismo para modelar similaridades entre classes, representando as abstrações de generalização e especialização. A herança possibilita: Reutilização; Captura explícita de características comuns; Facilidade de manutenção; Facilidade de criar novas classes. O desenvolvimento orientado a objetos é fortemente baseado na construção de hierarquias de classes. 30 Engenharia de Requisitos– Prof Tavares Modelo de Classes de Análise Uma classe abstrata é aquela no qual um ou mais métodos são declarados mas não definidos. Quando se deriva uma classe a partir de uma classe abstrata não há necessidade de definirem todos os métodos abstratos na subclasse; nesse caso, a subclasse também será abstrata. Não se pode instanciar um objeto a partir de uma classe abstrata, mas pode-se fazer referência a uma classe abstrata por meio de um objeto de uma sub-classe. Relacionamentos - Generalização/Especialização: Classe Abstrata 31 Modelo de Classes de Análise Engenharia de Requisitos– Profs Tavares e Sylvio Uma classe que provê organização. 32 Relacionamentos - Generalização/Especialização: Classe Abstrata Modelo de Classes de Análise Engenharia de Requisitos– Profs Tavares e Sylvio Especifica condições e proposições que devem ser satisfeitas nas associações. A restrição é colocada entre chaves, sobre a linha que representa a associação. Cliente 1..* 1 realiza Pedido {Se nível de crédito insuficiente, pagamento à vista} realizado 33 Restrições em Relacionamentos - Associações Modelo de Classes de Análise Engenharia de Requisitos– Profs Tavares e Sylvio Restrições em Relacionamentos - Generalização/Especialização Sobreposição - objetos podem ocorrer simultaneamente em mais de uma subclasse de uma mesma superclasse. Disjunção - objetos só podem pertencer a uma subclasse de uma mesma superclasse. Completo - todas as subclasses estão representadas. Incompleto - Nem todas as subclasses estão representadas. Funcionário Engenheiro Motorista {disjunção, incompleto} {sobreposição, completo} Pessoa Cliente Funcionário 34 Modelo de Classes de Análise Engenharia de Requisitos– Profs Tavares e Sylvio Diagrama de Objetos Além do diagrama de classes, a UML define um segundo tipo de diagrama estrutural, o diagrama de objetos. Pode ser visto com uma instância de diagramas de classes Representa uma “fotografia” do sistema em um certo momento. exibe as ligações formadas entre objetos conforme estes interagem e os valores dos seus atributos. 35 Modelo de Classes de Análise Engenharia de Requisitos– Profs Tavares e Sylvio Diagrama de Classes original 36 Cliente Contrato de Aluguel Nome Idade CPF Num Veiculo * 1 Modelo de Classes de Análise Engenharia de Requisitos– Profs Tavares e Sylvio 2678: Contrato de Aluguel Num_Contrato : 2678 Veículo : "BMW 914" 2679: Contrato de Aluguel Num_Contrato : 2679 Veículo : "Audi V8" Pablo: Cliente Nome : "Pablo F. Barros" Idade : 20 CPF : 94168912-15 Diagrama de Objetos 37 Modelo de Classes de Análise Engenharia de Requisitos– Profs Tavares e Sylvio 38
Compartilhar