Você está na página 1de 8

Processo Unificado e RUP (Rational Unified Process)

O Processo Unificado um processo de engenharia de software desenvolvido por trs dos principais gurus da indstria de software: Ivar Jacobson, James Rumbaugh e Grady Booch, sendo o resultado de mais de 30 anos de experincia acumulada. o primeiro processo de desenvolvimento a explorar integralmente as capacidades do padro UML e baseia-se nas prticas comuns aos projetos de software com mais alto ROI do mercado. Processo de Software Unificado (Rational Unified Process) = Processo + Mtodos + Linguagem (UML) Histrico:

O desenvolvimento de sistemas seguindo o RUP um processo: dirigido por casos de uso (use cases) centrado na arquitetura iterativo e incremental

Processo dirigido por casos de uso (use cases): caso de uso um modelo que define o que o sistema deve fazer da perspectiva dos usurios, subsistemas ou perifricos. ator algo que interaja com o sistema a ser desenvolvido todos os casos de uso de um sistema compe a especificao funcional do sistema (modelo de casos de uso), ou seja, definem os requisitos do sistema. use cases associam todos os workflows de forma conjunta. dirigem vrias atividades de desenvolvimento: o Criao e validao da arquitetura do sistema o Criao de casos de teste o Planejamento das iteraes o Criao de documentao do usurio o Implantao do sistema sincronizam contedo dos modelos criados em cada workflow

Processo centrado na arquitetura: o fornece uma base slida para a construo do software o Melhor compreenso do sistema e organizao do desenvolvimento. o Descrio da arquitetura envolve elementos mais importantes, como a coleo de vises dos modelos do sistema. o UP prescreve o refinamento sucessivo da arquitetura. o A arquitetura representa a forma, enquanto que os use cases representam funcionalidade. o Arquitetura e use cases devem ser balanceados Processo iterativo e incremental: Identificao de riscos adiantada Preparao do Sistema para requisitos que mudam Integrao contnua (facilita testes) e aprendizado facilitado Desenvolvimento em mini-projetos (iteraes) que incrementam o desenvolvimento o Modelos evoluem nas iteraes. o o o o

FASES DO RUP O RUP define um conjunto de atividades: bem definidas com responsveis com artefatos de entrada e sada com dependncias e ordem de execuo com modelo de ciclo de vida com uma descrio sistemtica de como execut-las usando linguagem UML

Conceitos-chave do RUP:

O Processo Unificado proposto pela Rational (Rational Unified Process RUP) foi criado para apoiar o desenvolvimento orientado a objetos, fornecendo uma forma sistemtica para se obter reais vantagens no uso da Linguagem de Modelagem Unificada (Unified Modeling Language UML). De fato, ele no exatamente um processo: uma infraestrutura genrica de processo que pode ser especializada para uma ampla classe de sistemas de software, para diferentes reas de aplicao, tipos de organizao, nveis de competncia e tamanhos de projetos. O RUP est fundamentado em trs princpios bsicos: orientao a casos de uso, arquitetura e iterao. Ele dito dirigido a casos de uso, pois so os casos de uso que orientam todo o processo de desenvolvimento. Com base no modelo de casos de uso, so criados uma srie de modelos de anlise, projeto e implementao, que realizam estes casos de uso. centrado em arquitetura, pois defende a definio de um esqueleto para a aplicao (a arquitetura), a ganhar corpo gradualmente ao longo do desenvolvimento. Finalmente, o RUP iterativo e incremental, oferecendo uma abordagem para particionar o trabalho em pores menores ou mini-projetos. Esses trs conceitos so igualmente

