Buscar

Análise Orientada a Objeto

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1 
 
Mais sobre análise orientada à objetos 
Na prática, em termos de modelagem conceitual de análise, a tarefa principal passa a ser 
a identificação 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 métodos (funcionalidades do sistema, inerentes aquele 
objeto ou classe). Na medida em que são 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 proteção apenas ele 
pode modificar. Problemas são resolvidos, por meio de objetos, que enviam mensagens 
uns aos outros. 
Um Modelo OO é formado por quatro elementos básicos: 
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 
Matrícula (201101272201) de um aluno e possui as operações 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 
operação, da responsabilidade de outro objeto, ele manda uma mensagem 
a esse objeto, informando o que ele deseja que seja feito. A operação 
desejada será implementada por meio de um método. 
3. Atributos: São dados que caracterizam o objeto. 
4. Métodos : É um procedimento (implementado por uma rotina ou função) 
que executa uma operação em um objeto e define parte de seu 
comportamento. 
5. Classes: É um conjunto de objetos com as mesmas características 
(atributos e métodos). Por exemplo, os objetos IX35 e Sportage são 
objetos da classe CARRO, cujas características em comuns são: 
a. Atributos: modelo, fabricante, ano de fabricação, portas, dentre 
outros 
b. Métodos: incluir carro, vender carro, dentre outros. 
Dentre as principais características do paradigma orientado a objeto (OO), 
destacamos: 
 
 
2 
 
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 operações implementadas pelos 
seus próprios métodos (funcionalidades que implementam o 
comportamento do objeto). Com isso, o encapsulamento protege os dados 
do objeto do uso arbitrário ou não intencional, o que pode ser visualizado 
na figura 12 (Encapsulamento). O encapsulamento é uma técnica para 
minimizar a interdependências entre as classes, pois apenas os métodos da 
respectiva classe podem alterar seus dados (atributos), facilitando a 
identificação de erros e a alteração dos programas. 
2. Herança: Mecanismo para derivar novas classes a partir da definição de 
classes existentes através de um processo de refinamento. Uma classe 
derivada ou descendente herda os dados (atributos) e comportamento 
(métodos) da classe base ou ancestral ou ascendente. A implementação da 
herança garante a reutilização de código, que além de economizar tempo e 
dinheiro, propicia mais segurança 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 
métodos de uma (herança simples) ou mais (herança múltipla) classes 
base, ela tem o poder de alterar o comportamento de cada um desses 
procedimentos (métodos). Isso amplia o poder do reaproveitamento de 
código promovido pela herança, permitindo que se aproveitem alguns 
métodos e se alterem (redefina) outros. Dessa forma um método com 
mesmo nome em classes distintas pode ter diferentes comportamentos. 
Por exemplo, pode-se usar a Herança para representar um relacionamento 
entre as classes Documento e Email, de forma que Email herda as 
definições (Atributos e métodos) de Documento. Suponha que um dos 
métodos de Documento seja Imprime. A classe email pode escrever novo 
código para o método Imprime, de forma que o email seja impresso de 
forma diferente do Documento. O método Imprime terá o mesmo nome, 
mas em cada classe se comportará de forma distinta. 
 
 
 
 
 
3 
 
 
Figura 12: Encapsulamento 
O modelo de objetos surgiu (década de 80) como um modelo promissor para o 
desenvolvimento de software mais confiável devido as características inerentes ao 
modelo de objetos. Vejamos: 
 O conceito de encapsulamento permite a construção de classes 
independentes uma das outras, facilitando o desenvolvimento e a 
manutenção do software (alterações e melhorias na classe). 
 A herança e o polimorfismo permitem e facilitam a reutilização de código, 
útil na fases de implementação e manutenção. 
 
O uso de técnicas orientadas a objetos facilita o controle da complexidade, uma 
vez que promove uma melhor estruturação de seus componentes e também permite que 
componentes já usados e validados possam ser reaproveitados. Cabe ressaltar que uma 
das principais razões para a baixa produtividade no desenvolvimento de software é a 
dificuldade de reutilização de código gerado pelos paradigmas de análise tradicionais. As 
hierarquias de classes (herança) são componentes portáveis entre aplicações, que, se 
bem projetados, podem ser reutilizados em vários sistemas sem modificação e, além 
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 
benefícios: 
 Reusabilidade: Softwares podem ser escritos com base em componentes já 
existentes. 
 
 
4 
 
 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 são intrinsicamente complicados devido aos novos 
requisitos das aplicações modernas: alta confiabilidade, alto desempenho, 
desenvolvimento de software rápido 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 manutenção e duplicação 
de esforços na sua construção (tempo e dinheiro). 
Um sistema desenvolvido com as características do modelo OO tende a ser bem 
estruturado, posto que os objetos são unidades coesas com interfaces simples que 
escondem as suas implementações. 
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 construção de software em relação aos paradigmas tradicionais (tradicional, 
estruturado e essencial). A chave da análise OO é o foco em objetos (e em classes) e não 
em funções. O início da fase de análise não se dá mais pela identificação das diferentes 
funcionalidades do sistema e sim pela identificação dos objetos que compõem o sistema. 
Inicialmente, vários especialistas criaram diferentes diagramas de análise 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 Implementação. 
 Diagrama de Componentes.

Outros materiais