Anda di halaman 1dari 4

Mais sobre anlise orientada objetos

Na prtica, em termos de modelagem conceitual de anlise, a tarefa principal passa a ser


a identificao dos objetos (na verdade as classes) envolvidos no contexto do sistema.
Ao

identificar

os

objetos,

naturalmente,

modelam-se

os

atributos

(dados

que

caracterizam o objeto) e os mtodos (funcionalidades do sistema, inerentes aquele


objeto ou classe). Na medida em que so identificados todos os objetos pertinentes a um
sistema, j teremos os dados e procedimentos relacionados.
Um modelo OO tem com entidade fundamental o Objeto, que recebe e envia
mensagens, executa procedimentos e possui um estado que, por proteo apenas ele
pode modificar. Problemas so resolvidos, por meio de objetos, que enviam mensagens
uns aos outros.
Um Modelo OO formado por quatro elementos bsicos:
1. Objeto: o principal elemento do modelo OO. Representa as coisas a
serem modeladas do mundo real. Um objeto pode ser algo concreto como
um carro, um aluno ou algo abstrato como uma disciplina. Cada objeto
possui os dados inerentes a ele, como por exemplo, Nome (Jos) e
Matrcula (201101272201) de um aluno e possui as operaes que ele
executa, como incluir novo aluno ou alterar dados de um aluno existente.
2. Mensagens: Quando um outro objeto deseja que seja executada uma
operao, da responsabilidade de outro objeto, ele manda uma mensagem
a esse objeto, informando o que ele deseja que seja feito. A operao
desejada ser implementada por meio de um mtodo.
3. Atributos: So dados que caracterizam o objeto.
4. Mtodos : um procedimento (implementado por uma rotina ou funo)
que executa uma operao em um objeto e define parte de seu
comportamento.
5. Classes: um conjunto de objetos com as mesmas caractersticas
(atributos e mtodos). Por exemplo, os objetos IX35 e Sportage so
objetos da classe CARRO, cujas caractersticas em comuns so:
a. Atributos: modelo, fabricante, ano de fabricao, portas, dentre
outros
b. Mtodos: incluir carro, vender carro, dentre outros.
Dentre as principais caractersticas do paradigma orientado a objeto (OO),
destacamos:

1. Encapsulamento: Encapsular significa esconder, ou seja, o objeto


esconde seus dados do acesso indevido de outros objetos e somente
permite que eles sejam acessados por operaes implementadas pelos
seus

prprios

mtodos

(funcionalidades

que

implementam

comportamento do objeto). Com isso, o encapsulamento protege os dados


do objeto do uso arbitrrio ou no intencional, o que pode ser visualizado
na figura 12 (Encapsulamento). O encapsulamento uma tcnica para
minimizar a interdependncias entre as classes, pois apenas os mtodos da
respectiva classe podem alterar seus dados (atributos), facilitando a
identificao de erros e a alterao dos programas.
2. Herana: Mecanismo para derivar novas classes a partir da definio de
classes existentes atravs de um processo de refinamento. Uma classe
derivada ou descendente herda os dados (atributos) e comportamento
(mtodos) da classe base ou ancestral ou ascendente. A implementao da
herana garante a reutilizao de cdigo, que alm de economizar tempo e
dinheiro, propicia mais segurana ao processo de desenvolvimento, posto
que as funcionalidades da classe base j foram usadas e testadas.
3. Polimorfismo: A palavra polimorfismo, deriva do grego e significa muitas
formas. A partir do momento em que uma classe herda atributos e
mtodos de uma (herana simples) ou mais (herana mltipla) classes
base, ela tem o poder de alterar o comportamento de cada um desses
procedimentos (mtodos). Isso amplia o poder do reaproveitamento de
cdigo promovido pela herana, permitindo que se aproveitem alguns
mtodos e se alterem (redefina) outros. Dessa forma um mtodo com
mesmo nome em classes distintas pode ter diferentes comportamentos.
Por exemplo, pode-se usar a Herana para representar um relacionamento
entre as classes Documento e Email, de forma que Email herda as
definies (Atributos e mtodos) de Documento. Suponha que um dos
mtodos de Documento seja Imprime. A classe email pode escrever novo
cdigo para o mtodo Imprime, de forma que o email seja impresso de
forma diferente do Documento. O mtodo Imprime ter o mesmo nome,
mas em cada classe se comportar de forma distinta.

Figura 12: Encapsulamento


O modelo de objetos surgiu (dcada de 80) como um modelo promissor para o
desenvolvimento de software mais confivel devido as caractersticas inerentes ao
modelo de objetos. Vejamos:

conceito

de

encapsulamento

independentes uma

permite

construo

de

classes

das outras, facilitando o desenvolvimento e a

manuteno do software (alteraes e melhorias na classe).

A herana e o polimorfismo permitem e facilitam a reutilizao de cdigo,


til na fases de implementao e manuteno.

O uso de tcnicas orientadas a objetos facilita o controle da complexidade, uma


vez que promove uma melhor estruturao de seus componentes e tambm permite que
componentes j usados e validados possam ser reaproveitados. Cabe ressaltar que uma
das principais razes para a baixa produtividade no desenvolvimento de software a
dificuldade de reutilizao de cdigo gerado pelos paradigmas de anlise tradicionais. As
hierarquias de classes (herana) so componentes portveis entre aplicaes, que, se
bem projetados, podem ser reutilizados em vrios sistemas sem modificao e, alm
disso, podem ser estendidos (polimorfismo) sem corromper o que j existe. Assim sendo,
podemos dizer que o modelo de objetos proporciona modularidade trazendo os seguintes
benefcios:

Reusabilidade: Softwares podem ser escritos com base em componentes j


existentes.
3

Extensibilidade: Novos componentes de software podem ser desenvolvidos


a partir de outros j existentes, sem afetar o comportamento do
componente de origem.

Sabe-se que software so intrinsicamente complicados devido aos novos


requisitos das aplicaes modernas: alta confiabilidade, alto desempenho,
desenvolvimento de software rpido e barato, alta complexidade e tamanhos grandes.
O modelo OO veio para combater os problemas derivados da crise do Software,
termo cunhado em 1968 na Europa e caracterizado pelos seguintes problemas do
software: baixa confiabilidade, baixa qualidade, alto custo de manuteno e duplicao
de esforos na sua construo (tempo e dinheiro).
Um sistema desenvolvido com as caractersticas do modelo OO tende a ser bem
estruturado, posto que os objetos so unidades coesas com interfaces simples que
escondem as suas implementaes.
No que se refere forma de desenvolvimento, o que envolve o processo de
desenvolvimento utilizado, o modelo OO permite uma melhoria substancial do processo
de construo de software em relao aos paradigmas tradicionais (tradicional,
estruturado e essencial). A chave da anlise OO o foco em objetos (e em classes) e no
em funes. O incio da fase de anlise no se d mais pela identificao das diferentes
funcionalidades do sistema e sim pela identificao dos objetos que compem o sistema.
Inicialmente, vrios especialistas criaram diferentes diagramas de anlise e
projeto OO. Num dado momento, tais profissionais se juntaram e com o melhor de cada
um criaram uma linguagem de modelagem orientada a objeto, nascia a UML (Unified
modeling language), cujos principais diagramas eram:

Diagrama de Casos de Uso.

Diagrama de Classes.

Diagrama de sequencia.

Diagrama de Atividades.

Diagrama de Implementao.

Diagrama de Componentes.