inf2102-projeto-final-de-programação-2012.2.doc

7
INF2102 Projeto Final de Programação Período: 2012/2 Coordenador: Prof. Carlos José Pereira Lucena Informações gerais Objetivo da disciplina É objetivo do projeto final de programação averiguar se o aluno sabe empregar técnicas eficazes para especificar, projetar, desenvolver, controlar a qualidade e documentar programas, que tenham um nível de complexidade pelo menos mediano. Os programas devem ser confiáveis, úteis e utilizáveis e devem possuir elevada qualidade de engenharia. Natureza do trabalho O resultado do projeto de programação 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 serviço de interesse a alguém que não seja exclusivamente o aluno. A utilidade do programa será avaliada pelo professor orientador (ver mais adiante). Sugere-se que o trabalho tenha alguma relação com a dissertação de mestrado ou tese de doutorado a ser elaborada. São exemplos de aplicações: aplicações para engenharia componentes de compiladores ferramentas de apoio ao desenvolvimento de software frameworks interfaces gráficas animadas jogos eletrônicos produtos de software programas re-engenheirados sistemas “e-qualquer coisa” sistemas de supervisão e controle sistemas web transformadores, validadores, formatadores de representações A complexidade envolve tamanho e natureza do problema resolvido pelo programa. Cabe ao professor orientador (ver mais adiante) assegurar a satisfação deste requisito. A garantia da qualidade depende do processo de especificação, projeto, programação e teste empregado. Depende ainda da forma da solução adotada (programação lógica, procedural, OO, dirigida

Upload: manuel-monteiro

Post on 04-Oct-2015

18 views

Category:

Documents


11 download

TRANSCRIPT

INF2102 Projeto Final de Programao

INF2102 Projeto Final de Programao

Perodo: 2012/2Coordenador: Prof. Carlos Jos Pereira LucenaInformaes 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 INF2102-Proposta-NomeAluno

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:

10 trabalho satisfatrio e entregue no prazo, ou seja at, no mximo,

17/dezembro/2012

8 trabalho satisfatrio e entregue aps a matrcula do semestre subseqente e antes da data limite imposta pela PUC: 28/dezembro/2012.

zero se no for entregue at no mximo dia: 28/dezembro/2012. Esta data est em sintonia com a data limite estabelecida pela PUC-Rio para preenchimento de graus IN do semestre anterior.

Atentem para a regra da CCPG: O aluno tem 60 dias a partir do final do semestre

(Trmino das atividades acadmicas do semestre) para completar o incompleto. Como so necessrias as avaliaes dos professores orientador e coordenador, a data limite

28/janeiro/2013 estabelecida de modo que se tenha folga para as avaliaes necessrias.

Se voc acha que no vai conseguir terminar no prazo, cancele a disciplina. No se matricule em Projeto Final de Programao sem saber quem ser o orientador e qual ser o trabalho!

Trabalhos que no forem entregues at 14/dezembro/2012, recebem automaticamente IN (incompleto).

Trabalhos que no forem entregues at a 28/janeiro/2013 recebem automaticamente

zero, com todas as implicaes que isto possa ter, como, por exemplo, jubilamento por falta de mdia no perodo.

Causam a perda de pontos:

entrega atrasada. Para evitar a perda de pontos s se matricule depois que souber quem o orientador, qual o trabalho, e se voc tem condies de terminar o trabalho no semestre. Afinal saber planejar faz parte da vida profissional do Informtico... Se durante o semestre voc perceber que no conseguir terminar, cancele a disciplina.

inexistncia de avaliao feita pelo orientador, o trabalho no ser aceito sem a avaliao do professor.

inexistncia de especificao.

inexistncia de projeto.

inexistncia de um roteiro de teste para fins de teste sistemtico. Deve estar explicitado o mtodo de teste utilizado. D preferncia a testes automatizados.

inexistncia de evidncia de que foram realizados testes segundo o roteiro. Procure produzir um laudo de teste. O teste automatizado deve produzir logs.

inexistncia de documentao para o usurio.

cdigo mal organizado e/ou mal comentado.

PONTIFCIA UNIVERSIDADE CATLICA DO RIO DE JANEIRO

DEPARTAMENTO DE INFORMTICA

INF 2102 - PROJETO FINAL DE PROGRAMAO

FOLHA DE AVALIAO

NOME DO ALUNO(A): _________________ N MATRCULA:

___________________________________

NOME DO ORIENTADOR: _______________________________________________________________

TTULO DO PROJETO: ___________________________________________________________________

PALAVRAS-CHAVE: _____________________________________

AVALIAO DO TRABALHO

Sim No Este trabalho satisfaz os requisitos de complexidade assumidos

para projetos finais de programao

Sim No O programa confivel e utilizvel

Sim No O programa atende aos objetivos funcionais traados

Sim No Os testes foram abrangentes e satisfatrios

OBSERVAES

______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

NOTA SUGERIDA:

Rio de Janeiro,

Professor Orientador