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

Processo Unificado(RUP)

Nov 18, 2014

Download

Technology

elliando dias

 
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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