1 / 67

AOO - Análise Orientado a Objetos

Associação Educacional Leonardo da Vinci . AOO - Análise Orientado a Objetos. Professor: Marcio Gonçalves. Agenda. Apresentação Cenário Paradigmas da Orientação a Objetos Princípios Básicos. Apresentação da disciplina . Formação Experiência profissional Atividades desenvolvidas

shina
Download Presentation

AOO - Análise Orientado 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. Associação Educacional Leonardo da Vinci AOO - Análise Orientado a Objetos Professor: Marcio Gonçalves

  2. Agenda • Apresentação • Cenário • Paradigmas da Orientação a Objetos • Princípios Básicos

  3. Apresentação da disciplina • Formação • Experiência profissional • Atividades desenvolvidas • Forma de avaliação • (2 provas e 1 trabalho)

  4. Cenário • Surgimento da Enga. de Sofware (60) para resolver os problemas gerados pela crise do software. • As várias técnicas desenvolvidas nos anos 70 e 80 não resolveram o problema de produtividade e qualidade nos softwares.

  5. Cenário • Lições da década de 80. • Requisitos do usuário são mais importantes • Funções e dados tem grande importância, porém não podem estar separados

  6. Cenário • Realidade atual • Sistemas de alta complexidade • Ferramentas de desenvolvimento drasticamente diferentes de 20 anos atrás. • Sistemas maiores, mais complexos e mais voláteis. • A mudança para alcançar a qualidade e produtividade está na reutilização.

  7. Paradigmas da O. Objetos • O que são objetos • Objetos computacionais • Os diferentes tipos de objetos • Análise e projeto orientado a objetos?

  8. O que são Objetos • Podemos entender um objeto como uma “coisa” física: uma pedra, um melão, um carro. • Contudo um objeto pode também ser algo que não existe em forma física: uma equação, conta corrente.

  9. Objetos Computacionais • Objetos que se encontram dentro do sistemas de computador. • São abstrações do mundo real. • Objetos computacionais são estruturas de programas que contém as informações e os comportamentos que representam um objeto dentro do sistema.

  10. Análise e Programação OO. • Análise orientada a objetos • Consiste em definir quais objetos fazem parte de um sistema e a maneira como se comportam. • Programação orientada a objetos • Consiste em utilizar objetos computacionais para implementar as funcionalidades de um sistema.

  11. Por que Orientação a Objetos? • Aumento de Produtividade • Ganho de Qualidade • Ganho de Confiabilidade • Conhecimento adquirido podendo ser compartilhado • Manutenibilidade • Custos

  12. Conceitos Básicos • Abstração • Encapsulamento • Objetos • Classes • Persistência • Herança

  13. Abstração • “Ato de separar um ou mais elementos de uma totalidade complexa (coisa, representação, fato), os quais só mentalmente podem ser separados” • Ignorar aspectos não relevantes • É a capacidade de focalizar o essencial e ignorar detalhes acidentais não relacionados com o objetivo estabelecido.

  14. Abstração

  15. Encapsulamento • Ocultar aspectos não relevantes • Modo de utilização dos dados e métodos é diferente da prog. tradicional. • Os dados e processos em uma única entidade. • Um dos grande trunfo da POO em relação a prog. tradicional. • Permite alterações sem afetar demais partes do sistema.

  16. Encapsulamento • Benefícios • Modularidade - (O código é independente de outros objetos) • Informações Privadas (um objeto tem uma interface pública que outros objetos podem utilizar. As informações do objeto são privadas) [Information Hiding]

  17. Encapsulamento

  18. Objetos • São elementos reais ou abstratos (de pensamento) que sofrem ou executam ações. • Um objeto é qualquer indivíduo, lugar, evento, coisa, tela, relatório ou conceito que seja aplicável ao sistema. • Objeto é uma entidade capaz de reter um estado (informação) e que oferece uma séria de operações (comportamentos) ou para examinar ou para afetar este estado.

  19. Como é um objeto? • Apresenta características (Estado). • Executa e sofre ações (Comportamento). • Podem ser classificados por categorias ou classes. • Interagem e agrupam-se formando sistemas (que podem ser considerados como objetos).

  20. Objetos

  21. Objetos • Exemplos: • Coisas: Cadeira, Mesa, Telefone, Televisão, ... • Funções: Diretor, Funcionário, Professor, Cliente,... • Eventos: uma Festa, um Congresso, uma Aula, ... • Lugares: uma Cidade, uma Sala, um País, .... • Processos: uma Operação, um Procedimento, ...

  22. Atributos • É o conjunto de características que descrevem os objetos • Atributos de uma pessoa: cor dos olhos, altura, peso, idade, sexo… • Atributos de uma conta corrente: correntista, saldo, data de abertura… • Somente mudam através de agentes interno ou externos.

  23. Atributos • Os valores das propriedades de um objeto definem seuEstado.

  24. Exercícios • Identificar pelo menos 10 objetos que pertencem ao domínio de problema: “Sala de Aula”

  25. Métodos ou Serviços (Ações) • São as tarefas que o objeto pode realizar • As ações do objeto podem interagir com outros objetos • Ou podem ser ações internas • Ações de um cachorro: latir, babar, correr em círculos, morder…

  26. Diagrama de Serviços (exemplo)

  27. Diagrama de Serviços (exemplo)

  28. Exercícios • Identificar os métodos existentes no objeto Professor • Graficar/Descrever o diagrama de serviços para o método FazerChamada do objeto Professor

  29. Exercícios

  30. Classes • São os modelos a partir dos quais os objetos são criados (Ex: Planta Estrutural) • Os modelos são agrupados em classes ou categorias por similaridade de finalidade • As categorias estruturam-se hieraquicamente. Ex.: Pessoas–Clientes-Funcionarios, Animais-Aves-Canários

  31. Classes • Duas categorias de bichos: “Cães” e “Gatos”

  32. Classes

  33. Classes

  34. Hierarquia de Classes Características Comuns Mamífero Felino Primata Ser Humano Chimpanzé

  35. Herança • Tudo aquilo que se herda; • Aquilo que se transmite por hereditariedade (Ex: Características genéticas dos pais). Mamar Possuir Pêlos Mamífero Herança Caracteristicas comuns Possuir Mãos e Pés É Inteligente Primata Andar ereto Filosofar Ser Humano

  36. Herança • Classes prontas podem ser usadas para escrever novos objetos (SuperClasse e SubClasses, Ancestrais e Descendentes) • O programador só escreve o que muda • Alterações nos ancestrais se propagam aos descendentes • Menos bugs, mais produtividade

  37. Herança Simples

  38. Herança Múltipla

  39. Instanciação • É quando a classe produz um objeto, como se ela fosse um modelo para a criação de objetos. • Objetos nada mais são do que classes instanciadas. • É o que dá existência ao objeto. • Cada objeto é uma instância de sua classe

  40. Instanciação • Fazendo uma analogia com a programação procedural. • “A estrutura de uma tabela pode ser comparada com uma classe e cada novo registro seria um novo objeto instanciado.” • Obs: Isto só vale para efeitos de comparação, pois classe também possuem a definição dos métodos.

  41. Classes Puras ou Abstratas • São aquelas que nunca serão instanciadas diretamente. • Servem de apoio para o processo de estruturação. • Exemplo:

  42. Exercícios • Identificar os objetos da Sala de Aula • Agrupar os objetos em classe conforme suas caracteristicas

  43. Tipos de Estruturas • Visualizar Domínio e Complexidade do problema em estudo. • Tipos: - Generalização-Especialização - Todo-Parte

  44. Tipos de Estruturas Generalização-Especialização

  45. Tipos de Estruturas Generalização-Especialização

  46. Tipos de Estruturas Generalização-Especialização

  47. Tipos de Estruturas Todo-Parte

  48. Tipos de Estruturas Todo-Parte

  49. Tipos de Estruturas Todo-Parte

  50. Exercícios • Identificar as possíveis estruturas existentes no exercício da Sala de Aula.

More Related