Trabalhos de MAC 5715

Além dos trabalhos realizados em sala de aula, teremos 3 trabalhos para realizar em casa. Datas de Entrega dos Trabalhos:

Projeto Final

O projeto final poderá ser uma monografia, seminário ou implementação de software. É possível também apresentar um seminário e além disso participar de um grupo de implementação de software. Quem fizer essas duas coisas receberá simpatia especial do professor no momento da avaliação.

Tópicos para Monografias

De 8 a 10 páginas escrita individualmente em excelente português (serei bem rigoroso na correção).
  1. Sugira o seu tópico

Tópicos para Seminários

Feitos em grupos de um ou dois e apresentados em 45 minutos. O seminário deverá ser muito bem preparado e os alunos deverão demonstrar que estudaram muito bem o tópico abordado. Os slides devem ser submetidos ao professor (nos formatos .ppt, .ps ou .pdf) para revisão 72 horas antes da apresentação.
  1. AspectJ
  2. Programação Orientada a Aspectos
  3. 2 padrões do GoF
  4. 2 padrões dos livros POSA
  5. 2 padrões do PLoP 2002
  6. padrões educacionais do PLoP 2002
  7. 4 a 6 tipos de refatoramento (do livro do Martin Fowler)
  8. Ferramentas para refatoramento automático (links a partir de www.refactoring.com)
  9. Ferramentas para testes automatizados em Java e C++
  10. Visão Geral dos diferentes métodos ágeis de desenvolvimento de software.
  11. O uso de padrões e arcabouços no sistema operacional Choices
  12. Guaraná: uma implementação reflexiva de Java
  13. Padrões de Re-engenharia Orientada a Objetos
  14. Modelos Adaptativos de Objetos

Tópicos para Implementações

Em grupos de 2 pessoas (recomendo programação pareada). No final do semestre, a execução do software será demonstrada para o professor, assistente e demais interessados.
  1. Aplicação reconfigurável utilizando os Configuradores de Componentes propostos pelo que vos escreve.
  2. Aplicação usando o Guaraná
  3. Aplicação usando o AspectJ
  4. Aplicação Distribuída Adaptativa baseada no Arcabouço do Francisco
  5. Aplicação qualquer baseada em padrões (pelo menos 4 deles)
  6. Aplicação J2EE usando um servidor de aplicações
  7. Aplicação OO para PalmPilots (ou outro tipo de computador de mão)
  8. Uma solução para o Desafio de Software Nacional para Gestão Pública voltado para intrumentalizar o agente de saúde utilizando computador de mão, comunicação sem fio e acesso à base de dados na Secretaria de Saúde, sendo vencedora a solução mais aberta, mais barata, mais eficiente e mais nacional.
Uma possibilidade bem interessante é juntar 2 trabalhos em 1 no final do curso. Ou seja, 2 (ou mais) grupos de 2 pessoas trabalham cada um em uma parte independente de um sistema maior, combinando inicialmente qual vai ser a interface usada para a comunicação entre os dois sistemas. No final, cada grupo entrega o seu trabalho separadamente (com testes para a sua parte) mas o demo é feito integrando-se todas as partes.


Página de MAC 5715
Página do Fabio
Página do DCC