Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1 Historia
,a -i$ura . ilustra la #istoria de UP. El antecedente ms importante se u"ica en ./01 con la +etodolo$%a Ericsson (Ericsson Approach! ela"orada por Ivar 2aco"son& una apro3imacin de desarrollo "asada en componentes& 4ue introdu5o el concepto de Caso de Uso. Entre los a)os de ./61 a .//7 2aco"son fund la compa)%a Objectory 8* y lan'a el proceso de desarrollo Objectory (a"reviacin de Object Factory!.
Figura 1: Historia de RUP Posteriormente en .//7 Rational Software Corporation ad4uiere Objectory AB y entre .//7 y .//1 se desarrolla Rational Objectory Process ( 9P! a partir de Objectory :.6 y del Enfo4ue ational ( Rational Approach! adoptando U+, como len$ua5e de modelado. Desde ese entonces y a la ca"e'a de ;rady *ooc#& Ivar 2aco"son y 2ames um"au$#& ational Soft(are desarroll e incorpor diversos elementos para e3pandir 9P& destacndose especialmente el flu5o de tra"a5o conocido como modelado del ne$ocio. En 5unio del .//6 se lan'a Rational Unified Process.
Caractersticas esenciales
,os autores de UP destacan 4ue el proceso de soft(are propuesto por UP tiene tres caracter%sticas esenciales< est diri$ido por los Casos de Uso& est centrado en la ar4uitectura& y es iterativo e incremental.
Bomado de a p$ina de la Universidad de Valencia. D P.,etelier . Se puede usar material de otros autores sin autori'acin con fines academicos D, 6CC .
Figura 2: Los Casos de Uso integran el traba o ,os Casos de Uso no slo inician el proceso de desarrollo sino 4ue proporcionan un #ilo conductor& permitiendo esta"lecer tra'a"ilidad entre los artefactos 4ue son $enerados en las diferentes actividades del proceso de desarrollo. Como se muestra en la -i$ura :& "asndose en los Casos de Uso se crean los modelos de anlisis y dise)o& lue$o la implementacin 4ue los lleva a ca"o& y se verifica 4ue efectivamente el producto implemente adecuadamente cada Caso de Uso. Bodos los modelos de"en estar sincroni'ados con el modelo de Casos de Uso.
Bomado de a p$ina de la Universidad de Valencia. D P.,etelier . Se puede usar material de otros autores sin autori'acin con fines academicos D, 6CC C
En el caso de UP adems de utili'ar los Casos de Uso para $uiar el proceso se presta especial atencin al esta"lecimiento temprano de una "uena ar4uitectura 4ue no se vea fuertemente impactada ante cam"ios posteriores durante la construccin y el mantenimiento. Cada producto tiene tanto una funcin como una forma. ,a funcin corresponde a la funcionalidad refle5ada en los Casos de Uso y la forma la proporciona la ar4uitectura. E3iste una interaccin entre los Casos de Uso y la ar4uitectura& los Casos de Uso de"en enca5ar en la ar4uitectura cuando se llevan a ca"o y la ar4uitectura de"e permitir el desarrollo de todos los Casos de Uso re4ueridos& actualmente y en el futuro. Esto provoca 4ue tanto ar4uitectura como Casos de Uso de"an evolucionar en paralelo durante todo el proceso de desarrollo de soft(are. En la -i$ura E se ilustra la evolucin de la ar4uitectura durante las fases de UP. Se tiene una ar4uitectura ms ro"usta en las fases finales del proyecto. En las fases iniciales lo 4ue se #ace es ir consolidando la ar4uitectura por medio de baselines y se va modificando dependiendo de las necesidades del proyecto.
Inception
Ela"oration
Construction
Bransition
8rc#itecture
tiempo
Figura %: &'oluci(n de la ar$uitectura del siste)a Es conveniente ver el sistema desde diferentes perspectivas para comprender me5or el dise)o por lo 4ue la ar4uitectura se representa mediante varias vistas 4ue se centran en aspectos concretos del sistema& a"strayndose de los dems. Para UP& todas las vistas 5untas forman el llamado modelo EF. de la ar4uitectura >?ru/7A& el cual reci"e este nom"re por4ue lo forman las vistas l$ica& de implementacin& de proceso y de desplie$ue& ms la de Casos de Uso 4ue es la 4ue da co#esin a todas.
Bomado de a p$ina de la Universidad de Valencia. D P.,etelier . Se puede usar material de otros autores sin autori'acin con fines academicos D, 6CC :
Bomado de a p$ina de la Universidad de Valencia. D P.,etelier . Se puede usar material de otros autores sin autori'acin con fines academicos D, 6CC E
8l final de la fase de ela"oracin se o"tiene una baseline1 de la ar4uitectura donde fueron seleccionados una serie de Casos de Uso ar4uitectnicamente relevantes (a4uellos 4ue ayudan a miti$ar los ries$os ms importantes& a4uellos 4ue son los ms importantes para el usuario y a4uellos 4ue cu"ran las funcionalidades si$nificativas! Como se o"serva en la -i$ura 7& durante la construccin los diversos modelos van desarrollndose #asta completarse (se$=n se muestra con las formas rellenas en la es4uina superior derec#a!. ,a descripcin de la ar4uitectura sin em"ar$o& no de"er%a cam"iar si$nificativamente (a"a5o a la derec#a! de"ido a 4ue la mayor parte de la ar4uitectura se decidi durante la ela"oracin. Se incorporan pocos cam"ios a la ar4uitectura (indicados con mayor densidad de puntos en la fi$ura inferior derec#a! >2* @@A.
Figura -: Una iteraci(n RUP El proceso iterativo e incremental consta de una secuencia de iteraciones. Cada iteracin a"orda una parte de la funcionalidad total& pasando por todos los flu5os de tra"a5o relevantes y refinando la ar4uitectura. Cada iteracin se anali'a cuando termina. Se puede determinar si #an aparecido nuevos re4uisitos o #an cam"iado los e3istentes& afectando a las iteraciones si$uientes. Durante la planificacin de los detalles de la si$uiente iteracin& el e4uipo tam"in e3amina cmo afectarn los ries$os 4ue a=n 4uedan al tra"a5o en curso. Boda la retroalimentacin de la iteracin pasada permite rea5ustar los o"5etivos para las si$uientes iteraciones. Se contin=a con esta dinmica #asta 4ue se #aya finali'ado por completo con la versin actual . Una "aseline es una instantnea del estado de todos los artefactos del proyecto& re$istrada para efectos de $estin de confi$uracin y control de cam"ios.
Bomado de a p$ina de la Universidad de Valencia. D P.,etelier . Se puede usar material de otros autores sin autori'acin con fines academicos D, 6CC 7
del producto. UP divide el proceso en cuatro fases& dentro de las cuales se reali'an varias iteraciones en n=mero varia"le se$=n el proyecto y en las 4ue se #ace un mayor o menor #incapi en los distintas actividades. En la -i$ura 1 se muestra cmo var%a el esfuer'o asociado a las disciplinas se$=n la fase en la 4ue se encuentre el proyecto UP.
Figura .: &sfuer#o en acti'idades seg/n fase del pro0ecto ,as primeras iteraciones (en las fases de Inicio y Ela"oracin! se enfocan #acia la comprensin del pro"lema y la tecnolo$%a& la delimitacin del m"ito del proyecto& la eliminacin de los ries$os cr%ticos& y al esta"lecimiento de una baseline de la ar4uitectura. Durante la fase de inicio las iteraciones #acen ponen mayor nfasis en actividades modelado del ne$ocio y de re4uisitos. En la fase de ela"oracin& las iteraciones se orientan al desarrollo de la baseline de la ar4uitectura& a"arcan ms los flu5os de tra"a5o de re4uerimientos& modelo de ne$ocios (refinamiento!& anlisis& dise)o y una parte de implementacin orientado a la baseline de la ar4uitectura. En la fase de construccin& se lleva a ca"o la construccin del producto por medio de una serie de iteraciones. Para cada iteracin se selecciona al$unos Casos de Uso& se refina su anlisis y dise)o y se procede a su implementacin y prue"as. Se reali'a una pe4ue)a cascada para cada ciclo. Se reali'an tantas iteraciones #asta 4ue se termine la implementacin de la nueva versin del producto. En la fase de transicin se pretende $aranti'ar 4ue se tiene un producto preparado para su entre$a a la comunidad de usuarios. Como se puede o"servar en cada fase participan todas las disciplinas& pero 4ue dependiendo de la fase el esfuer'o dedicado a una disciplina var%a.
Bomado de a p$ina de la Universidad de Valencia. D P.,etelier . Se puede usar material de otros autores sin autori'acin con fines academicos D, 6CC 0
1tras pr,cticas
UP identifica 0 best practices con las 4ue define una forma efectiva de tra"a5ar para los e4uipos de desarrollo de soft(are.
2esti(n de re$uisitos
UP "rinda una $u%a para encontrar& or$ani'ar& documentar& y se$uir los cam"ios de los re4uisitos funcionales y restricciones. Utili'a una notacin de Caso de Uso y escenarios para representar los re4uisitos.
Bomado de a p$ina de la Universidad de Valencia. D P.,etelier . Se puede usar material de otros autores sin autori'acin con fines academicos D, 6CC 1
Bomado de a p$ina de la Universidad de Valencia. D P.,etelier . Se puede usar material de otros autores sin autori'acin con fines academicos D, 6CC 6
ciclo de desarrollo
ciclo de evolucin
release
(producto al final de una iteracin)
base line
(release asociada a un hito)
generacin
(release final de un ciclo de desarrollo)
Figura 9: Ciclos+ releases+ baseline Cada fase se concluye con un #ito "ien definido& un punto en el tiempo en el cual se de"en tomar ciertas decisiones cr%ticas y alcan'ar las metas clave antes de pasar a la si$uiente fase& ese #ito principal de cada fase se compone de #itos menores 4ue podr%an ser los criterios aplica"les a cada iteracin. ,os #itos para cada una de las fases son< Inicio H Lifecycle Objecti es! Ela"oracin H Lifecycle Architect"re! Construccin H #nitial Operational Capability! Bransicin H Product elease. ,as fases y sus respectivos #itos se ilustran en la -i$ura .@.
Inception
Ela"oration
Construction
Bransition
9"5etivos (Vision!
8r4uitectura
tiempo
Figura 1:: Fases e 7itos en RUP
,a duracin y esfuer'o dedicado en cada fase es varia"le dependiendo de las caracter%sticas del proyecto. Sin em"ar$o& la -i$ura .. ilustra porcenta5es frecuentes al respecto. Consecuente con el esfuer'o se)alado& la -i$ura .C ilustra una distri"ucin t%pica de recursos #umanos necesarios a lo lar$o del proyecto.
Bomado de a p$ina de la Universidad de Valencia. D P.,etelier . Se puede usar material de otros autores sin autori'acin con fines academicos D, 6CC /
;nicio
Durante la fase de inicio se define el modelo del ne$ocio y el alcance del proyecto. Se identifican todos los actores y Casos de Uso& y se dise)an los Casos de Uso ms esenciales (apro3imadamente el C@I del modelo completo!. Se desarrolla& un plan de ne$ocio para determinar 4ue recursos de"en ser asi$nados al proyecto. ,os o"5etivos de esta fase son >? U@@A< Esta"lecer el m"ito del proyecto y sus l%mites. Encontrar los Casos de Uso cr%ticos del sistema& los escenarios "sicos 4ue definen la funcionalidad. +ostrar al menos una ar4uitectura candidata para los escenarios principales. Estimar el coste en recursos y tiempo de todo el proyecto. Estimar los ries$os& las fuentes de incertidum"re. ,os resultados de la fase de inicio de"en ser > SC/6A< Un documento de visin< Una visin $eneral de los re4uerimientos del proyecto& caracter%sticas clave y restricciones principales. +odelo inicial de Casos de Uso (.@HC@I completado!. Un $losario inicial< Berminolo$%a clave del dominio. El caso de ne$ocio. ,ista de ries$os y plan de contin$encia. Plan del proyecto& mostrando fases e iteraciones. +odelo de ne$ocio& si es necesario Prototipos e3ploratorios para pro"ar conceptos o la ar4uitectura candidata. 8l terminar la fase de inicio se de"en compro"ar los criterios de evaluacin para continuar< Bodos los interesados en el proyecto coinciden en la definicin del m"ito del sistema y las estimaciones de a$enda. Entendimiento de los re4uisitos& como evidencia de la fidelidad de los Casos de Uso principales. ,as estimaciones de tiempo& coste y ries$o son cre%"les. Comprensin total de cual4uier prototipo de la ar4uitectura desarrollado. ,os $astos #asta el momento se aseme5an a los planeados. Si el proyecto no pasa estos criterios #ay 4ue plantearse a"andonarlo o repensarlo profundamente.
Bomado de a p$ina de la Universidad de Valencia. D P.,etelier . Se puede usar material de otros autores sin autori'acin con fines academicos D, 6CC .@
&laboraci(n
El propsito de la fase de ela"oracin es anali'ar el dominio del pro"lema& esta"lecer los cimientos de la ar4uitectura& desarrollar el plan del proyecto y eliminar los mayores ries$os. En esta fase se construye un prototipo de la ar4uitectura& 4ue de"e evolucionar en iteraciones sucesivas #asta convertirse en el sistema final. Este prototipo de"e contener los Casos de Uso cr%ticos identificados en la fase de inicio. Bam"in de"e demostrarse 4ue se #an evitado los ries$os ms $raves. ,os o"5etivos de esta fase son >? U@@A< Definir& validar y cimentar la ar4uitectura. Completar la visin. Crear un plan fia"le para la fase de construccin. Este plan puede evolucionar en sucesivas iteraciones. De"e incluir los costes si procede. Demostrar 4ue la ar4uitectura propuesta soportar la visin con un coste ra'ona"le y en un tiempo ra'ona"le. 8l terminar de"en o"tenerse los si$uientes resultados > SC/6A< Un modelo de Casos de Uso completa al menos #asta el 6@I< todos los casos y actores identificados& la mayor%a de los casos desarrollados. e4uisitos adicionales 4ue capturan los re4uisitos no funcionales y cual4uier re4uisito no asociado con un Caso de Uso espec%fico. Descripcin de la ar4uitectura soft(are. Un prototipo e5ecuta"le de la ar4uitectura. ,ista de ries$os y caso de ne$ocio revisados. Plan de desarrollo para el proyecto. Un caso de desarrollo actuali'ado 4ue especifica el proceso a se$uir. Un manual de usuario preliminar (opcional!. En esta fase se de"e tratar de a"arcar todo el proyecto con la profundidad m%nima. Slo se profundi'a en los puntos cr%ticos de la ar4uitectura o ries$os importantes. En la fase de ela"oracin se actuali'an todos los productos de la fase de inicio. ,os criterios de evaluacin de esta fase son los si$uientes< ,a visin del producto es esta"le. ,a ar4uitectura es esta"le. Se #a demostrado mediante la e5ecucin del prototipo 4ue los principales elementos de ries$o #an sido a"ordados y resueltos. El plan para la fase de construccin es detallado y preciso. ,as estimaciones son cre%"les. Bodos los interesados coinciden en 4ue la visin actual ser alcan'ada si se si$uen los planes actuales en el conte3to de la ar4uitectura actual. ,os $astos #asta a#ora son acepta"les& comparados con los previstos. Si no se superan los criterios de evaluacin 4ui' sea necesario a"andonar el proyecto o replanterselo considera"lemente.
Bomado de a p$ina de la Universidad de Valencia. D P.,etelier . Se puede usar material de otros autores sin autori'acin con fines academicos D, 6CC ..
Construcci(n
,a finalidad principal de esta fase es alcan'ar la capacidad operacional del producto de forma incremental a travs de las sucesivas iteraciones. Durante esta fase todos los componentes& caracter%sticas y re4uisitos de"en ser implementados& inte$rados y pro"ados en su totalidad& o"teniendo una versin acepta"le del producto. ,os o"5etivos concretos se$=n >? U@@A incluyen< +inimi'ar los costes de desarrollo mediante la optimi'acin de recursos y evitando el tener 4ue re#acer un tra"a5o o incluso desec#arlo. Conse$uir una calidad adecuada tan rpido como sea prctico. Conse$uir versiones funcionales (alfa& "eta& y otras versiones de prue"a! tan rpido como sea prctico. ,os resultados de la fase de construccin de"en ser > SC/6A<JJ +odelos Completos (Casos de Uso& 8nlisis& Dise)o& Desplie$ue e Implementacin! 8r4uitectura %nte$ra (mantenida y m%nimamente actuali'ada! ies$os Presentados +iti$ados Plan del Proyecto para la fase de Bransicin. +anual Inicial de Usuario (con suficiente detalle! Prototipo 9peracional K "eta Caso del Le$ocio 8ctuali'ado ,os criterios de evaluacin de esta fase son los si$uientes< El producto es esta"le y maduro como para ser entre$ado a la comunidad de usuario para ser pro"ado. Bodos los usuarios e3pertos estn listos para la transicin en la comunidad de usuarios. Son acepta"les los $astos actuales versus los $astos planeados.
"ransici(n
,a finalidad de la fase de transicin es poner el producto en manos de los usuarios finales& para lo 4ue se re4uiere desarrollar nuevas versiones actuali'adas del producto& completar la documentacin& entrenar al usuario en el mane5o del producto& y en $eneral tareas relacionadas con el a5uste& confi$uracin& instalacin y facilidad de uso del producto. En >? U@@A se citan al$unas de las cosas 4ue puede incluir esta fase< Prue"a de la versin *eta para validar el nuevo sistema frente a las e3pectativas de los usuarios -uncionamiento paralelo con los sistemas le$ados 4ue estn siendo sustituidos por nuestro proyecto. Conversin de las "ases de datos operacionales. Entrenamiento de los usuarios y tcnicos de mantenimiento. Braspaso del producto a los e4uipos de marMetin$& distri"ucin y venta. ,os principales o"5etivos de esta fase son< Conse$uir 4ue el usuario se val$a por si mismo. Un producto final 4ue cumpla los re4uisitos esperados& 4ue funcione y satisfa$a suficientemente al usuario. ,os resultados de la fase de transicin son > SC/6A< Prototipo 9peracional Documentos ,e$ales Caso del Le$ocio Completo ,%nea de *ase del Producto completa y corre$ida 4ue incluye todos los modelos del sistema Descripcin de la 8r4uitectura completa y corre$ida ,as iteraciones de esta fase irn diri$idas normalmente a conse$uir una nueva versin. ,os criterios de evaluacin de esta fase son los si$uientes<
Bomado de a p$ina de la Universidad de Valencia. D P.,etelier . Se puede usar material de otros autores sin autori'acin con fines academicos D, 6CC .C
El usuario se encuentra satisfec#o. Son acepta"les los $astos actuales versus los $astos planificados.
Bomado de a p$ina de la Universidad de Valencia. D P.,etelier . Se puede usar material de otros autores sin autori'acin con fines academicos D, 6CC .:
oles 8ctividades
8rtefactos
Roles
Un rol define el comportamiento y responsa"ilidades de un individuo& o de un $rupo de individuos tra"a5ando 5untos como un e4uipo. Una persona puede desempe)ar diversos roles& as% como un mismo rol puede ser representado por varias personas. ,as responsa"ilidades de un rol son tanto el llevar a ca"o un con5unto de actividades como el ser el due)o
Bomado de a p$ina de la Universidad de Valencia. D P.,etelier . Se puede usar material de otros autores sin autori'acin con fines academicos D, 6CC .E
Bomado de a p$ina de la Universidad de Valencia. D P.,etelier . Se puede usar material de otros autores sin autori'acin con fines academicos D, 6CC .7
UP define $rupos de roles& a$rupados por participacin en actividades relacionadas. Estos $rupos son > SC@CA< 8nalistas< 8nalista de procesos de ne$ocio. Dise)ador del ne$ocio. 8nalista de sistema. Especificador de re4uisitos. Desarrolladores< 8r4uitecto de soft(are. Dise)ador Dise)ador de interfa' de usuario Dise)ador de cpsulas. Dise)ador de "ase de datos. Implementador. Inte$rador. ;estores< 2efe de proyecto 2efe de control de cam"ios. 2efe de confi$uracin. 2efe de prue"as 2efe de desplie$ue In$eniero de procesos evisor de $estin del proyecto ;estor de prue"as. 8poyo< Documentador tcnico 8dministrador de sistema Especialista en #erramientas Desarrollador de cursos 8rtista $rfico Especialista en prue"as< Especialista en Prue"as (tester! 8nalista de prue"as Dise)ador de prue"as 9tros roles< Sta$eholders. evisor Coordinacin de revisiones evisor tcnico Cual4uier rol
Bomado de a p$ina de la Universidad de Valencia. D P.,etelier . Se puede usar material de otros autores sin autori'acin con fines academicos D, 6CC .0
>cti'idades
Una actividad en concreto es una unidad de tra"a5o 4ue una persona 4ue desempe)e un rol puede ser solicitado a 4ue realice. ,as actividades tienen un o"5etivo concreto& normalmente e3presado en trminos de crear o actuali'ar al$=n producto.
>rtefactos
Un producto o artefacto es un tro'o de informacin 4ue es producido& modificado o usado durante el proceso de desarrollo de soft(are. ,os productos son los resultados tan$i"les del proyecto& las cosas 4ue va creando y usando #asta o"tener el producto final >++8A. Un artefacto puede ser cual4uiera de los si$uientes > SC@CA<
Un documento& como el documento de la ar4uitectura del soft(are. Un modelo& como el modelo de Casos de Uso o el modelo de dise)o. Un elemento del modelo& un elemento 4ue pertenece a un modelo como una clase& un Caso de Uso o un su"sistema.
Flu os de traba o
Con la enumeracin de roles& actividades y artefactos no se define un proceso& necesitamos contar con una secuencia de actividades reali'adas por los diferentes roles& as% como la relacin entre los mismos. Un flu5o de tra"a5o es una relacin de actividades 4ue nos producen unos resultados o"serva"les. 8 continuacin se dar una e3plicacin de cada flu5o de tra"a5o. 5odelado del negocio Con este flu5o de tra"a5o pretendemos lle$ar a un me5or entendimiento de la or$ani'acin donde se va a implantar el producto. ,os o"5etivos del modelado de ne$ocio son > SC@CA<
Entender la estructura y la dinmica de la or$ani'acin para la cual el sistema va ser desarrollado (or$ani'acin o"5etivo!. Entender el pro"lema actual en la or$ani'acin o"5etivo e identificar potenciales me5oras. 8se$urar 4ue clientes& usuarios finales y desarrolladores ten$an un entendimiento com=n de la or$ani'acin o"5etivo. Derivar los re4uisitos del sistema necesarios para apoyar a la or$ani'acin o"5etivo.
Para lo$rar estos o"5etivos& el modelo de ne$ocio descri"e como desarrollar una visin de la nueva or$ani'acin& "asado en esta visin se definen procesos& roles y responsa"ilidades de la or$ani'acin por medio de un modelo de Casos de Uso del ne$ocio y un +odelo de 9"5etos del Le$ocio. Complementario a estos modelos& se desarrollan otras especificaciones tales como un ;losario. Re$uisitos Este es uno de los flu5os de tra"a5o ms importantes& por4ue en l se esta"lece 4u tiene 4ue #acer e3actamente el sistema 4ue construyamos. En esta l%nea los re4uisitos son el contrato 4ue se de"e cumplir& de modo 4ue los usuarios finales tienen 4ue comprender y aceptar los re4uisitos 4ue especifi4uemos. ,os o"5etivos del flu5o de datos e4uisitos es > SC@CA<
Esta"lecer y mantener un acuerdo entre clientes y otros sta$eholders so"re lo 4ue el sistema podr%a #acer. Proveer a los desarrolladores un me5or entendimiento de los re4uisitos del sistema. Definir el m"ito del sistema. Proveer una "ase para la planeacin de los contenidos tcnicos de las iteraciones. Proveer una "ase para estimar costos y tiempo de desarrollo del sistema.
Bomado de a p$ina de la Universidad de Valencia. D P.,etelier . Se puede usar material de otros autores sin autori'acin con fines academicos D, 6CC .1
Definir una interfa' de usuarios para el sistema& enfocada a las necesidades y metas del usuario.
,os re4uisitos se dividen en dos $rupos. ,os re4uisitos funcionales representan la funcionalidad del sistema. Se modelan mediante dia$ramas de Casos de Uso. ,os re4uisitos no funcionales representan a4uellos atri"utos 4ue de"e e3#i"ir el sistema& pero 4ue no son una funcionalidad espec%fica. Por e5emplo re4uisitos de facilidad de uso& fia"ilidad& eficiencia& porta"ilidad& etc. Para capturar los re4uisitos es preciso entrevistar a todos los interesados en el proyecto& no slo a los usuarios finales& y anotar todas sus peticiones. 8 partir de ellas #ay 4ue descu"rir lo 4ue necesitan y e3presarlo en forma de re4uisitos. En este flu5o de tra"a5o& y como parte de los re4uisitos de facilidad de uso& se dise)a la interfa' $rfica de usuario. Para ello #a"itualmente se construyen prototipos de la interfa' $rfica de usuario 4ue se contrastan con el usuario final. >n,lisis 0 3ise?o El o"5etivo de este flu5o de tra"a5o es traducir los re4uisitos a una especificacin 4ue descri"e cmo implementar el sistema. ,os o"5etivos del anlisis y dise)o son > SC@CA< Bransformar los re4uisitos al dise)o del futuro sistema. Desarrollar una ar4uitectura para el sistema. 8daptar el dise)o para 4ue sea consistente con el entorno de implementacin& dise)ando para el rendimiento. El anlisis consiste en o"tener una visin del sistema 4ue se preocupa de ver 4u #ace& de modo 4ue slo se interesa por los re4uisitos funcionales. Por otro lado el dise)o es un refinamiento del anlisis 4ue tiene en cuenta los re4uisitos no funcionales& en definitiva cmo cumple el sistema sus o"5etivos. 8l principio de la fase de ela"oracin #ay 4ue definir una ar4uitectura candidata< crear un es4uema inicial de la ar4uitectura del sistema& identificar clases de anlisis y actuali'ar las reali'aciones de los Casos de Uso con las interacciones de las clases de anlisis. Durante la fase de ela"oracin se va refinando esta ar4uitectura #asta lle$ar a su forma definitiva. En cada iteracin #ay 4ue anali'ar el comportamiento para dise)ar componentes. 8dems si el sistema usar una "ase de datos& #a"r 4ue dise)arla tam"in& o"teniendo un modelo de datos. El resultado final ms importante de este flu5o de tra"a5o ser el modelo de dise)o. Consiste en cola"oraciones de clases& 4ue pueden ser a$re$adas en pa4uetes y su"sistemas. 9tro producto importante de este flu5o es la documentacin de la ar4uitectura de soft(are& 4ue captura varias vistas ar4uitectnicas del sistema. ;)ple)entaci(n En este flu5o de tra"a5o se implementan las clases y o"5etos en fic#eros fuente& "inarios& e5ecuta"les y dems. 8dems se de"en #acer las prue"as de unidad< cada implementador es responsa"le de pro"ar las unidades 4ue produ'ca. El resultado final de este flu5o de tra"a5o es un sistema e5ecuta"le. En cada iteracin #a"r 4ue #acer lo si$uiente< Planificar 4u su"sistemas de"en ser implementados y en 4ue orden de"en ser inte$rados& formando el Plan de Inte$racin. Cada implementador decide en 4ue orden implementa los elementos del su"sistema. Si encuentra errores de dise)o& los notifica. Se prue"an los su"sistemas individualmente. Se inte$ra el sistema si$uiendo el plan. ,a estructura de todos los elementos implementados forma el modelo de implementacin. ,a inte$racin de"e ser incremental& es decir& en cada momento slo se a)ade un elemento. De este modo es ms fcil
Bomado de a p$ina de la Universidad de Valencia. D P.,etelier . Se puede usar material de otros autores sin autori'acin con fines academicos D, 6CC .6
locali'ar fallos y los componentes se prue"an ms a fondo. En fases tempranas del proceso se pueden implementar prototipos para reducir el ries$o. Su utilidad puede ir desde ver si el sistema es via"le desde el principio& pro"ar tecnolo$%as o dise)ar la interfa' de usuario. ,os prototipos pueden ser e3ploratorios (desec#a"les! o evolutivos. Estos =ltimos lle$an a transformarse en el sistema final. Pruebas Este flu5o de tra"a5o es el encar$ado de evaluar la calidad del producto 4ue estamos desarrollando& pero no para aceptar o rec#a'ar el producto al final del proceso de desarrollo& sino 4ue de"e ir inte$rado en todo el ciclo de vida. Esta disciplina "rinda soporte a las otras disciplinas. Sus o"5etivos son > SC@CA< Encontrar y documentar defectos en la calidad del soft(are. ;eneralmente asesora so"re la calidad del soft(are perci"ida. Provee la validacin de los supuestos reali'ados en el dise)o y especificacin de re4uisitos por medio de demostraciones concretas. Verificar las funciones del producto de soft(are se$=n lo dise)ado. Verificar 4ue los re4uisitos ten$an su apropiada implementacin. ,as actividades de este flu5o comien'an pronto en el proyecto con el plan de prue"a (el cual contiene informacin so"re los o"5etivos $enerales y espec%ficos de las prue"a en el proyecto& as% como las estrate$ias y recursos con 4ue se dotar a esta tarea!& o incluso antes con al$una evaluacin durante la fase de inicio& y continuar durante todo el proyecto. El desarrollo del flu5o de tra"a5o consistir en planificar 4ue es lo 4ue #ay 4ue pro"ar& dise)ar cmo se va a #acer& implementar lo necesario para llevarlos a ca"o& e5ecutarlos en los niveles necesarios y o"tener los resultados& de forma 4ue la informacin o"tenida nos sirva para ir refinando el producto a desarrollar. 3espliegue El o"5etivo de este flu5o de tra"a5o es producir con 3ito distri"uciones del producto y distri"uirlo a los usuarios. ,as actividades implicadas incluyen<
Pro"ar el producto en su entorno de e5ecucin final. Empa4uetar el soft(are para su distri"ucin. Distri"uir el soft(are. Instalar el soft(are. Proveer asistencia y ayuda a los usuarios. -ormar a los usuarios y al cuerpo de ventas. +i$rar el soft(are e3istente o convertir "ases de datos.
Este flu5o de tra"a5o se desarrolla con mayor intensidad en la fase de transicin& ya 4ue el propsito del flu5o es ase$urar una aceptacin y adaptacin sin complicaciones del soft(are por parte de los usuarios. Su e5ecucin inicia en fases anteriores& para preparar el camino& so"re todo con actividades de planificacin& en la ela"oracin del manual de usuario y tutoriales. 2esti(n del pro0ecto ,a ;estin del proyecto es el arte de lo$rar un "alance al $estionar o"5etivos& ries$os y restricciones para desarrollar un producto 4ue sea acorde a los re4uisitos de los clientes y los usuarios. ,os o"5etivos de este flu5o de tra"a5o son< Proveer un marco de tra"a5o para la $estin de proyectos de soft(are intensivos. Proveer $u%as prcticas reali'ar planeacin& contratar personal& e5ecutar y monitorear el proyecto. Proveer un marco de tra"a5o para $estionar ries$os. ,a planeacin de un proyecto posee dos niveles de a"straccin< un plan para las fases y un plan para cada iteracin. Configuraci(n 0 control de ca)bios
Bomado de a p$ina de la Universidad de Valencia. D P.,etelier . Se puede usar material de otros autores sin autori'acin con fines academicos D, 6CC ./
,a finalidad de este flu5o de tra"a5o es mantener la inte$ridad de todos los artefactos 4ue se crean en el proceso& as% como de mantener informacin del proceso evolutivo 4ue #an se$uido. &ntorno ,a finalidad de este flu5o de tra"a5o es dar soporte al proyecto con las adecuadas #erramientas& procesos y mtodos. *rinda una especificacin de las #erramientas 4ue se van a necesitar en cada momento& as% como definir la instancia concreta del proceso 4ue se va a se$uir. En concreto las responsa"ilidades de este flu5o de tra"a5o incluyen< Seleccin y ad4uisicin de #erramientas Esta"lecer y confi$urar las #erramientas para 4ue se a5usten a la or$ani'acin. Confi$uracin del proceso. +e5ora del proceso. Servicios tcnicos. El principal artefacto 4ue se usa en este flu5o de tra"a5o es el caso de desarrollo 4ue especifica para el proyecto actual en concreto& como se aplicar el proceso& 4ue productos se van a utili'ar y como van a ser utili'ados. 8dems se tendrn 4ue definir las $u%as para los distintos aspectos del proceso& como pueden ser el modelado del ne$ocio y los Casos de Uso& para la interfa' de usuario& el dise)o& la pro$ramacin& el manual de usuario.
representacin en trminos de anlisis (sin incluir aspectos de implementacin! #acia una de dise)o (incluyendo una orientacin #acia el entorno de implementacin!. Est constituido esencialmente por un Dia$rama de Clases y al$unos Dia$ramas de Estados para las clases 4ue lo re4uieran. .. 5odelo L(gico Relacional Previendo 4ue la persistencia de la informacin del sistema ser soportada por una "ase de datos relacional& este modelo descri"e la representacin l$ica de los datos persistentes& de acuerdo con el enfo4ue para modelado relacional de datos. Para e3presar este modelo se utili'a un Dia$rama de Ba"las donde se muestran las ta"las& claves& etc. 8. 5odelo de ;)ple)entaci(n Este modelo es una coleccin de componentes y los su"sistemas 4ue los contienen. Estos componentes incluyen< fic#eros e5ecuta"les& fic#eros de cdi$o fuente& y todo otro tipo de fic#eros necesarios para la implantacin y desplie$ue del sistema. 9. 5odelo de Pruebas Para cada Caso de Uso se esta"lecen prue"as de 8ceptacin 4ue validarn la correcta implementacin del Caso de Uso. Cada prue"a es especificada mediante un documento 4ue esta"lece las condiciones de e5ecucin& las entradas de la prue"a& y los resultados esperados. 1:. 5anual de ;nstalaci(n Este documento incluye las instrucciones para reali'ar la instalacin del producto. 11. 5aterial de Usuario Corresponde a un con5unto de documentos y facilidades de uso del sistema. 12. Producto Bodos los fic#eros fuente y e5ecuta"le del producto.
Bomado de a p$ina de la Universidad de Valencia. D P.,etelier . Se puede usar material de otros autores sin autori'acin con fines academicos D, 6CC C.
Bomado de a p$ina de la Universidad de Valencia. D P.,etelier . Se puede usar material de otros autores sin autori'acin con fines academicos D, 6CC CC
,as relaciones de tra'a"ilidad son enlaces entre artefactos 4ue esta"lecen cmo se $eneran unos a partir de otros. Esto permite por e5emplo ase$urar la co"ertura de los re4uisitos o determinar el posi"le impacto de los cam"ios. En la -i$ura .7 se ilustran los modelos y artefactos utili'ados& indicando las relaciones de tra'a"ilidad entre ellos& lo cual se resume a continuacin< Se modelarn los procesos de ne$ocio de la situacin actual utili'ando Dia$ramas de 8ctividad para representar -lu5os de Bra"a5o 8ctuales. Esto se complementar mediante un ;losario 4ue esta"lecer la terminolo$%a. El modelo de procesos de la solucin propuesta incluir -lu5os de Bra"a5o Propuestos 5unto con una lista de Caracter%sticas del Producto Soft(are. ,os re4uisitos sern esta"lecidos mediante un +odelo de Casos de Uso 4ue incluir Dia$ramas de Casos de Uso& Prototipos de Interfaces de Usuario y Especificaciones de Casos de Uso. El +odelo de Prue"as incluir las Prue"as de 8ceptacin esta"lecidas para cada Caso de Uso. El +odelo de 8nlisis y Dise)o esta"lecer el particionamiento interno del sistema. Estar compuesto por un Dia$rama de Clases y al$unos Dia$ramas de Estados. ,as clases determinarn la estructura y las operaciones necesarias para implementar las funcionalidades descritas en los Casos de Uso. ,os Dia$ramas de Estados detallarn el comportamiento para las clases 4ue lo re4uieran. 8 partir del Dia$rama de Clases& y considerando las clases 4ue re4uieran persistencia& se derivar el +odelo ,$ico elacional& representado mediante Dia$ramas de Ba"las. En el +odelo de Implementacin se or$ani'arn las operaciones de las clases en trminos de componentes de dic#a ar4uitectura. Esto se representar mediante Dia$ramas de Componentes. ,a implementacin del +odelo ,$ico elacional y de los componentes de la aplicacin constituirn el Producto& el cual se complementar con el +anual de Instalacin y el +anual de Usuario.
Referencias
D P.,etelier #ttps<GGpid.dsic.upv.es
C: