Vous êtes sur la page 1sur 24

Faculdade de Cincias Aplicadas e Sociais de Petrolina FACAPE Teoria Geral de Sistemas - TGS

Anlise Orientada a Objetos


Profa. Cynara Carvalho cynaracarvalho@yahoo.com.br

Introduo

Cenrio Mudana do enfoque das funes para os dados Preocupao em modelar de forma mais detalhada o sistema Anlise mais prxima da realidade Facilidade na comunicao com o usurio

Introduo

Objetos como entidades do mundo real Objetos com estrutura e comportamento e que se comunicam Dificuldades em fazer alteraes nas estruturas de dados nas abordagens tradicionais Se eu alterar a definio desse dado, quais programas sero afetados? Trabalha com conceitos j conhecidos - Modularidade, Abstrao, Encapsulamento, Mascarar informaes, etc

Introduo

Orientao a objetos apesar de antiga no era utilizada por falta de pessoas treinadas, interesse em manter a cultura adquirida, ferramentas imaturas. Isso comea a se resolver.
O mundo real composto por objetos. Cada objeto tem propriedades e comportamentos. Ento por que no desenvolver programas que simulem no computador os objetos do mundo real com suas propriedades e comportamentos? Segundo Yourdon, Um sistema construdo usando um mtodo Orientado a Objetos aquele cujos componentes so partes encapsuladas de dados e funes, que podem herdar atributos e comportamentos de outros componentes da mesma natureza, e cujos componentes comunicam-se entre si por meio de mensagens.

Objetivo

Encontrar os objetos, organiz-los, descrever como interage atravs de mensagens, definir operaes de seus comportamentos.

Estruturada x Essencial x Orientada a Objeto

Nos mtodos tradicionais de anlise, o comportamento do sistema e seus dados eram considerados separadamente. Com orientao a objetos, comportamento e dados so integrados, assim encapsulando detalhes internos de um objeto dos demais.

Anlise

Enfoque

Estruturada e Essencial Orientada a Objetos

Conjunto de programas que executam processos sobre dados Conjunto de entidades que tm caractersticas e comportamentos prprios

Caractersticas

Concentra-se nos aspectos essenciais do objeto sem detalhamento, focando em suas caractersticas e o que ele faz;

Impede que um sistema se torne to interdependente que uma pequena alterao ou implementao resulte em grandes alteraes em sua estrutura;
Combina estrutura (dados) e comportamento (funes) em um nico objeto; Compartilha elementos estruturais e de comportamento com objetos de nveis inferiores; Enfatiza a estrutura de objetos ao invs da estrutura de procedimentos, ou seja, o que o objeto e no como ele utilizado.

Por que usar Orientao a Objetos?


Atualmente temos ferramentas completas para sua utilizao (integrando especificao e implementao) Praticamente todas as ferramentas novas de programao permitem suporte a sua utilizao Qualidade melhor do software (se usada corretamente) Produtividade em funo do reuso Produo de cdigos mais fceis de serem entendidos Adequada para a construo de sistemas distribudos e para aplicaes voltadas a Internet Permite acesso controlado s informaes

Dificuldade
Usurios no pensam seus problemas de forma orientada a objetos Requisitos no so orientados a objetos

Conceitos

Objeto: Desde a mais tenra idade formamos conceitos. Cada conceito uma idia ou um entendimento pessoal que temos de nosso mundo. Os conceitos que adquirimos nos permitem dar um sentido e raciocinar sobre as coisas de nosso mundo. Essas coisas as quais nossos conceitos se aplicam so denominados objetos. Um objeto pode ser real ou abstrato, ex.: Uma fatura, uma organizao, um avio... Classe: a representao do objetos com seus atributos e mtodos.

Conceitos
Atributos so caractersticas que descrevem o objeto. Ex: Objeto: co possui nome, idade, peso,cor dos olhos, comprimento dos plos, cor dos pelos, etc. Mtodos ou servios as aes que um objeto pode executar. Ex: latir, comer,sentar, dormir ,etc.

Conceitos
Abstrao significa que, s deve ser representado aquilo que vai ser usado.Pelo princpio da abstrao nos objetos so representadas somente as caractersticas que so relevantes para o problema em questo Ex: Cor dos olhos(toda pessoa tem) no relevante para um sistema de folha de pagamento.

Encapsulamento os dados e os processos que tratam esses dados esto encapsulados numa nica entidade. Os objetos agem como uma caixa preta, voc utiliza sem precisar saber como ele funciona internamente.

Conceitos

