1 / 91

Análise e projeto de sistemas orientados a objetos

Análise e projeto de sistemas orientados a objetos. Professor : José Luiz Rodrigues Junior E-mail : jluizrj@uninove.br. UML-Unified Modeling Language. Desenvolvimento Rational software Microsoft Hewlett-Packard Oracle Sterling Unisys IBM MCI. UML-Unified Modeling Language.

yair
Download Presentation

Análise e projeto de sistemas orientados a objetos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Análise e projeto de sistemas orientados a objetos Professor : José Luiz Rodrigues Junior E-mail: jluizrj@uninove.br

  2. UML-Unified Modeling Language • Desenvolvimento • Rational software • Microsoft • Hewlett-Packard • Oracle • Sterling • Unisys • IBM • MCI Análise o projetos de sistemas orientados a objetos

  3. UML-Unified Modeling Language • Influenciada por vários métodos de análise e projeto orientados a objetos • Deriva particularmente de 3 notações: • OOD (Projeto orientado a objetos) – Grady Booch • OMT (Técnica de modelagem de objetos) - James Rumbaugh • OOSE(Engenharia de software orientada a objetos) - Ivar Jacobson Análise o projetos de sistemas orientados a objetos

  4. Orientação a objetos • Significa organizar o mundo real como uma coleção de objetos • Alavancas • Evolução Tecnológica • Distribuição de Processamento • Tecnologia Cliente-Servidor • Internet • Java • Aplicações WEB Análise o projetos de sistemas orientados a objetos

  5. Objetos - Definição • Objeto é uma entidade concreta, apesar da concepção ser abstrata • Agrupamento de características e ações de uma entidade • Características são representadas por atributos • Ações são representadas por métodos • Um conjunto de atributos e métodos, forma um objeto Análise o projetos de sistemas orientados a objetos

  6. Objetos - Definição • Do ponto de vista da abstração, um objeto tenta não separar o que até então vinha sendo separado:Dados e funções. Análise o projetos de sistemas orientados a objetos

  7. Objetos - Definição “um objeto é uma abstração de um conjunto de coisas do mundo real, sendo que: todas as coisas do mundo real em um conjunto - as instâncias - têm as mesmas características. Todas as instâncias são sujeitas e em conformidade às mesmas regras” “...um objeto representa uma entidade, item ou unidade individual, identificável, sendo real ou abstrato, com regras bem definidas no domínio do problema." Grady Booch Análise o projetos de sistemas orientados a objetos

  8. Objetos - Exemplos • Coisas tangíveis O Livro “Modelagem de Objetos”, uma cadeira, uma pessoa, etc. • Incidente A copa do mundo de futebol (evento/ocorrência) • Interação O débito de R$ 100,00 na conta x (transação/contrato) no dia 20/01/2000 Em um Sistema Universitário, João da Silva é um estudante-objeto; ele assiste a diversos seminários-objeto e está cursando uma graduação-objeto. Análise o projetos de sistemas orientados a objetos

  9. Objetos - Características • Um objeto possui três características básicas: • Estado • Comportamento • Identidade Análise o projetos de sistemas orientados a objetos

  10. Finalidade da OO Análise o projetos de sistemas orientados a objetos

  11. Objetos - estado • Entende-se como o seguinte conjunto: Os valores dos atributos e o status das operações que o objeto executou • Obviamente, um método executado ou a mudança de valor de algum atributo automaticamente muda seu estado anterior Análise o projetos de sistemas orientados a objetos

  12. Objetos - estado • Objetos têm consciência do seu passado • Retém informações dentro de si mesmo por tempo indefinido, não “morrendo” quando termina a execução, ou seja, memoriza suas propriedades e valores associados. Essa característica chama-se “retenção de estado” Análise o projetos de sistemas orientados a objetos

  13. Objetos - estado • Exemplo: Análise o projetos de sistemas orientados a objetos

  14. Objetos - comportamento • Nenhum objeto existe isolado • Ele interage com outros objetos, atuando sobre estes, ou sofrendo ação dos mesmos. • O comportamento de um objeto é completamente definido pelas suas ações “Comportamento é como um objeto age e reage, nos termos das suas mudanças de estado e passagem de mensagens “ GradyBooch Análise o projetos de sistemas orientados a objetos

  15. Objetos – estado e comportamento operações/métodos/interface (público) dados/propriedades/atributos (privado) A estrutura de dados armazena o estado de um objeto (valores dos atributos). As operações definem o comportamento do objeto, que é a forma como um objeto age e reage em termos de mudanças de estado e respostas às operações que sabe executar Análise o projetos de sistemas orientados a objetos

  16. Objetos - comportamento • Mensagem • O comportamento de um objeto é função de seu estado, bem como das operações realizadas sobre ele, com certas operações tendo o efeito de alterar o estado do objeto • Trata-se de uma operação que um objeto executa sobre outro para obter uma reação • É o meio de comunicação entre objetos, isto é, é o estímulo para um determinado comportamento. Análise o projetos de sistemas orientados a objetos

  17. Objetos - Mensagem • Para que um objeto (chamado de emissor) envie uma mensagem para outro objeto (chamado alvo), deve-se conhecer três coisas:  • 1.O identificador do objeto alvo • 2. O nome do método do objeto alvo que deseja executar • 3. Quaisquer informações suplementares (argumentos) que o objeto alvo necessitará na execução de seu método Análise o projetos de sistemas orientados a objetos

  18. Objetos - operações • Uma operação denota um serviço que uma classe oferece a seus clientes • Pode-se executar quatro tipos de operações sobre um objeto : • Modificadora • Seletora • Construtora • Destruidora Análise o projetos de sistemas orientados a objetos

  19. Objetos - Identidade “Identidade é aquela propriedade de um objeto que o distingue de todos os outros objetos” Khoshafiam e Copeland Análise o projetos de sistemas orientados a objetos

  20. Objetos - Identidade • Um identificador é anexado ao objeto no momento da criação do objeto • O mesmo identificador permanece com o objeto por toda sua existência • Dois objetos não podem ter o mesmo identificador Análise o projetos de sistemas orientados a objetos

  21. Modelo de objetos • Diferentes metodologias, diferentes maneiras de resolver o problema • Em orientação a objetos existe o conceito de “Modelo de objetos” • Compõe-se de 4 elementos principais: • Abstração • Encapsulamento • Modularidade • Hierarquia Análise o projetos de sistemas orientados a objetos

  22. Abstração • Elemento fundamental pelo qual se reconhece um objeto, seja ele um processo ou situação no mundo real “Uma Abstração denota as características essenciais de um objeto que o distinguem de todos os outros tipos de objetos e portanto definem nitidamente os limites conceituais relativos à perspectiva do observador.” GradyBooch Análise o projetos de sistemas orientados a objetos

  23. Abstração Análise o projetos de sistemas orientados a objetos

  24. Abstração • Descreve as características visíveis do objeto • Tem seu foco no comportamento observável do objeto • Não descreve, entretanto: • A sua implementação • O seu funcionamento Análise o projetos de sistemas orientados a objetos

  25. Encapsulamento • É o processo de esconder todos os detalhes de um objeto que não contribuem para suas características essenciais “Encapsulamento é o processo de identificação dos elementos de uma abstração que constituem sua estrutura e comportamento.” GradyBooch Análise o projetos de sistemas orientados a objetos

  26. Encapsulamento • Técnica de proteger informações • É a arte de esconder o que não é essencial Deve-se saber : • O que o objeto produz • O que o objeto necessita para produzir Ex.:Para dirigir é preciso saber que o carro produz movimento e precisa de gasolina para funcionar. Não é necessário saber como ele funciona Análise o projetos de sistemas orientados a objetos

  27. Encapsulamento Análise o projetos de sistemas orientados a objetos

  28. Encapsulamento • A interface de um objeto declara todas as operações permitidas # Todo o acesso aos dados do objeto é feito através da chamada a uma operação da sua interface. Análise o projetos de sistemas orientados a objetos

  29. Encapsulamento • Benefícios • Segurança • Protege os atributos dos objetos de terem seus valores corrompidos por outros objetos. • Independência • “Escondendo” seus atributos, um objeto protege outros objetos de complicações de dependência de sua estrutura interna Análise o projetos de sistemas orientados a objetos

  30. Modularidade • Divisão do sistema em componentes individuais • Permite maior clareza e compreensão • Identifica os limites do sistema • O agrupamento de classes e objetos em módulos permite a montagem de uma estrutura lógica que produz a arquitetura do sistema Análise o projetos de sistemas orientados a objetos

  31. Modularidade • “Modularidade é a propriedade de um sistema de ser decomposto em um conjunto de módulos coesivos e relacionalmente desprendidos.” Grady Booch Análise o projetos de sistemas orientados a objetos

  32. Modularidade Análise o projetos de sistemas orientados a objetos

  33. Hierarquia • Um grupo de abstrações frequentemente forma uma hierarquia e com a identificação dessas hierarquias no projeto, pode-se simplificar o entendimento do problema. “Hierarquia é uma graduação ou ordenamento de abstrações “ GradyBooch Análise o projetos de sistemas orientados a objetos

  34. Hierarquia Abstrações formam uma hierarquia Análise o projetos de sistemas orientados a objetos

  35. Hierarquia-exemplo • Um computador é feito de CPU, gabinete, teclado e outros dispositivos. A CPU, por sua vez (e aqui o que fazemos é diminuir o nível de abstração), é formada de portas lógicas; as portas lógicas, por sua vez, são formadas de transístores; estes, por sua vez, são formados de cristais, metais e substâncias químicas; estas por sua vez, formadas por moléculas, que são formadas por átomos, e assim em diante Análise o projetos de sistemas orientados a objetos

  36. Benefícios do modelo de objetos • É adequado para sistemas que pretendem evoluir com o tempo, pois sua estrutura permite que se mude a implementação interna de um objeto sem ter que mudar todo o código que se situa acima deste • É um modelo maleável, o que permite a inserção de novas características • Princípios como “esconder informações” e “modularidade” permitem facilidade em sistemas que possuem manutenção constante Análise o projetos de sistemas orientados a objetos

  37. Classes • Estrutura geral de onde os objetos podem derivar • Cada objeto é uma linha de vida à parte e cada um possui um estado específico • Um objeto é diferente do outro (Em seu conteúdo e estado) mesmo que a sua interface seja a mesma. “Uma classe é um grupo de objetos que compartilham uma estrutura comum e um comportamento comum” GradyBooch Análise o projetos de sistemas orientados a objetos

  38. Classes • Existem vários tipos de objetos, portanto existem vários tipos de classes Análise o projetos de sistemas orientados a objetos

  39. Classes A classe representa um grupo de objetos com estrutura e comportamentos comuns Análise o projetos de sistemas orientados a objetos

  40. Classes • Todos os objetos são instâncias de uma classe. • Possibilita a reutilização de código • Uma classe é representada conforme abaixo: Análise o projetos de sistemas orientados a objetos

  41. Classes e Objetos • Classe é o que se projeta e programa • Objeto é o que se cria durante o processamento Análise o projetos de sistemas orientados a objetos

  42. Classes - Visões • A interface de uma classe provê a visão externa, e portanto, enfatiza a abstração enquanto esconde sua estrutura e segredos de seu comportamento • A implementação de uma classe é sua visão interna, que engloba os segredos de seu comportamento Análise o projetos de sistemas orientados a objetos

  43. Classes - Visões • A interface de uma classe divide-se em: • Pública (Representada pelo símbolo “+”) Uma declaração que forma parte da interface de uma classe e é visível para todos os clientes que são habilitados para isto; • Protegida (Representada pelo símbolo “#” Uma declaração que forma parte da interface de uma classe, mas não é visível para quaisquer outras classes, exceto suas subclasses; • Privada (Representada pelo símbolo “-”) Uma declaração que forma parte da interface de uma classe, mas não é visível para quaisquer outras classes. Análise o projetos de sistemas orientados a objetos

  44. Classes – Classificação e instanciação • Classificação • É a operação que divide em uma ou mais categorias (classes) indivíduos dentro de um domínio; • Instanciação • É a operação que evidencia um indivíduo (Objeto) que pertence a uma categoria. São operações opostas. Quando se une vários indivíduos em uma categoria, é uma classificação, mas quando se pega um único indivíduo da categoria, é uma instanciação. Análise o projetos de sistemas orientados a objetos

  45. Classes – Classificação e instanciação Análise o projetos de sistemas orientados a objetos

  46. Classes – Generalização / Especialização • Generalização Ato de definir-se uma Classe (supertipo) que irá conter as características e o comportamento que outras Classes possuem em comum • Especialização Ato de definir-se uma Classe que além de herdar as características e o comportamento do Supertipo ainda possui outras características que são sua especialidade (somente ela tem) e, portanto, os demais subtipos não possuem Análise o projetos de sistemas orientados a objetos

  47. Classes – Generalização / Especialização Especialização Generalização Análise o projetos de sistemas orientados a objetos

  48. Classes – Generalização / especialização • Observa características comuns para determinar uma classe mais abrangente gato Felinos leão tigre Mamíferos atleta Pessoas professor médico Análise o projetos de sistemas orientados a objetos

  49. Classes – Generalização / especialização • Uma Classe derivada herda a estrutura de dados e métodos de sua classe “base”, mas pode seletivamente: • adicionar novos métodos • estender a estrutura de dados • redefinir a implementação de métodos já existentes • Uma Classe “base” propicia a funcionalidade que é comum a todas as suas classes derivadas, enquanto que uma classe derivada proporciona a funcionalidade adicional que especializa seu comportamento. • A Generalização é uma noção conceitual. Herança é a implementação de uma generalização. Análise o projetos de sistemas orientados a objetos

  50. Classes - Herança • Herança é o compartilhamento de atributos e operações entre classes com base em um relacionamento hierárquico • Cada subclasse herda todas as propriedades da superclasse e acrescenta suas próprias e exclusivas características • Permite a reutilização de especificações comuns Análise o projetos de sistemas orientados a objetos

More Related