SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
Gerenciamento de Projetos OO
          Processo




                               11
Objetivos

w Examinar o ambiente de projeto
w Examinar o processo RUP (Rational Unified Process)
w Ciclo de vida e o paradigma OO
w Gerenciamento dirigido por análise de risco




                                                       22
Ambiente de Desenvolvimento de Software

w Todo projeto tem um ambiente de desenvolvimento
      •   Consiste nas ferramentas ,
      •   Códigos existentes,
      •   Documentos ,
      •   Modelos ,
      •   Procedimentos ,
      •   algum tipo de suporte interno.

w Apresenta algumas virtudes mas também deficiências
      • O ambiente pode ser um fator de sucesso ou de caos.




                                                              33
Características de um bom ambiente
w Processo de                    w Desenvolvimento
  desenvolvimento definido         componentizado
w Capacidade de configuração     w Automação de testes
  do processo para um projeto      funcionais & desempenho
  específico
w Integração entre processo e    w Gerenciamento de projetos
  ferramentas                    w Automação de
w Integração entre ferramentas     documentação
w Gerenciamento de               w Interface com o legado
  configuração                   w Modelagem visual
w Gerenciamento de mudanças
                                 w Linguagem comum: UML
w Gerenciamento de requisitos




                                                               44
O Que é a UML?

w Unified Modeling Language é a linguagem para:
      •   Especificar
      •   Visualizar
      •   Construir
      •   Documentar

  os artefatos de software de um sistema




                                                  55
Contribuições à UML

                          Booch
                  Rumbaugh      Jacobson
                                                                  Fusion
       Meyer
                                                         Operation descriptions,
   Before and after
                                                         Message numbering
      conditions
                                                                   Embley
     Harel
                                                               Singleton classes,
   State charts                                                High-level view

       Gamma, et.al
                                                             Wirfs-Brock
   Frameworks, patterns,
                                                             Responsibilities
         notes          Shlaer - Mellor       Odell

                        Object Lifecycles   Classification




                                                                                    66
História da UML




                  77
A UML Fornece Diagramas e Modelos

                                           State
                                            State
                                            State
                                         Diagrams
                                             State
                                              Class
                                         Diagrams
                                               Class
                                          Diagrams
                          Use Case
                           Use Case        Diagrams
                                            Diagrams
                            Use Case
                            Use Case         Diagrams           State
      Use Case            Diagrams
                             Use Case
                          Diagrams                               State
                                                                 State
       Use Case               Use Case
                           Diagrams
                            Diagrams                              State
                                                              Diagrams
                                                                  Object
                                                              Diagrams
       Use Case
        Use Case
      Diagrams               Diagrams                              Object
                                                               Diagrams
         Activity
      Diagrams
          Activity            Diagrams                          Diagrams
                                                                 Diagrams
       Diagrams
        Diagrams                                                 Diagrams
         Diagrams
         Diagrams


   Scenario
    Scenario                                                    State
                                                                 State
     Scenario
      Scenario
   Diagrams                                                      State
                                                                  State
                                                              Diagrams
      Sequence
   Diagrams
       Sequence
    Diagrams                                                       State
                                                              Diagrams
                                                                    State
                                                               Diagrams
     Diagrams
      Diagrams                      Modelos                     Diagrams
                                                                 Diagrams
       Diagrams                                                  Diagrams


         Scenario                                  Component
                                                    Component
          Scenario
           Scenario                                  Component
                                                    Diagrams
                                                      Component
         Diagrams
            Scenario
          Collaboration
         Diagrams                   Deployment       Diagrams
                                                     Component
                                                     Diagrams
                                                      Component
          Collaboration
          Diagrams
           Diagrams                 Deployment         Diagrams
            Diagrams                 Diagrams           Diagrams
                                                        Diagrams
             Diagrams                Diagrams




                                                                            88
Exemplo de um Diagrama de Classes
           “One Course in the role of
           a pre-requisite is related to
             zero to many Courses.”



                   + Pre-requisite
                                        0..*


                               Course
                                                                  “One Course is related to
                                                                   zero to many Courses
                                                 0..*             playing the role of a pre-
                                                                         requisite.”

                           1


            1..*

         CourseOffering                        IndependentStudy




                                                                                               99
Modelos e Linguagem não são suficientes!




                   Trabalho em Equipe




           Linguagem de            Processo
            Modelagem              Unificado




                                               10
                                                10
