curso logica orientada a objetos - aula 1

14
Lógica Orientada a Objetos – Aula 1 Apresentação Bem-vindo ao curso de Análise e Modelagem Orientada a Objeto. Este curso é uma introdução aos conceitos de orientação a objeto e ensina a metodologia de análise e modelagem orientada a objeto. Introdução: Análise e Modelagem Orientada a Objeto Nesta aula, você irá estudar a definição de sistema orientado a objeto (OO) e porque Análise Orientada a Objeto é a ferramenta ideal para projeto de sistemas atualizados. Visualizará os conceitos principais da abordagem orientada a objetos. Conteúdo: Funcionalidade Dados Objetivos: Conhecer a definição de um sistema orientado a objeto e as características dos sistemas atuais; 1/14

Upload: marciacalos

Post on 21-Jun-2015

1.169 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: curso logica orientada a objetos - aula 1

Lógica Orientada a Objetos – Aula 1

Apresentação

Bem-vindo ao curso de Análise e Modelagem Orientada a Objeto. Este curso é uma introdução aos conceitos de orientação a objeto e ensina a metodologia de análise e modelagem orientada a objeto.

Introdução:

Análise e Modelagem Orientada a Objeto

Nesta aula, você irá estudar a definição de sistema orientado a objeto (OO) e porque Análise Orientada a Objeto é a ferramenta ideal para projeto de sistemas atualizados. Visualizará os conceitos principais da abordagem orientada a objetos.

Conteúdo:

Funcionalidade Dados

Objetivos:

Conhecer a definição de um sistema orientado a objeto e as características dos sistemas atuais;

Análise e Modelagem Orientada a Objeto como uma ferramenta de projeto de sistemas atuais;

Aprender as vantagens da utilização da Análise e Modelagem Orientada a Objetos.

1/11

Page 2: curso logica orientada a objetos - aula 1

Lógica Orientada a Objetos – Aula 1

Definições

Um sistema composto por unidades que mantém dados e funcionalidade associados é considerado orientado a objeto. Estas unidades trabalham em conjunto com ambos para produzir o resultado desejado do sistema.

Agora, você estudará as características do sistema atualizado. Geralmente, sistemas atualizados são detalhados e complexos. Usualmente, equipes precisam trabalhar em conjunto para modelar o projeto do sistema.

Outra característica dos sistemas atualizados é que muitos códigos lidam com a interface de usuário da aplicação.

Assim que as aplicações se tornam maiores e mais complexas, a depuração se torna cansativa. Desta forma, mais esforço é gasto na manutenção do sistema e depuração do que no projeto e implementação.

Os itens abaixo mostram com qual freqüência os vários componentes do sistema se alteram. Enquanto dados são os componentes menos voláteis em qualquer sistema, funções se alteram freqüentemente com o passar do tempo.

Interface entre componentes do sistema: Altamente volátil Funções: Muito volátil Seqüência de funções: Muito volátil Dados mantidos por um período: Menos volátil

2/11

Page 3: curso logica orientada a objetos - aula 1

Lógica Orientada a Objetos – Aula 1

O primeiro requisito é que a metodologia possibilite o projeto de sistemas grandes e complexos com o mínimo esforço. Isso significa que a metodologia deve ter a facilidade de representar sistemas complexos como um modelo simples. Isto irá ajudar no armazenamento e manipulação da complexidade inerente no sistema atualizado.

O segundo requisito é que a metodologia deve possuir a facilidade de re-utilização de um código e/ou componente. Isto irá possibilitar aos analistas e desenvolvedores a redução do tamanho da aplicação.

O terceiro requisito é que a metodologia resulte em uma abordagem de projeto modular. Isto possibilitará que diferentes equipes trabalhem independente em partes diferentes de um sistema sem problemas.

O último requisito é que a metodologia deve possibilitar o modelo de um sistema que pode ser atualizado facilmente. Isto resultará em uma aplicação estável e uma redução na manutenção necessária.

Quando precisamos modelar um sistema para solucionar um grande problema, este problema deve ser dividido em partes menores. O modelo OO divide um problema em partes menores na base de dados.

Dividir um sistema em partes menores na base de dados, ajuda modelar sistemas que são flexíveis em mudanças porque os dados são a parte menos volátil de um sistema. Sistemas tradicionais criados com base em funções são sensíveis a mudanças.

