![]() |
Troy Costa Kohwalter Adjunct Professor, IC/UFF D.Sc., IC/UFF, 2018 M.Sc., IC/UFF, 2013 B.Sc., IC/UFF, 2011 |
![]() |
Disciplina: TCC00293 - Engenharia de Software II
Turma: A1
Data: Segundas e Quartas, de 9:00 às 11:00
Sala: 217
P1 = Prova sem consulta (35%)
P2 = Prova sem consulta (35%)
T = Trabalho do curso (25%)
E = Somatório dos exercícios do classroom (5%)
Média = P1x35% + P2x35% + Tx25% + Ex5%
APROVADO
(Presença >= 75%) E (Média >= 6)
VERIFICAÇÃO SUPLEMENTAR
(Presença >= 75%) E (4 <= Média < 6)
Será aprovado na VS se tirar nota maior ou igual a 6.
REPROVADO
Caso contrário
FREQUÊNCIA
De acordo com o Regulamento dos Cursos de Graduação, a presença mínima necessária para aprovação é de 75% das aulas (Art. 80, §14). Vale notar que segundo o mesmo regulamento, nenhuma falta será abonada (Art. 80, §15).
O curso terá um trabalho feito em grupos de 4 a 7 participantes, que devem ser constituídos preferencialmente na primeira semana de aula e ter a mesma formação até o final do curso. Cada grupo deve se enxergar como uma pequena software house. O tema do trabalho consiste em fazer o jogo Ticket to Ride onde seja possível jogar contra o computador. É esperado que os grupos, durante o decorrer do curso, utilizem as técnicas aprendidas para gerenciar o projeto e desenvolver o produto. Será avaliado o produto final e como esse produto foi desenvolvido (processos e técnicas aplicados).
Desde o início do trabalho, os grupos devem registrar as tarefas alocadas para cada membro do grupo, assim como as horas previstas para realização da tarefa e as horas efetivamente realizadas na tarefa. Essa informação será fundamental para viabilizar o Monitoramento e Controle do projeto. Além disso, apesar da matéria de testes ser dada somente no final do curso, escolham um framework de testes de unidade popular para a linguagem de programação adotada pelo grupo e iniciem a escrita dos testes desde já. Tirem dúvidas no Google Classroom ou diretamente com o professor caso necessário.
Foram reservados 3 momentos para apresentações de 30 minutos por grupo. O grupo deve utilizar slides nas apresentações e publicar esses slides no Google Classroom no dia das apresentações.
A primeira apresentação deve conter o escopo do produto (requisitos) e do projeto (EAP), as estimativas de esforço (tanto via APF quanto via Planning Poker sobre os pacotes de trabalho da EAP), o custo, o orçamento e o cronograma de desenvolvimento (Gantt). Também deve apresentar a análise de riscos (listagem, probabilidade x impacto, priorização pela exposição e planos de contenção e contingência) e os dados de monitoramento e controle do projeto (Burndown dentro de cada iteração e Análise de Valor Agregado ao final de cada iteração). Por fim, deve ser apresentada a versão parcial do produto feita até então (demo).
A segunda apresentação deve conter o controle de versões (e.g., Git) e controle de modificações (e.g., GitHub Issues) usados no projeto, a estratégia de ramificação adotada e o endereço do repositório. Será considerado um bônus usar Pull Request com aprovações e integração contínua (e.g., GitHub Actions). Vale ressaltar que o repositório de controle de versões deve conter todos os artefatos produzidos durante o trabalho. Por fim, devem ser apresentados os dados de monitoramento e controle do projeto (conforme descrito anteriormente) e a versão parcial do produto feita até então (demo).
A terceira apresentação deve conter como foram feitos os testes de unidade, integração, sistema e aceitação (alfa e beta) no projeto (casos e resultados dos testes). Por fim, devem ser apresentados os dados de monitoramento e controle do projeto (conforme descrito anteriormente) e a versão final do produto (demo). Caso o grupo deseje que o professor pondere a nota por membro do grupo, deve ser informada nesta apresentação a participação de cada membro do grupo no trabalho (PV e EV de cada membro). Essas apresentações serão avaliadas pela sua completude e corretude e capacidade de argumentação em relação às decisões tomadas. Essas decisões devem ser fundamentadas nos princípios estudados durante o curso. Essas apresentações e entregas devem ser feitas nas datas estipuladas na seção Cronograma.
Diversos exercícios serão disponibilizadas durante o curso. Todos terão data de entrega marcada no Google Classroom e deverão ser entregues sem atrasos para serem pontuados. Durante a resolução dos exercícios, os alunos podem usar comentários de uma tarefa específica para tirar dúvidas no Google Classroom.
No curso não temos uma ferramenta obrigatória. Os grupos devem aproveitar essa oportunidade para experimentar ferramentas que ainda não conhecem ou mesmo aprofundar os conhecimentos em ferramentas já conhecidas.
Existem várias ferramentas proprietárias e livres que apóiam os diferentes tópicos tratados neste curso: gerência de projetos, estimativas, controle de versões, controle de modificações, gerenciamento de construção, integração contínua, hospedagem de projetos, testes de unidade, testes de interface, testes de carga e profiling.
Visando um maior aprofundamento, as aulas foram baseadas em diversos livros. Não é esperado que todos esses livros sejam lidos pelos alunos durante o curso, mas podem ser consultados no caso de dúvidas específicas em um determinado assunto da matéria. A seguir, são listadas as referências completas dos principais livros utilizados. Apesar de essas referências estarem em inglês, muitos desses livros têm versões em português.
Data | Dia | Atividade | Entrega |
---|---|---|---|
24/03/2025 | Segunda | Aula - Apresentação da Disciplina | |
26/03/2025 | Quarta | Aula - Processo de Software | |
31/03/2025 | Segunda | Aula - Planejamento de Projetos | |
02/04/2025 | Quarta | Aula - Planejamento de Projetos | Exercícios de Processo de Software |
07/04/2025 | Segunda | Aula - Planejamento de Projetos | |
09/04/2025 | Quarta | Aula - Planejamento de Projetos | |
14/04/2025 | Segunda | Aula - Monitoramento e Controle | |
16/04/2025 | Quarta | Aula - Gerenciamento ágil | Exercícios de Planejamento de Projetos |
21/04/2025 | Segunda | Sem Aula - Tiradentes | |
23/04/2025 | Quarta | Sem Aula - São Jorge | |
28/04/2025 | Segunda | Aula de dúvidas | Exercícios de Monitoramento e Controle |
30/04/2025 | Quarta | Aula de dúvidas | Exercícios de Gerenciamento ágil |
05/05/2025 | Segunda | Apresentação dos Trabalhos | |
07/05/2025 | Quarta | Apresentação dos Trabalhos | |
12/05/2025 | Segunda | Aula de dúvidas | |
14/05/2025 | Quarta | Prova 1 | |
19/05/2025 | Segunda | Aula - Gerência de Configuração | |
21/05/2025 | Quarta | Aula - Gerência de Configuração | |
26/05/2025 | Segunda | Aula - Git | |
28/05/2025 | Quarta | Aula de dúvidas | Exercícios de Gerência de Configuração |
02/06/2025 | Segunda | Apresentação dos Trabalhos | |
04/06/2025 | Quarta | Apresentação dos Trabalhos | |
09/06/2025 | Segunda | Vista da Prova 1 | |
11/06/2025 | Quarta | Aula - Verificação, Validação e Testes | |
16/06/2025 | Segunda | Aula - Verificação, Validação e Testes | |
18/06/2025 | Quarta | Aula - Garantia da Qualidade | |
23/06/2025 | Segunda | Aula - Manutenção de Software | Exercícios de VV&T |
25/06/2025 | Quarta | Aula de dúvidas | Exercícios de Garantia da Qualidade |
30/06/2025 | Segunda | Apresentação dos Trabalhos | |
02/07/2025 | Quarta | Apresentação dos Trabalhos | |
07/07/2025 | Segunda | Aula de dúvidas | Exercícios de Manutenção de Software |
09/07/2025 | Quarta | Prova 2 | |
14/07/2025 | Segunda | Segunda Chamada | |
16/07/2025 | Quarta | Vista da Prova P2 e VR (Sala 455) | |
21/07/2025 | Segunda | Verificação Suplementar | |
23/07/2025 | Quarta | Vista da Prova VS |