Baixe o app para aproveitar ainda mais
Prévia do material em texto
26/09/2018 UNIP - Universidade Paulista : DisciplinaOnline - Sistemas de conteúdo online para Alunos. https://online.unip.br/imprimir/imprimirconteudo 1/7 Diagrama de Classes de Análise O diagrama de classes é o segundo diagrama obrigatório de qualquer projeto de sistema orientado a objetos. O outro diagrama é o diagrama de casos de uso. Ele também é o diagrama que mais se aproxima da solução final do sistema, quando ele for codificado em alguma linguagem de programação orientada a objetos. Classes e Interfaces A representação de classes e interfaces no diagrama é feita com um retângulo com o nome da classe ou interface em seu interior. Para se diferenciar uma interface de uma classe utiliza-se o estereótipo <<interface>>. Classes abstratas têm seu nome escrito em itálico. As classes também podem exibir seus atributos e métodos. Quando isso ocorre, o retângulo é dividido em três partes, a primeira exibe o nome da classe, a segunda seus atributos e a terceira seus métodos. Relacionamentos As classes e interfaces podem se relacionar de diversas maneiras. Elas são: Dependência Quando uma classe simplesmente utiliza outra classe, identifica-se a dependência da primeira pela segunda. A dependência é representada por uma seta de corpo tracejado e ponta aberta que parte da classe que depende e aponta para a classe que é usada. Associação Este relacionamento ocorre quando identificamos um significado semântico no relacionamento entre duas classes. Em outras palavras, quando podemos dar um nome ao relacionamento, este relacionamento é uma associação. Além disso, quando há uma associação, ao menos uma das classes apresenta um atributo cujo tipo é a outra classe. Agregação Quando identificamos em uma associação o significado de "todo e parte", podemos promover a associação a uma agregação. Isso é representado decorando-se a extremidade da associação que se conecta à classe que representa o todo com um losango não preenchido. 26/09/2018 UNIP - Universidade Paulista : DisciplinaOnline - Sistemas de conteúdo online para Alunos. https://online.unip.br/imprimir/imprimirconteudo 2/7 Composição Quando em uma agregação, além do significado de "todo e parte" também verificamos que: A parte não pode existir se não pertencer a um todo; A parte só pode pertencer a um único todo; Se o todo for destruído, a parte também deve ser. Podemos promover a agregação a uma composição (ou agregação forte). Isso é representado por um losango preenchido do lado do todo a associação. Generalização Usamos a generalização para fazer com que uma classe especialize uma classe geral, herdando seus atributos e métodos. A generalização é representada por uma seta de corpo contínuo e ponta fechada não preenchida que aponta para a classe geral. Realização Quando uma classe implementa os métodos de uma interface, a classe realiza a interface. A realização é representada por uma seta de corpo tracejado e ponta fechada não preenchida que aponta para a interface. 26/09/2018 UNIP - Universidade Paulista : DisciplinaOnline - Sistemas de conteúdo online para Alunos. https://online.unip.br/imprimir/imprimirconteudo 3/7 Realizando Casos de Uso em Classes Já conseguimos formalizar os requisitos funcionais em diagramas de casos de uso e já sambemos como modelar classes em diagramas de classes. Para se construir o segundo diagrama a partir do primeiro podemos prosseguir da seguinte forma: 1. Identifique as responsabilidades de cada caso de uso. Uma responsabilidade costuma ser um passo, uma ação individual na descrição textual do caso de uso; 2. Reconheça responsabilidades semelhantes e dê o mesmo nome a elas; 3. Identifique em qual classe cada responsabilidade deve ser criada 4. Elabore o diagrama de classes de análise. Vamos retomar o exemplo da impressora multifuncional: Para cada caso de uso, vamos listar suas responsabilidades: Imprimir documento 1. Receber o documento do computador 2. Imprimir o documento na impressora Digitalizar documento 1. Digitalizar o documento na digitalizadora 2. Enviar o documento para o computador Copiar documento 1. Digitalizar o documento na digitalizadora 2. Imprimir o documento na impressora Enviar fax 1. Digitalizar o documento na digitalizadora 2. Enviar o documento pelo modem 26/09/2018 UNIP - Universidade Paulista : DisciplinaOnline - Sistemas de conteúdo online para Alunos. https://online.unip.br/imprimir/imprimirconteudo 4/7 Receber fax 1. Receber o documento pelo modem 2. Imprimir o documento na impressora Agora, vamos dar nomes às responsabilidades já respeitando algum padrão de estilo. Neste exemplo, vamos usar o camel case e o estilo de métodos em Java. Além disso, para responsabilidades semelhantes, como "Receber documento do computador" e "Receber documento do modem", vamos dar o mesmo nome "receberDocumento()": Imprimir documento 1. recebeDocumento() 2. imprimeDocumento() Digitalizar documento 1. digitalizaDocumento() 2. enviaDocumento() Copiar documento 1. digitalizaDocumento() 2. imprimeDocumento() Enviar fax 1. digitalizaDocumento() 2. enviaDocumento() Receber fax 1. recebeDocumento() 2. imprimeDocumento() Agora, vamos atribuir cada método à classe que for mais adequada para realiza-lo, lembrando de que as classes devem ser encapsulamentos de um único conceito. Imprimir documento 1. Computador.recebeDocumento() 2. Impressora.imprimeDocumento() Digitalizar documento 1. Digitalizadora.digitalizaDocumento() 2. Computador.enviaDocumento() Copiar documento 1. Digitalizadora.digitalizaDocumento() 2. Impressora.imprimeDocumento() Enviar fax 1. Digitalizadora.digitalizaDocumento() 2. Modem.enviaDocumento() Receber fax 1. Modem.recebeDocumento() 2. Impressora.imprimeDocumento() Agora só precisamos formalizar estas informações em um diagrama de classes de análise: 26/09/2018 UNIP - Universidade Paulista : DisciplinaOnline - Sistemas de conteúdo online para Alunos. https://online.unip.br/imprimir/imprimirconteudo 5/7 Exercício 1: Quantas afirmações abaixo estão incorretas? 1. A etapa de projeto, embora na primeira vez seja feita após a etapa de análise, pode ser desenvolvida paralelamente a esta em fases posteriores. 2. A etapa de projeto verifica se as funcionalidades do sistema atendem aos requisitos desejados pelo usuário. 3. Na etapa de análise nos preocupamos com persistência e segurança de sistemas, por exemplo. 4. As classes de análise devem ser feitas de maneira a poder atender as funcionalidades necessárias ao sistema. 5. Classes de análise contém atributos e métodos. A) Somente a afirmativa 1, 3 e 5. B) Somente a afirmativa 2. C) As afirmativas 1, 2 e 3 D) As afirmativas 2 e 3 E) As afirmativas 3, 4 e 5. Comentários: Essa disciplina não é ED ou você não o fez comentários Exercício 2: MVC é um padrão de arquitetura de software. Nele separamos as camadas de Visualização, Modelo e Controle. Analise as declarações abaixo sobre o MVC: I. O MVC procura fazer a separação das tarefas que envolvem lógica de negócio e persistência de dados. 26/09/2018 UNIP - Universidade Paulista : DisciplinaOnline - Sistemas de conteúdo online para Alunos. https://online.unip.br/imprimir/imprimirconteudo 6/7 II. O MVC procura fazer a separação das tarefas que envolvem direcionamento dos fluxos e lógica de negócio. III. O MVC procura fazer a separação das tarefas que envolvem persistência de dados e direcionamento dos fluxos. IV. Nenuma camada pode gerar alterações nas demais camadas. V. As camadas não devem se comunicar para evitar invasão de responsabilidades entre camadas. A) Apenas as afirmativas I, III e V. B) Apenas as afirmativas III, IV e V. C) Apenas as afirmativas I, II e III. D) Apenas as afirmativas I,III, IV. E) Apenas as afirmativas II, III e V. Comentários: Essa disciplina não é ED ou você não o fez comentários Exercício 3: Diagrama que permite a visualização das classes que comporão o sistema com seus respectivos atributos e métodos, bem como seus relacionamentos. A) Diagrama de Sequência B) Diagrama de Atividades C) Diagrama de Comunicação D) Diagrama de Colaboração E) Diagrama de Classes Comentários: Essa disciplina não é ED ou você não o fez comentários 26/09/2018 UNIP - Universidade Paulista : DisciplinaOnline - Sistemas de conteúdo online para Alunos. https://online.unip.br/imprimir/imprimirconteudo 7/7 Exercício 4: Diagrama que mostra os atributos e métodos de um elemento do sistema e como estes elementos se relacionam. A) Diagrama de Sequência B) Diagrama de Comunicação C) Diagrama de Pacotes D) Diagrama de Classes E) Diagrama de Colaboração Comentários: Essa disciplina não é ED ou você não o fez comentários
Compartilhar