RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE
Agenda Introdução Melhores práticas Elementos essenciais o processo Visão arquitetural Visão horizontal Visão vertical Limitações Bibliografia
Introdução Criado por pela Rational Software Corporation Aplicado em grandes projetos de software Conjunto de filosofia e práticas para o desenvolvimento de software Melhores práticas
Introdução Atribui tarefas e responsabilidades de forma disciplinada Tem como objetivo assegurar a produção de software de alta qualidade de acordo com o escalonamento e orçamento
RUP – Melhores práticas Desenvolvimento iterativo Atenuação dos riscos nas fases iniciais do projeto Mudança de requisitos são gerenciadas anteriormente Melhoria e refinamento do produto Aprendizado da organização Reuso
RUP – Melhores práticas
Gerenciamento de requisitos Requisitos funcionais representados por casos de uso Arquitetura baseada em componentes Identificar, isolar, projetar e testar componentes Reuso Modelagem visual Uso da UML
RUP – Melhores práticas Verificação contínua da qualidade Identificar métricas aceitáveis Identificar medições apropriadas de avaliação Identificar os casos que afetam a qualidade Gerenciamento de mudança Implementação: uso de ferramentas da Rational
Elementos essenciais ao processo Desenvolver uma visão do sistema Gerenciar o plano de projeto Atenuar riscos e trilhar issues Examinar business case Projetar uma arquitetura baseada em componente Desenvolver de forma incremental e testar o produto Avaliar resultados regularmente Gerenciar e controlar mudanças Entregar um produto usável Adotar um processo que seja adequado ao projeto
Visão arquitetural
Horizontal – representa o tempo e mostra aspectos do ciclo de vida Fases Iterações Milestones Vertical – representa as disciplinas agrupadas logicamente Disciplinas Atividades Workflows Artefatos Papéis
Visão horizontal - Ciclo de vida do RUP Fases e milestones Esforço e escalonamento de um projeto de tamanho médio
Visão Horizontal - Fase de Concepção Fazer o business case inicial do projeto Estimar o retorno do investimento Delimitar o escopo do projeto Definir a arquitetura candidata Identificar e atenuar riscos Elicitar requisitos Identificar requisitos funcionais e não- funcionais
Visão Horizontal - Fase de concepção Saída Primeira versão de um modelo de negócios que descreve o contexto do sistema Primeira versão Modelo de caso de uso Modelo de análise e projeto Arquitetura candidata Protótipo Lista de risco inicial e suas prioridades Plano de projeto (incluindo as fases)
Visão Horizontal - Fase de Elaboração Requisitos funcionais descritos como casos de uso Definir uma arquitetura sólida Monitoramento dos riscos críticos e seu impacto no caso de negócio Detalhar o plano de projeto
Visão Horizontal - Fase de Elaboração Saída Modelo de negócios completo Nova versão de todos os modelos iniciados na fase de concepção Arquitetura executável Descrição arquitetural Lista de risco atualizada Plano de projeto atualizado para as fases posteriores Manual do usuário (opcional)
Visão Horizontal - Fase de Construção Ênfase no desenvolvimento Versão inicial do produto (beta)
Visão Horizontal - Fase de Construção Saída Plano de projeto para a próxima fase Software executável Todos os artefatos Descrição da arquitetura atualizada Manual do usuário com detalhe suficiente Business case refletindo a situação atual
Visão Horizontal - Fase de Transição Validar os requisitos Encontrar falhas Fornecer informação/treinamento ao usuário
Visão Horizontal - Fase de Transição Saída Software executável, incluindo instalação Documentação Produto completo e correto Manual do usuário Suporte ao usuário
Visão Horizontal - Iteração Uma iteração é um miniprojeto O software é desenvolvido através de pequenos passos gerenciáveis Um pouco de planejamento Um pouco de Especificar, projetar e implementar Um pouco de integração, teste e execução
Visão Horizontal - Iteração
Vantagens Atenuação de riscos Definição de uma arquitetura candidata de acordo com os requisitoa Auxilia no acompanhamento e planejamento do projeto Validar o sistema com o usuário, podendo ocorrer mudanças nos requisitos
Visão vertical Papel - Descreve comportamento e responsabilidade do indivíduo Atividade - É uma unidade de trabalho executada por algum papel Workflow - Sequência de atividades que produz um resultado Artefatos - É o produto de trabalho do processo. Os papéis usam artefatos para executar atividades
Visão vertical
Visão Vertical - Workflow
Visão de Artefato
Visão Vertical - Workflow
Visão vertical - Disciplinas Fornece uma visão para fornecer suporte aos elementos de processo. Descreve um conjunto associado de atividades e artefatos Disciplinas do RUP Modelagem de negócios Requisitos Análise e Projeto Implementação Teste Configuração e Gerência de Mudança Gerência de Projeto Ambiente
Visão vertical - Disciplinas Disciplina Atividades Artefatos Templates Guidelines Ferramenta de suporte
Visão vertical - Disciplinas Modelagem de negócios Descreve o processo de negócios da organização Encontrar requisitos relevantes para a organização Requisitos Elicitação e análise de requisitos Gerenciamento de requisitos
Visão vertical - Disciplinas Análise e Projeto Análise - Refinamento e estruturação de requisitos na linguagem do desenvolvedor Projeto – Refinar a arquitetura do sistema iniciada na fase de análise Implementação Implementação do sistema em termos de componentes, código fonte, scripts. Testar os componentes como unidades Gerar um código executável
Visão vertical - Disciplinas Teste Verificar se os requisitos foram implementados corretamente Assegurar que as falhas encontradas foram corrigidas corretamente Configuração e Gerência de Mudança Controlar as atualizações dos artefatos prduzidos Analisar o impacto a mudança no desenvolvimento do software
Visão vertical - Disciplinas Gerência de Projeto Criar e acompanhar o cronograma, deliverables, gerenciar riscos Ambiente Definir ambiente e ferramentas para o desenvolvimento do software
RUP - Limitações Uso formal da documentação e templates é necessário comprar o RUP e ferramentas Requer customização Processo “pesado” É gerado overhead em iterações curtas
Bibliografia The Unified Software Development Process – Ivar Jacobson, Grady booch, James Rumbaugh Rational Unified Process. Version