Buscar

avaliacao1.2014

Prévia do material em texto

UNIVERSIDADE FEDERAL DE JUIZ DE FORA 
DEPARTAMENTO DE CIENCIA DA COMPUTAÇÃO 
ENGENHARIA DE SOFTWARE 
ALESSANDREIA MARTA DE OLIVEIRA 
ALUNO: 
VALOR: 100 PONTOS NOTA: BOA PROVA! 
 
1. Considerando o Modelo de Ciclo de Vida por Prototipagem Evolucionária, afirma-se que: 
a) os clientes não têm acesso a uma visualização dos progressos do desenvolvimento. 
b) é possível determinar com exatidão o tempo que o projeto irá demorar. 
c) não deve ser utilizado quando os requisitos mudam rapidamente e o cliente está relutante em 
aceitar um conjunto de requisitos. 
d) não há uma forma de saber de antemão o número de iterações que serão necessárias. 
e) apenas a fase final gera um produto que não é um documento. 
 
2. O gerenciamento de grande quantidade de informação na construção de sistemas pode ser 
contornada usando-se a técnica de refinamentos sucessivos, utilizada no modelo de Ciclo de Vida 
Iterativo e Incremental. A construção de sistemas, com base nesse modelo de ciclo de vida: 
a) é dividida em, no máximo, 7 incrementos, com 7 iterações cada, devido à Lei de Miller. 
b) tem seus incrementos trabalhados simultaneamente, acelerando o desenvolvimento do sistema. 
c) contém atividades que podem exigir trabalho, em maior ou menor grau, em todos os incrementos 
planejados. 
d) define que as atividades de testes sejam realizadas no último incremento, que é planejado 
exclusivamente para tal propósito. 
e) deve ter a mesma quantidade de iterações em todos os incrementos planejados. 
 
3. Relacione as características de modelos de ciclo de vida, descritos na Coluna 2, com os 
identificadores corretos de modelos de ciclo de vida, relacionados na Coluna 1. 
 
1. Modelo cascata 
2. Modelo espiral 
3. RUP 
 
( ) Inclui explicitamente a análise de riscos e a prototipação como atividades do 
processo de desenvolvimento. 
( ) É baseado em ambientes físicos altamente estruturados, em que depois de 
uma ação as mudanças são proibitivamente caras, se não impossíveis. 
( ) Cada miniprojeto é uma iteração que resulta em um incremento. 
 
Assinale a alternativa que indica a sequência correta, de cima para baixo. 
 
a) 1 - 3 - 2 b) 1 - 2 - 3 c) 2 - 3 - 1 d) 3 - 2 – 1 e) 3 - 1 - 2 
 
4. O RUP (Rational Unified Process) é um processo de engenharia de software que oferece uma 
abordagem com base em disciplinas para atribuir tarefas e responsabilidades dentro de uma 
organização de desenvolvimento. Sua meta é garantir a produção de software de alta qualidade e 
que atenda às necessidades dos usuários dentro de um cronograma e de um orçamento 
previsíveis. A respeito de RUP, assinale a opção correta. 
a) O RUP divide todo o projeto de software em três fases diferentes: concepção (ou iniciação), com 
ênfase no escopo do sistema; elaboração, com ênfase na arquitetura; e construção, com ênfase 
no desenvolvimento. 
b) O RUP promove o uso de seis melhores práticas: desenvolva iterativamente; gerencie requisitos; 
use arquiteturas de componentes; modele visualmente (UML); verifique qualidade de software 
continuamente; e gerencie mudanças. 
c) As disciplinas de suporte do RUP são: gerenciamento de classes; de produto; e ambiente. 
d) Um papel é uma definição abstrata de um conjunto de atividades executadas e dos respectivos 
artefatos. Exemplos de papéis no RUP são: analistas, desenvolvedores e testadores. 
Explicitamente, papéis de gerentes não fazem parte dos papéis possíveis no RUP. 
e) As disciplinas de engenharia do RUP são: modelagem de negócios; requisitos; análise e projeto; 
implementação; teste; qualidade; e implantação. 
 
