Sistemas de Informação 1

(Projeto de Software Orientado a Objeto)

Período: 2005.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 Recursos
  Bibliografia Projeto  
  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: Verlaynne, Rodrigo

Horário de atendimento: a determinar

Plano de Aulas

Aula - Dia

Assunto

1
05/07/2005
Anunciar URL da disciplina: http://jacques.dsc.ufcg.edu.br/cursos/2005.1/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

2
7/7
1. Introdução

1.1. Análise e Projeto OO

3
12/7

1.2. O Processo de Desenvolvimento de Software
1.3. Artefatos

4
14/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

5
19/7
[Buffer de contingência para as aulas]
6
21/7

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

7
26/7

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

8
28/7
3. Padrões de Projeto Arquitetural

3.1 Projeto de uma Arquitetura de Software

9
2/8

3.2 Padrão Layers (Camadas)

10
4/8
[Buffer de contingência para as aulas]
11
9/8

3.3 Estruturas de Controle
3.4 Padrão Observer

12
11/8

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

13
16/8

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

14
18/8
7. Threads

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

15
23/8
[Buffer de contingência para as aulas]
16
25/8

7.3 Implementação de um thread

17
30/8

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

18
1/9

7.6 Sincronização de threads

19
6/9

7.6 Sincronização de threads

20
8/9
[Buffer de contingência para as aulas]
21
13/9

7.7 Pool de threads

22
15/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

23
20/9

4.4 Design Pattern: Singleton
4.5 Design Pattern: Abstract Factory

24
22/9

4.6 Design Pattern: Iterator

25
27/9
[Buffer de contingência para as aulas]
26
29/9

4.7 Design Pattern: Composite

27
4/10

4.8 Design Pattern: Strategy
4.9 Design Pattern: Command

   
28
6/10

4.10 Design Pattern: Decorator
4.11 Design Pattern: Template Method

4.12 Comentários finais sobre Design Patterns

29
11/10
5. Software Baseado em Componentes com JavaBeans
30
13/11
[Buffer de contingência para as aulas]
30
01/11
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 4 milestones distintos. Os detalhes do que deve ser entregue para o professor estão aqui. O projeto é obrigatório. Quem não fizer os 4 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

10%

Milestone 2

10%

Milestone 3

10%

Milestone 4

10%

Datas Importantes

·         Aulas: terça-feira/10:00-13:00, quinta-feira/12:00-13:00, sala Mário Hattori

·         Calendário da Universidade

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

Milestone 1 Domingo, 31/07/2005
Milestone 2 Domingo, 04/09/2005
Milestone 3 Domingo, 02/10/2005
Milestone 4 Domingo, 23/10/2005