Você está na página 1de 13

RUPinho

1. Objetivo do RUPinho O objetivo do RUPinho a estruturao de um processo que possibilite pequenas empresas, trabalhar de organizada do ponto de vista de planejamento, execuo e controle. Fortemente baseado no RUP, possui uma boa documentao e fases de desenvolvimento bem delimitadas. Na verdade o RUPinho uma instncia do ProsCes, processo definido para a realidade do CESAR e que j foi uma adaptao do RUP. Baseado nesse forte legado fica evidente a boa estruturao do processo, tanto em nvel de documentao, quanto das delimitaes das fases de desenvolvimento. Basicamente possui cinco etapas que ser, posteriormente, detalhadamente explanada: Modelagem do Negcio Planejamento e Gerenciamento de Projetos Requisitos Anlise e Projeto Implementao Testes Implantao

Na metodologia de trabalho implantada, para cada etapa foram desenvolvidos os seguintes conceitos relacionados: objetivos, atividades, artefatos, ferramentas e documentos relacionados. Provendo, portanto, os recursos informacionais necessrios para o cumprimento etapa. Portanto, fundamental que haja uma adequao entre as demandas de um processo rigoroso de desenolvimento com as limitaes de recursos de pequenas empresas, modelando assim um processo que possa aumentar a produtividade, organizar informaes, controlar as fases e aumentar o grau de conformidade entre o que foi acordado com o cliente e o que realmente se produziu. 2. Caracterizao do ambiente do RUPinho O ambiente padro das empresas pequenas composto por uma mdia de 5 a 20 funcionrios, menos de dois anos de atuao no mercado e pouca experincia em processos de desenvolvimento de software. Nesse sentido, foi interessante a caracterizao de um cenrio que contemplasse uma viso de algumas empresas pequenas, no tocante a processos de software. Uma concluso interessante foi que a grande maioria possui problemas com comunicao da equipe e

com o cliente, com gerncia de configurao, com inadequao de documentos, com retrabalho, com infra-estrutura inadequada, dentre outros. Esse cenrio, desenvolvido por experincias passadas motiva o desenvolvimento desse processo que possa se adptar as realidades e proporcionar um melhor resultados em relao aos problemas previamente abordados. 3. Origem do RUPinho 3.1. RUP - Rational Unified Process O RUP, abreviao de Rational Unified Process (ou Processo Unificado da Rational), um processo proprietrio de Engenharia de software criado pela Rational Software Corporation, adquirida pela IBM tornando-se uma brand na rea de Software, fornecendo tcnicas a serem seguidas pelos membros da equipe de desenvolvimento de software com o objetivo de aumentar a sua produtividade. O RUP usa a abordagem da orientao a objetos em sua concepo e projetado e documentado utilizando a notao UML (Unified Modeling Language) para ilustrar os processos em ao. Utiliza tcnicas e prticas aprovadas comercialmente. O RUP , por si s, um produto de software. modular e automatizado, e toda a sua metodologia apoiada por diversas ferramentas de desenvolvimento integradas e vendidas pela Rational atravs de seus "Rational Suites". Basicamente, no RUP, tm-se as seguintes fases: 1. Concepo: nfase no escopo do sistema 2. Elaborao: nfase na arquitetura 3. Construo: nfase no desenvolvimento 4. Transio: nfase na implantao O RUP tambm se baseia nos 4 P's: 1. Pessoas 2. Projeto 3. Produto 4. Processo um processo considerado pesado e preferencialmente aplicvel a grandes equipes de desenvolvimento e a grandes projetos, porm o fato de ser amplamente customizvel torna possvel que seja adaptado para projetos de qualquer escala. Para a gerncia do projeto, o RUP prov uma soluo disciplinada de como assinalar tarefas e responsabilidades dentro de uma organizao de desenvolvimento de software.

