análise e projeto de sistemas universidade de cruz alta ciência da computação 2010/1

53
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

Upload: internet

Post on 18-Apr-2015

104 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

Análise e Projeto de Sistemas

UNIVERSIDADE DE CRUZ ALTA

Ciência da Computação

2010/1

Page 2: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

ORIENTAÇÃO A OBJETOS

Page 3: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

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.

Page 4: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

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.

Page 5: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

Análise orientada a objetos

Page 6: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

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.

Page 7: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

Objeto

Page 8: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

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.

Page 9: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

Análise orientada a objetos

ANÁLISE

INVESTIGAÇÃO DO PROBLEMAINVESTIGAÇÃO DO PROBLEMA

Page 10: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

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.

Page 11: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

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.

Page 12: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

Características das linguagens orientadas a objetos

Objetos Polimorfismo Herança

Page 13: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

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.

Page 14: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

OBJETOS

É uma entidade lógica que contém dados e códigos para manipular estes dados.

Exemplos: Coisas tangíveis = “a Bíblia”

Page 15: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

Objetos

Page 16: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

Componentes de um objeto

Page 17: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

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.

Page 18: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1
Page 19: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

Componentes de um objeto

Page 20: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

Objetos

Dados

métodos

Classe

Variáveis de classe

Dados

métodos

Instancia de uma classe

Variáveis de instância

Page 21: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

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.

Page 22: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

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

Page 23: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

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.

Page 24: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

Mensagens

Page 25: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

Componentes de um objeto

Page 26: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

Método

Um sinônimo para procedimento ou função. Invocado quando uma mensagem é recebida por um objeto.

Page 27: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

Abstração

Consiste na seleção que o analista faz de alguns aspectos, ignorando outros.

Page 28: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

Abstração

Page 29: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

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.

Page 30: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

Abstração

A abstração deve ser sempre feita com algum objetivo, por que este determina o que é e o que não é importante

Page 31: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

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

Page 32: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

Classe

Page 33: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1
Page 34: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1
Page 35: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

Classe

Conta bancária

Número da contaNúmero do titular

Saldo

Consulta saldo

Retirar

Depositar

Page 36: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

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

Page 37: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

Subclasse

Page 38: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

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.

Page 39: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1
Page 40: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

Encapsulamento

Page 41: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

Encapsulamento

Page 42: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

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.

Page 43: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

Estado

Page 44: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

Encapsulamento

Page 45: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

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.

Page 46: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

Polimorfismo

O polimorfismo ocorre quando uma mesma mensagem chegando a objetos diferentes provoca respostas diferentes.

Page 47: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

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.

Page 48: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

Herança

Conta bancária

Conta corrente

Aplicação longo prazoAplicação curto prazo

Conta poupança

Page 49: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

Herança

Page 50: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

Herança

Page 51: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1

Herança

Page 52: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1
Page 53: Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1