O Que é um Processo?

 Um processo define Quem está fazendo O Que,
 Quando e Como para atingir um certo objetivo.
 Na Engenharia de Software o objetivo é construir ou
 melhorar um produto de software.


   Requisitos novos   Processo de Engenharia   Sistema novo
   ou modificados           de Software        ou modificado




                                                               11
                                                                11
Características de um bom processo

         Requisitos novos                Sistema novo
                            Processo
         ou alterados                    ou alterado




w Configurável para diferentes organizações
w Adaptável para diferentes tamanhos e tipos de projeto
    § Mantendo a mesma capacidade de coleta de métricas
w Bem definido, gerenciável e repetível
    § Com nomenclatura universal, heuríscas e métricas para planejamento
      e gerenciamento de projeto
w Integrado com ferramentas que o suportem




                                                                           12
                                                                            12
Contribuições ao Rational Unified Process
SPC / PMI             Rational Unified Process
Project Management                5.5
PMBOK

    Performance                                         Objectory
                      Rational Unified Process          UI design
    testing
                                  5.1
       Business                                       Data Engineering
       Engineering
     Configuration        Rational Objectory             UML 1.1
     & change Mgmt             Process 4.1

  Requirements
     College              Rational Objectory
                               Process 4.0                   SQA
                                                             Process

     OMT,
     Booch     Rational                   Objectory   1995
               Approach     UML 0.8
                                          Process 3.8




                                                                         13
                                                                          13
História do RUP
  Versão         Versão           Versão          Versão          Versão             Versão
    4.0           4.1              5.1              5.5           2000.03           2001A.04
 1996           1997             1998             1999            2000              2001
w Abordagem    w Processo de    w Modelagem      w Gerenc. de   w Orientações de w Opcionais de
  Rational       Teste SQA        do Negócio       Projetos       e-development    processo:
w Processo por w Requirements   w Gerenc. de     w ROOM em      w Orientações de    w J2EE
  Objetivos      College          configuração     Tempo Real     e-business        w BEA
w OMT                             e mudanças                    w Capacidade de         WebLogic
  Booch                                                           personalização        Server
                                                                  e pequenos     w Rational
                                                                  projetos         Unified
                                                                w IBM e            Partner
                                                                  Microsoft        Program




                                                                                                   14
                                                                                                    14
Notação do processo
                                                           Unidade de trabalho
              Papel que descreve a                         que o papel deve
              função que deve ser                          desempenhar
              desempenhada por um
              ou mais indivíduos no
              processo de                 Activity
              desenvolvimento


     Role

                                           Describe a
                  Use-Case                 Use Case
                   Specifier
                  responsible for
                                        Artifact        Informação produzida,
                                                        documento ou modelo do
                                                        processo

            Use Case         Use-Case
                             Package




                                                                                 15
                                                                                  15
Exemplo de uma atividade no processo

                                 Architectural
                                   Analysis

  “Collection of                                                                          Review the Architecture
                                                 Architectural Describe     Describe
    methods,         Architect                      Design Concurrency     Distribution   Architecture Reviewer

   techniques,
  heuristics and
   experience
   organized to
produce a design.”
                                      Use-Case       SubsystemDesign
                                      Analysis
                                                                          Use-Case          Review the
                                                                           Design           Design      Design
                     Designer                                                                          Reviewer


                                                         Class
                                                         Design

  Activity:
Class Design
                                                            Database
                     Database                                Design
                     Designer




                                                                                                                    16
                                                                                                                     16
Disciplinas agrupam atividades
  Business
  Modeling       Modelagem dos processos de negócio



 Requirements    Especificação de requisitos de software



  Analysis &
                 Modelagem da aplicação
   Design


Implementation   Codificação da aplicação




     Test        Testes de qualidade e homologação




                                                           17
                                                            17
Fluxos de trabalho nas Disciplinas criam modelos
  Business
  Modeling         Business      Business
                 Use-Case Model Object Model   Automatizado por…


 Requirements
                           Use-Case Realizado por…
                            Model
  Analysis &
   Design                               Design Implementado por…
                                        Model

Implementation
                                                Implementation Verificado por…
                                                    Model

     Test
                                                                   Test
                                                                   Model




                                                                                 18
                                                                                  18
Exemplo de documentação do processo
    Activity: Class Design                         Quem, o que, quando e como...

Purpose:

                                          Analysis & Design Artifacts


 Steps:




Input Artifacts:   Resulting Artifacts:




 Role:



Tool Mentor:




                                                                                   19
                                                                                    19
