Baixe o app para aproveitar ainda mais
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
Compartilhar