Buscar

AVALIAÇÃO FINAL - ENGENHARIA DE SOFTWARE - 100%

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

Continue navegando