3.2. ProsCes Processo do CESAR O ProSCes o processo de desenvolvimento de software do CESAR, ele fortemente baseado no RUP - Rational Unified Process. Como sabido, o RUP foi desenvolvido para ser aplicvel a uma grande classe de projetos diferentes e pode ser considerado como um framework genrico para processos de desenvolvimento. Isso significa que ele deve ser configurado para se adequar realidade da organizao. A metodologia que embasa o ProSCES no se prope a ser uma configurao real do RUP, a idia definir quais os ARTEFATOS que devem ser gerados ao longo do desenvolvimento de software e adapt-los cultura do CESAR. Junto com esses artefatos, so disponibilizados orientaes (guias) e templates, porm, essencial que todo colaborador estude e entenda o RUP para saber realizar eficientemente as atividades do processo e confeccionar os artefatos. 4. Caractersticas Para atender a proposta do RUPinho de adequao dos limites de recursos das empresas com a manuteno de uma documentao e atividades eficazes, trs caractersticas so fundamentais: 4.1. Agilidade Numa empresa pequena fundamental que as informaes estejam organizadas e disponveis, tanto para a gerncia da empresa e do projeto, como para os demais integrantes das equipes de projeto. A facilidade de acesso das informaes demandas em qualquer etapa do processo fundamental para que se tenha agilidade, que o RUPinho se prope. 4.2. Documentao reduzida No RUPinho encontram um reduzido nmero de documentos, quando comparado aos padres do RUP. A metodologia utilizada para a definio dos documentos foi baseada numa seleo dos documentos que so indispensveis, adaptao de alguns que exigiam informaes em demasia, substituio de alguns que poderiam ter informaes contempladas por um outro menor. 4.3. Baixo custo Tambm para alinhar com a realidade das pequenas empresas foi arraigada na cultura do RUPinho o uso de ferramentas livre. Atualmente, todas as etapas de descritas nesses processo so contempladas com ferramentas livres de tima

qualidade, acompanhando tambm as necessidades de artefatos a serem gerados. 5. Etapas O processo do RUPinho est organizado em 7 etapas pr-definidas (fluxos) procurando garantir uma adequao realidade das pequenas empresas segundo os critrios de motivao do processo, so elas: Fluxos Modelagem do Negcio Descrio Documento que compreende o entendimento dos processos e negcio da organizao. Esse documento serve como uma espcie de acordo de concepo entre o cliente e os desenvolvedores. planejar e monitorar todo o processo de desenvolvimento, gerenciar riscos, prover a infra-estrutura e definir artefatos e atividades que sero contempladas no desenvolvimento do projeto levantar os requisitos e definir o escopo do sistema transformar os requisitos num projeto para implementao do sistema implementar as classes em termos de componentes e testar as unidades. verificar a integrao de todos os componentes do software produzir a verso final do produto de software

Planejamento e Acompanhamento do Projeto Requisitos Anlise e Projeto Implementao Teste Implantao

Para cada fluxo de atividade foi elaborada uma estrutura que contemplasse todas as demandas de desenvolvimento em cada etapa do processo: um resumo do objetivo do fluxo; as principais atividades a serem realizadas; os artefatos (obrigatrios e opcionais) recomendados e gerados no fluxo; e os templates e guias necessrios para produzir esses artefatos.

6. Fluxos de desenvolvimento 6.1. Modelagem do Negcio/Concepo

6.1.1. Objetivos Essa etapa dita, opcional, necessria quando no se conhece o contexto onde o sistema ser usado ou quando se tem por objetivo mudar o contexto trabalhado. Compreender a estrutura e dinmica da organizao, procurando garantir aos clientes, usurios e desenvolvedores um conhecimento mnimo da organizao bem como os stakeholders nela influenciam, derivando assim requisitos que possam dar suporte a organizao. 6.1.2. Atividades Reunies com representantes do cliente a fim de obter um entendimento comum do negcio Identificar stakeholders Identificar e priorizar processos derivado do negcio 6.1.3. Artefatos
Opcionais

Artefato Modelo de Casos de Uso do Negcio/Acordo de Concepo

Descrio Documento que compreende o entendimento dos processos e negcio da organizao. Esse documento serve como uma espcie de acordo de concepo entre o cliente e os desenvolvedores.

