Documente Academic
Documente Profesional
Documente Cultură
Perodo: 2012/2
Coordenador: Prof. Carlos Jos Pereira Lucena
Informaes gerais
Objetivo da disciplina
objetivo do projeto final de programao averiguar se o aluno sabe
empregar tcnicas eficazes para especificar, projetar, desenvolver, controlar
a qualidade e documentar programas, que tenham um nvel de
complexidade pelo menos mediano. Os programas devem ser confiveis,
teis e utilizveis e devem possuir elevada qualidade de engenharia.
Natureza do trabalho
O resultado do projeto de programao pode ser qualquer programa que
sirva para demonstrar a capacidade do aluno de desenvolver e testar
racionalmente programas satisfazendo os objetivos acima.
O programa ser til na medida que realize um servio de interesse a
algum que no seja exclusivamente o aluno. A utilidade do programa ser
avaliada pelo professor orientador (ver mais adiante). Sugere-se que o
trabalho tenha alguma relao com a dissertao de mestrado ou tese de
doutorado a ser elaborada. So exemplos de aplicaes:
aplicaes para engenharia
componentes de compiladores
ferramentas de apoio ao desenvolvimento de software
frameworks
interfaces grficas animadas
jogos eletrnicos
produtos de software
programas re-engenheirados
sistemas e-qualquer coisa
sistemas de superviso e controle
sistemas web
transformadores, validadores, formatadores de representaes
A complexidade envolve tamanho e natureza do problema resolvido pelo
programa. Cabe ao professor orientador (ver mais adiante) assegurar a
satisfao deste requisito.
A garantia da qualidade depende do processo de especificao, projeto,
programao e teste empregado. Depende ainda da forma da soluo
adotada (programao lgica, procedural, OO, dirigida por tabela, etc.). No
entanto, a documentao entregue ao final do projeto deve deixar nenhuma
dvida quanto ao fato de ter sido empregado um processo de
desenvolvimento racional, bem como ao fato que tenha sido empregado um
processo de controle da qualidade (teste, inspeo) sistemtico. O ideal
ter sido utilizada alguma forma de teste automatizado (JUnit, CPPUnit ou
similares).
A linguagem de programao utilizada pode ser qualquer uma (ex. Lisp,
Modula, C, C++, Lua, Java, Prolog etc.). Tambm pode ser qualquer uma a
plataforma utilizada (ex. DOS, Windows, Mac, Unix, VM, etc.). Sendo de
interesse do aluno, o trabalho pode ser desenvolvido utilizando alguma
ferramenta CASE.
Como iniciar
Antes de mais nada encontre um professor orientador do projeto de
programao. Este necessariamente um professor do Departamento de
Informtica da PUC-Rio. No precisa ser o coordenador da disciplina.
Junto com o professor orientador defina o objetivo do trabalho. O ideal que
isto seja feito antes do incio do semestre.
Envie ao professor coordenador da disciplina, prof.Carlos Jos Pereira
Lucena, at o dia 21/setembro/2012, uma mensagem, contendo:
o nmero de matrcula e o nome do aluno
o nome do professor orientador
o nome do projeto
um resumo (um pargrafo) descrevendo o objetivo do projeto
O ttulo da mensagem deve ser INF2102PropostaNomeAluno
obviamente a parte NomeAluno deve ser substituda pelo
respectivo nome, sem utilizar caracteres em branco ou diacrticos (acentos,
cedilha).
Como terminar
Entregue ao coordenador da disciplina, at o dia 14/dezembro/2012:
1. uma folha contendo (ver apndice):
o nmero de matrcula e o nome do aluno
o nome do professor orientador
a avaliao do trabalho feita pelo professor orientador
(tipicamente um
pargrafo de texto). Esta avaliao deve dizer se:
o programa satisfaz os requisitos de complexidade
assumidos
para projetos finais de programao
o programa confivel e utilizvel
o programa atende aos objetivos funcionais traados
se os testes foram abrangentes e satisfatrios
eventuais comentrios a respeito do trabalho
assinatura do professor orientador
2. a documentao final do projeto. Recomenda-se a entrega de tudo em
um CD, neste caso no ser necessrio entregar qualquer documentao
impressa. Os arquivos no CD no devem estar compactados (zip, tar, etc.).
A documentao deve conter:
mini-acompanhamento da execuo: seqncia de tarefas de
desenvolvimento utilizadas
junto com estatsticas de tempo e esforo por tarefa.
especificao do programa
objetivos, requisitos
diagramas de especificao, por exemplo use-cases.
projeto modular do programa
critrios de projeto utilizados
diagramas de arquitetura e/ou segmentao do
programa, por
exemplo UML.
organizao do programa (componentes, mdulos,
classes,...),
por exemplo diagramas de classe UML.
diagramas de organizao dos dados, por exemplo
diagramas
de modelagem de dados, ou entidade e
relacionamentos.
cdigo fonte cuidadosamente comentado
comentrios cabealho de mdulos, classes e funes
comentrios de controle de verso
assertivas para dados e procedimentos, procure utilizar
design
by contract
pseudo instrues
procure estabelecer e/ou adotar padres de
programao. Os
apndices do livro Staa, A.v.;
Programao Modular, Campus
2000; contm uma
extensa lista de padres de programao que
pode servir
de exemplo para a adaptao s caractersticas
especficas do trabalho.
roteiro de teste efetuado, composto de:
critrios de teste utilizados
descrio dos casos de teste
na medida do possvel procure utilizar testes
automatizados
scripts de teste automatizado
logs gerados pelo teste automatizado
documentao para o usurio
O formato da documentao tcnica varia em funo do domnio do
problema e da linguagem de programao utilizada. No obstante, o
programa dever ser especificado e projetado antes de ser implementado.
Ou seja, a especificao, a organizao e a composio do programa
devero estar definidas antes de iniciar a codificao. Da mesma forma os
testes dependem da linguagem e do ambiente de execuo. Apesar disto,
deve ser projetado um conjunto de experimentos sistemticos que sirvam
para atestar que o programa atinge os objetivos a que se destina e que
confivel.
Critrio de avaliao
No sero aceitos trabalhos sem a folha de avaliao produzida pelo
professor orientador.
As notas mximas sero:
FOLHA DE AVALIAO
NOME DO ALUNO(A): _________________
N MATRCULA:
___________________________________
NOME DO ORIENTADOR:
_______________________________________________________________
TTULO DO PROJETO:
___________________________________________________________________
PALAVRAS-CHAVE:
_____________________________________
AVALIAO DO TRABALHO
Sim
No
Sim
No
Sim
No
Sim
No
OBSERVAES
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
NOTA SUGERIDA:
Rio de Janeiro,
Professor Orientador