Escolar Documentos
Profissional Documentos
Cultura Documentos
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
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
1986
1996
Paradigma OO
Paradigma:
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.
Paradigma OO
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.
Paradigma OO
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.
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.
10
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:
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.
12
Maturidade do paradigma OO. Os conceitos de padres de projeto, frameworks, componentes e qualidade comeam a ganhar espao. Surge a UML.
13
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
Modelo Cascata:
Clssico ou Linear.
15
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.
17
Projeto
Resolver o problema. Responder como em vez de o qu. Definio da estratgia de implementao do sistema.
18
19
20
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:
21
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.
22
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.
23
24
Vantagens:
Reduo de custos. Capacidade de se adaptar s peculiaridades de requisitos volteis. Melhor controle do projeto. Menos peritos disponveis no mercado.
Desvantagens:
25
Grfico de Riscos
Risco em Cascata
Risco
Reduo do Risco
Risco Iterativo
Tempo
Prof. Edilberto Silva - http://www.edilms.eti.br 26
Desenvolvedores
Fabricantes
Construtores
Usurios
Situao Atual
Evoluo
27