Modelagem OO utilizando

  • Prof. Luís Fernando Garcia

  • LUIS@GARCIA.PRO.BR

Roteiro

  • Introdução

    • UML – Mudança de enfoque
    • Orientação a Objeto
    • Modelagem
    • Métodos Orientados a Objetos
  • UML – Unified Modeling Language

    • Necessidade
    • Origem
    • Fases
    • Notação/componentes
  • Exemplo – Estudo de Caso

  • Ferramentas

  • Bibliografia

Introdução

  • UML ...

  • “Uma linguagem de modelagem unificada, expressiva, poderosa e não-proprietária para tratamento em escala de aplicações de missão crítica, tempo real e cliente/servidor...”

  • “Linguagem padrão para especificar, visualizar, documentar e construir sistemas ... Pode ser utilizada ao longo de todo processo de desenvolvimento e com diferentes tecnologias de implementação ...”

Introdução

  • Mudança de enfoque ...

  • “Enfoque “Tradicional”

      • Compreensão do sistema como um conjunto de programas e processos sobre os dados.
  • Enfoque de Modelagem por Objetos

      • Coletânea de objetos que interagem entre si, representados pelos atributos (dados) e operações (processos).
      • Visando ...
      • Manter a modelagem e a implementação mais próximo de uma visão conceitual do mundo real (comparativamente a modelos algoritmos ou estruturados) ...

Introdução

  • Orientação a Objetos ...

    • “Uma nova maneira de pensar os problemas utilizando modelos organizados a partir de conceitos de mundo real ...” (Rumbaugh)
    • Objeto  Combina estrutura e comportamento em uma única entidade
    • Baixa dependência externa ...
    • Alta coesão interna ...
    • Reusabilidade ...

Introdução

  • OO – Conceitos Básicos

    • Objeto
        • Uma ocorrência específica (instância) de uma classe ...
        • Possui tudo o que é necessário para conhecer a sí próprio ...
    • Mensagem
        • Comunicação de ciclo completo enviada a um objeto requisitando um serviço/operação.
    • Classe
        • Coleção de objetos que podem ser descritos com os mesmos atributos e operações.
        • Uma instância herda as características de classe a que pertence.

Introdução

  • OO – Conceitos Básicos

    • Polimorfismo
        • Capacidade de vários objetos de uma classe responderem de modos diferenciados/especializados a mensagens
        • Mensagens iguais  objetos diferentes  comportamentos diferentes.
    • Herança
        • Capacidade de um novo objeto tomar atributos e operações de um objeto existente ...
        • Pode reimplantar (sobreescrever) operações ...

Introdução

  • Modelagem

    • “Modelagem é uma parte central de todas as atividades que levam a implantação de um bom software...” (Rumbaugh)
    • Um modelo é uma abstração (simplificação) da realidade.
    • Modelos são construídos para a melhor compreensão do sistema sendo desenvolvido.
        • Os modelos ajudam a visualizar o sistema
        • Os modelos permitem especificar a estrutura e/ou comportamento de um sistema
        • Os modelos proporcionam um guia para a construção do sistema
        • Os modelos documentam as decisões.

Introdução

  • Métodos Orientados a Objetos

    • Booch
    • OMT
    • OOSE
    • Shalaer/Mellor
    • Coad/Yourdon
    • Martin/Odell
    • Wirfs-Brock
    • Embley/Kurtz

UML

  • Necessidade ...

    • O grande problema do desenvolvimento de novos sistemas utilizando a orientação a objetos nas fases de análise de requisitos, análise de sistemas e design é que não existia uma notação padronizada e realmente eficaz que abranja qualquer tipo de aplicação que se deseje ...
    • Cada simbologia existente possuia seus próprios conceitos, gráficos e terminologias, resultando numa grande confusão...

UML

  • Origem ...

  • Booch [BOOCH]

  • Rumbaugh [OMT]

  • Jacobson [OOSE]

  • UML é a junção do que havia de melhor nestas três metodologias adicionado novos conceitos e visões da linguagem.

  • Versão 1.0  1997  OMG

UML

  • Fases ...

  • 1) Análise de Requisitos

  • 2) Análise

  • 3) Design (projeto)

  • 4) Programação – não é nosso enfoque ...

  • 5) Testes – não é nosso enfoque ...

  • “ Executadas concomitantemente de forma que problemas detectados numa certa fase modifiquem e melhorem as fases desenvolvidas anteriormente... “

Comentários