3/11

Page 4: curso logica orientada a objetos - aula 1

Lógica Orientada a Objetos – Aula 1

Um sistema OO consiste em unidades que são uma combinação de dados e funcionalidade. Isto faz com que as unidades em um sistema OO fiquem bem próximas aos seus companheiros na vida real.

Por exemplo, uma unidade chamada Funcionário em um sistema OO armazena os dados que um Funcionário na vida real possui e executa suas funções.

As similaridades entre a modelagem do sistema e a vida real fazem com que os sistemas sejam mais intuitivos para projeto e manutenção. Por exemplo, você identifica os dados e as funções de uma unidade do Funcionário em um sistema OO visualizando a informação conhecida funcionários na vida real e as funções executadas por eles.

4/11

Page 5: curso logica orientada a objetos - aula 1

Lógica Orientada a Objetos – Aula 1

Sistemas OO são modulares. Cada unidade em um sistema OO trabalha com os dados e com a funcionalidade associada com uma única entidade física ou lógica. Também, os dados associados com uma unidade não são visíveis em uma outra unidade.

As unidades em um sistema OO interagem utilizando mensagem. Como resultado, mesmo em sistemas amplos, as equipes que estiverem trabalhando em diferentes partes do sistema somente precisam estar conscientes das mensagens que são passadas entre unidades.

Conforme mencionado anteriormente, as técnicas de análise e modelagem devem proporcionar uma ferramenta para tornar os sistemas amplos mais flexíveis. Para lidar com isso, a metodologia OO oferece um mecanismo explícito para reutilização de código e componentes.

Reutilização permite-lhe desenhar sistemas aproveitando totalmente o que há de comum no sistema.

Quase todos os sistemas atualizados utilizam a GUI (Interface Gráfica de Usuário) e geralmente tais interfaces se benefeciam muito da reutilização do código e do desenho. Essa é uma vantagem a mais da metodologia OO.

Agora você visualizará as vantagens da utilização da abordagem OO. Uma das principais vantagens é que Análise e Modelagem Orientada a Objeto modela um sistema como um grupo de entidades interativas. Essa representação é semelhante ao cenário do mundo real.

5/11

Page 6: curso logica orientada a objetos - aula 1

Lógica Orientada a Objetos – Aula 1

Cada entidade realiza, no sistema, a tarefa de seu equivalente na vida real. Por exemplo, um cliente no sistema OO executa as mesmas tarefas de um cliente na vida real. Isto faz com que o sistema seja mais fácil de ser compreendido e projetado.

A metodologia OO possui uma abordagem modular. Uma única unidade manipula os dados e a funcionalidade associados a uma única entidade lógica ou física da vida real. Na ocorrência de algum problema, você sabe exatamente onde procurar por um bug.

Consideremos um sistema de gerenciamento de inventário. Se a quantia calculada em um relatório de faturas está incorreta, você pode examinar diretamente a unidade de fatura para tentar encontrar bugs.

No caso da uma modificação nas especificações do sistema, as alterações podem ser feitas sem receio de causar qualquer efeito colateral. Isto porque, em um sistema OO, o limite entre as unidades que o compõe é muito bem definido.

6/11

Page 7: curso logica orientada a objetos - aula 1

Lógica Orientada a Objetos – Aula 1

Um sistema construído utilizando a metodologia OO pode aumentar a produtividade da equipe envolvida no projeto. O aumento na produtividade é devido ao mecanismo de reutilização de projeto e código.

O sistema OO também leva menos tempo para se desenvolver se comparado a outro desenvolvido com as metodologias tradicionais. Um módulo leva menos tempo para ser desenvolvido quando você reutiliza um projeto e seu código do que quando é necessário construí-lo a partir do zero.

Um sistema OO também é muito confiável. Proporciona segurança e estabilidade pelo fato de que um sistema OO emprega várias reutilizações.

Conceitos

Sistemas orientados a objetos utilizam conceitos de abstração, encapsulamento, herança e troca de mensagens (messaging).

Abstração

Abstração é um mecanismo que é utilizado para representar um sistema complexo através de um modelo simplificado. Você simplifica um sistema complexo, ignorando detalhes irrelevantes sobre ele.

