SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
– APOO –
                              (OOA&D)




   Análise e Projeto de Sistemas
      Orientados a Objetos
                 (Object-Oriented Analysis & Design )


               Prof. Ricardo Luiz
 Carga Horária: 32 horas/aula

                                                                  1




APOO - Análise e Projeto de Sistemas Orientados a Objetos
                            EMENTA
• CICLO DE VIDA DE UM SISTEMA
• MODELO DE NEGÓCIO
• DEFINIÇÃO DOS REQUISITOS
• ANÁLISE E PROJETO
• O MODELO OBJETO
• CONCEITOS DO PARADIGMA OBJETO
• UML: TÉCNICAS, MÉTODOS E METODOLOGIAS
• FERRAMENTAS DE ANÁLISE: EVOLUÇÃO E ESTADO ATUAL
• EXERCÍCIOS DE PRÁTICA UTILIZANDO FERRAMENTAS
  CASE VOLTADAS PARA A ANÁLISE E PROJETO DE
  SISTEMAS ORIENTADOS A OBJETOS


Prof. Ricardo Luiz                                                2




APOO - Análise e Projeto de Sistemas Orientados a Objetos
                         BIBLIOGRAFIA
• Bibliografia Básica:

  WAZLAWICK, Raul Sidnei. Análise e projetos de sistemas de
     informação orientados a objetos. Rio de Janeiro: Elsevier,
     2004.
  BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar. UML:
     guia do usuário. 2.ed. Rio de Janeiro: Elsevier, 2005.




Prof. Ricardo Luiz                                                3




                                                                      1
APOO - Análise e Projeto de Sistemas Orientados a Objetos
                      BIBLIOGRAFIA
• Bibliografia Complementar:

  LARMAN, Craig. Utilizando UML e padrões: uma introdução à
     análise e ao projeto orientados a objetos. 2.ed. Porto Alegre:
     Bookman, 2004.
  FOWLER, Martin et al. UML essencial. 3.ed. Porto Alegre:
    Bookman, 2005.
  KRUCHTEN, Phillippe. Introdução ao RUP: rational unified
     process. Rio de Janeiro: Ciência Moderna, 2003.
  CARDOSO, Caíque. UML na prática: do problema ao sistema.
     Rio de Janeiro: Ciência Moderna, 2003.
  GUEDES, Gilleanes. UML 2: guia de consulta prática. 2.ed. São
     Paulo: Novatec, 2005.


Prof. Ricardo Luiz                                                4




APOO - Análise e Projeto de Sistemas Orientados a Objetos
                       LINKS ÚTEIS


      www.wthreex.com/rup/index.htm
      www.mundooo.com.br
      www.aspercom.com.br
      www.cpgei.cefetpr.br/~stad/Apostila%20de%20UML%20CEF
      ET.pdf
      https://jude.change-vision.com/jude-
      web/product/community.html
      www.uml.org




Prof. Ricardo Luiz                                                5




APOO - Análise e Projeto de Sistemas Orientados a Objetos
                     PLANO DE AULA
• Introdução aos Conceitos da Orientação a Objetos
• Os Softwares nos Dias Atuais
• Crise do Software
• Metodologia RUP
• Linguagem de Modelagem UML
• Diagramas da UML
• Apresentação da Ferramenta CASE : JUDE
• Exercícios de Prática Utilizando JUDE




Prof. Ricardo Luiz                                                6




                                                                      2
APOO - Análise e Projeto de Sistemas Orientados a Objetos
                        AVALIAÇÃO
• DIVIDIDA EM DUAS PARTES:
   • PROVA ESCRITA
       • VALOR: 4,0 PONTOS
       • DATA DE APLICAÇÃO: 29/08/2006
   • TRABALHO PRÁTICO
       • VALOR: 6,0 PONTOS
       • DATA DE ENTREGA: 04/09/2006




Prof. Ricardo Luiz                                                     7




APOO - Análise e Projeto de Sistemas Orientados a Objetos
                TRABALHO PRÁTICO
ELABORAR A ANÁLISE E O PROJETO DE UM SOFTWARE EM
EQUIPE UTILIZANDO UMA FERRAMENTA CASE, PREVENDO
FUNCIONALIDES WEB.
• ELEMENTOS DO TRABALHO:
   • PROPOSTA DE ESPECIFICAÇÃO DE SOFTWARE
     (CONFORME DOCUMENTO-MODELO!)

   • 1 DIAGRAMA DE CASO DE USO DE NEGÓCIO
   • 1 DIAGRAMA DE CASO DE USO
       • OS CASOS DE USO MANTER, CONSULTAR e EMITIR RELATÓRIOS DEVEM
       SER TODOS PREVISTOS!

   • 1 ESPECIFICAÇÃO DO CASO DE USO(PRINCIPAL)
       (CONFORME DOCUMENTO-MODELO!)

       • ELEMENTOS: ATOR(ES) ; FLUXOS PRINCIPAL, ALTERNATIVOS E DE
         EXCEÇÕES; PRÉ-CONDIÇOES E PÓS-CONDIÇÕES;
         LISTA DAS CLASSES ENVOLVIDAS; REFERÊNCIAS AOS
         CASOS DE USOS RELACIONADOS.

   • 1 DIAGRAMA DE CLASSES                                             8




APOO - Análise e Projeto de Sistemas Orientados a Objetos
OO - PARADIGMA ORIENTADO A OBJETOS




Prof. Ricardo Luiz                                                     9




                                                                           3
APOO - Análise e Projeto de Sistemas Orientados a Objetos
OO - PARADIGMA ORIENTADO A OBJETOS

CONTEXTO
   Solucionar problemas existentes no
   desenvolvimento de Softwares Complexos
   com baixo custo de desenvolvimento e
   manutenção
   Mundo Real é formado por objetos que se
   interagem
   Representar esses objetos em um software é
   mais natural e permanente do que
   representar a sua funcionalidade
   (decomposição funcional), pois essa é
   mutável

Prof. Ricardo Luiz                                                 10




APOO - Análise e Projeto de Sistemas Orientados a Objetos
OO - PARADIGMA ORIENTADO A OBJETOS

PARADIGMA TRADICIONAL X OO

 Procedure                            Dados                Dados
     X
                                     Métodos               Métodos
 Procedure       Dados
     Y
                                                 Dados
 Procedure
     Z                                          Métodos

                                                  Objeto

Prof. Ricardo Luiz                                                 11




APOO - Análise e Projeto de Sistemas Orientados a Objetos
                 OO - CONCEITOS
OBJETO
   Definição
     Qualquer coisa, real ou abstrata, a respeito da
     qual armazenamos dados e métodos que os
     manipulam
   Exemplo: cachorro Bilu, casa do Ricardo, carro da
   Ana, etc.
                     Atributos(c/valores):    Métodos:
                     •Placa = LVY-1234        •Ligar o Motor()
                     •Proprietário = João     •Andar()
                     •Cor = Vermelha          •Freiar()
                     •Ano = 2002              •Desligar o Motor()
                     • ...                    • ...
Prof. Ricardo Luiz                                                 12




                                                                        4
APOO - Análise e Projeto de Sistemas Orientados a Objetos
                   OO - CONCEITOS

CLASSE
   Definição
     Abstração de um conjunto de objetos similares do
     mundo real
   Exemplo: cachorro, casa, carro, etc.

                     Atributos(s/valores):   Operações:
                     •Placa                  •Ligar o Motor()
                     •Proprietário           •Andar()
                     •Cor                    •Freiar()
                     •Ano                    •Desligar o Motor()
                     • ...                   • ...
Prof. Ricardo Luiz                                              13




APOO - Análise e Projeto de Sistemas Orientados a Objetos
                   OO - CONCEITOS

RELAÇÃO CLASSE x OBJETO
   Todo objeto é uma instância de uma
   Classe
   Todas as instâncias de uma classe têm
   valores próprios para os atributos
   especificados na classe
   Os objetos representados por
   determinada classe diferenciam-se
   entre si pelos valores de seus atributos

Prof. Ricardo Luiz                                              14




APOO - Análise e Projeto de Sistemas Orientados a Objetos
                   OO - CONCEITOS

RELAÇÃO CLASSE x OBJETO
CLASSE
                                     Livro




OBJETOS

          Bíblia       Relatório        Dicionário

Prof. Ricardo Luiz                                              15




                                                                     5
APOO - Análise e Projeto de Sistemas Orientados a Objetos
                  OO - CONCEITOS

RELAÇÃO CLASSE x OBJETO
CLASSE                    CASA           Nome
                     Portas Quartos
                     Salas Localização   Atributos
                     Cozinha Telhado

                       Reformar Pintar
                       Limpar Mobiliar   Operações


OBJETOS




Prof. Ricardo Luiz                                         16




APOO - Análise e Projeto de Sistemas Orientados a Objetos
                  OO - CONCEITOS

RELAÇÃO CLASSE x OBJETO




Prof. Ricardo Luiz                                         17




APOO - Análise e Projeto de Sistemas Orientados a Objetos
                  OO - CONCEITOS
HERANÇA
  Definição
     Mecanismo que permite definir uma nova classe
     (subclasse) a partir de uma classe já existente
     (superclasse)
  Comportamento
     Ao se estabelecer uma Especialização (subclasse) de
     uma classe, a subclasse herda as características
     comuns da superclasse
     A subclasse pode adicionar novos atributos e
     métodos, como também reescrever métodos herdados
  Tipos:
     Herança Simples: uma classe é subclasse de somente
     uma superclasse
     Herança Múltipla: uma classe é subclasse de várias
     superclasses
                                                           18
Prof. Ricardo Luiz




                                                                6
Generalização               (Superclasse)
             Portas Quartos
                                                     Reformar Pintar
             Salas Localização
                                                     Limpar Mobiliar
             Cozinha Telhado

                                       CASA



         PRAIA                      FAVELA                      MANSÃO
                                                             Limpar Piscina
                                                             Contratar Criadagem
                                 (Subclasses)
                                                             Piscina
                                                             Quadras


       Especialização
                                                                            19




                             Animal                           superclasse



                        Selvagem        Doméstico                subclasses


Hierarquia de Classes
                                   Gato               Cão


                                        De Raça              Vira-Lata


                  Objeto Rex                                             Rex
                  instância da classe Vira-Lata
                                                                            20




                                    Veículo
Hierarquia de Classes


              Véiculo de            Veículo à                  Veículo
               Rodas                 Motor                     Aéreo




 Bicicleta       Caminhão          Vapor             Avião         Planador




             Caminhão       Caminhão            Caminhão
               VW             Ford                GM

                                                                            21




                                                                                   7
Hierarquia de Classes
          Ex: Sistema de Administração Universitária
                                                      Nome, Data de Nasc. RG
                                                      Nascer, Comer, Dormir, Morrer
                                         Pessoa


 RG (registro)
 Cursar            Estudante             Docente                  Funcionário



       Graduação           Pós-Graduação
                                                               Herança
                                                               Múltipla
                                         Assistente                                22




      APOO - Análise e Projeto de Sistemas Orientados a Objetos
                                OO - CONCEITOS
     ENCAPSULAMENTO DE DADOS
          Definição
              Os DADOS e os MÉTODOS são empacotados sob um
              NOME e podem ser reusados como uma
              especificação ou componente de programa
              Os atributos de um objeto só podem ser manipulados
              pelos próprios métodos do objeto
          Vantagens                               Nome               CASA
              Segurança de acesso                            Portas Quartos
              aos dados de um objeto
              Facilita o reuso de código
                                              Atributos      Salas Localização
                                                             Cozinha Telhado

                                                                Reformar Pintar
                                               Métodos          Limpar Mobiliar


                                                                                   23
      Prof. Ricardo Luiz




      APOO - Análise e Projeto de Sistemas Orientados a Objetos
                                OO - CONCEITOS
     POLIMORFISMO (VÁRIAS FORMAS)
          Definição
              Capacidade de uma mensagem(mecanismo de comunicação
              entre os objetos) ser executada de acordo com as características
              do objeto que está recebendo o pedido de execução do serviço
                           (Superclasse)     FIGURA




                                           DESENHAR( )      Operação - Definição do Método



   (Subclasses)              CÍRCULO         QUADRADO                   TRIÂNGULO




