72
RUP - Rational RUP - Rational Unified Process Unified Process Genésio Gomes Neto

Processo Unificado(RUP)

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Processo Unificado(RUP)

RUP - Rational Unified RUP - Rational Unified ProcessProcess

Genésio Gomes Neto

Page 2: Processo Unificado(RUP)

ObjetivosObjetivos

• Introdução• Características Principais do RUP

• Fases & Ciclo de Vida• Disciplinas Básicas e de Apoio• Framework

• Descrição de Atividades • Artefatos• Guias

Page 3: Processo Unificado(RUP)

Introdução ao RUPIntrodução ao RUP

Page 4: Processo Unificado(RUP)

Tendências...Tendências...

• Necessidade de sistemas cada vez maiores e mais complexos.

• Necessidade por Sofisticação• Sistemas cada vez mais adaptados às

necessidades dos usuários• Inclusão de melhoramento substanciais

a cada versão

• Exigência de rapidez no desenvolvimento• Competitividade de mercado.

Page 5: Processo Unificado(RUP)

Necessidades Necessidades

• Um processo integrado que:• Provenha guias• Direcione as tarefas • Especifique os artefatos • Ofereça ferramentas e métodos• Apresente critérios para monitorar

e medir o produto e processo

“A presença de um bem definido e bem gerenciado processo é o elemento que diferencia os projetos produtivos dos projetos mal sucedidos” (Booch et al, 1999)

Page 6: Processo Unificado(RUP)

Processo UnificadoProcesso Unificado

• Framework genérico e adaptável à uma grande classe de sistemas

• Baseado em componentes• interconectados por interfaces

bem definidas.• Integrado a linguagem UML• Aspectos Diferenciais:

• Direcionado por Casos de Uso• Centrado em Arquitetura• Iterativo e Incremental

Page 7: Processo Unificado(RUP)

Histórico do RUPHistórico do RUP

Abordagem da Ericsson

Objectory Process 1.0 - 3.81987-1995

UML

Abordagem da Rational

IBM - Rational Unified Process

Rational Objectory Process 4.11996-1997

Rational Unified Process 5.0

Outras fontes

Page 8: Processo Unificado(RUP)

Práticas e Conceitos ChavesPráticas e Conceitos Chaves

Modelagem VisualModelagem VisualIterativo e IncrementalIterativo e Incremental

Dirigido do Casos de UsoDirigido do Casos de UsoCentrado em ArquiteturaCentrado em Arquitetura

Page 9: Processo Unificado(RUP)

Modelagem VisualModelagem VisualPorque Modelar ?Porque Modelar ?

• Um modelo é uma visão simplificada do sistema. Mostra a essência do sistema sobre uma perspectiva particular e esconde detalhes não essenciais.

• Serve para• Aumentar o entendimento de sistemas

complexos• Explorar e comparar diferentes projetos • Formar uma base para implementação• Capturar os requisitos precisamente• Comunicar as decisões de forma não-

ambígua.

Page 10: Processo Unificado(RUP)

Modelagem VisualModelagem VisualUMLUML

• Uso de notações gráficas e textuais semanticamente ricas para capturar elementos do projeto de software

• Permite o nível de abstração ser aumentado, preservando uma sintaxe e semântica rigorosa

Page 11: Processo Unificado(RUP)

11

Iterativo-IncrementalIterativo-Incremental

R1

R2

R5

R3R

4R7

R6

R1

R2

R5

R3R

4R7

R6

It.1

It.2It.3

Definição inicial de requisitos

Planejamento de iterações

Desenvolvimento de iteração N

Validação com usuário da it. N

Plano iteração N

O desenvolvimento ocorre em várias iterações, cada uma resultando em incrementos de funcionalidades do sistema.

Page 12: Processo Unificado(RUP)

Iterativo e IncrementalIterativo e IncrementalBenefíciosBenefícios

• Análise antecipada de riscos com a integração progressiva do sistema

• Melhor acomodação de solicitações de mudanças

• Maior qualidade devido ao refinamento contínuo do produto

• Melhor facilidade de aprendizagem e amadurecimento do processo

• Aumento da reusabilidade

Page 13: Processo Unificado(RUP)

