Sistemas de Informação 1

(Projeto de Software Orientado a Objeto)

Período: 2006.1

As Pessoas A Disciplina A Avaliação Outros
Professor Objetivos Forma de avaliação Datas Importantes
Monitor Programa Notas dos Alunos Lista de Discussão
  Plano de Aulas Avaliação da disciplina Home page da lista
  Bibliografia Projeto Recursos
  Material da disciplina (html on-line) Auto Avaliação  
  Material da disciplina (html zipado) Comentários sobre os projetos  
  Material da disciplina (pdf) Gabaritos  

Professor: Jacques Philippe Sauvé

Horários das Aulas e de Atendimento a Alunos pelo Professor

Na realidade, podem aparecer na minha sala a qualquer momento.

Monitores: Renata, Osório

Horário de atendimento: a determinar

Plano de Aulas

Dia

Assunto

11/07/2006 Anunciar URL da disciplina: http://jacques.dsc.ufcg.edu.br/cursos/2005.2/si1/index.htm
Pegar lista de alunos com e-mail
Falar da auto-avaliação
Pedir para não imprimir nas impressoras da Universidade
Avisar para todos olharem as datas importantes
Objetivos da disciplina
Programa da disciplina
Trabalhos e critérios de avaliação
Apresentação do projeto

Faremos uma aula de Test-Driven Development

13/7 1. Introdução

1.1. Análise e Projeto OO

18/7

1.2. O Processo de Desenvolvimento de Software
1.3. Artefatos

20/7 2. Conceitos Básicos de Padrões de Projeto (Revisão de conceitos de Projeto)

2.1 Padrões para atribuir responsabilidades: Expert
2.2 Padrões para atribuir responsabilidades: Creator

25/7 [Buffer de contingência para as aulas]
27/7

2.3 Padrões para atribuir responsabilidades: Baixo Acoplamento
2.4 Padrões para atribuir responsabilidades: Alta Coesão

1/8

2.5 Design Pattern básico: Interfaces e polimorfismo
2.6 Design Pattern básico: Herança versus composição

3/8 3. Padrões de Projeto Arquitetural

3.1 Projeto de uma Arquitetura de Software

8/8

3.2 Padrão Layers (Camadas)

10/8 [Buffer de contingência para as aulas]
15/8

3.3 Estruturas de Controle
3.4 Padrão Observer

17/8

3.5 Padrão Model-View-Controller (MVC)

22/8

3.6 Opções de Persistência
3.7 Finalmentes
3.8 Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

24/8 7. Threads

7.1 O que é um thread?
7.2 Uso das classes Timer e TimerTask

29/8 [Buffer de contingência para as aulas]
31/8

7.3 Implementação de um thread

5/9

7.4 O ciclo de vida de um thread
7.5 Escalonamento de threads

12/9

7.6 Sincronização de threads

14/9

7.6 Sincronização de threads

19/9 [Buffer de contingência para as aulas]
21/9

7.7 Pool de threads

26/9 4. Padrões de Projeto Detalhado

4.1 Facetas da reusabilidade de software (opcional)
4.2 Elementos essenciais de um Design Pattern
4.3 Design Pattern: Factory Method

28/9

4.4 Design Pattern: Singleton
4.5 Design Pattern: Abstract Factory

3/10

4.6 Design Pattern: Iterator

5/10 [Buffer de contingência para as aulas]
10/10

4.7 Design Pattern: Composite

17/10

4.8 Design Pattern: Strategy
4.9 Design Pattern: Command

19/10

4.10 Design Pattern: Decorator
4.11 Design Pattern: Template Method

4.12 Comentários finais sobre Design Patterns

24/10 5. Software Baseado em Componentes com JavaBeans
26/10 Prova Final

Avaliação

A avaliação será feita através de:

O curso é baseado em grande parte num projeto de desenvolvimento envolvendo os assuntos do curso. Poderá formar equipe com uma (e apenas uma) pessoa. O projeto é importante e você deverá trabalhar duro para completá-lo. É assim que vai aprender algo.

O projeto será avaliado através de 3 milestones distintos. Os detalhes do que deve ser entregue para o professor estão aqui. O projeto é obrigatório. Quem não fizer os 3 milestones do projeto não poderá passar na disciplina. Os pesos atribuídos aos vários eventos de avaliação são indicados abaixo. Perde-se 5% do valor da nota dada a um milestone do projeto para cada dia de atraso na entrega. Não haverá extensão devido a energia que cai no último dia, titias que adoecem, etc. Observe que o professor estará usando um programa que detecta similaridades entre projetos de alunos; qualquer trecho de código copiado constitui ofensa séria.

Evento de avaliação

Peso

Minitestes

60%

Milestone 1

15%

Milestone 2

15%

Milestone 3

10%

Datas Importantes

Milestones entregues via e-mail para jacques@dsc.ufcg.edu.br, até a meia-noite do dia indicado abaixo.

Milestone 1 Domingo, 20/08/2006
Milestone 2 Domingo, 24/09/2006
Milestone 3 Domingo, 29/10/2006