Implementações do Método   DESENHAR( )     DESENHAR( )                DESENHAR( )




                                                                                   24
      Prof. Ricardo Luiz




                                                                                             8
APOO - Análise e Projeto de Sistemas Orientados a Objetos




Prof. Ricardo Luiz                                     25




APOO - Análise e Projeto de Sistemas Orientados a Objetos
      O SOFTWARE NOS DIAS ATUAIS
• COMBUSTÍVEL DOS NEGÓCIOS MODERNOS
• AJUDA A CRIAR, ACESSAR E VISUALIZAR A INFORMAÇÃO
DE FORMAS ANTERIORMENTE INCONCEBÍVEIS
• BOA NOTÍCIA: A ECONOMIA MUNDIAL DEPENDE CADA
VEZ MAIS DO SOFTWARE
• MÁ NOTÍCIA: OS SISTEMAS CRESCEM EM TAMANHO,
COMPLEXIDADE, DISTRIBUIÇÃO E IMPORTÂNCIA MAIS
RÁPIDOS QUE O APRENDIZADO DE DESENVOLVIMENTO




Prof. Ricardo Luiz                                     26




APOO - Análise e Projeto de Sistemas Orientados a Objetos




Prof. Ricardo Luiz                                     27




                                                            9
APOO - Análise e Projeto de Sistemas Orientados a Objetos
            A CRISE DO SOFTWARE

Razões para a Crise do Software

   Estimativas de calendário e custos
   pouco precisos
   Produtividade mal controlada
   Qualidade baixa
   Dificuldade de manutenção



Prof. Ricardo Luiz                                     28




APOO - Análise e Projeto de Sistemas Orientados a Objetos
            A CRISE DO SOFTWARE

Causas da Crise

   Natureza lógica e não física
   Proveniente de trabalho de equipe
   Ineficiente definição do que o usuário
   pretende
   Deficiente formação dos técnicos
   envolvidos


Prof. Ricardo Luiz                                     29




APOO - Análise e Projeto de Sistemas Orientados a Objetos
           OS MITOS DO SOFTWARE

Dos Gestores
  Possuímos normas, então está tudo
  controlado
Dos Usuários
  Basta definir em geral
Dos Analistas e Programadores
   Quando um programa funciona, então
   está pronto

Prof. Ricardo Luiz                                     30




                                                            10
APOO - Análise e Projeto de Sistemas Orientados a Objetos
               CRISE DO SOFTWARE

Conseqüências
   Prazos de desenvolvimento não são
   cumpridos
   31% dos projetos de software não terminam
   53% custam 200% do valor original estimado
   Empresas e governo americanos gastaram
   em 1995, U$ 81 bi em projetos de software
   que foram cancelados
                     FASES        CUSTO DE MANUTENÇÃO
                DEFINIÇÃO          1x
                DESENVOLVIMENTO   1.5 - 6x
                MANUTENÇÃO        60 - 100x

Prof. Ricardo Luiz                                              31




APOO - Análise e Projeto de Sistemas Orientados a Objetos
SOLUÇÃO PARA A CRISE DO SOFTWARE

         Adoção de uma Metodologia de
          Desenvolvimento de Software




                Rational Unified Process
      (Processo Unificado da Rational* Software Corporation)
         Empresa fundada em 1981 pelos autores da UML
       Grady BOOCH, James RUMBAUGH, Ivar JACOBSON

 * Metodologia adquirida pela IBM em 2003. Agora IBM Rational
Prof. Ricardo Luiz                                              32




APOO - Análise e Projeto de Sistemas Orientados a Objetos
                 METODOLOGIA RUP

Práticas adotadas
   Desenvolver o software iterativamente
   Gerenciar os requisitos
   Usar arquiteturas baseadas em
   componentes
   Modelar visualmente o software
   Verificar continuamente a qualidade do
   software
   Controlar mudanças do software
Prof. Ricardo Luiz                                              33




                                                                     11
APOO - Análise e Projeto de Sistemas Orientados a Objetos
            RUP – PRÁTICAS ADOTADAS
1 - Desenvolver o software iterativamente
  Baseado no Ciclo de Vida Iterativo e Incremental




  Foco da iteração depende da Fase




                                                                              34




APOO - Análise e Projeto de Sistemas Orientados a Objetos
         REVISÃO DOS CICLOS DE VIDA

Ciclo de Vida em Cascata (Clássico)
Levantamento de                                              Projetos reais
Requisitos                                                   raramente
             Análise de                                      seguem o fluxo
             Requisitos                                      seqüencial que
                          Projeto                            o modelo
                                                             propõe
                                    Codificação

O cliente deve ter                          Testes
paciência. Uma
                                                     Implantação
versão executável do
software só fica                                             Manutenção
disponível numa
etapa avançada do
desenvolvimento
Prof. Ricardo Luiz                                                            35




APOO - Análise e Projeto de Sistemas Orientados a Objetos
            RUP – PRÁTICAS ADOTADAS

2 - Gerenciar os requisitos
   Requisito : "uma condição ou capacidade
   na qual o sistema deve estar em
   conformidade".
   Atividades a serem desempenhadas
        Analisar o problema
        Entender a necessidade do usuário
        Definir o sistema
        Gerenciar o escopo do projeto
        Refinar a definição do sistema
        Gerenciar as mudanças nos requisitos
   Desenvolvimento por Casos de Uso(UML)
Prof. Ricardo Luiz                                                            36




                                                                                   12
APOO - Análise e Projeto de Sistemas Orientados a Objetos
        RUP – PRÁTICAS ADOTADAS
3 - Usar arquiteturas baseadas em
componentes
   Componentes - grupos de código
   coesos e com interfaces bem definidas
   que encapsulam seus conteúdos
     Vantagens Arquiteturais
        Ter o controle intelectual do projeto
        Reuso em larga escala
        Base para o gerenciamento de projetos

Prof. Ricardo Luiz                                     37




APOO - Análise e Projeto de Sistemas Orientados a Objetos
        RUP – PRÁTICAS ADOTADAS

4 - Modelar visualmente o software
   Uso de componentes semânticos
   (gráficos e textos) para capturar a
   complexidade do sistema.
   Linguagem utilizada: UML




Prof. Ricardo Luiz                                     38




APOO - Análise e Projeto de Sistemas Orientados a Objetos
        RUP – PRÁTICAS ADOTADAS
5 - Verificar continuamente a qualidade do
software
   Qualidade dos artefatos bem como das
   atividades que os produzem
      Qualidade de Produto
      Qualidade de Processo
      Medindo a Qualidade
      Avaliando a Qualidade



Prof. Ricardo Luiz                                     39




                                                            13
APOO - Análise e Projeto de Sistemas Orientados a Objetos
         RUP – PRÁTICAS ADOTADAS

6 - Controlar mudanças do software
   Coordenar atividades e artefatos
   Coordenar alterações e releases




Prof. Ricardo Luiz                                               40




APOO - Análise e Projeto de Sistemas Orientados a Objetos




              Unified Modeling Language
              (Linguagem de Modelagem Unificada)
       Padronizada pela OMG* - Object Management Group

 * OMG – Organismo Internacional Não-Lucrativo da Indústria de
    Computadores aberto a novos membros

Prof. Ricardo Luiz                                               41




APOO - Análise e Projeto de Sistemas Orientados a Objetos
     UML – Unified Modeling Language
 Importância da Modelagem (Criar Modelos)
   Um modelo é uma simplificação da
   realidade.
   A modelagem é uma técnica de
   engenharia aprovada e bem aceita




Prof. Ricardo Luiz                                               42




                                                                      14
APOO - Análise e Projeto de Sistemas Orientados a Objetos
    UML – Unified Modeling Language
Importância da Modelagem (Criar Modelos)
  Criamos modelos para compreender
  melhor o que queremos construir
      MODELO                                  OBJETO REAL




Prof. Ricardo Luiz                                                 43




APOO - Análise e Projeto de Sistemas Orientados a Objetos
    UML – Unified Modeling Language
 O que é            ?
    Linguagem de modelagem unificada utilizada
    para visualizar, especificar, construir e
    documentar sistemas Orientados a Objetos.




Prof. Ricardo Luiz                                                 44




APOO - Análise e Projeto de Sistemas Orientados a Objetos
    UML – Unified Modeling Language

Características
    Visualizar
       Ferramenta gráfica que facilita o entendimento do projeto
       Afinal : “Uma imagem vale mais do que mil palavras”
    Especificar
       Ajuda a construir modelos mais precisos
    Construir
       Seus modelos podem ser diretamente conectados a linguagens de
       programação

    Documentar
       Documenta-se a arquitetura do sistema e seus detalhes



Prof. Ricardo Luiz                                                 45




                                                                        15
APOO - Análise e Projeto de Sistemas Orientados a Objetos
    UML – Unified Modeling Language
 Principais Autores
    Grady BOOCH



    James RUMBAUGH



    Ivar JACOBSON

Prof. Ricardo Luiz                                      46




APOO - Análise e Projeto de Sistemas Orientados a Objetos
    UML – Unified Modeling Language




                     BOOCH    RUMBAUGH       JACOBSON
OMT - Object Modeling Technique
OOSE -Object Oriented Software Engineering
Prof. Ricardo Luiz                                      47




APOO - Análise e Projeto de Sistemas Orientados a Objetos
    UML – Unified Modeling Language
Histórico da UML




Prof. Ricardo Luiz                                      48




                                                             16
APOO - Análise e Projeto de Sistemas Orientados a Objetos
    UML – Unified Modeling Language

Blocos de Construção da UML
O vocabulário da UML abrange três tipos de Blocos de
   construção:
1. Itens
2. Relacionamentos
3. Diagramas




Prof. Ricardo Luiz                                     49




APOO - Análise e Projeto de Sistemas Orientados a Objetos
    UML – Unified Modeling Language

Blocos de Construção da UML
1. Itens
      Estruturais
      Comportamentais
      Agrupamento
      Anotacionais
2. Relacionamentos
     Dependência
     Associação
     Generalização
     Realização


Prof. Ricardo Luiz                                     50




APOO - Análise e Projeto de Sistemas Orientados a Objetos
    UML – Unified Modeling Language
Blocos de Construção da UML
3. Diagramas (9 – vs. 1.4 / 13 vs. 2.0)
 Diagramas Estruturais  Diagramas Dinâmicos
 Classes                        Casos de Uso
 Objetos                        Atividades
 Componentes                    Estados
 Implantação                   Diagramas de Interação
 Pacotes*                       Seqüências
 Estruturas Compostas*          Visão Geral*
                                Temporal*
                                Comunicação*(Colaboração)
* Novos Diagramas da UML 2.0
Prof. Ricardo Luiz                                     51




                                                            17
APOO - Análise e Projeto de Sistemas Orientados a Objetos
     UML – BLOCOS DE CONSTRUÇÃO

Itens Estruturais
     Partes mais estáticas do modelo,
   representam os elementos conceituais
   ou físicos
     Existem 7 tipos de itens estruturais




Prof. Ricardo Luiz                                         52




APOO - Análise e Projeto de Sistemas Orientados a Objetos
     UML – BLOCOS DE CONSTRUÇÃO