O Modelo de ciclo-de-vida

    Processo Waterfall                            Processo Iterativo
      Requirements
       analysis

             Design

              Code and unit test


                     Subsystem integration


                                   System test



   • Dirigido-por-requisitos e                   • Dirigido-por-Arquitetura e
     orientado somente ao cliente                  baseado em componentes
   • Resolve riscos tardiamente                  • Resolve riscos mais cedo
   • Deseconomia de escala                       • Economia de escala




                                                                                20
                                                                                 20
Fases do ciclo-de-vida


      Inception   Elaboration   Construction    Transition


  tempo



O RUP - Rational Unified Process tem 4 fases:
    § Inception - Define escopo e planos iniciais
    § Elaboration - Planeja o projeto, especifica
      características, experimenta a arquitetura
    § Construction - Construção do produto
    § Transition - Implanta o produto para a comunidade de
      usuários finais




                                                             21
                                                              21
Fronteiras das fases são Marcos de Projeto

       Inception         Elaboration         Construction         Transition

   tempo

                   LCO                 LCA                  IOC                PR



O RUP tem 4 grandes marcos de projeto:
   § Lifecycle objetive - Caracteriza uma concepção inicial
   § Lifecycle architecture - Define a obtenção de uma arquitetura
   § Initial operational capability - Caracteriza final de construção
   § Product release - liberação geral do produto




                                                                                    22
                                                                                     22
Uma Fase pode ter várias Iterações

   Inception       Elaboration                   Construction                  Transition


    Iteração    Iteração   Iteração   Iteração     Iteração     Iteração    Iteração Iteração
   preliminar    Arquit.    Arquit.    Desen.       Desen.       Desen.    Liberação Liberação




                      Marcos menores: Releases


  Uma iteração é uma sequência definida de atividades com
  um plano e critérios estabelecidos, resultando em uma
  versão de executável (interno ou externo)




                                                                                                 23
                                                                                                  23
Uma Iteração é um Ciclo de Geração de Release

        Inception             Elaboration                      Construction                        Transition


        Iteração           Iteração    Iteração     Iteração      Iteração     Iteração       Iteração Iteração
       preliminar           Arquit.     Arquit.      Desen.        Desen.       Desen.       Liberação Liberação




   Análise de requisitos      Design   Codificação e teste     Integração de subsistema   Teste de sistema   Avaliação


A Iteração executa o ciclo completo de
criação de uma parte do sistema,
gerando o executável correspondente.
Esta “parte do sistema” é definida pelos
Casos-de-Uso escolhidos para essa
iteração.




                                                                                                                         24
                                                                                                                          24
Desenvolvimento tradicional (Waterfall)

    Análise de
    Requisitos

                 Análise &
                  Design

                             Codificação
                              & Teste

                                            Teste de
                                           Subsistema

                                                        Teste de
                                                        Sistema


                             TEMPO




                                                                   25
                                                                    25
O Ciclo de vida iterativo é Espiral, não Waterfall

      Inception                    Elaboration                  Construction                    Transition


         R                     R                    R                   R                   R
             D                     D                    D                   D                   D
                 C                     C                    C                   C                   C
                     I                     I                    I                   I                   I
                         T                     T                    T                   T                   T


     Análise de
     Requisitos
                             Análise &
                              Design
                                                   Codificação
                                                    & Teste
                                                                         Teste de
                                                                        Subsistema
                                                                                                Teste de
                                                                                                Sistema




                                                                                                                26
                                                                                                                 26
Características do desenvolvimento waterfall
                                                    w Atrasa a confirmação de uma
                                                      possível solução dos riscos
                                                      críticos
 Processo em Cascata                                w Mede o progresso
                                                      diagnosticando os produtos de
                                                      trabalho, que são previsores
    Análise de
    requisitos

          Design                                      muito pobres do tempo para
           Codificação e teste                        completar o projeto (ou do
                 Integração de subsistema
                                                      estado do projeto)
                                 Teste de sistema   w Atrasa e aglutina os testes com
                                                      a integração
                                                    w Dificulta ou impede a liberação
                                                      intermediária
                                                    w Resulta frequentemente em
                                                      iterações não planejadas




                                                                                        27
                                                                                         27
Resultados do desenvolvimento waterfall
                               Atividades sequenciais:
                               Requisitos              Design   Codificação       Integração      Teste




                                          100%                  Início da Integração
                                                                Bum!
Progresso do desenvolvimento




                                                                                                          Ajuste tardio de Design
                                em % de codificação)




                                                                                                          Perda de Controle




                                                                                                      Data de Entrega
                                                                                                              Original

                                                                              Tempo de Projecto




                                                                                                                                    28
                                                                                                                                     28