Iterativo x cascataIterativo x cascata

Page 14: Processo Unificado(RUP)

Disciplinas das IteraçõesDisciplinas das IteraçõesBásicasBásicas

• Requisitos (requirements)

• Análise & Projeto (analysis &

design)

• Implementação (implementation)

• Teste (tests)

• Implantação (deployment)

Page 15: Processo Unificado(RUP)

Disciplinas das IteraçõesDisciplinas das IteraçõesDe ApoioDe Apoio

• Ger. Projeto (Project management)

• Ger. de Ambiente (Environment)

• Ger. de Configuração e Mudança

(Configuration and change

management)

Page 16: Processo Unificado(RUP)

Integração entre as Disciplinas

Fonte: Rational

Page 17: Processo Unificado(RUP)

Iterações no RUP

Fonte: Rational

Page 18: Processo Unificado(RUP)

Processo Processo Dirigido por Casos de Dirigido por Casos de

UsoUso • Casos de Uso são utilizados para conduzir todo o processo de

software.

• Serve de base para a geração e integração dos diversos modelos e artefatos produzidos em todas as etapas do processo

Page 19: Processo Unificado(RUP)

Diagrama de Casos de Uso Diagrama de Casos de Uso

Page 20: Processo Unificado(RUP)

Casos de Uso Casos de Uso Especificação (Pro.Net) Especificação (Pro.Net)

• Nome do requisito [RFXX001] • Prioridade: (Essencial, Importante, Desejável)• Ator(es)• Requisitos associados• Descrição:

• Explicação do propósito do caso de uso• Desenhos ou rascunhos das telas da aplicação,

ou captura das telas dos protótipos• Pré-condições:

• Estado em que a aplicação deve estar ou um fator externo necessário para que o caso de uso possa ser realizado

• Pós-condições: • Lista de possíveis estados em que a aplicação

pode ficar imediatamente após o término da execução do caso de uso, ou alteração de um fator externo à aplicação.

Page 21: Processo Unificado(RUP)

Casos de UsoCasos de UsoEspecificação (Pro.Net) Especificação (Pro.Net)

• Fluxo principal• Descreve passo a passo o que os atores e a

aplicação fazem.• Especifica se este Caso de Uso inclui ou estende

outro.• Faz referência a um fluxo alternativo ou de erro

caso haja necessidade devido a alguma condição.

• Fluxos alternativos• [FA 001] <Descreve uma seqüência que foge ao

fluxo principal descrito, mas que não é um erro.>

• Fluxos de erro• [FE 001] <Descreve os passos a serem

seguidos para cada situação de erro identificada (ex: consulta a dados que deveriam estar no banco, falha na comunicação via rede etc.)>

Page 22: Processo Unificado(RUP)

Casos de Uso Casos de Uso são usados para ...são usados para ...

• Modelar o processo do negócio• Especificar requisitos• Planejar iterações• Realizar os modelo de projeto• Implementar os componentes e seus

casos de teste• Descrição dos manuais e/ou

procedimentos de uso e instalação

Page 23: Processo Unificado(RUP)

Arquitetura de Arquitetura de SoftwareSoftware

• Proporciona uma perspectiva mais clara do sistema.• Melhor compreensão e organização do

sistema• Base sólida para o desenvolvimento

• Descreve a estrutura de como os requisitos devem ser implementados

“Uma arquitetura de software (em algum ponto no tempo) é uma organização ou estrutura de componentes que interagem entre si através de interfaces”.

IEEE

Page 24: Processo Unificado(RUP)

Estrutura de Estrutura de CamadasCamadas

Page 25: Processo Unificado(RUP)

ComponentesComponentes

• Parte encapsulada do sistema. • não trivial, com certa independência e

passível de substitução que satisfaz uma clara funcionalidade

• Oferecem interfaces bem-definidas que permitem prover e esconder serviços e informações.

Page 26: Processo Unificado(RUP)

Diferentes Visões de Diferentes Visões de uma Arquiteturauma Arquitetura

• Visão da estrutura do sistema sobre o ângulo de stakeholders específicos • usuários, analistas,

desenvolvedores, etc.

