Você está na página 1de 5

15/04/2013

DCC / ICEx / UFMG

Pensar Orientado a Objetos Projeto Orientado a Objetos


Onde quer que voc olhe no mundo real, voc v objetos
Pessoas, animais, plantas, carros, etc.

Humanos pensam em termos de objetos Eduardo Figueiredo


http://www.dcc.ufmg.br/~figueiredo

Orientao a objetos alto nvel Ou seja, mais prximo dos humanos que dos computadores

Caractersticas de Objetos
Classificao
Animados: possuem vida, se movem... Inanimados: no possuem vida

Classe de Objetos
Objeto uma entidade que possui um estado e operaes definidas sobre este estado Classe um esqueleto para criao (instanciao) de objetos
Como a planta baixa um esqueleto para criao de casas

Objetos possuem atributos


Tamanho, forma, cor, peso, etc.

Objetos exibem comportamentos


Uma bola rola, um avio voa Uma pessoa anda, fala, pensa, etc.

Definies
Objeto
Entidade que descreve uma realidade

Comunicao entre Objetos


A comunicao pode ocorrer de vrias formas
Envio de mensagens (exemplo, pode ser implementadas por arquivos XML) Invocao de mtodos remotos (RMI) Chamada de mtodos locais

Classe
Abstrao que define o esqueleto dos objetos

Instncia
Objeto criado a partir de uma classe

Forma mais comum a chamada de mtodos locais


Comunicao sncrona

15/04/2013

Projeto Orientado a Objetos


Maneira natural de visualizar o software
Documentao de alto nvel Comunicao entre membros da equipe

Dos Requisitos ao Projeto

Modela o software semelhante ao mundo real - usando objetos Objetos so modelados em termos de seus atributos e comportamento (mtodos)

Desenvolvimento OO
Anlise orientada a objetos
Cria um modelo de objetos para o domnio da aplicao (domnio do problema)

Desenvolvimento OO
A transio entre estgios deve ser contnua e com notaes compatveis
Da anlise para o projeto Do projeto para a programao

Projeto orientado a objetos


Cria um modelo de objetos para implementar requisitos (domnio da soluo)

Programao orientada a objetos


Implementa o projeto orientado a objetos usando uma linguagem de programao

Vantagens de OO
Facilidade de entendimento
Mapeamento de entidades do mundo real para objetos de sistema

Atividades de Projetar OO
1. 2. 3. 4. 5.

Definir o contexto do sistema Projetar a arquitetura Identificar os objetos principais Desenvolver os modelos de projeto Especificar interfaces entre objetos

Facilidade de manuteno
Mais fcil de alterar pois os objetos so independentes

Facilidade de reuso
Objetos so potencialmente componentes reusveis

15/04/2013

Paralelo e Iterativo
As atividades no necessariamente so sequenciais Geralmente feito de forma iterativa
Define-se parte do contexto do sistema Projeta-se parte da arquitetura Identifica-se alguns objetos Modela-se estes objetos Define-se suas interfaces

Definir o contexto do sistema


Objetivo: compreenso do software que est sendo desenvolvido e de seu ambiente externo Tcnicas adotadas
Diagramas de Casos de Uso Descrio dos Cenrios, etc.

Ao definir o contexto, pode-se identificar alguns objetos do domnio

Projetar Arquitetura
Primeiro passo do projeto de sistema O projeto arquitetural envolve
Identificao dos componentes principais do sistema (sub-sistemas) Definio das interfaces de comunicao entre os componentes

Identificar os objetos principais


Identificao de objeto um processo iterativo
improvvel que voc faa certo na primeira vez

Regra geral: modelar de 5 a 9 subsistemas

Na verdade, identifica-se as classes de objetos No h frmula mgica para a identificao de objetos

Uma Abordagem para Identificao


Anlise gramatical baseada em
Descrio em linguagem natural do sistema Descrio dos cenrios de uso

Diagrama de Casos de Uso

Como proceder
Substantivos so objetos ou atributos Verbos so mtodos Refinar e definir novos objetos usando o conhecimento do domnio do sistema

15/04/2013

Exemplo de Cenrio
Nome do Cenrio: Sacar Ator: Cliente Pr-condio: Conta e senha validadas Fluxo normal
1. Entrar com valor do saque 2. Confirmar dados e operao 3. Debitar valor da conta do cliente

Exemplo de Cenrio
Nome do Cenrio: Sacar Ator: Cliente Pr-condio: Conta e senha validadas Fluxo normal Potenciais
1. Entrar com valor do saque 2. Confirmar dados e operao 3. Debitar valor da conta do cliente 3.1 Apresentar aviso ao cliente objetos do sistema

Fluxos alternativo: Saldo insuficiente


3.1 Apresentar aviso ao cliente

Fluxos alternativo: Saldo insuficiente Ps-condio: Valor sacado debitado do saldo do cliente

Ps-condio: Valor sacado debitado do saldo do cliente

Exemplo de Cenrio
Nome do Cenrio: Sacar Ator: Cliente Pr-condio: Conta e senha validadas Fluxo normal Potenciais
1. Entrar com valor do saque 2. Confirmar dados e operao 3. Debitar valor da conta do cliente 3.1 Apresentar aviso ao cliente atributos dos objetos

Exemplo de Cenrio
Nome do Cenrio: Sacar Ator: Cliente Pr-condio: Conta e senha validadas Fluxo normal Potenciais
1. Entrar com valor do saque mtodos dos 2. Confirmar dados e operao objetos 3. Debitar valor da conta do cliente

Fluxos alternativo: Saldo insuficiente Ps-condio: Valor sacado debitado do saldo do cliente

Fluxos alternativo: Saldo insuficiente


3.1 Apresentar aviso ao cliente

Ps-condio: Valor sacado debitado do saldo do cliente

Modelos de projeto
Fazem a ligao entre requisitos (problema) e implementao (soluo) Mostram os objetos ou as classes de objetos e os relacionamentos entre essas entidades Devem incluir detalhes suficientes para facilitar a programao

Vrias vises
Para evitar modelos complexos, eles so quebrados em diversas vises
Modelos estticos descrevem a estrutura esttica das classes Modelos dinmicos descrevem as interaes dinmicas entre os objetos

O modelo esttico mais utilizado o Diagrama de Classes

15/04/2013

Especificar Interfaces entre Objetos


Especificao de interfaces permite que objetos e componentes sejam projetados em paralelo Objetos podem ter vrias interfaces
Cada interface um ponto de vista dos mtodos fornecidos O Diagramas de Classes da UML pode ser usado para especificao de interfaces (semelhante a classes)

Bibliografia
Ian Sommerville. Engenharia de Software, 9a. Edio. 2011.
Cap. 7: Seo 7.1

Você também pode gostar