6.2. Planejamento e Gerenciamento de Projetos 6.2.1. Objetivos Prover um processo de planejamento, execuo, monitorao/controle e concluso do projeto; estabelecer um processo de gerenciamento de riscos; garantir conformidade com o planejado, com o mnimo possvel de impacto; estabelecer e manter o processo de desenvolvimento adequado ao projeto, com base no processo de software organizacional. 6.2.2. Atividades Definir responsabilidades, atividades e recursos necessrios para o desenvolvimento do projeto; Identificar e gerenciar riscos; Controlar o desenvolvimento baseado no Plano do Projeto; Definir ferramentas e infra-estrutura necessrias Selecionar procedimentos e padres a serem utilizados Formalizar a aceitao da entrega ao cliente de artefatos desenvolvidos no projeto Formalizar a concluso do projeto;

6.2.3. Artefatos
Obrigatorios

Artefato Formulrio de Abertura de Projetos Plano do Projeto

Descrio Formulrio de formalizao de incio de um projeto Documento com o planejamento do projeto, incluindo o processo de produo de software adotado, com suas fases, padres e tcnicas. Compreende tambm o planejamento de atividades, recursos alocados e teste. Compreende o plano de gerncia dos riscos potenciais do projeto, incluindo anlise de riscos, possveis dependncias e problemas e as aes de contingncias a serem realizadas. Relatrio contendo os dados de concluso de um projeto

Planilha de Gerncia de Riscos

Relatrio de Concluso de Projetos

6.2.4. Ferramentas
Obrigatrias Ferramentas Descrio

Planilha de Estimativa e Acompanhamento de Custos

Planilha para clculo de estimativas de tamanho e esforo para desenvolvimento de software baseado na tcnica de pontos por caso de uso. Modelo de cronograma para definio de prazos e tamanho da equipe para projetos de desenvolvimento de software Lista de e-mail contendo todos os integrantes do projeto.

Cronograma

Lista de e-mail do projeto

Site do Projeto

Site com todas as informaes importantes do projeto: cronogramas, reunies, equipe, artefatos gerados, referncias importantes, etc. Pode ser s interno equipe de desenvolvimento ou pode ser disponibilizado para o cliente tambm.

Opcionais Ferramentas Descrio

dotProject

Ferramenta free para gerenciamento de projetos. O uso desse tipo de ferramenta substitui a criao de um site para o projeto.

6.2.5. Documentos relacionados Para facilitar a realizao das atividades acima listadas, como tambm a confeco dos artefatos obrigatrios, alguns documentos que servem de referncia esto abaixo listados: Documentos Relacionados Treinamento do Timesheet Descrio Apresenta o treinamento na nova padronizao das reportagens no Timesheet Project Estimation with UCP: Artigo pequeno em ingls sobre o uso da tcnica de pontos por caso de uso. Artigo em ingls sobre o uso da tcnica de pontos por caso de uso. Documento explicando o uso da ferramenta dotProject.

Resumo sobre a tcnica de estimativa por pontos de caso de uso Resource Estimation For Objectory Projects Manual do dotProject

6.3. Requisitos 6.3.1. Objetivos

Um dos principais objetivos desta etapa obter uma concordncia com o cliente sobre o que o sistema deve fazer. Para tal, faz-se necessrio um canal completamente aberto de comunicao entre os stakeholders e os membros da equipe para evitar conflito, inconsistncia e possveis mudanas nos requisitos. Extremamente necessrio, tambm nesta fase, delimitar o escopo do sistema para que seja possvel cumprir com os prazos estimados, como tambm trabalhar com confiana e segurana. A etapa de requisitos fundamental para o desenvolvimento de software uma vez que as etapas seguintes do processo dependem completamente de um bom desenvolvimento da mesma. Portanto, atravs das atividades realizadas e dos artefatos aqui gerados, devese prover a base para o planejamento do desenvolvimento do sistema. 6.3.2. Atividades Para atingir os objetivos propostos nesta etapa, necessria a realizao das seguintes atividades: Reunies com representantes do cliente a fim de obter um entendimento comum dos requisitos do sistema; Identificar atores, requisitos e/ou casos de uso; Especificar requisitos e/ou casos de uso; Modelar e implementar prottipo.

