Sobre esta disciplina

Período: 5º Período · Núcleo: Profissionalizante · Carga Horária: 60h Tópicos: Teoria dos sistemas. Processo de desenvolvimento de software. Análise e projeto de software. Arquitetura de software. Testes.

CampoValor
CódigoCSECBJI.36
NúcleoProfissionalizante
Carga Horária60
Período5º Período
Pré-requisitos

🔒 Trancas

📋 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

📖 Conteúdo Programático

  1. Teoria dos Sistemas
  • Sistemas naturais e sistemas automatizados
  • Software x Sistemas
  • Categorias de Software
  1. 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).
  1. 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
  1. Arquitetura de Software
  • Arquitetura em camadas
  • Arquitetura MVC
  • Microserviços
  • Arquitetura Orientada a Mensagens
  • Arquitetura Publish/Subscribe
  1. Testes
  • Teste de unidade
  • Testabilidade
  • Teste de integração
  • Testes de sistema
  1. 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
  1. Ferramentas e Ambientes de Suporte ao Desenvolvimento de Software

📚 Materiais de Apoio (acesso aberto)

Todos os materiais abaixo são de distribuição legal e gratuita — pode baixar e compartilhar.

📕 Bibliografia Básica

  1. PRESSMAN, R. S., MAXIM, B. R. Engenharia de Software: Uma Abordagem Profissional. 8ª Edição. Porto Alegre: Bookman, 2016.
  2. SOMMERVILLE, I. Engenharia de Software. 9ª Edição. São Paulo: Pearson, 2011.
  3. WAZLAWICK, R. S. Engenharia de Software: Conceitos e Práticas. São Paulo: Elsevier, 2013.

📗 Bibliografia Complementar

  1. DELAMARO, M. E., MALDONADO, J. C., JINO, M. Introdução ao Teste de Software. 2ª Edição. São Paulo: Elsevier, 2016.
  2. FERNANDES, J. M., MACHADO, R. J. Requisitos em Projetos de Software e de Sistemas de Informação.
  3. São Paulo: Novatec, 2017.
  4. HIRAMA, K. Engenharia de Software: Qualidade e Produtividade com Tecnologia. São Paulo: Elsevier, 4.
  5. 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.
  6. 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.