1 / 90

Orientação a Objetos e UML Parte I

Orientação a Objetos e UML Parte I. Objetivos. Apresentar os conceitos fundamentais de modelagem e orientação a objetos; Apresentar os quatro diagramas principais da UML: Casos de Uso, Classes, Seqüência e Atividade;

satya
Download Presentation

Orientação a Objetos e UML Parte I

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. Orientação a Objetos e UMLParte I

  2. Objetivos • Apresentar os conceitos fundamentais de modelagem e orientação a objetos; • Apresentar os quatro diagramas principais da UML: Casos de Uso, Classes, Seqüência e Atividade; • Estabelecer a ligação entre a modelagem e a programação de sistemas orientados a objetos.

  3. Bibliografia • Modelagem de Objetos Através da UML, José Davi Furlan, Editora Makron Books, 2000, ISBN 8534609241; • UML Guia do Usuário, Grady Booch, James Rumbaugh, Ivar Jacobson, Editora Campus, 2000, ISBN 8535205624; • Mastering UML com Rational Rose 2002 – Bíblia, Boggs Wendy, Michael Boggs, Editora Alta Books Ltda, 2002; • UML Essencial: Um breve guia para a linguagem-padrão de modelagem de objetos, Martin Fowler e Kendal Scott, Ed. Bookman, 2000.

  4. Referências na Internet • http://www.uml.org • http://www.uml-forum.com • http://www.rational.com • http://argouml.tigris.org/(Ferramenta CASE Argo) • http://www.gentleware.com(Ferramenta CASE Poseidon) • http://www.borland.com/together/index.html(Ferramenta CASE Together)

  5. 1. Conceitos Fundamentais Unidade de Aprendizado

  6. 1. Conceitos Fundamentais • Objetivos • Apresentar os conceitos envolvidos na Modelagem de Sistemas; • Explorar a importância e a necessidade de modelar sistemas. • Apresentar os conceitos fundamentais sobre Orientação a Objetos. • Conteúdo 1. Modelagem de Sistemas. 2. Orientação a Objetos.

  7. 1.1. Objetivo da Modelagem de Sistemas

  8. 1.1. Objetivo da Modelagem de Sistemas • A Atividade de Desenvolvimento de Sistemas • Objetivos da Empresa de Desenvolvimento de Software: • Produtos de Qualidade; • Atender as necessidades do cliente; • Preços competitivos. • Foco nos Clientes: • Centro da atenção no desenvolvimento; • Atender aos requisitos do usuário. • Viabilidade do Projeto: • Equilíbrio entre custos de desenvolvimento e benefícios para o cliente.

  9. 1.1. Objetivo da Modelagem de Sistemas • O Papel da Modelagem • Existem dois tipos de modelos: • Estrutura; • Comportamento; • Os modelos traduzem COMO as coisas serão construídas: • Relações entre as partes; • Funcionamento; • Disposição. • Os modelos traduzem o tamanho e a complexidade do sistema.

  10. 1.1. Objetivo da Modelagem de Sistemas • O Que é um Modelo? • Um modelo é uma simplificação da realidade. • Modelos são esquemas gráficos que representam o sistema. • Os modelos traduzem: • ESTRUTURA: • Organização de módulos; • Relacionamentos; • COMPORTAMENTO: • Dinâmica; • Inter-relacionamento; • Funcionalidade.

  11. 1.1. Objetivo da Modelagem de Sistemas • O Que é um Modelo? • Construímos modelos para: • Visualizar o sistema como ele é ou como desejamos que ele seja; • Dominar a complexidade e entender o sistema; • Delimitar o escopo de um problema; • Comunicação entre equipe; • Ajudar a planejar as soluções; • Guiar o desenvolvimento do sistema.

  12. 1.1. Objetivo da Modelagem de Sistemas • O Que é um Modelo? • Características dos Modelos: • Perspectivas diferentes; • Analogia com a realidade; • Complementaridade;

  13. 1.1. Objetivo da Modelagem de Sistemas • Modelagem Orientada a Objetos • Tradicional: • Foco do desenvolvimento nos processos; • Orientada a Objetos: • Foco do desenvolvimento nas entidades que participam dos processos. • Entidades do mundo real: • Pessoas - Funcionário, Vendedor, Professor, Aluno. • Lugares - Sala, Estoque, Estante, Prateleira. • Fatos - Conta-Corrente, Matrícula, Pedido de Compra, Apólice de Seguro. • Coisas - Livro, Caminhão, Fita VHS, Computador.

  14. 1.1. Objetivo da Modelagem de Sistemas • Modelagem Orientada a Objetos

  15. 1.1. Objetivo da Modelagem de Sistemas • Modelagem Orientada a Objetos - Benefícios • Benefícios Técnicos: • Reusabilidade; • Extensibilidade e manutenção; • Aumento da qualidade; • Benefícios Econômicos: • Apoio ao planejamento; • Reaproveitamento de esforços.

  16. 1.1. Objetivo da Modelagem de Sistemas • Modelagem Orientada a Objetos - Definições • James Rumbaugh Uma nova maneira de pensar os problemas, utilizando modelos organizados a partir de conceitos do mundo real. O componente fundamental é o objeto, que combina estrutura e comportamento em uma única entidade.

  17. 1.1. Objetivo da Modelagem de Sistemas • Modelagem Orientada a Objetos - Definições • Grady Booch Leia a especificação do software que você quer criar. Sublinhe os verbos se quiser uma codificação procedural ou os substantivos se visar a um programa orientado a objetos.

  18. 1.1. Objetivo da Modelagem de Sistemas • Exercício

  19. 1.2. Orientação a Objetos

  20. 1.2. Orientação a Objetos • Analogia Orientada a Objetos • Imagine que você recebeu como herança, um grande terreno. • Esse terreno é identificado por um número.

  21. 1.2. Orientação a Objetos • Analogia Orientada a Objetos • Você contrata um arquiteto a fim de projetar uma casa. • O arquiteto faz várias perguntas sobre a casa, a sua forma, estilo e funcionalidade. • O arquiteto trabalha algum tempo no projeto da casa e entrega as plantas para que você possa construir.

  22. 1.2. Orientação a Objetos • Analogia Orientada a Objetos • Você contrata uma construtora para erguer a casa. • A construtora leva algum tempo e termina o serviço. • Existe alguma casa no terreno? Sim, a casa ocupa espaço no terreno.

  23. 1.2. Orientação a Objetos • Processador e Memória • A memória é dividida em partes referenciadas por endereços. • Existem partes da memória que estão ocupadas e outras livres. • Dentro de um programa, podemos alocar espaço na memória e construir objetos. • Esses objetos são acessados através de um endereço de memória ou de uma referência ao endereço.

  24. 1.2. Orientação a Objetos • Classe • Conceito de Classe: • As plantas da casa representam a classe. • É a partir da classe que se constrói um objeto na memória. • É a definição da forma e funcionalidade de alguma coisa. • Responsabilidade da Classe: • É o que a classe “sabe” e o que ela “faz”. • O que a classe “sabe” são as propriedades ou seus atributos. • O que a classe “faz” são os seus métodos ou funções.

  25. 1.2. Orientação a Objetos • Exemplo • Vamos imaginar que em um sistema exista a classe Aluno. • O que Aluno sabe? • Seu nome, • Seu endereço, • Seu número de matrícula etc. • O que o Aluno faz? • Se matricula em um Curso, • Tranca a matricula, • Tem Avaliações etc.

  26. 1.2. Orientação a Objetos • Tipos de Classes • Classes de Interface: • Botões, • Listas, • Checkboxes, • Scrollbars etc. • Classes de Negócio: • Cliente, • Pedido, • Item de Pedido, • Produto etc. • Classes de Controle: • Data, • Conexão com Banco de Dados, • Gerenciador de Impressão, • Leitura e Gravação de Arquivos etc.

  27. 1.2. Orientação a Objetos • Objeto • Quando alocamos espaço na memória e usamos o construtor de uma classe, um objeto é criado. • Um objeto não interfere em outro. • Instância é sinônimo de objeto. • Instanciar significa criar um objeto a partir de uma classe.

  28. 1.2. Orientação a Objetos • Classe e Objeto

  29. Propriedades Cliente Criar() Nome Idade Destruir() Funções 1.2. Orientação a Objetos Outra forma de desenhar a classe

  30. 1.2. Orientação a Objetos • Propriedade • As propriedades são os dados que guardam as características e o estado dos objetos criados a partir da classe. • É o que a classe “sabe”. • O relógio digital tem as propriedades “hora” e “minuto”.

  31. 1.2. Orientação a Objetos • Método • O termo método representa as funcionalidades inerentes à classe. • É o que a classe “faz”. • Para alterar o mostrador do relógio digital não podemos simplesmente exibir um número qualquer. • Existe um “método” para fazer isso.

  32. 1.2. Orientação a Objetos • Método Construtor e Destrutor • A função do método construtor é inicializar um objeto na memória. • Através dele é possível que o objeto na memória tenha valores iniciais. • Esse método é usado, por exemplo, para construir a tela da aplicação e abrir a conexão com o banco de dados. • O método destrutor permite “fechar” o ciclo de vida do objeto, dando condições de finalização ao programador.

  33. 1.2. Orientação a Objetos • Assinatura • É a chamada de um método. Identifica um método pelo nome, a quantidade e tipos dos argumentos passados por parâmetros. • Um método é reconhecido pelo seu nome e seus parâmetros CancelarAssinatura(codAssinante) AlterarPagamento(codAssinante, novaDataPagamento)

  34. 1.2. Orientação a Objetos • Herança • Relacionamento de generalização e especialização entre classes. • Permite ao programador criar uma nova classe “estendendo” uma classe anterior. • A herança define uma hierarquia onde o conceito mais genérico fica sobre o conceito mais específico.

  35. 1.2. Orientação a Objetos • Herança

  36. 1.2. Orientação a Objetos • Encapsulamento • A Classe é um “pacote”, contendo dados e operações; • O objeto é referenciado como um módulo único; • É a proteção dos dados internos da classe; • Os dados só podem ser acessados sob determinadas condições. • É implementado através da “Visibilidade” mais restrita.

  37. 1.2. Orientação a Objetos • Encapsulamento • Um sistema não deve depender da sua implementação interna e sim de sua interface com o mundo exterior. • A interface de uma classe é a forma pela qual ela será acionada e se relacionará com as outras partes do sistema. Cliente Encapsulamento – acessar os dados através dos métodos da classe BuscarCliente() Nome Dt_nascim ListarCliente() ExcluirCliente() CadCliente()

  38. 1.2. Orientação a Objetos • Polimorfismo • Vários comportamentos que uma mesma operação pode assumir. • Polimorfismo (muitas formas) é a capacidade de um programa orientado a objetos distinguir, dentre métodos homônimos, qual deverá ser executado.

  39. Empregado Retângulo Nome Funcao Dt_Admissao Desenhar(p1,p2,p3,p4) Desenhar(alt,larg) Empregado(nome) Empregado(nome,funcao,dt) Métodos na mesma classe com assinatura diferente - Sobrecarga 1.2. Orientação a Objetos Polimorfismo • Métodos Sobrecarregados - são os métodos homônimos dentro de uma mesma classe.

  40. Vendedor comissão ObterEmpregado( ) 1.2. Orientação a Objetos • Polimorfismo • Métodos Sobrescritos - são métodos homônimos em uma relação de herança. Empregado nome ObterEmpregado( ) Métodos com a mesma assinatura em uma herança - Sobrescrita

  41. 1.2. Orientação a Objetos • Polimorfismo

  42. 1.2. Orientação a Objetos • Modularidade • É a separação dos serviços em um conjunto de módulos que guardam independência de compilação e execução. • A modularidade leva a uma separação entre a interface do sistema e o código que vai executar os serviços. • Otimiza o processo de manutenção de código.

  43. 1.2. Orientação a Objetos • Persistência • É o tempo total que um objeto permanece na memória (auxiliar ou principal). • Os objetos de negócio devem ser persistentes. • É comum a utilização de bancos de dados para tornar os objetos persistentes.

  44. 1.2. Orientação a Objetos • Abstração • É a ocultação de certos aspectos de implementação. • O objetivo é diminuir a complexidade, focando um problema por vez.

  45. 1.2. Orientação a Objetos • Classe Abstrata • E uma classe que define o comportamento e atributos para subclasses. • Não é instanciada diretamente.

  46. 1.2. Orientação a Objetos • Estereótipo • Os estereótipossão extensões de elementos do modelo. Podem ser usados para denotar especializações significativas de classes. • Os atores, por exemplo, são tratados pelas ferramentas de modelagem como classes estereotipadas. • Os estereótipos podem ser indicados através de ícones próprios, ou incluindo-se o nome do estereótipo em aspas francesas (os caracteres « », representados nos desenhos por << >>).

  47. 1.2. Orientação a Objetos • Estereótipo • Estereótipos são usados para criar especializações da UML em relação a determinadas áreas de modelagem. • Ivar Jacobson propõe a divisão das classes do Modelo de Análise de acordo com estereótipos, que foram incorporados ao padrão oficial da UML. Esses estereótipos podem ser representados por textos ou ícones. São eles: Entidades (tabelas), Fronteiras (telas) e de Controle (conexão com banco, gerenciador de impressão,...).

  48. 1.2. Orientação a Objetos • Exercício • Identifique as propriedades e métodos das classes listadas.

  49. 1.2. Conclusão da UA 1 • A Orientação a Objetos é uma TECNOLOGIA que envolve desde a concepção do sistema e da sua modelagem até a implementação utilizando linguagens orientadas a objetos.

  50. 2. A UML e o Processo de Desenvolvimento de Sistemas

More Related