FUNDAMENTOS DE
ORIENTACAO A OBJECTOS
       RESUMO
   Profs:   Edgar Gemo
            Zeferino Saugene
Definição de Análise

Análise é o estudo do domínio de um
problema;
Analisar é obter as necessidades de
um sistema a ser desenvolvido para
satisfazer as necessidades do usuário.
Analisar não é definir como o sistema
será desenvolvido, mas sim investigar
o problema;
Paradigma Estruturado vs OO

    Estruturado               OO
Enfoque em           Enfoque em objectos
módulos
(procedimentos e
funções)
O sistema é um       O sistema é uma
conjunto de          colectânea de objectos
programas            que interagem entre si
Instáveis face a     Estáveis face a
mudança de           alterações futuras
requisitos
Manutenção difícil   Manutenção controlada
Propósitos da AOO
Formalizar uma “visão” do mundo real
para o desenvolvimento de sistemas,
estabelecendo os objectos como as
principais estruturas.
Conceitos de OO
  Objectos
  Atributos e Métodos
  Classes e Instâncias
  Estado
  Abstracção – concentração nos
  aspectos relevantes de um
  conjunto de objectos
  Encapsulamento – Ocultação da
  Informação
  Herança – atributos da classe
  mãe para a filha
  Polimorfismo – varias formas
Princípios da OO

Qualquer coisa é um objecto.
Objectos realizam tarefas através da
requisição de serviços a outros
objectos.
Cada objecto pertence a uma
determinada classe. Uma classe
agrupa objectos similares.
A classe é um repositório para
comportamento associado ao objecto.
Classes são organizadas em
hierarquias.
Metodologias de AOO
Destacam-se das diversas metodologias:
  Método de Booch [Booch,1994],
  Object Modeling Technique – OMT
  [Rumbaugh et al, 1994],
  Método de Coad/Yourdon [Coad &
  Yourdon, 1990],
  Object-Oriented Software Engineering –
  OOSE/Objectory [Jacobson, 1992]
  Object-Oriented Analysis/Design –
  OOA/D [Shlaer-Mellor, 1988],
  Unified Modeling Language – UML
  [OMG, 2001].
TPC (da aula passada)

 Estude uma das Metodologias
 OO, tendo em conta:
   Historia de surgimento;
   Caracteristicas;
   Enfoque principal;
   Ciclo de Vida;
   Seu contributo para a UML;
FUNDAMENTOS DE
     UML
  Profs:   Edgar Gemo
           Zeferino Saugene
Surgimento de UML

 Os sistemas constituídos usando
 OO são flexíveis a mudanças,
 possuem estruturas bem conhecidas
 e provêem a oportunidade de criar e
 implementar componentes
 totalmente reutilizáveis.
 As várias metodologias OO
 existentes tem causado “conflitos”
 entre a comunidade de
 desenvolvedores OO, devido à falta
 de delineamento das ideias de cada
 uma destas.
Surgimento de UML

 É na tentativa de padronizar a
 metodologia OO de uma forma
 que qualquer sistema, seja qual
 for o tipo, possa ser modelado
 correctamente, com
 consistência, fácil de comunicar
 com outras aplicações, simples
 de ser actualizado e
 compreensível que surgiu a
 UML.
Evolução da UML




Feedback
 Publico
Pioneiros da UML
O que é UML

1.   Linguagem visual para
     especificação (modelação) de
     sistemas orientados a
     objectos;
      Fornece representação gráfica
      para os elementos essenciais do
      paradigma objectos:
        Classes, atributos, objectos, troca de
        mensagens, ...
O que é UML
2. De propósito geral
      Não está presa a uma etapa do desenvolvimento
      de software
         Análise
         Desenho
         Implementação
         Testes
      Não está presa a um processo
         Ciclo de vida em cascata
         Incremental
         Processo Unificado e outros
      Não está presa a uma linguagem de
      programação
      UML apoia o desenvolvimento incremental