Itens Estruturais (7)
   1. Classes: São descrições como conjunto de objetos

                      Graficamente:

   2. Interface: Coleção de operações que especificam
      serviços de uma classe
                    Graficamente:

   3. Colaborações: Definem interações
                  Graficamente:

   4. Caso de uso: É a descrição de um conjunto de ações
                   Graficamente:


Prof. Ricardo Luiz                                         53




APOO - Análise e Projeto de Sistemas Orientados a Objetos
     UML – BLOCOS DE CONSTRUÇÃO

Itens Estruturais (7)
    5. Classes ativas: São classes cujos objetos têm um
       ou mais processos e, portanto, podem iniciar
       atividade de controle

                     Graficamente:


    6. Componentes: São partes físicas e substituíveis
       de um sistema
                     Graficamente:

    7. Nó: Elemento físico existente em tempo de
       execução
                   Graficamente:


Prof. Ricardo Luiz                                         54




                                                                18
APOO - Análise e Projeto de Sistemas Orientados a Objetos
     UML – BLOCOS DE CONSTRUÇÃO

Itens Comportamentais (2)
    1. Interação: Abrange um conjunto de mensagens
       trocadas entre um conjunto de objetos.
                     Graficamente:     exibir

    2. Máquina de estado: Especifica as seqüências de
       estados pelas quais os objetos ou interações
       passam .
                       Graficamente:




Prof. Ricardo Luiz                                           55




APOO - Análise e Projeto de Sistemas Orientados a Objetos
     UML – BLOCOS DE CONSTRUÇÃO

Item de Agrupamento (1)
    1. Pacote: Organização de elementos em grupos

                  Graficamente:


Item Anotacional (1)
    1. Nota: Símbolo para representar restrições e
       comentários anexados a um elemento

                 Graficamente:




Prof. Ricardo Luiz                                           56




APOO - Análise e Projeto de Sistemas Orientados a Objetos
     UML – BLOCOS DE CONSTRUÇÃO
Relacionamentos (4)
    1. Dependência: Relacionamento semântico entre dois
       itens.
                     Graficamente

    2. Associação: Relacionamento estrutural que descreve
       um conjunto de ligações.
        Graficamente
                        ASSOCIAÇÃO       AGREGAÇÃO   COMPOSIÇÃO
    3. Generalização: Relacionamento de
       especialização/generalização.
                     Graficamente

    4. Realização: Relacionamento semântico entre
       classificadores.
                     Graficamente
Prof. Ricardo Luiz                                           57




                                                                  19
APOO - Análise e Projeto de Sistemas Orientados a Objetos
     UML – BLOCOS DE CONSTRUÇÃO
Diagramas
 •O uso de diagramas permite a visualização de
 um sistema de vários pontos de vista
 •Um diagrama é a representação gráfica de um
 conjunto de elementos (Blocos de Construção)
 •A UML permite combinar tipos diferentes de
 diagramas para focalizar diferentes aspectos de
 um sistema, podendo ser criados novos tipos



Prof. Ricardo Luiz                                     58




APOO - Análise e Projeto de Sistemas Orientados a Objetos
               UML – DIAGRAMAS
 Apresentação Rápida
1. Diagrama de Casos de Uso




Prof. Ricardo Luiz                                     59




APOO - Análise e Projeto de Sistemas Orientados a Objetos
         UML – ALGUNS DIAGRAMAS
 Apresentação Rápida
2. Diagrama de Atividades




Prof. Ricardo Luiz                                     60




                                                            20
APOO - Análise e Projeto de Sistemas Orientados a Objetos
         UML – ALGUNS DIAGRAMAS
 Apresentação Rápida
3. Diagrama de Seqüências




Prof. Ricardo Luiz                                     61




APOO - Análise e Projeto de Sistemas Orientados a Objetos
         UML – ALGUNS DIAGRAMAS
 Apresentação Rápida
4.   Diagrama de Comunicação(antigo Colaboração)




Prof. Ricardo Luiz                                     62




APOO - Análise e Projeto de Sistemas Orientados a Objetos
         UML – ALGUNS DIAGRAMAS
 Apresentação Rápida
5. Diagrama de Classes




Prof. Ricardo Luiz                                     63




                                                            21
APOO - Análise e Projeto de Sistemas Orientados a Objetos
         UML – ALGUNS DIAGRAMAS
 Apresentação Rápida
6. Diagrama de Objetos




Prof. Ricardo Luiz                                     64




APOO - Análise e Projeto de Sistemas Orientados a Objetos
         UML – ALGUNS DIAGRAMAS
 Apresentação Rápida
7. Diagrama de Estados




Prof. Ricardo Luiz                                     65




APOO - Análise e Projeto de Sistemas Orientados a Objetos
         UML – ALGUNS DIAGRAMAS
 Apresentação Rápida
8. Diagrama de Pacotes




Prof. Ricardo Luiz                                     66




                                                            22
APOO - Análise e Projeto de Sistemas Orientados a Objetos
         UML – ALGUNS DIAGRAMAS
 Apresentação Rápida
9. Diagrama de Componentes




Prof. Ricardo Luiz                                     67




APOO - Análise e Projeto de Sistemas Orientados a Objetos
         UML – ALGUNS DIAGRAMAS
 Apresentação Rápida
10. Diagrama de Implantação
         comunicação




      dependência             nó

Prof. Ricardo Luiz                                     68




APOO - Análise e Projeto de Sistemas Orientados a Objetos
         UML – ALGUNS DIAGRAMAS
 Apresentação Rápida
11. Diagrama Temporal




Prof. Ricardo Luiz                                     69




                                                            23
APOO - Análise e Projeto de Sistemas Orientados a Objetos
         UML – ALGUNS DIAGRAMAS
 Apresentação Rápida
12. Diagrama de Estruturas Compostas




Prof. Ricardo Luiz                                     70




APOO - Análise e Projeto de Sistemas Orientados a Objetos
         UML – ALGUNS DIAGRAMAS
 Apresentação Rápida
13. Diagrama de Visão Geral




Prof. Ricardo Luiz                                     71




APOO - Análise e Projeto de Sistemas Orientados a Objetos
               UML – DIAGRAMAS
Principais Diagramas
    1. Diagrama de Casos de Uso
    2. Diagrama de Classes




Prof. Ricardo Luiz                                     72




                                                            24
APOO - Análise e Projeto de Sistemas Orientados a Objetos
  CARACTERÍSTICAS DOS DIAGRAMAS
1. Diagrama de Casos de Uso
     Exibe um conjunto de casos de uso, atores
     e seus relacionamentos




Prof. Ricardo Luiz                                     73




APOO - Análise e Projeto de Sistemas Orientados a Objetos
       DIAGRAMA DE CASOS DE USO
Elementos
     Ator
     Caso de Uso
     Relacionamento




Prof. Ricardo Luiz                                     74




APOO - Análise e Projeto de Sistemas Orientados a Objetos
       DIAGRAMA DE CASOS DE USO
Ator
     Necessariamente usuário do sistema
     Entidade externa(pessoas, órgãos,
     equipamentos ou outros sistemas) que
     interage diretamente com o sistema para
     conseguir um objetivo desejado
     Pode existir o relacionamento de herança
     entre atores




                      Nome do Ator
                      (Substantivo)
Prof. Ricardo Luiz                                     75




                                                            25
APOO - Análise e Projeto de Sistemas Orientados a Objetos
         DIAGRAMA DE CASOS DE USO
Ator
      Exemplos:
     pessoa     órgão              equipamento sistema



       Cliente        Prefeitura     Leitora de     CEP dos Correios
                                     Gabaritos           Web




Prof. Ricardo Luiz                                                  76




APOO - Análise e Projeto de Sistemas Orientados a Objetos
         DIAGRAMA DE CASOS DE USO
Ator
     Exemplos de Relacionamento(Herança):



          Cliente                                 Médico




Cliente Caixa    Cliente WEB         Oftalmologista Cardiologista
 Eletrônico

Prof. Ricardo Luiz                                                  77




APOO - Análise e Projeto de Sistemas Orientados a Objetos
         DIAGRAMA DE CASOS DE USO
Caso de Uso
     Conjunto de seqüências possíveis das
     interações entre o sistema e seus atores
     externos, relacionadas a um determinado
     objetivo
     Na prática, é que o acontece quando o ator
     interage com o sistema
     Podem existir os relacionamentos de
     Herança ou Dependência entre Casos de
     Uso


                    Nome do Caso de Uso(Ação)
Prof. Ricardo Luiz                                                  78




                                                                         26
APOO - Análise e Projeto de Sistemas Orientados a Objetos
         DIAGRAMA DE CASOS DE USO
 Caso de Uso
      Exemplos:


      Cadastrar Pacientes                 Efetuar Login




        Realizar Pedido             Emitir Relatório de Vendas




Prof. Ricardo Luiz                                                   79




APOO - Análise e Projeto de Sistemas Orientados a Objetos
         DIAGRAMA DE CASOS DE USO
 Caso de Uso
      Relacionamentos:
          Herança               A


                                B

          Dependência
                Inclusão (Include)                  <<include>>
                                         A                           B

                Extensão (Extend)
                                                    <<extend>>
                                         A                           B
Prof. Ricardo Luiz                                                   80




APOO - Análise e Projeto de Sistemas Orientados a Objetos
         DIAGRAMA DE CASOS DE USO
 Caso de Uso
      Exemplos de Relacionamento(Herança):


            Cadastrar                               Cadastrar
             Pessoa                                Funcionário




  Cadastrar         Cadastrar         Cadastrar             Cadastrar
Pessoa Física     Pessoa Jurídica    Funcionário           Funcionário
                                       Público             Terceirizado
Prof. Ricardo Luiz                                                   81




                                                                          27
APOO - Análise e Projeto de Sistemas Orientados a Objetos
             DIAGRAMA DE CASOS DE USO
Caso de Uso
       Exemplos de Relacionamento(Dependência):
      Inclusão(Include)      Extensão(Extend)
         <<include>>
                                                  <<extend>>
                           Consultar SPC                          Pesquisar
                                                                   Produto
                                                         <<extend>>
Cadastrar    <<include>>
 Cliente                     Consultar
                                           Realizar Venda Imprimir Orçamento
                             SERASA
                USA                               PODERÁ USAR

 Prof. Ricardo Luiz                                                       82




 APOO - Análise e Projeto de Sistemas Orientados a Objetos
             DIAGRAMA DE CASOS DE USO
Relacionamento (Ator e Caso de Uso)
       Chamado de Associação (de Comunicação)
       Uma associação pode ser em:
         ambas as direções (sem navegabilidade)
         uma direção (com navegabilidade),
         indicando o sentido da comunicação




                     Cadastrar                        Registrar
                      Cliente                          Notas
Secretária                          Professor                            Aluno
 Prof. Ricardo Luiz                                                       83




 APOO - Análise e Projeto de Sistemas Orientados a Objetos
             DIAGRAMA DE CASOS DE USO
Exemplo 1: Biblioteca WEB




 Prof. Ricardo Luiz                                                       84




                                                                                 28
APOO - Análise e Projeto de Sistemas Orientados a Objetos
        DIAGRAMA DE CASOS DE USO
Exemplo 2: Sistema Bancário WEB




Prof. Ricardo Luiz                                           85




APOO - Análise e Projeto de Sistemas Orientados a Objetos
  CARACTERÍSTICAS DOS DIAGRAMAS
2. Diagrama de Classes (de Entidade)
   Apresenta as classes e os
   relacionamentos entre elas
   Elementos
      Classe
      Relacionamento




Prof. Ricardo Luiz                                           86




APOO - Análise e Projeto de Sistemas Orientados a Objetos
             DIAGRAMA DE CLASSES
 Estereótipos de Classes
     Classe Fronteira (<<boundary>>)
        Modelam as interfaces entre sistema e atores

     Classe de Controle (<<control>>)
        Controlam o fluxo operacional do programa

     Classe de Entidade (<<entity>>)
        Modelam entidades do mundo real. Criam objetos que
        gerenciam dados.



