CCT-UFCA/Ciência da Computação/Engenharia de Software
Programa do Componente Curricular
[editar | editar código]| Código: | CC0030 | ||||||||
| Componente Curricular: | Engenharia de Sofware | ||||||||
| Semestre de Oferta: | 5º | Tipo: | Disciplina | Caráter: | Obrigatória | ||||
| Unidade Acadêmica Responsável: | Centro de Ciências e Tecnologia - CCT | ||||||||
| Área: | Sistemas de Informação | ||||||||
| Créditos: | 4 | Carga horária: | 64 | Teórica: | 48 | Prática | 16 | Extensão: | - |
| Pré-requisito: | CC0019 - Programação Orientada a Objetos | ||||||||
| Co-requisito: | |||||||||
| Equivalência: | |||||||||
Objetivos
[editar | editar código]Apresentar as principais técnicas, métodos e ferramentas usadas para o desenvolvimento e manutenção de Software. Desenvolver estudos de casos baseados nos principais conceitos, técnicas e métodos apresentados.
Ementa
[editar | editar código]Introdução a Engenharia de Software. Modelos de processos de desenvolvimento de software. Planejamento e gerenciamento de software. Requisitos de software. Análise e Projeto de Software. Codificação de Software. Depuração e Testes. Refatoração e Modularidade.
Conteúdo
[editar | editar código]- Introdução a Engenharia de Software
- Crise do Software e Processo de Desenvolvimento de Software
- Estudo de viabilidade
- Processo de Desenvolvimento de Software Cascata e JAD
- Processo de Desenvolvimento de Software Prototipação
- Planning Poker
- Extreme Programming (XP)
- Introdução à Engenharia de Requisitos
- Requisitos Funcionais e Não Funcionais
- Elicitação e Análise de Requisitos
- Especificação de Requisitos
- Depuração e Testes de Software
- Testes Exploratórios
- Testes Unitários
- Modularidade
- Método ágil Lean
- Refatoração
- Estórias do Usuário e Critérios de Aceitação
- Processo de Desenvolvimento Exploratório
- Métodos ágeis
- Verificação e Validação
- DevOps
Metodologia
[editar | editar código]A disciplina combina aulas expositivas, práticas e dinâmicas, promovendo a integração entre teoria e aplicação prática. As atividades propostas buscam desenvolver tanto o domínio conceitual quanto habilidades de colaboração e resolução de problemas.
- Aulas de conteúdo: exposição teórica dos conceitos, métodos e técnicas relacionadas ao tema da disciplina;
- Aulas de exercícios: resolução de listas de exercícios, discussão em grupo e apresentação de soluções passo a passo, visando consolidar o aprendizado e aplicar os conceitos na prática;
- Dinâmicas em grupo: atividades interativas que estimulam a reflexão, o pensamento crítico e o trabalho em equipe, conectando os conteúdos a situações reais;
- Acompanhamento de projeto: encontros destinados à orientação e acompanhamento do desenvolvimento dos projetos dos alunos, com feedback contínuo sobre o progresso e aplicação dos conceitos estudados.
Avaliação
[editar | editar código]A avaliação da disciplina é composta por etapas teóricas e práticas, buscando equilibrar o domínio conceitual, a aplicação dos conteúdos e o desenvolvimento de um projeto.
- Mini-testes: realizados antes de cada prova, com o objetivo de revisar os principais tópicos e acompanhar o progresso dos alunos;
- Duas Provas: avaliações teóricas e práticas aplicadas em dois momentos do semestre, abrangendo os conteúdos apresentados até cada etapa;
- Atividades ao longo do semestre: exercícios, listas e dinâmicas desenvolvidas em sala para reforçar o aprendizado contínuo;
- Prototipação de sistema: desenvolvimento e apresentação de um protótipo de sistema, avaliando a capacidade de aplicar os conceitos da disciplina em um contexto prático.
A nota final resulta da combinação das provas, mini-testes, atividades e da entrega e apresentação do projeto, conforme os critérios estabelecidos pelo professor responsável.
Bibliografia Básica
[editar | editar código]- SOMMERVILLE, I. Engenharia de software. 8 ed. São Paulo: Pearson Addison, 2007. 552 p.
- FOX, A.; PATTERSON, D. Construindo Software como Serviço (SaaS): Uma Abordagem Ágil Usando Computação em Nuvem. 1ª Edição. Strawberry Canyon LLC, 2016.
- PRESSMAN, R. S.; MAXIM, B. R. Engenharia de Software: Uma Abordagem Profissional. 8a edição. Porto Alegre: Editora McGraw-Hill, 2016.
Bibliografia Complementar
[editar | editar código]- VALENTE, M. T. Engenharia de Software Moderna. Disponível em: https://engsoftmoderna.info/ Acesso em 04 de dezembro de 2019.
- FOWLER, M. UML Essencial. 3ª Edição. Editora Campus, 2016. • PFLEEGER, S. L. Engenharia de Software - Teoria e Prática. 2ª Edição. Editora Prentice Hall, 2004.
- PETERS, J. F. Engenharia de Software: Teoria e Prática. 1ª Edição. Editora Campus, 2001.
- FILHO, W. P. P. Engenharia de Software: Fundamentos, Métodos e Padrões. 3a Edição. Editora LTC, 2009.