Baixe o app para aproveitar ainda mais
Prévia do material em texto
AVALIAÇÃO FINAL - ENGENHARIA DE SOFTWARE - 100% Pergunta 1 (0.8 pontos) Leia o excerto a seguir: Em um contexto de engenharia de requisitos ideal, as tarefas de in ício, levantamento e elaboração determinam os requisitos do cliente com detalhes suficientes para prosseguir nas atividades de Engenharia de software subsequentes, mas, infelizmente, isto raramente acontece. Na realidade, talvez você tenha que iniciar uma negociação com um ou mais envolvidos. Na maioria dos casos, solicita-se aos envolvidos contrabalancear funcionalidade, desempenho e outras características do produto ou sistema em função do custo e tempo para chegar ao mercado. O intuito da negociação é desenvolver um plano de projeto que atenda às necessidades dos envolvidos e, ao mesmo tempo, reflita as restrições do mundo real (p.ex., tempo, pessoal, orçamento) impostas à equipe de software. As melhores negociações buscam ao máximo um resultado "ganha-ganha". Ou seja, os envolvidos ganham obtendo um sistema ou produto que satisfaz a maioria de suas necessidades e você (como membro da equipe de software) ganha trabalhando com prazos de entrega e orçamentos reais e atingíveis. PRESSMANN, R. Engenharia de software: uma abordagem profissional. 7 Ed. Porto Alegre: Bookman, 2011. (p. 159). O trecho apresentado informa sobre a necessidade de negociação de requisitos que ocorre, muitas vezes, em um projeto de desenvolvimento de software. Considerando o contexto apresentado, assinale a alternativa que representa a ordem correta das etapas de negociação de requisitos: Opções de pergunta 1: c) 1º Identificação dos principais envolvidos no sistema ou subsistema. 2° Determinação das "condições de ganho" dos envolvidos. 3° Negociação das condições de ganho dos envolvidos. Pergunta 2 (0.8 pontos) Leia o excerto abaixo: "O projeto de software abrange o conjunto de princípios, conceitos e práticas que levam ao desenvolvimento de um sistema ou produto de alta qualidade. Os princípios de projeto estabelecem uma filosofia que guia o trabalho que você deve desempenhar. Os conceitos de projeto devem ser entendidos antes que a mecânica da prática de projeto possa ser aplicada, e a prática de projeto em si conduz à criação de várias representações do software que servem como um guia para a atividade de construção que se segue." PRESSMANN, R. Engenharia de software: Uma abordagem profissional. 7. Ed. Porto Alegre: Bookman, 2011. (p. 224). O trecho apresentado fala sobre o conceito de projeto de software. Nele podemos destacar a citação de atividades que são criadas para guiar a construção do software. Com base nisso, marque a alternativa que descreve estas atividades: Opções de pergunta 2: a) Definição da arquitetura do sistema, definição da linguagem de programação utilizada, definição do Sistema Gerenciador de Banco de Dados (SGBD) e elaboração do padrão de interface gráfica. Pergunta 3 (0.8 pontos) Leia a seguir um dos valores do manifesto ágil: "Pessoas relacionadas a negócios e desenvolvedores devem trabalhar em conjunto e diariamente, durante todo o curso do projeto." O princípio que acabamos de ler foi proposto junto ao manifesto ágil. Ele expressa uma idéia de trabalho em grupo, que deve ser seguido durante o processo de desenvolvimento. Atualmente, uma metodologia de programação utiliza este conceito como base de seu funcionamento. Qual das opções abaixo aplica fortemente este modelo de trabalho? Opções de pergunta 3: c) Programação pareada (ou pair programming). Pergunta 4 (0.8 pontos) Leia o excerto a seguir: "Como o levantamento de requisitos é uma atividade evolutiva, nem todos os atores são identificados durante a primeira iteração. É possível identificar atores primários [Jac92] durante a primeira iteração e atores secundários quando mais fatos são aprendidos sobre o sistema." O texto apresenta a identificação de dois tipos diferentes de atores, sendo os atores primários e os atores secundários. Sobre estas duas classificações, assinale a afirmativa correta. Opções de pergunta 4: e) Os primários interagem para atingir a função necessária e obter o benefício desejado do sistema. Os secundários dão suporte ao sistema para que os primários possam realizar seu trabalho. Pergunta 5 (0.8 pontos) Analise a seguinte imagem. PRESSMAN, R. S.; MAXIM, B. R. Engenharia de software: uma abordagem profissional. 8. ed. Porto Alegre: AMGH, 2016. Nesta imagem, temos um diagrama de atividades que demonstra um cenário de controle de câmeras de vigilância. Assinale a alternativa correta sobre as afirmações abaixo: ( ) Não é necessário fazer login no sistema. ( ) Caso o usuário informe um ID e senha inválidos, ele não poderá tentar novamente. ( ) As imagens geradas pela câmera ficam disponíveis para visualização em uma câmera somente após a seleção do modo de visão. ( ) O usuário só pode gerar uma visão de câmera por login. Opções de pergunta 5: d) F, F, V, F. Pergunta 6 (0.8 pontos) Leia o seguinte trecho: Existem quatro tipos de manutenção de acordo com Lientz e Swanson: corretivo, adaptativo, perfectivo e preventivo [1980]. [...] A manutenção corretiva trata do reparo de falhas ou defeitos encontrados. [...] A manutenção adaptativa consiste em adaptar o software às mudanças no ambiente, como o hardware ou o sistema operacional. [...] A manutenção perfectiva garante principalmente a satisfação de requisitos de usuários novos ou alterados. [...] A manutenção preventiva diz respeito a atividades destinadas a aumentar a confiabilidade no sistema, como atualizar documentação, adicionar comentários e melhorar a estrutura modular do sistema. ERDIL, Kagan et al. (2003) Software Maintenance As Part of the Software Life Cycle. Department of Computer Science Tufts University. O trecho apresenta uma descrição sobre as quatro classificações de manutenção de software existentes e as suas características. Imagine que um sistema foi criado para um banco, e agora são solicitadas alterações de cálculos de juros das contas bancárias dos clientes. Esta manutenção pode ser classificada em qual categoria? Opções de pergunta 6: e) Manutenção perfectiva. Pergunta 7 (0.8 pontos) Leia a tabela a seguir, que apresenta os resultados de um estudo com a porcentagem de cada fator de insucesso em projetos de software. Fonte: Travassos, G. H. et al. Requisitos de Software, COPPE UFRJ, 2016/2. Nesta tabela, podemos analisar que os Requisitos incompletos estão em primeiro lugar. Além disso, expectativas irreais e mudanças nos requisitos apresentam uma alta porcentagem de presença nos projetos sem sucesso. Considerando os dados apresentados, podemos afirmar que: Opções de pergunta 7: e) Em um processo de desenvolvimento de software, é necessário reservar recursos e tempo para uma boa coleta de requisitos, a fim de evitar problemas nas fases subsequentes. Pergunta 8 (0.8 pontos) Leia atentamente o excerto a seguir: "Uma falha de software [...] foi detectada em 9 de novembro de 1979. O Comando Estratégico da Força Aérea norte-americana entrou caoticamente em estado de alerta quando a rede de computadores do sistema mundial de controle e comando militar (WWMCCS, sigla para worldwide military command and control system) informou que a União Soviética havia lançado mísseis contra os Estados Unidos. O que realmente aconteceu foi que um ataque simulado foi interpretado como real, da mesma forma que ocorreria no filme Jogos de Guerra, cerca de cinco anos depois. Embora, compreensivelmente, o Ministério de Defesa dos Estados Unidos não tenha dado detalhes sobre qual foi precisamente omecanismo por meio do qual as informações sobre o teste foram interpretadas como dados reais, parece razoável atribuir o problema a uma falha de software. O sistema como um todo não foi projetado para diferenciar situações reais daquelas simuladas, ou então a interface com o usuário não possuía as verificações necessárias para garantir que os usuários finais do sistema fossem capazes de estabelecer a diferença entre realidade e ficção. Em outras palavras, uma falha de software – se realmente o problema foi causado pelo software – poderia ter levado a civilização, como a conhecemos hoje, a um abrupto e trágico fim." SCHACH, Stephen R. Engenharia de software: os paradigmas clássico e orientado a objetos. 7. Ed. Porto Alegre: AMGH, 2009 (p. 25). O excerto trata, de forma ampla, de um possível erro de software que poderia ter causado grandes problemas na relação entre os dois países. Na década de 1970, a Engenharia de Software não estava presente ainda no processo de criação de software, logo, este tipo de ocasião ocorria com maior regularidade. Podemos dizer que, nesta época, existia a Crise do software. Dito isto, assinale a alternativa que descreve corretamente o que foi a Crise do software. Opções de pergunta 8: c) Crise do software expressa o momento na década de 1970 quando a engenharia de software era praticamente inexistente. Este termo expressa as dificuldades do desenvolvimento de software frente a alta demanda, da complexidade dos problemas a serem resolvidos e da inexistência de técnicas para o desenvolvimento de sistemas. Pergunta 9 (0.8 pontos) Analise o dicionário de dados apresentado abaixo: Nome Tipo Tamanho Descrição Observação id inteiro 15 Identificador Chave primária nome char 20 Nome do paciente Doença char 50 Doença do paciente hospital_id inteiro 15 Identificador do hospital Chave estrangeira O dicionário de dados apresentado representa a tabela Paciente de um sistema hospitalar. Neste dicionário, temos as informações de tipo, tamanho, descrição e observação para cada elemento de dado. Por meio da análise deste dicionário de dados, podemos afirmar que: Opções de pergunta 9: d) Um dicionário de dados é uma coleção de metadados que contém definições e representações de elementos de dados. Ele permite que o banco de dados seja facilmente implementado. Pergunta 10 (0.8 pontos) "É fato que os geradores de energia elétrica falham, porém com uma freqüência muito menor do que a dos programas de folha de pagamento. As pontes de vez em quando caem, mas com freqüência consideravelmente menor do que a dos sistemas operacionais. Acreditando que o projeto, a implementação e a manutenção de software possam ser colocados no mesmo patamar que as disciplinas de engenharia tradicionais, um grupo de estudos da OTAN cunhou, em 1967, o termo engenharia de software. A alegação de que criar software é similar a outras tarefas da engenharia foi endossada pela Conferência de Engenharia de Software da OTAN, realizada em Garmisch, na Alemanha" (NAUR; RANDELL; BUXTON, 1976). SCHACH, Stephen. Engenharia de software: os paradigmas clássico e orientado a objetos. 7. Ed. Porto Alegre: AMGH, 2009. (p. 26).| O excerto trata da criação da Engenharia de Software ocorrida no ano de 1967. Esta foi criada como resposta para a Crise do Software. Das alternativas apresentadas, escolha aquela que define o objetivo da Engenharia de Software: Opções de pergunta 10: b) O objetivo da Engenharia de Software é produzir um sistema com poucas ou nenhuma falha, dentro de prazo e orçamento previstos, e que atenda às necessidades do cliente. O software também deve ser construído de forma a permitir uma fácil modificação e manutenção. Enviar Questionário10 de 10 perguntas salvas
Compartilhar