Rational Unified Process

Slides:



Advertisements
Apresentações semelhantes
Projeto Qualified Curriculum
Advertisements

RUP – Rational Unified Process
Programa das Aulas 20/09/05 - Apresentação da disciplina
1 ANÁLISE E PROJETO NO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE PROCESSO: CONCEITO MODELOS DE PROCESSO PROCESSO UNIFICADO HISTÓRIA CARACTERÍSTICAS AS QUATRO.
Engenharia de Software
Rational Unified Process
Gerenciamento de Projetos
Exercício do Tangram Tangram é um quebra-cabeças chinês no qual, usando 7 peças deve-se construir formas geométricas.
(Unified Modeling Language)
> Fases de Engenharia de SW > Gestão de Projectos de SW
Adriano Teixeira João Vide Luís Silva Maria Pedroto
Rational Unified Process(RUP)
Valéria Maria Lauande Março/2010
Gerenciamento do escopo do projeto
Gerenciamento de tempo do projeto
INTRODUÇÃO A INFORMÁTICA
Metodologia de Desenvolvimento de Software
RUP Rational Unified Process (Processo Unificado de Desenvolvimento da Rational) 1.
U P (R U P) Rational Unified Process
MO409 / Engenharia de Software I - 1º Semestre / Prof. Eliane 1 1ª Apresentação (A1) Modelos de Processos de Software RA: / Edson Amorina.
1 MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) BREVE HISTÓRICO CARACTERÍSTICAS CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS MODELAGEM DE ANÁLISE E DE.
Processos de Desenvolvimento de Software
Processo Desenvolvimento de Software Tradicional
Análise e Projeto de Sistemas
RUP: Fluxo de Análise e Projeto
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Análise e Gerenciamento de Requisitos com Casos de Uso
Gerenciamento do Escopo
Classes e objetos Modelagem
Provas de Concursos Anteriores
RUP Prof.ª Elaine B. Figueiredo.
TRIBUNAL DE JUSTIÇA DE PERNAMBUCO DIRETORIA DE INFORMÁTICA Workshop de Testes PROSOFT Setembro/ 2010 Daniel Leitão Juliana Xavier.
Rational Unified Process
Engenharia de Requisitos
José Roberto Blaschek Gerência do Escopo José Roberto Blaschek.
RUPinho Qualidade de Software
Unibratec Análise e Gerencia de Projetos Profº Henrique Vila Nova
Visão Geral PRO.NET.
Visão Geral do RUP.
MECÂNICA - ESTÁTICA Vetores Forças Cap. 2.
Cap 2 – Processo de Software
Arquitetura de software
Processos de Desenvolvimento de Software – Parte 2
Coordenação Geral de Ensino da Faculdade
Arquitetura do Software
O Processo da Engenharia de Requisitos
Planejamento e Gerenciamento
 - PSF Grupo: abc, agsj, fcac.
Técnicas e Projeto de Sistemas
Fase de Concepção (Início, Planejamento)
PSBD II Projeto de Sistemas de Banco de Dados II
Máquina de Turing Universal
Especificação em Projeto de Sistemas
Abr-17 Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto Fluxo de análise e projeto.
Análise e Projeto Orientados a Objetos
Bruno Silva Desenvolvido a partir de
Introdução ao Processo Unificado de Desenvolvimento de Software Tiago Lima Massoni UFPE
RUP - Cap. 4 – Processo Centrado na Arquitetura
Processos de Software.
Gestão de projetos de Software GTI-16
Engenharia de Software
© Nabor C. Mendonça Processo / Metodologia de Desenvolvimento de Software.
Fase de Concepção (Início, Planejamento)
Requisitos Não funcionais
Análise e Projeto de Sistemas Unified Modeling Language Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores.
APSI II Análise e Projeto de Sistemas de Banco de Dados II.
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto.
O Processo Unificado (PU). 2 O que é o Processo Unificado (PU)? É um modelo de processo de software baseado no modelo incremental, visando a construção.
Transcrição da apresentação:

Rational Unified Process ( Parte 1 )

