Prévia do material em texto
40. Engenharia de Software A Engenharia de Software é uma disciplina da engenharia focada no desenvolvimento, operação e manutenção de software. Ela abrange uma série de práticas, métodos e técnicas para garantir que os sistemas de software sejam criados de forma eficiente, eficaz e de acordo com os requisitos do cliente. A engenharia de software busca melhorar a qualidade do software, gerenciar a complexidade do sistema e aumentar a produtividade do desenvolvimento. Fases do Ciclo de Vida do SoftwareO ciclo de vida do software é dividido em várias fases que guiam o desenvolvimento e a manutenção do software, incluindo: 1. Planejamento e Análise de Requisitos: Nessa fase, os requisitos do sistema são coletados e analisados para garantir que o software atenda às necessidades dos usuários e do negócio. Isso pode envolver entrevistas, questionários, e análise de sistemas existentes. 2. Projeto do Sistema (Design): O design envolve a criação da arquitetura do sistema, incluindo a estrutura de dados, interfaces e componentes do software. O objetivo é projetar um sistema que seja funcional, eficiente, escalável e fácil de manter. 3. Implementação: A implementação é a fase de codificação, onde os desenvolvedores escrevem o código-fonte conforme o projeto definido. A implementação deve seguir boas práticas de programação e padrões de qualidade para garantir que o código seja legível, eficiente e fácil de manter. 4. Testes: A fase de testes envolve a verificação do software para garantir que ele funcione como esperado. Isso inclui testes unitários, testes de integração, testes de sistema e testes de aceitação do usuário.Implantação e Manutenção: Após a conclusão dos testes, o software é implantado em produção. A fase de manutenção envolve a correção de defeitos, melhorias no sistema e adaptação a novas necessidades ou mudanças nos requisitos.Modelos de Processos de SoftwareExistem vários modelos de processo de software, que são abordagens diferentes para o desenvolvimento do software:Modelo Cascata: Este modelo segue uma sequência linear de fases, onde uma fase é completada antes que a próxima comece. Ele é mais adequado para projetos com requisitos bem definidos e estáveis.Modelo Incremental: No modelo incremental, o software é desenvolvido e entregue em partes ou incrementos, com funcionalidades sendo adicionadas gradualmente. Esse modelo é mais flexível e permite ajustes mais rápidos aos requisitos.Modelo Ágil: O modelo ágil enfatiza a entrega contínua e iterativa do software. As equipes de desenvolvimento trabalham em ciclos curtos, conhecidos como sprints, e ajustam o software de acordo com o feedback contínuo dos usuários. 1. Modelo V: O modelo V é semelhante ao modelo cascata, mas enfatiza mais a verificação e validação durante todo o processo de desenvolvimento. Ele segue uma abordagem mais rigorosa de testes durante a execução do projeto. Questões:Qual fase do ciclo de vida do software é responsável pela codificação do sistema? o ( ) Planejamento e Análise de Requisitos o ( ) Testes o (x) Implementação o ( ) Manutenção 2. Qual é o modelo de processo de software que se caracteriza pela entrega contínua e iterativa do software? o ( ) Modelo Cascata o ( ) Modelo V o (x) Modelo Ágil o ( ) Modelo Incremental