Buscar

Introdução Engenharia de Software

Prévia do material em texto

Universidade Federal do Piauí 
Centro de Tecnologia 
Engenharia de Produção 2014.1 
 
 
Lista de Atividades Introdução Engenharia de Software 
 
1. Qual foi a principal causa do surgimento da Engenharia de software? 
 
2. No levantamento de requisitos para um sistema de controle acadêmico, seguem alguns exemplos de 
requisitos levantados. Qual deles é um exemplo de requisito não-funcional? 
 
A) Os coordenadores de cursos devem poder obter a quantidade de aprovações e reprovações de cada 
disciplina em um determinado período. 
 
B) O tempo de resposta esperado para a emissão de um histórico escolar de um determinado aluno deve 
ser, no máximo, de um minuto. 
 
C) O sistema deve permitir que cada professor realize o lançamento de notas das turmas nas quais 
lecionou num determinado período. 
 
D) A secretaria escolar deve poder atualizar os dados cadastrais de alunos e professores. 
 
E) O sistema deve permitir que um aluno realiza a sua inscrição em disciplinas oferecidas em um período 
letivo. 
 
 
3. Quais eram os problemas associados à Crise do Software? 
 
4. A crise do software realmente acabou? Comente sobre isso. 
 
5. Sobre testes de software e avaliação de qualidades de testes é INCORRETO afirmar que 
a) testes podem anunciar a presença de defeitos em um programa e podem demonstrar que não existem 
defeitos remanescentes. 
b) teste de aceitação é um processo de teste de usuário no qual o objetivo é decidir se o software é bom o 
suficiente para ser implantado e usado em seu ambiente operacional. 
c) testes de desenvolvimento são de responsabilidade da equipe de desenvolvimento de software, 
enquanto outra equipe deve ser responsável por testar o sistema antes que ele seja liberado para os 
clientes. 
d) testes de desenvolvimento incluem testes unitários, nos quais são testados objetos e métodos 
específicos. 
e) sempre que possível é recomendado escrever testes automatizados. Os testes são incorporados em um 
programa que pode ser executado cada vez que uma alteração é feita para um sistema. 
 
6. Faca uma comparação entre a Engenharia de Software e o desenvolvimento de um carro. 
 
 
7. Defina Engenharia de Software. 
 
8. Durante a fase de validação de requisitos, diferentes tipos de verificação devem ser neles efetuados 
no documento de requisitos. A verificação que demonstra aos usuários finais e clientes um modelo 
executável do sistema em questão, possibilitando a experimentação do modelo e verificando se ele 
atende às suas reais necessidades é chamada de 
 
a) verificabilidade. 
b) geração de casos de teste. 
c) prototipação. 
d) revisões de requisitos. 
e) verificação de consistência. 
 
 
9. Qual o tripé em que a Engenharia de Software está baseada? 
 
10. O que é um sistema? Quais seus principais componentes? 
 
11. Sobre os métodos ágeis de desenvolvimento, considere: 
I. Métodos ágeis são métodos de desenvolvimento incremental que se concentram em desenvolvimento 
rápido, releases frequentes do software, redução de overheads dos processos e produção de códigos de 
alta qualidade. 
 
II. Extreme Programming é um método ágil que integra um conjunto de práticas de programação, como 
releases frequentes do software, programação em pares, melhorias contínuas do software e participação 
do cliente na equipe de desenvolvimento. 
 
III. Um ponto fraco no método Extreme Programming é a ausência de desenvolvimento automatizado de 
testes antes da criação de um recurso do programa, como é possível nos métodos ágeis TDD e Scrum. 
Está correto o que se afirma em 
 
a) I e II, apenas. 
b) I, II e III. 
c) I e III, apenas. 
d) II e III, apenas. 
e) III, apenas. 
 
12. É possível fazer a estimativa de custo e prazo para desenvolvimento de um software com apenas 
alguns poucos minutos de conversa? Comente sobre isso relacionando sua resposta a outras áreas. 
 
13. O que são os mitos do Software? 
 
14. Há diversos métodos que podem ser utilizados na construção de sistemas de informação. Sobre eles, 
analise: 
 
I. O desenvolvimento é feito em estágios formais, que devem evoluir em sequência e ter resultados 
definidos. Cada um precisa ser formalmente aprovado antes que o próximo se inicie. É indicado para 
grandes projetos que exijam especificações formais e rígido controle administrativo sobre cada estágio do 
desenvolvimento. 
 
