Baixe o app para aproveitar ainda mais
Prévia do material em texto
Acadêmico: Rubens Zambolin dos Santos (2460900) Disciplina: Engenharia e Projeto de Software (ADS19) Avaliação: Avaliação Final (Objetiva) - Individual FLEX ( Cod.:514974) ( peso.:3,00) Prova: 21299451 Nota da Prova: 10,00 Legenda: Resposta Certa Sua Resposta Errada 1. No desenvolvimento de qualquer produto/processo, uma das fases muito importantes são os testes. Nela, muitas vezes, é possível descobrir falhas e/ou problemas que, na fase de produção, poderiam atrapalhar muito. Por essa razão, a realização de testes, ao longo de todo o processo, é muito importante. Sobre a área de testes de software, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Os testes de software constituem uma etapa vital no desenvolvimento de software. O teste é parte fundamental no ciclo de vida de um software. Seus princípios devem servir como um guia geral, tanto para testadores quanto para desenvolvedores. Afinal, ambos participam efetivamente do processo de amadurecimento do sistema. ( ) Testes servem para assegurar que o software está contemplando todas as funcionalidades esperadas e que estas funcionalidades estão funcionando corretamente. Testes devem ser executados somente no final do processo de desenvolvimento. ( ) Se existem problemas no software, é melhor e mais rápido o cliente encontrá-lo do que a equipe de testes. ( ) O teste de software constitui-se em uma etapa importante no ciclo de desenvolvimento de software. Uma das características mais importantes de um conjunto de testes de software, adequadamente planejados, é ter alta probabilidade de detectar erros no programa sob teste. Agora, assinale a alternativa que apresenta a sequência CORRETA: a) V - V - F - F. b) V - F - F - V. c) F - F - V - V. d) F - V - F - V. 2. Processos de software podem ser compreendidos como as diversas fases necessárias para produzir e manter um software em funcionamento. Tais processos necessitam de organização lógica das atividades técnicas e gerenciais envolvendo usuários, desenvolvedores, modelos de processo e restrições que possibilitam disciplinar, sistematizar e organizar o desenvolvimento e manutenção dos softwares. Acerca dos processos de software, classifique V para as sentenças verdadeiras e F para as falsas: ( ) A validação de software consiste em assegurar que o software está em conformidade com os requisitos previstos. ( ) As atividades de processo de software podem ser implementadas com o auxílio de ferramentas CASE. ( ) A fase de Engenharia de Requisitos é o processo pelo qual os requisitos de um produto de software são coletados, analisados, documentados e gerenciados, necessitando ser compreendido somente pela equipe de desenvolvimento. ( ) No desenvolvimento de sistemas por meio de ciclo de vida iterativo, as necessidades dos usuários e os requisitos correspondentes não podem ser definidos no início do processo, já que são refinados em sucessivas iterações. ( ) O processo de software tem como meta entregar um produto de software de maneira eficiente, previsível e que corresponda às necessidades de negócio, conforme os requisitos estabelecidos. Assinale a alternativa que apresenta a sequência CORRETA: a) F - V - V - F - F. b) V - F - V - F - V. c) F - F - F - V - F. d) V - V - F - V - V. 3. Os modelos de processo de ciclo de vida durante o desenvolvimento do software podem ser, por exemplo, linear, incremental ou iterativo, logo, compreendê-los poderá auxiliar na adoção de um dos modelos mais adequados à realidade e necessidade da organização. Referente aos modelos mais conhecidos, classifique V para as sentenças verdadeiras e F para as falsas: ( ) O modelo incremental é um modelo de desenvolvimento de software que combina elementos do modelo em cascata com a filosofia da prototipação, em que são definidos incrementos na qual o software será desenvolvido, bem como da entrega para o cliente. ( ) O modelo baseado em componentes permite agrupar rotinas relacionadas de forma a montar componentes que possam ser reutilizados em diversos módulos do sistema. ( ) A prototipação fornece o potencial para o desenvolvimento rápido de versões incrementais do software e desenvolve uma visão da sua interface e depois reaproveita as telas para configurar e programar o restante do produto de software. ( ) O modelo espiral é dividido em fase de obtenção de requisitos, projeto rápido, construção do protótipo, avaliação o protótipo e refinamento do protótipo. Assinale a alternativa que apresenta a sequência CORRETA: a) V - V - V - F. b) V - F - F - V. c) F - F - V - F. d) F - V - V - F. 4. Friedrich Ludwig Bauer, em 1969, foi o teórico que originou o termo Engenharia de Software, lembrando que o próprio significado de engenharia já traz os conceitos de criação, construção, análise, desenvolvimento e manutenção. Sendo assim, engenharia de software, para o teórico, é a criação e a utilização de sólidos princípios de engenharia, a fim de obter software de maneira econômica, que seja confiável e que trabalhe em máquinas reais. A engenharia de software está fortemente relacionada ao software na medida que ela nos capacita para o desenvolvimento de sistemas complexos dentro do prazo e com alta qualidade. Observe a figura a seguir, que apresenta as camadas da engenharia de software. Em seguida, associe os itens, utilizando o código a seguir: I- Item qualidade. II- Item processos. III- Item método. IV- Item ferramentas. ( ) Tem como finalidade promover uma cultura de aperfeiçoamento contínuo de processos. ( ) Tem como finalidade manter as camadas de tecnologia coesas e também é quem possibilita o desenvolvimento de software de forma racional e dentro do prazo. ( ) Envolve diversas tarefas, como comunicação, análise de requisitos, modelagem de projeto, construção de software, testes e suporte. ( ) É responsável por fornecer suporte automatizado ou semiautomatizado para o processo e os métodos. FONTE DA IMAGEM: Disponível em: <http://www.devmedia.com.br/principios-da-engenharia- de-software/29630>. Acesso em: 3 ago. 2016. Agora, assinale a alternativa que apresenta a sequência CORRETA: a) III - IV - II - I. b) I - II - III - IV. c) II - I - IV - III. d) I - III - II - IV. 5. O conceito de teste de software pode ser compreendido através de uma visão intuitiva ou mesmo de uma maneira formal. Testar um software significa verificar através de uma execução controlada se o seu comportamento corre de acordo com o especificado. Sobre os cinco passos de execução da metodologia ágil FDD (Feature Driven Development), que é o Desenvolvimento Guiado por Funcionalidades, assinale a alternativa CORRETA: a) O primeiro processo trata-se da modelagem do problema com o entendimento do domínio do negócio. A segunda parte é a construção por funcionalidade, em que cada estrutura de código é preenchida e testada. O terceiro processo é construir uma lista de funcionalidades. A quarta trata-se do detalhamento por funcionalidade. A quinta parte é planejar por funcionalidade, considerando sua estimativa e valor para o negócio e o cliente, bem como a propriedade. b) O primeiro processo trata-se da modelagem do problema com o entendimento do domínio do negócio. O segundo processo é construir uma lista de funcionalidades. A terceira é a construção por funcionalidade, em que cada estrutura de código é preenchida e testada. O quarta parte é planejar por funcionalidade, considerando sua estimativa e valor para o negócio e o cliente, bem como a propriedade. A quinta parte trata-se do detalhamento por funcionalidade. c) O primeiro processo trata-se da modelagem do problema com o entendimento do domínio do negócio. O segundo processo é construir uma lista de funcionalidades. O terceira parte é planejar por funcionalidade, considerando sua estimativa e valor para o negócio e o cliente, bem como a propriedade. A quarta trata-se do detalhamento por funcionalidade. A quinta é a construção por funcionalidade, em que cada estrutura de código é preenchidae testada. O resultado é um incremento, que acoplado ao programa principal já poderá ser utilizado pelo cliente. d) A primeira parte é planejar por funcionalidade, considerando sua estimativa e o valor para o negócio e o cliente, bem como a propriedade. A segunda trata-se do detalhamento por funcionalidade. O terceiro processo trata-se da modelagem do problema com o entendimento do domínio do negócio. O quarto processo é construir uma lista de funcionalidades. A quinta parte é a construção por funcionalidade, em que cada estrutura de código é preenchida e testada. 6. Mudanças durante o desenvolvimento são inevitáveis. O entendimento dos usuários sobre suas necessidades muda, o ambiente no qual o sistema vai operar muda, a legislação muda, os requisitos mudam. Com tantas mudanças assim, é necessária alguma forma de gerenciamento para que o desenvolvimento não fique caótico. Gerência de Configuração de Software (GCS) é um conjunto de atividades de apoio que permite a absorção controlada das mudanças inerentes ao desenvolvimento de software, mantendo a estabilidade na evolução do projeto. Sobre as três partes da GCS sob a perspectiva de desenvolvimento, analise as sentenças a seguir: I- Controle de versão: responsável por salvar os artefatos alterados em uma nova versão num repositório, guardando um histórico das suas mudanças. II- Controle de mudanças: responsável por rastrear os artefatos, guardando seu histórico, as mudanças e testando sua consistência. III- Integração contínua: responsável por manter um ambiente que junta a última versão de todos os artefatos alterados, validando sua consistência. IV- Controle de mudanças: responsável por documentar as alterações realizadas nos artefatos do sistema, contendo o controle de tarefas, sabendo identificar o que mudou, por que mudou, quem mudou etc. V- Controle de versão: responsável por integrar os artefatos, documentando as alterações de cada versão do sistema. Agora, assinale a alternativa CORRETA: a) As sentenças III, IV e V estão corretas. b) As sentenças I, III e IV estão corretas. c) As sentenças I, II e III estão corretas. d) As sentenças II, III e V estão corretas. 7. As métricas e as estimativas de software vêm se tornando um dos principais estudos na Engenharia e Projeto de Software com a crescente exigência pela qualidade, rapidez, comodidade e baixo custo de implantação e manutenção de software. É impossível não enxergar tais métodos ou técnicas como alavanca para um produto de melhor qualidade, com custos adequados. Referente aos métodos ou técnicas para estimativa de software, assinale a alternativa CORRETA: a) Pontos de História, Análise de Pontos de Função, Análise de Pontos por Caso de Teste, Estimativa Baseada em Regra 40-20-40, COCOMO II e Estimativa para Projetos Orientados a Objeto. b) Linhas de Código (LOC), Análise de Pontos por Caso de Teste, Estimativa Baseada em Regra 40-20-40, Modelo Algoritmo e CMMI ? Capability Maturity Model Integration. c) Linhas de Código (LOC), Análise de Pontos por Caso de Teste, Análise de Pontos de Função, Análise de Pontos de Caso de Uso e Modelo Algoritmo. d) Linhas de Código (LOC), Pontos de História; Análise de Pontos de Função, Análise de Pontos de Caso de Uso, COCOMO II e Estimativa para Projetos Orientados a Objeto. 8. A sigla COBIT significa, em inglês, objetivos de controle para a informação e tecnologia (Control Objetives for Information and related Technology) e tem como objetivo promover um modelo para Governança de TI confiável, adotado por empresas, sendo atualizado diariamente por gerentes de negócio, profissionais de TI e auditores. Sobre o COBIT, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Possui controle para o que deve ser feito na área de TI diretamente relacionado à gestão do negócio. O COBIT oferece diretrizes claras para que os executivos consigam tomar decisões sobre a TI. ( ) A metodologia COBIT consiste em objetivos de negócio ligados a objetivos de TI, provendo métricas e modelos de maturidade para medir sua eficiência e identificar as responsabilidades relacionadas aos donos dos processos de negócio de TI. ( ) Possui indicadores-chave de metas dos processos. Fornece métricas que permitem mensurar resultados obtidos pelos processos de TI e compará-los com as metas e objetivos que deveriam ser atingidos. ( ) Contém informações menos abrangentes como entrada e saída de processo de negócio que não dependem da área de TI. Agora, assinale a alternativa que apresenta a sequência CORRETA: a) F - V - F - F. b) V - V - V - F. c) V - F - F - V. d) F - V - V - F. 9. Para controlar as modificações realizadas durante o desenvolvimento de software e minimizar os erros cometidos durante sua evolução sistemática e rastreável, utiliza-se a Gerência de Configuração, por meio de métodos e ferramentas que têm o intuito de maximizar sua produtividade. Sob a perspectiva de desenvolvimento da Gerência de Configuração de Software, sobre quais são suas três partes principais, assinale a alternativa CORRETA: a) Controle de Versão, Auditoria de Configuração e Integração Contínua. b) Controle de Modificação, Controle de Versão e Controle de Rastreabilidade. c) Controle de Mudança, Auditoria de Configuração, Controle de Rastreabilidade. d) Controle de Versão, Controle de Mudanças, Integração Contínua. 10.No início da década de 70, o crescimento vertiginoso da produção de softwares deparou-se com um sério problema: a falta de técnicas predefinidas para o desenvolvimento de sistemas. Esta falta de conhecimento acarretou projetos de software de baixa qualidade, com códigos de difícil manutenção, com orçamentos e prazos que não condiziam com a realidade. Como esta situação relatada ficou conhecida? a) Crise da Engenharia do Software. b) Crise Digital de 1970. c) Crise de Projeto. d) Crise de Software. 11.(ENADE, 2008) No processo de desenvolvimento de software, todo software passa pelas fases de análise e projeto, associadas, respectivamente, com o que deve ser feito e como deve ser feito. A partir dessa informação, assinale a alternativa correta: a) Para lidar com a complexidade do software, pode-se aplicar o princípio do particionamento, quebrando o problema em problemas menores. Esse princípio não é aplicado nas outras fases de desenvolvimento e ele não causa impacto nos custos de desenvolvimento. b) Na fase de projeto, dois níveis de projeto devem ser considerados: o projeto detalhado, que se preocupa com uma transformação dos requisitos em um projeto de dados e arquitetural; e o projeto preliminar, que se preocupa em aprimorar o projeto detalhado para que a implementação possa ser realizada em seguida. c) O objetivo do projeto arquitetural é desenvolver uma estrutura de programa e representar os diversos fluxos de dados entre os módulos. d) Na fase de análise, três modelos que devem ser considerados são: do domínio da informação, o funcional e o comportamental. 12.(ENADE, 2005) Requisitos de um sistema são frequentemente classificados como funcionais, não-funcionais e de domínio. Qual a definição que melhor descreve requisitos não-funcionais? a) São requisitos que descrevem o que o sistema deve fazer, como deve reagir a determinadas entradas e como deve comportar-se em situações particulares. b) São requisitos que derivam do domínio da aplicação e que refletem características e restrições desse domínio. c) São ferramentas automatizadas de apoio ao processo de desenvolvimento de sistemas. d) São requisitos que não estão diretamente relacionados com as funções específicas do sistema. Prova finalizada com 12 acertos e 0 questões erradas.
Compartilhar