Leonardo Gresta Paulino Murta Associate Professor, IC/UFF D.Sc., COPPE/UFRJ, 2006 M.Sc., COPPE/UFRJ, 2002 B.Sc., IC/UFRJ, 1999 |
Disciplina: TCC00180 Engenharia de Software I
Data: quartas e sextas, de 7:00 às 9:00
Sala: 321
Grupo: https://www.facebook.com/groups/es1-2015.2 (todos os alunos devem se inscrever no grupo)
Estagiário de Docência: João Carvalho
E-mail: jsouza@ic.uff.br
Horário: a combinar por e-mail
Local: a combinar por e-mail
Média = (2 x Prova 1 + 2 x Prova 2 + Trabalho) / 5
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, também preferencialmente na primeira semana de aula, escolher um sistema para ser o tema do seu trabalho. Esse sistema pode ser o Projeto de Aplicação de algum membro do grupo, algum sistema legado do estágio de um dos membros do grupo, algum sistema existente na internet, ou qualquer outro sistema que não tenha documentação de análise e projeto acessível aos membros do grupo. A escolha deve ser apresentada ao professor para aprovação.
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 análise e projeto para esse sistema.
Foram reservados três momentos para apresentações de 15 a 20 minutos por grupo e entregas parciais do trabalho. O grupo poderá utilizar slides e quadro para as apresentações e as entregas devem ser feitas em papel, no momento das apresentações. A primeira apresentação e entrega parcial deve conter a descrição do escopo do sistema e apresentar os seus requisitos e seus diagramas e descrições de casos de uso. A segunda apresentação e entrega parcial deve conter os diagramas de classe no nível de análise e projeto. A terceira apresentação e entrega parcial deve conter diagramas de transição de estados, atividades e sequência. Além disso, nessa última apresentação e entrega também é esperado um detalhamento das dificuldades encontradas e decisões tomadas. 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 apresentações e entregas devem ser feitas nas datas estipuladas na seção Cronograma.
Obs.: O atraso na entrega terá uma multa de um ponto por dia.
As listas de exercícios devem ser feitas em grupo e entregues eletronicamente para o assistente da disciplina (dados no início da página). Sua nota será um bonus de até 1 ponto na nota do trabalho. O prazo de entrega está definido na seção de Cronograma.
Obs.: Caso tenha dificuldade de fazer alguma questão, verifique se não é referente a uma matéria que está para ser apresentada nas próximas aulas.
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. Desta forma, é esperada a utilização de papel durante os exercícios em sala de aula, apesar de não ser proibida a utilização de ferramentas CASE caso o grupo disponha de laptop. Entretanto, para a execução do trabalho, é esperado o uso de ferramentas CASE.
Atualmente, existem diversas ferramentas CASE disponíveis gratuitamente para uso (http://en.wikipedia.org/wiki/List_of_UML_tools). 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 seqüência de acordo com a UML 2.
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.
Booch, G.; Rumbaugh, J.; Jacobson, I.; 2005. The Unified Modeling Language User Guide. 2nd ed. Addison-Wesley Professional.
Cockburn, A.; 2000. Writing Effective Use Cases. Addison-Wesley Professional.
Fowler, M.; 2003. UML Distilled: A Brief Guide to the Standard Object Modeling Language. 3rd ed. Addison-Wesley Professional.
Larman, C.; 2007. Utilizando UML e Padrões: uma introdução à análise e ao projeto orientados a objetos e ao desenvolvimento iterativo. Bookman
McLaughlin, B. D.; Pollice, G.; West, D.; 2006. Head First Object-Oriented Analysis and Design. illustrated edition. O’Reilly Media, Inc.
Pilone, D.; Russ, M.; 2008. Head First Software Development. illustrated edition. O’Reilly Media, Inc.
Pressman, R. S.; 2004. Software Engineering: A Practitioner’s Approach. 6 ed. McGraw-Hill.
Data | Atividade | Entrega |
02/12/2015 | Aula - Apresentação do Curso | |
04/12/2015 | Aula - Introdução à ES | |
09/12/2015 | Aula - Introdução à ES | |
11/12/2015 | Aula - Introdução à ES e Orientação a Objetos | |
16/12/2015 | Aula - Orientação a Objetos e Modelagem de Software | |
18/12/2015 | Aula - Modelagem de Software e Engenharia de Requisitos | |
23/12/2015 | Sem aula (Natal) | |
25/12/2015 | ||
30/12/2015 | Sem aula (Ano Novo) | |
01/01/2016 | ||
06/01/2016 | Aula - Engenharia de Requisitos | Lista de exercícios 1 |
08/01/2016 | Aula - Casos de Uso | Lista de exercícios 2 e 3 |
13/01/2016 | Aula - Casos de Uso | Lista de exercícios 4 e 5 |
15/01/2016 | Prova 1 | |
20/01/2016 | Apresentação de trabalhos (grupos 1, 4, 6 e 7) | Trabalho (Parte 1) |
22/01/2016 | Apresentação de trabalhos (grupos 2, 3, 5 e 8) | |
27/01/2016 | Aula - Diagrama de Classes | |
29/01/2016 | Aula - Diagrama de Classes | |
03/02/2016 | Vista de Provas e Aula - Diagrama de Classes | |
05/02/2016 | Aula - Diagrama de Classes | |
10/02/2016 | Sem aula (Carnaval) | |
15/02/2016 | ||
17/02/2016 | Apresentação de trabalhos (grupos 2, 3, 5 e 8) | Trabalho (Parte 2) |
19/02/2016 | Apresentação de trabalhos (grupos 1, 4, 6 e 7) | |
24/02/2016 | Aula - Diagrama de Transição de Estados | Lista de exercícios 6 |
26/02/2016 | Aula - Diagrama de Atividades | |
02/03/2016 | Aula - Diagrama de Sequência | Lista de exercícios 7 |
04/03/2016 | Aula - Outros Diagramas da UML | Lista de exercícios 8 e 9 |
09/03/2016 | Prova 2 | |
11/03/2016 | Apresentação de trabalhos (grupos 3, 6, 7 e 8) | Trabalho (Parte 3) |
16/03/2016 | Apresentação de trabalhos (grupos 1, 2, 4 e 5) | |
18/03/2016 | Vista de prova | |
23/03/2016 | Verificação Suplementar ou Segunda Chamada | |
25/03/2016 | Sem aula (Semana Santa) | |
30/03/2016 | Vista de prova | |
01/04/2016 | Verificação Suplementar para quem fez Segunda Chamada |