O que é UML
O que é UML

3. Padrão OMG
    Em http://www.omg.org estão
    disponíveis documentos
    eletrônicos que contém:
      Sumário da UML
      Semântica
      Guia da Notação
      Extensões da Linguagem
O que é UML

4. Privilegia a descrição de um
   sistema segundo três perspectivas
      Dados (estrutural):
        Diagrama de Classes
     Operações (funcional)
        Diagrama de Caso de Uso
     Eventos (temporal)
        Diagramas de Sequência, Atividades, de
        Transição de Estados
O que é UML

5. Em termos práticos, a UML é
   uma linguagem formal que
   permite    que       usuários,
   analistas, desenhadores e
   programadores     falem     a
   mesma língua.
O que é UML
6.   A UML não é um método de
     desenvolvimento, o que significa que ela
     não diz para você o que fazer primeiro e
     em seguida ou como desenhar seu
     sistema, mas ele lhe auxilia a visualizar
     seu desenho e a comunicação entre
     objectos.
7.   A UML é controlada pelo Grupo de
     Gestão de Objeto (Object Management
     Group - OMG) e é um padrão da
     indústria para descrever graficamente
     software.
UML pode ser usada para
  Mostrar as fronteiras de um sistema e
  suas funções principais - actores e casos
  de uso;
  Ilustrar a realização de casos de uso -
  diagramas de interacção;
  Representar uma estrutura estática de
  um sistema - diagramas de classe;
  Modelar o comportamento de objectos -
  diagramas de transição de estado;
  Revelar a arquitectura de implementação
  física - diagramas de componente e de
  implementação;
