Prévia do material em texto
Disciplina: Projeto Orientado a Objetos (ADS20) Avaliação: Avaliação Final (Objetiva) - Individual Semipresencial ( Cod.:432009) ( peso.:3,00) Prova: 7624095 Nota da Prova: 9,00 Legenda: Resposta Certa Sua Resposta Errada 1. Um conceito importante para ser analisado é a diferença entre a classe de um objeto e seu tipo. A classe de um objeto define o estado interno e as operações do objeto, e o tipo de um objeto refere-se à interface do objeto, isto é, o conjunto de solicitações que o objeto pode responder. Neste contexto, assinale a alternativa CORRETA: a) Uma classe define apenas o tipo do objeto instanciado. b) Uma classe define o tipo e a implementação desse tipo de objeto. c) Uma classe define apenas as operações que um objeto pode executar. d) Uma classe de um objeto e seu tipo não possuem uma relação próxima, sendo que a classe define as operações, e o tipo do objeto a interface. 2. Métricas de software auxiliam a equipe de gestão de projetos a mensurar custos e prazos, porém existem vários tipos de métricas que surgiram para este fim, cada uma com seu método de mensuração. Assinale a alternativa CORRETA que descreve a métrica de software chamada COCOMO: a) É uma técnica de mensuração de custos e prazos que utiliza como unidade de medida o cálculo do número de linhas de código-fonte do programa que será entregue ao cliente. b) É uma das técnicas de mensuração de custos e prazos mais utilizadas na gestão de projetos e sua unidade de medida são os dados e as transações que o sistema realiza. c) É uma métrica de mensuração de custos e prazos que se baseia nos operadores lógicos e operandos (variáveis e constantes) utilizados no código-fonte. d) É uma métrica de mensuração de custos e prazos que se baseia na representação de programas por grafos dirigidos, sendo o fluxo de controle. 3. 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 CORRETA: a) Na delegação, dois objetos receptores são envolvidos para atender a uma solicitação. b) 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. 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 possui uma desvantagem em tornar mais difícil compor comportamentos em tempo de execução. 4. A definição de indicadores para a medição é importante para avaliar a qualidade e a produtividade do trabalho de desenvolvimento de um software. Além disso, deve-se adotar uma métrica que se encaixe no projeto, e não ajustar o projeto para que suporte a métrica a ser utilizada. As métricas devem ser bem documentadas, assim como facilmente calculadas, entendidas, testadas, para obter-se um resultado estatístico. Referente à métrica de software, assinale a alternativa CORRETA: a) Uma boa prática é utilizar as métricas de software para encontrar as pessoas que atrasam o projeto, através da análise de sua produtividade. b) No GQM são descritos a identificação dos interessados da medição, os objetivos organizacionais, assim como as tarefas que serão medidas. c) As métricas devem ser restritas ao setor de TI das empresas. d) Quando finalizada uma medição, o processo está concluído, e não se repete. 5. A UML (Unified Modeling Language) pode ser compreendida como uma linguagem de modelagem, considerada como padrão internacional, que permite representar um software, por meio da visualização, especificação, construção e documentação de requisitos para o projeto de um software. A UML é utilizada pelo Processo Unificado, e é considerada um modelo de processo para o desenvolvimento de software orientado a objetos. Assinale a alternativa CORRETA que melhor define o Processo Unificado: a) O Projeto Orientado a Objetos é uma forma de desenvolvimento de software que visa pensar em abstrações do mundo real, em que os envolvidos no projeto focam em coisas ao invés de suas funções. b) O documento de requisitos funcionais e não funcionais pode necessitar de várias entrevistas para que possa ser desenvolvido, sendo que este documento é importante para garantir um software com vida útil longa. c) Cada fase do desenvolvimento é dividida em iterações (fases) e toda a construção do sistema é baseada nos casos de uso, que atendem os requisitos funcionais esperados pelo usuário. d) A prototipação do software é amplamente utilizada neste processo, sendo que após o levantamento de requisitos, e após algumas entrevistas, o engenheiro de software desenvolve este documento para o usuário melhor entender como o sistema funcionará. 6. Uma das técnicas disponibilizadas em projetos orientados a objetos é a herança, que permite a definição de novas classes a partir de outras que já existem, sendo que as subclasses herdam todos os atributos e operações da superclasse. A classe de um objeto define como ele é implementado e o tipo de um objeto refere-se a sua interface. A respeito da herança, analise as afirmativas a seguir: I- Herança de classe pode ser definida como a implementação de um objeto a partir da implementação de outro objeto, ou seja, herança de implementação. II- Herança de interface define quando um objeto pode ser utilizado em vez de outro. III- Todas as linguagens de programação fazem distinção entre a herança de classe e a herança de interface. IV- Herança de classe se assemelha com a herança privada. V- Não existem padrões de projeto que utilizam a herança de classes para o desenvolvimento. Assinale a alternativa CORRETA: a) As afirmativas II e III estão corretas. b) As afirmativas I, II e IV estão corretas. c) As afirmativas I e III estão corretas. d) Somente a afirmativa IV está correta. 7. Um projeto possui um determinado objetivo a ser atingido e três principais características: tempo, recursos e trata do desenvolvimento de algo novo. Operação de uma organização pode ser entendida como um trabalho contínuo, que segue padrões organizacionais para sua execução. Com relação à operação, assinale a alternativa CORRETA: a) Operação possui início e fim definidos, ou seja, é uma tarefa temporária. b) Operação pode ser exemplificada pela manutenção de um software, que foi planejado e desenvolvido no prazo definido por um cronograma. c) Operação pode ser exemplificada pela produção de um produto por uma indústria, que pode ter sido desenvolvida a partir de um projeto para sua origem. d) Operação resulta em um produto único. 8. Na engenharia de software e na engenharia de qualquer outra área utilizam-se padrões. Na engenharia de software, os padrões apoiam os projetistas a desenvolver a especificação da arquitetura de software. A utilização de um padrão no desenvolvimento de software auxilia na transmissão de conhecimento sobre a solução adotada aos envolvidos no projeto. Sobre padrões de projeto, analise as afirmativas a seguir: I- A utilização de orientação a objetos permite a reusabilidade de código-fonte e garante o sucesso de um projeto. II- A falta de documentação em projetos anteriores acarreta no retrabalho da busca de soluções de determinados problemas que já foram resolvidos. III- Equipes de desenvolvimento experientes utilizam-se da repetição de soluções testadas em projetos anteriores, que são os padrões de projetos. IV- Os padrõesde projeto garantem a reutilização de código-fonte e as soluções de projeto. V- Os padrões podem ser objetos gerados a partir de um problema de negócio de um cliente. Agora, assinale a alternativa CORRETA: a) As afirmativas I e II estão corretas. b) As afirmativas II, III e IV estão corretas. c) Somente a afirmativa IV está correta. d) As afirmativas I e III estão corretas. 9. Mesmo com a utilização de uma modelagem correta em um projeto, um software pode sofrer manutenções, oriundas, muitas vezes, de necessidades de empresas que podem ser dinâmicas. Os custos de manutenção de um software podem ser altos, chegando a representar cerca de 50% do custo de um projeto, dependendo do sistema. Referente à manutenção de um software, analise as seguintes afirmativas: I- Manutenção realizada em um software não deve ter a modelagem e sua documentação atualizada, pois as alterações não fazem parte do escopo do projeto. II- Modelagem pode evitar que após a manutenção de alguma funcionalidade de um sistema, alguma outra parte do sistema seja afetada, ocasionando erros. III- Modelagem de software não serve apenas para evitar futuras manutenções, mas também para melhorar o entendimento do sistema para outras pessoas que possam realizar manutenções nele. IV- Manutenção de um software pode ser oriunda de mudanças de leis, alíquotas, impostos, taxas e notas fiscais eletrônicas. V- Manutenção de um software é considerado mais fácil para a equipe de desenvolvimento quando o software é legado e não existe modelagem desenvolvida. Agora, assinale a alternativa CORRETA: a) As afirmativas I e III estão corretas. b) As afirmativas III, IV e V estão corretas. c) Somente a afirmativa III está correta. d) As afirmativas II, III e IV estão corretas. 10. As métricas de projeto são voltadas para a atividade de projeto de software, que servem para comparar planos de medições de outros projetos e assim melhorar os projetos futuros. A profundidade de árvore de herança (DIT) é um tipo de métrica de projeto e é medida pelo número de classes ancestrais de uma herança. Analise as afirmativas a seguir: I- DIT menor que 2 para a maioria dos ramos da árvore significa que a exploração das vantagens da orientação a objetos é alta. II- DIT muito profunda, ou maior que 5, significa que existe complexidade do projeto. III- DIT maior que 5 significa que o projeto precisa ser reavaliado, pois não houve utilização adequada de orientação a objetos. IV- DIT igual a zero significa um alto grau de reutilização do código-fonte. Agora, assinale a alternativa CORRETA: a) As afirmativas I, II e IV estão corretas. b) Somente a afirmativa IV está correta. c) As afirmativas I, II e III estão corretas. d) As afirmativas II e III estão corretas. 11. (ENADE, 2011) O paradigma de programação orientado a objetos tem sido largamente utilizado no desenvolvimento de sistemas. Considerando o conceito de herança, avalie as afirmações abaixo. I. Herança é uma propriedade que facilita a implementação de reúso. II. Quando uma subclasse é criada, essa herda todas as características da superclasse, não podendo possuir propriedades e métodos próprios. III. Herança múltipla é uma propriedade na qual uma superclasse possui diversas subclasses. IV. Extensão é uma das formas de se implementar herança. É correto apenas o que se afirma em a) III. b) I e IV. c) II e III. d) I. 12. (ENADE, 2011) A programação orientada a objeto não é apenas uma forma de programar, é também um jeito de pensar em um problema utilizando conceitos do mundo real e não somente conceitos computacionais. Considerando os conceitos da programação orientada a objetos, analise as afirmações abaixo. I. O objeto tem determinadas propriedades que o caracterizam e que são armazenadas no próprio objeto. As propriedades de um objeto são chamadas de instâncias. II. As mensagens são informações enviadas ao objeto para que ele se comporte de uma determinada maneira. Um programa orientado a objetos em execução consiste em envios, interpretações e respostas às mensagens. São os métodos, os procedimentos residentes nos objetos, que determinam como eles atuarão ao receber as mensagens. III. A herança é um mecanismo para o compartilhamento de métodos e atributos entre classes e subclasses, permitindo a criação de novas classes através da programação das diferenças entre a nova classe e a classe-pai. IV. O encapsulamento é um mecanismo que permite o acesso aos dados de um objeto somente através dos métodos desse. Nenhuma outra parte do programa pode operar sobre os dados do objeto. A comunicação entre os objetos é feita apenas através de troca de mensagens. É correto apenas o que afirma em a) I e III. b) III e IV. c) I, II e IV. d) II, III e IV.