Você está na página 1de 27

Histrico da Orientao a Objetos Ciclo de vida de Desenvolvimento de SW

Prof.: Edilberto M. Silva


http://www.edilms.eti.br
Baseado nos materiais dos profs: Edna Canedo Marcio de Carvalho Victorino

Braslia-DF, jul/2006

Objetivos Especficos

Introduzir os conceitos bsicos relacionados com a orientao a objetos, incluindo sua aplicabilidade a Anlise Orientada a Objetos (AOO) e Projeto Orientado a Objetos (POO). Apresentar a Unified Modeling Language (UML), largamente utilizada para a Anlise e Projeto de sistemas de software de grande escala. Apresentar um processo de desenvolvimento de software com UML. Exemplificar AOO, POO, UML e o processo de desenvolvimento por meio de um estudo de caso. Apresentar tcnicas bsicas de Projeto Orientado a Objeto. O enfoque mostrar em que consiste um bom projeto.
Prof. Edilberto Silva - http://www.edilms.eti.br 2

Histrico da Orientao a Objetos

1961

Nygaard e Dahl Simula0, Simula1, Simula67 Research Center Xerox, Palo Alto Smalltalk Bertrand Meyer Eiffel
Prof. Edilberto Silva - http://www.edilms.eti.br 3

1970

1985

Histrico da Orientao a Objetos

1986

Bjarne Stroustrup C++ Gosling Java

1996

Prof. Edilberto Silva - http://www.edilms.eti.br

Paradigma OO

Paradigma:

Forma de abordar um problema.

Paradigma OO:

Visualiza um sistema de software como uma coleo de agentes interconectados chamados objetos. Cada objeto responsvel por realizar tarefas especficas. atravs de interao entre objetos que uma tarefa computacional realizada.

Prof. Edilberto Silva - http://www.edilms.eti.br

Paradigma OO

Propsitos da Programao Orientada a Objetos

Prover mecanismos para visualizar a complexidade do desenvolvimento de software da mesma forma que visualizamos a complexidade do mundo real; Acelerar o desenvolvimento de softwares com base na modularidade e acoplamento; Melhorar a qualidade do software desenvolvido.

Prof. Edilberto Silva - http://www.edilms.eti.br

Paradigma OO

Elementos do modelo OO:

Abstrao: o processo de abstrair as caractersticas essenciais de


um objeto real. O conjunto de caractersticas resultante da abstrao forma um Tipo Abstrato de Dados (TAD) com informaes sobre seu estado e comportamento.

Encapsulamento: o processo de combinar tipos de dados,


dados e funes relacionadas em um nico bloco de organizao e s permitir o acesso a eles atravs de mtodos determinados.

Herana: o aproveitamento e extenso das caractersticas de


uma classe existente.

Polimorfismo: a propriedade de se utilizar um mesmo nome ou


forma para fazer coisas diferentes.

Prof. Edilberto Silva - http://www.edilms.eti.br

Paradigma OO

Classes:

definem a estrutura e o comportamento de um tipo de objeto; atuam como templates; permitem a instanciao de um ou mais objetos de um mesmo tipo.

Nome Atributos Mtodos

Prof. Edilberto Silva - http://www.edilms.eti.br

Paradigma OO

Objetos:

Pacote de software contendo dados e cdigo (procedimentos) relacionados. Os procedimentos so chamados mtodos. Os dados dos objetos so chamados variveis ou componentes do estado. Mtodos Mtodos Atributos Mtodos
Prof. Edilberto Silva - http://www.edilms.eti.br 9

Mtodos

Paradigma OO

Vantagens:

Metodologia de Projeto que modela mais proximamente o mundo real; Facilita ao mximo o reuso ; A manuteno e alterarao de programas executada mais facilmente; Suporte para o Modelo de Computao Distribuda.

Prof. Edilberto Silva - http://www.edilms.eti.br

10

A Evoluo do Desenvolvimento de Software

Dcadas de 1950/60:

Sistemas simples, desenvolvidos de forma ad-hoc. Usava-se apenas diagramas de fluxo de dados e diagramas de mdulos. Expanso do mercado computacional. Sistemas mais complexos surgiram, e modelos mais robustos foram propostos. Surgiu a Programao Estruturada e Projeto Estruturado. Larry Constantine e Edward Yordon.
Prof. Edilberto Silva - http://www.edilms.eti.br 11

Dcada de 1970:

A Evoluo do Desenvolvimento de Software

Dcada de 1980:

Interfaces mais sofisticadas. Surgiu Anlise Estruturada. Edward Yordon, Peter Coad, Tom DeMarco, James Martin e Chris Gane. Surgiu a Anlise Orientada a Objetos. Sally Shaer, Stephen Mellor, James Rumbaugh, Grady Booch e Ivar Jacobson.