Um Ponto de Mudança em Eng. de SW Componentes de Software Ferramentas Arquitetura Processo

Resumo O que é o Rational Unified Process? Arquitetura do Processo Características chave do processo Workflow do núcleo do processo Implementando o processo

Problemas Relacionados Processo não repetível - resultados imprevisíveis, e altamente dependentes de programadores heróicos; Software que preenche pobremente as necessidades dos usuários; Inabilidade para contar com mudanças nos requisitos; Procedimentos de teste caros e tediosos;

Problemas Relacionados Descoberta tardia de defeitos sérios no projeto; Software que é difícil de manter e estender.

Processo de Desenvolv. de SW Processo - Um conjunto de passos parcialmente ordenados para alcançar um objetivo. Em Eng. SW, o objetivo é construir um produto de software ou melhorar um já existente. Processo de Engenharia de Software Requisitos novos ou mudados Sistema novo ou mudado

Rational Unified Process Fornece guias para o desenvolvimento eficiente de software de qualidade; Reduz riscos e aumenta a previsibilidade; Captura e apresenta as melhores práticas Promove uma cultura e visão comum; Roadmap para usar ferramentas CASE com sucesso

Processo como um Produto Não apenas um livro texto, não apenas um outro método OOAD; Disponibilizado como um web site; Melhorado continuamente através de atualizações regulares.

Histórico do Processo UML 0.8 Rational Unified Process 5.0 Rational Objectory Process 4.1 Rational Objectory Process 4.0 UML 0.8 Teste de Desempenho Engenharia de Negócios Gerenciamento de Configuração e de Mudança Engenharia de Requisitos Processo de SQA Rational Approach Objectory Process 3.8 12/1996 OMT Booch 10/1997 UML 1.1 Engenharia de Dados UI design 1998 1995

RUP + Processo Online + Ferramentas de Suporte Treinamento Consultoria e Mentoring

Arquitetura do Processo Duas estruturas ortogonais: Estrutura estática Trabalhadores, artefatos, atividades, workflows Configuração e autoria do processo Estrutura dinâmica Estrutura do ciclo de vida: fases, iterações Realização do processo: planejamento, execução

Duas Dimensões Estrutura Dinâmica Estrutura Estática

Fases no Ciclo de Vida Concepção Elaboração Construção Transição tempo Concepção - Definir o escopo do projeto; Elaboração - Planejar o projeto, especificar as características e a baseline (linha base) da arquitetura; Construção - Construir o produto; Transição - Disponibilizar o produto para a comunidade de usuários.

Fase de Concepção Critério de entrada Critério de saída visão original, sistemas legados, necessidades Critério de saída caso de negócio inicial formulação da visão do produto critério de sucesso avaliação do risco inicial estimativa de recursos para fase de elaboração

Fase de Concepção Critério de saída (cont.) Modelo de requisitos inicial, 10-20% completo 20% dos use cases dirigidos à concepção da arquitetura Protótipo da arquitetura inicial (opcional) Milestone: Objetivos do Ciclo de Vida

Fase de Elaboração Critério de saída Visão da baseline Modelos de requisitos, 80% completo suficiente para chamar a arquitetura de “completa’ Baseline executável da arquitetura Maiores riscos técnicos foram “eliminados”

Fase de Elaboração Critério de saída (cont.) Plano de desenvolvimento de software detalhado Riscos, plano de gerenciamento, alocação da equipe Planejamento das fases, mostrando suas iterações e conteúdos. Critério objetivo de avaliação mensurável das próximas iterações Milestone: Arquitetura do Ciclo de Vida

Fase de Construção Para cada iteração: Critério de entrada Plano de iteração; Use case, cenários; Riscos a tratar; Defeitos a consertar; Critérios objetivos e mensuráveis para avaliar os resultados.

Fase de Construção Critério de saída Produtos e artefatos, atualizados; Descrição do release; Casos de teste baseados em cenários, e resultados de testes; Plano de iteração para a próxima iteração.

Fase de Construção Para iterações seguintes nesta fase Plano de entrega empacotamento preço saídas planejadas suporte treinamento produção estratégia de transição documentação do usuário Milestone: Versão “beta” do software