Por exemplo, um homem comum vê um carro como um veículo de quatro rodas, apesar dele ser, na verdade, constituído por muitos mecanismos como os sistemas de transmissão e direção. Portanto, um carro visto como um veículo de quatro rodas é uma abstração para um homem comum.

Uma abstração, entretanto, é algo particular a cada pessoa.

Por exemplo, uma pessoa que constrói chassi poderia olhar um carro como uma máquina que consiste de motor e chassi.

Um carro é uma abstração para essa pessoa também, mas os detalhes vistos por ela são diferentes.

7/11

Page 8: curso logica orientada a objetos - aula 1

Lógica Orientada a Objetos – Aula 1

Sistemas orientados a objetos são baseados no conceito de abstração de dados. Isto significa que você visualiza um sistema como sendo dividido em grupos de dados logicamente relacionados. Cada grupo também contém operações que se aplicam a esse conjunto de dados.

Por exemplo, um sistema de gerenciamento de inventário pode ser visualizado como um conjunto de grupos de dados e operações logicamente relacionados.

Cada grupo contém todos os dados e funcionalidades associados a uma entidade lógica ou física. Por exemplo, o grupo de Usuários contém todos os dados e funcionalidades associados a um cliente na vida real.

A abstração de dados torna simples a compreensão de sistemas complexos, ajudando a visualizar o sistema como sendo constituído de muitas unidades de dados e operações logicamente relacionados.

Encapsulamento

Encapsulamento é um mecanismo utilizado para esconder as operações de uma entidade.

8/11

Page 9: curso logica orientada a objetos - aula 1

Lógica Orientada a Objetos – Aula 1

Considere uma pessoa dirigindo um carro com um mecanismo automático de troca de marcha. Quando a pessoa pisa no acelerador, a velocidade do carro aumenta e a marcha é trocada automaticamente. Nesse exemplo, o mecanismo automático de troca de marcha está encapsulado no carro.

Nos sistemas orientados a objetos, o encapsulamento é utilizado para esconder as operações das várias unidades no sistema. O trabalho que a unidade executa é conhecido apenas pela própria unidade.

Por exemplo, a unidade Cliente contém a operação "AdicionarCliente", a qual é utilizada para adicionar um novo cliente ao banco de dados. O método para se adicionar um novo cliente está encapsulado.

Para adicionar um novo cliente, você precisa apenas enviar uma mensagem à unidade Cliente solicitando que esta execute a operação "AdicionarCliente".

Herança

Herança é um mecanismo que identifica os aspectos comuns entre os sistemas e utiliza-os para reduzir o esforço dispensado ao projeto de um novo sistema.

A vantagem de agrupar o que é comum em um sistema é que uma vez identificada a parte comum, não é preciso empreender esforços no projeto e programação dessa parte novamente.

Conforme mencionado anteriormente, um sistema OO é constituído de unidades com operações e dados logicamente relacionados. Você utiliza a herança para que uma unidade extraia seus dados e operações de outra unidade.

Herança

9/11

Page 10: curso logica orientada a objetos - aula 1

Lógica Orientada a Objetos – Aula 1

Considere as unidades ClienteNormal e ClienteEspecial. Estes são tipos de clientes, portanto, possuem alguns dados e operações em comum.

Para utilizar a herança e capturar o que é comum, os dados e operações em comum são colocados em uma unidade separada chamada cliente. As unidades ClienteNormal e ClienteEspecial herdam os dados e operações comuns do cliente.

Entretanto, o ClienteNormal e o ClienteEspecial podem possuir dados e operações adicionais específicos a eles.

Messaging

Troca de mensagem (messaging) é um mecanismo de comunicação entre as unidades que compõem um sistema orientado a objeto.

As unidades que compõem um sistema precisam trabalhar juntas para que o sistema produza resultado desejado. Para coordenar esse trabalho, utilizam mensagens.

Por exemplo, em um sistema de Folha de Pagamento, a unidade Hollerith deve passar uma mensagem para a unidade Contas instruindo-a a reportar o percentual de imposto a ser deduzido do salário do funcionário. Isto permitirá a unidade Hollerith a imprimir holleriths contendo o valor correto do imposto deduzido.

10/11

Page 11: curso logica orientada a objetos - aula 1

Lógica Orientada a Objetos – Aula 1

11/11