II. Consiste em desenvolver um sistema experimental de maneira rápida e barata para que os usuários 
finais interajam com ele e o avaliem. Esse sistema é refinado e aperfeiçoado até que os usuários sintam 
que ele atende às suas necessidades, podendo ser usado como modelo para criar o sistema final. 
 
Os itens I e II referem-se, respectivamente, 
 
a) ao Ciclo de Vida de Sistema Tradicional e à Prototipagem. 
b) ao Modelo Espiral e ao Modelo em Cascata. 
c) ao Modelo V e ao Modelo de Entrega por Estágios. 
d) aos Modelos Prescritivos e aos Modelos Ágeis. 
e) ao Modelo Orientado a Cronograma e ao Modelo Orientado a Teste. 
 
15. Cite alguns mitos relacionados ao gerenciamento, comentando a realidade relacionada aos mitos. 
 
16. Cite alguns mitos relacionados aos clientes, comentando a realidade relacionada aos mitos. 
 
17. O teste de software é destinado a mostrar que um programa faz o que é proposto a fazer e a 
descobrir seus defeitos antes do uso. O processo de teste tem dois objetivos distintos: 
 
1. Demonstrar ao desenvolvedor e ao cliente que o software atende a seus requisitos. 
 
2. Descobrir situações em que o software se comporta de maneira incorreta, indesejável ou de forma 
diferente das especificações. 
 
Desse modo, é correto afirmar que 
 
a) não é objetivo final dos processos de verificação validar os requisitos de especificação que não reflitam 
os desejos ou necessidades dos clientes. 
b) os testes podem mostrar a presença de erros e sua ausência. 
c) o objetivo de todo teste é verificar se ele atende apenas aos requisitos funcionais. 
d) verificação e validação não são a mesma coisa em relação a testes de sistema. 
e) os testes podem demonstrar que um determinado software está livre de defeitos. 
 
 
18. Cite alguns mitos relacionados aos profissionais do desenvolvimento de software, comentando a 
realidade relacionada aos mitos. 
 
19. Quais são as principais fases do ciclo de vida de um produto de software? 
 
20. Sobre testes de software e avaliação de qualidades de testes é INCORRETO afirmar que 
 
a) testes podem anunciar a presença de defeitos em um programa e podem demonstrar que não existem 
defeitos remanescentes. 
b) teste de aceitação é um processo de teste de usuário no qual o objetivo é decidir se o software é bom o 
suficiente para ser implantado e usado em seu ambiente operacional. 
c) testes de desenvolvimento são de responsabilidade da equipe de desenvolvimento de software, 
enquanto outra equipe deve ser responsável por testar o sistema antes que ele seja liberado para os 
clientes. 
d) testes de desenvolvimento incluem testes unitários, nos quais são testados objetos e métodos 
específicos. 
e) sempre que possível é recomendado escrever testes automatizados. Os testes são incorporados em um 
programa que pode ser executado cada vez que uma alteração é feita para um sistema. 
 
21. Qual a ligação entre Ciclo de Vida e Processo de Software? 
 
22. Qual a definição para Processo de Software? 
 
23. Sobre Análise de Requisitos em Engenharia de Software, julgue as afirmativas a seguir e assinale a 
alternativa correta. 
 
I. Resulta na especificação das características operacionais do software. 
 
II. Indica as interfaces do software comoutros elementos do sistema. 
 
III. Estabelece restrições a que o software deve satisfazer. 
 
a) Apenas as afirmativas I e II são corretas. 
b) Apenas as afirmativas II e III são corretas. 
c) Todas as afirmativas são corretas. 
d) Apenas as afirmativas I e III são corretas. 
e) Nenhuma das afirmativas é correta. 
 
24. Quais são os principais subprocessos (também conhecidos como fluxos ou disciplinas) ligados ao 
desenvolvimento de software? 
 
25. Descreve o modelo de ciclo de vida denominado Codifica-Remenda. 
 
26. Dentre as atividades típicas de um processo de desenvolvimento de software, aquela em que se 
determina como o sistema funcionará para atender aos requisitos, de acordo com os recursos 
tecnológicos existentes, é denominada 
 
a) análise. 
b) projeto. 
c) implementação. 
d) testes. 
e) implantação. 
 
27. Quais são os problemas relacionados ao modelo de ciclo de vida em cascata? 
 
 
28. Como podemos relacionar o modelo em cascata e o modelo em espiral? 
 
29. Qual a grande diferença entre o modelo em espiral e o modelo incremental? 
 
30. Os métodos ágeis são baseados no manifesto ágil. Quais são os conceitos chaves desse manifesto?

Continue navegando