Fase de Transição Critério de saída Milestone: “Release” do produto. Artefatos e produtos anteriores, atualizados quando necessário Análise post-mortem do desempenho da organização; produtos adicionais; evolução potencial. Milestone: “Release” do produto.

Iterações no Ciclo de Vida do Software Concepção Elaboração Construção Transição Iteração da Arquit. de Desenv. Milestones Uma iteração é uma seqüência distinta de atividades com um plano de linha base (baseline) e critério de avaliação resultando em um release (interno ou externo).

Uma Iteração como uma “Mini-Cascata” Planejamento da Iteração Requisitos Análise e Projeto Implementação Teste Preparação do Release Iteração 3 Iteração 4 Iteração 5

caminha através de todos Uma Iteração Em uma iteração você caminha através de todos workflows

Fases e Iteração Pontos Planejados de Decisão (Negócios) Construção Estabelecer recursos para a fase de elaboração a construção Produtos maduros o suficiente para os consumidores usarem Aceitação ou final da vida Concepção Elaboração Construção Transição Iteração da Arquit. de Desenv. Preliminar (Entender o problema) (Entender a solução) (Ter a solução) Pontos Planejados de Visibilidade (Técnico)

Iteração: Número e Duração Duração dirigida por + tamanho da organização +tamanho do projeto - familiaridade com o projeto, maturidade - simplicidade técnica 6 mais ou menos 3 Concepção: 0..1 Elaboração: 1..3 Construção: 1..3 Transição: 1..2

Estrutura Estática

Trabalhadores, Atividades, Artefatos Projetista de Use-Case Encontrar classes de projeto Distribuir comportamento responsável por Artefato Use Case Em termos de UML: Trabalhador:objeto ativo Atividade: operação sobre um trabalhador Artefato: parâmetro de uma atividade

Conceito Chave: Trabalhador Um trabalhador (Worker) define o comportamento e responsabilidades de um indivíduo, ou um conjunto de indivíduos, trabalhando juntos como uma equipe. Comportamento: um conjunto de atividades coesivas. Responsabilidade: usualmente definida relativa para certos artefatos. Um trabalhador é um ‘chapéu’ usado por um indivíduo. Em termos de OO: é um objeto ativo.

Exemplos de Trabalhadores Analista de sistema; Gerente de projeto; Projetista de Use-Case; Projetista de teste; Instrutor de curso.

Trabalhadores e Pessoas Recurso Paulo Maria João Sílvia Daniel Projetista Definir Operações Especificador Descrever um Use Case de Use-case Projetista de Use-case Distribuir comportamento Revisor de Projeto Revisar o modelo de use-cases Arquiteto Definir uma visão de use-case Definir uma visão lógica Trabalhador Atividades Cada indivíduo no projeto é associado a um ou vários trabalhadores

Conceito Chave: Atividade Um trabalho que um trabalhador é convidado a executar; Granularidade: de poucas horas a poucos dias Unidade de planejamento; Repetido, quando necessário, em cada iteração; Em termos de OO: uma operação sobre um trabalhador.

Exemplos de Atividades Planejar uma iteração; Encontrar use cases e atores; Revisar o projeto; Executar o teste de desempenho.

Passos Atividades são decompostas em passos Tipos de passos Passos de pensamento; Passos de realização; Passos de revisão.

Exemplo de Atividade Atividade: Encontrar use-case e atores Passo 1: Encontrar atores; Passo 2: Encontrar use cases; Passo 3: Descrever como atores e use cases interagem; Passo 4: Empacotar use cases e atores; Passo 5: Apresentar o Modelo de Use Case em Diagramas de Use Case; Passo 6: Desenvolver um detalhamento do modelo de use cases; Passo 7: Avaliar seus resultados.

Conceito Chave: Workflow Seqüências de atividades que produzem um resultado observável; Diferentes workflows Workflows núcleo Workflows de iteração Em termos de OO: diagramas de interação ou diagramas de atividades

Exemplo de Workflow

Nove Workflows Núcleo

