Prévia do material em texto
Com certeza! Como sou um modelo de texto, não consigo criar um mapa mental visual. No entanto, posso organizar o resumo do livro em um formato textual hierárquico, que se assemelha à estrutura de um mapa mental, utilizando tópicos e sub-tópicos para te ajudar a visualizar as conexões entre os conceitos: **Mapa Mental: Engenharia e Projeto de Software** **I. Conceitos Fundamentais** A. **Software** 1. Definição: Programa que interpreta e executa instruções para tarefas específicas. 2. Natureza: Parte lógica que comanda o hardware. 3. Características (Pressman): a. Não fabricado no sentido clássico. b. Não se desgasta (componente lógico/virtual). c. Maioria personalizada. B. **Engenharia de Software** 1. Definição (IEEE): Abordagem sistemática, disciplinada e quantificável para desenvolvimento, operação e manutenção de software. 2. Importância (Sommerville): a. Dependência crescente da sociedade em sistemas de software confiáveis e econômicos. b. Mais barato a longo prazo (manutenção) usar métodos de engenharia. **II. Engenharia de Software na Prática** A. **Princípios da Prática (Pressman):** 1. Compreender o problema (interessados, dados, funções). 2. Planejar uma solução (projeto, padrões, reutilização). 3. Executar o plano (gerar código, planos de contingência). 4. Examinar o resultado para precisão (testes, validação). B. **Qualidade de um Bom Código:** 1. Legível 2. Comentários úteis (explicar "porquê") 3. Simples 4. Flexível (futuras alterações, reutilização) 5. Sustentável (fácil de corrigir bugs) 6. Funcional conforme projetado **III. Os Sete Princípios de Pressman para a Prática Segura** A. A razão de existir: Gerar valor para usuários. B. KISS (Keep It Simple, Stupid!): Projeto simples, sem comprometer funcionalidades. C. Mantenha a visão: Clareza para evitar ambiguidade. D. O que um produz outros consomem: Considerar que outros entenderão o trabalho. E. Esteja aberto para o futuro: Adaptabilidade a mudanças. F. Planeje com antecedência, visando a reutilização: Reduz custos, aumenta valor. G. Pense!: Reflexão clara antes de agir. **IV. Tipos de Softwares (Pressman)** A. Software de sistema (compiladores, drivers). B. Software de aplicação (ERP, Word, Excel). C. Software científico/de engenharia (cálculos numéricos pesados). D. Software embutido (em produtos para controlar funções). E. Software para linha de produtos (uso por muitos clientes - processadores de texto, planilhas). F. Aplicações para a Web (WebApps). G. Software de inteligência artificial (algoritmos não numéricos - robótica). H. Softwares Legados (sistemas antigos, difíceis de manter). **V. Ciclo de Vida no Desenvolvimento de Software** A. **Objetivo:** Garantir bom andamento, funcionalidades e modificações. B. **Pilares Básicos:** 1. Especificação de software (funcionalidades, restrições). 2. Projeto e implementação de software (codificação). 3. Validação de software (testes, conformidade, erros). 4. Evolução de software (manutenção, adaptação). **VI. Processos e Modelos de Processos de Software** A. **Processos:** Etapas para estabilidade, controle e organização. B. **Modelos:** 1. Modelo em Cascata: Sequencial, uma fase após a outra. a. Análise e definição de requisitos. b. Projeto. c. Implementação e teste de unidades. d. Integração e teste. e. Operação e manutenção. 2. Desenvolvimento Orientado a Reúso: Foco na reutilização de componentes. **VII. Fases Cruciais do Projeto de Software** A. **Engenharia de Requisitos:** 1. Importância: Crucial para o sucesso. 2. Consequências de falha: Insatisfação do cliente, desgaste da equipe, aumento de prazo e custo. B. **Documento de Requisitos de Software (SRS):** 1. Finalidade: Declaração oficial de funcionalidades e restrições. 2. Utilidade: Base para desenvolvimento, testes, manutenção e evolução. C. **Modelagem de Sistemas:** 1. Processo: Desenvolvimento de modelos abstratos (UML). 2. Finalidade: Documentação do software, fundamental para todas as fases. D. **Projeto, Implementação e Teste (Pilares Principais):** 1. Projeto: Consolidação de requisitos e modelagem, definindo arquitetura. 2. Implementação: Codificação do sistema. 3. Teste: Garantia de qualidade, verificação de funcionalidades e componentes. **VIII. Planejamento e Gerenciamento de Projetos** A. **Importância:** Apoio essencial para desempenho, compartilhamento de recursos e controle de prazos. B. **4 P's (Sommerville):** Pessoas, Produto, Processo e Projeto. **IX. Qualidade do Projeto e Evolução de Software** A. **Qualidade:** Item básico, conformidade com requisitos (funcionais e não funcionais). B. **Evolução:** Processo natural de modificações. C. **Cuidado:** Fluxo intenso de mudanças pode degradar a estrutura e encarecer futuras modificações. Com certeza! Como sou um modelo de texto, não consigo criar um mapa mental visual. No entanto, posso organizar o resumo do livro em um formato textual hierárquico, que se assemelha à estrutura de um mapa mental, utilizando tópicos e sub - tópicos para te aju dar a visualizar as conexões entre os conceitos: **Mapa Mental: Engenharia e Projeto de Software** **I. Conceitos Fundamentais** A. **Software** 1. Definição: Programa que interpreta e executa instruções para tarefas específicas. 2. Natureza: Parte lógica que comanda o hardware. 3. Características (Pressman): a. Não fabricado no sentido clássico. b. Não se desgasta (componente lógico/virtual). c. Maioria personalizada. B. **Engenhari a de Software** 1. Definição (IEEE): Abordagem sistemática, disciplinada e quantificável para desenvolvimento, operação e manutenção de software. 2. Importância (Sommerville): a. Dependência crescente da sociedade em sistemas de software confiáveis e econômicos. b. Mais barato a longo prazo (manutenção) usar métodos de engenharia. **II. Engenharia de Software na Prática** A. **Princípios da Prática (Pressman):** 1. Compreender o problema (interessado s, dados, funções). 2. Planejar uma solução (projeto, padrões, reutilização). 3. Executar o plano (gerar código, planos de contingência).