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/6 Diagrama de Classes de Projeto No módulo anterior utilizamos uma técnica para extrair de um diagrama de casos de uso um diagrama de classes que propõe uma arquitetura para o sistema de controle de uma impressora multifuncional: Entretanto, este diagrama ainda é bastante incompleto e superficial para que possa ser codificado em alguma linguagem de programação. Para se chegar ao diagrama de classes de projeto, podemos aplicar os estereótipos de classes <<entity>>, <<boundary>> e <<control>>, separando as classes em responsabilidades. Por exemplo, as classes acima, todas elas, assumem o estereótipo <<boundary>> porque todas elas são responsáveis por interagir com o meio externo ao sistema, enviando e recebendo documentos, seja em forma eletrônica, seja em forma física. Precisamos identificar classes <<entity>> responsáveis por armazenar dados. Por exemplo, ao fazer a cópia de um documento, sua representação digital deve ser armazenada até que possa ser impressa. Também precisamos de uma classe <<control>>, responsável por organizar as chamadas de métodos entre as diversas classes. Afinal, a ordenação desses métodos é o algoritmo, são as regras de negócio da multifuncional. Classes de fronteira não dever realizar algoritmos. Por fim, é necessária mais uma classe de fronteira para que o usuário possa interagir com o sistema, mais especificamente, com o painel da multifuncional. Tendo essas questões em mente, podemos atualizar o diagrama de classes de análise acima no seguinte diagrama de classes de projeto: 26/09/2018 UNIP - Universidade Paulista : DisciplinaOnline - Sistemas de conteúdo online para Alunos. https://online.unip.br/imprimir/imprimirconteudo 2/6 Iniciamos com a formalização das classes Impressora, Digitalizadora, Computador e Modem que aparecem mais à esquerda. Um diagrama de classes de projeto deve especificar os tipos de atributos, de parâmetros e retornos de métodos. Quando a comunicação é feita com o computador, os dados do documento são trocados como dados binários brutos (vetores de byte). Internamente, o documento é armazenado como uma instância da classe Documento. A classe Multifuncional é a classe de controle do sistema. É ela que implementa as regras de negócio em seus métodos. A classe Painel oferece métodos com os quais o usuário pode interagir. Por fim, os atributos das classes servem para que cada classe tenha uma referência às classes das quais precisa chamar métodos (enviar mensagens). Diagrama de Pacotes Mostra a organização dos elementos de um modelo em pacotes e suas interdependências. É útil para modelar: • Subsistemas; • Subdivisões de arquitetura; • Módulos de um sistema; • Integração de sistemas. Pacotes São utilizados para agrupar e nomear elementos. Dependência Informa que um elemento do pacote depende de outro pacote Pacotes podem conter outros pacotes. Exemplos: 26/09/2018 UNIP - Universidade Paulista : DisciplinaOnline - Sistemas de conteúdo online para Alunos. https://online.unip.br/imprimir/imprimirconteudo 3/6 Os diagramas de pacote podem ser usados para mostrar dependência entre sistemas e subsistemas, independentemente da plataforma em que eles são desenvolvidos. Exercício 1: Os modelos de análise e projeto são modelos que focam em visões diferentes no desenvolvimento do sistema. Escolha a opção correta. A) Tanto o modelo de análise quanto o modelo de Projeto utilizam os mesmos diagramas da UML, sem necessidade de posterior detalhamento. B) O modelo de análise analisa a correta solução para o software, sendo então o domínio da solução analisada. C) O modelo de projeto projeta o correto problema apresentado pelo software, sendo então o domínio do problema. D) A análise verifica o problema enquanto o projeto verifica a solução. E) 26/09/2018 UNIP - Universidade Paulista : DisciplinaOnline - Sistemas de conteúdo online para Alunos. https://online.unip.br/imprimir/imprimirconteudo 4/6 É recomendável, sempre que possível, passarmos direto para o Projeto, dispensando a análise, para ganharmos tempo no desenvolvimento do software. Comentários: Essa disciplina não é ED ou você não o fez comentários Exercício 2: Quantas afirmações abaixo estão corretas? 1. A etapa de projeto é complementar à etapa de análise; na última nos preocupamos com o problema e na primeira com a solução computacional; 2. O objetivo da etapa de projeto é selecionar as alternativas que constituirão a solução computacional; 3. No projeto nos preocupamos em como será implementada a interface com o usuário, a persistência e a segurança, por exemplo; 4. As classes de projeto são refinamentos das classes de análise; 5. Classes de análise podem ser adicionadas, alteradas ou excluídas no projeto. A) 1 (uma) afirmação correta. B) 2 (duas) afirmações corretas. C) 3 (três) afirmações corretas. D) 4 (quatro) afirmações corretas. E) 5 (cinco) afirmações corretas. Comentários: Essa disciplina não é ED ou você não o fez comentários Exercício 3: MVC é um padrão de arquitetura de software. Com a complexidade crescente das aplicações é altamente recomendável a separação entre dados (Model) e apresentação (View). Qual declaração sobre MVC é incorreta? Escolha uma. A) O MVC separa as tarefas de acesso de dados e lógica de negócio. B) A camada de negócios é o Control e a camada de apresentação é a View. C) 26/09/2018 UNIP - Universidade Paulista : DisciplinaOnline - Sistemas de conteúdo online para Alunos. https://online.unip.br/imprimir/imprimirconteudo 5/6 MVC significa, basicamente, a mesma coisa que arquitetura em camadas. D) O controlador (controller) responde a eventos e pode gerar alterações no Model (modelo). E) O modelo (Model) não toma conhecimento direto da apresentação (View). Comentários: Essa disciplina não é ED ou você não o fez comentários Exercício 4: Escolha a opção correta. A) O diagrama de pacotes pode ser usado para modelar o relacionamento entre dois ou mais subsistemas. B) O diagrama de pacotes não é adequado para representar um sistema que faz uso de um subsistema desenvolvido em outra parte da organização. C) O diagrama de pacotes permite mostrar como os componentes de um sistema se comunicam. D) O diagrama de pacotes é inadequado para mostrar a dependência entre sistemas ou subsistemas feitos em diferentes plataformas E) O diagrama de pacotes mostra como as classes dos subsistemas estão relacionadas e o grau de acoplamento das mesmas. Comentários: Essa disciplina não é ED ou você não o fez comentários Exercício 5: Escolha a opção correta. A) O diagrama de pacotes serve para modelar o comportamento dos subsistemas. B) O diagrama de pacotes é adequado para representar se um sistema faz uso de um subsistema desenvolvido em outra parte da organização. 26/09/2018 UNIP - Universidade Paulista : DisciplinaOnline - Sistemas de conteúdo online para Alunos. https://online.unip.br/imprimir/imprimirconteudo 6/6 C) O diagrama de pacotes permite mostrar a dependência entre componentes do sistema. D) O diagrama de pacotes é inadequado para mostrar a dependência entre sistemas ou subsistemas feitos em linguagens diferentes (um em Java e o outro em .net, por exemplo). E) O diagrama de pacotes mostra como as funcionalidades dos subsistemas estão relacionadas e o grau de acoplamento dos casos de uso. Comentários: Essa disciplina não é ED ou você não o fez comentários Exercício 6: O diagrama de pacotes é um dos diagramas mais simples da UML.Escolha o que é correto em relação a este diagrama. A) Ele é usado para mostrar as funcionalidades de um sistema. B) Ele mostra a interação entre as classes de um sistema, junto com seus métodos e atributos C) Ele mostra a sequência de passos que uma atividade precisa fazer para executar uma funcionalidade. D) Ele mostra a interação entre sistemas e subsistemas. E) Ele mostra se uma determinada classe está sobrecarregada de responsabilidades. Comentários: Essa disciplina não é ED ou você não o fez comentários
Compartilhar