Exemplo: Workflow de Modelagem de Negócios Analista do Processo do Negócio Captura um vocabulário comum Encontra atores e UC do negócio Estrutura o modelo de UC do negócio Revisor do modelo de negócios Projetista de Negócio Descreve um UC de Negócios Encontra trabalhadores e entidades do negócio trabalhador do negócio Descreve uma entidade do negócio Revisa o modelo de objetos do negócio

Conceito Chave: Artefato Alguma informação que é produzida, modificada, ou apenas utilizada por um processo. Define uma área de responsabilidade. Provavelmente é passível de controle de configuração. Tipos de artefatos: Modelos; Documentos; Planos. Artefatos podem conter outros artefatos.

Exemplo de Artefatos Modelo de projeto; Classe; Use Case; Caso de teste; Plano de desenvolvimento de software; Release; Documento de avaliação de status; Lista de risco.

Conjuntos: Agrupamento de Artefatos Conjunto de gerenciamento Casos de negócio, plano de desenvolvimento de software, documento de avaliação de status. Conjunto de requisitos documento de visão, modelo de use cases, especificações suplementares. Conjunto de projeto modelo de projeto, modelo de teste, descrição da arquitetura.

Conjuntos: Agrupamento de Artefatos Conjunto de implementação Código fonte, executáveis,... Conjunto de entrega Baseline do produto, manual do usuário, manual de instalação,...

Evolução dos Conjuntos nas Fases Conjuntos “crescem” ao longo do ciclo de vida. Fase M R D I D M R D I D M R D I D M R D I D Concepção Elaboração Construção Transição R : Conjunto de Requisitos M : Conjunto de Gerenciamento D : Conjunto de Projeto I : Conjunto de Implementação D : Conjunto de Entrega

Artefatos, Documentos, Relatórios Não é um “processo dirigido a documentos”; Produz somente artefatos que serão usados; Mantém o artefato na ferramenta mais apropriada, em formato eletrônico (Rose, Excel, ReqPro, etc.); Somente poucos artefatos são documentos; Quando necessário extrai relatórios a partir das ferramentas (ex: para revisão)

Conceitos Adicionais Conceitos Guidelines Mentores de ferramentas Introduzem definições principais, idéias chave. Guidelines Técnicas, regras, heurísticas, listas de checagem... Mentores de ferramentas Ligação do processo com ferramentas específicas Templates Para os principais artefatos.

Guidelines Guidelines são regras, recomendações, heurísticas que suportam atividades e passos. Atividades e passos devem ser bastante concisos e enxutos Guidelines descrevem artefatos bem-formados, focando na qualidade. Guidelines descrevem técnicas específicas transformações de um artefato em outro uso de UML

Guidelines Usados também para avaliar a qualidade dos artefatos Feitos sob medida para a organização

Guidelines: exemplos Guidelines de modelagem Guidelines de programação Artefatos bem-formados: classes, use cases, pacotes, modelos Guidelines de programação Programas bem-formados Guidelines de projeto de interface com o usuário Interfaces fáceis de usar Checklists Para revisão.

Mentores de Ferramentas Similares a guidelines Explicam como usar uma ferramenta específica para executar uma atividade ou passos em uma atividade Exemplos: RequisitePro: gerenciamento de requisitos Rational Rose: modelagem visual, usando UML SoDA: geração de documentação ClearQuest: gerenciamento de mudança, trilhagem de defeitos ... e mais.

Templates Artefatos pré-definidos, protótipos Templates para documentos do MS Word Templates de planos do MS Project Templates para páginas html do processo Conectados à atividade que cria o artefato correspondente Feitos sob medida para a organização

Guidelines, Mentores, Templates Trabalhador Artefato Realização de Use Case Template de Use Case responsável por Projetista Encontrar classes de projeto Distribuir comportamento Atividades Mentor da ferramenta Rose Guideline de Projeto Rational Rose 98

Resumo Estrutura estática Estrutura dinâmica Trabalhador, Atividade+Passo, Artefato Workflow Guideline, Template, mentor de ferramenta, conceito Estrutura dinâmica Fase Milestone principal Iteração Milestone secundário, release