You are on page 1of 50

Anlise Orientada a

Objetos
Prof. Eliseu Castelo Branco Jr.,PMP,MSc.
ecastelob@gmail.com

Ementa da Disciplina
Conceitos de Orientao a Objetos
Viso Geral da UML
Diagrama de Caso de Uso
Diagrama de Classes
Diagrama de Objetos
Diagramas de Interao
Diagrama de Estado
Diagrama de Atividades
Diagramas de Implementao

Cronograma de Aulas
FEVEREIRO MARO
ABRIL
2
2
9
9 AV1 23
16

23

30
3
5

MAIO
6
13
20
27

JUNHO
4
11
18
25

1
8
AV2-15
22
AV3 - 29
5
TOTAL
FREQ MIN

21
17

Avaliaes
Provas sobre contedo terico da disciplina
(Av1, Av2, Av3)
Trabalhos de pesquisa publicados na
Internet
Documentos de Anlise e Projeto de
software entregues
Exerccios realizados em sala de aula
OBS: mnimo de 75% de presena em sala
de aula necessrio para aprovao na
disciplina.

Introduo
Sistemas de software so complexos.
O uso de modelos auxilia na compreenso
de conceitos complexos.

Introduo
O desenvolvimento de um sistema envolve
grande quantidade de atividades e pessoas
Erros so inevitveis e se identificados nos
modelos sua correo mais fcil e barata.

Introduo
O uso de modelos reduz o custo do
desenvolvimento de sistemas.
O modelo permite prever o comportamento
do sistema no futuro.

O que modelagem de
software?
A

modelagem de sistemas de
software consiste na utilizao de
notaes grficas e textuais com o
objetivo de construir modelos que
representam as partes essenciais de
um sistema, considerando-se
diversas perspectivas diferentes e
complementares.

Paradigma da Orientao a
Objetos
Paradigma a forma de abordar um
problema
Princpios:

1. Qualquer coisa um objeto


2. Objetos realizam tarefas atravs da requisio
de servios a outros objetos
3. Cada objeto pertence a uma classe
4. A classe um repositrio para comportamento
associado ao objeto
5. Classes so organizadas em hierarquias

Paradigma da Orientao a
Objetos
O

paradigma da orientao a objetos


visualiza um sistema de software
como uma coleo de agentes
interconectados chamados OBJETOS.
Cada objeto realiza tarefas
especficas. atravs da interao
entre objetos que uma tarefa
computacional realizada.

Tipos de Sistemas

O Sistema contem
subsistemas

Subsistemas de um Sistema de
Informao

Mdulos do Sistema
(subsistemas)

Subsistema Contas a Pagar


Classe
Classe
Classe
Classe
Classe

Movimentao Financeira
Bancos
Rendas Diversas
Contas a Pagar
Receitas Diversas

Classe Banco

Atributos
Mtodos

O que Anlise e Projeto?


Anlise o qu

Projeto como

Investigao do problema e
dos requisitos

Descrio de uma soluo


lgica

Requisitos

Objetos

Casos de uso

Arquitetura

Restries

Instalao & Operao

Vocabulrio

Interface do usurio

Representao de um
Conceito na APOO
Conceito
de domnio

Representao
na anlise
Livro

Ex.: O conceito
Livro em um
sistema de
biblioteca

Livro
ttulo

ttulo

Representao
no projeto

imprimir()

Representao
no cdigo

public class Livro


{
public void imprimir();
private String titulo;
}

Uma Analogia Organizando


os Negcios de uma Empresa
Analogia

APOO

Quais so os processos Anlise de requisitos


de negcio?

Documentos
Associados
Casos de uso

Quais so os papeis
dos empregados?

Anlise do domnio

Modelo conceitual

Quem responsvel
por o qu? Como eles
interagem?

Atribuio de
responsabilidades,
projeto das interaes

Diagramas de classes
de projeto, diagramas
de colaborao

Um Exemplo Jogo de Dados


Objetivo: ganha o jogo o jogador que
rolar dois dados e tirar sete
Modelagem na APOO

Casos de uso

Descries narrativas de processos do domnio no


formato de prosa estruturada
Ex.:
Caso de uso: Jogar
Atores:
Jogador
Descrio:
Este caso de uso comea quando
o jogador rola os dados. Se o total
dos dados for sete, o jogador ganha;
do contrrio, ele perde.