6.3.3. Artefatos Os seguintes artefatos so de confeco obrigatria e serviro de suporte para o desenvolvimento das etapas posteriores do processo: Documento de Requisitos: Documento que descreve o sistema de uma maneira geral, como tambm os seus requisitos funcionais e nofuncionais. Fornece aos desenvolvedores as informaes necessrias para o projeto e implementao, assim como para a realizao dos testes e a implantao do sistema. Documento de Caso de Uso: Documento com a descrio detalhada dos casos de uso para todo o sistema. A especificao de cada caso de uso deve conter pr-condies e ps-condies, fluxos de eventos, prioridades e relacionamento com outros casos de uso.

6.3.4. Ferramentas No se faz fundamental o uso de nenhuma ferramenta especfica nessa etapa.

6.3.5. Documentos relacionados Para facilitar a realizao das atividades acima listadas, como tambm a confeco dos artefatos obrigatrios, alguns documentos que servem de referncia esto abaixo listados: Exemplo de Documento de Requisitos: Documento de Requisitos do Sistema Methodology Explorer
www.cin.ufpe.br/~mexplorer/metodologia/requisitos/documentoRequisitos.doc

NFR Framework: Fornece uma representao sistemtica e global dos requisitos no funcionais Caso de Uso: Guia do RUP para Casos de Uso Ator: Guia do RUP para Ator Modelo de Casos de Uso: Guia do RUP para Modelos de Casos de Uso Diagrama de Casos de Uso: Guia do RUP para Diagrama de Casos de Uso Pacote de Casos de Uso: Guia do RUP para Pacotes de Caso de Uso

6.4. Anlise e Projeto 6.4.1. Objetivos Durante esta fase o problema investigado com o intuito de descobrir o que precisa estar no sistema e estruturar como o sistema ser implementado. Para tal, deve ser feito um processo criativo, porm sistematizado. Logo, um dos principais objetivos desta etapa transformar os requisitos no projeto do sistema. tambm na fase de Anlise e Projeto o momento onde a arquitetura do sistema estruturada e definida. Durante esta fase bsico estabelecer uma arquitetura robusta. Na definio da arquitetura e na estruturao das diversas abstraes da soluo essencial buscar adaptar o projeto ao ambiente de implementao, ou seja, adequar a arquitetura e o modelo estabelecido s ferramentas, tcnicas, procedimentos e metodologia de implementao. 6.4.2. Atividades Para atingir os objetivos desta etapa, faz-se necessrio a execuo de algumas atividades, so elas: Analisar e projetar sistema Detalhar classes e subsistemas Definir arquitetura do software

6.4.3. Artefatos Na etapa em questo devem ser gerados trs artefatos essenciais para alcanar os objetivos da mesma: Modelo de Anlise e Projeto: Compreende as realizaes dos casos de uso, o modelo de classes geral do sistema, a organizao dos elementos em pacotes e subsistemas. Modelo de Dados: Modelo lgico e/ou fsico dos dados a serem armazenados em um banco de dados. Documento da Arquitetura: Descreve a arquitetura adotada no sistema que deve obrigatoriamente seguir algum padro de projeto (modelo cascata deve ser o default).

6.4.4. Ferramentas Para definio do modelo de anlise e projeto muito importante a utilizao de uma ferramenta CASE. No essencial utilizar uma determinada ferramenta, mas com o objetivo de diminuir os custos do projeto sugerido a utilizao de ferramentas livres, como o JUDE Community ou o argoUML. Ambas so de fcil uso e permitem uma eficiente confeco dos artefatos. Alm de ferramentas de edio de documentos, tambm importante uma ferramenta para modelagem grfico do banco de dados. Novamente qualquer ferramenta disponvel mostra-se funcional desde que tenha aceitao pela equipe de modelagem. sugerido, no entanto, o DBDesigner da fabFORCE disponvel no formato open source. 6.4.5. Documentos relacionados Para facilitar a realizao das atividades acima listadas, como tambm a confeco dos artefatos obrigatrios, alguns documentos que servem de referncia esto abaixo listados: Realizao de Caso de Uso: Guia do RUP para Realizao de Casos de Uso. Classes de Anlise: Guia do RUP para Classes de Anlise. Projeto de Susbsistemas: Guia do RUP para Projeto de Subsistema.

