Laboratório de Engenharia de Software
IMPORTANTE
Devido as suspensão das atividades presenciais na UFPA, a disciplina irá rodar de forma REMOTA. O horário de aula será respeitado, e os encontros irão acontecer online. Como isso está sendo feito de forma EXPERIMENTAL, é provável que várias mudanças aconteçam ao longo da disciplina. Por favor, semprem olhem o Telegram, que é o canal oficial de comunicação da turma. Reforço que as atividades remotas serão reavaliadas a cada semana. Se não houver progresso/participação por parte dos alunos, a disciplina será suspensa, e só retornará quando a UFPA retormar as atividades.
Horário
Segunda e Quarta, às 18:30.
Telegram
Todo material de aula será postado no Telegram. Para acessar: https://t.me/joinchat/GeSB2RfUVFvkfzuoM8H8fg
Objetivo
Aplicação dos conceitos de engenharia de software e de banco de dados, através do desenvolvimento controlado de um sistema de software, desde a análise de requisitos até a aceitação do software, projeto do banco dados, aplicação de técnicas de verificação e validação e geração dos documentos relevantes.
Ementa
- Engenharia de software: UML (Casos de uso, diagramas de classe, estado, etc), Método ágeis, Testes de software
 - Banco de dados: Criação e manipulação de banco de dados
 - Programação orientada a Objetos
 
Importante: Por ser uma disciplina de laboratório, não iremos introduzir novos conceitos. Ao contrário, iremos praticar os conceitos já estudados.
Bibliografia
- Engenharia de Software Moderna - Marco Tulio Valente
 - Refactoring: Improving the Design of Existing Code - Martin Fowler
 - Test Driven Development: By Example - Kent Beck
 - Clean Code: A Handbook of Agile Software Craftsmanship - Robert Martin
 - Clean Architecture: A Craftsman’s Guide to Software Structure and Design
 
Material extra
- Beck, K. (1999). Embracing change with extreme programming. IEEE Computer, (10), 70-77.
 - The Scrum guide
 
Avaliação
A avaliação será contínua (não haverá provas nem outros trabalho).
Dinâmica do curso
O foco da disciplina está na criação de um protótipo funcional para um problema real.
Para isso, o professor da disciplina irá chamar alguns clientes interessados em uma solução de tecnologia. Os clientes irão solicitar suas demandas. As demandas dos clientes irão para um backlog de demandas. A disciplina também contará com um gerente de projetos, que tem a função de auxiliar os alunos para gerenciar as expectativas com o cliente.
Para conduzir os projetos, iremos usar o método ágil Scrum. No Scrum, cada equipe precisa de um líder. As equipes terão até quatro alunos (um deles será o líder). A nossa sprint do Scrum será de uma semana. Ou seja, a cada semana, a equipe deve entregar um protótipo funcional.
Como essa é uma disciplina iterativa e dinâmica, não deixem para trabalhar no projeto no último minuto, pois não irá adiantar.
Equipes
- TBD
 
Clientes
- Givago Souza
 
Gerente de projetos
- Edson Costa
 
Cronograma
Passível de alterações.
| # | Data | Conteúdo de Aula | 
| 1 | 09/03 | AULA CANCELADA | 
| 2 | 11/03 | AULA CANCELADA | 
| 3 | 16/03 | Apresentação da disciplina | 
| 4 | 18/03 | Apresentação do primeiro cliente | 
| 5 | 23/03 | Apresentação do segundo cliente | 
| 6 | 25/03 | Definição de grupos e projetos | 
| 7 | 30/03 | Sprint Equipes 1 e 2 | 
| 8 | 01/04 | Sprint Equipes 3 e 4 | 
| 9 | 06/04 | Sprint Equipes 1 e 2 | 
| 9 | 08/04 | Sprint Equipes 3 e 4 | 
| 9 | 13/04 | Sprint Equipes 1 e 2 | 
| 10 | 15/04 | Sprint Equipes 3 e 4 | 
| 11 | 20/04 | Sprint Equipes 1 e 2 | 
| 13 | 22/04 | Sprint Equipes 3 e 4 | 
| 12 | 27/04 | Sprint Equipes 1 e 2 | 
| 14 | 29/04 | Sprint Equipes 3 e 4 | 
| 15 | 04/05 | Sprint Equipes 1 e 2 | 
| 16 | 06/05 | Sprint Equipes 3 e 4 | 
| 17 | 11/05 | Sprint Equipes 1 e 2 | 
| 18 | 13/05 | Sprint Equipes 3 e 4 | 
| 19 | 18/05 | Sprint Equipes 1 e 2 | 
| 21 | 20/05 | Sprint Equipes 3 e 4 | 
| 22 | 25/05 | Sprint Equipes 1 e 2 | 
| 23 | 27/05 | Sprint Equipes 3 e 4 | 
| 24 | 01/06 | Sprint Equipes 1 e 2 | 
| 25 | 03/06 | Sprint Equipes 3 e 4 | 
| 26 | 08/06 | Sprint Equipes 1 e 2 | 
| 27 | 10/06 | Sprint Equipes 3 e 4 | 
| 28 | 15/06 | Sprint Equipes 1 e 2 | 
| 29 | 17/06 | Sprint Equipes 3 e 4 | 
| 28 | 22/06 | Apresentação de projetos (Equipes 1 e 2) | 
| 29 | 24/06 | Apresentação de projetos (Equipes 3 e 4) | 
| 28 | 29/06 | Buffer | 
| 29 | 01/07 | Buffer |