CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008/1 – 4º PERÍODO – 7º MÓDULO AVALIAÇÃO A3 – DATA 15/10/2009 ENGENHARIA DE SOFTWARE 2009/2 GABARITO COMENTADO QUESTÃO 1: Analise as afirmações a seguir sobre a UML (Unified Modeling Language) e classifique-as como verdadeiras ou falsas. I – em 1996, Ivar Jacobson, Grady Booch e Jim Rumbaugh realizaram a unificação das melhores ideias, no que foi denominado inicialmente de Método Unificado e após passou a se chamar UML. II – É uma linguagem composta de 13 diagramas, além do detalhamento de casos de uso, e está em sua versão 2.0. III – é uma ferramenta que auxilia na modelagem de sistemas, sejam eles simples ou complexos, tendo como finalidade padronizar a construção de projetos de sistemas e considera desde aspectos conceituais até a reutilização de componentes de software. IV – Os diagramas UML estão divididos em duas categorias: os estruturais e os comportamentais. Logo, a sequência que classifica as afirmações é: A. Incorreta – Justificativa: A alternativa está incorreta pois todas as afirmações apresentadas são verdadeiras. B. Incorreta – Justificativa: A alternativa está incorreta pois todas as afirmações apresentadas são verdadeiras. C. Incorreta – Justificativa: A alternativa está incorreta pois todas as afirmações apresentadas são verdadeiras. D. Incorreta – Justificativa: A alternativa está incorreta pois todas as afirmações apresentadas são verdadeiras. E. Correta – Justificativa: Todas as afirmações apresentadas são verdadeiras conforme apresentado nas tele aulas e na apostila nas páginas 11 e 12. QUESTÃO 2: Considere o diagrama de casos de uso a seguir: Fazem parte do diagrama apresentado os elementos: A. Correta – Justificativa: Conforme apresentado no diagrama foram utilizados os elementos atores denominados Atendente e Gerente Banco com o relacionamento de generalização entre eles, bem como os casos de uso em si, elementos estes que foram considerados no capítulo 2 da apostila. B. Incorreta – Justificativa: A alternativa está incorreta pois não constam no diagrama os elementos estados e o relacionamento por dependência. C. Incorreta – Justificativa: A alternativa está incorreta já que o relacionamento de inclusão não foi utilizado. D. Incorreta – Justificativa: Alternativa está incorreta devido a não ter sido utilizado no diagrama apresentado o relacionamento de dependência. E. Incorreta – Justificativa: A alternativa está incorreta já que o relacionamento de inclusão não foi utilizado. QUESTÃO 3: Considere o diagrama de Atividades a seguir: Fazem parte da definição do diagrama apresentado os elementos: A. Incorreta – Justificativa: A alternativa está incorreta já que os elementos ponto de decisão e merge não foram utilizados. B. Correta – Justificativa: Como observado no diagrama de atividade, os elementos que fazem parte da figura são as partições Atendente e Gerente, bem como as ações Cadastrar Conta Corrente e Liberar Limite Especial, além das transições, elementos que foram trabalhados na 3ª. tele aula e estão presentes no capítulo 3. C. Incorreta – Justificativa: A alternativa está incorreta já que o elemento fork não foi utilizado. D. Incorreta – Justificativa: A alternativa está incorreta já que o elemento join não foi utilizado. E. Incorreta – Justificativa: A alternativa está incorreta já que o elemento de ponto de decisão não foi utilizado. QUESTÃO 4: Sobre os diagramas e projeto de classes leia e considere as assertivas a seguir: I – Uma classe é um modelo formado por propriedades ou características e operações ou funcionalidades, que definem ou descrevem o comportamento básico do mesmo. II – Os diagramas de classe são importantes artefatos de um projeto de software pois, além de estarem presentes durante todo o ciclo de vida do projeto, são responsáveis por expressar a estrutura dinâmica do sistema. III – Os diagramas de classes podem ser trabalhados de duas maneiras, representando aspectos do sistema de formas diferentes, sendo classificados como diagramas de domínio e de projeto. É possível afirma que: A. Incorreta – Justificativa: A alternativa está incorreta pois além da assertiva I a III também está correta. B. Incorreta – Justificativa: A alternativa também está incorreta já que a assertiva II não é verdadeira. C. Incorreta – Justificativa: A terceira alternativa está incorreta pois a II assertiva é incorreta. D. Correta – Justificativa: A primeira e terceira assertiva estão corretas conforme pode ser observado nas páginas 36 e 37. A segunda assertiva está incorreta pois os diagramas de classes apesar de estarem presentes durante todo o ciclo de vida de um projeto, eles expressam as características estruturais do sistema. E. Incorreta – Justificativa: A terceira alternativa está incorreta pois a II assertiva é incorreta. QUESTÃO 5: Considere o diagrama de classes a seguir: Fazem parte da definição do diagrama de classes apresentado os elementos: A. Incorreta – Justificativa: Não foi utilizado o relacionamento de associação recursiva. B. Correta – Justificativa: Além dos elementos citados ainda foi utilizado o relacionamento de agregação por referência. C. Incorreta – Justificativa: Não foram utilizados os elementos classes abstratas nem tão pouco o relacionamento de associação. D. Incorreta – Justificativa: Não foram utilizados os relacionamentos de associação e agregação por composição. E. Incorreta – Justificativa: Não foi utilizado o relacionamento de dependência. QUESTÃO 6: Os diagramas de interação são importantes ferramentas dentro de um projeto de desenvolvimento de software. Logo, sobre os diagramas de interação pode se afirmar que: A. Incorreta – Justificativa: Os diagramas de interação trabalham com a parte dinâmica do sistema, logo são considerados diagramas comportamentais. B. Incorreta – Justificativa: O elemento de linha do tempo é um elemento somente presente nos diagramas de sequência, logo o processo de troca de mensagens está baseado na utilização de métodos de uma classe. C. Correta – Justificativa: Conforme apresentado na página 60 e na tele aula os diagramas de interação na realidade não existem sendo a combinação de dois diagramas no caso os de sequência e os de colaboração. D. Incorreta – Justificativa: Assim como mencionado o diagrama de interação é considerado um tipo comportamental, logo não são semelhantes aos diagramas estruturais e estes não tem a capacidade de expressar aspectos temporais existentes nos diagramas de sequência e colaboração. E. Incorreta – Justificativa: A alternativa está incorreta já que o diagrama não é responsável por lidar com a identificação de atividades e muito menos descrevê-las. QUESTÃO 7: Considere o diagrama de sequência a seguir: Fazem parte da definição do diagrama os elementos: A. Incorreta – Justificativa: Não foi utilizado o elemento que representa as mensagens recursivas. B. Incorreta – Justificativa: não foi utilizado o elemento que representa uma classe dentro do diagrama. C. Incorreta – Justificativa: Não foi utilizada a notação para as mensagens assíncronas. D. Correta – Justificativa: Conforme apresentado em tele aula e na apostila nas páginas 60 à 64 foram utilizados objetos, a linha da vida que define o período de existência do objeto e as mensagens que consistem em métodos de uma classe. E. Incorreta – Justificativa: Não foi utilizado o conceito de mensagens perdidas conforme citado em tele aula. QUESTÃO 8: Dentro os vários diagramas da UML apresentados os diagramas de estados estão diretamente ligados a aspectos de implementação. Assim, analise as assertivas a seguir sobre os diagramas de estados. I – São utilizados para demonstrar os possíveis estados que objetos de uma classe podem assumir no decorrer de seu ciclo de vida, por meio de seus atributos. II – É útil para modelar classes, descrevendo o processo de interação entre instâncias de uma determinada classe, descrevendo como os métodos irão interagir. III – Esse diagrama também é conhecido como uma máquina de estado, pois utiliza diversos elementos dos diagramas de atividade. IV – Foram criados antes do nascimento da UML, em 1987, mas devido à sua utilidade, eles foram incorporados à especificação em 1991. Apenas são verdadeiras as assertivas: A. Incorreta – Justificativa: A alternativa está incorreta pois a assertiva II está incorreta. B. Incorreta – Justificativa: A alternativa está incorreta já que as assertivas I e II estão incorretas. C. Incorreta – Justificativa: A alternativa está incorreta pois a assertiva III está incorreta. D. Incorreta – Justificativa: A alternativa está incorreta pois a assertiva II está incorreta. E. Correta – Justificativa: As assertivas I e IV estão corretas. As assertivas II e III estão incorretas pois eles não auxiliam na modelagem de classes, sendo que nem trabalham com tais elementos, mas sim com instâncias destes e seus atributos, bem como não é conhecido como o diagrama de atividade, apesar de utilizar alguns elementos em comum. QUESTÃO 9: Sobre a engenharia de reversa de software podemos afirmar que: A. incorreta – Justificativa: A definição apresentada se refere as Ferramentas CASE. B. Incorreta – Justificativa: Definição para a reengenharia de software que além de entender o processo também propõem a modificação do sistema. C. Correta – Justificativa: Conforme apresentado na tele aula e na apostila na página 84 o processo de engenharia reversa teve suas origens na parte tecnológica na aplicação sobre hardware. D. Incorreta – Justificativa: O processo na verdade é o contrário, com a engenharia reversa sendo uma parte da reengenharia de software como visto em tele aula. E. Incorreta – Justificativa: Ciclo de trabalho apresentado para a reengenharia e não para a engenharia reversa que pode ser observado na página 88. QUESTÃO 10: Reengenharia de software pode ser definida como sendo a soma de partes importantes da engenharia de software, sendo: A. Correta – Justificativa: A alternativa está correta pois como visto em tele aula e na apostila na página 87 a reengenharia e composta da engenharia reversa mais a engenharia progressiva. B. Incorreta – Justificativa: A alternativa está incorreta pois a definição apresentada consiste na engenharia reversa baseada em ferramentas CASE. C. incorreta – Justificativa: Está incorreta pois o trecho citado faz referência as Ferramentas CASE. D. Incorreta – Justificativa: A alternativa está incorreta pois a definição apresentada consiste na engenharia reversa. E. Incorreta – Justificativa: A alternativa está incorreta pois define as fases para a engenharia progressiva como pode ser observado na tele aula 7 e na apostila nas páginas 83 e 84.