Troy Costa Kohwalter Adjunct Professor, IC/UFF D.Sc., IC/UFF, 2018 M.Sc., IC/UFF, 2013 B.Sc., IC/UFF, 2011 |
Disciplina: TCC00312 - Projeto de Software
Turma: B1
Data: Segundas e Sextas, de 11:00 às 13:00
Sala: 317
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 5 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 Monopoly onde seja possível jogar contra o computador ou outros jogadores.
O trabalho consiste em, durante o decorrer do curso, utilizar as técnicas aprendidas para explicitar os requisitos do sistema em questão e produzir os diagramas de projeto para esse sistema.
Foram reservados 3 momentos para apresentações de 20 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 a descrição do escopo do sistema, apresentar o diagrama de classe e o esboço do jogo.
A segunda apresentação deve conter os diagramas de classe atualizados, diagramas de sequência, diagramas de comunicação e contratos. Além disso deve apresentar a versão parcial do jogo.
A terceira apresentação deve conter os diagramas de classe atualizados utilizando padrões GRASP e GoF apropriados. Além disso, deve apresentar a versão final do produto e um detalhamento das dificuldades encontradas e decisões tomadas durante o desenvolvimento.
Essas apresentações e documentos serão avaliados 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 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.
Ferramentas CASE são de extrema valia durante as atividades de análise e projeto. Contudo, em momentos mais incipientes dessas atividades, a utilização de papel ou quadro normalmente contribui na estimulação da criatividade. Entretanto, para a execução do trabalho, é esperado o uso de ferramentas CASE.
Atualmente, existem diversas ferramentas CASE disponíveis gratuitamente para uso. Fica a critério dos grupos a seleção da ferramenta CASE que será utilizada na execução do trabalho. É importante notar que a ferramenta escolhida deve dar suporte à confecção de diagramas de caso de uso, classes, transição de estados, atividade e sequência de acordo com a UML 2. Um exemplo de ferramenta gratuita e compatível com todos os diagramas da UML 2 é a Visual Paradigm Community Edition.
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.
Além desses livros, há materiais online e cursos a distância de engenharia de software que podem ser úteis:
Data | Dia | Atividade | Entrega |
---|---|---|---|
18/03/2024 | Segunda | Aula - Apresentação da Disciplina | |
22/03/2024 | Sexta | Aula - Introdução ao Projeto de Software | |
25/03/2024 | Segunda | Aula - Arquitetura de Software | Exercícios de Introdução ao Projeto de Software |
29/03/2024 | Sexta | Sem Aula - Paixão de Cristo | |
01/04/2024 | Segunda | Aula - Projeto Detalhado | |
05/04/2024 | Sexta | Aula - Projeto Detalhado | Exercícios de Arquitetura de Software |
08/04/2024 | Segunda | Aula - Princípios de Projeto Orientado a Objetos | |
12/04/2024 | Sexta | Aula - Princípios de Projeto Orientado a Objetos | Exercícios de Projeto Detalhado |
15/04/2024 | Segunda | Apresentação dos Trabalhos | Slides |
19/04/2024 | Sexta | Apresentação dos Trabalhos | |
22/04/2024 | Segunda | Aula - Introdução a heurísticas de POO | Exercícios de Princípios de Projeto Orientado a Objetos |
26/04/2024 | Sexta | Aula de dúvidas | |
29/04/2024 | Segunda | Prova 1 | |
03/05/2024 | Sexta | Aula - Padrões GRASP | |
06/05/2024 | Segunda | Aula - Padrões GoF | |
10/05/2024 | Sexta | Aula de dúvidas | Exercícios de Padrões GRASP |
13/05/2024 | Segunda | Apresentação dos Trabalhos | Slides |
17/05/2024 | Sexta | Apresentação dos Trabalhos | |
20/05/2024 | Segunda | Sem Aula - Congresso | |
24/05/2024 | Sexta | Sem Aula - Congresso | |
27/05/2024 | Segunda | Vista da Prova | |
31/05/2024 | Sexta | Ponto Facultativo (Corpus Christi) | |
03/06/2024 | Segunda | Aula - Frameworks | Exercícios de Padrões GoF |
07/06/2024 | Sexta | Aula - Linha de Produtos de Software | |
10/06/2024 | Segunda | Aula de dúvidas | Exercícios de Frameworks |
14/06/2024 | Sexta | Prova 2 | |
17/06/2024 | Segunda | Aula de dúvidas | |
21/06/2024 | Sexta | Aula de dúvidas | Exercícios de Linha de Produtos de Software |
24/06/2024 | Segunda | Sem Aula - Feriado Municipal | |
28/06/2024 | Sexta | Apresentação dos Trabalhos | Slides |
01/07/2024 | Segunda | Apresentação dos Trabalhos | |
05/07/2024 | Sexta | Segunda Chamada | |
08/07/2024 | Segunda | Vista da Prova P2 e VR (Sala 455) | |
12/07/2024 | Sexta | Verificação Suplementar | |
15/07/2024 | Segunda | Vista da Prova VS |