Características do desenvolvimento iterativo

w   Resolve os maiores riscos antes dos maiores investimentos
w   Capacita o feedback de usuário mais cedo
w   Torna o teste e a integração contínuos
w   Focaliza objetivos de curto prazo
w   Torna possível a entrega de implementações parciais

        Iteration 1           Iteration 2         Iteration 3

    R                         R                       R
          D                        D                      D
                C                         C                     C
                      I                       I                     I
                          T                       T                     T


                                  Tempo




                                                                            29
                                                                             29
O waterfall atrasa a redução do risco




      Análise de
  R   Requisitos
  I                Análise &
  S                 Design
  C                            Codificação
  O                              & Teste

                                              Teste de
                                             Subsistema

                                                          Teste de
                                                          sistema


                               TEMPO




                                                                     30
                                                                      30
O iterativo-controlado acelera a redução de risco




   R
   I
   S
   C
   O

                             Iterativo-controlado                             “Waterfall”


       Iteração   Iteração   Iteração   Iteração   Iteração   Iteração   Iteração
                                        TEMPO




                                                                                            31
                                                                                             31
Perfil da redução de risco
                                   Inception    Elaboration        Construction      Transition

 Alto
                                                                           Período de
  Exposição de Riscos do Projeto


                                                                           Riscos Controlados




                                                              Perfil de risco do     Perfil de risco do
                                                              projeto                projeto
                                                              Iterativo-Controlado   Convencional (Waterfall)


                                   Período de   Período de
                                   Exploração
                                                Resolução
                                   dos Riscos
                                                dos Riscos
 Baixo
                                                       Ciclo de Vida do Projeto




                                                                                                                32
                                                                                                                 32
Aplicamos o waterfall iterativamente, em incrementos

                            Elaboração

      Iteração 1            Iteração 2       Iteração 3


     R                  R                    R
          D                    D                 D
               C                    C                 C
                   T                     T                T


                              TEMPO


 Iterações iniciais abordam os maiores riscos
 Cada iteração produz uma versão executável, um incremento
 adicional ao sistema
 Cada iteração inclue integração e testes acumulativos




                                                              33
                                                               33
Um ciclo do processo iterativo

                        Requisitos

                                                    Análise e Design
               Planejamento
                                                           Implementação
                                     Ambiente de
  Planejamento                      Gerenciamento
  Inicial
                                                             Teste


                   Avaliação

                                                Implantação

 Sobre este ambiente a disciplina
 de Project Management irá atuar




                                                                           34
                                                                            34
Gráfico Modelo de Iteração (“humpback whale chart”)

Disciplinas de Processos                                          Fases
                                   Inception Elaboration             Construction         Transition

              Business Modeling
                  Requirements
               Analysis & Design
                 Implementation
                           Test
                    Deployment
Disciplinas de Suporte
  Configuration & Change Mgmt
            Project Management
                   Environment
                                     Iterações    Iter.   Iter.    Iter.    Iter. Iter.   Iter.    Iter.
                                   preliminares    #1      #2       #n     #n+1 #n+2      #m      #m+1

                                                              Iterações




                                                                                                           35
                                                                                                            35
O RUP é integrado com ferramentas Rational
                  SoDA                 TestManager            Robot
                                       • Mentores de        • Mentores de
                • Mentores de            ferramentas
                  ferramentas                                 ferramentas
                                       • Modelos de teste   • Modelos de teste
                • Modelos de
                  documento

       Rose                                                           ClearCase
   • Mentores de                                                     • Mentores de
     ferramentas                                                       ferramentas
   • Scripts degeração de                                            • Diretrizes de
     relatórios                                                        GM
   • Íconesde estereótipos


                                                                Purify
           ClearQuest                                          Quantify
          • Diretrizes de               RequisitePro         PureCoverage
            Rastreamento de Defeitos   • Mentores de           • Mentores de
          • Mentores de ferramentas      ferramentas             ferramentas
                                       • Modelos de
                                         requisitos




                                                                                       36
                                                                                        36

Contenu connexe

En vedette

HTML5: The New html for the web
HTML5: The New html for the webHTML5: The New html for the web
HTML5: The New html for the webelliando dias
 
How To Build A Better Arduino
How To Build A Better ArduinoHow To Build A Better Arduino
How To Build A Better ArduinoAlastairDSilva
 
