LAST UPDATED 14/07/2011


Professor Responsável


Prof. Ricardo Ribeiro Gudwin
DCA-FEEC-UNICAMP


Ementa


Os alunos definirão equipes para o desenvolvimento de projetos de software. Os projetos serão desenvolvidos em 1 ciclo de quatro etapas:

(i) especificação dos requisitos do sistema,
(ii) análise de requisitos,
(iii) projeto, e
(iv) implementação e testes.

Ao final de cada etapa, cada equipe apresentará um novo release do relatório contendo a documentação completa do projeto em desenvolvimento. Ao final do curso cada equipe apresentará a documentação completa do sistema desenvolvido e um protótipo funcional do mesmo.

Paralelamente ao desenvolvimento dos projetos, os seguintes tópicos serão abordados, dependendo dos projetos desenvolvidos:

1. Introdução ao ambiente de desenvolvimento. Ferramenta CASE para desenvolvimento de sistemas.

2. Fundamentos de programação orientada a objetos. Linguagens de modelagem e metodologias de desenvolvimento de sistemas orientadas a objeto.

3. A Linguagem UML. Diagramas de Use-Case. Diagramas de Classe. Diagramas de Sequência. Diagramas de Colaboração/Comunicação. Diagramas de Estado. Diagramas de Atividade. Diagramas de Componentes. Diagramas de Deployment.

4. Construção de interfaces com usuários. Ferramentas de auxílio à construção de interfaces. A linguagem Java.

5. Noções de banco de dados. A linguagem SQL. O pacote Java-JDBC para acesso a bancos de dados SQL.

6. Ambientes integrados de desenvolvimento. Editores sensitivos a contexto. Controle de versões de software. Testes e depuração.

7. Documentação de programas e projetos.


Critério de Avaliação


O desenvolvimento se dará na forma de 1 ciclo iterativo, abrangendo as seguintes atividades:

ER: Especificação dos Requisitos
A: Análise
D: Design
I: Implementação

Ao final de cada etapa, cada equipe deverá apresentar um release do relatório com a documentação parcial desenvolvida até aquela etapa, enviado por e-mail ao professor. Após a apresentação do release, cada equipe deverá agendar com o professor um horário para a discussão do release, onde os erros na elaboração serão ressaltados e os pontos para aperfeiçoamento serão apontados. As sugestões e erros nos releases do relatório devem ser incorporados e corrigidos nos releases consecutivos. Somente o release final sofrerá avaliação com nota. Essa nota será emitida considerando-se os seguintes quesitos:

- Pontualidade na Entrega dos Releases
- Participação do Aluno na Elaboração do Relatório
- Grau de dificuldade da aplicação escolhida
- Verificação da Corretude da Documentação
- Verificação da Funcionalidade do Pacote de Software desenvolvido

A cada grupo será atribuída um logotipo NNN. Os releases devem ser enviados ao professor na forma de um arquivo zipado com o nome NNNU.zip, onde:

NNN - é o logotipo do grupo
U é a versão do release, onde:
U - é a atividade desenvolvida (ER=1, A=2, D=3, I=4)

(Exemplo: GRPA1.zip, GRPA2.zip, GRPA3.zip, GRPA4.zip)

Esse arquivo zip deve conter a documentação em formato PDF e, durante a fase de implementação, os fontes dos arquivos .java desenvolvidos e um arquivo .jar com o executável do programa desenvolvido

Para efeito da avaliação no curso, teremos, além do relatório final RF, uma nota conceitual C, atribuída individualmente a cada aluno segundo sua participação, interesse, motivação e esforço no desempeho de suas atividades e (eventualmente) um exame - E. Para efeito da atribuição da nota C, o professor poderá, a seu critério, realizar uma entrevista oral com o aluno, onde o mesmo será arguido com relação à capacidade de desenvolver e ler os diagramas utilizados durante o projeto, podendo ou não se referir a diagramas desenvolvidos durante o projeto a que o aluno participou. Por este motivo, é extremamente importante que os alunos participem do desenvolvimento de todos os diagramas, e não somente de alguns deles, pois o conhecimento da leitura e desenvolvimento de diagramas para todas as fases será cobrado do aluno.

N = (RF + C) / 2

Se N < 5,
Nota Final = (N + E) / 2
Caso contrário
Nota Final = N


Bibliografia Básica


Ivar Jacobson, Grady Booch, James Rumbaugh - The Unified Software Development Process - Addison Wesley, 1999.


OMG Unified Modeling Language Specification - Version 1.4.2 Norma ISO-IEC 19501, January 2005 (versão eletrônica)


OMG Unified Modeling Language Specification (OMG UML),
Infrastructure, V2.3
(versão eletrônica)
Superstructure, V2.3 (versão eletrônica)


Mary Campione, Kathy Walrath - The Java Tutorial : Object-Oriented Programming for the Internet (Java Series) Addison-Wesley Pub Co, 2nd ed. 1998 (versão eletrônica)


Bibliografia de Apoio


Craig Larman - Applying UML and Patterns - An Introduction to Object Oriented Analysis and Design - Prentice Hall Inc., New Jersey 1998.


Modelagem de Objetos através da UML - Análise e Desenho Orientados a Objeto - José Davi Furlan - Makron Books, 1998


Grady Booch, James Rumbaugh, Ivar Jacobson - The Unified Modeling Language User Guide - Addison Wesley, 1999


James Rumbaugh, Ivar Jacobson, Grady Booch - The Unified Modeling Language Reference Manual - Addison Wesley, 1999


Material de Apoio


Curso Interativo (exige senha e password - obter com o professor)


Links da Sun:
Download do JDK
Documentação da API Java
The Java Tutorial


Astah UML Modeling Tool


Notas e Frequência


1o Semestre de 2000


1o Semestre de 2001


1o Semestre de 2002


1o Semestre de 2003


1o Semestre de 2004


1o Semestre de 2005


1o Semestre de 2006

1o Semestre de 2007

1o Semestre de 2008

1o Semestre de 2009

1o Semestre de 2010

1o Semestre de 2011


Links de interesse


IBM/Rational


Netbeans


Eclipse


Jude / Astah


UML Development Tools