• Visões Típicas • Visão de Casos de Uso• Visão Lógica• Visão de Implementação• Visão de Processo• Visão de Implantação

Page 27: Processo Unificado(RUP)

Visão de Casos de UsoVisão de Casos de Uso

Conjunto de Casos de Uso que englobam comportamentos e riscos que devem ser levados em consideração pela arquitetura.

Page 28: Processo Unificado(RUP)

Visão LógicaVisão Lógica• Classes de projeto mais importantes e

sua organização em pacotes e subsistemas, que por sua vez são estruturados em camadas.

Page 29: Processo Unificado(RUP)

Demais Visões Típicas Demais Visões Típicas

• Visão de Implementação: • organização dos módulos em pacotes e

camadas.• Visão de Processos:

• descrição das threads (linhas de execução) e suas interações e configurações.

• Necessária quando existe alto grau de concorrência.

• Visão de Implantação: • descrição dos nós físicos (hardwares)

para as configurações de plataforma

Page 30: Processo Unificado(RUP)

RUP: Um Processo Centrado em RUP: Um Processo Centrado em Arquitetura de SoftwareArquitetura de Software

“ RUP oferece uma forma metodológica de projetar, desenvolver e validar uma arquitetura”

• Arquitetura é construída através de refinamentos sucessivos• Inicia-se com um protótipo de

arquitetura executável e gradualmente se torna um sistema.

• Serve para demonstrar funções específicas • Em particular aquelas que satisfazem

requisitos não funcionais.• Serve para analisar riscos

• Relacionados a desempenho, capacidade, confiabilidade, entre outros.

Page 31: Processo Unificado(RUP)

Importância de uma Importância de uma Arquitetura Arquitetura

• Auxilia no gerenciamento da complexidade do projeto e na manutenção de sua integridade

• Garante manutenabilidade e aderência a requisitos não funcionais

• Base efetiva para o reuso em larga-escala

• Guia para a gerência de projeto

Page 32: Processo Unificado(RUP)

Disciplinas Básicas Disciplinas Básicas e de Apoioe de Apoio

Page 33: Processo Unificado(RUP)

Modelagem do NegócioModelagem do Negócio

• Entender a estrutura e dinâmica da organização (contexto)

• Especificação de• Casos de Uso de negócio• Modelo de análise de negócio

Page 34: Processo Unificado(RUP)

RequisitosRequisitos

• Especificação de Requisitos• descrever o quê o sistema deve fazer, em

acordo com o cliente e usuários

• Especificação do detalhamento dos Requisitos através de Casos de Uso

• Delimitar o escopo do sistema e prover uma base para o planejamento das iterações

• Definir protótipos de interface com o usuário

Page 35: Processo Unificado(RUP)

Requisitos Requisitos Artefatos GeradosArtefatos Gerados

Software Requirement Specification

Use Case Model

Glossary

Stakeholder Request

Storyboard

Suplementary Specification

Casos de Uso

Vision

escopo

Requisitos não funcionais

Page 36: Processo Unificado(RUP)

Análise e ProjetoAnálise e Projeto

• Transformar os requisitos em um modelo para implementação do sistema

• Encontrar uma arquitetura robusta para o sistema

Page 37: Processo Unificado(RUP)

Análise e ProjetoAnálise e Projeto

Fonte: Rational

Page 38: Processo Unificado(RUP)

AnáliseAnálise

• Casos de Uso são refinados e estruturados do ponto de vista dos desenvolvedores.

• Desenvolvimento do modelo de objetos• Diagrama de Classes,

• Diagrama de colaboração,

• descrição arquitetural

Page 39: Processo Unificado(RUP)

ProjetoProjeto

• Redefine e Cria Classes de implementação

• Aprofundamento dos níveis de detalhes dos Casos de Uso e descrições de classes.

• Diagramas de Sequência

• Agrupamento da classes em Subsistemas.

• Visão arquitetural completa.

Page 40: Processo Unificado(RUP)

ImplementaçãoImplementação

• Implementar os componentes necessários.

• Testar os componentes implementados como unidades

• Integrar os componentes implementados em um sistema executável

Page 41: Processo Unificado(RUP)

TestesTestes

• Verificar a interação e integração dos componentes

