análise e projeto de sistemas universidade de cruz alta ciência da computação 2010/1
TRANSCRIPT
Análise e Projeto de Sistemas
UNIVERSIDADE DE CRUZ ALTA
Ciência da Computação
2010/1
ORIENTAÇÃO A OBJETOS
CENÁRIO ATUAL
Precursores da análise orientada a objeto, defendiam que devíamos estruturar programas de computadores de acordo com o problema a ser resolvido. O Termo orientação a objetos sugere abstrações no mundo real e trechos de programas de computador, ou objeto.
CENÁRIO ATUAL
Um grande fator da orientação a objetos é a REUSABILIDADE. Estamos reutilizando códigos de programas desde o início da computação. As técnicas de orientação a objetos nos permitem muito mais que a reutilização de códigos, podemos reutilizar requisitos, análise, projeto, planejamento de testes, interfaces de usuário e arquiteturas, ou seja, todos os componentes de engenharia de software podem ser encapsulados como reutilizáveis.
Análise orientada a objetos
Propósitos da análise orientada a objetos
formalizar uma visão do mundo real dentro do qual o sistema será desenvolvido, estabelecendo os objetivos que servirão como principais estruturas organizacionais do sistema de software e também as que o mundo real impõe.
Formalizar a colaboraçao de um dado conjunto de objetos na execução do trabalho do sistema de forma que está sendo especificado.
Objeto
Análise orientada a objetos
Análise é o estudo do domínio de um problema que leva a uma especificação de comportamentos observáveis externamente. Analisar é obter as necessidades de um sistema e o que este precisa ser desenvolvido para satisfazer as necessidades do usuário.
Análise orientada a objetos
ANÁLISE
INVESTIGAÇÃO DO PROBLEMAINVESTIGAÇÃO DO PROBLEMA
Projeto orientado a objetos
Processo de especificação das partes da construção, ou seja, instruções, guias, recomendações, qualificações, regras, etc...Utilizamos este processo para implementar um sistema em um ambiente específico, em busca da solução do problema.
Orientação a objetos
Significa organizar o mundo real como uma coleção de objetos que incorporam estrutura de dados e um conjunto de operações que manipulam estes dados.
Características das linguagens orientadas a objetos
Objetos Polimorfismo Herança
Sistema de software orientado a objetos
Um sistema de software orientado a objetos consiste de objetos em colaboração com o objetivo de realizar as funcionalidades deste sistema. Cada objeto é responsável por tarefas específicas. É através da cooperação entre objetos que a computação do sistema se desenvolve.
OBJETOS
É uma entidade lógica que contém dados e códigos para manipular estes dados.
Exemplos: Coisas tangíveis = “a Bíblia”
Objetos
Componentes de um objeto
Objetos
Classes
É um tipo de dados, como os já conhecidos para declarar variáveis.
Uma variável de uma classe é chamada de objeto
Variáveis de Classe: são os dados declarados em uma classe
Instância: temos uma instancia de uma classe quando declaramos um objeto a partir de uma classe. Semelhante a declaração de uma variável.
Componentes de um objeto
Objetos
Dados
métodos
Classe
Variáveis de classe
Dados
métodos
Instancia de uma classe
Variáveis de instância
Objetos
Um Objeto é uma entidade independente, assíncrona e concorrente, armazena dados, encapsula serviços, troca mensagens com outros objetos, e é modelado para executar as funções finais do sistema.
Objetos
Objetos interagem e comunicam-se através de mensagens
As mensagens identificam as operações / métodos a serem executados no objeto receptor.
emissorReceptor/servidor
Mensagens e métodos
Para invocar um método de um objeto, deve-se invocar uma mensagem para este objeto.
Para enviar uma mensagem deve-se: Identificar o objeto que receberá a mensagem Identificar o método que o objeto deve executar Passar os argumentos requeridos pelo método. Um objeto possui: Um estado (definido pelo conjunto de valores de seus atributos
em um determinado instante) Um comportamento (definido pelo conjunto de métodos
projetados na sua interface) Uma entidade única.
Mensagens
Componentes de um objeto
Método
Um sinônimo para procedimento ou função. Invocado quando uma mensagem é recebida por um objeto.
Abstração
Consiste na seleção que o analista faz de alguns aspectos, ignorando outros.
Abstração
Homem, vaca e cachorro são mamíferos; Prata, chumbo e platina são metais; Poupança, conta corrente e aplicações são
tipos de contas bancárias; Características comuns: Todos os mamíferos são vertebrados; Todos os metais tem peso; Todas as contas bancárias tem saldo.
Abstração
A abstração deve ser sempre feita com algum objetivo, por que este determina o que é e o que não é importante
Classe
Classe é a abstração que capta os atributos e operações comuns a um conjunto de objetos;
É a descrição de um conjunto de objetos com características, atributos e comportamentos semelhantes.
Instancia: é um objeto individual que é tanto descrito por uma classe particular como é um membro dela. Repositório para dados que descreve o estado de um membro de uma classe
Classe
Classe
Conta bancária
Número da contaNúmero do titular
Saldo
Consulta saldo
Retirar
Depositar
Classe
Operações:Depósito: quantidadeRetirada: quantidade
Saldo
NumeroConta:123456NomeTitular:Elaine
Saldo:700.77
NumeroConta:123489NomeTitular:Carla
Saldo:500.77
NumeroConta:456789NomeTitular:Pedro
Saldo:300.77
Minha conta bancária
Conta bancária de Carla
Conta bancária de Pedro
Subclasse
Encapsulamento
Todo o acesso aos dados do objeto é feito através da chamada a uma operação (método) da sua interface.
Mudanças na implementação de um objeto, que preservem a sua interface externa, não afetam o resto do sistema.
Encapsulamento
Encapsulamento
Encapsulamento
Encapsular é omitir informações pelo princípio de que uma determinada entidade esconde informações as quais são necessárias apenas à mesma. É fundamental que o objeto proteja seus dados, não permitindo que o usuário do objeto os acesse diretamente, mas sim através de métodos.
Estado
Encapsulamento
Herança
É a principal característica do processo de generalização / especialização. Através da Herança uma determinada subclasse herda todos os atributos e métodos da superclasse.
Vantagem: Permite um analista especificar serviços e atributos
comuns uma só vez, assim como especializar e estender estes atributos a serviços em casos específicos.
Polimorfismo
O polimorfismo ocorre quando uma mesma mensagem chegando a objetos diferentes provoca respostas diferentes.
Herança
É o processo em que um objeto pode adquirir as características de um outro objeto.
Herança simples: um objeto herda as características de uma única classe.
Herança Múltipla: um objeto herda características de mais de uma classe.
Herança
Conta bancária
Conta corrente
Aplicação longo prazoAplicação curto prazo
Conta poupança
Herança
Herança
Herança