Um Exemplo Jogo de Dados

Modelagem na APOO (cont.)


Modelo conceitual

Conceitos, atributos, e associaes que so


considerados importantes no domnio da
aplicao
Ex.:
Jogador

Rola

nome
1

Dado
valor
2

Joga

1
JogoDeDados 1

Inclui

Um modelo conceitual descreve conceitos do mundo real, no


componentes de software!

Um Exemplo Jogo de Dados

Modelagem na APOO (cont.)


Diagramas de colaborao

Alocao de responsabilidades para objetos


ilustrando como eles interagem via mensagens
Mostram o fluxo de mensagens entre instncias
e a invocao de mtodos
Ex.:
joga()

:Jogador

1: r1 := rola()

2: r2 := rola()

d1 : Dado

d2 : Dado

Um Exemplo Jogo de Dados

Modelagem na APOO (cont.)

Diagramas de classes de projeto

Como os objetos (de software) se conectam?


Quais so os mtodos de uma classe?
Ex.:

Jogador
nome
joga()

Dado

Rola
1

inicializa()

rola()
2

Joga
1
JogoDeDados

valor

Inclui

APOO X APE

Metodologias mais antigas, como


Anlise e Projeto Estruturados, baseiamse em outras dimenses de
decomposio Sistema de
Biblioteca

Decomposio por objetos ou


conceitos
A&P Orientados a Objeto

Catlogo

Bibliotecrio

Livro

Biblioteca

Decomposio por funes


ou processos
A&P Estruturados
Sistema

Registra
Adiciona
Emprstimos Recursos

Reporta
Multas

A Linguagem de Modelagem
Unificada UML
A UML a linguagem padro de
diagramao para visualizar os resultados
da anlise e projeto
A notao (a prpria UML) relativamente
trivial
Muito mais importante: habilidade para
modelar com objetos

S aprender a notao UML no ajuda

A UML no

um processo ou metodologia
APOO
regras de projeto

Origem e Evoluo da UML

Parceiros
da UML

UML 1.1

Industrializao
(Set97)

UML 1.0

Padronizao
(Jan97)

UML 0.9 & 0.91

Unificao II
(Out96)

Unified Method 0.8


Booch93
Outros
mtodos

Booch91

Unificao I
(Out95)

OMT-2
OMT-1

OOSE

Fragmentao

Processo de
Desenvolvimento

Organizao das atividades relacionadas


produo e manuteno de sistemas de software

til, mas um fator de segunda ordem


O principal:

equipe qualificada

Boa equipe + bom processo = menor risco

O processo racional unificado (RUP), baseado no


modelo iterativo, o processo padro na
indstria

Sol, Mar e UML

Vises da UML

Uma

srie de pesquisas
(www.embeddded-forecast.com) tem
mostrado que muitos projetos de
software embarcados so entregues
com atraso ou cancelados.
Em mdia, observou-se que mais de
50% dos projetos tm seus
cronogramas atrasados em pelo
menos quatro meses e cerca de 11%
so cancelados.

O custo dos atrasos pode ser significativo.


Por exemplo, no setor de avinicos o
custo dos atrasos estimado de 50.000 a
300.000 dlares por ms.
Outro problema apontado o nvel de
conformidade do produto final com as
especificaes.
Identificou-se que pelo menos 30% dos
projetos no alcanavam 50% das
especificaes propostas de performance
ou funcionalidade.

medida que os sistemas


embarcados aumentam em
complexidade, esta situao tende a
piorar.
A pesquisa mostrou tambm que
adoo de UML (Unified
Modeling Language) ainda no
uma prtica comum.

Elementos bsicos do modelo


UML
Aes (*) : unidade bsica de especificao de
comportamento. Aes esto contidas em atividades
Artefatos (*) : Pedao fsico da informao usado ou
produzido durante o desenvolvimento do sistema
Atividades
Casos de Uso
Classes
Classes ativas
Colaborao
Componente
Estado
Interao
Interface

Elementos bsicos do modelo


UML
No
Nota
Pacote
Partes (*)
Portas (*)
Esteretipos (*)
Valores de etiqueta (*)
Restries (*)