5. Que situação favorece a escolha do uso de XP para um projeto de desenvolvimento de software, 
em oposição à escolha do RUP ou do modelo Cascata? 
a) Equipe do projeto localizada em diferentes cidades e com poucos recursos de colaboração. 
b) Equipe do projeto formada por pessoas com alto grau de competitividade. 
c) Cliente do projeto trabalhando em parceria com a equipe do projeto e sempre disponível para 
retirar dúvidas. 
d) Requisitos do software com pequena probabilidade de mudanças. 
e) Presença de um processo organizacional que exige a elaboração de vários documentos específicos 
para cada projeto. 
 
6. No RUP, a maior quantidade da disciplina Gerência de Configuração é encontrada na fase: 
 
a) Construção b) Concepção c) Implantação d) Transição e) Elaboração 
 
7. Um desenvolvedor foi contratado por uma empresa de software, mas ainda não tem informações 
acerca do modelo de ciclo de vida ou do processo de desenvolvimento sob o qual se estruturam as 
atividades da organização. O desenvolvedor, ao chegar à empresa, no primeiro dia de trabalho, 
começou a observar alguns comportamentos desempenhados pelos seus colegas. Tratando tais 
comportamentos como evidências do desempenho de um processo aderente a determinado 
modelo, o desenvolvedor registrou algumas proposições acerca do modelo empregado na 
empresa. A respeito da situação acima, em cada uma das opções a seguir, é apresentada uma 
evidência coletada pelo desenvolvedor, que deve ser analisada individualmente, 
independentemente das demais evidências coletadas. Assinale a opção em que a conclusão de 
evidência é coerente com o que estabelece o corpo de conhecimento da ES acerca desse tema. 
a) Os requisitos do software da organização são, detalhadamente, descritos por meio de fórmulas e 
diagramas, usando-se notações matemáticas embasadas na teoria dos conjuntos, relações e 
funções, e no cálculo de predicados. Portanto, a empresa usa métodos ágeis. 
b) O gerente geral de projetos da empresa decidiu, junto a um cliente, realizar algumas modificações 
nos requisitos de um produto de software que já se encontrava na fase de testes e comprometeu-
se a incluir tais requisitos na próxima liberação do produto. Essa decisão permite inferir que o 
modelo de desenvolvimento de software empregado não é do tipo cascata. 
c) Imediatamente após ter testado um protótipo evolucionário, um dos colegas da empresa iniciou a 
produção de uma lista de riscos aos quais o projeto está sujeito. Dessa forma, a empresa não 
utiliza um modelo de ciclo de vida embasado no espiral. 
d) Todos os colegas com os quais o desenvolvedor teve contato lhe informaram que desenvolvem 
testes unitários para os módulos que desenvolvem, realizam programação em pares e, 
periodicamente, fazem refatoração. Nesse caso, a empresa não utiliza o modelo XP. 
e) A empresa dispõe de processo bem estabelecido para medição/análise da qualidade dos processos 
e produtos desenvolvidos, não ocorrendo o mesmo com processos de gerenciamento de acordo 
com os fornecedores da empresa. A empresa então tem chances de estar aderente ao RUP. 
 
8. Em relação à Refatoração, é INCORRETO afirmar: 
a) a existência ou não de testes automatizados no software é irrelevante. 
b) utiliza fortemente conceitos de orientação a objeto. 
c) melhora a estrutura interna do código sem alterar seu comportamento externo. 
d) evita a deterioração durante o ciclo de vida de um código. 
e) incrementa melhoria no entendimento do código. 
 
