QUESTÕES 1. 0 que é domínio da aplicação (ou do problema)? 2. Qual a importância da engenharia de software e como se justificam os custos a ela associados? 3. O que é processo de desenvolvimento de software e qual a sua importância para a qualidade dos produtos de software? Qual a diferença entre processo e projeto de software? 4. O que vem a ser qualidade de software? 5. Um programa desenvolvido em sala de aula ou em casa para fins didáticos pode ser considerado um software? Por quê? 6. Qual a diferença entre um software e um sistema? Qual dos dois conceitos é mais amplo? Por quê? 7. O que é um subsistema? 8. Qual a vantagem em se dividir um sistema complexo em subsistemas? 9. Suponha que você iniciou suas atividades em uma empresa e lhe é solicitado desenvolver um software. Quais as suas primeiras providências, antes de colocar em prática suas habilidades de desenvolvedor? 10. O que é o ciclo de vida de um software? Onde deve ser definido? 11. Faça uma pesquisa e dê exemplos, além dos citados em aula, de processos de software. 12. O que é um modelo de processo de software? Quais os tipos comuns? Quais os modelos gerais (ou paradigmas) mais conhecidos? 13. Quais os grandes desafios da Engenharia de Software. 14. Quais são as fases do desenvolvimento de software, segundo o ciclo de vida 15. Explique brevemente cada uma das fases de um ciclo de vida 16. O que é um protótipo? Que cuidados são importantes e próprios desse modelo no que diz respeito a comunicação com os clientes? 17. Quais são as vantagens e desvantagens do modelo de protótipos? 18. Discuta a diferença entre engenharia de software e engenharia de sistemas baseados em computadores. 19. Explique porque é importante produzir uma descrição geral da arquitetura do sistema na fase final. 20. O que é o estudo de viabilidade e em que fase do ciclo de vida ele deverá ser realizado? 21. É possível realizar o planejamento do desenvolvimento de sistema antes de conhecer os seus requisitos? Por que? TESTES Questão 1. O modelo de ciclo de vida em cascata:
( ) a - enfatiza a realização sequencial das atividades do desenvolvimento de um produto de software. ( ) b - enfatiza a comunicação estreita com o cliente durante o desenvolvimento do produto de software. ( ) c - envolve a ideia principal de criar um protótipo executável e, por meio de transformações sucessivas, chegar ao sistema completamente implementado. ( ) d - envolve a análise dos riscos envolvidos no desenvolvimento dos requisitos identificados para produto de software. ( ) e - recomenda a geração de versões incompletas do sistema, que podem ser passadas para o usuário final, o que permite a retroalimentação do processo de desenvolvimento. Questão 2. O modelo em espiral difere principalmente dos outros modelos de processo de software por ( ) a - não contemplar o protótipo. ( ) b - reconhecer explicitamente o risco. ( ) c - não ter fases. ( ) d - possuir uma fase única evolucionária. ( ) e - não contemplar o projeto do produto. Questão 3. No modelo de desenvolvimento de software em espiral, cada loop na espiral representa a) a necessidade de retornar ao início da fase em que se encontra. b) um processo de reengenharia. c) uma disciplina de software. d) uma fase do processo de software. e) uma atividade paralela. Questão 4. Em cada fase de um processo de software são executadas as atividades básicas para que sejam atingidos os objetivos propostos. Essas atividades podem ser identificadas nas alternativas a seguir, à exceção de uma. Assinale-a. ( ) a - Projeto. ( ) b - Integração. ( ) c - Especificação. ( ) d - Implementação. ( ) e - Manutenção e Evolução. Questão 5. A gerência de desenvolvimento de sistemas de uma empresa está reformulando seu processo de software. Para isso, deseja criar uma metodologia de desenvolvimento baseada no Processo ( ) a - Unificado. A respeito desse processo, é INCORRETO afirmar que o(a): ( ) b - desenvolvimento é iterativo, incremental e orientado por casos de uso. ( ) c - caso de uso mais crítico deve ser atacado, preferencialmente, no final.
( ) d - fase de transição envolve treinamento de usuários e assistência no uso do produto. ( ) e - arquitetura se desenvolve a partir das visões do usuário expressas em casos de uso. ( ) f - arquitetura, na fase de construção, é estável, ainda que possa ser evoluída. Questão 6. Das seguintes informações sobre modelos de ciclos de vida de desenvolvimento de software, é INCORRETO afirmar: ( ) a - O modelo de ciclo de vida em espiral divide o desenvolvimento do software em iterações. ( ) b - O modelo de ciclo de vida em espiral é orientado a reduzir os riscos do projeto. ( ) c - No modelo de ciclo de vida em cascata, as etapas acontecem de maneira sequencial. ( ) d - O modelo de ciclo de vida em cascata permite instalar no final de cada fase uma versão do software no cliente. ( ) e - O modelo de prototipagem evolucionária permite que desde muito cedo se ganhe uma melhor percepção dos requisitos do sistema. Questão 7. Em relação aos ciclos de vida do software, o desenvolvimento de sistemas por meio de ciclo de vida iterativos garante ao sistema: ( ) a - atualização contínua; ( ) b - legalidade; ( ) c - segurança; ( ) d - legibilidade; ( ) e - utilização mínima de recursos. Questão 8. 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. Coluna 1 1. Modelo cascata (waterfall) 2. Modelo espiral 3. Modelo iterativo e incremental 4. Modelo V Coluna 2 Preconiza que o início da elaboração dos planos de teste deve ocorrer antes da etapa de implementação. Permite alterar o resultado de uma etapa anterior. É 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.
Inclui explicitamente a análise de riscos e a prototipação como atividades do processo de desenvolvimento. Assinale a alternativa que indica a sequência correta, de cima para baixo. ( ) a)- 1-2 - 4-3 ( ) b)- 2-3 - 1-4 ( ) c)- 2-3 - 4-1 ( ) d)- 3-2 - 1-4 ( ) e)- 4-3 - 1 2 Questão 9. Dentre as diversas características desse modelo, afirma-se que: ( ) a)- existe um protótipo do sistema, ao final de cada fase, cada vez mais completo, que permite ao cliente avaliar o produto. ( ) b)- nenhuma fase é terminada até que a sua documentação tenha sido completada e seus produtos aprovados pelo grupo de garantia da qualidade. ( ) c)- o custo de modificação do sistema é praticamente o mesmo, independente da fase em que o projeto esteja. ( ) d)- as fases podem se sobreporem, para acelerar o projeto. ( ) e)- datagramas de fluxo de dados ou diagramas UML são utilizados como técnicas gráficas para se comunicar com seus clientes. Questão 10. 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 à restrição da 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. Questão 11. O termo Modelo de Ciclo de Vida é utilizado para descrever um grupo de atividades e a forma como elas se relacionam. Considerando o Modelo de Ciclo de Vida de Sistemas 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. Questão 12. 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 ( ) a)- XP. ( ) b)- Cascata. ( ) c)- SCRUM. ( ) d)- Continuum. ( ) e)- Espiral. Questão 13. O Modelo Espiral, segundo Pressman (1995), incorpora as melhores características do Ciclo de Vida Clássico e da Prototipação e acrescenta o seguinte elemento: ( ) a)- análise dos riscos. ( ) b)- análise de projetos. ( ) c)- avaliação de usuários. ( ) d)- refinamento de requisitos. ( ) e)- refinamento de protótipos. REQUISITOS DE SOFTWARE 1) Para cada caso a) classifique os requisitos b) inclua mais dois requisitos não funcionais e classifique-o Sistema de Loja de Vídeo Lista de requisitos 1. O sistema deve cadastrar o cliente. 2. O sistema deve emitir um recibo para o cliente. 3. O sistema deve transformar uma fita disponível em fita emprestada, quando a fita for alugada pelo cliente. 4. O sistema deve cadastrar o cliente rapidamente, em menos de 2 minutos. 5. O sistema deve emitir um recibo para o cliente, com o tempo máximo de 8 segundos após a transação. 6. O sistema deve atender as normas do padrão IEEE. 7. O sistema não pode perder dados do cliente. Sistema de controle de Biblioteca
Lista de requisitos 1. O sistema deve cadastrar bibliotecários. 2. O sistema deve cadastrar os usuários. 3. O sistema deve achar para os bibliotecários, qual o usuário que está com um determinado livro. 4. O sistema deve tornar um livro em livro emprestado, quando um usuário pegar este livro emprestado. 5. Dependendo do tipo de usuário o sistema deve atender a completa revogação da multa. 6. O sistema deve cadastrar os usuários de maneira amigável, por intermédio de uma interface fácil de usar. 7. O sistema deve fazer o cadastramento rapidamente, em menos de 3 minutos. 8. O sistema deve ser portável para plataformas Linux. 9. O sistema não pode cobrar multa de professores em tempo integral. 2) Dê 3 exemplos de Requisitos Funcionais e Requisitos Não Funcionais para: a) Sistema da padaria de pequeno porte; b) Sistema inteligente de preenchimento do IRPF; c) Sistema de alocação docente.