Ferramentas Case da UML

  Grande variedade de ferramentas
  com diferentes recursos
    Mais conhecidas
      Rational Rational Rose Rose (http://www.
      http://www.rational)
      TogetherSoft ControlCenter – Java
      (http://www.togethersoft.com)
      Open Open
    Source Source
      Argo UML – Java (http://argouml.tigris.org)
      Fujaba – Java (http://www.fujaba.de)
    Gratuito Gratuito
      Poseidon – Java
      (http://www.gentleware.com)
Limitações da UML
 UML é parte duma metodologia;
 Disponibiliza ferramentas para criar
 e ler modelos, não aponta quais
 modelos devem ser criados, nem
 quando;
 Necessita interagir com uma
 metodologia especifica, para
 maximizar o uso de recursos;
 Assim foi criado o processo
 unificado (RUP);
 O RUP responde:
   Quem faz, o quê, como e estabelece um padrão
   de desenvolvimento.
Bibliografia
 Bibliografia
 [1]    JACOBSON, Ivar; BOOCH, Grady; RUMBAUGH, James;
 UML Guia do Usuário. Rio de Janeiro, 2000.
 [2]    JACOBSON, Ivar; BOOCH, Grady; RUMBAUGH, James;
 The Unified Software Development Process. Massachusetts:
 Addison-Wesley, 1999.
 [3]    Rational - The e-development company. [On-line].
 Disponível em http://www.rational.com/index.jsp
 [4]    Page-Jones, Meilir. Fundamentos do Desenho Orientado
 a Objeto com UML. Makron Books, 2001.
 [5]    QUATRANI, TERRY. Modelagem visual com Rational
 Rose 2000 e UML. Rio de Janeiro: Editora Ciência Moderna,
 2001.
 [6]    LARMAN, CRAIG. Utilizando UML e Padrões. Porto
 Alegre: Bookman, 2001.
 [7]    Bezerra, E. Princípios de Análise e Projeto de Sistemas
 com UML. Campus, 2002.
 [8]    Matos, A. V. UML Prático e Descomplicado. Érica, 2002.
TPC
1.   As metodologias OO surgiram muito
     antes da UML. Explique as razões que
     levaram a criação da UML (apresente os
     problemas que ainda persistiram, mesmo
     com o aparecimento das metodologias
     OO);
2.   Que complemento a UML necessita para
     o desenvolvimento de sistemas?
     Porquê?
3.   O que é um diagrama de casos de uso?
     Quais os elementos que o compõe?
4.   No sistema de gestão de biblioteca da
     USTM, identifique 3 casos de uso e
     descreva, detalhadamente, um deles.

Aula 5 -_fundamentos_de_uml

  • 1.
    FUNDAMENTOS DE ORIENTACAO AOBJECTOS RESUMO Profs: Edgar Gemo Zeferino Saugene
  • 2.
    Definição de Análise Análiseé o estudo do domínio de um problema; Analisar é obter as necessidades de um sistema a ser desenvolvido para satisfazer as necessidades do usuário. Analisar não é definir como o sistema será desenvolvido, mas sim investigar o problema;
  • 3.
    Paradigma Estruturado vsOO Estruturado OO Enfoque em Enfoque em objectos módulos (procedimentos e funções) O sistema é um O sistema é uma conjunto de colectânea de objectos programas que interagem entre si Instáveis face a Estáveis face a mudança de alterações futuras requisitos Manutenção difícil Manutenção controlada
  • 4.
    Propósitos da AOO Formalizaruma “visão” do mundo real para o desenvolvimento de sistemas, estabelecendo os objectos como as principais estruturas.
  • 5.
    Conceitos de OO Objectos Atributos e Métodos Classes e Instâncias Estado Abstracção – concentração nos aspectos relevantes de um conjunto de objectos Encapsulamento – Ocultação da Informação Herança – atributos da classe mãe para a filha Polimorfismo – varias formas
  • 6.
    Princípios da OO Qualquercoisa é um objecto. Objectos realizam tarefas através da requisição de serviços a outros objectos. Cada objecto pertence a uma determinada classe. Uma classe agrupa objectos similares. A classe é um repositório para comportamento associado ao objecto. Classes são organizadas em hierarquias.
  • 7.
    Metodologias de AOO Destacam-sedas diversas metodologias: Método de Booch [Booch,1994], Object Modeling Technique – OMT [Rumbaugh et al, 1994], Método de Coad/Yourdon [Coad & Yourdon, 1990], Object-Oriented Software Engineering – OOSE/Objectory [Jacobson, 1992] Object-Oriented Analysis/Design – OOA/D [Shlaer-Mellor, 1988], Unified Modeling Language – UML [OMG, 2001].
  • 8.
    TPC (da aulapassada) Estude uma das Metodologias OO, tendo em conta: Historia de surgimento; Caracteristicas; Enfoque principal; Ciclo de Vida; Seu contributo para a UML;
  • 9.
    FUNDAMENTOS DE UML Profs: Edgar Gemo Zeferino Saugene
  • 10.
    Surgimento de UML Os sistemas constituídos usando OO são flexíveis a mudanças, possuem estruturas bem conhecidas e provêem a oportunidade de criar e implementar componentes totalmente reutilizáveis. As várias metodologias OO existentes tem causado “conflitos” entre a comunidade de desenvolvedores OO, devido à falta de delineamento das ideias de cada uma destas.
  • 11.
    Surgimento de UML É na tentativa de padronizar a metodologia OO de uma forma que qualquer sistema, seja qual for o tipo, possa ser modelado correctamente, com consistência, fácil de comunicar com outras aplicações, simples de ser actualizado e compreensível que surgiu a UML.
  • 12.
  • 13.
  • 14.
    O que éUML 1. Linguagem visual para especificação (modelação) de sistemas orientados a objectos; Fornece representação gráfica para os elementos essenciais do paradigma objectos: Classes, atributos, objectos, troca de mensagens, ...
  • 15.
    O que éUML 2. De propósito geral Não está presa a uma etapa do desenvolvimento de software Análise Desenho Implementação Testes Não está presa a um processo Ciclo de vida em cascata Incremental Processo Unificado e outros Não está presa a uma linguagem de programação UML apoia o desenvolvimento incremental
  • 16.
  • 17.
    O que éUML 3. Padrão OMG Em http://www.omg.org estão disponíveis documentos eletrônicos que contém: Sumário da UML Semântica Guia da Notação Extensões da Linguagem
  • 18.
    O que éUML 4. Privilegia a descrição de um sistema segundo três perspectivas Dados (estrutural): Diagrama de Classes Operações (funcional) Diagrama de Caso de Uso Eventos (temporal) Diagramas de Sequência, Atividades, de Transição de Estados
  • 19.
    O que éUML 5. Em termos práticos, a UML é uma linguagem formal que permite que usuários, analistas, desenhadores e programadores falem a mesma língua.
  • 20.
    O que éUML 6. A UML não é um método de desenvolvimento, o que significa que ela não diz para você o que fazer primeiro e em seguida ou como desenhar seu sistema, mas ele lhe auxilia a visualizar seu desenho e a comunicação entre objectos. 7. A UML é controlada pelo Grupo de Gestão de Objeto (Object Management Group - OMG) e é um padrão da indústria para descrever graficamente software.
  • 21.
    UML pode serusada para Mostrar as fronteiras de um sistema e suas funções principais - actores e casos de uso; Ilustrar a realização de casos de uso - diagramas de interacção; Representar uma estrutura estática de um sistema - diagramas de classe; Modelar o comportamento de objectos - diagramas de transição de estado; Revelar a arquitectura de implementação física - diagramas de componente e de implementação;
  • 22.
    Ferramentas Case daUML Grande variedade de ferramentas com diferentes recursos Mais conhecidas Rational Rational Rose Rose (http://www. http://www.rational) TogetherSoft ControlCenter – Java (http://www.togethersoft.com) Open Open Source Source Argo UML – Java (http://argouml.tigris.org) Fujaba – Java (http://www.fujaba.de) Gratuito Gratuito Poseidon – Java (http://www.gentleware.com)
  • 23.
    Limitações da UML UML é parte duma metodologia; Disponibiliza ferramentas para criar e ler modelos, não aponta quais modelos devem ser criados, nem quando; Necessita interagir com uma metodologia especifica, para maximizar o uso de recursos; Assim foi criado o processo unificado (RUP); O RUP responde: Quem faz, o quê, como e estabelece um padrão de desenvolvimento.
  • 24.
    Bibliografia Bibliografia [1] JACOBSON, Ivar; BOOCH, Grady; RUMBAUGH, James; UML Guia do Usuário. Rio de Janeiro, 2000. [2] JACOBSON, Ivar; BOOCH, Grady; RUMBAUGH, James; The Unified Software Development Process. Massachusetts: Addison-Wesley, 1999. [3] Rational - The e-development company. [On-line]. Disponível em http://www.rational.com/index.jsp [4] Page-Jones, Meilir. Fundamentos do Desenho Orientado a Objeto com UML. Makron Books, 2001. [5] QUATRANI, TERRY. Modelagem visual com Rational Rose 2000 e UML. Rio de Janeiro: Editora Ciência Moderna, 2001. [6] LARMAN, CRAIG. Utilizando UML e Padrões. Porto Alegre: Bookman, 2001. [7] Bezerra, E. Princípios de Análise e Projeto de Sistemas com UML. Campus, 2002. [8] Matos, A. V. UML Prático e Descomplicado. Érica, 2002.
  • 25.
    TPC 1. As metodologias OO surgiram muito antes da UML. Explique as razões que levaram a criação da UML (apresente os problemas que ainda persistiram, mesmo com o aparecimento das metodologias OO); 2. Que complemento a UML necessita para o desenvolvimento de sistemas? Porquê? 3. O que é um diagrama de casos de uso? Quais os elementos que o compõe? 4. No sistema de gestão de biblioteca da USTM, identifique 3 casos de uso e descreva, detalhadamente, um deles.