O Processo Unificado Rational (RUP) um processo de negcio genrico para
engenharia de software orientado a objetos. Seu objetio assegurar a produ!"o de produtos de alta #ualidade #ue satisfa!am as necessidades de seus usu$rios finais% dentro de cronogramas e or!amentos preis&eis. O Processo Unificado Rational captura as melhores pr$ticas em desenolimento de software moderno% num formato #ue pode ser adaptado para uma grande ariedade de projetos e organi'a!(es% transformando os re#uisitos do usu$rio em um sistema de software utili'ando para isso a U)* #ue descree modelos e digramas de sistema. O RUP pode ser caracteri'ado atras de tr+s palaras chaes, Dirigido a casos de uso O RUP utili'a os casos de uso para descreer os re#uisitos do usu$rio. Os casos de usos forma modelos de caso de uso os #uais descreem todas as funcionalidades do sistema. -tras desses modelos os desenoledores criam uma sries de modelos de projetos e implementa!"o% os testadores usam para erificar se a implementa!"o est$ conforme o modelo de casos de uso. Centrado na arquitetura O conceito de ar#uitetura de software incorpora os aspectos est$ticos e din.micos% mais importantes na constru!"o do sistema. - ar#uitetura origina/se nas necessidades da organi'a!"o% na is"o do usu$rio e nos casos de uso. -s fun!(es do sistema correspondem aos casos de uso e a forma e0pressa pela ar#uitetura. Para encontrar uma forma% o ar#uiteto dee trabalhar em cima de um entendimento geral das fun!(es chaes% isto % os casos de uso principais do sistema% #ue constituem o n1cleo das fun!(es do sistema. Iterativo e Incremental 2 pr$tico diidir o trabalho de constru!"o de um software em $rias partes% cada parte uma itera!"o #ue resulta em um incremento. 3tera!"o se refere aos passos em uma disciplina e incrementos ao crescimento do produto. 4$ muitos benef&cios para um processo iteratio e controlado, redu' o custo de risco para despesa de um 1nico incremento% redu' o risco de n"o se desenoler o produto no cronograma planejado% aceleram o ritmo dos esfor!os de desenolimento% e confirmam uma realidade ignorada. O RUP captura as melhores pr$ticas de desenolimento moderno. -s seis melhores pr$ticas s"o, Desenvolvimento Iterativo: o RUP suporta uma abordagem iteratia para desenolimento #ue focali'a nos itens de alto risco em cada est$gio do ciclo de ida. Gerncia de Requisitos: o RUP descree uma abordagem sistem$tica para elicitar% organi'ar% comunicar e gerenciar as altera!(es nos re#uisitos de um software ou aplica!"o. Uso de arquitetura baseada em componentes: o RUP suporta o desenolimento de software baseado em componentes. Modelagem visual: o processo mostra como modelar o software isualmente para capturar a estrutura e comportamento da ar#uitetura e de componentes. Verificao cont!nua de qualidade: o RUP assiste no planejamento% projeto% implementa!"o% e0ecu!"o e aalia!"o desses tipos de testes. Gerncia de alterao: o RUP descree com automati'ar integra!"o e gerenciamento de ers(es Ciclo de vida do RUP O RUP pode ser isto de duas perspectias diferentes porm integradas% uma perspectia gerencial e a perspectia tcnica. 5a perspectia gerencial o ciclo de ida do software decomposto em #uatro fases (concep!"o% elabora!"o% constru!"o e transi!"o). 5a perspectia tcnica o ciclo de ida consiste de $rias disciplinas de desenolimento. O ciclo de ida do software um sucess"o de intera!(es por meio das #uais o software desenolido incrementalmente 6ada itera!"o finali'a com uma ers"o (release) de um produto e0ecut$el. 6ada ers"o acompanhada por artefatos de suporte, descri!"o da ers"o% documenta!"o do usu$rio% planos% e modelos atuali'ados do sistema. Uma ers"o pode ser interna ou e0terna. Uma ers"o interna usada somente pela organi'a!"o de desenolimento% como parte de um marco (milestone). Uma ers"o e0terna entregue aos usu$rios finais. O produto final precisa incluir $rios artefatos de projeto% n"o apenas os componentes e0ecut$eis. Para reali'ar o noo ciclo eficientemente% os desenoledores precisam de toda a representa!"o do produto de software% #ue inclui, / Um modelo de casos de uso com todos os casos de uso e suas rela!(es com os usu$rios7 / Um modelo de an$lise% o #ual possui duas finalidades, refinar os casos de uso em mais detalhes e fa'er uma aloca!"o inicial de comportamento do sistema para um conjunto de objetos #ue pro+em seu comportamento. / Um modelo de projeto #ue define a estrutura est$tica do sistema como subsistemas% classes% e interfaces e os casos de uso reali'ados como colabora!"o entre os subsistemas% classes e interfaces. / Um modelo de implementa!"o% #ue inclui componentes (representando cdigo fonte) e o mapeamento das classes para componentes. / Um modelo de implanta!"o% o #ual define os nodos f&sicos de computadores e o mapeamento dos componentes para a#ueles nodos. / Um modelo de teste% o #ual descree os casos de teste #ue erificam os casos de uso. / 8% uma representa!"o da ar#uitetura. Um processo integrado O RUP baseado em componentes e utili'a a U)*. 3ntegra ciclos% fases% disciplinas% suai'a!"o de riscos% controle de #ualidade% gerenciamento de projeto e controle configura!"o. -s principais rela!(es entre os elementos do RUP s"o, "rabal#ador: defini o comportamento e a responsabilidade de um indi&duo ou de um conjunto de in&duos. $tividade: a unidade de trabalho #ue um ind&iduo #ue representa um trabalhador encarregado de e0ecuta/la. Guias de trabal#o: representam tcnicas e conselhos pr$ticos% 1teis para o trabalhador e0ecutar a atiidade. Conceitos: alguns conceitos chaes de processo s"o introdu'idos em sess(es separadas do processo e s"o ligadas as disciplinas ade#uadas. Guias de ferramentas: s"o meios adicionais de proer guias mostrando como e0ecutar atiidades% usando ferramentas espec&ficas. $rtefatos: um produto de trabalho do processo% s"o de responsabilidade de um 1nico trabalhador. -rtefatos podem ser, modelos% como modelo de casos de uso% modelo de projeto% modelo de elementos e diagrama de classes7 ou documentos% como casos de negcio e documento da ar#uitetura do software7 ou cdigos/fonte ou e0ecut$el. Modelos: s"o modelos ou prottipos de artefatos est"o relacionados as ferramentas #ue utili'am. Relat%rios: modelos ou elementos do modelo podem ter relatrios associados a ele. Guias de artefatos e pontos de verificao: estes elementos apresentam informa!"o de como desenoler% aaliar e usar os artefatos. Disciplinas Uma disciplina uma se#9+ncia de atiidades #ue produ' um resultado de alor consider$el% no RUP e0iste noe disciplinas #ue s"o diidas em seis disciplinas de processo e tr+s de suporte. -s disciplinas de processo s"o, )odelagem de :egcio% Re#uisitos% -n$lise e Projeto (desenho)% 3mplementa!"o% ;este e 3mplanta!"o. -s disciplinas de suporte s"o, <erenciamento de configura!"o e -ltera!"o% <erenciamento de Projetos e -mbiente. -s disciplinas s"o e0pressas em termos de diagramas de atiidades. Modelagem de negcio, -s finalidades da modelagem de negcio s"o, 8ntender a estrutura e a din.mica da organi'a!"o na #ual o sistema ser$ implantado (organi'a!"o alo)7 8ntender os problemas atuais da organi'a!"o alo e identificar potenciais de melhoria7 -ssegurar #ue clientes% usu$rios finais e desenoledores t+m um entendimento comum da organi'a!"o alo7 5eriar os re#uisitos do sistema para apoiar a organi'a!"o. Requisitos: - disciplina de re#uisitos descree como capturar e gerenciar os re#uisitos do sistema efetiamente e projetar uma interface de usu$rio% focando nas necessidades e objetios dos usu$rios e de outros interessados importantes. -s finalidades da disciplina de re#uisitos s"o, 8stabelecer e manter um acordo com o cliente e outros7 interessados sobre o #ue o sistema dee fa'er7 Proer aos desenoledores do sistema um melhor entendimento dos re#uisitos do sistema7 5efinir os limites do sistema (delimitar o sistema)7 Proer a base para o planejamento do conte1do tcnico das itera!(es7 Proer a base para as estimatias de custo e tempo necess$rios para se desenoler o sistema7 5efinir uma interface de usu$rio para o sistema% focando nas necessidades e objetios dos usu$rios. Anlise e proeto: a disciplina de an$lise e projeto tradu' os re#uisitos para as especifica!(es #ue descreem com implementar o sistema. -s finalidades s"o, transformar re#uisitos num projeto no #ue ser$ sistema7 desenoler uma ar#uitetura robusta para o sistema7 !mplementa"#o: a disciplina de implementa!"o introdu' os conceitos de prottipos e integra!"o incremental. -s finalidades s"o, definir a organi'a!"o do cdigo em termos de implementa!"o de subsistemas organi'ados em camadas7 implementar classes e objetos em termos de componentes7 testar os componentes desenolidos como unidades7 integrar em um sistema e0ecut$el os resultados produ'idos pelos implementadores indiiduais ou e#uipes. $este: -s finalidades da disciplina de teste s"o as seguintes, =erificar a intera!"o de componentes7 =erificar a integra!"o apropriada de todos os componentes7 =erificar se todos os re#uisitos t+m sido implementados corretamente7 3dentificar e assegurar #ue os defeitos s"o corrigidos antes da implanta!"o do sistema. !mplanta"#o: - disciplina de implanta!"o descree as atiidades associadas a assegurar #ue o produto de software est$ dispon&el para seus usu$rios finais. - disciplina de implanta!"o descree tr+s modos de implanta!"o do produto, 3nstala!"o customi'ada7 Oferecer produto >shrin? wrap>7 -cesso ao software pela internet. %erenciamento de Altera"#o e Configura"#o: a finalidade dessa disciplina acompanhar a integridade dos bens enolidos no projeto% #ue s"o gerados durante o processo de desenolimento e deem ser guardados para estarem dispon&eis para o reuso. @inalmente% para suportar a disciplina de gerenciamento de projetos% necess$rio fornecer informa!(es sobre o status dos artefatos principais do programa e reunir mtricas relacionadas a suas altera!(es. O cubo <-6 (gerenciamento de altera!"o e configura!"o) cobre tr+s fun!(es interdependentes #ue s"o, gerenciamento de configura!"o% gerenciamento de solicita!"o de altera!"o e medi!"o. %erenciamento de proetos, a arte de balancear objetios% gerenciamento de riscos e supera!"o de obst$culos para entregar um produto #ue encontre as necessidades do cliente e dos usu$rio. 8sta disciplina tem as seguintes finalidades, Proer um framewor? para gerenciamento de projetos de software7 Proer guias pr$ticas para planejamento% recrutamento% e0ecu!"o e monitoramento de projetos7 Proer um framewor? para gerenciamento de riscos. 8sta disciplina foca nos aspectos espec&ficos de um processo de desenolimento iteratio e incremental, Planejamento de um projeto iteratio% atras do ciclo de ida e planejamento de uma itera!"o em particular7 <erenciamento de riscos7 )onitoramento do progresso de um projeto iteratio e de mtricas. Planeando um processo iterativo, os objetios s"o os seguintes, alocar tarefas e responsabilidades para uma e#uipe de pessoas ao longo do tempo7 monitorar o progresso relatio para o plano e detectar potenciais problemas. 2 recomend$el #ue o desenolimento seja baseado em dois tipos de planos, um plano de granularidade grossa (plano de fases) e um plano de granularidade fina (plano de itera!(es). Conceito de risco, o gerenciamento de riscos se preocupa com os aspectos n"o conhecidos. :o desenolimento de software% risco uma ari$el #ue dentro de sua distribui!"o normal pode tomar um alor #ue p(e em perigo ou elimine o sucesso para o projeto. Conceito de m&tricas, s"o utili'adas para con#uistar o controle do projeto e ent"o gerenci$/los. -s medi!(es serem para aaliar o #u"o longe ou perto est$ com rela!"o aos objetios pelo plano em termos de conclus"o% #ualidade e concord.ncia com rela!"o aos re#uisitos. Am'iente, a disciplina de ambiente foca nas atiidades necess$rias para configurar o processo para o projeto. Sua finalidade proer a organi'a!"o de desenolimento de software com o ambiente de desenolimento de software. Conclus#o O RUP uma poderosa ferramenta #ue au0ilia no desenolimento de sistemas orientados a objeto% possibilitando maior efic$cia em todos os passos de desenolimento desse sistema. Usando ade#uadamente o RUP obtemos softwares de #ualidade #ue satisfa'em a necessidade dos usu$rios% dentro do cronograma e or!amentos preis&eis. 6i+ncia da 6omputa!"o =3 A UR3 6ampus Santiago 6irineu Pinheiro 5elaechia )aicon de Brito do -marante