Incio da Dcada de 1990:


Prof. Edilberto Silva - http://www.edilms.eti.br

12

A Evoluo do Desenvolvimento de Software

Fim da Dcada de 1990:


Maturidade do paradigma OO. Os conceitos de padres de projeto, frameworks, componentes e qualidade comeam a ganhar espao. Surge a UML.

Prof. Edilberto Silva - http://www.edilms.eti.br

13

A Evoluo do Desenvolvimento de Software


Modelagem de Dados Modelagem de Comportamento

Orientado a Problema

Modelo Relacional

Decomposio Funcional

Anlise Estruturada

Modelagem ER

Modelagem de Processo

Orientado a Objetos

Dados + Operaes

Orientado a Domnio
Prof. Edilberto Silva - http://www.edilms.eti.br 14

Modelos de Ciclo de Vida

Modelo Cascata:

Clssico ou Linear.

Modelo Incremental e Iterativo.

Prof. Edilberto Silva - http://www.edilms.eti.br

15

Fases clssicas no desenvolvimento de SW

Levantamento de Requisitos: tem por objetivo propiciar que usurios e desenvolvedores tenham a mesma compreenso do problema a ser resolvido. Anlise: tem por objetivo construir modelos que determinam qual o problema para o qual estamos tentando conceber uma soluo de software. Projeto: estgio no qual o modelo de anlise ter de ser adaptado de tal modo que possa servir como base para implementao no ambiente alvo. Codificao (implementao): a codificao do sistema efetivamente executada. Teste: consiste na verificao do software. Implantao: entrada em produo do sistema. 16 Prof. Edilberto Silva - http://www.edilms.eti.br

Anlise

Estabelecer uma viso clara do problema. Fazer o levantamento das tarefas que o sistema dever executar. Estabelecer um vocabulrio comum para o domnio do problema.

Prof. Edilberto Silva - http://www.edilms.eti.br

17

Projeto

Resolver o problema. Responder como em vez de o qu. Definio da estratgia de implementao do sistema.

Prof. Edilberto Silva - http://www.edilms.eti.br

18

Similaridade entre AOO e POO

Prof. Edilberto Silva - http://www.edilms.eti.br

19

O Modelo de Processo em Cascata


Requisitos Anlise Projeto Codificao Teste Implantao
q Requisitos para manuteno podem

levar muitos anos. q Risco mximo com custo mximo.

Prof. Edilberto Silva - http://www.edilms.eti.br

20

O Modelo de Processo em Cascata

Vantagens:

Toda fase do projeto pode ser cuidadosamente planejada. Responsabilidades podem ser claramente delineadas. Existncia de marcos ao fim de cada fase. Tudo est no caminho crtico. Demora sensvel para se ver os resultados. dependente de requisitos corretos e estveis.

Desvantagens:

Prof. Edilberto Silva - http://www.edilms.eti.br

21

O Modelo de Processo Incremental Iterativo


Projetos so naturalmente Iterativos e Incrementais Iterao se refere a um passo no ciclo. Uma iterao resulta em um incremento ou avano do projeto como um todo. Grande projetos so desmembrados em miniprojetos.

Prof. Edilberto Silva - http://www.edilms.eti.br

22

O Modelo de Processo Incremental Iterativo

Em cada iterao, deve-se:


Selecionar casos de uso relevantes. Implementar componentes. Verificar se os componentes satisfazem os casos de uso.

Quando uma iterao atinge seu objetivo, o desenvolvimento deve comear a prxima iterao.

Prof. Edilberto Silva - http://www.edilms.eti.br

23

O Modelo de Processo Incremental Iterativo


q Iterao Processo de resoluo de um

problema mediante uma seqncia finita de repeties de um conjunto de operaes.


Requisitos Anlise Projeto Codifica o Teste Implanta o Requisitos Anlise Projeto Codifica o Teste Implanta o

q Cada iterao uma minicascata. q Em cada passo, o sistema

estendido com mais funcionalidades (incremental).

Prof. Edilberto Silva - http://www.edilms.eti.br

24

O Modelo de Processo Incremental Iterativo

Vantagens:

Reduo de custos. Capacidade de se adaptar s peculiaridades de requisitos volteis. Melhor controle do projeto. Menos peritos disponveis no mercado.

Desvantagens:

Prof. Edilberto Silva - http://www.edilms.eti.br

25

Grfico de Riscos

Risco em Cascata

Risco

Reduo do Risco

Risco Iterativo

Tempo
Prof. Edilberto Silva - http://www.edilms.eti.br 26

Futuro do Desenvolvimento de Software


Capacidade de Programao

Desenvolvedores

Fabricantes

Construtores

Usurios

Situao Atual

Evoluo
27

Prof. Edilberto Silva - http://www.edilms.eti.br

Você também pode gostar