Engenharia de Software
2024/2 - Turma 0602
Ementa
Introdução à Engenharia de Software. Paradigmas da Engenharia de Software. Engenharia de Sistemas. Análise de Sistemas e Requisitos. Projeto de Software. Testes de Software. Manutenção de Software. Gerência de Configuração e Mudança. Processos de Desenvolvimento de Software.
Competências
Ao final da disciplina, o(a) aluno(a) deverá estar apto a:
— escolher o processo de desenvolvimento mais adequado para a realidade de uma empresa ou setor de desenvolvimento de software;
— relacionar as diferentes etapas de desenvolvimento de software para a compreensão do sistema e do seu contexto.
Objetivos
Capacitar o(a) aluno(a) nos principais modelos e nas atividades da engenharia de software, com foco nos processos de desenvolvimento de software, com abordagem teórico-prática, visando instrumentalizar o(a) aluno(a) nas principais áreas chave de conhecimento da engenharia de software.
Além disso, objetiva-se especificamente que o(a) aluno(a) desenvolva as seguintes habilidades:
— discutir a evolução da engenharia de software;
— diferenciar os principais paradigmas da engenharia de software;
— compreender cada etapa do desenvolvimento de software;
— distinguir os diversos processos de desenvolvimento de software abordados.
Programa
1. Introdução à Engenharia de Software
— Crise do Software
— Mitos da Engenharia de Software
2. Paradigmas da Engenharia de Software
— Modelo Clássico (Cascata)
— Modelo de Prototipação
— Modelo Espiral
— Modelo Iterativo e Incremental
3. Ciclo de Vida da Engenharia de Software
4. Engenharia de Sistemas
— Atividades da fase
— Habilidades do engenheiro de software
5. Análise de Sistemas e Requisitos
— Atividades da fase
— Princípios da fase
6. Projeto de Software
— Atividades da fase
— Princípios da fase
7. Testes de Software
— Testes de verificação
— Testes de validação
8. Manutenção de Software
— Manutenção corretiva
— Manutenção adaptativa
— Manutenção perfectiva
— Manutenção preventiva
— Engenharia reversa
— Reengenharia
9. Gerência de Configuração e Mudança
— Controle de alterações e versões
— Baseline
10. Processos de Desenvolvimento e/ou Gerenciamento de Software
— Rational Unified Process
— Extreme Programming
— Feature Driven Development
— SCRUM
— Kanban
Metodologia
O Aporte Teórico-metodológico de Competências da disciplina envolverá aulas expositivas dialogadas, por meio de slides e vídeos, nas quais os alunos podem discutir os assuntos abordados e contribuir com experiências. São previstos trabalhos individuais e em grupo, com a elaboração de trabalhos escritos e apresentações orais. A disciplina também será trabalhada por meio da problematização, ou seja, serão apresentados ou solicitados problemas, bem como sua solução dos mesmos tendo como base o conteúdo abordado na disciplina.
O Trabalho Discente Efetivo se dará, em cada aula, por meio de questionários, testes, mapas conceituais, além do apropriamento dos conceitos e fundamentos oferecidos pelos conteúdos estudados. Nestas atividades os alunos deverão se aprofundar no assunto com o apoio do material indicado e seguindo as instruções passadas pelo(a) professor(a), compartilhar com a sua equipe ou com a classe o conhecimento obtido.
A organização metodológica explicita um conjunto de intencionalidades e estratégias pedagógicas diferenciadas onde a sala de aula passa a ser um espaço privilegiado de discussões, marcado pela interação entre os seus protagonistas, professor e alunos. Pressupõe acolher a investigação como princípio pedagógico norteador, a dúvida como mote fomentador para a construção de uma aprendizagem significativa e transformadora e a mutualidade como princípio fundante deste processo.
Durante o semestre os alunos terão acesso a Web Aulas na plataforma Novo Aula: 03 aulas online serão disponibilizadas em um sistema web, compostas por recursos didáticos - como textos, apresentações e vídeos - e atividades individuais ou em grupo, seguindo as determinações da Portaria MEC no 2.117, de 06 de dezembro de 2019.
Avaliação
A avaliação da aprendizagem do aluno é expressa numericamente numa escala de zero (0) a dez (10) e será realizada ao longo do semestre letivo dividida em duas avaliações de grau (G1 e G2). A avaliação será continuada através de trabalhos, seminários, listas de exercícios e provas no decorrer do semestre.
Valores das avaliações:
Avaliação G1
• Atividades individuais e em grupo (4,0)
• Prova (6,0)
Avaliação G2
• Atividades individuais e em grupo, projeto da disciplina (4,0)
• Prova (6,0)
A Média Parcial (MP) é o resultado da média ponderada entre G1, com peso um, e G2, com peso dois. Calculada da seguinte forma: MP = (G1 + (G2 x 2))/3.
Serão aprovados os alunos que atingirem, no mínimo, 6,0 (seis) pontos na MP.
Os alunos que atingirem, no mínimo, 75% de frequência poderão realizar a prova de Exame Final (EF). Nesse caso, a Média Final (MF) será o resultado da média ponderada entre Média Parcial (MP), com peso um, e Exame Final (EF), com peso dois. Calculada da seguinte forma: MF = (MP + (EF x 2))/3.
Qualquer aluno que tenha atingido a frequência mínima tem direito a realizar a prova de EF para aumentar a sua média, independente de aprovação.
Critérios de avaliação:
• Compreensão dos conceitos e termos técnicos;
• Participação e execução das atividades propostas em sala de aula;
• Organização do pensamento e dos conceitos apresentados;
• Resolução de problemas e questões;
• Trabalhos:
**Conteúdo claro e abrangente;
**Criatividade;
**Apresentação.
Bibliografia
Básica
PRESSMAN, Roger S.; MAXIM, Bruce R. Engenharia de software: uma abordagem profissional. Tradução [de] Francisco Araújo da Costa. 9. ed. Porto Alegre: AMGH, 2021. E-book. [Minha Biblioteca]. Disponível em: https://integrada.minhabiblioteca.com.br/reader/books/9786558040118. Acesso em: 30 mar. 2022.
SOMMERVILLE, I. Engenharia de software. Tradução de Luiz Cláudio Queiroz; revisão técnica de Fábio Levy Siqueira. 10. ed. São Paulo: Prentice Hall, 2018. E-book. [BV Pearson]. Disponível em: https://plataforma.bvirtual.com.br/Acervo/Publicacao/168127 . Acesso em: 30 mar. 2022.
WAZLAWICK, R. S. Engenharia de Software: conceitos e práticas. Rio de Janeiro: Elsevier, 2013.
Complementar
FELIX, Rafael (org.). Teste de software. São Paulo: Pearson Education do Brasil, 2016. E-book. [BV Pearson]. Disponível em: https://plataforma.bvirtual.com.br/Leitor/Publicacao/150962. Acesso em: 1 abr. 2022.
GALOTTI, Giocondo Marino Antonio. Qualidade de software. São Paulo: Pearson Education do Brasil, 2016. E-book. [BV Pearson]. Disponível em: https://plataforma.bvirtual.com.br/Acervo/Publicacao/124148 . Acesso em: 30 mar. 2022.
OLIVEIRA, Bruno Souza de. Métodos ágeis e gestão de serviços de TI. Rio de Janeiro: Brasport, 2018. E-book. [BV Pearson]. Disponível: https://plataforma.bvirtual.com.br/Acervo/Publicacao/160046. Acesso em: 30 mar. 2022.
PFEEGLER, Shari Lawrence. Engenharia de software: teoria e prática. Tradução de Dino Franklin. 2. ed. São Paulo: Prentice Hall, 2004. E-book. [BV Pearson]. Disponível em: https://plataforma.bvirtual.com.br/Acervo/Publicacao/476 . Acesso em: 30 mar. 2022.
VAZQUEZ, Carlos Eduardo; SIMÕES, Guilherme Siqueira. Engenharia de requisitos: software orientado ao negócio. Rio de Janeiro: Brasport, 2016. E-book. [BV Pearson]. Disponível em: https://plataforma.bvirtual.com.br/Acervo/Publicacao/160193. Acesso em: 30 mar. 2022.
Material Digital
Gerenciamento de Requisitos: https://plataforma.bvirtual.com.br/Acervo/Publicacao/22130
Scrum.org - Blog da Comunidade: https://www.scrum.org/resources/blog