PSBD II Projeto de Sistemas de Banco de Dados II Rational Unified Process – Visão Geral Um processo é um conjunto de passos parcialmente ordenados, com o objetivo de atingir uma meta Na Engenharia de Software, a meta é entregar, de maneira eficiente e previsível, um produto de software capaz de atender às necessidades do negócio. Rational Unified Process – Visão Geral RUP é um processo de Engenharia de Software oferece uma abordagem baseada em disciplinas para atribuir tarefas e responsabilidades sua meta é garantir a produção de um software de qualidade que atenda às necessidades dos usuários, dentro de um cronograma e orçamento previsíveis. é um processo iterativo Rational Unified Process – Princípios Fundamentais Dirigido por casos de uso os casos de uso são a força condutora de todo o processo de desenvolvimento Centrado em arquitetura a arquitetura é a organização principal do sistema como um todo Iterativo e incremental uma iteração é um miniprojeto que resulta em uma versão liberada interna ou externamente (release) RUP – Artefatos, Trabalhadores e Atividades Artefato qualquer porção significativa de informação interna ou a ser fornecida a interessados externos que desempenhe um papel no desenvolvimento do sistema. Trabalhador papel que um indivíduo pode desempenhar no projeto. Atividade tarefa que um trabalhador executa para produzir um artefato. RUP – Artefatos RUP – Fases e Iterações Fase é o período de tempo entre dois importantes marcos de progresso do processo em que: um conjunto bem definido de objetivos é alcançado, artefatos são concluídos e decisões são tomadas em relação à passagem para a fase seguinte Uma iteração representa um ciclo completo de desenvolvimento, desde a captação dos requisitos na análise até a implementação e realização de testes, resultando na versão de um projeto executável. RUP – Fases e Iterações Em cada fase, ocorrem várias iterações. O marco de progresso representa o ponto no tempo para avaliar como as metas foram alcançadas e se o projeto necessitará ser reestruturado de alguma maneira para prosseguir. Workflow de suporte Workflow do processo Rational Unified Process – Fases e Workflows RUP – Iterações Rational Unified Process – Marcos RUP – Fase de Concepção Objetivo Estabelecer a viabilidade do sistema proposto Tarefas a serem executadas Definir o escopo do sistema Esboçar uma arquitetura candidata Identificar riscos críticos e determinar quando e como o projeto os abordará Iniciar a análise econômica do projeto RUP – Fase de Concepção Marco “Objetivos do Ciclo de Vida” Os principais interessados concordam com o escopo A arquitetura candidata equaciona claramente um conjunto de requisitos de alto nível A análise econômica é sólida o suficiente para justificar a continuidade do projeto RUP – Fase de Elaboração Objetivo Estabelecer a capacidade para a construção de um novo sistema, dadas as restrições financeiras, de cronograma, etc. Tarefas a serem executadas Capturar a maioria dos requisitos funcionais válidos restantes Expandir a arquitetura candidata em uma base arquitetônica (versão interna) Abordar riscos significativos de forma contínua Finalizar a análise econômica e preparar um plano para orientar a próxima fase RUP – Fase de Elaboração Marco “Arquitetura do Ciclo de Vida” A maioria dos requisitos funcionais foi capturada no modelo de casos de uso A base arquitetônica é um sistema pequeno e enxuto, que servirá como um alicerce sólido para o desenvolvimento progressivo do projeto A análise econômica foi definida como viável e o plano da fase de Construção já foi elaborado RUP – Fase de Construção Objetivo Construir um sistema capaz de operar bem em ambientes beta de clientes. Tarefas a serem executadas Tarefas que englobam a construção do sistema de modo interativo e incremental, de forma a garantir que a viabilidade do sistema está sempre evidente na forma executável RUP – Fase de Construção Marco “Capacidade Operacional Inicial” Um conjunto de clientes beta tem um sistema operacional mais ou menos completo em suas mãos RUP – Fase de Transição Objetivo Tornar disponível o sistema completamente funcional aos usuários (implantação). Tarefas a serem executadas Corrigir os defeitos e modificar o sistema para corrigir os problemas não identificados previamente. RUP – Após a Fase de Transição Verificar se os objetivos do ciclo de vida foram alcançados e determina se deverá iniciar outro ciclo de desenvolvimento. Avaliar as lições aprendidas no projeto para aprimorar o processo de desenvolvimento a ser aplicado no próximo projeto. A Concepção e a Elaboração abrangem as atividades de engenharia do ciclo de desenvolvimento. A construção e a transição constituem a produção do ciclo de desenvolvimento. RUP – Fluxos de Trabalho (Workflows) Cada workflow representa um conjunto de atividades que os membros do projeto executam. Seis workflows atravessam o conjunto das quatro fases: Modelagem de negócios Requisitos Análise Projeto Implementação Teste RUP – Workflow Modelagem de Negócios Descreve a estrutura e a dinâmica da empresa, garantindo que clientes, usuários e desenvolvedores tenham a mesma visão da organização para a qual o sistema será desenvolvido. RUP – Workflow Requisitos Objetivo: capturar os requisitos do sistema a ser desenvolvido Construir modelo de casos de uso para captura os requisitos funcionais do sistema protótipo de interface O modelo de casos de uso é a base para qualquer outra atividade dentro do processo de desenvolvimento A maior dificuldade nesta etapa é capturar requisitos de forma que clientes possam entender claramente o que o sistema se propõe a fazer RUP – Workflow Análise Objetivo: compreender mais precisamente os casos de uso definidos no Modelo de Casos de Uso do workflow de Requisitos. Os casos de uso são refinados e estruturados do ponto de vista dos desenvolvedores. O Modelo de análise é composto basicamente por: diagrama de classes diagramas de colaboração uma descrição arquitetural do modelo de análise, definindo e descrevendo os artefatos significativos e relevantes do modelo de análise. RUP – Workflow Projeto Objetivo: produzir um modelo já voltado para a implementação. Os níveis de detalhes para cada realização de casos de uso, bem como descrições de classes, são aprofundados. São desenvolvidos: novos diagramas de classes, criados a partir da reestruturação das classes e realização de casos de uso do modelo de análise. diagramas de Seqüência casos de uso são agrupados em Subsistemas RUP – Workflow Implementação Desenvolve-se tudo o que for necessário para produzir um sistema executável: os componentes executáveis, arquivos, tabelas (base de dados), etc. Os componentes do modelo de implementação são desenvolvidos a partir dos elementos do modelo de projeto (classes), descrevendo-se como estes elementos são implementados em termos de arquivos de código fonte, executáveis e outros. Leva em consideração o desenvolvimento do software, os testes unitários e teste de integração. Os componentes são organizados de acordo com os mecanismos de estruturação e modularização disponíveis no ambiente de implementação e na linguagem de programação utilizada. RUP – Workflow Teste Objetivo: criar o modelo de testes, o qual descreve como os testes de sistema e de integração são realizados sobre o modelo de implementação. O modelo de testes é composto por: casos de teste, procedimentos de teste e componentes de teste. Os casos de teste fundamentam-se em casos de uso. Um procedimento de teste especifica como realizar um ou vários casos de teste ou partes deles. RUP – Programação e esforço em cada fase Concepção Elaboração Construção Transição Esforço ~5% 20% 65% 10% Programação 10% 30% 50% 10% RUP – Exercício Duração Concepção Elaboração Construção Transição 20% 30% 40% 10% • Considere um projeto cuja duração total estimada é de 20 semanas e a duração relativa de cada fase é a mostrada na tabela acima. 1. defina a duração de cada iteração e o número total de iterações para o projeto em questão 2. elabore um cronograma mostrando as fases do RUP e as iterações dentro de cada fase 3. que atividades mais se concentram em cada fase? 4. descreva o trabalho da equipe durante a primeira iteração 5. descreva o trabalho da equipe durante a segunda iteração e iterações seguintes 6. que artefatos são entregues ao final da fase de concepção? 7. e ao final da fase de construção? 8. descreva como os fluxos de atividades são exercitados em cada fase 9. que fase demanda maior esforço de programação? 10.que fase demanda maior esforço de elaboração de casos de uso? RUP – Questões para discussões 1. Descreva os papeis dentro do RUP