Versões para impressão

Versão em PDF
Versão em PS

Proposta de Monografia

Integrantes Supervisor Tipo do trabalho
Hugo Corbucci e Mariana Vivian Bravo Prof. Dr. Fabio Kon Projeto

Temas:

Modelagem em Programação Orientada a Objetos
Programação extrema (XP) aplicada a desenvolvimento de Software Livre.

Título:

Archimedes: Software livre, programação extrema e orientação a objetos

O projeto:

Archimedes é um software livre para desenho técnico (CAD – projeto auxiliado por computador) com apenas quatro meses de desenvolvimento. O projeto foi idealizado há pouco mais de um ano por um grupo de alunos do IME do qual os autores deste trabalho fazem parte.

O objetivo inicial do projeto é produzir uma ferramenta suficientemente funcional para uso comercial por arquitetos. Ela deve se assemelhar ao líder de mercado AutoCAD® na interface com o usuário de forma a facilitar a transição entre os dois programas. Além disso, com o amadurecimento do software, suas funcionalidades deverão proporcionar uma maior produtividade aos usuários.

Atividades já realizadas:

A primeira fase do projeto consistiu em montar um grupo de colegas interessados em desenvolvê-lo. Em julho de 2005, o grupo analisou outros softwares abertos semelhantes, com a finalidade de encontrar algum que pudesse servir como base inicial ao Archimedes. Como nenhum projeto era adequado, decidiu-se começar do zero com a linguagem Java e as bibliotecas gráficas abertas SWT e OpenGL.

Durante o segundo semestre de 2005, o grupo aproveitou a disciplina de Engenharia de Software para conhecer e aplicar essas tecnologias. A disciplina também serviu para aplicar algumas práticas de programação extrema como programação pareada, integração contínua, testes automatizados entre outras. Optou-se por programação extrema pois o projeto tem muitos requisitos e era essencial que os arquitetos participassem do desenvolvimento para permitir que o projeto crescesse no sentido desejado.

O desenvolvimento começou com a matéria de Laboratório de Programação Extrema com um grupo de oito alunos. O planejamento do projeto, no entanto, teve início no fim de 2005 por meio de reuniões com os arquitetos envolvidos e reuniões do próprio grupo para entender melhor o programa a ser desenvolvido e discutir possíveis modelagens. Desde o início da disciplina, quatro reuniões com os arquitetos foram feitas para mostrar o trabalho. Apesar de o programa já ter quatro versões estáveis decorrentes destas reuniões, ele ainda está longe de ser usado como ferramenta de trabalho.

Todo o material produzido até agora pode ser encontrado na internet em:
http://archimedes.iv.fapesp.br

Objetivos do trabalho:

Cronograma de atividades:


DataEvento
27/05/2006Entrega do release 3
01/07/2006Entrega do release 4
02/08/2006Início do primeiro rascunho da monografia
05/08/2006Entrega do release 5
26/08/2006Entrega do release 6
26/08/2006Fim do primeiro rascunho
02/09/2006Apos análise do primeiro, início do segundo rascunho
16/09/2006Entrega do release 7
26/09/2006Fim do segundo rascunho
02/10/2006Início da primeira versão da monografia
07/10/2006Entrega do release 8
26/10/2006Fim da primeira versão da monografia
28/10/2006Entrega do release 9
02/11/2006Encerramento da programação relativa ao pôster, a apresentação e monografia. Fazer o pôster.
04/11/2006Começo da versão final da monografia
11/11/2006Montar apresentação
25/11/2006Encerramento da monografia
02/12/2006Entrega do release 10. Encerramento do trabalho para mac499
03/12/2006Revisão da monografia
08/12/2006Lançamento da versão 1.0 do Archimedes

OBS: As atividades com fundo prata são relacionadas a mac499.

Estrutura esperada da parte técnica da monografia:

Introdução:

Descrição, motivação e histórico do projeto.

Conceitos e tecnologias estudadas:

Enumeração das linguagens e bibliotecas utilizadas.
Abordagem da aplicação de computação gráfica e geometria computacional no projeto.
Descrição da metodologia utilizada (programação extrema) e dos cuidados tomados no projeto arquitetural orientado a objetos.

Metodologia:

Explicação mais detalhada da metodologia.
Adaptações feitas a programação extrema para aplicar ao desenvolvimento de software livre.

Descrição técnica:

Arquitetura do sistema.
Padrões utilizados.
Principais algoritmos.

Atividades realizadas:

Estado atual do projeto.
Publicações relacionadas.
Participação em eventos de software livre.

Resultados e produtos obtidos:

Opiniões da comunidade de software livre e dos arquitetos.
Apresentações das principais funcionalidades do programa.
Análise dos resultados obtidos com programação extrema.

Conclusões:

Conclusão sobre as escolhas tomadas durante o desenvolvimento.
Especulações sobre o futuro do projeto.

Bibliografia:

Dispensa explicações.