Hierarquia de classes classe que tem caractersticas comuns e que podem fazer parte de uma classe (categoria) maior. Ex.
mamferos

ces

gatos

Conceitos
Classes ancestrais classes das quais as outras dependem. Classes descendentes as classes originadas a partir de outra.

Animais Aves Caninos ces Lobos Mamferos Peixes Felinos Rpteis

Gatos

Panteras

Conceitos

Classes Puras ou abstratas so classes cujos objetos nunca so instanciados diretamente, mas sempre por uma classe descendente dela. Herana significa que todos os atributos e mtodos programados no ancestral j estaro automaticamente presentes em seus descendentes sem necessidade de reescrev-los. Ex: uma pessoa pode ser um estudante ou um professor,sendo assim todos os atributos e mtodos programados na classe pessoa automaticamente passaro para as classes estudante e professor.

Herana
Generalizao Automvel

Automvel esportivo

Porsche especificao

Conceitos

Polimorfismo o princpio relacionado com as diferentes formas de um objeto.Operacionalmente, o polimorfismo pode ser visto conforme o exemplo abaixo, onde se pode instanciar o objeto janela de vrias formas:

Janela ( ) Janela ( 1 x 2, 2) Janela ( 1 x 2, 2, azul)

Conceitos

Agregao um mecanismo que permite a construo de uma classe agregada a partir de outras classes componentes. Ex. Casa Associao usada para agrupar certos objetos que ocorrem em algum ponto no tempo ou sob circunstncias similares.Na AOO , a associao modelada atravs de uma conexo de ocorrncias. Uma conexo de ocorrncia um relacionamento que um objeto precisa ter com outro(s) objeto (s), para cumprir suas responsabilidades.Ex:
Estudante faz teste

Identificando Classes e Objetos

Os objetos modelam quase todos os aspectos identificveis do domnio do problema: entidades externas, coisas,ocorrncias,papis, unidades organizacionais, lugares e estruturas; todos podem ser representados como objetos. Os objetos podem ser: Entidades externas: produzem ou consomem informaes a serem usadas por um sistema baseado em computador. Coisas : elementos que fazem parte do domnio da informao do problema, tais como relatrios, cartas Papis: desempenhados por elementos que interagem com o sistema. Ex.: vendedor, cliente,gerente... Unidades organizacionais: pertencem a organizao.Ex: equipe Lugares: auxiliam na definio do contexto: Ex. piso da fbrica Estruturas: definem classes relacionadas com o sistema: Ex.: veculos, computadores, sensores....

Identificando objetos

Lembre-se:Objeto um conceito, uma abstrao ou uma coisa, com limites e significados bem definidos, em relao ao problema considerado. Um objeto geralmente identificado por um substantivo. Um objeto contm estrutura e comportamento. Cada objeto tem sua identidade Dois objetos so distintos, mesmo que eles apresentem as mesmas caractersticas.

Ex: 1 dezena de automveis Astra Cada automvel um objeto! Todos tem a mesma caracterstica!

Classes so fbricas de objetos...

Comunicao entre objetos

Mensagens: Elemento usado para prover a comunicao entre objetos Definem: O nome do servio requisitado A informao necessria para a execuo do servio O nome do requisitante Na prtica, mensagens so implementadas como ativaes de uma funo definida no objeto chamado, onde:

Nome o nome da funo. A informao a lista de parmetros. Requisitante o objeto que realizou a chamada.

A anlise, o projeto e a programao so atividades distintas

A anlise OO se preocupa com a modelagem dos objetos para o domnio da aplicao.


O projeto OO se preocupa com o desenvolvimento de um modelo de sistema que implemente os requisitos definidos pela AOO. A programao OO se preocupa com a implementao do Projeto OO usando uma linguagem de programao OO.

Vantagens

Fornece regras precisas para a modularizao do sistema. Desenvolvimento de uma arquitetura mais estvel, uma vez que se estrutura com base no modelo de dados utilizado, o qual apresenta pouca vulnerabilidade a mudanas na funcionalidade do sistema. Alto grau de reusabilidade das rotinas desenvolvidas. Maior facilidade de transio da fase de anlise para a fase de projeto.

Prototipao
As abordagens orientadas a objeto fazem prottipos mais flexveis e facilmente automatizveis. O OOD e a prototipao tm vnculos em comum pois; uma maneira natural de trabalhar, experimenta-se a interface humana, para a clarificao dos requisitos procurados, para a praticidade do projeto, para a entrega, funcionalmente, to cedo quanto possvel.