Você está na página 1de 14

Por Que Orientao a Objetos?

Prof. Marcel Hugo FURB Cincias da Computao - Bacharelado

Agenda
1. Cenrio 2. Reutilizao 3. OO como propulsora da reutilizao 4. Benefcios da OO 5. Aceitao da OO 6. Perigos da OO 7. Concluses

Software Est Ficando Mais Complexo


% de Funes de Sistema no Software 100 80 60 40 20 0 1960 1970 1980 1990
3200 linhas 28,000 linhas 3.4M linhas 3-5M linhas

% de Funes de Sistema no Hardware 100 80 60 40 20 0 1960 1970 1980 1990

fonte: Communications of the ACM

O No Cumprimento de Cronogramas Comum na rea


Months
fonte: Applied Software Measurement, 1991
50 60

40

30

Schedule Actual

20

10

Function Points
0 0 10 20 40 80 160 320 640 1280 2560 5120 10240

Falha em especificar e concordar em requisitos a #2 razo por problemas de cronograma. (Produzir Cronogramas irracionais a #1)

Custos
Custos de desenvolvimento so muitos altos Elevam-se os custos de manuteno:
dcada de 70 e 80: 60 - 65 % dos custos totais atualmente: 70 - 80 % dos custos totais

Flexibilidade frente a mudanas


Mudanas nos processos de negcio do usurio:
dcada de 40: 10 anos dcada de 60-70: 5 anos dcada de 90: 2 anos sculo 21: 6 meses

Onde est o Nirvana ?


No se sabe ! Porm a reutilizao pea chave para aumento da produtividade e melhoria da qualidade.

2. Reutilizao
Usar novamente algo que foi feito. Em hardware:
projetar baseado em componentes; integrar componentes; desenvolver novos quando necessrio.

Em software:
cdigo (rotinas); ???

Objetivos da Reutilizao
Permitir uma ampla utilizao de todos os tipos de informao encontradas na situao de desenvolvimento. Exemplo:
requisitos especificao cdigo testes ou seja, todas as atividades.

Benefcios da reutilizao
Menor produo de software novo:
aumento de produtividade ganho de qualidade ganho de confiabilidade conhecimento adquirido pode ser compartilhado

Casos prticos
Nveis de reusabilidade elevam a produtividade

Empresa Univ. Califrnia Raytheon Ind. Japonesas

Reusabilidade Produtividade (%) (%) 62 20 60 85 50 8 vezes

Problemas em praticar a reutilizao.


Trs problemas foram propostos e discutidos no 2o Workshop Internacional de Reusabilidade de Software:
de populao; de carga; de construo.

Vrias tcnicas para reutilizao


Repositrios (meio de armazenamento) Anlise de domnio Engenharia reversa Orientao a objetos ...

3. Orientao a Objetos (OO)


Tecnologia que enxerga os sistemas como sendo coleo de objetos interagentes. Novo paradigma de desenvolvimento Envolve todas as atividades de desenvolvimento:
anlise , projeto , programao , testes, ...

Fundamento da OO
Na compreenso do mundo, os seres humanos utilizam-se de trs mtodos de organizao dos pensamentos: Diferenciao; Distino entre todo e parte; Classificao.

Diminui a diferena semntica


Real

Casa

Joo

Carro

rvore

Modelo
mora na Casa Joo dirige Carro rvore

4. Benefcios de Anlise e Projeto Orientados a Objetos


Air Transport Model

Reduz complexidade atravs de melhoria do grau de abstrao Melhora produtividade a longo prazo, permitindo o uso da reutilizao pelos desenvolvedores Torna mais fcil a comunicao entre clientes e desenvolvedores

Benefcios de Modelagem OO
Modelos que casam com a forma de seus negcios; Gerenciamento simplificado, atravs da quebra das aplicaes em unidades menores e mais bem definidas; Maximiza a reutilizao de cdigo; Habilidade de tirar vantagem de padres de componentes para conexo entre plataformas, utilizando servios padro; Componentes comerciais (disponveis no mercado).

Modelos Que Refletem Seu Negcio


A Forma Tradicional ...
Dados e processos so separados no incio; Os modelos de dados e processos no so facilmente relacionados com entidades e conceitos de negcio; Coordenao entre processamento e dados sempre foi difcil;

A Forma OO ...
Dados e processos esto integrados nos modelos; Componentes dos modelos correspondem s entidades de negcio; Sistemas so gerenciados mais facilmente e melhor compreendidos.

Maximiza Reutilizao de Cdigo


Reduz esforo de codificao; Reduz teste, melhora confiabilidade; Reutilizao customizada atravs de componentes white box (ex: classes C++, Delphi); Distribuio de objetos black box (ex., OLE, IDL) como componentes.

Usando Modelagem para Reutilizao


Herana e Polimorfismo so utilizados para suportar a reutilizao Estratgias apropriadas dependem de modelos que:
antecipem situaes de reutilizao definam claramente responsabilidades e funes de classes Evitem sobrecarga funcional, o que inibe reusabilidade

Modelagem interativa de objetos, dirigida atravs de modelos dinmicos e cenrios identificando aplicaes de classes, subclasses, etc.

5. Metodologias OO
Ambiente Tcnico Ambiente IS

SDL Shlaer-Mellor 3GLs


Booch

OMT
4GLs
CoadYourdon Martin-Odell
Ambientes embarcados
DOS, Mac, OS/2, Windows

Unix

Fonte: Cadre e Gartner Group

Como publicado no Gartner Group ADM Strategies Conference Proceedings, Julho 1993

Aceitao de OO est crescendo


Previso Total de Produtos OO
$4,500 $4,000 $3,500 $3,000 $2,500 $2,000 $1,500 $1,000 $500 $0 1991 1992 1992 1993 1993 1994 1994 1995 U.S. 1995 1996 1996 1997 1997 1998 Europe
Fonte: Ovum, Julho 1992

Anos de Crescimento

Anos de adoo

6. Desenvolvedores Profissionais esto utilizando Mtodos


When asked which research topics clients would like to see as highest priority, respondents indicated interest in OO methodology, OO lifecycle issues and OO CASE, in order by frequency of mention.
Gartner Group, Setembro 1992

Users and vendors alike agree that ObjectOriented Analysis and Design methodologies are an important prerequisite to OO programming.
International Data Corporation Survey, Julho 1992

Mtodos Reduzem a Complexidade e o Risco de Utilizar OO


With C++, its harder to shoot yourself in the foot... but when you do, you blow off your whole leg.
Bjarne Stroustrup, criador da linguagem C++

Object orientation is not a panacea but a high power tool - dangerous if misused but capable of great things.
Object Interest Group

7. Concluses
Como todo paradigma, necessita de mudana cultural. Tecnologia poderosa, porm deve ser adotada de forma consciente. No moda, tendncia tecnolgica.

Agradecimentos
Valter Medina - TechMark

Você também pode gostar