u p u p (r u p) unified process rational unified process processo unificado de desenvolvimento de...

of 81 /81
U P U P (R U P) Rational Unified Unified Process Process Processo Unificado de Desenvolvimento de Software Márcia Moita Machado

Author: internet

Post on 17-Apr-2015

108 views

Category:

Documents


0 download

Embed Size (px)

TRANSCRIPT

  • Slide 1
  • U P U P (R U P) Unified Process Rational Unified Process Processo Unificado de Desenvolvimento de Software Mrcia Moita Machado
  • Slide 2
  • Processo Conjunto de passos, parcialmente ordenados, com a inteno de atingir uma meta. A meta da Engenharia de Software entregar, de modo eficiente e previsvel, um produto de software que atenda s necessidades de seu negcio.
  • Slide 3
  • UML e Processo A UML independente de processo. possvel utiliz-la, com vrios processos de Engenharia de Software. O RUP consiste em uma maneira de desenvolvimento de software iterativa, centrada arquitetura e guiada por casos de uso, sendo uma abordagem de ciclo de vida, especialmente adequada UML.
  • Slide 4
  • Contexto Necessidade de software cada vez mais complexo: Cliente sempre quer mais, melhor e mais rpido. No era suficiente apenas a presena de desenvolvedores altamente treinados: Precisava-se de um guia organizacional: um processo.
  • Slide 5
  • Contexto Os mtodos no evoluam a contento: Havia necessidade de um processo que integrasse as muitas facetas do desenvolvimento. Soluo apresentada: Um processo unificado de desenvolvimento de software: UP (Unified Process).
  • Slide 6
  • Histrico UP Teste Funcional Teste de Desempenho Gerncia de Requisitos Gerncia de Configurao Engenharia de Negcios Engenharia de Dados Rational Unified Process 5.0 1998 RationalObjectory Process 4.1 1996-1997 Objectory Process 1.0-3.8 1987-1995 Abordagem Ericsson Abordagem Rational U M L
  • Slide 7
  • Processo Unificado UP um framework* genrico de um processo de desenvolvimento. UP baseado em componentes. UP utiliza toda da definio da UML. UP dirigido pelos casos de uso, centrado na arquitetura, iterativo e incremental (conceitos- chave). * Framework: padro de arquitetura que fornece um template extensvel para aplicaes em um domnio.
  • Slide 8
  • O RUP um processo de engenharia de software bem definido e bem estruturado que define claramente quem responsvel pelo que, como as coisas devem ser feitas e quando faz- las. O RUP tambm prov uma estrutura bem definida para o ciclo de vida de um projeto RUP, articulando claramente os marcos essenciais e pontos de deciso. Processo Unificado
  • Slide 9
  • O RUP um produto de processo que oferece uma estrutura de processo customizvel para a Engenharia de Software. O produto IBM RUP suporta a customizao e autoria de processos, e uma vasta variedade de processos, ou configurao de processos, podem ser montadas nele. Essas configuraes do RUP podem ser criadas para suportar equipes grandes e pequenas, e tcnicas de desenvolvimento disciplinadas ou menos formais. Processo Unificado
  • Slide 10
  • O produto IBM RUP contm vrias configuraes e vises de processos prontas que guiam analistas, desenvolvedores, testadores, gerentes de projeto, gerentes de configurao, analistas de dados, e outros membros da equipe de desenvolvimento em como desenvolver o software. Processo Unificado
  • Slide 11
  • O RUP utiliza a Linguagem Unificada de Modelagem (UML 2) para especificar, modelar e documentar artefatos. A UML um padro definido pelo OMG (Object Management Group - organizao internacional que aprova padres abertos para aplicaes orientadas a objetos). Por isso se tornou o padro empresarial para a modelagem orientada a objetos. Processo Unificado
  • Slide 12
  • No existe uma maneira exata de aplicar o RUP, pois ele pode ser aplicado de vrias formas e ser diferente em cada projeto e organizao. Porm, existem alguns princpios que podem caracterizar e diferenciar o RUP de outros mtodos iterativos: Processo Unificado
  • Slide 13
  • Atacar os riscos cedo e continuamente; Certificar-se de entregar algo de valor ao cliente; Focar no software executvel; Acomodar mudanas cedo; Liberar um executvel da arquitetura cedo; Construir o sistema com componentes; Trabalhar junto como um time; Fazer da qualidade um estilo de vida, no algo para depois. Processo Unificado
  • Slide 14
  • UP repete vrios ciclos at a aposentadoria do sistema. Cada ciclo gera um produto liberado para uso. Cada ciclo possui 4 fases: tempo ConcepoElaboraoConstruo Transio Ciclo de Desenvolvimento - 4 fases: -Concepo (define o escopo do projeto) -Elaborao (define os requisitos e a arquitetura) -Construo (desenvolve o sistema) -Transio (implanta o sistema)
  • Slide 15
  • Processo Unificado Cada fase subdividida em iteraes. - Um conjunto de artefatos (release) gerado a cada iterao. - Um milestone (marco) gerado a cada fase. Iterao Arquitetura...Iterao Desenv Iterao Desenv...Iterao Transio... Release Produto Iterao Preliminar... ConcepoElaboraoConstruo Transio
  • Slide 16
  • Processo Unificado
  • Slide 17
  • Ciclo de Vida Workflows: passos dentro de uma iterao Requisitos Projeto Implementao Testes Anlise Modelo Use Case ModeloAnlise ModeloTeste ModeloProjetoModeloImplantao ModeloImplementao
  • Slide 18
  • Conceitos Relacionados Pessoas:Pessoas: Worker: papel representado por uma pessoa ou grupo no processo de software. Cada worker responsvel por um conjunto de atividades. Projeto:Projeto: Possui uma seqncia de mudanas / vrias iteraes / um padro organizacional.
  • Slide 19
  • Conceitos Relacionados Produto:Produto: No apenas cdigo. Artefato: qualquer tipo de informao criada. Artefatos so criados pelos workers em cada uma de suas atividades. Processo:Processo: Direciona o projeto. Template para criao de instncias (projetos).
  • Slide 20
  • Conceitos-Chave Processo Dirigido pelos Use Cases Benefcios:Benefcios: use cases associam todos os workflows de forma conjunta. Dirigem vrias atividades de desenvolvimento: Criao e validao da arquitetura do sistema Criao de casos de teste Planejamento das iteraes Criao de documentao do usurio Implantao do sistema Sincronizam contedo dos modelos criados em cada workflow.
  • Slide 21
  • Conceitos-Chave Processo Centrado na Arquitetura Benefcios:Benefcios: Fornecer uma base slida para a construo do software. Melhor compreenso do sistema e organizao do desenvolvimento. Descrio: arquitetura envolve elementos de modelo mais importantes - coleo de vises dos modelos do sistema. UP prescreve um refinamento sucessivo arquitetura. A arquitetura representa a forma, enquanto que os use cases representam funcionalidades. Arquitetura e use cases devem ser balanceados.
  • Slide 22
  • Conceitos-Chave Processo Iterativo e Incremental Benefcios:Benefcios: Identificao de riscos adiantada. Preparao do Sistema para requisitos que mudam. Integrao contnua (facilita testes e aprendizado). Iterao: mini-projeto - transversal pelos workflows Modelos evoluem nas iteraes. Resultado de uma iterao: incremento.
  • Slide 23
  • Precisa-se de um processo que Defina um guia que controle as atividades do time de desenvolvimento. Direcione as tarefas para desenvolvedores especficos. Especifique que artefatos precisam ser desenvolvidos nas etapas do desenvolvimento. Oferea critrios para monitorar as atividades e os produtos de um projeto.
  • Slide 24
  • R U P Processo de Software Unificado (Rational Unified Process) Processo + Mtodos + Linguagem (UML) Framework para gerar processos especializar o processo para vrios tipos diferentes de sistema processo configurvel
  • Slide 25
  • R U P Define um conjunto de atividades bem definidas com responsveis com artefatos de entrada e sada com dependncias e ordem de execuo com modelo de ciclo de vida com uma descrio sistemtica de como execut-las UML
  • Slide 26
  • Caractersticas Principais O desenvolvimento de sistemas seguindo o RUP guiado por casos de uso (use cases) centrado na arquitetura iterativo e incremental
  • Slide 27
  • Processo Iterativo e Incremental O custo associado ao mini-projeto menor, logo, se houver erros, o custo de correo tambm menor, em relao ao custo do projeto como um todo. Deadlines mais curtos e tarefas mais objetivas tiram mais proveito do esforo de programadores Os requisitos so capturados e refinados durante o desenvolvimento condizente com a realidade: o cliente pode no ter condio de definir os mesmos por completo no incio.
  • Slide 28
  • Ciclo de Desenvolvimento Elementos genricos de uma iterao (workflows) Anlise de Requisitos AnliseProjetoImplementTeste SW
  • Slide 29
  • Ciclo de vida de desenvolvimento de um SW FASES / DISCIPLINAS Fluxos de Trabalho do Processo Modelagem de Negcio Requisitos Anlise e Projeto Implementao Teste Entrega Fluxos de Trabalho de Suporte Gerncia de Alteraes e Config Gerenciamento de Projeto Ambiente ConcepoElaboraoConstruoTransio
  • Slide 30
  • Concepo Definir as funes principais do sofware modelo de caso de uso, simplificado como poderia ser a arquitetura de desenvolvimento para este software tentativa de propor uma arquitetura de desenvolvimento planejamento e estimativas de custo identificao de riscos planejamento da fase seguinte
  • Slide 31
  • Concepo lana o projeto Realizar o business case inicial Delimitar claramente o escopo do projeto Estimar custo, tempo e retorno do investimento Formular a arquitetura candidata Identificar e eliminar riscos Efetuar o planejamento (cronograma, custos, retorno)
  • Slide 32
  • Inicialmente Obter uma viso geral do projeto Capturar o mximo de informao Organiza-l Verificar se algum ponto no foi contemplado Custo inversamente proporcional originalidade do projeto O planejamento inicial uma tentativa o melhor entendimento do problema pode muda o planejamento
  • Slide 33
  • O Time inicial 1 gerente 1 arquiteto 1 ou 2 desenvolvedores 1 engenheiro de teste
  • Slide 34
  • Definindo o escopo do sistema O que deve ser feito est claro? no uma idia, mas uma definio precisa Todos os atores esto definidos? A natureza geral das interfaces com os atores determinada? Existe uma parte do sistema que pode se comportar como um sistema funcional (subsistema)
  • Slide 35
  • Resolvendo ambigidades nos requisitos desta fase Um nmero limitado de use-cases de requisitos necessrios para atingir os objetivos desta fase foram identificados e detalhados? Requisitos suplementares tem sido identificados e detalhados?
  • Slide 36
  • Estabelecendo uma arquitetura candidata A arquitetura vai ao encontro das necessidades do usurio ou vai de encontro s necessidades? A arquitetura parece funcionar (promissora)? No h um prottipo
  • Slide 37
  • Identificar e eliminar os riscos crticos Todos os riscos foram identificados? Todos os riscos identificados foram eliminados, ou existe um plano para elimin-los? modificar os requisitos plano de cotingncia reduzir risco, minimizar efeito caso ocorra
  • Slide 38
  • Julgando o business case inicial O business case inicial bom o suficiente para justificar ir adiante com o projeto?
  • Slide 39
  • Papel dos workers Analista identifica os use-cases e atores Arquiteto prioriza use-cases e seleciona os relevantes para propor a arquitetura candidata Desenvolvedor implementa o prottipo Engenheiro de testes planeja testes
  • Slide 40
  • Capturando os requisitos Listar requisitos candidatos requisitos de sistemas similares requisitos obtidos com pesquisas de mercado (sistemas de prateleira) Entender o contexto do sistema modelo de negcio identificar use-cases de negcio e tcnicos que relatam que processos suportar
  • Slide 41
  • Capturar requisitos funcionais Capturar requisitos no-funcionais Capturando os requisitos
  • Slide 42
  • Encontrar atores e use-cases priorizar use-cases que definem o escopo do projeto e ajudam a planejar a arquitetura detalhar os use-cases e cenrios necessrios para que os riscos possam ser identificados e eliminados, e para que uma arquitetura seja proposta Cerca de 10% dos use-cases detalhada na fase de concepo Capturando os requisitos como use-cases
  • Slide 43
  • Anlise Analisar os requisitos para refin-los e estrutur-los num modelo que funciona como um modelo de projeto inicial Resulta num modelo de anlise inicial definir precisamente os use-cases guia a definio da arquitetura candidata aproximadamente 5% da anlise executada na fase de concepo
  • Slide 44
  • Anlise Priorizar os use-cases e/ou cenrios refinar (detalhar) e entend-los Refina-se aproximadamente a metade dos use-cases detalhados na fase anterior, ou seja 5% dos use-cases do sistema Se for feita anlise de classe e pacote feita minimamente
  • Slide 45
  • Projeto Projetar a arquitetura candidata se preciso desenvolver um prottipo do projeto (utilizando alguma tcnica de desenvolvimento rpido) validar a os requisitos dos clientes/usurios Iniciar a definio do modelo de projeto contemplar requisitos funcionas e no-funcionais Projeto de use-cases, classes e pacotes mnimo (se existir)
  • Slide 46
  • Implementao e teste Prottipo para validar a arquitetura se for necessrio novas tecnologias projeto sem similares Planejamento de testes que tipos de testes sero necessrios para um sistema dessa natureza
  • Slide 47
  • Produzindo o Business case inicial Transformar a viso (arquitetura candidata, riscos) em termos econmicos, considerando: recursos custos aceitao do mercado (interna)
  • Slide 48
  • O valor investido (custo) Usar frmulas O tamanho do produto na fase de concepo pode diferir em 50% do tamanho do produto final estimativa de custo inicial pode diferir em 50% do custo final
  • Slide 49
  • Retorno de investimento Difcil de ser estimado geralmente a margem de erro bem grande sistemas de prateleira estimativa de cpias a serem vendidas valor de cada cpia no caso de sistemas internos qual a economia que o sistema trar para a empresa?
  • Slide 50
  • O que fazer ao final da fase de concepo Baseado no entendimento do projeto, anlise de riscos, arquitetura candidata, decidir se o projeto deve ou no continuar Planejar a fase de Elaborao descrever de 80% dos use-cases analisar metade destes implementar 10%
  • Slide 51
  • Resultado da fase de concepo primeira verso do modelo de negcio (descreve o contexto do sistema) primeira verso dos modelos de use-case primeira verso da arquitetura candidata prottipo demostrando o uso do sistema lista de riscos e suas prioridade planejamento geral das demais fases primeira verso do business case (estimativas e retorno)
  • Slide 52
  • Elaborao Identificar a maioria dos casos de uso realizar os casos de uso mais crticos modelo de anlise Projetar e validar a arquitetura do sistema o esqueleto do sistema com alguns msculos Planejar atividades e estimar recursos necessrios para completar o projeto
  • Slide 53
  • Introduo Capturar quase todos use cases; Estabelecer uma arquitetura slida para guiar as fases de construo e transio; Monitorar riscos e seu impacto no caso de negcio; Refinar plano de projeto.
  • Slide 54
  • No incio da elaborao Planejando a fase de elaborao; montando a equipe; modificando o ambiente de implementao; estabelecer critrio de avaliao; Estender os requisitos; Estabelecer a linha base da arquitetura; Atenuar riscos significativos; Julgar o valor do Caso de Negcio
  • Slide 55
  • Tpico workflow de iterao da Elaborao Atividades em paralelo: core workflows || planejamento das iteraes || avaliao || ajuste do ambiente de desenvolvimento; Capturar e refinar maior parte dos requisitos; Desenvolver linha base da arquitetura; Iterar enquanto a equipe pequena
  • Slide 56
  • Use cases representando riscos crticos e importantes do ponto de vista da arquitetura (80%); Cobertura maior dos use cases para permitir oferta mais realista; Achar linha base da arquitetura, considerando qualidade e extensibilidade de 10 % dos use cases. Executar core workflows - requisitos a teste
  • Slide 57
  • Capturar Requisitos Achar use cases e atores 80% dos use cases prototipar interfaces grficas geralmente no necessrio priorizar use cases Considerar riscos e importncia a nvel de arquitetura;
  • Slide 58
  • Capturar Requisitos detalhar use cases cenrios mais relevantes estruturar modelo de use cases mais extensvel e fcil de manter Renegociar requisitos com cliente pouca diferena semntica mais tratvel pela arquitetura Menor custo e maior qualidade
  • Slide 59
  • Anlise arquitetural particionamento do sistema em pacotes de anlise pode usar arquitetura em camadas usa use cases, glossrio e conhecimento do domnio anlise de use case mais relevantes para arquitetura ( 20% - 40% do total) descrio usando classes e responsabilidades anlise de classe refinar classes identificadas anlise de pacote refinar pacotes identificados na anlise arquitetural Anlise
  • Slide 60
  • Projeto da arquitetura arquitetura em camadas; subsistemas e suas interfaces; classes de projeto mais importantes para arquitetura; ns e configurao de rede (se o sistema for distribudo). projeto de use cases mais importantes para arquitetura projetar classe projetar subsistema Projeto
  • Slide 61
  • Implementao arquitetural identificao dos componentes para implementar subsistema de servio; mapeamento de componentes a ns na rede de computadores. implementao de classe e subsistema integrar sistema incrementalmente numa seqncia ferramenta controlando linha base da arquitetura Implementao
  • Slide 62
  • Planejar teste definir objetivos projetar teste caso de teste e procedimentos executar teste de integrao nvel de builds (construes) executar teste de sistema linha base da arquitetura Teste
  • Slide 63
  • Preparar a oferta linha base da arquitetura: estimativa mais precisa Atualizar o retorno sobre Investimento sabe-se o custo da construo e da transio clculo do retorno mais difcil Caso de Negcio
  • Slide 64
  • Critrios definidos no plano de iterao foram alcanados? Atividades no terminadas seguem nas prximas iteraes. Avaliar iteraes na Elaborao
  • Slide 65
  • Planejando a construo Quantidade de iteraes planejar investigao dos riscos rever ordem de realizao dos use cases e cenrios identificar oportunidades de paralelismo (interfaces)
  • Slide 66
  • Construo Construir o software preencher o esqueleto com todos os msculos implementar o sistema por completo Testar o sistema Gerar uma verso beta Planejar a transio
  • Slide 67
  • Fase de Construo em Resumo Incio a partir do executvel da base arquitetural Desenvolvimento de um produto pronto para operao inicial (beta) nfase no desenvolvimento
  • Slide 68
  • Logo cedo na fase de Construo... Gerente planejou construo ainda na fase anterior e recebe autorizao para continuar O plano pode ser modificado por dois fatores: Gap possvel entre elaborao e construo Finanas e cronograma podem ser alterados Alocao de recursos Aumento significativo de pessoas Definio do critrio de avaliao
  • Slide 69
  • Iteration Workflow - Construo 4 atividades principais em paralelo 5 workflows principais Planejar iteraes Business case (acompanhamento) Avaliao Agora a nfase em completar as realizaes dos use cases, projetar as classes e subsistemas, implement-los como componentes, fazendo testes individuais ou em builds.
  • Slide 70
  • Requisitos Achar atores e use cases Apenas uma pequena frao restante Prototipar interface com o usurio Agora, grande nfase Priorizar use cases Apenas os encontrados aqui Detalhar use cases Completo (todos os use cases) Estruturar modelo Poucas mudanas
  • Slide 71
  • Anlise (Opcional) Anlise arquitetural Apenas eventuais atualizaes Anlise de use cases Completa com todos os use cases Anlise de classes Refina todas as classes Anlise de pacotes Refina todos os pacotes de anlise
  • Slide 72
  • Projeto Projeto arquitetural Adio de poucos elementos Projeto use cases Completa com todos os use cases Projeto classes Refina todas as classes de projeto Projeto subsistemas Refina todos os subsistemas
  • Slide 73
  • Implementao Implementao Arquitetural Apenas atualizao Implementar classe/subsistema Completo, todos os componentes Realizar testes de unidade Teste dos componentes implementados Integrar sistema Criar plano de integrao em cada iterao Juntar componentes de acordo com o plano
  • Slide 74
  • Testes Planejar testes Objetivos estabelecidos para os testes de builds e do sistema Projetar testes Criar casos e procedimentos de teste para um conjunto de builds em cada iterao Executar testes de integrao/sistema Builds/sistema a cada iterao Avaliar testes Atingiram-se os objetivos?
  • Slide 75
  • Controlando o business case Comparar progresso real com o planejado, acompanhando cronograma, oramento e esforo (baseado em mtricas) Atualizar o documento, se necessrio
  • Slide 76
  • Avaliar as iteraes Revisar o que foi executado, com o critrio de avaliao Determinar se o build est pronto para a prxima iterao
  • Slide 77
  • Planejando a fase de transio Planejamento com menos detalhes que nas outras fases No se sabe como vai ser feedback dos usurios
  • Slide 78
  • Deliverables - construo Plano de projeto para a transio Software executvel - build final da construo Todos os artefatos (modelos) Descrio da arquitetura mantida e atualizada Business case, com mudanas refletidas Manual de usurio preliminar
  • Slide 79
  • Transio Evoluo do produto da verso beta para a verso final alguns usurios utilizam o sistema e reportam defeitos e sugestes de melhorias correo dos erros prover treinamento e assistncia ao usurio (help) Classificar os problemas que justificam uma verso delta imediata sero corrigidos na prxima verso
  • Slide 80
  • Fluxos de Trabalho de Processo do RUP
  • Slide 81
  • Modelos tipo mais importante de artefato do RUP