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 |