6.5. Implementao 6.5.1. Objetivos A partir das especificaes contidas no conjunto de artefatos criados nas etapas anteriores, a implementao consiste, inicialmente, na implementao de classes e

objetos em termos de componentes. O objetivo principal integrar os componentes produzidos em um sistema executvel, aps a realizao dos testes dos componentes desenvolvidos como unidades. 6.5.2. Atividades Para atingir os objetivos propostos nesta etapa, necessria a realizao das seguintes atividades: Estruturar o modelo de implementao; Planejar integrao; Implementar componentes; Efetuar testes unitrios; Efetuar revises de cdigo.

6.5.3. Artefatos No se faz fundamental a confeco de nenhum artefato nesta etapa considerandose as limitaes de tempo e de pessoal pequenas empresas. 6.5.4. Ferramentas Em funo das limitaes financeiras das pequenas organizaes, ferramentas free e open source so priorizadas. Afora esta restrio, a empresa dever escolher o framework de desenvolvimento ao qual sua equipe esteja mais bem adaptada e familiarizada. Desta forma, custos com licenas e capacitao so evitados. 6.5.5. Documentos relacionados Para facilitar a realizao das atividades acima listadas, alguns documentos, que servem de referncia, esto abaixo listados: Prticas de Desenvolvimento gil: Um conjunto de prticas teis a qualquer time, independentemente da linguagem ou tecnologia.

6.6. Testes 6.6.1. Objetivos A fase de testes muitas vezes abandonada pelas pequenas empresas, que buscam muitas vezes adiar os problemas. Esta, no entanto, acelera o processo e oferece uma importante garantia de qualidade e do funcionamento de cada parte do software.

Nesta etapa deve-se verificar a integrao de todos os componentes de software, buscando avaliar as formas de interao entre os componentes e como estes reagem quando colocados em conjunto no sistema. bsico verificar se todos os requisitos esto corretamente implementados bem como identificar e garantir que defeitos sejam solucionados antes da disponibilizao do sistema. Buscando estar atento a todos os possveis movimentos do software, deve-se buscar cobrir todo o sistema. A cobertura dos testes um indicador do nvel de garantia oferecida pelos testes. 6.6.2. Atividades Para atingir os objetivos propostos nesta etapa, necessria a realizao das seguintes atividades: Projetar testes Efetuar testes de integrao, de sistema e de desempenho 6.6.3. Artefatos Nesta etapa, a gerao de artefatos opcional. Plano de testes: detalhamento dos estgios e tipos de testes a serem realizados para garantir a conformidade do produto com as especificaes de requisitos funcionais e no funcionais e a aceitao do cliente

6.6.4. Ferramentas Novamente opcional o uso de ferramentas auxiliares nesta etapa, que devem variar de acordo com o ambiente de desenvolvimento utilizado. 6.6.5. Documentos relacionados 7. Concluso A fim de melhor acompanhar e validar a veracidade do processo, tanto na implantao, quanto na utilizao pelas empresas, podemos trabalhar em cima de basicamente - trs aspectos: produtividade, satisfao e aplicabilidade. Em termos de produtividade, pode-se trabalhar baseado no cronograma, analisando quantos % das atividades foram realizadas no tempo previsto. No tocante satisfao, Guia de Fluxo de Testes: Descreve as atividades do fluxo de testes.
Caso de Teste: Guia do RUP para Casos de Teste

questionrios podem ser trabalhados junto aos clientes, bem como com a equipe que est projetando; esses questionrios podem ser estruturados ou semi-estruturados, a partir dos quais podero ser feitos julgamentos quantitativos e qualitativos. Por fim, podemos medir a aplicabilidade do processo, acompanhando se todas as atividades das fases definidas no RUPinho esto sendo contempladas. Para todas as mtricas mapeadas interessante ter medidas de correo, a fim de est sempre melhorando o refinamento do processo, adaptando de maneira continuada os objetivos, atividades, ferramentas e artefatos do processo realidade da empresa.

Você também pode gostar