Baixe o app para aproveitar ainda mais
Prévia do material em texto
Prova Impressa GABARITO | Avaliação Final (Objetiva) - Individual (Cod.:746178) Peso da Avaliação 3,00 Prova 51020917 Qtd. de Questões 12 Acertos/Erros 9/3 Nota 9,00 A Programação Orientada a Objetos foi motivada pela necessidade de resolver os problemas da crise do software na década de 1960, porém algumas técnicas desenvolvidas entre 1970 e 1980 não foram suficientes para acabar com os problemas de produtividade e qualidade no desenvolvimento de software da época. Sobre a Programação Orientada a Objetos, analise as sentenças a seguir: I- Encapsulamento é a combinação de atributos e operações de uma classe. II- O polimorfismo permite usar a mesma mensagem para invocar comportamentos diferentes do objeto. III- Objeto é um elemento do mundo real (natureza), sendo a instância de uma classe. Assinale a alternativa CORRETA: A Somente a sentença III está correta. B As sentenças I, II e III estão corretas. C Somente a sentença II está correta. D Somente a sentença I está correta. VOLTAR A+ Alterar modo de visualização 1 Projeto é algo temporário, com sequência de atividades com início, meio e fim. Seu resultado final fornece um produto ou serviço único e progressivo, tangível ou intangível restrito a restrições de tempo e custo. Sobre o Projeto, analise as sentenças a seguir: I- Atividade bem definida com início, meio e fim. II- Projeto pode ser exemplificado pelo desenvolvimento de um sistema de cadastro de clientes, o qual é concluído quando o software é entregue. III- Atividades contínuas e repetitivas. Assinale a alternativa CORRETA: A As sentenças I e II estão corretas. B Somente a sentença II está correta. C Somente a sentença III está correta. D As sentenças II e III estão corretas. O mesmo problema pode ser representado por mais de um modelo diferente, facilitando o entendimento, sendo característica do Archetype Pattern. Existem vários padrões de projeto para a orientação a objetos, sendo que, dependendo do projeto, um padrão pode ser mais adequado que outro. Partindo desse pressuposto, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Convenience Patterns é um padrão que se baseia na redução do número de parâmetros de um método, fazendo com que os métodos sejam especializados. ( ) Decorator empacota estados de objetos dinamicamente, e com isso fornece alternativas flexíveis para estender funcionalidades. ( ) Decoupling é um padrão que define a construção de um sistema em partes individuais, para que possam ser construídas ou alteradas independentemente. 2 3 ( ) Facet permite a inclusão de novas interfaces para as classes existentes do projeto, sem alterá-las. Agora, assinale a alternativa que apresenta a sequência CORRETA: A V - V - F - V. B V - F - V - V. C F - V - V - F. D F - V - V - V. Existem vários padrões que são normalmente utilizados no desenvolvimento de software orientado a objetos, cada um apresentando sua própria vantagem ou facilidade de desenvolvimento. Dentre os padrões de desenvolvimento orientado a objetos, cita-se o Core J2EE Patterns com o DAO (Data Access Object), BO (Business Object) e o DTO (Data Transfer Object). Referente aos padrões DAO, BO e DTO de desenvolvimento de software orientado a objetos, analise as seguintes afirmativas: I- Uma classe do padrão DAO oculta dos clientes os detalhes de implementação das fontes de dados, separando estas classes de persistência em uma camada separada da aplicação. II- Uma classe do padrão DAO aumenta a dificuldade de alteração de uma consulta a uma tabela do banco de dados, por exemplo, embora mantenha as classes separadas. III- Uma classe BO do padrão serve para separar as classes de acesso ao banco de dados das classes de negócio. IV- Uma classe do padrão BO promove a abordagem de orientação a objeto do modelo de negócio, isto é, centraliza as regras de negócio neste tipo de classe. V- Uma classe do padrão DTO serve para encapsular os dados de negócio, ou BO, e enviá-los ou recuperá-los pelas camadas da aplicação. Agora, assinale a alternativa CORRETA: A As afirmativas II, III e V estão corretas. B Somente a afirmativa I está correta. C As afirmativas I, IV e V estão corretas. D As afirmativas I e II estão corretas. O desenvolvimento de projetos de software orientado a objetos são complexos e trabalhosos. No entanto, existem técnicas para facilitar a reusabilidade do código-fonte, diminuindo a quantidade de trabalho para a equipe de projeto desenvolver alguma nova funcionalidade, como a herança e a composição, cujas técnicas de reutilização de código são as mais utilizadas na orientação a objetos. Referente aos meios de reutilização de código fonte da orientação a objetos, assinale a alternativa 4 5 CORRETA: A A delegação possui uma desvantagem em tornar mais difícil compor comportamentos em tempo de execução. B Na delegação, dois objetos receptores são envolvidos para atender a uma solicitação. C A delegação é uma forma de tornar a composição tão poderosa quanto a herança, em que um objeto receptor delega operações para um objeto delegado. D A delegação é uma forma de tornar a composição tão poderosa quanto a herança e, além disso, esta técnica não possui problemas de ineficiências de tempo de execução. No desenvolvimento de software, o padrão de arquitetura MVC pode ser descrito como a divisão da arquitetura de um software em três camadas, sendo que cada uma destas camadas possui suas próprias responsabilidades. Neste sentido, um sistema desenvolvido seguindo este padrão, possui a vantagem de tornar o trabalho de manutenção reduzido significativamente. Na figura anexa, apresenta-se as três camadas do MVC, as quais são fundamentais para a arquitetura de um sistema que utiliza este padrão de arquitetura. A partir das três camadas apresentadas, assinale a alternativa CORRETA: FONTE: Disponível em: . Acesso em: 9 jul. 2018. A Telas de cadastro e classes controladoras pertencem a camada View. B A camada View pode ser exemplificada com classes controladoras de um sistema. C Telas de cadastro de um determinado sistema pertencem a camada Model. D Na camada Controller estão as classes que realizam a intermediação entre as camadas View e Model. Para o desenvolvimento de um software orientado a objetos ter sucesso, é necessário o desenvolvimento da modelagem do sistema através da UML. Os diagramas da UML servem como base para a implementação do código-fonte, e qualquer erro que houver na modelagem, o que pode ocorrer por requisito mal definido, possivelmente afetará o código-fonte do software. Sobre os modelos da UML, analise as afirmativas a seguir: 6 7 I- O diagrama de objeto apresenta uma visão dos valores armazenados em objetos em um determinado momento da execução da aplicação. II- O diagrama de classes apresenta o conjunto de classes da aplicação, assim como seus atributos e métodos. III- O diagrama de classes serve de apoio apenas para o diagrama de objeto, pois este apresenta as classes instanciadas. IV- O diagrama de sequência descreve a ordem temporal em que as mensagens são trocadas entre os objetos. Assinale a alternativa CORRETA: A As afirmativas II, III e IV estão corretas. B As afirmativas I e IV estão corretas. C Somente a afirmativa I está correta. D As afirmativas I, II e IV estão corretas. No desenvolvimento de projetos orientados a objetos, muitos dos padrões de projeto (design patterns) facilitam o trabalho de desenvolvimento, pois em muitos existem soluções prontas para problemas que frequentemente ocorrem. Com a utilização de padrões de projeto, muitos podem ser os benefícios que o projeto pode obter, como código mais legível, limpo e organizado, além da diminuição da complexidade e, em muitos casos, a redução de recursos do projeto por haverem soluções prontas. Sobre a aplicação de padrões de projeto, avalie as asserções a seguir e a relação proposta entre elas: I- O desenvolvimento de software orientado a objetos pode ter redução da complexidade seaplicados padrões de projetos, os quais facilitam a reutilização de soluções, não necessitando reinventar uma nova solução, evitando uso de recursos financeiros e tempo do projeto, além de arquiteturas bem- sucedidas. No entanto, para a correta utilização dos padrões de projeto, e consequente sucesso do projeto, é necessário que o limite da solução esteja definido. PORQUE II- Em um projeto de software orientado a objetos, cujos requisitos não estejam bem definidos, a solução pode se tornar redundante e equivocada. Eventos externos que podem acionar funcionalidades do software atual sendo desenvolvido, precisam ser bem documentados e conhecidos, pois isso permite a separação de objetos internos dos externos. Caso funcionalidades do software não sejam documentadas e projetadas, é possível que soluções utilizadas se tornem inúteis em alguns casos. Assinale a alternativa CORRETA: A As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I. B As asserções I e II são proposições verdadeiras, e a I é uma justificativa correta da II. 8 C A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. D As asserções I e II são proposições falsas. Os padrões de projeto são soluções a problemas que normalmente ocorrem em projetos, os quais foram definidos como soluções bem projetadas para a reutilização. Neste sentido, os padrões de projeto tornam a reutilização de arquiteturas e soluções mais fácil e flexível, além de uma maior facilidade de manutenção, reduzindo a complexidade de projeto. Esta ideia de documentar soluções para problemas rotineiros surgiu através da arquitetura civil, o que foi adaptado para o desenvolvimento de software. Sobre a definição e o uso de padrões de projeto, analise as sentenças a seguir: I- A utilização da orientação a objetos para o desenvolvimento de um software garante sucesso do projeto, pois neste paradigma existe reusabilidade de código-fonte. II- A orientação a objetos sustenta muitos dos padrões de projeto, permitindo a reusabilidade e a extensibilidade. III- No desenvolvimento de software orientado a objetos, muitos problemas que ocorrem podem já ter sido solucionados em projetos anteriores e que não foram documentados. IV- A documentação de uma solução resolvida em um projeto anterior pode reduzir tempo e recursos financeiros de um novo projeto. Está correto o que se afirma em: A II, III e IV, apenas. B II e III, apenas. C II, apenas. D I, II, III e IV. Existem complementos aos padrões de projeto, como o Propagation Patterns, que expressa um grupo de objetos que colaboram para um propósito específico. O Propagation Pattern possui a aplicação no Design Pattern de desenvolvimento de um software orientado a objeto, assim como na utilização de padrões de projeto para guiar o projeto. Referente ao Propagation Pattern, analise as seguintes afirmativas: I- O uso de notações de Adaptative Programming (AP), pode descrever padrões para problemas em programação orientada a objetos. II- O prototype pode ser implementado para descrever objetos de maneira robusta. III- O Builder pode ser implementado para descrever objetos de maneira robusta. IV- AP é geralmente utilizado em padrões de projeto e envolve subgráficos selecionados de grandes gráficos. V- Objetivo do AP é prover abstrações que permitam especificar melhor estes padrões. 9 10 Agora, assinale a alternativa CORRETA: A As afirmativas II, III, IV e V estão corretas. B Somente a afirmativa I está correta. C As afirmativas I, II e III estão corretas. D As afirmativas I, III, IV e V estão corretas. (ENADE, 2014) O gerenciamento de um projeto inclui atividades com o objetivo de garantir que todos os produtos definidos no seu escopo sejam entregues no prazo estimado. Nesse contexto, avalie as afirmações a seguir: I - Técnicas como PERT e CPM são utilizadas para obtenção de estimativas de esforço e como apoio para definição de atividades. II - Séries históricas, quando utilizadas para obter estimativas de esforço no desenvolvimento de um novo sistema, levam à obtenção de estimativas consistentes, independentemente do domínio da aplicação dos sistemas que deram origem às séries históricas. III - No caso de atraso na execução do cronograma, a contratação de novos desenvolvedores assegura que o produto será entregue de acordo com o cronograma inicialmente proposto. Agora, assinale a alternativa CORRETA: A As afirmativas I, II e III estão corretas. B Somente a alternativa I está correta. C As afirmativas II e III estão corretas. D Somente a alternativa II está correta. (ENADE, 2014) Nos anos 70, os sistemas executavam em mainframes com aplicativos escritos em linguagens estruturadas e com todas as funcionalidades em um único módulo, com grande quantidade de linhas de código. Acessos a banco de dados não relacionais, regras de negócios e tratamento de telas para terminais "burros" ficava no mesmo programa. Posteriormente, uma importante mudança ocorreu: a substituição de terminais "burros" por microcomputadores, permitindo que todo o tratamento da interface, e de algumas regras de negócios, passassem a ser feitas nas estações clientes. Surgiram as aplicações cliente-servidor. A partir dos anos 90, até os dias atuais, as mudanças foram mais radicais, os bancos de dados passaram a ser relacionais e o sistemas distribuídos. As linguagens passaram a ser orientadas a objetos, cuja modelagem encapsula métodos e oferece funcionalidades através de métodos. A interface passou a ser web. Vive-se a era das aplicações em três camadas. Considerando a evolução da arquitetura de software de sistemas de informação, conforme citado no texto acima, avalie as seguintes afirmações. 11 12 I- A separação dos sistemas em três camadas lógicas torna os sistemas mais complexos, requerendo pessoal mais especializado. II- A separação dos sistemas em três camadas lógicas torna os sistemas mais flexíveis, permitindo que as partes possam ser alteradas de forma independente. III- A separação dos sistemas em três camadas lógicas aumentou o acoplamento, dificultando a manutenção. É correto o que se afirma em: A I e II, apenas. B III, apenas. C II, apenas. D I e III, apenas. Imprimir
Compartilhar