Sistemas de Informação 1

(Projeto de Software Orientado a Objeto)

Período: 2006.2

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 Projeto Home page da lista
  Bibliografia Comentários sobre os projetos
Comentários testes miletone 3 (testes)
Comentários testes miletone 3 (final)
Recursos
  Material da disciplina (html zipado) Gabaritos  
  Material da disciplina (pdf)    

Professor

Monitores

Plano de aulas

Dia

Assunto

28/11/2006 Falar da home page
Falar da lista de discussão
Avisar para todos olharem as datas importantes
Objetivos da disciplina
Programa da disciplina
Importância de saber UML (aprenda sozinho! veja aqui)
Trabalhos e critérios de avaliação
Apresentação do projeto

Faremos uma aula de Test-Driven Development

30/11 1. Introdução

1.1. Análise e Projeto OO

5/12

1.2. O Processo de Desenvolvimento de Software
1.3. Artefatos

7/12 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

12/12 [Buffer de contingência para as aulas]
14/12

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

19/12

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

21/12 3. Padrões de Projeto Arquitetural

3.1 Projeto de uma Arquitetura de Software

30/01/2007

3.2 Padrão Layers (Camadas)

6/2 [Buffer de contingência para as aulas]
8/2

3.3 Estruturas de Controle
3.4 Padrão Observer

13/2

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

15/2

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

27/2 7. Threads

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

1/3 [Buffer de contingência para as aulas]
6/3

7.3 Implementação de um thread

8/3

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

13/3

7.6 Sincronização de threads

15/3

7.6 Sincronização de threads

20/3 [Buffer de contingência para as aulas]
22/3

7.7 Pool de threads

27/3 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

29/3

4.4 Design Pattern: Singleton
4.5 Design Pattern: Abstract Factory

3/4

4.6 Design Pattern: Iterator

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

4.7 Design Pattern: Composite

17/4

4.8 Design Pattern: Strategy
4.9 Design Pattern: Command

19/4

4.10 Design Pattern: Decorator
4.11 Design Pattern: Template Method

4.12 Comentários finais sobre Design Patterns

24/4 5. Software Baseado em Componentes com JavaBeans
26/4 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. Perdem-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 à energia elétrica 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.

Muito importante: não quero alterar as datas dos milestones, principamente o último, porque queiro que você termine  oprojeto antes do final do semestre e assim liberá-lo para fazer outras atividades de outras disciplinas que normalmente se avolumem no final do período. Como você pode ver, sou uma mãe ...

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, 11/02/2007
Milestone 2 Domingo, 21/03/2007
Milestone 3 Domingo, 8/4/2007 (uma descrição dos testes do easyaccept)
Domingo, 29/04/2007 (o código com testes funcionando)