Introducao orientação a objetos
Introdução a Orientação a Objetos UML Prof. : Edilberto M. Silva http://www. edilms. eti. br Baseado nos materiais dos profs: Edna Canedo Mario Massakun Kubo Sandro de Paula Mendonça Brasília-DF, jul/2006 Bibliografia Recomendada ar 18 to view nut*ge Fowler, M. and Scott, K, UML Distilled – Applying the Standard Object Modeling Language, Addison-Wesley, 1997. Quatrani, T. , Modelagem Visual com Rational Rose 2000 e UML, Ciência Moderna, 2001. Page-Jones, M. , Fundamentos do Desenho Orientado a Objeto com UMI- Makron Books, 2001.
Larman, C. , Utilizando UML e Padrões, Editora Bookman, 2000. Jacobson, 1. , comportamento do sistema; Possibilita a documentação das decisões tomadas. Prof. Edilberto Silva – http://wwm. edilms. eti. br 4 Importância da Modelagem Podemos concluir que: Uma empresa bem sucedida é aquela que fornece software de qualidade e capaz de atender as necessidades dos respectivos usuários; A modelagem é uma parte central de todas as atividades que levam a implantação de um bom software. Prof. Edilberto Silva – http://wvw. edilms. eti. r Modelagem não Orientada a Objetos Raízes associadas às linguagens de terceira geração; Sistemas ão decompostos em módulos; Módulos são decompostos em funções; Funções e dados são tratados em separado; Funções são ativas e dados são passivos; Funções precisam conhecer as estruturas dos dados; É problemático modificar estruturas dos dados; Dados fluem entre as funções. Prof. Edilberto Silva – http://www. edilms. eti. br 6 Modelagem Orientada a PAGF 18 métodos dos objetos visando efetuar as ações e manipular as informações. prof. Edilberto Silva – http://vwon. . edilms. eti. br Mundo Computacional Mundo Real ESPAÇO DE PROBLEMAS Gap Semântico ESPAÇO DE SOLUÇÕES Aspectos mais importantes do mundo real para fins de representação no computador RESULTADOS DADOS Objetos e Operações do mundo real ESPAÇO DE PROBLEMAS Algoritmo do mundo real Objetos do mundo real Mapeamento do dom[nio de soluções Interpretação Humana dos resultados ESPAÇO DE SOLUÇOES Objetos e Operações abstratas Algoritmo computacional Dados de Saída 18 a Objetos – AOO Projeto Orientado a Objetos – POO Implementação Orientada a Objetos – 100 prof.
Edilberto Silva – http://vwm. ‘. edilms. eti. br Paradigma de Orientação a Objetos Surgiu na tentativa de solucionar problemas existentes no esenvolvimento de Softwares Complexos e Confiáveis com baixo custo de desenvolvimento e manutenção; Mundo Real é formado por objetos que se interagem; Representar esses objetos em um software é mais natural e permanente do que representar a sua funcionalidade (decomposição funcional), pois essa é mutável; Prof. Edilberto Silva – http://w•vwa. ‘. edilms. eti. r 16 Idéia básica “Nós percebemos o mundo como uma coleção de objetos que interagem entre si” “Maneira de ver as coisas, uma nova maneira de pensar” Permite que objetos do mundo real sejam mapeados em Objetos o computador; CIVisão do DOMÍNIO da aplicação é composto por OBJETOS que se comunicam através de MENSAGENS; aparadigma de 00 objetos + classifica ao + herança + comunicação (Coad e yourdon, 1990); ovnodel Objetos, Mensagens e Orientação a Objetos O desenvolvimento orientado a objetos evoluiu no sentido PROGRAMAÇÃO ANÁLISE Conceitos desse paradigma foram introduzidos com o surgimento da linguagem Smalltalk; Em seguida, surgiram métods de projeto para dar suporte à implementação de sistemas orientados a objetos; Recentemente, propostas de métodos para análise e rojeto vêm emergndo. – http://www. edilms. eti. br prof. Edllberto Silva 19 Benefícios Principais Reusabilidade Redução da Complexidade Garantia de Integridade 20 Processo de Construção de Sistemas manutenção operações residem em um único lugar, não estando espalhadas e repetidas pelos programas. Prof. Edilberto Silva – http://wvvw. edilms. eti. br 25 Garantia de Integridade Estruturas de dados só podem ser usadas por suas próprias operaçoes. Prof. Edilberto Silva – http://wwm’. edilms. eti. r 26 27 00 – Paradigma Enfoque, que representa o mundo real com objetos e suas nterações. Coisas do mundo real: mesas, papéis, animais Objetos têm propriedade Mesa Feita de madeira Tem uma altura Tem uma localização Criar, destruir, mudar a localizaç a dados complexos programação baseada em eventos. e Prof. Edilberto Silva – http://wwm. edilms. eti. br 31 00 – Terminologia A programação 00 apoia-se basicamente nos princípios de: Objeto Abstração ] Mensagem Polimorfismo Herança Classe Encapsulamento Método Instancia prof. Edilberto Silva – http://vwon. ‘. edilms. eti. br 32 Abstração Mecanismo utilizado na análise de um domínio Através dela, o ndivíduo observa a realidade e dela abstrai entidades, ações, etc. onsideradas essenciais para uma aplicação, excluindo todos os aspectos julgados irrelevantes Exemplo: Fotografia por satélite (imagem da realidade), despida de alguns aspectos (por exemplo, cor, movimento) Da foto, pode-se abstrair um mapa, que elimina diversas propriedades da foto (detalhes particulares de um edifício ou ra a O mapa pode ser a base para abstrair um grafo duas categorias abstrai-se uma categoria mais genérica C] sub- categorias satisfazem todas as propriedades das categorias de ue elas constituem especializações C] deve existir pelo menos uma propriedade que distingue duas categorias especializadas Prof. Edilberto Silva – http://www. edilms. eti. r 36 Operações de Abstração relevantes para a modelagem conceitual Agregação (Decomposição) C] composição de uma nova categoria como um agregado de categorias pré-existentes instâncias de uma categoria (Estudante) são compostas por instâncias de outras categorias (Nome, Endereço) Prof. Edilberto Silva – http:/h,wm’. edilms. eti. br 37 Classificação/lnstanciação CATEGORIA Estudante de Graduação CLASS FICAÇÃO INSTANCIAÇÃO José Maria INDIVÍDUO (Objeto) Prof. Edilberto Silva – http://wwm’. edilms. eti. br 38 CATEGORIA Estudante de Graduação Membro do Coral CLASSIFICAÇÃO INSTANCIAÇÃO José Mana INDIVIDUO (Objeto) Prof. Edilberto Silva – http://wvm’. edilms. eti. br 39 42 Aspectos 00 Modelo de Objetos Objeto Mensagem Método Classe Atributo protocolo Classificação Herança Encapsulamento/ Ocultamento de Informação Polimorfismo prof. Edilberto Silva – http://vwon. ‘. edilms. eti. r 43 Objeto Tudo em Orientação Objeto é OBJETO; Objeto, no mundo físico, é ipicamente um produtor e consumidor de itens de informação máquina, comandos, arquivos, pessoas, sinais. Definição (mundo do sofware): “Qualquer coisa, real ou abstrata a respeito da qual armazenamos dados e m manipulam” Martin, Odell 46 Abstração Mapeamento Implementação ABSTRAÇÃO DOMÍNIO + OPERAÇÕES ATRIBUTOS (Dados) + IMPLEMENTAÇÃO MÉTODOS (Procedimentos) 47 Resumindo: pacote de informações (atributos) e a descrição de suas operações (métodos), de modo que elas são intrínsecas ao seu domínio e este é formado pelos elementos que o caracterizam Exemplo: Objeto: Pessoa