Sem resumo de edição |
|||
| (6 revisões intermediárias por 2 usuários não estão sendo mostradas) | |||
| Linha 14: | Linha 14: | ||
* | *Década de 2000: Utilização rotineira da OOA (Object Oriented Analysis)como método de análise e uma certa padronização através da utilização extensiva do UML (Unified Modeling Language). | ||
<br> | <br> | ||
*A OOA baseia-se num conceito simples de que as pessoas adquirem desde | *A OOA baseia-se num conceito simples de que as pessoas adquirem desde a infância, como objetos e atributos, classes e membros, todo e partes do todo. | ||
<br> | <br> | ||
| Linha 24: | Linha 24: | ||
* Atual: Orientação a Serviço (SOA). | * Atual: Orientação a Serviço (SOA). | ||
<br> | <br> | ||
= Foco = | = Foco = | ||
| Linha 32: | Linha 31: | ||
*'''Foco OOA:''' O sistema é uma coletânea de objetos que | *'''Foco OOA:''' O sistema é uma coletânea de objetos que interagem entre si, com características próprias, representados por atributos(dados) e operações (processos). | ||
<br> | <br> | ||
| Linha 94: | Linha 93: | ||
* a) Mantém a modelagem do sistema e, conseqüentemente, a automação do mesmo o mais próximo possível de uma visão conceitual do mundo real. | * a) Mantém a modelagem do sistema e, conseqüentemente, a automação do mesmo o mais próximo possível de uma visão conceitual do mundo real. | ||
* b) Baseia a decomposição e modelagem do sistema nos dados, que é o elemento mais estável de todos aqueles que compõem um sistema de informação. | * b) Baseia a decomposição e modelagem do sistema nos dados, que é o elemento mais estável de todos aqueles que compõem um sistema de informação. | ||
| Linha 147: | Linha 145: | ||
*'''Programação OO''' se incumbe da implementação do Projeto OO | *'''Programação OO''' se incumbe da implementação do Projeto OO usando uma linguagem de programação OO (C++, Java, Python, ...). | ||
<br> | <br> | ||
| Linha 158: | Linha 156: | ||
* A análise de sistemas no mundo orientado a objetos é feita analisando-se os objetos e os eventos que interagem com esses objetos | * A análise de sistemas no mundo orientado a objetos é feita analisando-se os objetos e os eventos que interagem com esses objetos | ||
<br> | <br> | ||
* O projeto de software é feito reusando-se classes de objetos existentes e quando necessário, construindo-se novas classes. | * O projeto de software é feito reusando-se classes de objetos existentes e quando necessário, construindo-se novas classes. | ||
| Linha 178: | Linha 175: | ||
*A modelagem e o projeto orientados a objeto são os paradigmas que devem integrar todas as ferramentas e técnicas poderosas para a criação de software. | *A modelagem e o projeto orientados a objeto são os paradigmas que devem integrar todas as ferramentas e técnicas poderosas para a criação de software. | ||
<br> | <br> | ||
= Conceitos básicos = | = Conceitos básicos = | ||
Edição atual tal como às 19h57min de 15 de junho de 2011
Orientação a Objetos
Breve Histórico
- Fim da década de 80: Amadurecimento da orientação a objeto
- Década de 1990: Diversas proposições (Booch, Rumbaugh, Jacobson, ...)
- Década de 2000: Utilização rotineira da OOA (Object Oriented Analysis)como método de análise e uma certa padronização através da utilização extensiva do UML (Unified Modeling Language).
- A OOA baseia-se num conceito simples de que as pessoas adquirem desde a infância, como objetos e atributos, classes e membros, todo e partes do todo.
- Atual: Orientação a Serviço (SOA).
Foco
- Foco tradicional: Compreensão do sistema como um conjunto de programas que executam processos sobre os dados.
- Foco OOA: O sistema é uma coletânea de objetos que interagem entre si, com características próprias, representados por atributos(dados) e operações (processos).

- Os métodos de orientação a objetos apresentam uma visão mais integrada das funções e dados
- O sistema orientado a objetos é estruturado através de objetos, que contemplam: funções + dados
- Resultados:
- Produtos mais estáveis e de melhor qualidade
- Processo de desenvolvimento que permite:
- melhor entendimento do sistema e do seu ambiente
- melhor entendimento do domínio da aplicação
- melhor independência da implementação até estágios mais avançados.
- Quando usar uma análise OO?
- Projeto de grande porte: Muita informação e subprojeto
- Ex: Sistema para organização da Copa do Mundo
- Requisitos não completamente fechados : Modelos relativamente estáveis
- Ex Sistema a ser desenvolvido pela equipe
- Requisitos vagos, incompletos ou inconsistentes:
- Recursos para identificar as informações. Ex: Sistema solicitado oralmente
- Novas aplicações: Abordagem sistemática para melhor entendimento
- Ex: Sistema Realidade Aumentada
- Equipe com especialidades diversas : Linguagem comum
- Ex: Sistemas de controle de um avião
- Sistemas críticos: Definição mais sistemática da lógica
- Ex: Sistema bancário
- Benefícios da AOO
- a) Mantém a modelagem do sistema e, conseqüentemente, a automação do mesmo o mais próximo possível de uma visão conceitual do mundo real.
- b) Baseia a decomposição e modelagem do sistema nos dados, que é o elemento mais estável de todos aqueles que compõem um sistema de informação.
- c) Oferece maior transparência na passagem da análise ( modelo essencial ) para o projeto ( modelo de implementação )
Características
- Objetos são abstrações de entidades do mundo real (ou de algum sistema) que se auto-gerenciam
- Objetos são independentes e encapsulam suas representações de estado e de informações
- A funcionalidade de um sistema é expressa em termos de serviços que os objetos prestam
- Áreas de dados compartilhadas são eliminadas
- Objetos se comunicam através do envio de mensagens
- Objetos podem ser distribuídos
- Objetos podem ser executados sequencialmente ou de forma paralela.
Projeto, análise e programação são atividades distintas
- Análise OO se preocupa com a modelagem dos objetos para o domínio da aplicação
- Projeto OO se encarrega do desenvolvimento de um modelo de sistema que implemente os requisitos pré-definidos pela AOO
- Programação OO se incumbe da implementação do Projeto OO usando uma linguagem de programação OO (C++, Java, Python, ...).
___________________________________________________________________________________________________________
- As técnicas orientadas a objeto permitem que o software seja construído de objetos que tenham um comportamento especifico
- A análise de sistemas no mundo orientado a objetos é feita analisando-se os objetos e os eventos que interagem com esses objetos
- O projeto de software é feito reusando-se classes de objetos existentes e quando necessário, construindo-se novas classes.
___________________________________________________________________________________________________________
- A análise e o projeto orientados a objeto modelam o mundo em termos de objetos que tem propriedades e comportamentos e eventos que disparam operações que mudam o estado dos objetos
- Os objetos interagem com outros objetos
- A modelagem e o projeto orientados a objeto são os paradigmas que devem integrar todas as ferramentas e técnicas poderosas para a criação de software.
Conceitos básicos
Objetos
- São entidades em um sistema de software que representam instâncias de entidades do mundo real e de algum sistema
Características:
- Objeto é um conceito, uma abstração ou uma coisa, com limites e significados bem definidos em relação ao problema considerado
- Um objeto é normalmente identificado por um substantivo
- Um objeto contém estrutura e comportamento.
- Exemplos de objetos
Motor Carro Frota
Fração Equação Fórmula
Coração Corpo Humano Pessoa
Parágrafo Documento Biblioteca