• Verificar se todos os requisitos foram corretamente implementados

• Identificar defeitos e assegurar as correções de acordo com as prioridades de entrega de cada componente

Page 42: Processo Unificado(RUP)

ImplantaçãoImplantação

• Produzir o (que falta do) software• scripts de instalação, documentação para o

usuário, programas para conversão de dados, etc.

• Embalar e distribuir o software• Instalar o software• Realizar migração

• troca de sistema antigo pelo novo, conversão de dados

• Treinamento do usuário• Aceitação formal pelo cliente

Page 43: Processo Unificado(RUP)

Gerência de ProjetoGerência de Projeto

• Prover um framework para gerenciar projetos e riscos

• Prover orientações para o planejamento de atividades, definição da equipe, execução e monitoração de projetos

Planejamento e monitoração das iterações!Planejamento e monitoração das iterações!

Page 44: Processo Unificado(RUP)

Gerência de Configuração Gerência de Configuração e Mudançase Mudanças

• Identificar, definir e manipular itens de software

• Controlar modificações e versões destes itens

• Reportar e armazenar a situação dos itens e as solicitações de mudanças

• Garantir a completude, consistência e corretude dos itens

• Controlar o armazenamento, manipulação e entrega destes itens

Page 45: Processo Unificado(RUP)

Configuração do AmbienteConfiguração do Ambiente

• Prover o processo e as ferramentas necessárias ao desenvolvimento

• Possíveis Atividades:• configurar o RUP• desenvolver guidelines• selecionar e adquirir ferramentas• adaptar ou desenvolver ferramentas • suportar o ambiente de

desenvolvimento (backups, administração de contas, etc.)

• treinamento• implantação do RUP na organização

Page 46: Processo Unificado(RUP)

Fases do RUPFases do RUP

Page 47: Processo Unificado(RUP)

Fases do RUPFases do RUP

• O ciclo de vida de todo o projeto (não

de cada iteração) é subdividido em

quatro fases:

• Concepção, Elaboração, Construção e

Transição.

• Cada fase pode possuir N iterações.

Page 48: Processo Unificado(RUP)

Fases e IteraçõesFases e Iterações

• Cada fase pode comportar diversas iterações

Concepção Elaboração Construção Transição

tempo

Iteração preliminar 1 2 i i+2 i+3 ... j j+1 ...

grandes marcos

Page 49: Processo Unificado(RUP)

Fases do RUPFases do RUP

Concepção Elaboração Construção Transição Estabelecer o

escopo e viabilidade

econômica do projeto

Eliminar principais

riscos e definir arquitetura

estável

Desenvolver o produto até

que ele esteja pronto para beta testes

Entrar no ambiente do

usuário

Page 50: Processo Unificado(RUP)

MarcosMarcos

TransiçãoElaboração ConstruçãoConcepção

Entendimento do sistema

Arquiteturaestável

Produtooperacional

Produto implantado

Page 51: Processo Unificado(RUP)

Fases x Disciplinas do RUPFases x Disciplinas do RUP

Fonte: Rational

Page 52: Processo Unificado(RUP)

Concepção (inspetion)Concepção (inspetion)• Estabelecer o escopo e os limites do

projeto• Identificar Casos de Uso principais

• Realizar Planejamento Inicial• Analisar riscos críticos• Definir custos e cronogramas

• Gerar Plano de Negócio (“Business Case”) • Verificar viabilidade do projeto

• Avaliar alguma arquitetura candidata• Preparar ambiente do projeto

Page 53: Processo Unificado(RUP)

Elaboração (Elaboration)Elaboração (Elaboration)

• Garantir que a arquitetura, os requisitos e os planos são estáveis

• Analisar riscos de forma que seja possível determinar o custo e o cronograma do projeto

• Estabelecer uma baseline para arquitetura. • Produzir protótipos dos componentes para

analisar riscos, tais como• Balanceamentos entre requisitos e

projeto• Reuso de componentes• Analisar a viabilidade do produto

Page 54: Processo Unificado(RUP)

Construção (Construction)Construção (Construction)

• Minimizar custos através da otimização dos recursos e evitando re-trabalho.

• Alcançar qualidade de forma rápida e prática• Concluir a análise, projeto, implementação e

