RUP – Rational Unified Process Acadêmicos: Ítalo Afonso Maurício Gomes Maurício Martins Solano Júnior HighTec RUP - Rational Unified Process 1 1 - Introdução Essa apresentação do Processo Unificado da Rational, conhecido como RUP (Rational Unified Process), visa esclarecer o funcionamento dessa metodologia. Neste trabalho iremos cobrir aspectos relativos ao conjunto de processos referentes ao RUP, incluindo: conceitos best practices (melhores práticas) fases de desenvolvimento HighTec RUP - Rational Unified Process 2 2 - Conceito O RUP, é um processo de engenharia de software criado para apoiar o desenvolvimento orientado a objetos, fornecendo uma forma sistemática para se obter vantagens no uso da UML. Foi criado pela Rational Software Corporation e adquirido em fevereiro de 2003 pela IBM. HighTec RUP - Rational Unified Process 3 O principal objetivo do RUP é atender as necessidades dos usuários garantindo uma produção de software de alta qualidade que cumpra um cronograma e um orçamento previsíveis. O RUP define perfeitamente quem é responsável pelo que, como as coisas deverão ser feitas e quando devem ser realizadas, descrevendo todas as metas de desenvolvimento especificamente para que sejam alcançadas. HighTec RUP - Rational Unified Process 4 O RUP organiza o desenvolvimento de software em quatro fases, onde são tratadas questões sobre planejamento, levantamento de requisitos, análise, implementação, teste e implantação do software. Cada fase tem um papel fundamental para que o objetivo seja cumprido, distribuídos entre vários profissionais como o Analista de sistema, Projetista, Projetista de testes, entre outros. HighTec RUP - Rational Unified Process 5 HighTec RUP - Rational Unified Process 6 3 - Fases do RUP Fase de Concepção / Iniciação: Esta fase do RUP abrange as tarefas de comunicação com o cliente e planejamento. É feito um plano de projeto avaliando os possíveis riscos, as estimativas de custo e prazos, estabelecendo as prioridades, levantamento dos requisitos do sistema e preliminarmente analisá-lo. Assim, haverá uma anuência das partes interessadas na definição do escopo do projeto, onde são examinados os objetivos para se decidir sobre a continuidade do desenvolvimento. HighTec RUP - Rational Unified Process 7 Fase de Elaboração: Abrange a Modelagem do modelo genérico do processo. O objetivo desta fase é analisar de forma mais detalhada a análise do domínio do problema, revisando os riscos que o projeto pode sofrer e a arquitetura do projeto começa a ter sua forma básica. Indagações como “O plano do projeto é confiável?”, “Os custos são admissíveis?” são esclarecidas nesta etapa. HighTec RUP - Rational Unified Process 8 Fase de Construção: Desenvolve ou Adquire os componentes de Software. O principal objetivo desta fase é a construção do sistema de software, com foco no desenvolvimento de componentes e outros recursos do sistema. É na fase de Construção que a maior parte de codificação ocorre. HighTec RUP - Rational Unified Process 9 Fase de Transição: Abrange a entrega do software ao usuário e a fase de testes. O objetivo desta fase é disponibilizar o sistema, tornando-o disponível e compreendido pelo usuário final. As atividades desta fase incluem o treinamento dos usuários finais e também a realização de testes da versão beta do sistema visando garantir que o mesmo possua o nível adequado de qualidade. HighTec RUP - Rational Unified Process 10 HighTec RUP - Rational Unified Process 11 Atualmente essas são algumas empresas que utilizam a metodologia RUP, Volvo, Ericsson, Intel, Visa, Oracle, Xerox e C.E.S.A.R. HighTec RUP - Rational Unified Process 12 Estas são algumas imagens da interface do RUP HighTec RUP - Rational Unified Process 13 HighTec RUP - Rational Unified Process 14 Um dos principais pilares do RUP é o conceito de best practices (melhores práticas), que são regras/práticas que visam reduzir o risco (existente em qualquer projeto de software) e tornar o desenvolvimento mais eficiente. HighTec RUP - Rational Unified Process 15 O RUP entrelaça o conceito de best practices em quatro definições, sendo elas: Funções: grupos de atividades executadas. Disciplinas: áreas de esforço na engenharia de software. Atividades: definições como (objetos/artefatos) é construído e avaliado. Objetos/artefatos: resultado do trabalho, produzido ou modificado durante o processo. HighTec RUP - Rational Unified Process 16 4 - Best Practices O RUP tenta diminuir os riscos do desenvolvimento e efetivamente deixar o desenvolvimento mais eficiente, através de seis práticas básicas (conhecidas por best practices) a serem executadas durante todo o processo de desenvolvimento. HighTec RUP - Rational Unified Process 17 4.1 - Desenvolver Iterativamente Desenvolver iterativamente significa desenvolver em ciclos. Cada ciclo contém um objetivo que deve ser alcançado (lançamento de um pré-release ou beta, correção de um bug, etc). HighTec RUP - Rational Unified Process 18 4.2 - Gerenciar Requerimentos Gerenciamento de requerimentos provê uma maneira prática de produzir, organizar, comunicar e organizar os requerimentos de um projeto. O gerenciamento de recursos acarreta um melhor controle sobre projetos complexos, além de maior qualidade e redução de custos. HighTec RUP - Rational Unified Process 19 4.3 Utilizar Arquiteturas Baseadas em Componentes Foca o desenvolvimento na modularização, através do uso de componentes, de modo a criar um sistema flexível, adaptável, intuitivamente entendível e reutilizável. Entre os benefícios podemos citar a facilidade para identificar, isolar, manipular e desenvolver componentes, é maior do que para um sistema inteiro; componentes podem ser desenvolvidos com a reutilização em mente; etc. HighTec RUP - Rational Unified Process 20 4.4 - Modelar Visualmente A modelagem visual permite melhor entender não só a concepção e a complexidade do sistema, mas também “dimensionar” (no sentido de qual a forma do sistema), além de facilitar a identificação e solução de problemas. HighTec RUP - Rational Unified Process 21 4.5 - Verificação Continua de Qualidade O RUP não toma a qualidade como responsabilidade de apenas uma pessoa ou grupo, mas como uma responsabilidade de todos os integrantes do projeto. A qualidade é focada especialmente em duas áreas: Qualidade de produto: a qualidade do produto sendo desenvolvido (software ou sistema) e todos as partes envolvidas (componentes, subsistemas, arquitetura, etc). Qualidade de processo: a qualidade dos processos dentro do projeto de desenvolvimento. HighTec RUP - Rational Unified Process 22 4.6 - Controle de Mudanças Como resultado de um processo de desenvolvimento iterativo, muitas são as mudanças ocorridas no decorrer do projeto. Controlar as mudanças durante todo o projeto é prática fundamental para manter a qualidade do projeto. HighTec RUP - Rational Unified Process 23 5 - Conclusão O RUP prova ser um processo de desenvolvimento robusto e bem definido, embora bastante complexo/trabalhoso para projetos de software de pequeno porte, ele pode ser bem aproveitado para projetos aonde é preciso manter registro constante do fluxo do projeto. HighTec RUP - Rational Unified Process 24 6 - Referências Quadros, Moacir - Gerencia de Projetos de Softwares: Técnicas e Ferramentas, Visual Books. Rational Software - Best Practices for Software Development Teams, www.rational.com. Dicionário Online – Anuência, http://www.dicio.com.br/anuencia/ HighTec RUP - Rational Unified Process 25