📌 Informações Gerais da Disciplina
- Código:
CSECBJI.36- Período: 5º Período | Núcleo: Profissionalizante | Carga Horária: 60
- Docente Responsável: Fabrício Barros (fabricio.goncalves@iff.edu.br)
- Livro / Material Didático Principal: Elementos de Eletrônica Digital (Capuano & Idoeta)
📋 Ementa e Objetivos Pedagógicos
📋 Ementa
Teoria dos sistemas. Processo de desenvolvimento de software. Análise e projeto de software. Arquitetura de software. Testes. Visão geral sobre manutenção de software.
🎯 Objetivos
- Desenvolver a visão de software como um sistema e parte de um sistema;
- Conhecer processos de desenvolvimento de software
- Compreender os papéis dos participantes do processo de desenvolvimento de software;
- Identificar os diversos paradigmas da engenharia de software;
- Conhecer modelos arquiteturais de software;
- Conhecer princípios e metodologias de testes de software;
- Reconhecer as categorias e atividades da manutenção de software;
- Trabalhar com ambientes e ferramentas de suporte ao desenvolvimento de software
🔒 Pré-requisitos e Dependências Curriculares (Trancas)
📋 Pré-requisitos Exigidos:
- Nenhum pré-requisito exigido (disciplina de entrada).
🔓 Disciplinas Trancadas (Liberadas após conclusão):
📖 Conteúdo Programático
- 1. Teoria dos Sistemas
- Sistemas naturais e sistemas automatizados
- Software x Sistemas
- Categorias de Software
- 2. Processo de Desenvolvimento de Software
- Histórico da Evolução do Software
- Etapas do Processo de Desenvolvimento de Software: Análise, Projeto, Implementação, Testes, Implantação e Manutenção.
- Modelo Clássico
- Modelo em Espiral
- Processo Unificado
- Métodos Ágeis
- Papeis no desenvolvimento de software (stakeholders).
- 3. Análise e Projeto de Software
- Técnicas de Coleta e Especificação de Requisitos
- Métodos de Análise: Estruturada, Essencial e Orientada a Objetos
- Paralelo entre as diferentes metodologias
- A Etapa de Projeto
- Princípios de Qualidade em Projeto: Coesão e Acoplamento
- Métodos de Projeto
- 4. Arquitetura de Software
- Arquitetura em camadas
- Arquitetura MVC
- Microserviços
- Arquitetura Orientada a Mensagens
- Arquitetura Publish/Subscribe
- 5. Testes
- Teste de unidade
- Testabilidade
- Teste de integração
- Testes de sistema
- 6. Visão Geral sobre Manutenção de Software
- Conceito, motivações e dificuldades
- Tipos de Manutenção
- Processo de Manutenção de Software
- Gerência de Configuração
- Reengenharia
- 7. Ferramentas e Ambientes de Suporte ao Desenvolvimento de Software
📚 Bibliografia Básica e Complementar (ABNT)
📕 Bibliografia Básica
- PRESSMAN, R. S., MAXIM, B. R. Engenharia de Software: Uma Abordagem Profissional. 8ª Edição. Porto Alegre: Bookman, 2016.
- SOMMERVILLE, I. Engenharia de Software. 9ª Edição. São Paulo: Pearson, 2011.
- WAZLAWICK, R. S. Engenharia de Software: Conceitos e Práticas. São Paulo: Elsevier, 2013.
📗 Bibliografia Complementar
- DELAMARO, M. E., MALDONADO, J. C., JINO, M. Introdução ao Teste de Software. 2ª Edição. São Paulo: Elsevier, 2016.
- FERNANDES, J. M., MACHADO, R. J. Requisitos em Projetos de Software e de Sistemas de Informação.
- São Paulo: Novatec, 2017.
- HIRAMA, K. Engenharia de Software: Qualidade e Produtividade com Tecnologia. São Paulo: Elsevier, 4.
- MACHADO, F. N. R., Análise e Gestão de Requisitos de Software: Onde Nascem os Sistemas. 3ª Edição. São Paulo: Érica, 2015.
- SAMPAIO, C. Qualidade de Software na Prática: Como Reduzir o Custo de Manutenção de Software com a Análise de Código. São Paulo: Ciência Moderna, 2014.