importantes. A arquitetura prov a estrutura para guiar o desenvolvimento do sistema em iteraes, enquanto os casos de uso definem as metas e conduzem o trabalho de cada iterao. O ciclo de vida adotado no RUP tipicamente evolutivo. Contudo, uma forma de organizao em fases adotada para comportar os ciclos de desenvolvimento, permitindo uma gerncia mais efetiva de projetos complexos. Ao contrrio do tradicionalmente definido como fases na maioria dos modelos de ciclo de vida planejamento, levantamento de requisitos, anlise, projeto, implementao e testes, so definidas fases ortogonais a estas, a saber: Concepo: nesta fase, estabelecido o escopo do projeto e suas fronteiras, determinando os principais casos de uso do sistema. Esses casos de uso devem ser elaborados com a preciso necessria para se proceder estimativas de prazos e custos. As estimativas devem ser globais para o projeto como um todo e detalhadas para a fase seguinte. Assim, a nfase nesta etapa recai sobre o planejamento e, por conseguinte, necessrio levantar requisitos do sistema e preliminarmente analis-los. Ao trmino dessa fase, so examinados os objetivos do projeto para se decidir sobre a continuidade do desenvolvimento; Elaborao: o propsito desta fase analisar mais refinadamente o domnio do problema, estabelecer uma arquitetura de fundao slida, desenvolver um plano de projeto para o sistema a ser construdo e eliminar os elementos de projeto que oferecem maior risco. Embora o processo deva sempre acomodar alteraes, as atividades da fase de elaborao asseguram que os requisitos, a arquitetura e os planos esto suficientemente estveis e que os riscos esto suficientemente mitigados, de modo a se poder prever com preciso os custos e prazos para a concluso do desenvolvimento. Construo: durante esta fase, um produto completo desenvolvido de maneira iterativa e incremental, para que esteja pronto para a transio comunidade usuria. Transio: nesta fase, o software disponibilizado comunidade usuria. Aps o produto ter sido colocado em uso, naturalmente surgem novas consideraes que vo demandar a construo de novas verses para permitir ajustes do sistema, corrigir problemas ou concluir algumas caractersticas que foram postergadas. importante realar que dentro de cada fase, um conjunto de iteraes, envolvendo planejamento, levantamento de requisitos, anlise, projeto e implementao e testes, realizado. Contudo, de uma iterao para outra e de uma fase para a prxima, a nfase sobre as vrias atividades muda, como mostra a figura 1, em que a cor preta indica grande nfase, enquanto a cor branca indica muito pouca nfase. Na fase de concepo, o foco principal recai sobre o entendimento dos requisitos e a determinao do escopo do projeto (planejamento e levantamento de requisitos). Na fase de elaborao, o enfoque est na captura e modelagem dos requisitos (levantamento de requisitos e anlise), ainda que algum trabalho de projeto e implementao seja realizado para prototipar a arquitetura, evitando certos riscos tcnicos. Na fase de construo, o enfoque concentra-se no projeto e na implementao,

visando evoluir e rechear o prottipo inicial, at obter o primeiro produto operacional. Finalmente, a fase de transio concentra-se nos testes, visando garantir que o sistema possui o nvel adequado de qualidade. Alm disso, usurios devem ser treinados, caractersticas ajustadas e elementos esquecidos adicionados.

Alm dos conjuntos de iteraes em cada fase, as fases em si podem ocorrer de forma iterativa. Como mostra a figura 2, elas no necessariamente tm a mesma durao. O esforo realizado em cada uma varia fortemente em funo das circunstncias especficas do projeto.

Processo de Engenharia de Software na viso do RUP Um processo um conjunto de passos ordenados com a inteno de atingir uma meta. Em engenharia de software, a meta criar um software ou aperfeioar um existente; em engenharia de processos, a meta desenvolver ou aperfeioar um processo. No RUP, eles so organizados em um conjunto de disciplinas para posteriormente definirem os fluxos de trabalho e outros elementos do processo. Em termos de modelagem de negcios, o processo de desenvolvimento de software um processo de negcios, e o Rational Unified Process (RUP) um processo de negcios genrico para engenharia de software orientada a objetos. Ele descreve uma famlia de processos de engenharia de software relacionados, que compartilham uma estrutura comum, uma arquitetura de processos comum. Ele proporciona uma abordagem disciplinada para a atribuio de tarefas e de responsabilidades dentro de uma organizao de desenvolvimento. Sua meta garantir a produo de software de alta qualidade que atenda s necessidades dos usurios, dentro de uma programao e um oramento previsveis. O RUP captura muitas das melhores prticas do desenvolvimento de software moderno, de forma que possam ser adaptadas para uma grande variedade de projetos e de organizaes. Quando um sistema de software desenvolvido comeando do zero, o desenvolvimento o processo de criao de um sistema a partir dos requisitos. Porm, depois que os sistemas tiverem tomado forma (ou seja, tiverem passado pelo ciclo de desenvolvimento inicial), os desenvolvimentos subseqentes sero o processo de adaptao do sistema aos requisitos novos ou modificados. Isso se aplica durante todo o ciclo de vida do sistema.