Prof. Ricardo Luiz                                           87




                                                                  29
APOO - Análise e Projeto de Sistemas Orientados a Objetos
            DIAGRAMA DE CLASSES
Diagrama de Classes com Estereótipos




Prof. Ricardo Luiz                                                 88




APOO - Análise e Projeto de Sistemas Orientados a Objetos
            DIAGRAMA DE CLASSES
 Principais Tipos de Relacionamento
    Associação
       Significa que há uma ligação entre os objetos das classes
       associadas
       Uma associação entre Cliente e Conta Corrente significa
       que os objetos da classe Cliente estão conectados aos
       objetos da classe Conta Corrente
       São representados por linhas ligando as classes




Prof. Ricardo Luiz                                                 89




APOO - Análise e Projeto de Sistemas Orientados a Objetos
            DIAGRAMA DE CLASSES
 Principais Tipos de Relacionamento
    Associação (Continuação)
       Multiplicidade
          Representa a cardinalidade das associações em um
          diagrama de classes
          Especifica quantas instâncias de uma classe podem
          participar da associação




Prof. Ricardo Luiz                                                 90




                                                                        30
APOO - Análise e Projeto de Sistemas Orientados a Objetos
            DIAGRAMA DE CLASSES
 Principais Tipos de Relacionamento
    Associação (Continuação)
       Multiplicidade
          Exemplos:




                                                 Classe Associativa

Prof. Ricardo Luiz                                            91




APOO - Análise e Projeto de Sistemas Orientados a Objetos
            DIAGRAMA DE CLASSES
 Principais Tipos de Relacionamento
    Associação (Continuação)
       Classe Associativa
          Representa a associação entre classes
          Ocorre geralmente quando:
             a Multiplicidade entre as classes é maior que 1 em
             ambos os lados
             existem atributos surgidos a partir da associação




                                 Classe Associativa
Prof. Ricardo Luiz                                            92




APOO - Análise e Projeto de Sistemas Orientados a Objetos
            DIAGRAMA DE CLASSES
 Principais Tipos de Relacionamento
     Agregação
        É um relacionamento entre o todo e suas partes
        Um pequeno losango em branco é desenhado ao lado da
        classe que representa o todo
        Há uma certa subordinação entre as classes
        Relacionamento por referência
        O Todo “Nasce” SEM as Partes!




Prof. Ricardo Luiz                                            93




                                                                      31
APOO - Análise e Projeto de Sistemas Orientados a Objetos
            DIAGRAMA DE CLASSES
 Principais Tipos de Relacionamento
     Composição
       É um relacionamento entre o todo e suas partes
       Um pequeno losango preto é desenhado ao lado da
       classe que representa o todo
       Relacionamento por valor
       O Todo “Nasce” COM as Partes!




Prof. Ricardo Luiz                                            94




APOO - Análise e Projeto de Sistemas Orientados a Objetos
            DIAGRAMA DE CLASSES
 Principais Tipos de Relacionamento
     Generalização
       Conhecido também como Herança



                                                refere-se a




                                                       1




Prof. Ricardo Luiz                                            95




APOO - Análise e Projeto de Sistemas Orientados a Objetos
            DIAGRAMA DE CLASSES
 Papéis nas Associações
     A extremidade de uma associação, na conexão
     com a classe, é denominada : “o papel que a
     classe desempenha na associação”




Prof. Ricardo Luiz                                            96




                                                                   32