teste de todas as funcionalidades requeridas• Desenvolver de forma iterativa e incremental

um produto completo pronto para ser instalado.

• Alcançar um degrau de paralelismo no trabalho dos times de desenvolvimento

• Decidir se o software e os usuários estão prontos para implantação.

Page 55: Processo Unificado(RUP)

Transição (Transition)Transição (Transition)

• Beta testes para validação do sistema. • Treinamento dos usuários e mantenedores. • Estratégias de marketing, distribuição e

venda.• Avaliação da baseline de implantação com

relação a visão do sistema e o critério de aceitação do produto.• Alcançar a concordância do usuário

Page 56: Processo Unificado(RUP)

Elementos BásicosElementos Básicos

Page 57: Processo Unificado(RUP)

Elementos Básicos do RUP

Fonte: Rational

Page 58: Processo Unificado(RUP)

AtividadeAtividade

• Atividade é uma unidade de trabalho que um indivíduo (ou grupo) no papel de um trabalhador deve executar

• Uma atividade geralmente tem o objetivo de criar / alterar artefatos

• Atividades são divididas em passos• Atividades possuem “guidelines”

Capturar Vocabulário

Comum

Page 59: Processo Unificado(RUP)

TrabalhadorTrabalhador

• Representa o comportamento e responsabilidades de um indivíduo ou de um grupo

• As responsabilidades são expressas em termos de atividades

• Representa um “papel”

Analista de Sistemas

Page 60: Processo Unificado(RUP)

ArtefatoArtefato

• Um artefato é um conjunto de informações que é produzido, modificado e usado pelo processo

• Artefatos são utilizados como entrada para os trabalhadores executarem as atividades, que por sua vez produzem artefatos de saída

Glossário

Page 61: Processo Unificado(RUP)

Fonte: Rational

Artefatos do RUP

Page 62: Processo Unificado(RUP)

WorkflowsWorkflows

• Os fluxos de atividades do RUP são descritos através de responsáveis, atividades e artefatos

Fonte: Rational

Page 63: Processo Unificado(RUP)

Modelagem do NegócioModelagem do Negócio

• Glossário

• Modelo de Casos de Uso do Negócio

• Modelo de Objetos do Negócio

Fonte: Rational

Page 64: Processo Unificado(RUP)

RequisitosRequisitos

• Glossário

• Documento de Visão

• Especificações Suplementares

• Modelo de Casos de Uso

• Protótipo da Interface

Fonte: Rational

Page 65: Processo Unificado(RUP)

Análise e ProjetoAnálise e Projeto

Fonte: Rational

Page 66: Processo Unificado(RUP)

Análise e ProjetoAnálise e Projeto

Fonte: Rational

Page 67: Processo Unificado(RUP)

ImplementaçãoImplementação

• Modelo de Implementação

• Componentes implementados

• Subsistemas implementados

Fonte: Rational

Page 68: Processo Unificado(RUP)

TestesTestes

• Plano de Teste

• Modelo de Teste

• Casos de Teste

• Procedimentos de Teste

• Lista de defeitos

• Avaliação dos Testes

Fonte: Rational

Page 69: Processo Unificado(RUP)

Gerência de ProjetoGerência de Projeto

• Plano de Negócios

• Plano do Desenv. do Software:

• plano de métricas• lista de riscos• plano do projeto• plano da iteração

Fonte: Rational

Page 70: Processo Unificado(RUP)

Gerência de Gerência de Configuração e Configuração e

MudançasMudanças

• Plano de gerência de configuração

Fonte: Rational

Page 71: Processo Unificado(RUP)

ConclusõesConclusões

Page 72: Processo Unificado(RUP)

RUPRUPOs 10´s Atributos EssenciaisOs 10´s Atributos Essenciais

1. Desenvolver Visão2. Planejamento 3. Analisar Riscos 4. Examinar Plano de Negócio (Business

Case)5. Projetar Arquitetura de Componentes6. Desenvolver de forma iterativa e

incremental7. Avaliar regularmente os resultados8. Gerenciar e controlar mudanças9. Implantar produtos usáveis 10.Adotar Processo que se adapte ao projeto