A Brief Tour of Responsability Driven Design
A Brief Tour of Responsability Driven DesignA Brief Tour of Responsability Driven Design
A Brief Tour of Responsability Driven Designelliando dias
 
Model-Driven Software Development
Model-Driven Software DevelopmentModel-Driven Software Development
Model-Driven Software Developmentelliando dias
 
Interfaces de Usuário Ubíquas - UUI
Interfaces de Usuário Ubíquas - UUIInterfaces de Usuário Ubíquas - UUI
Interfaces de Usuário Ubíquas - UUIelliando dias
 
Representação de Números
Representação de NúmerosRepresentação de Números
Representação de Númeroselliando dias
 
hardware de um sistema de computação
hardware de um sistema de computaçãohardware de um sistema de computação
hardware de um sistema de computaçãoelliando dias
 
Enabling White-Box Reuse in a Pure Composition Language
Enabling White-Box Reuse in a Pure Composition LanguageEnabling White-Box Reuse in a Pure Composition Language
Enabling White-Box Reuse in a Pure Composition Languageelliando dias
 
Linguagens de Transformação de Modelos
Linguagens de Transformação de ModelosLinguagens de Transformação de Modelos
Linguagens de Transformação de Modeloselliando dias
 
UML-Based Web Engineering
UML-Based Web EngineeringUML-Based Web Engineering
UML-Based Web Engineeringelliando dias
 
Gerenciamento de Projeto para Desenvolvimento de Sistema
Gerenciamento de Projeto para Desenvolvimento de SistemaGerenciamento de Projeto para Desenvolvimento de Sistema
Gerenciamento de Projeto para Desenvolvimento de Sistemaelliando dias
 
Banco De Dados Básico
Banco De Dados BásicoBanco De Dados Básico
Banco De Dados Básicoelliando dias
 
Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slideselliando dias
 
Introduction to ROBOTICS
Introduction to ROBOTICSIntroduction to ROBOTICS
Introduction to ROBOTICSelliando dias
 

En vedette (15)

HTML5: The New html for the web
HTML5: The New html for the webHTML5: The New html for the web
HTML5: The New html for the web
 
How To Build A Better Arduino
How To Build A Better ArduinoHow To Build A Better Arduino
How To Build A Better Arduino
 
A Brief Tour of Responsability Driven Design
A Brief Tour of Responsability Driven DesignA Brief Tour of Responsability Driven Design
A Brief Tour of Responsability Driven Design
 
Model-Driven Software Development
Model-Driven Software DevelopmentModel-Driven Software Development
Model-Driven Software Development
 
Interfaces de Usuário Ubíquas - UUI
Interfaces de Usuário Ubíquas - UUIInterfaces de Usuário Ubíquas - UUI
Interfaces de Usuário Ubíquas - UUI
 
Representação de Números
Representação de NúmerosRepresentação de Números
Representação de Números
 
hardware de um sistema de computação
hardware de um sistema de computaçãohardware de um sistema de computação
hardware de um sistema de computação
 
Enabling White-Box Reuse in a Pure Composition Language
Enabling White-Box Reuse in a Pure Composition LanguageEnabling White-Box Reuse in a Pure Composition Language
Enabling White-Box Reuse in a Pure Composition Language
 
Linguagens de Transformação de Modelos
Linguagens de Transformação de ModelosLinguagens de Transformação de Modelos
Linguagens de Transformação de Modelos
 
Robótica Móvel
Robótica MóvelRobótica Móvel
Robótica Móvel
 
UML-Based Web Engineering
UML-Based Web EngineeringUML-Based Web Engineering
UML-Based Web Engineering
 
Gerenciamento de Projeto para Desenvolvimento de Sistema
Gerenciamento de Projeto para Desenvolvimento de SistemaGerenciamento de Projeto para Desenvolvimento de Sistema
Gerenciamento de Projeto para Desenvolvimento de Sistema
 
Banco De Dados Básico
Banco De Dados BásicoBanco De Dados Básico
Banco De Dados Básico
 
Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 
Introduction to ROBOTICS
Introduction to ROBOTICSIntroduction to ROBOTICS
Introduction to ROBOTICS
 

Plus de elliando dias

Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScriptelliando dias
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structureselliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de containerelliando dias
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agilityelliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Librarieselliando dias
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!elliando dias
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Webelliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduinoelliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorceryelliando dias
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Designelliando dias
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makeselliando dias
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.elliando dias
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebookelliando dias
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Studyelliando dias
 
