PROGRAMA

1. Introdução à Análise e Projeto Orientados a Objeto

1.1 Construindo Arquiteturas de Software: Lidando com a Complexidade
1.2
O que é modelagem?
1.3
Análise e Projeto como Atividades
1.4
O que é Orientação a Objeto?
1.5
Por que Queremos Orientação a Objeto?
1.6
Linguagens para Modelagem: UML
1.7
Um Processo de Desenvolvimento de Software

2. Levantamento de Requisitos e Modelagem de Use Cases

2.1 A Fase de Levantamento de Requisitos
2.2
Levantando Requisitos Funcionais com a Modelagem de Use Cases
2.3
Estudo de Caso: Um Sistema de Controle de Biblioteca

3. Uma Breve Introdução a Objetos Usando Exemplos em Java

3.1 Buzzwords em Java
3.2
Mecanismos Simples
3.3
Usando Objetos
3.4
Tomadas de Decisão
3.5
Laços e Coleções
3.6
Definição de Classes
3.7
Tratamento de Exceções
3.8
Herança e Polimorfismo
3.9
Interfaces

4. Um Estudo de Caso com UML e o Processo Unificado

4.1 Uma Breve Descrição do Processo Unificado
4.2
Modelos, Views e Diagramas em UML
4.3
Requisitos e o Modelo de Use Case
4.4
O Modelo de Análise de Domínio

4.4.1 O Business Package
4.4.2
O GUI Package

4.5 O Modelo de Design

4.5.1 O Projeto da Arquitetura
4.5.2
O Database Package
4.5.3
O Business Objects Package
4.5.4
O User Interface Package
4.5.5
O Projeto da Interface do Usuário

4.6 Implementação

5. Algumas Técnicas de Análise e Projeto Orientados a Objeto

5.1 Problemas Básicos de Análise e Projeto
5.2
O que é uma Boa Decomposição?
5.3
Como Achar Classes e Distribuir Responsabilidades?
5.4
Interfaces
5.5
Acoplamento
5.6
Coesão
5.7
Composição Versus Herança

6. Design Patterns, Refactoring, Extreme Programming e Frameworks

6.1 Padrões de Projeto (Design Patterns)
6.2
Refactoring
6.3
Extreme Programming
6.4
Frameworks

apoo-2 home anterior