APOO - Análise e Projeto de Sistemas Orientados a Objetos
        DIAGRAMA DE CLASSES
 Navegabilidade nas Associações
     Unidirecional

                      Apenas uma classe conhece a outra
                Cliente não tem                 Pedido tem a
              responsabilidade de            responsabilidade de
            identificar seus pedidos        identificar seu Cliente
       Bidirecional
                          As duas classes se “conhecem”
          /* em JAVA --------                          /* em JAVA --------
          Class Cliente {                              Class Pedido {
          Private set peds                             Private Cliente cli
          Public set ObterPedidos( )}                  Public Cliente ObterCli ( )}
Prof. Ricardo Luiz                                                               97




APOO - Análise e Projeto de Sistemas Orientados a Objetos
          DIAGRAMA DE CLASSES
 Atributos e Métodos

              Estereótipo             <<entity>>
              Nome                     Venda

              Atributos     -data: date
                            -status: Integer
                            -obs: String
                            -valorTotal: Float
              Métodos       +calcImposto()
                            +calcTotal()
                            -calcSubTotal()
                            +setCliente(cliente: Cliente)
                            +inserirItem(item: ItemVenda)




Prof. Ricardo Luiz                                                               98




APOO - Análise e Projeto de Sistemas Orientados a Objetos
           DIAGRAMA DE CLASSES
 Visibilidade
     Conceito
        Como uma classe, atributo ou método
        pode se visto e usado por outros
        elementos                        <<entity>>
     Tipos                                 Venda
                              -data: date
        Privada (-)           -status: Integer
                              -obs: String
        Protegida (#)         -valorTotal: Float
        de Pacote (~)         +calcImposto()
                              +calcTotal()
        Pública (+)           -calcSubTotal()
                                                 +setCliente(cliente: Cliente)
                                                 +inserirItem(item: ItemVenda)




Prof. Ricardo Luiz                                                               99




                                                                                      33
APOO - Análise e Projeto de Sistemas Orientados a Objetos
             DIAGRAMA DE CLASSES
   Visibilidade dos Atributos e Métodos
      Privada
          Somente os objetos da própria classe podem
          vê-los
          Símbolo: (-)                       <<entity>>
                                                                                Venda
                                                                    -data: date
                                                                    -status: Integer
Atenção! Regra Geral para Atributos:                                -obs: String
                                                                    -valorTotal: Float
Via de Regra, Todos os Atributos de uma                             +calcImposto()
Classe devem ser Privados !!!                                       +calcTotal()
                                                                    -calcSubTotal()
                                                                    -setCliente(cliente: Cliente)
 Mas por quê ?                                                      -inserirItem(item: ItemVenda)


 Resposta: Para Manter o Encapsulamento da Classe!

 Prof. Ricardo Luiz                                                                           100




 APOO - Análise e Projeto de Sistemas Orientados a Objetos
             DIAGRAMA DE CLASSES
   Visibilidade dos Atributos e Métodos
      Protegida
         Somente os objetos da própria classe e das
         suas subclasses podem vê-los
         Símbolo: (#)                       <<entity>>
                                                                                Venda
                                                                    -data: date
                                                                    -status: Integer
                                                                    -obs: String
                                                                    -valorTotal: Float
                                                                    +calcImposto()
                                                                    +calcTotal()
                                                                    -calcSubTotal()
                                                                    # setCliente(cliente: Cliente)
                                                                    #inserirItem(item: ItemVenda)
                            <<entity>>
                         Venda Consignada



 Prof. Ricardo Luiz                                                                           101




 APOO - Análise e Projeto de Sistemas Orientados a Objetos
             DIAGRAMA DE CLASSES
   Visibilidade dos Atributos e Métodos
      de Pacote
         Somente os objetos de classes do mesmo
         pacote podem vê-los
         Símbolo: (~)


  Recursos
  Humanos          Vendas                                                     <<entity>>
                                                                                Venda
                              <<entity>>                            -data: date
                               Cliente                              -status: Integer
                  -razaoSocial: String                              -obs: String
                  -cpf: String                           1   0..*   -valorTotal: Float
                  +getRazaoSocial()                                 +calcImposto()
                  +setRazaoSocial(razaoSocial: String)              +calcTotal()
                                                                    -calcSubTotal()
                                                                    ~ setCliente(cliente: Cliente)
                                                                    ~inserirItem(item: ItemVenda)


 Prof. Ricardo Luiz                                                                           102




                                                                                                     34
APOO - Análise e Projeto de Sistemas Orientados a Objetos
           DIAGRAMA DE CLASSES
 Visibilidade dos Atributos e Métodos
        Pública
          Todos os objetos de qualquer classe podem
          vê-los
          Símbolo: (+)


Recursos
Humanos                               Vendas                                                                   <<entity>>
                                                                                                                 Venda
                                                     <<entity>>                                      -data: date
                                                      Cliente                                        -status: Integer
                                     -razaoSocial: String                                            -obs: String
                                     -cpf: String                                    1      0..*     -valorTotal: Float
                                     +getRazaoSocial()                                               +calcImposto()
                                     +setRazaoSocial(razaoSocial: String)                            +calcTotal()
                                                                                                     -calcSubTotal()
                                                                                                     + setCliente(cliente: Cliente)
                                                                                                     +inserirItem(item: ItemVenda)


Prof. Ricardo Luiz                                                                                                                           103




APOO - Análise e Projeto de Sistemas Orientados a Objetos
         DIAGRAMA DE CLASSES
 Diagrama de Classes com Atributos e Métodos
                                                                            <<entity>>
                                                                             Venda
                                                                -data: date
             <<entity>>                                         -status: Integer
              Cliente                                           -obs: String                                             <<entity>>
                                                                -valorTotal: Float                                       Pagamento
 -razaoSocial: String
 -cpf: String                                          0..*     +calcImposto()                        1             -quantia: Float
                                             1                                                               1..*
 +getRazaoSocial()                                              +calcTotal()                                        +getQuantia()
 +setRazaoSocial(razaoSocial: String)                           -calcSubTotal()
                                                                +setCliente(cliente: Cliente)
                                                                +inserirItem(item: ItemVenda)
                                 <<boundary>>
                                  FormVenda
                                                                                      1                     <<entity>>                 <<entity>>
                                 +criarVenda()                                                               Cartao                     Cheque
                                 +gravarVenda()                                      1..*
                                                                                                          -numero: Integer            -banco: Integer
                                                                                                          -tipo: Integer
                                                                              <<entity>>
                                                                             ItemVenda
                          <<entity>>
                           Produto               1            0..*
                                                                     -qtd: Integer                                       <<entity>>
                        -descricao: String                           +setQuantidade(qtd: Integer)                         Dinheiro
                                                                     +setProduto(produto: Produto)




Prof. Ricardo Luiz                                                                                                                           104




                                                                                                                                                        35

Mais conteúdo relacionado

Mais procurados

Aps lista de exercícios
Aps lista de exercíciosAps lista de exercícios
Aps lista de exercíciosGuilherme
 
Análise Orientada a Objetos com UML
Análise Orientada a Objetos com UMLAnálise Orientada a Objetos com UML
Análise Orientada a Objetos com UMLEliseu Castelo
 
Analisis y Diseños de Sistemas 2-Metodologia OOSE
Analisis y Diseños de Sistemas 2-Metodologia OOSEAnalisis y Diseños de Sistemas 2-Metodologia OOSE
Analisis y Diseños de Sistemas 2-Metodologia OOSEMari Cruz
 
Projeto Informacional
Projeto InformacionalProjeto Informacional
Projeto InformacionalMarcel Gois
 
Metodologia orientada a objetos
Metodologia orientada a objetosMetodologia orientada a objetos
Metodologia orientada a objetosMariana Rodríguez
 
Apresentando ferramentas CASE
Apresentando ferramentas CASEApresentando ferramentas CASE
Apresentando ferramentas CASEAline Ferreira
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de SoftwareRalph Rassweiler
 
Unidad 1 requerimientos del software
Unidad 1 requerimientos del softwareUnidad 1 requerimientos del software
Unidad 1 requerimientos del softwareoemavarez
 
Gestão da Tecnologia da Informação - Atividade: Governança de TI
Gestão da Tecnologia da Informação - Atividade: Governança de TIGestão da Tecnologia da Informação - Atividade: Governança de TI
Gestão da Tecnologia da Informação - Atividade: Governança de TIAlessandro Almeida
 
Segurança em Banco de Dados
Segurança em Banco de DadosSegurança em Banco de Dados
Segurança em Banco de DadosIorgama Porcely
 
Software architecture patterns
Software architecture patternsSoftware architecture patterns
Software architecture patternsMd. Sadhan Sarker
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven DevelopmentElias Nogueira
 

Mais procurados (20)

Aps lista de exercícios
Aps lista de exercíciosAps lista de exercícios
Aps lista de exercícios
 
Análise Orientada a Objetos com UML
Análise Orientada a Objetos com UMLAnálise Orientada a Objetos com UML
Análise Orientada a Objetos com UML
 
Analisis y Diseños de Sistemas 2-Metodologia OOSE
Analisis y Diseños de Sistemas 2-Metodologia OOSEAnalisis y Diseños de Sistemas 2-Metodologia OOSE
Analisis y Diseños de Sistemas 2-Metodologia OOSE
 
Projeto Informacional
Projeto InformacionalProjeto Informacional
Projeto Informacional
 
Metodologia orientada a objetos
Metodologia orientada a objetosMetodologia orientada a objetos
Metodologia orientada a objetos
 
Apresentando ferramentas CASE
Apresentando ferramentas CASEApresentando ferramentas CASE
Apresentando ferramentas CASE
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
UML
UMLUML
UML
 
Diseño orientado a objeto
Diseño orientado a objetoDiseño orientado a objeto
Diseño orientado a objeto
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de Software
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Unidad 1 requerimientos del software
Unidad 1 requerimientos del softwareUnidad 1 requerimientos del software
Unidad 1 requerimientos del software
 
Aula 7 - Modelagem de Software
Aula 7 - Modelagem de SoftwareAula 7 - Modelagem de Software
Aula 7 - Modelagem de Software
 
Diagrama de Casos de Uso
Diagrama de Casos de UsoDiagrama de Casos de Uso
Diagrama de Casos de Uso
 
Aula diagrama de classes
Aula diagrama de classesAula diagrama de classes
Aula diagrama de classes
 
Gestão da Tecnologia da Informação - Atividade: Governança de TI
Gestão da Tecnologia da Informação - Atividade: Governança de TIGestão da Tecnologia da Informação - Atividade: Governança de TI
Gestão da Tecnologia da Informação - Atividade: Governança de TI
 
Segurança em Banco de Dados
Segurança em Banco de DadosSegurança em Banco de Dados
Segurança em Banco de Dados
 
Software architecture patterns
Software architecture patternsSoftware architecture patterns
Software architecture patterns
 
Uml - Caso práctico
Uml - Caso prácticoUml - Caso práctico
Uml - Caso práctico
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 

Destaque

Análise Orientada a Objetos - Objetos E Classes
Análise Orientada a Objetos  -   Objetos E ClassesAnálise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos - Objetos E ClassesCursoSENAC
 
Apostila php orientado a objetos
Apostila php   orientado a objetosApostila php   orientado a objetos
Apostila php orientado a objetosFabiano Rodrigues
 
Análise e Projeto Orientado a Objetos
Análise e Projeto Orientado a ObjetosAnálise e Projeto Orientado a Objetos
Análise e Projeto Orientado a ObjetosSaulo Arruda
 
Cherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações webCherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações webAlvaro Oliveira
 
Portfolio Grupo 4 ADS Unopar Desafios1-2-3-4
Portfolio Grupo 4 ADS Unopar Desafios1-2-3-4Portfolio Grupo 4 ADS Unopar Desafios1-2-3-4
Portfolio Grupo 4 ADS Unopar Desafios1-2-3-4Adilson Nascimento
 
Programação Orientada a objetos em Java
Programação Orientada a objetos em JavaProgramação Orientada a objetos em Java
Programação Orientada a objetos em JavaDenis L Presciliano
 
3ª prova pós web 1ª chamada
3ª prova pós web 1ª chamada3ª prova pós web 1ª chamada
3ª prova pós web 1ª chamadaAlexandre Ernesto
 
Introdução à Lógica de Programação
Introdução à Lógica de ProgramaçãoIntrodução à Lógica de Programação
Introdução à Lógica de ProgramaçãoAndré Agostinho
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Daniel Brandão
 

Destaque (11)

Análise Orientada a Objetos - Objetos E Classes
Análise Orientada a Objetos  -   Objetos E ClassesAnálise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos - Objetos E Classes
 
Apostila php orientado a objetos
Apostila php   orientado a objetosApostila php   orientado a objetos
Apostila php orientado a objetos
 
Análise e Projeto Orientado a Objetos
Análise e Projeto Orientado a ObjetosAnálise e Projeto Orientado a Objetos
Análise e Projeto Orientado a Objetos
 
Uml ppoint
Uml ppointUml ppoint
Uml ppoint
 
Cherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações webCherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações web
 
Portfolio Grupo 4 ADS Unopar Desafios1-2-3-4
Portfolio Grupo 4 ADS Unopar Desafios1-2-3-4Portfolio Grupo 4 ADS Unopar Desafios1-2-3-4
Portfolio Grupo 4 ADS Unopar Desafios1-2-3-4
 
Programação Orientada a objetos em Java
Programação Orientada a objetos em JavaProgramação Orientada a objetos em Java
Programação Orientada a objetos em Java
 
3ª prova pós web 1ª chamada
3ª prova pós web 1ª chamada3ª prova pós web 1ª chamada
3ª prova pós web 1ª chamada
 
Introdução à Lógica de Programação
Introdução à Lógica de ProgramaçãoIntrodução à Lógica de Programação
Introdução à Lógica de Programação
 
UML
UMLUML
UML
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 

Semelhante a APOO - Análise e Projeto de Sistemas Orientados a Objetos

3.1 orientação objetos
3.1  orientação objetos3.1  orientação objetos
3.1 orientação objetosFrank Coelho
 
Intro oca,ocp 6 & 7, oo basics
Intro   oca,ocp 6 & 7, oo basicsIntro   oca,ocp 6 & 7, oo basics
Intro oca,ocp 6 & 7, oo basicsJuarez Junior
 
Metodologia orientado a objetos
Metodologia orientado a objetosMetodologia orientado a objetos
Metodologia orientado a objetosGabriel Faustino
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Luis Ferreira
 
2.1 introdução a oo
2.1 introdução a oo2.1 introdução a oo
2.1 introdução a ooPAULO Moreira
 
Bancos de Dados Orientados a Objetos
Bancos de Dados Orientados a ObjetosBancos de Dados Orientados a Objetos
Bancos de Dados Orientados a ObjetosGlaucio Scheibel
 
Apresentação Banco de Dados - Caché
Apresentação Banco de Dados - CachéApresentação Banco de Dados - Caché
Apresentação Banco de Dados - CachéRenzo Petri
 
Modelo orientado a objetos
Modelo orientado a objetosModelo orientado a objetos
Modelo orientado a objetosDaiana de Ávila
 
3 oo-concepts
3 oo-concepts3 oo-concepts
3 oo-conceptsjorge600
 
Minicurso de Lógica e Linguagem Java 6.0
Minicurso de Lógica e Linguagem Java 6.0Minicurso de Lógica e Linguagem Java 6.0
Minicurso de Lógica e Linguagem Java 6.0Thiago Dieb
 
Linguagem de programação introdução v1
Linguagem de programação   introdução v1Linguagem de programação   introdução v1
Linguagem de programação introdução v1Carlos Melo
 
Usabilidade aula-03. Processos: Arquitetura de informação
Usabilidade aula-03. Processos: Arquitetura de informaçãoUsabilidade aula-03. Processos: Arquitetura de informação
Usabilidade aula-03. Processos: Arquitetura de informaçãoAlan Vasconcelos
 

Semelhante a APOO - Análise e Projeto de Sistemas Orientados a Objetos (20)

00 apresentacao
00   apresentacao00   apresentacao
00 apresentacao
 
Aula01-IntroducaoOO.pptx
Aula01-IntroducaoOO.pptxAula01-IntroducaoOO.pptx
Aula01-IntroducaoOO.pptx
 
3.1 orientação objetos
3.1  orientação objetos3.1  orientação objetos
3.1 orientação objetos
 
UML - parte 1
UML - parte 1UML - parte 1
UML - parte 1
 
02_revisao_OO.pdf
02_revisao_OO.pdf02_revisao_OO.pdf
02_revisao_OO.pdf
 
Intro oca,ocp 6 & 7, oo basics
Intro   oca,ocp 6 & 7, oo basicsIntro   oca,ocp 6 & 7, oo basics
Intro oca,ocp 6 & 7, oo basics
 
Metodologia orientado a objetos
Metodologia orientado a objetosMetodologia orientado a objetos
Metodologia orientado a objetos
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos
 
2.1 introdução a oo
2.1 introdução a oo2.1 introdução a oo
2.1 introdução a oo
 
3 oo-concepts
3 oo-concepts3 oo-concepts
3 oo-concepts
 
Aula 01 introdução aoo
Aula 01   introdução aooAula 01   introdução aoo
Aula 01 introdução aoo
 
Bancos de Dados Orientados a Objetos
Bancos de Dados Orientados a ObjetosBancos de Dados Orientados a Objetos
Bancos de Dados Orientados a Objetos
 
Análise e Modelagem com UML
Análise e Modelagem com UMLAnálise e Modelagem com UML
Análise e Modelagem com UML
 
Apresentação Banco de Dados - Caché
Apresentação Banco de Dados - CachéApresentação Banco de Dados - Caché
Apresentação Banco de Dados - Caché
 
Modelo orientado a objetos
Modelo orientado a objetosModelo orientado a objetos
Modelo orientado a objetos
 
3 oo-concepts
3 oo-concepts3 oo-concepts
3 oo-concepts
 
Aula4 TEES UFS: Orientação a Objetos
Aula4 TEES UFS: Orientação a ObjetosAula4 TEES UFS: Orientação a Objetos
Aula4 TEES UFS: Orientação a Objetos
 
Minicurso de Lógica e Linguagem Java 6.0
Minicurso de Lógica e Linguagem Java 6.0Minicurso de Lógica e Linguagem Java 6.0
Minicurso de Lógica e Linguagem Java 6.0
 
Linguagem de programação introdução v1
Linguagem de programação   introdução v1Linguagem de programação   introdução v1
Linguagem de programação introdução v1
 
Usabilidade aula-03. Processos: Arquitetura de informação
Usabilidade aula-03. Processos: Arquitetura de informaçãoUsabilidade aula-03. Processos: Arquitetura de informação
Usabilidade aula-03. Processos: Arquitetura de informação
 

Mais de Sliedesharessbarbosa

Mais de Sliedesharessbarbosa (6)

Apostila html,xhtml e css
Apostila html,xhtml e cssApostila html,xhtml e css
Apostila html,xhtml e css
 
Java e net beans
Java e net beans Java e net beans
Java e net beans
 
Apostila java completo
Apostila java completoApostila java completo
Apostila java completo
 
Construindo aplicações web java com netbeans
Construindo aplicações web java com netbeansConstruindo aplicações web java com netbeans
Construindo aplicações web java com netbeans
 
Construindo aplicações com netbeans
Construindo aplicações com netbeansConstruindo aplicações com netbeans
Construindo aplicações com netbeans
 
JasperReports Tecnicas de geracao_de_relatorios1
JasperReports  Tecnicas de geracao_de_relatorios1JasperReports  Tecnicas de geracao_de_relatorios1
JasperReports Tecnicas de geracao_de_relatorios1
 

Último

Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasRosalina Simão Nunes
 
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaAula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaaulasgege
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfcartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfIedaGoethe
 
Aula 1, 2 Bacterias Características e Morfologia.pptx
Aula 1, 2  Bacterias Características e Morfologia.pptxAula 1, 2  Bacterias Características e Morfologia.pptx
Aula 1, 2 Bacterias Características e Morfologia.pptxpamelacastro71
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxLuizHenriquedeAlmeid6
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBAline Santana
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinhaMary Alvarenga
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADOcarolinacespedes23
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
A experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxA experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxfabiolalopesmartins1
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISVitor Vieira Vasconcelos
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 

Último (20)

Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
 
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaAula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfcartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
 
Aula 1, 2 Bacterias Características e Morfologia.pptx
Aula 1, 2  Bacterias Características e Morfologia.pptxAula 1, 2  Bacterias Características e Morfologia.pptx
Aula 1, 2 Bacterias Características e Morfologia.pptx
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinha
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
A experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxA experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptx
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdf
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGIS
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
 

APOO - Análise e Projeto de Sistemas Orientados a Objetos

  • 1. – APOO – (OOA&D) Análise e Projeto de Sistemas Orientados a Objetos (Object-Oriented Analysis & Design ) Prof. Ricardo Luiz Carga Horária: 32 horas/aula 1 APOO - Análise e Projeto de Sistemas Orientados a Objetos EMENTA • CICLO DE VIDA DE UM SISTEMA • MODELO DE NEGÓCIO • DEFINIÇÃO DOS REQUISITOS • ANÁLISE E PROJETO • O MODELO OBJETO • CONCEITOS DO PARADIGMA OBJETO • UML: TÉCNICAS, MÉTODOS E METODOLOGIAS • FERRAMENTAS DE ANÁLISE: EVOLUÇÃO E ESTADO ATUAL • EXERCÍCIOS DE PRÁTICA UTILIZANDO FERRAMENTAS CASE VOLTADAS PARA A ANÁLISE E PROJETO DE SISTEMAS ORIENTADOS A OBJETOS Prof. Ricardo Luiz 2 APOO - Análise e Projeto de Sistemas Orientados a Objetos BIBLIOGRAFIA • Bibliografia Básica: WAZLAWICK, Raul Sidnei. Análise e projetos de sistemas de informação orientados a objetos. Rio de Janeiro: Elsevier, 2004. BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar. UML: guia do usuário. 2.ed. Rio de Janeiro: Elsevier, 2005. Prof. Ricardo Luiz 3 1
  • 2. APOO - Análise e Projeto de Sistemas Orientados a Objetos BIBLIOGRAFIA • Bibliografia Complementar: LARMAN, Craig. Utilizando UML e padrões: uma introdução à análise e ao projeto orientados a objetos. 2.ed. Porto Alegre: Bookman, 2004. FOWLER, Martin et al. UML essencial. 3.ed. Porto Alegre: Bookman, 2005. KRUCHTEN, Phillippe. Introdução ao RUP: rational unified process. Rio de Janeiro: Ciência Moderna, 2003. CARDOSO, Caíque. UML na prática: do problema ao sistema. Rio de Janeiro: Ciência Moderna, 2003. GUEDES, Gilleanes. UML 2: guia de consulta prática. 2.ed. São Paulo: Novatec, 2005. Prof. Ricardo Luiz 4 APOO - Análise e Projeto de Sistemas Orientados a Objetos LINKS ÚTEIS www.wthreex.com/rup/index.htm www.mundooo.com.br www.aspercom.com.br www.cpgei.cefetpr.br/~stad/Apostila%20de%20UML%20CEF ET.pdf https://jude.change-vision.com/jude- web/product/community.html www.uml.org Prof. Ricardo Luiz 5 APOO - Análise e Projeto de Sistemas Orientados a Objetos PLANO DE AULA • Introdução aos Conceitos da Orientação a Objetos • Os Softwares nos Dias Atuais • Crise do Software • Metodologia RUP • Linguagem de Modelagem UML • Diagramas da UML • Apresentação da Ferramenta CASE : JUDE • Exercícios de Prática Utilizando JUDE Prof. Ricardo Luiz 6 2
  • 3. APOO - Análise e Projeto de Sistemas Orientados a Objetos AVALIAÇÃO • DIVIDIDA EM DUAS PARTES: • PROVA ESCRITA • VALOR: 4,0 PONTOS • DATA DE APLICAÇÃO: 29/08/2006 • TRABALHO PRÁTICO • VALOR: 6,0 PONTOS • DATA DE ENTREGA: 04/09/2006 Prof. Ricardo Luiz 7 APOO - Análise e Projeto de Sistemas Orientados a Objetos TRABALHO PRÁTICO ELABORAR A ANÁLISE E O PROJETO DE UM SOFTWARE EM EQUIPE UTILIZANDO UMA FERRAMENTA CASE, PREVENDO FUNCIONALIDES WEB. • ELEMENTOS DO TRABALHO: • PROPOSTA DE ESPECIFICAÇÃO DE SOFTWARE (CONFORME DOCUMENTO-MODELO!) • 1 DIAGRAMA DE CASO DE USO DE NEGÓCIO • 1 DIAGRAMA DE CASO DE USO • OS CASOS DE USO MANTER, CONSULTAR e EMITIR RELATÓRIOS DEVEM SER TODOS PREVISTOS! • 1 ESPECIFICAÇÃO DO CASO DE USO(PRINCIPAL) (CONFORME DOCUMENTO-MODELO!) • ELEMENTOS: ATOR(ES) ; FLUXOS PRINCIPAL, ALTERNATIVOS E DE EXCEÇÕES; PRÉ-CONDIÇOES E PÓS-CONDIÇÕES; LISTA DAS CLASSES ENVOLVIDAS; REFERÊNCIAS AOS CASOS DE USOS RELACIONADOS. • 1 DIAGRAMA DE CLASSES 8 APOO - Análise e Projeto de Sistemas Orientados a Objetos OO - PARADIGMA ORIENTADO A OBJETOS Prof. Ricardo Luiz 9 3
  • 4. APOO - Análise e Projeto de Sistemas Orientados a Objetos OO - PARADIGMA ORIENTADO A OBJETOS CONTEXTO Solucionar problemas existentes no desenvolvimento de Softwares Complexos com baixo custo de desenvolvimento e manutenção Mundo Real é formado por objetos que se interagem Representar esses objetos em um software é mais natural e permanente do que representar a sua funcionalidade (decomposição funcional), pois essa é mutável Prof. Ricardo Luiz 10 APOO - Análise e Projeto de Sistemas Orientados a Objetos OO - PARADIGMA ORIENTADO A OBJETOS PARADIGMA TRADICIONAL X OO Procedure Dados Dados X Métodos Métodos Procedure Dados Y Dados Procedure Z Métodos Objeto Prof. Ricardo Luiz 11 APOO - Análise e Projeto de Sistemas Orientados a Objetos OO - CONCEITOS OBJETO Definição Qualquer coisa, real ou abstrata, a respeito da qual armazenamos dados e métodos que os manipulam Exemplo: cachorro Bilu, casa do Ricardo, carro da Ana, etc. Atributos(c/valores): Métodos: •Placa = LVY-1234 •Ligar o Motor() •Proprietário = João •Andar() •Cor = Vermelha •Freiar() •Ano = 2002 •Desligar o Motor() • ... • ... Prof. Ricardo Luiz 12 4
  • 5. APOO - Análise e Projeto de Sistemas Orientados a Objetos OO - CONCEITOS CLASSE Definição Abstração de um conjunto de objetos similares do mundo real Exemplo: cachorro, casa, carro, etc. Atributos(s/valores): Operações: •Placa •Ligar o Motor() •Proprietário •Andar() •Cor •Freiar() •Ano •Desligar o Motor() • ... • ... Prof. Ricardo Luiz 13 APOO - Análise e Projeto de Sistemas Orientados a Objetos OO - CONCEITOS RELAÇÃO CLASSE x OBJETO Todo objeto é uma instância de uma Classe Todas as instâncias de uma classe têm valores próprios para os atributos especificados na classe Os objetos representados por determinada classe diferenciam-se entre si pelos valores de seus atributos Prof. Ricardo Luiz 14 APOO - Análise e Projeto de Sistemas Orientados a Objetos OO - CONCEITOS RELAÇÃO CLASSE x OBJETO CLASSE Livro OBJETOS Bíblia Relatório Dicionário Prof. Ricardo Luiz 15 5
  • 6. APOO - Análise e Projeto de Sistemas Orientados a Objetos OO - CONCEITOS RELAÇÃO CLASSE x OBJETO CLASSE CASA Nome Portas Quartos Salas Localização Atributos Cozinha Telhado Reformar Pintar Limpar Mobiliar Operações OBJETOS Prof. Ricardo Luiz 16 APOO - Análise e Projeto de Sistemas Orientados a Objetos OO - CONCEITOS RELAÇÃO CLASSE x OBJETO Prof. Ricardo Luiz 17 APOO - Análise e Projeto de Sistemas Orientados a Objetos OO - CONCEITOS HERANÇA Definição Mecanismo que permite definir uma nova classe (subclasse) a partir de uma classe já existente (superclasse) Comportamento Ao se estabelecer uma Especialização (subclasse) de uma classe, a subclasse herda as características comuns da superclasse A subclasse pode adicionar novos atributos e métodos, como também reescrever métodos herdados Tipos: Herança Simples: uma classe é subclasse de somente uma superclasse Herança Múltipla: uma classe é subclasse de várias superclasses 18 Prof. Ricardo Luiz 6
  • 7. Generalização (Superclasse) Portas Quartos Reformar Pintar Salas Localização Limpar Mobiliar Cozinha Telhado CASA PRAIA FAVELA MANSÃO Limpar Piscina Contratar Criadagem (Subclasses) Piscina Quadras Especialização 19 Animal superclasse Selvagem Doméstico subclasses Hierarquia de Classes Gato Cão De Raça Vira-Lata Objeto Rex Rex instância da classe Vira-Lata 20 Veículo Hierarquia de Classes Véiculo de Veículo à Veículo Rodas Motor Aéreo Bicicleta Caminhão Vapor Avião Planador Caminhão Caminhão Caminhão VW Ford GM 21 7
  • 8. Hierarquia de Classes Ex: Sistema de Administração Universitária Nome, Data de Nasc. RG Nascer, Comer, Dormir, Morrer Pessoa RG (registro) Cursar Estudante Docente Funcionário Graduação Pós-Graduação Herança Múltipla Assistente 22 APOO - Análise e Projeto de Sistemas Orientados a Objetos OO - CONCEITOS ENCAPSULAMENTO DE DADOS Definição Os DADOS e os MÉTODOS são empacotados sob um NOME e podem ser reusados como uma especificação ou componente de programa Os atributos de um objeto só podem ser manipulados pelos próprios métodos do objeto Vantagens Nome CASA Segurança de acesso Portas Quartos aos dados de um objeto Facilita o reuso de código Atributos Salas Localização Cozinha Telhado Reformar Pintar Métodos Limpar Mobiliar 23 Prof. Ricardo Luiz APOO - Análise e Projeto de Sistemas Orientados a Objetos OO - CONCEITOS POLIMORFISMO (VÁRIAS FORMAS) Definição Capacidade de uma mensagem(mecanismo de comunicação entre os objetos) ser executada de acordo com as características do objeto que está recebendo o pedido de execução do serviço (Superclasse) FIGURA DESENHAR( ) Operação - Definição do Método (Subclasses) CÍRCULO QUADRADO TRIÂNGULO Implementações do Método DESENHAR( ) DESENHAR( ) DESENHAR( ) 24 Prof. Ricardo Luiz 8
  • 9. APOO - Análise e Projeto de Sistemas Orientados a Objetos Prof. Ricardo Luiz 25 APOO - Análise e Projeto de Sistemas Orientados a Objetos O SOFTWARE NOS DIAS ATUAIS • COMBUSTÍVEL DOS NEGÓCIOS MODERNOS • AJUDA A CRIAR, ACESSAR E VISUALIZAR A INFORMAÇÃO DE FORMAS ANTERIORMENTE INCONCEBÍVEIS • BOA NOTÍCIA: A ECONOMIA MUNDIAL DEPENDE CADA VEZ MAIS DO SOFTWARE • MÁ NOTÍCIA: OS SISTEMAS CRESCEM EM TAMANHO, COMPLEXIDADE, DISTRIBUIÇÃO E IMPORTÂNCIA MAIS RÁPIDOS QUE O APRENDIZADO DE DESENVOLVIMENTO Prof. Ricardo Luiz 26 APOO - Análise e Projeto de Sistemas Orientados a Objetos Prof. Ricardo Luiz 27 9
  • 10. APOO - Análise e Projeto de Sistemas Orientados a Objetos A CRISE DO SOFTWARE Razões para a Crise do Software Estimativas de calendário e custos pouco precisos Produtividade mal controlada Qualidade baixa Dificuldade de manutenção Prof. Ricardo Luiz 28 APOO - Análise e Projeto de Sistemas Orientados a Objetos A CRISE DO SOFTWARE Causas da Crise Natureza lógica e não física Proveniente de trabalho de equipe Ineficiente definição do que o usuário pretende Deficiente formação dos técnicos envolvidos Prof. Ricardo Luiz 29 APOO - Análise e Projeto de Sistemas Orientados a Objetos OS MITOS DO SOFTWARE Dos Gestores Possuímos normas, então está tudo controlado Dos Usuários Basta definir em geral Dos Analistas e Programadores Quando um programa funciona, então está pronto Prof. Ricardo Luiz 30 10
  • 11. APOO - Análise e Projeto de Sistemas Orientados a Objetos CRISE DO SOFTWARE Conseqüências Prazos de desenvolvimento não são cumpridos 31% dos projetos de software não terminam 53% custam 200% do valor original estimado Empresas e governo americanos gastaram em 1995, U$ 81 bi em projetos de software que foram cancelados FASES CUSTO DE MANUTENÇÃO DEFINIÇÃO 1x DESENVOLVIMENTO 1.5 - 6x MANUTENÇÃO 60 - 100x Prof. Ricardo Luiz 31 APOO - Análise e Projeto de Sistemas Orientados a Objetos SOLUÇÃO PARA A CRISE DO SOFTWARE Adoção de uma Metodologia de Desenvolvimento de Software Rational Unified Process (Processo Unificado da Rational* Software Corporation) Empresa fundada em 1981 pelos autores da UML Grady BOOCH, James RUMBAUGH, Ivar JACOBSON * Metodologia adquirida pela IBM em 2003. Agora IBM Rational Prof. Ricardo Luiz 32 APOO - Análise e Projeto de Sistemas Orientados a Objetos METODOLOGIA RUP Práticas adotadas Desenvolver o software iterativamente Gerenciar os requisitos Usar arquiteturas baseadas em componentes Modelar visualmente o software Verificar continuamente a qualidade do software Controlar mudanças do software Prof. Ricardo Luiz 33 11
  • 12. APOO - Análise e Projeto de Sistemas Orientados a Objetos RUP – PRÁTICAS ADOTADAS 1 - Desenvolver o software iterativamente Baseado no Ciclo de Vida Iterativo e Incremental Foco da iteração depende da Fase 34 APOO - Análise e Projeto de Sistemas Orientados a Objetos REVISÃO DOS CICLOS DE VIDA Ciclo de Vida em Cascata (Clássico) Levantamento de Projetos reais Requisitos raramente Análise de seguem o fluxo Requisitos seqüencial que Projeto o modelo propõe Codificação O cliente deve ter Testes paciência. Uma Implantação versão executável do software só fica Manutenção disponível numa etapa avançada do desenvolvimento Prof. Ricardo Luiz 35 APOO - Análise e Projeto de Sistemas Orientados a Objetos RUP – PRÁTICAS ADOTADAS 2 - Gerenciar os requisitos Requisito : "uma condição ou capacidade na qual o sistema deve estar em conformidade". Atividades a serem desempenhadas Analisar o problema Entender a necessidade do usuário Definir o sistema Gerenciar o escopo do projeto Refinar a definição do sistema Gerenciar as mudanças nos requisitos Desenvolvimento por Casos de Uso(UML) Prof. Ricardo Luiz 36 12
  • 13. APOO - Análise e Projeto de Sistemas Orientados a Objetos RUP – PRÁTICAS ADOTADAS 3 - Usar arquiteturas baseadas em componentes Componentes - grupos de código coesos e com interfaces bem definidas que encapsulam seus conteúdos Vantagens Arquiteturais Ter o controle intelectual do projeto Reuso em larga escala Base para o gerenciamento de projetos Prof. Ricardo Luiz 37 APOO - Análise e Projeto de Sistemas Orientados a Objetos RUP – PRÁTICAS ADOTADAS 4 - Modelar visualmente o software Uso de componentes semânticos (gráficos e textos) para capturar a complexidade do sistema. Linguagem utilizada: UML Prof. Ricardo Luiz 38 APOO - Análise e Projeto de Sistemas Orientados a Objetos RUP – PRÁTICAS ADOTADAS 5 - Verificar continuamente a qualidade do software Qualidade dos artefatos bem como das atividades que os produzem Qualidade de Produto Qualidade de Processo Medindo a Qualidade Avaliando a Qualidade Prof. Ricardo Luiz 39 13
  • 14. APOO - Análise e Projeto de Sistemas Orientados a Objetos RUP – PRÁTICAS ADOTADAS 6 - Controlar mudanças do software Coordenar atividades e artefatos Coordenar alterações e releases Prof. Ricardo Luiz 40 APOO - Análise e Projeto de Sistemas Orientados a Objetos Unified Modeling Language (Linguagem de Modelagem Unificada) Padronizada pela OMG* - Object Management Group * OMG – Organismo Internacional Não-Lucrativo da Indústria de Computadores aberto a novos membros Prof. Ricardo Luiz 41 APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – Unified Modeling Language Importância da Modelagem (Criar Modelos) Um modelo é uma simplificação da realidade. A modelagem é uma técnica de engenharia aprovada e bem aceita Prof. Ricardo Luiz 42 14
  • 15. APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – Unified Modeling Language Importância da Modelagem (Criar Modelos) Criamos modelos para compreender melhor o que queremos construir MODELO OBJETO REAL Prof. Ricardo Luiz 43 APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – Unified Modeling Language O que é ? Linguagem de modelagem unificada utilizada para visualizar, especificar, construir e documentar sistemas Orientados a Objetos. Prof. Ricardo Luiz 44 APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – Unified Modeling Language Características Visualizar Ferramenta gráfica que facilita o entendimento do projeto Afinal : “Uma imagem vale mais do que mil palavras” Especificar Ajuda a construir modelos mais precisos Construir Seus modelos podem ser diretamente conectados a linguagens de programação Documentar Documenta-se a arquitetura do sistema e seus detalhes Prof. Ricardo Luiz 45 15
  • 16. APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – Unified Modeling Language Principais Autores Grady BOOCH James RUMBAUGH Ivar JACOBSON Prof. Ricardo Luiz 46 APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – Unified Modeling Language BOOCH RUMBAUGH JACOBSON OMT - Object Modeling Technique OOSE -Object Oriented Software Engineering Prof. Ricardo Luiz 47 APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – Unified Modeling Language Histórico da UML Prof. Ricardo Luiz 48 16
  • 17. APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – Unified Modeling Language Blocos de Construção da UML O vocabulário da UML abrange três tipos de Blocos de construção: 1. Itens 2. Relacionamentos 3. Diagramas Prof. Ricardo Luiz 49 APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – Unified Modeling Language Blocos de Construção da UML 1. Itens Estruturais Comportamentais Agrupamento Anotacionais 2. Relacionamentos Dependência Associação Generalização Realização Prof. Ricardo Luiz 50 APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – Unified Modeling Language Blocos de Construção da UML 3. Diagramas (9 – vs. 1.4 / 13 vs. 2.0) Diagramas Estruturais Diagramas Dinâmicos Classes Casos de Uso Objetos Atividades Componentes Estados Implantação Diagramas de Interação Pacotes* Seqüências Estruturas Compostas* Visão Geral* Temporal* Comunicação*(Colaboração) * Novos Diagramas da UML 2.0 Prof. Ricardo Luiz 51 17
  • 18. APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – BLOCOS DE CONSTRUÇÃO Itens Estruturais Partes mais estáticas do modelo, representam os elementos conceituais ou físicos Existem 7 tipos de itens estruturais Prof. Ricardo Luiz 52 APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – BLOCOS DE CONSTRUÇÃO Itens Estruturais (7) 1. Classes: São descrições como conjunto de objetos Graficamente: 2. Interface: Coleção de operações que especificam serviços de uma classe Graficamente: 3. Colaborações: Definem interações Graficamente: 4. Caso de uso: É a descrição de um conjunto de ações Graficamente: Prof. Ricardo Luiz 53 APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – BLOCOS DE CONSTRUÇÃO Itens Estruturais (7) 5. Classes ativas: São classes cujos objetos têm um ou mais processos e, portanto, podem iniciar atividade de controle Graficamente: 6. Componentes: São partes físicas e substituíveis de um sistema Graficamente: 7. Nó: Elemento físico existente em tempo de execução Graficamente: Prof. Ricardo Luiz 54 18
  • 19. APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – BLOCOS DE CONSTRUÇÃO Itens Comportamentais (2) 1. Interação: Abrange um conjunto de mensagens trocadas entre um conjunto de objetos. Graficamente: exibir 2. Máquina de estado: Especifica as seqüências de estados pelas quais os objetos ou interações passam . Graficamente: Prof. Ricardo Luiz 55 APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – BLOCOS DE CONSTRUÇÃO Item de Agrupamento (1) 1. Pacote: Organização de elementos em grupos Graficamente: Item Anotacional (1) 1. Nota: Símbolo para representar restrições e comentários anexados a um elemento Graficamente: Prof. Ricardo Luiz 56 APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – BLOCOS DE CONSTRUÇÃO Relacionamentos (4) 1. Dependência: Relacionamento semântico entre dois itens. Graficamente 2. Associação: Relacionamento estrutural que descreve um conjunto de ligações. Graficamente ASSOCIAÇÃO AGREGAÇÃO COMPOSIÇÃO 3. Generalização: Relacionamento de especialização/generalização. Graficamente 4. Realização: Relacionamento semântico entre classificadores. Graficamente Prof. Ricardo Luiz 57 19
  • 20. APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – BLOCOS DE CONSTRUÇÃO Diagramas •O uso de diagramas permite a visualização de um sistema de vários pontos de vista •Um diagrama é a representação gráfica de um conjunto de elementos (Blocos de Construção) •A UML permite combinar tipos diferentes de diagramas para focalizar diferentes aspectos de um sistema, podendo ser criados novos tipos Prof. Ricardo Luiz 58 APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – DIAGRAMAS Apresentação Rápida 1. Diagrama de Casos de Uso Prof. Ricardo Luiz 59 APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – ALGUNS DIAGRAMAS Apresentação Rápida 2. Diagrama de Atividades Prof. Ricardo Luiz 60 20
  • 21. APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – ALGUNS DIAGRAMAS Apresentação Rápida 3. Diagrama de Seqüências Prof. Ricardo Luiz 61 APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – ALGUNS DIAGRAMAS Apresentação Rápida 4. Diagrama de Comunicação(antigo Colaboração) Prof. Ricardo Luiz 62 APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – ALGUNS DIAGRAMAS Apresentação Rápida 5. Diagrama de Classes Prof. Ricardo Luiz 63 21
  • 22. APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – ALGUNS DIAGRAMAS Apresentação Rápida 6. Diagrama de Objetos Prof. Ricardo Luiz 64 APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – ALGUNS DIAGRAMAS Apresentação Rápida 7. Diagrama de Estados Prof. Ricardo Luiz 65 APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – ALGUNS DIAGRAMAS Apresentação Rápida 8. Diagrama de Pacotes Prof. Ricardo Luiz 66 22
  • 23. APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – ALGUNS DIAGRAMAS Apresentação Rápida 9. Diagrama de Componentes Prof. Ricardo Luiz 67 APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – ALGUNS DIAGRAMAS Apresentação Rápida 10. Diagrama de Implantação comunicação dependência nó Prof. Ricardo Luiz 68 APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – ALGUNS DIAGRAMAS Apresentação Rápida 11. Diagrama Temporal Prof. Ricardo Luiz 69 23
  • 24. APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – ALGUNS DIAGRAMAS Apresentação Rápida 12. Diagrama de Estruturas Compostas Prof. Ricardo Luiz 70 APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – ALGUNS DIAGRAMAS Apresentação Rápida 13. Diagrama de Visão Geral Prof. Ricardo Luiz 71 APOO - Análise e Projeto de Sistemas Orientados a Objetos UML – DIAGRAMAS Principais Diagramas 1. Diagrama de Casos de Uso 2. Diagrama de Classes Prof. Ricardo Luiz 72 24
  • 25. APOO - Análise e Projeto de Sistemas Orientados a Objetos CARACTERÍSTICAS DOS DIAGRAMAS 1. Diagrama de Casos de Uso Exibe um conjunto de casos de uso, atores e seus relacionamentos Prof. Ricardo Luiz 73 APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CASOS DE USO Elementos Ator Caso de Uso Relacionamento Prof. Ricardo Luiz 74 APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CASOS DE USO Ator Necessariamente usuário do sistema Entidade externa(pessoas, órgãos, equipamentos ou outros sistemas) que interage diretamente com o sistema para conseguir um objetivo desejado Pode existir o relacionamento de herança entre atores Nome do Ator (Substantivo) Prof. Ricardo Luiz 75 25
  • 26. APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CASOS DE USO Ator Exemplos: pessoa órgão equipamento sistema Cliente Prefeitura Leitora de CEP dos Correios Gabaritos Web Prof. Ricardo Luiz 76 APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CASOS DE USO Ator Exemplos de Relacionamento(Herança): Cliente Médico Cliente Caixa Cliente WEB Oftalmologista Cardiologista Eletrônico Prof. Ricardo Luiz 77 APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CASOS DE USO Caso de Uso Conjunto de seqüências possíveis das interações entre o sistema e seus atores externos, relacionadas a um determinado objetivo Na prática, é que o acontece quando o ator interage com o sistema Podem existir os relacionamentos de Herança ou Dependência entre Casos de Uso Nome do Caso de Uso(Ação) Prof. Ricardo Luiz 78 26
  • 27. APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CASOS DE USO Caso de Uso Exemplos: Cadastrar Pacientes Efetuar Login Realizar Pedido Emitir Relatório de Vendas Prof. Ricardo Luiz 79 APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CASOS DE USO Caso de Uso Relacionamentos: Herança A B Dependência Inclusão (Include) <<include>> A B Extensão (Extend) <<extend>> A B Prof. Ricardo Luiz 80 APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CASOS DE USO Caso de Uso Exemplos de Relacionamento(Herança): Cadastrar Cadastrar Pessoa Funcionário Cadastrar Cadastrar Cadastrar Cadastrar Pessoa Física Pessoa Jurídica Funcionário Funcionário Público Terceirizado Prof. Ricardo Luiz 81 27
  • 28. APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CASOS DE USO Caso de Uso Exemplos de Relacionamento(Dependência): Inclusão(Include) Extensão(Extend) <<include>> <<extend>> Consultar SPC Pesquisar Produto <<extend>> Cadastrar <<include>> Cliente Consultar Realizar Venda Imprimir Orçamento SERASA USA PODERÁ USAR Prof. Ricardo Luiz 82 APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CASOS DE USO Relacionamento (Ator e Caso de Uso) Chamado de Associação (de Comunicação) Uma associação pode ser em: ambas as direções (sem navegabilidade) uma direção (com navegabilidade), indicando o sentido da comunicação Cadastrar Registrar Cliente Notas Secretária Professor Aluno Prof. Ricardo Luiz 83 APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CASOS DE USO Exemplo 1: Biblioteca WEB Prof. Ricardo Luiz 84 28
  • 29. APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CASOS DE USO Exemplo 2: Sistema Bancário WEB Prof. Ricardo Luiz 85 APOO - Análise e Projeto de Sistemas Orientados a Objetos CARACTERÍSTICAS DOS DIAGRAMAS 2. Diagrama de Classes (de Entidade) Apresenta as classes e os relacionamentos entre elas Elementos Classe Relacionamento Prof. Ricardo Luiz 86 APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Estereótipos de Classes Classe Fronteira (<<boundary>>) Modelam as interfaces entre sistema e atores Classe de Controle (<<control>>) Controlam o fluxo operacional do programa Classe de Entidade (<<entity>>) Modelam entidades do mundo real. Criam objetos que gerenciam dados. Prof. Ricardo Luiz 87 29
  • 30. APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Diagrama de Classes com Estereótipos Prof. Ricardo Luiz 88 APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Principais Tipos de Relacionamento Associação Significa que há uma ligação entre os objetos das classes associadas Uma associação entre Cliente e Conta Corrente significa que os objetos da classe Cliente estão conectados aos objetos da classe Conta Corrente São representados por linhas ligando as classes Prof. Ricardo Luiz 89 APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Principais Tipos de Relacionamento Associação (Continuação) Multiplicidade Representa a cardinalidade das associações em um diagrama de classes Especifica quantas instâncias de uma classe podem participar da associação Prof. Ricardo Luiz 90 30
  • 31. APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Principais Tipos de Relacionamento Associação (Continuação) Multiplicidade Exemplos: Classe Associativa Prof. Ricardo Luiz 91 APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Principais Tipos de Relacionamento Associação (Continuação) Classe Associativa Representa a associação entre classes Ocorre geralmente quando: a Multiplicidade entre as classes é maior que 1 em ambos os lados existem atributos surgidos a partir da associação Classe Associativa Prof. Ricardo Luiz 92 APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Principais Tipos de Relacionamento Agregação É um relacionamento entre o todo e suas partes Um pequeno losango em branco é desenhado ao lado da classe que representa o todo Há uma certa subordinação entre as classes Relacionamento por referência O Todo “Nasce” SEM as Partes! Prof. Ricardo Luiz 93 31
  • 32. APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Principais Tipos de Relacionamento Composição É um relacionamento entre o todo e suas partes Um pequeno losango preto é desenhado ao lado da classe que representa o todo Relacionamento por valor O Todo “Nasce” COM as Partes! Prof. Ricardo Luiz 94 APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Principais Tipos de Relacionamento Generalização Conhecido também como Herança refere-se a 1 Prof. Ricardo Luiz 95 APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Papéis nas Associações A extremidade de uma associação, na conexão com a classe, é denominada : “o papel que a classe desempenha na associação” Prof. Ricardo Luiz 96 32
  • 33. APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Navegabilidade nas Associações Unidirecional Apenas uma classe conhece a outra Cliente não tem Pedido tem a responsabilidade de responsabilidade de identificar seus pedidos identificar seu Cliente Bidirecional As duas classes se “conhecem” /* em JAVA -------- /* em JAVA -------- Class Cliente { Class Pedido { Private set peds Private Cliente cli Public set ObterPedidos( )} Public Cliente ObterCli ( )} Prof. Ricardo Luiz 97 APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Atributos e Métodos Estereótipo <<entity>> Nome Venda Atributos -data: date -status: Integer -obs: String -valorTotal: Float Métodos +calcImposto() +calcTotal() -calcSubTotal() +setCliente(cliente: Cliente) +inserirItem(item: ItemVenda) Prof. Ricardo Luiz 98 APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Visibilidade Conceito Como uma classe, atributo ou método pode se visto e usado por outros elementos <<entity>> Tipos Venda -data: date Privada (-) -status: Integer -obs: String Protegida (#) -valorTotal: Float de Pacote (~) +calcImposto() +calcTotal() Pública (+) -calcSubTotal() +setCliente(cliente: Cliente) +inserirItem(item: ItemVenda) Prof. Ricardo Luiz 99 33
  • 34. APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Visibilidade dos Atributos e Métodos Privada Somente os objetos da própria classe podem vê-los Símbolo: (-) <<entity>> Venda -data: date -status: Integer Atenção! Regra Geral para Atributos: -obs: String -valorTotal: Float Via de Regra, Todos os Atributos de uma +calcImposto() Classe devem ser Privados !!! +calcTotal() -calcSubTotal() -setCliente(cliente: Cliente) Mas por quê ? -inserirItem(item: ItemVenda) Resposta: Para Manter o Encapsulamento da Classe! Prof. Ricardo Luiz 100 APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Visibilidade dos Atributos e Métodos Protegida Somente os objetos da própria classe e das suas subclasses podem vê-los Símbolo: (#) <<entity>> Venda -data: date -status: Integer -obs: String -valorTotal: Float +calcImposto() +calcTotal() -calcSubTotal() # setCliente(cliente: Cliente) #inserirItem(item: ItemVenda) <<entity>> Venda Consignada Prof. Ricardo Luiz 101 APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Visibilidade dos Atributos e Métodos de Pacote Somente os objetos de classes do mesmo pacote podem vê-los Símbolo: (~) Recursos Humanos Vendas <<entity>> Venda <<entity>> -data: date Cliente -status: Integer -razaoSocial: String -obs: String -cpf: String 1 0..* -valorTotal: Float +getRazaoSocial() +calcImposto() +setRazaoSocial(razaoSocial: String) +calcTotal() -calcSubTotal() ~ setCliente(cliente: Cliente) ~inserirItem(item: ItemVenda) Prof. Ricardo Luiz 102 34
  • 35. APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Visibilidade dos Atributos e Métodos Pública Todos os objetos de qualquer classe podem vê-los Símbolo: (+) Recursos Humanos Vendas <<entity>> Venda <<entity>> -data: date Cliente -status: Integer -razaoSocial: String -obs: String -cpf: String 1 0..* -valorTotal: Float +getRazaoSocial() +calcImposto() +setRazaoSocial(razaoSocial: String) +calcTotal() -calcSubTotal() + setCliente(cliente: Cliente) +inserirItem(item: ItemVenda) Prof. Ricardo Luiz 103 APOO - Análise e Projeto de Sistemas Orientados a Objetos DIAGRAMA DE CLASSES Diagrama de Classes com Atributos e Métodos <<entity>> Venda -data: date <<entity>> -status: Integer Cliente -obs: String <<entity>> -valorTotal: Float Pagamento -razaoSocial: String -cpf: String 0..* +calcImposto() 1 -quantia: Float 1 1..* +getRazaoSocial() +calcTotal() +getQuantia() +setRazaoSocial(razaoSocial: String) -calcSubTotal() +setCliente(cliente: Cliente) +inserirItem(item: ItemVenda) <<boundary>> FormVenda 1 <<entity>> <<entity>> +criarVenda() Cartao Cheque +gravarVenda() 1..* -numero: Integer -banco: Integer -tipo: Integer <<entity>> ItemVenda <<entity>> Produto 1 0..* -qtd: Integer <<entity>> -descricao: String +setQuantidade(qtd: Integer) Dinheiro +setProduto(produto: Produto) Prof. Ricardo Luiz 104 35