From Lisp to Clojure/Incanter and RAn Introduction
From Lisp to Clojure/Incanter and RAn IntroductionFrom Lisp to Clojure/Incanter and RAn Introduction
From Lisp to Clojure/Incanter and RAn Introductionelliando dias
 

Plus de elliando dias (20)

Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
 
Ragel talk
Ragel talkRagel talk
Ragel talk
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
 
Rango
RangoRango
Rango
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
 
From Lisp to Clojure/Incanter and RAn Introduction
From Lisp to Clojure/Incanter and RAn IntroductionFrom Lisp to Clojure/Incanter and RAn Introduction
From Lisp to Clojure/Incanter and RAn Introduction
 

Dernier

ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 

Dernier (8)

ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 

Gerenciamento de Projetos OO

  • 1. Gerenciamento de Projetos OO Processo 11
  • 2. Objetivos w Examinar o ambiente de projeto w Examinar o processo RUP (Rational Unified Process) w Ciclo de vida e o paradigma OO w Gerenciamento dirigido por análise de risco 22
  • 3. Ambiente de Desenvolvimento de Software w Todo projeto tem um ambiente de desenvolvimento • Consiste nas ferramentas , • Códigos existentes, • Documentos , • Modelos , • Procedimentos , • algum tipo de suporte interno. w Apresenta algumas virtudes mas também deficiências • O ambiente pode ser um fator de sucesso ou de caos. 33
  • 4. Características de um bom ambiente w Processo de w Desenvolvimento desenvolvimento definido componentizado w Capacidade de configuração w Automação de testes do processo para um projeto funcionais & desempenho específico w Integração entre processo e w Gerenciamento de projetos ferramentas w Automação de w Integração entre ferramentas documentação w Gerenciamento de w Interface com o legado configuração w Modelagem visual w Gerenciamento de mudanças w Linguagem comum: UML w Gerenciamento de requisitos 44
  • 5. O Que é a UML? w Unified Modeling Language é a linguagem para: • Especificar • Visualizar • Construir • Documentar os artefatos de software de um sistema 55
  • 6. Contribuições à UML Booch Rumbaugh Jacobson Fusion Meyer Operation descriptions, Before and after Message numbering conditions Embley Harel Singleton classes, State charts High-level view Gamma, et.al Wirfs-Brock Frameworks, patterns, Responsibilities notes Shlaer - Mellor Odell Object Lifecycles Classification 66
  • 8. A UML Fornece Diagramas e Modelos State State State Diagrams State Class Diagrams Class Diagrams Use Case Use Case Diagrams Diagrams Use Case Use Case Diagrams State Use Case Diagrams Use Case Diagrams State State Use Case Use Case Diagrams Diagrams State Diagrams Object Diagrams Use Case Use Case Diagrams Diagrams Object Diagrams Activity Diagrams Activity Diagrams Diagrams Diagrams Diagrams Diagrams Diagrams Diagrams Diagrams Scenario Scenario State State Scenario Scenario Diagrams State State Diagrams Sequence Diagrams Sequence Diagrams State Diagrams State Diagrams Diagrams Diagrams Modelos Diagrams Diagrams Diagrams Diagrams Scenario Component Component Scenario Scenario Component Diagrams Component Diagrams Scenario Collaboration Diagrams Deployment Diagrams Component Diagrams Component Collaboration Diagrams Diagrams Deployment Diagrams Diagrams Diagrams Diagrams Diagrams Diagrams Diagrams 88
  • 9. Exemplo de um Diagrama de Classes “One Course in the role of a pre-requisite is related to zero to many Courses.” + Pre-requisite 0..* Course “One Course is related to zero to many Courses 0..* playing the role of a pre- requisite.” 1 1..* CourseOffering IndependentStudy 99
  • 10. Modelos e Linguagem não são suficientes! Trabalho em Equipe Linguagem de Processo Modelagem Unificado 10 10
  • 11. O Que é um Processo? Um processo define Quem está fazendo O Que, Quando e Como para atingir um certo objetivo. Na Engenharia de Software o objetivo é construir ou melhorar um produto de software. Requisitos novos Processo de Engenharia Sistema novo ou modificados de Software ou modificado 11 11
  • 12. Características de um bom processo Requisitos novos Sistema novo Processo ou alterados ou alterado w Configurável para diferentes organizações w Adaptável para diferentes tamanhos e tipos de projeto § Mantendo a mesma capacidade de coleta de métricas w Bem definido, gerenciável e repetível § Com nomenclatura universal, heuríscas e métricas para planejamento e gerenciamento de projeto w Integrado com ferramentas que o suportem 12 12
  • 13. Contribuições ao Rational Unified Process SPC / PMI Rational Unified Process Project Management 5.5 PMBOK Performance Objectory Rational Unified Process UI design testing 5.1 Business Data Engineering Engineering Configuration Rational Objectory UML 1.1 & change Mgmt Process 4.1 Requirements College Rational Objectory Process 4.0 SQA Process OMT, Booch Rational Objectory 1995 Approach UML 0.8 Process 3.8 13 13
  • 14. História do RUP Versão Versão Versão Versão Versão Versão 4.0 4.1 5.1 5.5 2000.03 2001A.04 1996 1997 1998 1999 2000 2001 w Abordagem w Processo de w Modelagem w Gerenc. de w Orientações de w Opcionais de Rational Teste SQA do Negócio Projetos e-development processo: w Processo por w Requirements w Gerenc. de w ROOM em w Orientações de w J2EE Objetivos College configuração Tempo Real e-business w BEA w OMT e mudanças w Capacidade de WebLogic Booch personalização Server e pequenos w Rational projetos Unified w IBM e Partner Microsoft Program 14 14
  • 15. Notação do processo Unidade de trabalho Papel que descreve a que o papel deve função que deve ser desempenhar desempenhada por um ou mais indivíduos no processo de Activity desenvolvimento Role Describe a Use-Case Use Case Specifier responsible for Artifact Informação produzida, documento ou modelo do processo Use Case Use-Case Package 15 15
  • 16. Exemplo de uma atividade no processo Architectural Analysis “Collection of Review the Architecture Architectural Describe Describe methods, Architect Design Concurrency Distribution Architecture Reviewer techniques, heuristics and experience organized to produce a design.” Use-Case SubsystemDesign Analysis Use-Case Review the Design Design Design Designer Reviewer Class Design Activity: Class Design Database Database Design Designer 16 16
  • 17. Disciplinas agrupam atividades Business Modeling Modelagem dos processos de negócio Requirements Especificação de requisitos de software Analysis & Modelagem da aplicação Design Implementation Codificação da aplicação Test Testes de qualidade e homologação 17 17
  • 18. Fluxos de trabalho nas Disciplinas criam modelos Business Modeling Business Business Use-Case Model Object Model Automatizado por… Requirements Use-Case Realizado por… Model Analysis & Design Design Implementado por… Model Implementation Implementation Verificado por… Model Test Test Model 18 18
  • 19. Exemplo de documentação do processo Activity: Class Design Quem, o que, quando e como... Purpose: Analysis & Design Artifacts Steps: Input Artifacts: Resulting Artifacts: Role: Tool Mentor: 19 19
  • 20. O Modelo de ciclo-de-vida Processo Waterfall Processo Iterativo Requirements analysis Design Code and unit test Subsystem integration System test • Dirigido-por-requisitos e • Dirigido-por-Arquitetura e orientado somente ao cliente baseado em componentes • Resolve riscos tardiamente • Resolve riscos mais cedo • Deseconomia de escala • Economia de escala 20 20
  • 21. Fases do ciclo-de-vida Inception Elaboration Construction Transition tempo O RUP - Rational Unified Process tem 4 fases: § Inception - Define escopo e planos iniciais § Elaboration - Planeja o projeto, especifica características, experimenta a arquitetura § Construction - Construção do produto § Transition - Implanta o produto para a comunidade de usuários finais 21 21
  • 22. Fronteiras das fases são Marcos de Projeto Inception Elaboration Construction Transition tempo LCO LCA IOC PR O RUP tem 4 grandes marcos de projeto: § Lifecycle objetive - Caracteriza uma concepção inicial § Lifecycle architecture - Define a obtenção de uma arquitetura § Initial operational capability - Caracteriza final de construção § Product release - liberação geral do produto 22 22
  • 23. Uma Fase pode ter várias Iterações Inception Elaboration Construction Transition Iteração Iteração Iteração Iteração Iteração Iteração Iteração Iteração preliminar Arquit. Arquit. Desen. Desen. Desen. Liberação Liberação Marcos menores: Releases Uma iteração é uma sequência definida de atividades com um plano e critérios estabelecidos, resultando em uma versão de executável (interno ou externo) 23 23
  • 24. Uma Iteração é um Ciclo de Geração de Release Inception Elaboration Construction Transition Iteração Iteração Iteração Iteração Iteração Iteração Iteração Iteração preliminar Arquit. Arquit. Desen. Desen. Desen. Liberação Liberação Análise de requisitos Design Codificação e teste Integração de subsistema Teste de sistema Avaliação A Iteração executa o ciclo completo de criação de uma parte do sistema, gerando o executável correspondente. Esta “parte do sistema” é definida pelos Casos-de-Uso escolhidos para essa iteração. 24 24
  • 25. Desenvolvimento tradicional (Waterfall) Análise de Requisitos Análise & Design Codificação & Teste Teste de Subsistema Teste de Sistema TEMPO 25 25
  • 26. O Ciclo de vida iterativo é Espiral, não Waterfall Inception Elaboration Construction Transition R R R R R D D D D D C C C C C I I I I I T T T T T Análise de Requisitos Análise & Design Codificação & Teste Teste de Subsistema Teste de Sistema 26 26
  • 27. Características do desenvolvimento waterfall w Atrasa a confirmação de uma possível solução dos riscos críticos Processo em Cascata w Mede o progresso diagnosticando os produtos de trabalho, que são previsores Análise de requisitos Design muito pobres do tempo para Codificação e teste completar o projeto (ou do Integração de subsistema estado do projeto) Teste de sistema w Atrasa e aglutina os testes com a integração w Dificulta ou impede a liberação intermediária w Resulta frequentemente em iterações não planejadas 27 27
  • 28. Resultados do desenvolvimento waterfall Atividades sequenciais: Requisitos Design Codificação Integração Teste 100% Início da Integração Bum! Progresso do desenvolvimento Ajuste tardio de Design em % de codificação) Perda de Controle Data de Entrega Original Tempo de Projecto 28 28
  • 29. Características do desenvolvimento iterativo w Resolve os maiores riscos antes dos maiores investimentos w Capacita o feedback de usuário mais cedo w Torna o teste e a integração contínuos w Focaliza objetivos de curto prazo w Torna possível a entrega de implementações parciais Iteration 1 Iteration 2 Iteration 3 R R R D D D C C C I I I T T T Tempo 29 29
  • 30. O waterfall atrasa a redução do risco Análise de R Requisitos I Análise & S Design C Codificação O & Teste Teste de Subsistema Teste de sistema TEMPO 30 30
  • 31. O iterativo-controlado acelera a redução de risco R I S C O Iterativo-controlado “Waterfall” Iteração Iteração Iteração Iteração Iteração Iteração Iteração TEMPO 31 31
  • 32. Perfil da redução de risco Inception Elaboration Construction Transition Alto Período de Exposição de Riscos do Projeto Riscos Controlados Perfil de risco do Perfil de risco do projeto projeto Iterativo-Controlado Convencional (Waterfall) Período de Período de Exploração Resolução dos Riscos dos Riscos Baixo Ciclo de Vida do Projeto 32 32
  • 33. Aplicamos o waterfall iterativamente, em incrementos Elaboração Iteração 1 Iteração 2 Iteração 3 R R R D D D C C C T T T TEMPO Iterações iniciais abordam os maiores riscos Cada iteração produz uma versão executável, um incremento adicional ao sistema Cada iteração inclue integração e testes acumulativos 33 33
  • 34. Um ciclo do processo iterativo Requisitos Análise e Design Planejamento Implementação Ambiente de Planejamento Gerenciamento Inicial Teste Avaliação Implantação Sobre este ambiente a disciplina de Project Management irá atuar 34 34
  • 35. Gráfico Modelo de Iteração (“humpback whale chart”) Disciplinas de Processos Fases Inception Elaboration Construction Transition Business Modeling Requirements Analysis & Design Implementation Test Deployment Disciplinas de Suporte Configuration & Change Mgmt Project Management Environment Iterações Iter. Iter. Iter. Iter. Iter. Iter. Iter. preliminares #1 #2 #n #n+1 #n+2 #m #m+1 Iterações 35 35
  • 36. O RUP é integrado com ferramentas Rational SoDA TestManager Robot • Mentores de • Mentores de • Mentores de ferramentas ferramentas ferramentas • Modelos de teste • Modelos de teste • Modelos de documento Rose ClearCase • Mentores de • Mentores de ferramentas ferramentas • Scripts degeração de • Diretrizes de relatórios GM • Íconesde estereótipos Purify ClearQuest Quantify • Diretrizes de RequisitePro PureCoverage Rastreamento de Defeitos • Mentores de • Mentores de • Mentores de ferramentas ferramentas ferramentas • Modelos de requisitos 36 36