9. O XP é, talvez, o mais conhecido e mais utilizado dos métodos ágeis. Dentre suas práticas se 
encontram programação em pares, integração contínua, refatoração e: 
a) propriedade coletiva, que garante uma participação nos lucros aos membros da equipe de 
desenvolvimento, técnica que incentiva e aumenta o desempenho de toda a equipe. 
b) envolvimento do cliente apenas na fase final do sistema, fator que difere de outras metodologias 
como SCRUM e TDD e confere agilidade ao processo de desenvolvimento. 
c) processo de desenvolvimento contínuo, em que a equipe se mantém focada no sistema até que 
uma funcionalidade seja entregue, comumente agregando horas extras ao turno de trabalho. 
d) utilização de técnicas de ofuscação do código fonte, trazendo segurança e garantindoque apenas 
a equipe de desenvolvimento poderá ter acesso a este código 
e) desenvolvimento incremental e sustentado por meio de pequenos e frequentes releases do 
sistema. Os requisitos são baseados em cenários ou em simples histórias de clientes. 
 
10. Na ES, há vários modelos de ciclo de vida, definidos com vários níveis de formalidade. O modelo: 
a) cascata é adequado para controlar riscos e requisitos voláteis durante o desenvolvimento. 
b) RUP é adequado para alcançar um bom nível de manutenibilidade do sistema. 
c) prototipagem descartável é adequada para descartar a fase de levantamento de requisitos do 
sistema a ser desenvolvido. 
d) prototipagem evolutiva entrega uma versão inicial do sistema, que considera requisitos já 
definidos com o cliente. 
e) espiral é inadequado quando são necessários o uso de protótipos durante a validação do sistema. 
 
11. (5 pontos) Que mito está associado aos seguintes casos? Profissional, Cliente, Administrativo? 
a) ________________________ Assim que escrevermos o programa e o colocarmos em 
funcionamento, nosso trabalho estará completo 
b) ________________________ Os requisitos de projeto modificam-se continuamente, mas as 
mudanças podem ser facilmente acomodados pois o sw é flexível 
c) ________________________ Temos um manual repleto de padrões e procedimentos para a 
construção de sw. Isso não oferecerá ao meu pessoal tudo o que eles precisam saber? 
d) ________________________ Uma declaração geral dos objetivos é suficiente para se começar a 
escrever programas – podemos preencher os detalhes mais tarde 
e) ________________________ Enquanto não tiver o programa “funcionando”, eu não terei 
nenhuma maneira de avaliar sua qualidade. 
 
12. (3 pontos) Uma fábrica de software utiliza um ciclo de vida de desenvolvimento de sistemas que 
contempla um conjunto sequencial de ações de desenvolvimento, desde o diagnóstico do 
problema até os testes necessários à implementação. Além disso, nada está terminado até que 
todas as fases estejam completas. Esse ciclo de vida é conhecido como ___________________ 
 
13. (10 pontos) Crie uma abordagem de desenvolvimento de software, que você utilizaria para um 
projeto com grandes riscos, baseado em uma combinação dos paradigmas estudados (mínimo 2). 
Dê um nome para esta metodologia, apresente as fases desta abordagem (que devem ser 
escolhidas a partir das fases das abordagens estudadas) e justifique a escolha de cada fase. 
 
14. (6 pontos) Em geral, o desenvolvimento de um software custa caro (comparado com linhas de 
produção). De acordo com o nosso material (videoaula), qual o significado desta afirmação? 
 
15. (6 pontos) Cite uma situação em que você seria contra o uso de um método ágil para o 
desenvolvimento de um sistema de software. E a favor, mencione um exemplo também? 
 
16. (5 pontos) Existem muitas mudanças na ES. Assim como os softwares mudam, a ES também 
muda. Existem muitos fatores que puxam a mudança na ES. De acordo com nosso material 
(videoaula), cite 5 destes fatores e explique-os. 
 
17. (5 pontos) Cite 5 princípios ou práticas utilizadas pela XP. 
Esta tabela deve ser usada para registrar as respostas das questões 1 a 10, 
que valem 6 pontos cada. Somente este quadro será utilizado na correção. 
 
1 2 3 4 5 6 7 8 9 10

Continue navegando