SlideShare ist ein Scribd-Unternehmen logo
1 von 25
ANÁLISIS DE SISTEMAS II

     METODOLOGIA RUP (RATIONAL UNIFIED PROCESS)
INTRODUCCIÓN.

En la actualidad, la utilización de metodologías para el desarrollo de aplicaciones es
casi imposible omitirla, debido a la gran necesidad de control de variables que conlleva
el mismo desarrollo, y para la ordenada elaboración de las aplicaciones, por lo tanto,
seguir metodologías y estándares nos llevan a estar en competitividad en todo
momento.

Es de suma importancia conocer el modo como se interrelacionan metodologías con
estándares y herramientas siguiendo un único propósito, el cual consiste en la
elaboración de aplicaciones de manera eficiente, ordenada y con el menor número de
defectos.

La metodología RUP nos proporciona disciplinas en las cuales se encuentran artefactos
con lo cual se podrá contar con guías para poder documentar e implementar de una
manera fácil y eficiente, todas las guías para un buen desarrollo, todo esto dentro de las
respectivas fases con las cuales cuenta.

RESUMEN.

Las metodologías y estándares utilizados en un desarrollo de software nos
proporcionan las guías para poder conocer todo el camino a recorrer desde antes de
empezar la implementación, con lo cual se asegura la calidad del producto final, así
como también el cumplimiento en la entrega del mismo en un tiempo estipulado.

Es de suma importancia elegir la metodología adecuada, así como las herramientas de
implementación adecuadas, es por ello que la metodología RUP basada en UML nos
proporciona todas las bases para llevar al éxito la elaboración del software, para ello la
utilización de la herramienta RUP para el desarrollo rápido de aplicaciones.

Este trabajo consta de siete capítulos, los cuales se describen a continuación:

    En el capítulo uno se abarcará la explicación de la metodología RUP con sus bases
    en el UML, las partes que la conforman, su funcionalidad; con lo cual podremos
    observar la interrelación entre ambos y la importancia de su uso en el desarrollo de
    aplicaciones.
    En el capítulo dos se abarcará lo que son las dimensiones de RUP dentro de ello
    específica los casos de uso y el proceso modelado a una arquitectura y los
    procesos iterativos.
    En el capítulo tres se abarca lo que son las fases y sus planeaciones los esfuerzos
    a los flujos de trabajo y a los de su respecto.
    En el capítulo cuatro se abarca lo que son las disciplinas como modelado de
    negocio, requerimientos, análisis, etc.
    En el capítulo cinco se abarca a lo que son las organizaciones del RUP como
    actores, artefactos y grados de artefacto.
    En el capítulo seis se trata de lo que es el Lenguaje Unificado de Modelado (UML)
    que se extiende hasta los casos de uso y diagramas y más ámbito de desarrollos de
    software.
                                            1 - 25
ANÁLISIS DE SISTEMAS II

   Y como final el capítulo siete se abarca a lo que son las metodologías de diseño y
   Análisis de software con RUP y UML.

RationalUnifiedProcess (RUP)

Las siglas RUP en ingles significa RationalUnifiedProcess (Proceso Unificado de
Racional) es un producto del proceso de ingeniería de software que proporciona un
enfoque disciplinado para asignar tareas y responsabilidades dentro de una
organización del desarrollo. Su meta es asegurar la producción del software de alta
calidad que resuelve las necesidades de los usuarios dentro de un presupuesto y
tiempo establecidos.

Según Jacaboson, I., Booch, G., Rumbaugh J. (1998)1 El nombre Proceso Unificado se
usa para describir el proceso genérico que incluye aquellos elementos que son
comunes a la mayoría de los refinamientos existentes. También permite evitar
problemas legales ya que Proceso Unificado de Rational o RUP son marcas registradas
por IBM (desde su compra de Rational Software Corporation en 2003).

Según Grady Booch(2000)2 un reflejo de lo que hemos visto en el trabajo con
literalmente decenas de miles de proyectos en los últimos 20 años, la codificación de lo
que funciona en las organizaciones exitosas y lo que está notablemente ausente en los
fallidos.

Capítulo 1: Historia.

La Figura 1 ilustra la historia de RUP. El antecedente más importante se ubica en 1967
con la Metodología Ericsson (Ericsson Approach) elaborada por Ivar Jacobson,
unaaproximación de desarrollo basada en componentes, que introdujo el concepto
deCaso de Uso. Entre los años de 1987 a 1995 Jacobson fundó la compañía
ObjectoryAB y lanza el proceso de desarrollo Objectory (abreviación de Object Factory).




                              Figura 1: Historia de RUP

Posteriormente en 1995 Rational Software Corporation adquiere Objectory AB y
entre1995 y 1997 se desarrolla RationalObjectoryProcess (ROP) a partir de Objectory
3.8 y
del Enfoque Rational (RationalApproach) adoptando UML como lenguaje de modelado.
                                         2 - 25
ANÁLISIS DE SISTEMAS II
Desde ese entonces y a la cabeza de Grady Booch, Ivar Jacobson y JamesRumbaugh,
Rational Software desarrolló e incorporó diversos elementos para expandirRUP,
destacándose especialmente el flujo de trabajo conocido como modelado delnegocio.
En junio del 1998 se lanza RationalUnifiedProcess.

Autores

Jacaboson, I., Booch, G., Rumbaugh J., El Proceso Unificado de Desarrollo de
Software, 2000 Addison Wesley2 Grady Booch, diseñador de software, un
metodologista de software y entusiasta de diseño de patrones. Es directorCientífico de
Rational Software (ahora parte de IBM) y editor de una serie de Benjamin/Cummings.

Capítulo 2: Proceso de Desarrollo, Dimensiones del RUP.

El RUP tiene dos dimensiones:

El eje horizontal representa tiempo y demuestra los aspectos del ciclo de vidadel
proceso.

El eje vertical representa las disciplinas, que agrupan actividades definidas
Lógicamente por la naturaleza.

La primera dimensión representa el aspecto dinámico del proceso y se expresa
entérminos de fases, de iteraciones, y la finalización de las fases.

La segunda dimensión representa el aspecto estático del proceso: cómo se describeen
términos de componentes de proceso, las disciplinas, las actividades, los flujos
detrabajo, los artefactos, y los roles.

En la figura 2 se puede observar como varía el énfasis de cada disciplina en un
ciertoplazo en el tiempo, y durante cada una de las fases. Por ejemplo, en
iteracionestempranas, pasamos más tiempo en requerimientos, y en las últimas
iteracionespasamos más tiempo en poner en práctica la realización del proyecto en si.




                    Figura 2. Disciplinas, fases, iteraciones del RUP


                                         3 - 25
ANÁLISIS DE SISTEMAS II
Se puede hacer mención de las tres características esenciales que definen al RUP:

2.1.- Características esenciales

Los autores de RUP destacan que el proceso de software propuesto por RUPtiene tres
características esenciales: está dirigido por los Casos de Uso, estácentrado en la
arquitectura, y es iterativo e incremental.

2.1.1.- Proceso dirigido por Casos de Uso

Según Kruchten, P.(2000)3, los Casos de Uso son una técnica de capturade requisitos
que fuerza a pensar en términos de importancia para elusuario y no sólo en términos de
funciones que seria bueno contemplar.

Se define un Caso de Uso como un fragmento de funcionalidad delsistema que
proporciona al usuario un valor añadido. Los Casos de Usorepresentan los requisitos
funcionales del sistema.

En RUP los Casos de Uso no son sólo una herramienta para especificarlos requisitos
del sistema. También guían su diseño, implementación yprueba. Los Casos de Uso
constituyen un elemento integrador y una guíadel trabajo como se muestra en la Figura
3.




                  Figura 3: Los Casos de Uso integran el trabajo

Los Casos de Uso4 no sólo inician el proceso de desarrollo sino queproporcionan un
hilo conductor, permitiendo establecer trazabilidad entrelos artefactos que son
generados en las diferentes actividades delproceso de desarrollo. Como se muestra en
la Figura 3, basándose en losCasos de Uso se crean los modelos de análisis y diseño,
luego laimplementación que los lleva a cabo, y se verifica que efectivamente elproducto
implemente adecuadamente cada Caso de Uso. Todos losmodelos deben estar
sincronizados con el modelo de Casos de Uso.




                                        4 - 25
ANÁLISIS DE SISTEMAS II




                 Figura 4: Trazabilidad a partir de los Casos de Uso

2.1.2- Proceso centrado en la arquitectura

La arquitectura de un sistema es la organización o estructura de suspartes más
relevantes, lo que permite tener una visión común entre todoslos involucrados
(desarrolladores y usuarios) y una perspectiva clara delsistema completo, necesaria
para controlar el desarrollo [Kru00]. Laarquitectura involucra los aspectos estáticos y
dinámicos mássignificativos del sistema, está relacionada con la toma de decisiones
queindican cómo tiene que ser construido el sistema y ayuda a determinar enqué orden.
Además la definición de la arquitectura debe tomar enconsideración elementos de
calidad del sistema, rendimiento, reutilizacióny capacidad de evolución por lo que debe
ser flexible durante todo elproceso de desarrollo. La arquitectura se ve influenciada por
la plataformasoftware, sistema operativo, gestor de bases de datos,
protocolos,consideraciones de desarrollo como sistemas heredados. Muchas deestas
restricciones constituyen requisitos no funcionales del sistema.

En el caso de RUP además de utilizar los Casos de Uso para guiar elproceso se presta
especial atención al establecimiento temprano de unabuena arquitectura que no se vea
fuertemente impactada ante cambiosposteriores durante la construcción y el
mantenimiento.

Cada productotiene tanto una función como una forma. La función corresponde a
lafuncionalidad reflejada en los Casos de Uso y la forma la proporciona laarquitectura.
Existe una interacción entre los Casos de Uso y laarquitectura, los Casos de Uso deben
encajar en la arquitectura cuandose llevan a cabo y la arquitectura debe permitir el
desarrollo de todos losCasos de Uso requeridos, actualmente y en el futuro. Esto
provoca quetanto arquitectura como Casos de Uso deban evolucionar en
paralelodurante todo el proceso de desarrollo de software.

En la Figura 5 se ilustra la evolución de la arquitectura durante las fasesde RUP. Se
tiene una arquitectura más robusta en las fases finales delproyecto. En las fases
iniciales lo que se hace es ir consolidando laarquitectura por medio de baselinesy se va
modificando dependiendo delas necesidades del proyecto.



                                         5 - 25
ANÁLISIS DE SISTEMAS II




                 Figura 5: Evolución de la arquitectura del sistema

Es conveniente ver el sistema desde diferentes perspectivas paracomprender mejor el
diseño por lo que laarquitectura se representa mediante varias vistas que se centran en
aspectos concretos del sistema, abstrayéndose de los demás. Para RUP,todas las
vistas juntas forman el llamado modelo 4+1 de la arquitecturasegún Kruchten, P.(19986),
el cual recibe este nombre porque lo formanlas vistas lógica, de implementación, de
proceso y de despliegue, más lade Casos de Uso que es la que da cohesión a todas.




  Figura 6: Los modelos se completan, la arquitectura no cambia drásticamente

Al final de la fase de elaboración se obtiene una baseline7 de laarquitectura donde
fueron seleccionados una serie de Casos de Usoarquitectónicamente relevantes
(aquellos que ayudan a mitigar los riesgosmás importantes, aquellos que son los más
importantes para el usuario yaquellos que cubran las funcionalidades significativas)
Como se observaen la Figura 6, durante la construcción los diversos modelos
vandesarrollándose hasta completarse (según se muestra con las formasrellenas en la
esquina superior derecha). La descripción de la arquitecturasin embargo, no debería

                                        6 - 25
ANÁLISIS DE SISTEMAS II
cambiar significativamente (abajo a la derecha)debido a que la mayor parte de la
arquitectura se decidió durante laelaboración. Se incorporan pocos cambios a la
arquitectura (indicadoscon mayor densidad de puntos en la figura inferior derecha)
[JBR00].8

2.1.3.- Proceso iterativo e incremental

El equilibrio correcto entre losCasos de Uso y la arquitectura es algo muy parecido al
equilibrio de laforma y la función en el desarrollo del producto, lo cual se consigue con
eltiempo. Para esto, la estrategia que se propone en RUP es tener unproceso iterativo e
incremental en donde el trabajo se divide en partesmás pequeñas o mini proyectos.
Permitiendo que el equilibrio entre Casosde Uso y arquitectura se vaya logrando
durante cada mini proyecto, asídurante todo el proceso de desarrollo. Cada mini
proyecto se puede vercomo una iteración (un recorrido más o menos completo a lo
largo detodos los flujos de trabajo fundamentales) del cual se obtiene unincremento que
produce un crecimiento en el producto. Una iteraciónpuede realizarse por medio de una
cascada como se muestra en la Figura6. Se pasa por los flujos fundamentales
(Requisitos, Análisis, Diseño,Implementación y Pruebas), también existe una
planificación de laiteración, un análisis de la iteración y algunas actividades específicas
dela iteración. Al finalizar se realiza una integración de los resultados con loobtenido de
las iteraciones anteriores.




                              Figura 7: Una iteración RUP

El proceso iterativo e incremental consta de una secuencia de iteraciones.Cada
iteración aborda una parte de la funcionalidad total, pasando portodos los flujos de
trabajo relevantes y refinando la arquitectura. Cadaiteración se analiza cuando termina.
Se puede determinar si hanaparecido nuevos requisitos o han cambiado los existentes,
afectando alas iteraciones siguientes. Durante la planificación de los detalles de
lasiguiente iteración, el equipo también examina cómo afectarán los riesgosque aún
quedan al trabajo en curso. Toda la retroalimentación de laiteración pasada permite
reajustar los objetivos para las siguientesiteraciones. Se continúa con esta dinámica
hasta que se haya finalizadopor completo con la versión actual del producto.

                                          7 - 25
ANÁLISIS DE SISTEMAS II
RUP divide el proceso en cuatro fases, dentro de las cuales se realizanvarias
iteraciones en número variable según el proyecto y en las que sehace un mayor o
menor hincapié en los distintas actividades. En la Figura8 se muestra cómo varía el
esfuerzo asociado a las disciplinas según lafase en la que se encuentre el
proyectoRUP.




                                Figura 8: Ciclo de vida

Las primeras iteraciones (en las fases de Inicio y Elaboración) se enfocanhacia la
comprensión del problema y la tecnología, la delimitación delámbito del proyecto, la
eliminación de los riesgos críticos, y alestablecimiento de una baseline10de la
arquitectura.

Durante la fase de inicio las iteraciones hacen ponen mayor énfasis enactividades
modelado del negocio y de requisitos. En la fase deelaboración, las iteraciones se
orientan al desarrollo de la baselinede laarquitectura, abarcan más los flujos de trabajo
de requerimientos, modelode negocios (refinamiento), análisis, diseño y una parte
deimplementación orientado a la baselinede la arquitectura. En la fase deconstrucción,
se lleva a cabo la construcción del producto por medio deuna serie de iteraciones.

Para cada iteración se selecciona algunos Casos de Uso, se refina suanálisis y diseño y
se procede a su implementación y pruebas. Se realizauna pequeña cascada para cada
ciclo. Se realizan tantas iteracioneshasta que se termine la implementación de la nueva
versión del producto.

En la fase de transición se pretende garantizar que se tiene un productopreparado para
su entrega a la comunidad de usuarios. Como se puedeobservar en cada fase
participan todas las disciplinas, pero quedependiendo de la fase el esfuerzo dedicado a
una disciplina varía.
                                         8 - 25
ANÁLISIS DE SISTEMAS II




                               Figura 9. Fases del RUP

Capítulo 3: Desarrollo de Etapas (Fases).

El ciclo de vida del software del RUP se descompone en cuatro fases
secuenciales(figura 9). En cada extremo de una fase se realiza una evaluación
(actividad: Revisióndel ciclo de vida de la finalización de fase) para determinar si los
objetivos de la fase se
han cumplido. Una evaluación satisfactoria permite que el proyecto se mueva a
lapróxima fase.

3.1.- Planeando las fases

El ciclo de vida consiste en una serie de ciclos, cada uno de los cuales produceuna
nueva versión del producto, cada ciclo está compuesto por fases y cada unade estas
fases está compuesta por un número de iteraciones, estas fases son:

3.1.1.- Concepción, Inicio o Estudio de oportunidad

Define el ámbito y objetivos del proyecto Se define la funcionalidad ycapacidades del
producto.

3.1.2.- Elaboración

Tanto la funcionalidad como el dominio del problema se estudian enprofundidad Se
define una arquitectura básica Se planifica el proyectoconsiderando recursos
disponibles.

3.1.3.- Construcción

El producto se desarrolla a través de iteraciones donde cada iteracióninvolucra tareas
de análisis, diseño e implementación Las fases de estudioy análisis sólo dieron una
arquitectura básica que es aquí refinada demanera incremental conforme se construye
(se permiten cambios en laestructura) Gran parte del trabajo es programación y
pruebas. Sedocumenta tanto el sistema construido como el manejo del mismo.

Estafase proporciona un producto construido junto con la documentación.



3.1.4.- Transición
                                         9 - 25
ANÁLISIS DE SISTEMAS II


Se libera el producto y se entrega al usuario para un uso real Se incluyentareas de
marketing, empaquetado atractivo, instalación, configuración,entrenamiento, soporte,
mantenimiento, etc.

Los manuales de usuario se completan y refinan con la información anterior,
estastareas se realizan también en iteraciones Todas las fases no son idénticas
entérminos de tiempo y esfuerzo.

Aunque esto varía considerablemente dependiendo del proyecto, un ciclo dedesarrollo
inicial típico para un proyecto de tamaño mediano debe anticipar ladistribución siguiente
el esfuerzo y horario:




                    Tabla I. Esfuerzo-horario contra fases del RUP

Lo cual se puede representar gráficamente como se muestra en la figura 10:




         Figura 10. Recursos utilizados en las fases del RUP en el tiempo.

El modelo cascada según Winston Royce(1970)13, es un secuencial modelo deldesarrollo del
software (un proceso para la creación del software) en que el desarrollo seconsidera como
fluyendo constantemente hacia abajo (como a cascada) con las fases deanálisis de requisitos,
diseño, puesta en práctica, prueba (validación), integración, ymantenimiento.

Las fases de concepción y elaboración serían considerablemente más
pequeñas.Algunas herramientas que pueden automatizar una cierta porción del
esfuerzo dela fase de construcción pueden atenuar esto, haciendo que la fase
deconstrucción sea mucho más pequeña que las fases de concepción y
elaboraciónjuntas. Este es precisamente el objetivo del trabajo. Cada paso con las
cuatrofases produce una generación del software. A menos que el producto "muera",
sedesarrollará nuevamente repitiendo la misma secuencia las fases de
concepción,elaboración, construcción y transición, pero con diversos énfasis cada fase.




                                          10 - 25
ANÁLISIS DE SISTEMAS II
Estos ciclos subsecuentes se llaman los ciclos de la evolución. Mientras que elproducto
pasa durante varios ciclos, se producen las nuevas generaciones. En lafigura 11 se
muestre este ciclo evolutivo.




    Figura 11. Ciclo evolutivo en la elaboración de software basado en el RUP

Los ciclos evolutivos pueden ser iniciados por las mejoras sugeridas por elusuario,
cambios en el contexto del usuario, cambios en la tecnología subyacente,reacción a la
competición, etcétera. Los ciclos evolutivos tienen típicamente fasesde concepción y
elaboración mucho más cortas, puesto que la definición y laarquitectura básicas del
producto son determinadas por los ciclos de desarrolloanteriores. Las excepciones a
esta regla son los ciclos evolutivos en los cualesocurre o surge un producto significativo
o unaredefinición arquitectónica.

3.1.4.1.- Esfuerzo respecto de los flujos de trabajo

En la figura 5 se muestran ciertos porcentajes, de forma verticalse muestra el esfuerzo
que se tiene que realizar por cada una delas disciplinas o flujos de trabajo14, y los dos
porcentajes que semuestran de forma horizontal son para todo el proyecto.

Explicando mas puntualmente la figura 12 se puede observar quepara la obtención de
requerimientos o requisitos en la fase deconcepción se empiezan a obtener, en la fase
de elaboracióntiene su auge y va declinando en la fase de construcción, realizartodo
esto requiere aproximadamente un 15% de esfuerzo, y asísucesivamente con las
demás disciplinas. En esta sección y lasiguiente, los porcentajes pueden variar de un
proyecto a otro.

El flujo de trabajo (workflow) es el estudio de los aspectos operacionales de una
actividad de trabajo:cómo se estructuran las tareas, cómo se realizan, cuál es su orden
correlativo, cómo se sincronizan, cómofluye la información que soporta las tareas y
cómo se le hace seguimiento al cumplimiento de las tareas.




                                         11 - 25
ANÁLISIS DE SISTEMAS II




               Figura 12. Esfuerzo respecto de los flujos de trabajo

3.1.4.2 Esfuerzo respecto de las fases.

En la figura 6 se muestran dos filas de porcentajes, el primero quees el esfuerzo
realizado por cada fase en forma general eincluyendo las iteraciones dentro de cada
fase; y en la segunda fila,la duración que tiene aproximadamente en porcentajes del
tiempototal del proyecto para cada una de las fases incluyendo todas lasiteraciones que
conlleven realizar cada fase.

Explicando más puntualmente una pequeña parte de la figura 13 sepuede observar que
para la fase de construcción se tiene quededicar más esfuerzo y mayor duración,
siempre y cuandodependiendo de qué disciplina estemos ejecutando, por ejemplo en
la disciplina de implementación se tiene mucho auge en la fase deconstrucción.




                     Figura 13. Esfuerzo respecto de las fases

                                        12 - 25
ANÁLISIS DE SISTEMAS II


Capítulo 4: Notación de la metodología y Disciplinas.

Las disciplinas conllevan los flujos de trabajo, los cuales son una secuencia de
pasospara la culminación de cada disciplina, estas disciplinas se dividen en dos grupos:
lashyprimarias y las de apoyo. Las primarias son las necesarias para la realización de
unproyecto de software, aunque para proyectos no muy grandes se pueden
omitiralgunas; entre ellas se tienen: Modelado del Negocio, Requerimientos, Análisis
yDiseño, Implementación, Pruebas, Despliegue. Las de apoyo son las que como
sunombre lo indica sirven de apoyo a las primarias y especifican otras características
enla realización de un proyecto de software; entre estas se tienen: Entorno, Gestión
delProyecto, Gestión de Configuración y Cambios. A continuación se
describerápidamente cada una de estas disciplinas.

4.1.- Modelado del negocio.

Esta disciplina tiene como objetivos comprender la estructura y la dinámica de
laorganización,    comprender     problemas      actuales    e    identificar  posibles
mejoras,comprender los procesos de negocio. Utiliza el Modelo de CU del Negocio
paradescribir los procesos del negocio y los clientes, el Modelo de Objetos delNegocio
para describir cada CU del Negocio con los Trabajadores, ademásutilizan los
Diagramas de Actividad y de Clases.

4.2.- Requerimientos.

Esta disciplina tiene como objetivos establecer lo que el sistema debe hacer(Especificar
Requisitos), definir los límites del sistema, y una interfaz de usuario,realizar una
estimación del costo y tiempo de desarrollo. Utiliza el Modelo de CUpara modelar el
Sistema que comprenden los CU, Actores y Relaciones, ademásutiliza los diagramas de
Estados de cada CU y las especificacionessuplementarias.

4.3.- Análisis y diseño.

Esta disciplina define la arquitectura del sistema y tiene como objetivos
trasladarrequisitos en especificaciones de implementación, al decir análisis se refiere
atransformar CU en clases, y al decir diseño se refiere a refinar el análisis parapoder
implementar los diagramas de clases de análisis de cada CU, losdiagramas de
colaboración de de cada CU, el de clases de diseño de cada CU, elde secuencia de
diseño de CU, el de estados de las clases, el modelo dedespliegue de la arquitectura.

4.4.- Implementación.

Esta disciplina tiene como objetivos implementar las clases de diseño
comocomponentes (ej. fichero fuente), asignar los componentes a los nodos, probar
loscomponentes individualmente, integrar los componentes en un sistema
ejecutable(enfoque incremental). Utiliza el Modelo de Implementación, conjuntamente
losDiagramas de Componentes para comprender cómo se organizan losComponentes y
dependen unos de otros.



                                        13 - 25
ANÁLISIS DE SISTEMAS II
4.5.- Pruebas.

Esta disciplina tiene como objetivos verificar la integración de los componentes(prueba
de integración), verificar que todos los requisitos han sido implementados(pruebas del
sistema), asegurar que los defectos detectados han sido resueltosantes de la
distribución

4.6.- Despliegue.

Esta disciplina tiene como objetivos asegurar que el producto está preparado parael
cliente, proceder a su entrega y recepción por el cliente. En esta disciplina serealizan
las actividades de probar el software en su entorno final (Prueba Beta),empaquetarlo,
distribuirlo e instalarlo, así como la tarea de enseñar al usuario.

4.7.- Gestión y configuración de cambios.

Es esencial para controlar el número de artefactos producidos por la cantidad
depersonal que trabajan en un proyecto conjuntamente. Los controles sobre loscambios
son de mucha ayuda ya que evitan confusiones costosas como lacompostura de algo
que ya se había arreglado etc., y aseguran que los resultadosde los artefactos no
entren en conflicto con algunos de los siguientes tipos deproblemas:

Actualización simultánea: Es la actualización de algo elaborado con anterioridad,sin
saber que alguien más lo está actualizando.

Notificación limitada: Al realizar alguna modificación, no se deja información sobrelo
que se hizo, por lo tanto no se sabe quién, como, y cuando se hizo.

Versiones múltiples: No saber con exactitud, cual es la última versión, y al final nose
tiene un orden sobre que modificaciones se han realizado a las diversasversiones.

4.8.- Gestión del proyecto.

La gestión de proyectosu objetivo es equilibrar los objetivos competitivos,administrar el
riesgo, y superar restricciones para entregar un producto quesatisface las necesidades
e ambos clientes con éxito (los que pagan el dinero) ylos usuarios. Con la Gestión del
Proyecto se logra una mejoría en el manejo deuna entrega exitoso de software. En
resumen su propósito consiste en proveerpautas para:

- Administrar proyectos de software intensivos.
- Planear, dirigir personal, ejecutar acciones y supervisar proyectos.
- Administrar el riesgo.

Sin embargo, esta disciplina no intenta cubrir todos los aspectos de dirección
delproyecto. Por ejemplo, no cubre problemas como:

Administración de personal: contratando, entrenando, enseñando.
Administración del presupuesto: definiendo, asignando.
Administración de los contratos con proveedores y clientes.


                                          14 - 25
ANÁLISIS DE SISTEMAS II
4.9.- Entorno.

Esta disciplina se enfoca sobre las actividades necesarias para configurar elproceso
que engloba el desarrollo de un proyecto y describe las actividadesrequeridas para el
desarrollo de las pautas que apoyan un proyecto.

Su propósito es proveer a la organización que desarrollará el software, unambiente en
el cual basarse, el cual provee procesos y herramientas para poderdesarrollar el
software.

Capítulo 5: Ejemplodesarrollado.

                          Plan de Desarrollo de Software
1. Introducción
   A continuación se presenta un plan inicial de desarrollo del sistema Repositorio de
   Sistemas, el cual consiste en un proyecto de gestión de sistemas para cualquier
   empresa de tamaño considerable, que requiera un manejo automatizado de la
   información de los sistemas utilizados.
   El proyecto nace como necesidad de muchos gerentes de empresas grandes de
   mantener un “Repositorio” de sus sistemas, para así mantener un control de la
   información manejada en la empresa tanto a nivel de la central como en las
   distintas oficinas. La central se refiere a la sede principal de la empresa, las
   oficinas son centrales que de forma autónoma manejan la información
   correspondiente a cada país o región.

   De acuerdo a las características del proyecto se tomó como enfoque de desarrollo
   una configuración del proceso RUP, seleccionando los roles de los participantes, las
   actividades a realizar y los artefactos (entregables) que serán generados. Este
   documento es a su vez uno de los artefactos de RUP.
1.1 Propósito
    El propósito del Plan de Desarrollo de Software es proporcionar la información
    necesaria para llevar el control del proyecto. Se describe la organización del
    proyecto y la forma en cómo debe ser llevado o elaborado por los usuarios
    desarrolladores del sistema. También sirve como base para llevar a cabo un
    análisis más detallado del mismo.
   En cuanto a cuáles son los usuarios del Plan de Desarrollo del Software tenemos:
       El representante del proyecto: hace uso de este documento para organizar y
       designar las tareas del equipo de trabajo, para ver necesidades de recursos y
       para realizar su seguimiento.
       Los miembros del equipo lo usan para entender qué es lo que deben hacer,
       cuáles técnicas aplicar, en cuál momento se debe hacer y qué otras actividades
       dependen de ello.




                                       15 - 25
ANÁLISIS DE SISTEMAS II
1.2 Alcance

     El Plan de Desarrollo del Software consiste en describir el plan global usado para
     el desarrollo del Sistema de Repositorio de Sistemas, el cual pretende gestionar
     los diferentes sistemas presentes en una organización. Adicionalmente, se
     requiere realizar el detalle de las iteraciones individuales, esto se describe en los
     planes de cada iteración, documentos que se aportan en forma separada. Se
     necesita del documento “Visión” durante el proceso de desarrollo, ya que en ese
     artefacto se definen las características del producto a desarrollar, lo cual
     constituye la base para la planificación de las iteraciones. Para esta versión 1.0 del
     Plan de Desarrollo del Software, se ha realizado una estimación aproximada en
     base a los requerimientos iniciales del sistema. Para producir nuevas versiones
     actualizadas y mejoradas de este documento, se tiene que realizar un seguimiento
     en cada una de las iteraciones y de esta manera realizar los ajustes necesarios.
1.3 Definiciones, Acrónimos y Abreviaciones
RS: Repositorio de Sistemas
RUP: RationalUnifiedProcess
1.4 Referencias
    Este documento hace referencia a los documentos Visión y Arquitectura del
    Software.

1.5 Vista Global
     El Plan de Desarrollo contempla las 4 secciones siguientes:
       Vista General del Proyecto: proporciona información acerca del propósito, el
       alcance y los objetivos del proyecto; las suposiciones y las restricciones
       consideradas para el sistema; y por último la evolución de este plan a medida
       que se comienza una nueva iteración.
       Organización del Proyecto: describe los roles correspondientes a los integrantes
       del equipo de desarrollo, así como las fases en las cuales se divide el proceso
       de desarrollo del sistema.
       Gestión del Proceso: estima el costo y la planificación aproximada del proyecto,
       define las fases e hitos del proyecto y describe cómo se realizará su
       seguimiento.
2. Vista General del Proyecto
2.1 Propósito, Alcance y Objetivos
    En una organización (por ejemplo: una empresa por departamentos transnacional),
    muchas veces es desconocida la cantidad de sistemas internos, más aún es difícil
    llevar un monitoreo de cada sistema para llevar un mantenimiento de las
    funcionalidades de cada uno de ellos. El propósito principal de este proyecto es
    hacer cumplir esos objetivos. Se quiere tener un sistema de control que monitoree y
    mantenga información detalladas sobre los sistemas de una organización.

   Actualmente, no se cuenta con un sistema que proporcione tal información, es por
   ello que nace la necesidad de tener un sistema automatizado para tal fin. Al ser el
   primer sistema de este tipo, no se cuenta con precedentes o versiones pasadas de
   un sistema anterior, por lo tanto será desarrollado en su totalidad desde cero.
                                         16 - 25
ANÁLISIS DE SISTEMAS II
2.2 Suposiciones y Restricciones
1. Se asume que el usuario final, en este caso el gerente general de la empresa,
    encargada del monitoreo general de los sistemas de la organización, cuenta con los
    recursos necesarios para el efectivo funcionamiento del sistema, esto abarca tanto
    los aspectos relacionados con el hardware como los de software.
2. Queda a disposición de los desarrolladores utilizar el lenguaje de programación más
    conveniente, por lo cual hasta el momento la opción más aceptada sería utilizar un
    framework de PHP llamado PHPCake.
3. En cuanto a la información manejada, esta debe mantenerse con cierto grado de
    confidenciabilidad, flexibilidad, usabilidad y seguridad.

2.3 Evolución del Plan de Desarrollo del Software.

   El Plan de Desarrollo del Software se revisará periódicamente y se refinará antes
   del comienzo de cada iteración.

3. ORGANIZACIÓN DEL PROYECTO.

   Se pretende adaptar el modelo bajo el que se desarrollara el software al proceso
   definido por RUP. En vista de que todas las etapas del proyecto se no se adaptan
   perfectamente al modelo definido por RUP, se toman solo aquellos aspectos
   aplicables del proyecto y se realizan las modificaciones necesarias en los demás
   casos. Se debe considerar las posteriores modificaciones al presente plan de
   desarrollo.

3.1 Modelo De Proceso.

   El proceso de desarrollo del sistema se dividirá en cuatro fases:

   1. Investigación:Esta fase implica un estudio profundo de técnicas, herramientas y
   avances en el área de investigación, para generar un documento de contexto de
   trabajo donde se resuma la información recavada.

   2. Inicio: Una vez generada la documentación de contexto de trabajo, al finalizar
   la fase de investigación, el grupo cuenta con la información necesaria para analizar
   el problema y proponer una solución al mismo. Esto se realiza en la fase de inicio.
   Luego de planteada una solución al problema, se comienza a detallar técnicamente
   la implementación de la solución propuesta.

   3. Elaboración: Es en la fase de elaboración donde se realiza el diseño del
   sistema, lo cual implica definición de la arquitectura del mismo. Esta fase se da por
   culminada cuando dicha arquitectura sea estable.

   4. Construcción: Demostrada la estabilidad de la arquitectura adoptada se
   comienza a implementar el sistema final. La fase de construcción implica una fuerte
   carga horaria de implementación. A fines de esta fase se comienzan las sesiones
   de prueba de la solución implementada.




                                        17 - 25
ANÁLISIS DE SISTEMAS II
3.2 Planificación De Fases De La Metodología RUP.

3.2.1. Inicio.
   Los objetivos de esta fase son:

      Establecer los límites y alcance del proyecto
      Definir casos de uso
      Estimar potenciales riesgos
      Determinar la factibilidad del proyecto
      Definir plan de desarrollo de software
      Desarrollar un prototipo inicial no funcional

3.2.2. Elaboración.
  Los objetivos de esta fase son:

      Definir la arquitectura del sistema y vistas de casos de uso
      Resolver los principales riesgos de la arquitectura
      Definir vistas restantes y refinar vistas de casos de uso
      Implementar los casos de uso críticos

3.2.3. Construcción.
  Los objetivos de la fase son:

      Refinar las vistas de la fase anterior
      Implementar las funcionalidades del sistema
      Desarrollo iterativo incremental del producto completo
      Realización de pruebas
      Corrección y ajuste de errores

3.3   Estructura Organizacional

      El equipo consta de nueve integrantes. La estructura organizacional del grupo ha
      sido definida como horizontal, debido a las características del mismo. Cada
      integrante esta en capacidad de realizar cualquier actividad referente al proceso
      de desarrollo del proyecto. Es necesaria la colaboración entre miembros y
      conocimiento de todas las áreas para poder llevar a cabo todas las etapas del
      proceso. Sin embargo, es importante llevar a cabo una división de tareas con el
      fin de incrementar la eficiencia de trabajo, donde sin embargo cualquier
      integrante deberá estar en la capacidad de suplantar a otro, si así fuese
      requerido.

3.3.1 Interfaces Externas.

      La profesora Marlene Goncalves se encargará de evaluar el avance del proyecto
      basándose en el calendario y el plan de desarrollo.




                                        18 - 25
ANÁLISIS DE SISTEMAS II
3.3.2 Roles y Responsabilidades

        Los roles y responsabilidades serán rotadas en el transcurso del desarrollo, cada
        integrante del grupo deberá estar involucrado en todas las áreas del proceso de
        desarrollo y el nivel de responsabilidad es el mismo para todos.

4.      Gestión del Proceso
4.1     Estimaciones del Proyecto

        Al ser un proyecto de carácter académico, se deja de lado el aspecto económico
        ya que no se cuenta con un presupuesto ni costos asociados al desarrollo, ya
        que su valor se representa en el aporte tecnológico para la Universidad Simón
        Bolívar.

4.2     Plan del Proyecto

        Para el desarrollo satisfactorio del sistema fue necesario dividirlo en varias fases,
        basadas en la metodología RUP, cada una estas fases podrá contener una o
        mas iteraciones obteniendo en cada iteración un hito especifico.
        La descripción detallada de cada una de las fases y sus iteraciones que
        conforman el proceso de desarrollo del sistema se encuentran a continuación

4.2.1 Plan de las Fases

                                                Nro.
                           Fase                                 Duración
                                            Iteraciones

                       Fase de Inicio             1            4 semanas

                  Fase de Elaboración             1            6 semanas

                 Fase de Construcción             2           12 semanas

4.2.2 Objetivos de las Fases

          Fase                                       Descripción

      Fase de Inicio     Durante esta fase, se desarrolla una descripción del producto
                         final a partir de una buena idea y se presenta el análisis de
                         negocio para el producto. En su única iteración se especifica
                         las funcionalidades que debe poseer el sistema y su alcance.
                         Además se lleva a cabo un estudio detallado de todo lo que es
                         el negocio al cual se le está creando el sistema, para así
                         determinar cuáles son las necesidades a ser satisfechas con
                         mayor prioridad, esto se define en el artefacto Visión. Se
                         definen los casos de uso, como una representación de las
                         funcionalidades del sistema y de la interacción con el usuario.
                         Se establece el Plan de Desarrollo, donde se describe de forma

                                           19 - 25
ANÁLISIS DE SISTEMAS II

                     detallada las actividades que se llevarán a cabo para crear el
                     sistema. El final de la fase esta marcado con la aceptación por
                     parte del cliente del artefacto Visión y el Plan de Desarrollo.

      Fase de        Se obtiene un entendimiento más detallado de los
    Elaboración      requerimientos, se procede a diseñar, implementar, validar y
                     generar una línea base para la arquitectura. Se definen los
                     subsistemas, los componentes clave y sus interfaces; se usan
                     los casos de uso significantes arquitectónicamente para dirigir
                     la arquitectura. Se consolidan y empaquetan las clases
                     identificadas. Se diseña la Base de datos. Se implementan y
                     prueban los escenarios críticos. Se debe mitigar los riesgos
                     esenciales y producir un plan de desarrollo más preciso. Se
                     elabora el artefacto de arquitectura el cual contempla todo el
                     diseño de la arquitectura. La culminación de esta fase viene
                     dada por el documento arquitectura y el prototipo
                     implementado.

     Fase de         Durante la fase de construcción se terminan de analizar y
   Construcción      diseñar todos los casos de uso, refinando el Modelo de Análisis
                     / Diseño, para el plan inicial no se ha determinado la cantidad
                     de iteraciones a realizar. Se elaboran varios prototipos que
                     constituyen versiones iniciales que muestran parcialmente el
                     funcionamiento de ciertas características del sistema, las
                     cuales son probadas hasta ser validadas por el cliente. El fin de
                     esta fase viene dado por la versión final del sistema, la cual
                     incluye toda la funcionalidad del producto.

4.2.3 Calendario del Proyecto

      A continuación se presenta un calendario de las principales tareas del proyecto
      incluyendo sólo la fase de Inicio. Ya que debido al proceso iterativo e incremental
      de RUP se realizan en paralelo de todas las disciplinas de desarrollo a lo largo
      del proyecto, con lo cual la mayoría de los artefactos son generados muy
      tempranamente en el proyecto pero van desarrollándose en mayor o menor
      grado de acuerdo a la fase e iteración del proyecto. Se incluyen los artefactos a
      entregar en cada fase. La fecha de aprobación indica cuándo el artefacto en
      cuestión tiene un estado de completitud suficiente para someterse a revisión y
      aprobación, pero esto no quita la posibilidad de su posterior refinamiento y
      cambios.




                                        20 - 25
ANÁLISIS DE SISTEMAS II
  Fase de Inicio
  Duración: 4 semanas.

               Actividad                    Semana        Criterio de culminación
                                           Comienzo -
                                        Semana Entrega
   Levantamiento de Información          1-3 (Finalizado) Esta    fase   culminará
   Detalles del proyecto                 1-3 (Finalizado) cuando se tengan al
   Elaboración de página Web con         3-4 (Finalizado) menos 90% de las
   artefactos                                             actividades         aquí
   Plan de Iteración de la fase de       4-5 (Finalizado) mencionadas.
   elaboración
   Creación del Plan inicial de         2-4 (Finalizado)
   Desarrollo del proyecto
   Creación de documento Visión         3-4 (Finalizado)
   del sistema
   Refinación del documento Visión      4-5 (Finalizado)
   del sistema
   Modelos de Casos de Uso del          4-5 (Finalizado)
   Negocio
   Lista inicial de Requerimientos      3-5 (Finalizado)
   Especificación de requerimientos     5-6 (Finalizado)
   funcionales y no funcionales
   Lista inicial de riesgos asociados   4-6 (Finalizado)
   Glosario inicial del proyecto        5-6 (Finalizado)
   Prototipo de estructura del          4-5 (Finalizado)
   sistema
   Elaboración del documento de         4-5 (Finalizado)
   arquitectura inicial.


  Fase de Elaboración
  Duración: 6 semanas.

         Actividad              Semana       Iteración Casos         de       Usos
                                Comienzo               Implementados y Criterio
                                -Semana                de culminación de la
                                Entrega                iteración
Refinación y diagramas de los       6-7          1     Casos de Uso:
Casos de Uso del sistema        (Finalizado)           1.     Ingresar Sistema
Vista de Datos: Creación de         7-8          1     2.     Solicitar Asociación
Modelo Entidad Relación (ER)    (Finalizado)           3.     Listar Asociaciones
Vista Lógica: Modelo de             7-8          1     pendientes
Análisis                        (Finalizado)           4.     Aceptar asociación
Diagrama de Clases                  8-9          1     5.     Rechazar asociación
                                (Finalizado)           6.     Ver Asociación
Diagrama de Secuencia               8-9          1     7.     Ver Grados de
                                (Finalizado)           Asociación
Establecer casos de uso             7-7          1     8.     Consultar

                                    21 - 25
ANÁLISIS DE SISTEMAS II

críticos del sistema.              (Finalizado)         Asociación
Refinación del documento de            8-9        1     9.     Listar Sistemas
Arquitectura del Software          (Finalizado)         10.    Ver Sistema
Refinación del prototipo con          10-12       1     11.    Consultar
los casos de uso críticos del      (Finalizado)         estadísticas generales
sistema                                                 12.    Modificar Sistema
Plan de la segunda Iteración           8-9        1
de la fase de elaboración          (Eliminado)          Esta iteración culminará
Refinación de diagramas y de           9-12       1     cuando:
los casos de uso                   (Finalizado)         -Se tengan completos los
Refinación y actualización del        11-12       1     modelos de casos de uso,
plan de proyecto                   (Finalizado)         con     sus    respectivos
                                                        diagramas de secuencia.
                                                        -Se haya especificado una
                                                        arquitectura del software
                                                        en al menos un 80%


   Fase de Construcción
   Duración: 12 semanas.

      Actividad            Semana    Iteración    Casos de Usos Implementados
                          Comienzo -              y Criterio de culminación de la
                           Semana                             iteración
                           Entrega
Plan de la primera           1-2         1
Iteración de la fase de                           Casos de Uso:
construcción
Refinamiento de los          1-2             1    1. Finalización   del      módulo
diagramas y la base                                  sistemas.
de datos                                          2. Refinación    del       módulo
                                                     asociaciones.
Desarrollo del Sistema       1-6             1    3. Módulo de errores.
Manual del Usuario           5-6             1
Ajustes al Sistema           7-7             1
Pruebas                      1-7             1    - Base de datos en un 100%
Plan de la segunda           6-7             1    - Sistema desarrollado en un 80%.
Iteración de la fase de                           - Manual completado en un 80%.
construcción
Refinamiento de los          7-8             2
diagramas y la base                               Casos de Uso:
de datos
Pruebas                     8-12             2    1. Manejo de la seguridad
Desarrollo del Sistema      6-11             2    2. Refinación módulo de errores.
Culminación del             10-11            2    3. Gráficos asociaciones
manual de usuario                                 Se han realizado todas las
Corrección de errores        8-11            2    pruebas para asegurar que el
                                                  sistema está libre de errores.


                                       22 - 25
ANÁLISIS DE SISTEMAS II
4.3   Seguimiento y Control del Proyecto.

4.4.1 Plan de Manejo de Requerimientos.

      En el documento Visión se encuentran de manera detallada los requerimientos
      funcionales y no funcionales del sistema. Se establecerán en la fase inicial y
      serán revisados durante la fase de elaboración y construcción. En caso de que
      surjan nuevos requerimientos durante estas fases habrá que discutir sobre su
      factibilidad y los riesgos que implicaría incluirlos en el desarrollo.

4.3.1 Plan de Control de Plazos.

      Con el objetivo de llevar un control sobre el desarrollo del sistema está
      establecido un Plan de Proyecto, en el cual se establece un cronograma de
      actividades semanales que deben ser realizadas por el equipo de
      desarrolladores a lo largo de cada una de las cuatro fases y por cada iteración.

4.3.2 Plan de Control de Presupuesto

      Debido a que el proyecto es de carácter académico no supone la elaboración y
      mantenimiento de un presupuesto.

4.3.3 Plan de Control de Calidad.

      Para establecer puntos de control sobre el sistema, se realizarán pruebas sobre
      los prototipos entregados pertenecientes a cada una de las fases. En base a la
      metodología RUP se aplican las siguientes pruebas para asegurar la calidad del
      sistema detectando errores a tiempo:

      -. Prueba de Funcionalidad: Certifica que el funcionamiento es acorde con las
         funcionalidades reflejadas en los casos de uso, esta prueba incluye la prueba
         de seguridad funcional en la cual se certifica que las funciones y datos del
         sistema sean accesibles por los actores autorizados.

      -. Prueba de Robustez: Certifica la capacidad de resistencia a fallar que tiene el
         sistema, probando casos en que el sistema podría fallar, como lo son los
         casos borde.
      -. Prueba de Volumen Funcional: Certifica si el sistema esta en la capacidad de
         manejar altos volúmenes de datos sin afectar su rendimiento.
      -.Prueba de Concurrencia: Certifica la capacidad del sistema de atender múltiples
         solicitudes de parte de los actores que acceden a un mismo recurso.
      -. Prueba de Instalación: En la ultima fase certifica que el sistema esta operativo
         y listo para funcionar.

4.3.4 Plan de Reportes.

      Esta prevista la entrega de un reporte de status semanalmente, el cual se
      contrasta con el plan de desarrollo, además de los artefactos correspondientes y
      estipulados dentro de este plan.


                                        23 - 25
ANÁLISIS DE SISTEMAS II
4.4   Plan de Manejo de Riesgos
      Para el manejo de riesgos se aplica el modelo CMMI, llamada Gestión de riesgos
      (RSKM), su objetivo es de identificar problemas potenciales antes de que ellos
      ocurran de modo que actividades que manejan riesgo puedan ser planificadas e
      invocadas como sea necesario a través de la vida del producto y el mitigar
      impactos adversos en el alcanzar objetivos. En la primera fase de determinan los
      riesgos iniciales y se define su alcance y se establece una estrategia para
      mitigarlos. Luego de identificados se evalúan, categorizar y se determina su
      importancia para el desarrollo del proyecto. Por último se procede a desarrollar el
      plan para mitigar los riesgos, el manejo de riesgos es una actividad presente a lo
      largo del desarrollo.

4.5   Plan de Culminación
      Para que el desarrollo del sistema culmine de manera exitosa es necesario el
      seguimiento constante del plan de desarrollo mediante los reporte de status
      semanal, para establecer el avance del proyecto. Es importante tomar en cuenta
      los riesgos asociados al proyecto a lo largo de su desarrollo para mitigarlos a
      tiempo y así evitar cualquier situación que ponga en peligro su culminación. Para
      lograr un sistema perdurable y evolutivo, se proporciona la documentación de
      todo el proceso en sus diferentes fases para que de esta manera un equipo de
      desarrolladores distinto pueda realizar el mantenimiento y futuras mejoras al
      sistema.

CONCLUSIONES.

1. La elaboración de distintos diagramas y artefactos siguiendo la metodología
  RUPproveen una fácil ejecución del proceso de elaboración de un Sistema de
  Software, yaque describen cómo está estructurado el sistema desde diferentes
  perspectivasorientadas a los diferentes involucrados en un proyecto.

2. Se puede reducir el tiempo de desarrollo de un Sistema de Software, aplicando
   lametodología RUP y UML ya que permite lograr de una manera fiable y rápida
   eldesarrollo del Sistema deseado.

3. Colocando componentes en los distintos servidores que          conformen el sistema
   adesarrollar,se cuenta de una manera automática con todos     los servicios prestados
   pordichos componentes, es decir, se ponen a disposición de    los desarrollador es un
   grannúmero de herramientas que se pueden aprovechar            en la realización del
   Sistema deSoftware de una manera mucho más eficaz.

4. El tener todo el procedimiento de desarrollo de un Sistema de Software, es
   unaherramienta necesaria y efectiva para administrarlo; y así contar con una
   visiónunificada de todo el proceso, con lo que se facilita la implementación del
   mismo.

RECOMENDACIONES.

1. la metodología RUP cuenta con un enfoque disciplinado en la asignación de tareas
   yresponsabilidades dentro de una organización del desarrollo, con la cual se
   puedemantener una fácil administración de este proceso.

                                        24 - 25
ANÁLISIS DE SISTEMAS II


2. Para obtener un máximo control de variables que conlleva un desarrollo de
   aplicaciones ypoder mantener una ordenada implementación de éstas, es importante
   seguirmetodologías y estándares que nos lleven a estar en competitividad en todo
   momento.

3. Al implementar un Desarrollo Rápido de Aplicaciones de un Sistema particular,
   esimportante la utilización de Patrones, los cuales ya tienen una funcionalidad
   general y hansido predefinidos, y así contar con una base consistente y previamente
   elaborada para laimplementación del Software.

BIBLIOGRAFIA.

1. Grupo Isaias Carrillos Perez. (2008) Metodología del desarrollo de software.New
     York:Editorial Edit and write.
2. IBM, Rational Software. (2003). Rational Rapid Developer, Technical
     Overview.EE.UU:IBM publications, World Wide Web.
3. ITSA (2008). Metodologías De Desarrollo De Software Canada:Editorial Canada Pen.
4. Jacaboson, I., Booch, G., Rumbaugh J. (2000) Proceso Unificado de Desarrollo
     deSoftware.New York:Editorial Mc Graw Hill.
5. Kruchten, P. (1995). Architectural Blueprints—the “4+1” View Model of
     SoftwareArchitecture.IEEE Software.
6. Marcos, E. (2005). “Investigación en Ingeniería del Software vs.
     DesarrolloSoftware”, Grupo KYBELE,Universidad Rey Juan Carlos.
7. Morgan, Stanley (2001). Sr. Business Analyst. New York:Editorial Pretince Hall.
8. Pressman, Roger. (2003) Ingenieria de Software 6ta edic.New York:Editorial McGraw
     Hill.
9. RUP/Easy. (2004). GUÍA METODOLÓGICA DE DESARROLLO DE SISTEMAS
10.Schmuller, Joseph. (2000) Aprendiendo UML en 24 horas.México:Editorial Prentice
     all.
11. Sommerville, I. (2005) Ingeniería del software, 7ª edición, Pearson-
     Addison.España:Editorial Wesley.
12.Wasserfallmodell,          Entstehungskontext,     Markus         Rerych,       und
     Wirkungsforschung,(2007). TU-Wien de Gestaltungs- del für de Institut. Tenido
     acceso en línea 28 denoviembre.




                                       25 - 25

Weitere ähnliche Inhalte

Was ist angesagt?

diagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistemadiagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistema
Universidad Tecnológica
 
Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional
CristobalFicaV
 
tipos de requisitos
  tipos de requisitos   tipos de requisitos
tipos de requisitos
Juan Henao
 
Patrones de diseño I
Patrones de diseño IPatrones de diseño I
Patrones de diseño I
kaolong
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
Micky Jerzy
 

Was ist angesagt? (20)

Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
 
Requerimientos no funcionales
Requerimientos no funcionalesRequerimientos no funcionales
Requerimientos no funcionales
 
Diagrama de contexto
Diagrama de contextoDiagrama de contexto
Diagrama de contexto
 
PRESENTACIÓN RUP
PRESENTACIÓN RUPPRESENTACIÓN RUP
PRESENTACIÓN RUP
 
diagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistemadiagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistema
 
Estimación Software por Puntos de Función
Estimación Software por Puntos de FunciónEstimación Software por Puntos de Función
Estimación Software por Puntos de Función
 
Scrum vs RUP
Scrum vs RUPScrum vs RUP
Scrum vs RUP
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Problemas en el desarrollo de software
Problemas en el desarrollo de software Problemas en el desarrollo de software
Problemas en el desarrollo de software
 
Casos de uso
Casos de usoCasos de uso
Casos de uso
 
Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional
 
Modelos de software ventajas y desventajas
Modelos de software ventajas y desventajasModelos de software ventajas y desventajas
Modelos de software ventajas y desventajas
 
Modelos de dominio
Modelos de dominioModelos de dominio
Modelos de dominio
 
Metodologías tradicionales: Desarrollo de Software
Metodologías tradicionales: Desarrollo de Software Metodologías tradicionales: Desarrollo de Software
Metodologías tradicionales: Desarrollo de Software
 
Manual de instalacion
Manual de instalacionManual de instalacion
Manual de instalacion
 
tipos de requisitos
  tipos de requisitos   tipos de requisitos
tipos de requisitos
 
Patrones de diseño I
Patrones de diseño IPatrones de diseño I
Patrones de diseño I
 
Cuadro comparativo modelos para el desarrollo de software
Cuadro comparativo modelos para el desarrollo de softwareCuadro comparativo modelos para el desarrollo de software
Cuadro comparativo modelos para el desarrollo de software
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
ETAPAS Y SUB ETAPAS DE LA METODOLOGÍA XP
ETAPAS Y SUB ETAPAS DE LA METODOLOGÍA XPETAPAS Y SUB ETAPAS DE LA METODOLOGÍA XP
ETAPAS Y SUB ETAPAS DE LA METODOLOGÍA XP
 

Ähnlich wie Metodologia rup

Wagneher franck mallma nuñez
Wagneher franck mallma nuñezWagneher franck mallma nuñez
Wagneher franck mallma nuñez
henryedo
 
Wagneher franck mallma nuñez
Wagneher franck mallma nuñezWagneher franck mallma nuñez
Wagneher franck mallma nuñez
henryedo
 

Ähnlich wie Metodologia rup (20)

1 proy1 metodologia_rup
1 proy1 metodologia_rup1 proy1 metodologia_rup
1 proy1 metodologia_rup
 
Introducción a RUP.pdf
Introducción a RUP.pdfIntroducción a RUP.pdf
Introducción a RUP.pdf
 
Rup
RupRup
Rup
 
Informe rup
Informe rupInforme rup
Informe rup
 
IntroduccióN A Rup
IntroduccióN A RupIntroduccióN A Rup
IntroduccióN A Rup
 
Fases de rup
Fases de rupFases de rup
Fases de rup
 
Wagneher franck mallma nuñez
Wagneher franck mallma nuñezWagneher franck mallma nuñez
Wagneher franck mallma nuñez
 
Wagneher franck mallma nuñez
Wagneher franck mallma nuñezWagneher franck mallma nuñez
Wagneher franck mallma nuñez
 
Introducción a rup
Introducción a rupIntroducción a rup
Introducción a rup
 
Metodologias rup
Metodologias rupMetodologias rup
Metodologias rup
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
 
Aguilar alegría carlos
Aguilar alegría carlosAguilar alegría carlos
Aguilar alegría carlos
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
 
rup.pdf
rup.pdfrup.pdf
rup.pdf
 
Proceso unificado de desarrollo
Proceso unificado de desarrolloProceso unificado de desarrollo
Proceso unificado de desarrollo
 
Rup
RupRup
Rup
 
Investigacion del articulo metodo rup
Investigacion del articulo metodo rupInvestigacion del articulo metodo rup
Investigacion del articulo metodo rup
 
Modelo rup
Modelo rupModelo rup
Modelo rup
 

Metodologia rup

  • 1. ANÁLISIS DE SISTEMAS II METODOLOGIA RUP (RATIONAL UNIFIED PROCESS) INTRODUCCIÓN. En la actualidad, la utilización de metodologías para el desarrollo de aplicaciones es casi imposible omitirla, debido a la gran necesidad de control de variables que conlleva el mismo desarrollo, y para la ordenada elaboración de las aplicaciones, por lo tanto, seguir metodologías y estándares nos llevan a estar en competitividad en todo momento. Es de suma importancia conocer el modo como se interrelacionan metodologías con estándares y herramientas siguiendo un único propósito, el cual consiste en la elaboración de aplicaciones de manera eficiente, ordenada y con el menor número de defectos. La metodología RUP nos proporciona disciplinas en las cuales se encuentran artefactos con lo cual se podrá contar con guías para poder documentar e implementar de una manera fácil y eficiente, todas las guías para un buen desarrollo, todo esto dentro de las respectivas fases con las cuales cuenta. RESUMEN. Las metodologías y estándares utilizados en un desarrollo de software nos proporcionan las guías para poder conocer todo el camino a recorrer desde antes de empezar la implementación, con lo cual se asegura la calidad del producto final, así como también el cumplimiento en la entrega del mismo en un tiempo estipulado. Es de suma importancia elegir la metodología adecuada, así como las herramientas de implementación adecuadas, es por ello que la metodología RUP basada en UML nos proporciona todas las bases para llevar al éxito la elaboración del software, para ello la utilización de la herramienta RUP para el desarrollo rápido de aplicaciones. Este trabajo consta de siete capítulos, los cuales se describen a continuación: En el capítulo uno se abarcará la explicación de la metodología RUP con sus bases en el UML, las partes que la conforman, su funcionalidad; con lo cual podremos observar la interrelación entre ambos y la importancia de su uso en el desarrollo de aplicaciones. En el capítulo dos se abarcará lo que son las dimensiones de RUP dentro de ello específica los casos de uso y el proceso modelado a una arquitectura y los procesos iterativos. En el capítulo tres se abarca lo que son las fases y sus planeaciones los esfuerzos a los flujos de trabajo y a los de su respecto. En el capítulo cuatro se abarca lo que son las disciplinas como modelado de negocio, requerimientos, análisis, etc. En el capítulo cinco se abarca a lo que son las organizaciones del RUP como actores, artefactos y grados de artefacto. En el capítulo seis se trata de lo que es el Lenguaje Unificado de Modelado (UML) que se extiende hasta los casos de uso y diagramas y más ámbito de desarrollos de software. 1 - 25
  • 2. ANÁLISIS DE SISTEMAS II Y como final el capítulo siete se abarca a lo que son las metodologías de diseño y Análisis de software con RUP y UML. RationalUnifiedProcess (RUP) Las siglas RUP en ingles significa RationalUnifiedProcess (Proceso Unificado de Racional) es un producto del proceso de ingeniería de software que proporciona un enfoque disciplinado para asignar tareas y responsabilidades dentro de una organización del desarrollo. Su meta es asegurar la producción del software de alta calidad que resuelve las necesidades de los usuarios dentro de un presupuesto y tiempo establecidos. Según Jacaboson, I., Booch, G., Rumbaugh J. (1998)1 El nombre Proceso Unificado se usa para describir el proceso genérico que incluye aquellos elementos que son comunes a la mayoría de los refinamientos existentes. También permite evitar problemas legales ya que Proceso Unificado de Rational o RUP son marcas registradas por IBM (desde su compra de Rational Software Corporation en 2003). Según Grady Booch(2000)2 un reflejo de lo que hemos visto en el trabajo con literalmente decenas de miles de proyectos en los últimos 20 años, la codificación de lo que funciona en las organizaciones exitosas y lo que está notablemente ausente en los fallidos. Capítulo 1: Historia. La Figura 1 ilustra la historia de RUP. El antecedente más importante se ubica en 1967 con la Metodología Ericsson (Ericsson Approach) elaborada por Ivar Jacobson, unaaproximación de desarrollo basada en componentes, que introdujo el concepto deCaso de Uso. Entre los años de 1987 a 1995 Jacobson fundó la compañía ObjectoryAB y lanza el proceso de desarrollo Objectory (abreviación de Object Factory). Figura 1: Historia de RUP Posteriormente en 1995 Rational Software Corporation adquiere Objectory AB y entre1995 y 1997 se desarrolla RationalObjectoryProcess (ROP) a partir de Objectory 3.8 y del Enfoque Rational (RationalApproach) adoptando UML como lenguaje de modelado. 2 - 25
  • 3. ANÁLISIS DE SISTEMAS II Desde ese entonces y a la cabeza de Grady Booch, Ivar Jacobson y JamesRumbaugh, Rational Software desarrolló e incorporó diversos elementos para expandirRUP, destacándose especialmente el flujo de trabajo conocido como modelado delnegocio. En junio del 1998 se lanza RationalUnifiedProcess. Autores Jacaboson, I., Booch, G., Rumbaugh J., El Proceso Unificado de Desarrollo de Software, 2000 Addison Wesley2 Grady Booch, diseñador de software, un metodologista de software y entusiasta de diseño de patrones. Es directorCientífico de Rational Software (ahora parte de IBM) y editor de una serie de Benjamin/Cummings. Capítulo 2: Proceso de Desarrollo, Dimensiones del RUP. El RUP tiene dos dimensiones: El eje horizontal representa tiempo y demuestra los aspectos del ciclo de vidadel proceso. El eje vertical representa las disciplinas, que agrupan actividades definidas Lógicamente por la naturaleza. La primera dimensión representa el aspecto dinámico del proceso y se expresa entérminos de fases, de iteraciones, y la finalización de las fases. La segunda dimensión representa el aspecto estático del proceso: cómo se describeen términos de componentes de proceso, las disciplinas, las actividades, los flujos detrabajo, los artefactos, y los roles. En la figura 2 se puede observar como varía el énfasis de cada disciplina en un ciertoplazo en el tiempo, y durante cada una de las fases. Por ejemplo, en iteracionestempranas, pasamos más tiempo en requerimientos, y en las últimas iteracionespasamos más tiempo en poner en práctica la realización del proyecto en si. Figura 2. Disciplinas, fases, iteraciones del RUP 3 - 25
  • 4. ANÁLISIS DE SISTEMAS II Se puede hacer mención de las tres características esenciales que definen al RUP: 2.1.- Características esenciales Los autores de RUP destacan que el proceso de software propuesto por RUPtiene tres características esenciales: está dirigido por los Casos de Uso, estácentrado en la arquitectura, y es iterativo e incremental. 2.1.1.- Proceso dirigido por Casos de Uso Según Kruchten, P.(2000)3, los Casos de Uso son una técnica de capturade requisitos que fuerza a pensar en términos de importancia para elusuario y no sólo en términos de funciones que seria bueno contemplar. Se define un Caso de Uso como un fragmento de funcionalidad delsistema que proporciona al usuario un valor añadido. Los Casos de Usorepresentan los requisitos funcionales del sistema. En RUP los Casos de Uso no son sólo una herramienta para especificarlos requisitos del sistema. También guían su diseño, implementación yprueba. Los Casos de Uso constituyen un elemento integrador y una guíadel trabajo como se muestra en la Figura 3. Figura 3: Los Casos de Uso integran el trabajo Los Casos de Uso4 no sólo inician el proceso de desarrollo sino queproporcionan un hilo conductor, permitiendo establecer trazabilidad entrelos artefactos que son generados en las diferentes actividades delproceso de desarrollo. Como se muestra en la Figura 3, basándose en losCasos de Uso se crean los modelos de análisis y diseño, luego laimplementación que los lleva a cabo, y se verifica que efectivamente elproducto implemente adecuadamente cada Caso de Uso. Todos losmodelos deben estar sincronizados con el modelo de Casos de Uso. 4 - 25
  • 5. ANÁLISIS DE SISTEMAS II Figura 4: Trazabilidad a partir de los Casos de Uso 2.1.2- Proceso centrado en la arquitectura La arquitectura de un sistema es la organización o estructura de suspartes más relevantes, lo que permite tener una visión común entre todoslos involucrados (desarrolladores y usuarios) y una perspectiva clara delsistema completo, necesaria para controlar el desarrollo [Kru00]. Laarquitectura involucra los aspectos estáticos y dinámicos mássignificativos del sistema, está relacionada con la toma de decisiones queindican cómo tiene que ser construido el sistema y ayuda a determinar enqué orden. Además la definición de la arquitectura debe tomar enconsideración elementos de calidad del sistema, rendimiento, reutilizacióny capacidad de evolución por lo que debe ser flexible durante todo elproceso de desarrollo. La arquitectura se ve influenciada por la plataformasoftware, sistema operativo, gestor de bases de datos, protocolos,consideraciones de desarrollo como sistemas heredados. Muchas deestas restricciones constituyen requisitos no funcionales del sistema. En el caso de RUP además de utilizar los Casos de Uso para guiar elproceso se presta especial atención al establecimiento temprano de unabuena arquitectura que no se vea fuertemente impactada ante cambiosposteriores durante la construcción y el mantenimiento. Cada productotiene tanto una función como una forma. La función corresponde a lafuncionalidad reflejada en los Casos de Uso y la forma la proporciona laarquitectura. Existe una interacción entre los Casos de Uso y laarquitectura, los Casos de Uso deben encajar en la arquitectura cuandose llevan a cabo y la arquitectura debe permitir el desarrollo de todos losCasos de Uso requeridos, actualmente y en el futuro. Esto provoca quetanto arquitectura como Casos de Uso deban evolucionar en paralelodurante todo el proceso de desarrollo de software. En la Figura 5 se ilustra la evolución de la arquitectura durante las fasesde RUP. Se tiene una arquitectura más robusta en las fases finales delproyecto. En las fases iniciales lo que se hace es ir consolidando laarquitectura por medio de baselinesy se va modificando dependiendo delas necesidades del proyecto. 5 - 25
  • 6. ANÁLISIS DE SISTEMAS II Figura 5: Evolución de la arquitectura del sistema Es conveniente ver el sistema desde diferentes perspectivas paracomprender mejor el diseño por lo que laarquitectura se representa mediante varias vistas que se centran en aspectos concretos del sistema, abstrayéndose de los demás. Para RUP,todas las vistas juntas forman el llamado modelo 4+1 de la arquitecturasegún Kruchten, P.(19986), el cual recibe este nombre porque lo formanlas vistas lógica, de implementación, de proceso y de despliegue, más lade Casos de Uso que es la que da cohesión a todas. Figura 6: Los modelos se completan, la arquitectura no cambia drásticamente Al final de la fase de elaboración se obtiene una baseline7 de laarquitectura donde fueron seleccionados una serie de Casos de Usoarquitectónicamente relevantes (aquellos que ayudan a mitigar los riesgosmás importantes, aquellos que son los más importantes para el usuario yaquellos que cubran las funcionalidades significativas) Como se observaen la Figura 6, durante la construcción los diversos modelos vandesarrollándose hasta completarse (según se muestra con las formasrellenas en la esquina superior derecha). La descripción de la arquitecturasin embargo, no debería 6 - 25
  • 7. ANÁLISIS DE SISTEMAS II cambiar significativamente (abajo a la derecha)debido a que la mayor parte de la arquitectura se decidió durante laelaboración. Se incorporan pocos cambios a la arquitectura (indicadoscon mayor densidad de puntos en la figura inferior derecha) [JBR00].8 2.1.3.- Proceso iterativo e incremental El equilibrio correcto entre losCasos de Uso y la arquitectura es algo muy parecido al equilibrio de laforma y la función en el desarrollo del producto, lo cual se consigue con eltiempo. Para esto, la estrategia que se propone en RUP es tener unproceso iterativo e incremental en donde el trabajo se divide en partesmás pequeñas o mini proyectos. Permitiendo que el equilibrio entre Casosde Uso y arquitectura se vaya logrando durante cada mini proyecto, asídurante todo el proceso de desarrollo. Cada mini proyecto se puede vercomo una iteración (un recorrido más o menos completo a lo largo detodos los flujos de trabajo fundamentales) del cual se obtiene unincremento que produce un crecimiento en el producto. Una iteraciónpuede realizarse por medio de una cascada como se muestra en la Figura6. Se pasa por los flujos fundamentales (Requisitos, Análisis, Diseño,Implementación y Pruebas), también existe una planificación de laiteración, un análisis de la iteración y algunas actividades específicas dela iteración. Al finalizar se realiza una integración de los resultados con loobtenido de las iteraciones anteriores. Figura 7: Una iteración RUP El proceso iterativo e incremental consta de una secuencia de iteraciones.Cada iteración aborda una parte de la funcionalidad total, pasando portodos los flujos de trabajo relevantes y refinando la arquitectura. Cadaiteración se analiza cuando termina. Se puede determinar si hanaparecido nuevos requisitos o han cambiado los existentes, afectando alas iteraciones siguientes. Durante la planificación de los detalles de lasiguiente iteración, el equipo también examina cómo afectarán los riesgosque aún quedan al trabajo en curso. Toda la retroalimentación de laiteración pasada permite reajustar los objetivos para las siguientesiteraciones. Se continúa con esta dinámica hasta que se haya finalizadopor completo con la versión actual del producto. 7 - 25
  • 8. ANÁLISIS DE SISTEMAS II RUP divide el proceso en cuatro fases, dentro de las cuales se realizanvarias iteraciones en número variable según el proyecto y en las que sehace un mayor o menor hincapié en los distintas actividades. En la Figura8 se muestra cómo varía el esfuerzo asociado a las disciplinas según lafase en la que se encuentre el proyectoRUP. Figura 8: Ciclo de vida Las primeras iteraciones (en las fases de Inicio y Elaboración) se enfocanhacia la comprensión del problema y la tecnología, la delimitación delámbito del proyecto, la eliminación de los riesgos críticos, y alestablecimiento de una baseline10de la arquitectura. Durante la fase de inicio las iteraciones hacen ponen mayor énfasis enactividades modelado del negocio y de requisitos. En la fase deelaboración, las iteraciones se orientan al desarrollo de la baselinede laarquitectura, abarcan más los flujos de trabajo de requerimientos, modelode negocios (refinamiento), análisis, diseño y una parte deimplementación orientado a la baselinede la arquitectura. En la fase deconstrucción, se lleva a cabo la construcción del producto por medio deuna serie de iteraciones. Para cada iteración se selecciona algunos Casos de Uso, se refina suanálisis y diseño y se procede a su implementación y pruebas. Se realizauna pequeña cascada para cada ciclo. Se realizan tantas iteracioneshasta que se termine la implementación de la nueva versión del producto. En la fase de transición se pretende garantizar que se tiene un productopreparado para su entrega a la comunidad de usuarios. Como se puedeobservar en cada fase participan todas las disciplinas, pero quedependiendo de la fase el esfuerzo dedicado a una disciplina varía. 8 - 25
  • 9. ANÁLISIS DE SISTEMAS II Figura 9. Fases del RUP Capítulo 3: Desarrollo de Etapas (Fases). El ciclo de vida del software del RUP se descompone en cuatro fases secuenciales(figura 9). En cada extremo de una fase se realiza una evaluación (actividad: Revisióndel ciclo de vida de la finalización de fase) para determinar si los objetivos de la fase se han cumplido. Una evaluación satisfactoria permite que el proyecto se mueva a lapróxima fase. 3.1.- Planeando las fases El ciclo de vida consiste en una serie de ciclos, cada uno de los cuales produceuna nueva versión del producto, cada ciclo está compuesto por fases y cada unade estas fases está compuesta por un número de iteraciones, estas fases son: 3.1.1.- Concepción, Inicio o Estudio de oportunidad Define el ámbito y objetivos del proyecto Se define la funcionalidad ycapacidades del producto. 3.1.2.- Elaboración Tanto la funcionalidad como el dominio del problema se estudian enprofundidad Se define una arquitectura básica Se planifica el proyectoconsiderando recursos disponibles. 3.1.3.- Construcción El producto se desarrolla a través de iteraciones donde cada iteracióninvolucra tareas de análisis, diseño e implementación Las fases de estudioy análisis sólo dieron una arquitectura básica que es aquí refinada demanera incremental conforme se construye (se permiten cambios en laestructura) Gran parte del trabajo es programación y pruebas. Sedocumenta tanto el sistema construido como el manejo del mismo. Estafase proporciona un producto construido junto con la documentación. 3.1.4.- Transición 9 - 25
  • 10. ANÁLISIS DE SISTEMAS II Se libera el producto y se entrega al usuario para un uso real Se incluyentareas de marketing, empaquetado atractivo, instalación, configuración,entrenamiento, soporte, mantenimiento, etc. Los manuales de usuario se completan y refinan con la información anterior, estastareas se realizan también en iteraciones Todas las fases no son idénticas entérminos de tiempo y esfuerzo. Aunque esto varía considerablemente dependiendo del proyecto, un ciclo dedesarrollo inicial típico para un proyecto de tamaño mediano debe anticipar ladistribución siguiente el esfuerzo y horario: Tabla I. Esfuerzo-horario contra fases del RUP Lo cual se puede representar gráficamente como se muestra en la figura 10: Figura 10. Recursos utilizados en las fases del RUP en el tiempo. El modelo cascada según Winston Royce(1970)13, es un secuencial modelo deldesarrollo del software (un proceso para la creación del software) en que el desarrollo seconsidera como fluyendo constantemente hacia abajo (como a cascada) con las fases deanálisis de requisitos, diseño, puesta en práctica, prueba (validación), integración, ymantenimiento. Las fases de concepción y elaboración serían considerablemente más pequeñas.Algunas herramientas que pueden automatizar una cierta porción del esfuerzo dela fase de construcción pueden atenuar esto, haciendo que la fase deconstrucción sea mucho más pequeña que las fases de concepción y elaboraciónjuntas. Este es precisamente el objetivo del trabajo. Cada paso con las cuatrofases produce una generación del software. A menos que el producto "muera", sedesarrollará nuevamente repitiendo la misma secuencia las fases de concepción,elaboración, construcción y transición, pero con diversos énfasis cada fase. 10 - 25
  • 11. ANÁLISIS DE SISTEMAS II Estos ciclos subsecuentes se llaman los ciclos de la evolución. Mientras que elproducto pasa durante varios ciclos, se producen las nuevas generaciones. En lafigura 11 se muestre este ciclo evolutivo. Figura 11. Ciclo evolutivo en la elaboración de software basado en el RUP Los ciclos evolutivos pueden ser iniciados por las mejoras sugeridas por elusuario, cambios en el contexto del usuario, cambios en la tecnología subyacente,reacción a la competición, etcétera. Los ciclos evolutivos tienen típicamente fasesde concepción y elaboración mucho más cortas, puesto que la definición y laarquitectura básicas del producto son determinadas por los ciclos de desarrolloanteriores. Las excepciones a esta regla son los ciclos evolutivos en los cualesocurre o surge un producto significativo o unaredefinición arquitectónica. 3.1.4.1.- Esfuerzo respecto de los flujos de trabajo En la figura 5 se muestran ciertos porcentajes, de forma verticalse muestra el esfuerzo que se tiene que realizar por cada una delas disciplinas o flujos de trabajo14, y los dos porcentajes que semuestran de forma horizontal son para todo el proyecto. Explicando mas puntualmente la figura 12 se puede observar quepara la obtención de requerimientos o requisitos en la fase deconcepción se empiezan a obtener, en la fase de elaboracióntiene su auge y va declinando en la fase de construcción, realizartodo esto requiere aproximadamente un 15% de esfuerzo, y asísucesivamente con las demás disciplinas. En esta sección y lasiguiente, los porcentajes pueden variar de un proyecto a otro. El flujo de trabajo (workflow) es el estudio de los aspectos operacionales de una actividad de trabajo:cómo se estructuran las tareas, cómo se realizan, cuál es su orden correlativo, cómo se sincronizan, cómofluye la información que soporta las tareas y cómo se le hace seguimiento al cumplimiento de las tareas. 11 - 25
  • 12. ANÁLISIS DE SISTEMAS II Figura 12. Esfuerzo respecto de los flujos de trabajo 3.1.4.2 Esfuerzo respecto de las fases. En la figura 6 se muestran dos filas de porcentajes, el primero quees el esfuerzo realizado por cada fase en forma general eincluyendo las iteraciones dentro de cada fase; y en la segunda fila,la duración que tiene aproximadamente en porcentajes del tiempototal del proyecto para cada una de las fases incluyendo todas lasiteraciones que conlleven realizar cada fase. Explicando más puntualmente una pequeña parte de la figura 13 sepuede observar que para la fase de construcción se tiene quededicar más esfuerzo y mayor duración, siempre y cuandodependiendo de qué disciplina estemos ejecutando, por ejemplo en la disciplina de implementación se tiene mucho auge en la fase deconstrucción. Figura 13. Esfuerzo respecto de las fases 12 - 25
  • 13. ANÁLISIS DE SISTEMAS II Capítulo 4: Notación de la metodología y Disciplinas. Las disciplinas conllevan los flujos de trabajo, los cuales son una secuencia de pasospara la culminación de cada disciplina, estas disciplinas se dividen en dos grupos: lashyprimarias y las de apoyo. Las primarias son las necesarias para la realización de unproyecto de software, aunque para proyectos no muy grandes se pueden omitiralgunas; entre ellas se tienen: Modelado del Negocio, Requerimientos, Análisis yDiseño, Implementación, Pruebas, Despliegue. Las de apoyo son las que como sunombre lo indica sirven de apoyo a las primarias y especifican otras características enla realización de un proyecto de software; entre estas se tienen: Entorno, Gestión delProyecto, Gestión de Configuración y Cambios. A continuación se describerápidamente cada una de estas disciplinas. 4.1.- Modelado del negocio. Esta disciplina tiene como objetivos comprender la estructura y la dinámica de laorganización, comprender problemas actuales e identificar posibles mejoras,comprender los procesos de negocio. Utiliza el Modelo de CU del Negocio paradescribir los procesos del negocio y los clientes, el Modelo de Objetos delNegocio para describir cada CU del Negocio con los Trabajadores, ademásutilizan los Diagramas de Actividad y de Clases. 4.2.- Requerimientos. Esta disciplina tiene como objetivos establecer lo que el sistema debe hacer(Especificar Requisitos), definir los límites del sistema, y una interfaz de usuario,realizar una estimación del costo y tiempo de desarrollo. Utiliza el Modelo de CUpara modelar el Sistema que comprenden los CU, Actores y Relaciones, ademásutiliza los diagramas de Estados de cada CU y las especificacionessuplementarias. 4.3.- Análisis y diseño. Esta disciplina define la arquitectura del sistema y tiene como objetivos trasladarrequisitos en especificaciones de implementación, al decir análisis se refiere atransformar CU en clases, y al decir diseño se refiere a refinar el análisis parapoder implementar los diagramas de clases de análisis de cada CU, losdiagramas de colaboración de de cada CU, el de clases de diseño de cada CU, elde secuencia de diseño de CU, el de estados de las clases, el modelo dedespliegue de la arquitectura. 4.4.- Implementación. Esta disciplina tiene como objetivos implementar las clases de diseño comocomponentes (ej. fichero fuente), asignar los componentes a los nodos, probar loscomponentes individualmente, integrar los componentes en un sistema ejecutable(enfoque incremental). Utiliza el Modelo de Implementación, conjuntamente losDiagramas de Componentes para comprender cómo se organizan losComponentes y dependen unos de otros. 13 - 25
  • 14. ANÁLISIS DE SISTEMAS II 4.5.- Pruebas. Esta disciplina tiene como objetivos verificar la integración de los componentes(prueba de integración), verificar que todos los requisitos han sido implementados(pruebas del sistema), asegurar que los defectos detectados han sido resueltosantes de la distribución 4.6.- Despliegue. Esta disciplina tiene como objetivos asegurar que el producto está preparado parael cliente, proceder a su entrega y recepción por el cliente. En esta disciplina serealizan las actividades de probar el software en su entorno final (Prueba Beta),empaquetarlo, distribuirlo e instalarlo, así como la tarea de enseñar al usuario. 4.7.- Gestión y configuración de cambios. Es esencial para controlar el número de artefactos producidos por la cantidad depersonal que trabajan en un proyecto conjuntamente. Los controles sobre loscambios son de mucha ayuda ya que evitan confusiones costosas como lacompostura de algo que ya se había arreglado etc., y aseguran que los resultadosde los artefactos no entren en conflicto con algunos de los siguientes tipos deproblemas: Actualización simultánea: Es la actualización de algo elaborado con anterioridad,sin saber que alguien más lo está actualizando. Notificación limitada: Al realizar alguna modificación, no se deja información sobrelo que se hizo, por lo tanto no se sabe quién, como, y cuando se hizo. Versiones múltiples: No saber con exactitud, cual es la última versión, y al final nose tiene un orden sobre que modificaciones se han realizado a las diversasversiones. 4.8.- Gestión del proyecto. La gestión de proyectosu objetivo es equilibrar los objetivos competitivos,administrar el riesgo, y superar restricciones para entregar un producto quesatisface las necesidades e ambos clientes con éxito (los que pagan el dinero) ylos usuarios. Con la Gestión del Proyecto se logra una mejoría en el manejo deuna entrega exitoso de software. En resumen su propósito consiste en proveerpautas para: - Administrar proyectos de software intensivos. - Planear, dirigir personal, ejecutar acciones y supervisar proyectos. - Administrar el riesgo. Sin embargo, esta disciplina no intenta cubrir todos los aspectos de dirección delproyecto. Por ejemplo, no cubre problemas como: Administración de personal: contratando, entrenando, enseñando. Administración del presupuesto: definiendo, asignando. Administración de los contratos con proveedores y clientes. 14 - 25
  • 15. ANÁLISIS DE SISTEMAS II 4.9.- Entorno. Esta disciplina se enfoca sobre las actividades necesarias para configurar elproceso que engloba el desarrollo de un proyecto y describe las actividadesrequeridas para el desarrollo de las pautas que apoyan un proyecto. Su propósito es proveer a la organización que desarrollará el software, unambiente en el cual basarse, el cual provee procesos y herramientas para poderdesarrollar el software. Capítulo 5: Ejemplodesarrollado. Plan de Desarrollo de Software 1. Introducción A continuación se presenta un plan inicial de desarrollo del sistema Repositorio de Sistemas, el cual consiste en un proyecto de gestión de sistemas para cualquier empresa de tamaño considerable, que requiera un manejo automatizado de la información de los sistemas utilizados. El proyecto nace como necesidad de muchos gerentes de empresas grandes de mantener un “Repositorio” de sus sistemas, para así mantener un control de la información manejada en la empresa tanto a nivel de la central como en las distintas oficinas. La central se refiere a la sede principal de la empresa, las oficinas son centrales que de forma autónoma manejan la información correspondiente a cada país o región. De acuerdo a las características del proyecto se tomó como enfoque de desarrollo una configuración del proceso RUP, seleccionando los roles de los participantes, las actividades a realizar y los artefactos (entregables) que serán generados. Este documento es a su vez uno de los artefactos de RUP. 1.1 Propósito El propósito del Plan de Desarrollo de Software es proporcionar la información necesaria para llevar el control del proyecto. Se describe la organización del proyecto y la forma en cómo debe ser llevado o elaborado por los usuarios desarrolladores del sistema. También sirve como base para llevar a cabo un análisis más detallado del mismo. En cuanto a cuáles son los usuarios del Plan de Desarrollo del Software tenemos: El representante del proyecto: hace uso de este documento para organizar y designar las tareas del equipo de trabajo, para ver necesidades de recursos y para realizar su seguimiento. Los miembros del equipo lo usan para entender qué es lo que deben hacer, cuáles técnicas aplicar, en cuál momento se debe hacer y qué otras actividades dependen de ello. 15 - 25
  • 16. ANÁLISIS DE SISTEMAS II 1.2 Alcance El Plan de Desarrollo del Software consiste en describir el plan global usado para el desarrollo del Sistema de Repositorio de Sistemas, el cual pretende gestionar los diferentes sistemas presentes en una organización. Adicionalmente, se requiere realizar el detalle de las iteraciones individuales, esto se describe en los planes de cada iteración, documentos que se aportan en forma separada. Se necesita del documento “Visión” durante el proceso de desarrollo, ya que en ese artefacto se definen las características del producto a desarrollar, lo cual constituye la base para la planificación de las iteraciones. Para esta versión 1.0 del Plan de Desarrollo del Software, se ha realizado una estimación aproximada en base a los requerimientos iniciales del sistema. Para producir nuevas versiones actualizadas y mejoradas de este documento, se tiene que realizar un seguimiento en cada una de las iteraciones y de esta manera realizar los ajustes necesarios. 1.3 Definiciones, Acrónimos y Abreviaciones RS: Repositorio de Sistemas RUP: RationalUnifiedProcess 1.4 Referencias Este documento hace referencia a los documentos Visión y Arquitectura del Software. 1.5 Vista Global El Plan de Desarrollo contempla las 4 secciones siguientes: Vista General del Proyecto: proporciona información acerca del propósito, el alcance y los objetivos del proyecto; las suposiciones y las restricciones consideradas para el sistema; y por último la evolución de este plan a medida que se comienza una nueva iteración. Organización del Proyecto: describe los roles correspondientes a los integrantes del equipo de desarrollo, así como las fases en las cuales se divide el proceso de desarrollo del sistema. Gestión del Proceso: estima el costo y la planificación aproximada del proyecto, define las fases e hitos del proyecto y describe cómo se realizará su seguimiento. 2. Vista General del Proyecto 2.1 Propósito, Alcance y Objetivos En una organización (por ejemplo: una empresa por departamentos transnacional), muchas veces es desconocida la cantidad de sistemas internos, más aún es difícil llevar un monitoreo de cada sistema para llevar un mantenimiento de las funcionalidades de cada uno de ellos. El propósito principal de este proyecto es hacer cumplir esos objetivos. Se quiere tener un sistema de control que monitoree y mantenga información detalladas sobre los sistemas de una organización. Actualmente, no se cuenta con un sistema que proporcione tal información, es por ello que nace la necesidad de tener un sistema automatizado para tal fin. Al ser el primer sistema de este tipo, no se cuenta con precedentes o versiones pasadas de un sistema anterior, por lo tanto será desarrollado en su totalidad desde cero. 16 - 25
  • 17. ANÁLISIS DE SISTEMAS II 2.2 Suposiciones y Restricciones 1. Se asume que el usuario final, en este caso el gerente general de la empresa, encargada del monitoreo general de los sistemas de la organización, cuenta con los recursos necesarios para el efectivo funcionamiento del sistema, esto abarca tanto los aspectos relacionados con el hardware como los de software. 2. Queda a disposición de los desarrolladores utilizar el lenguaje de programación más conveniente, por lo cual hasta el momento la opción más aceptada sería utilizar un framework de PHP llamado PHPCake. 3. En cuanto a la información manejada, esta debe mantenerse con cierto grado de confidenciabilidad, flexibilidad, usabilidad y seguridad. 2.3 Evolución del Plan de Desarrollo del Software. El Plan de Desarrollo del Software se revisará periódicamente y se refinará antes del comienzo de cada iteración. 3. ORGANIZACIÓN DEL PROYECTO. Se pretende adaptar el modelo bajo el que se desarrollara el software al proceso definido por RUP. En vista de que todas las etapas del proyecto se no se adaptan perfectamente al modelo definido por RUP, se toman solo aquellos aspectos aplicables del proyecto y se realizan las modificaciones necesarias en los demás casos. Se debe considerar las posteriores modificaciones al presente plan de desarrollo. 3.1 Modelo De Proceso. El proceso de desarrollo del sistema se dividirá en cuatro fases: 1. Investigación:Esta fase implica un estudio profundo de técnicas, herramientas y avances en el área de investigación, para generar un documento de contexto de trabajo donde se resuma la información recavada. 2. Inicio: Una vez generada la documentación de contexto de trabajo, al finalizar la fase de investigación, el grupo cuenta con la información necesaria para analizar el problema y proponer una solución al mismo. Esto se realiza en la fase de inicio. Luego de planteada una solución al problema, se comienza a detallar técnicamente la implementación de la solución propuesta. 3. Elaboración: Es en la fase de elaboración donde se realiza el diseño del sistema, lo cual implica definición de la arquitectura del mismo. Esta fase se da por culminada cuando dicha arquitectura sea estable. 4. Construcción: Demostrada la estabilidad de la arquitectura adoptada se comienza a implementar el sistema final. La fase de construcción implica una fuerte carga horaria de implementación. A fines de esta fase se comienzan las sesiones de prueba de la solución implementada. 17 - 25
  • 18. ANÁLISIS DE SISTEMAS II 3.2 Planificación De Fases De La Metodología RUP. 3.2.1. Inicio. Los objetivos de esta fase son: Establecer los límites y alcance del proyecto Definir casos de uso Estimar potenciales riesgos Determinar la factibilidad del proyecto Definir plan de desarrollo de software Desarrollar un prototipo inicial no funcional 3.2.2. Elaboración. Los objetivos de esta fase son: Definir la arquitectura del sistema y vistas de casos de uso Resolver los principales riesgos de la arquitectura Definir vistas restantes y refinar vistas de casos de uso Implementar los casos de uso críticos 3.2.3. Construcción. Los objetivos de la fase son: Refinar las vistas de la fase anterior Implementar las funcionalidades del sistema Desarrollo iterativo incremental del producto completo Realización de pruebas Corrección y ajuste de errores 3.3 Estructura Organizacional El equipo consta de nueve integrantes. La estructura organizacional del grupo ha sido definida como horizontal, debido a las características del mismo. Cada integrante esta en capacidad de realizar cualquier actividad referente al proceso de desarrollo del proyecto. Es necesaria la colaboración entre miembros y conocimiento de todas las áreas para poder llevar a cabo todas las etapas del proceso. Sin embargo, es importante llevar a cabo una división de tareas con el fin de incrementar la eficiencia de trabajo, donde sin embargo cualquier integrante deberá estar en la capacidad de suplantar a otro, si así fuese requerido. 3.3.1 Interfaces Externas. La profesora Marlene Goncalves se encargará de evaluar el avance del proyecto basándose en el calendario y el plan de desarrollo. 18 - 25
  • 19. ANÁLISIS DE SISTEMAS II 3.3.2 Roles y Responsabilidades Los roles y responsabilidades serán rotadas en el transcurso del desarrollo, cada integrante del grupo deberá estar involucrado en todas las áreas del proceso de desarrollo y el nivel de responsabilidad es el mismo para todos. 4. Gestión del Proceso 4.1 Estimaciones del Proyecto Al ser un proyecto de carácter académico, se deja de lado el aspecto económico ya que no se cuenta con un presupuesto ni costos asociados al desarrollo, ya que su valor se representa en el aporte tecnológico para la Universidad Simón Bolívar. 4.2 Plan del Proyecto Para el desarrollo satisfactorio del sistema fue necesario dividirlo en varias fases, basadas en la metodología RUP, cada una estas fases podrá contener una o mas iteraciones obteniendo en cada iteración un hito especifico. La descripción detallada de cada una de las fases y sus iteraciones que conforman el proceso de desarrollo del sistema se encuentran a continuación 4.2.1 Plan de las Fases Nro. Fase Duración Iteraciones Fase de Inicio 1 4 semanas Fase de Elaboración 1 6 semanas Fase de Construcción 2 12 semanas 4.2.2 Objetivos de las Fases Fase Descripción Fase de Inicio Durante esta fase, se desarrolla una descripción del producto final a partir de una buena idea y se presenta el análisis de negocio para el producto. En su única iteración se especifica las funcionalidades que debe poseer el sistema y su alcance. Además se lleva a cabo un estudio detallado de todo lo que es el negocio al cual se le está creando el sistema, para así determinar cuáles son las necesidades a ser satisfechas con mayor prioridad, esto se define en el artefacto Visión. Se definen los casos de uso, como una representación de las funcionalidades del sistema y de la interacción con el usuario. Se establece el Plan de Desarrollo, donde se describe de forma 19 - 25
  • 20. ANÁLISIS DE SISTEMAS II detallada las actividades que se llevarán a cabo para crear el sistema. El final de la fase esta marcado con la aceptación por parte del cliente del artefacto Visión y el Plan de Desarrollo. Fase de Se obtiene un entendimiento más detallado de los Elaboración requerimientos, se procede a diseñar, implementar, validar y generar una línea base para la arquitectura. Se definen los subsistemas, los componentes clave y sus interfaces; se usan los casos de uso significantes arquitectónicamente para dirigir la arquitectura. Se consolidan y empaquetan las clases identificadas. Se diseña la Base de datos. Se implementan y prueban los escenarios críticos. Se debe mitigar los riesgos esenciales y producir un plan de desarrollo más preciso. Se elabora el artefacto de arquitectura el cual contempla todo el diseño de la arquitectura. La culminación de esta fase viene dada por el documento arquitectura y el prototipo implementado. Fase de Durante la fase de construcción se terminan de analizar y Construcción diseñar todos los casos de uso, refinando el Modelo de Análisis / Diseño, para el plan inicial no se ha determinado la cantidad de iteraciones a realizar. Se elaboran varios prototipos que constituyen versiones iniciales que muestran parcialmente el funcionamiento de ciertas características del sistema, las cuales son probadas hasta ser validadas por el cliente. El fin de esta fase viene dado por la versión final del sistema, la cual incluye toda la funcionalidad del producto. 4.2.3 Calendario del Proyecto A continuación se presenta un calendario de las principales tareas del proyecto incluyendo sólo la fase de Inicio. Ya que debido al proceso iterativo e incremental de RUP se realizan en paralelo de todas las disciplinas de desarrollo a lo largo del proyecto, con lo cual la mayoría de los artefactos son generados muy tempranamente en el proyecto pero van desarrollándose en mayor o menor grado de acuerdo a la fase e iteración del proyecto. Se incluyen los artefactos a entregar en cada fase. La fecha de aprobación indica cuándo el artefacto en cuestión tiene un estado de completitud suficiente para someterse a revisión y aprobación, pero esto no quita la posibilidad de su posterior refinamiento y cambios. 20 - 25
  • 21. ANÁLISIS DE SISTEMAS II Fase de Inicio Duración: 4 semanas. Actividad Semana Criterio de culminación Comienzo - Semana Entrega Levantamiento de Información 1-3 (Finalizado) Esta fase culminará Detalles del proyecto 1-3 (Finalizado) cuando se tengan al Elaboración de página Web con 3-4 (Finalizado) menos 90% de las artefactos actividades aquí Plan de Iteración de la fase de 4-5 (Finalizado) mencionadas. elaboración Creación del Plan inicial de 2-4 (Finalizado) Desarrollo del proyecto Creación de documento Visión 3-4 (Finalizado) del sistema Refinación del documento Visión 4-5 (Finalizado) del sistema Modelos de Casos de Uso del 4-5 (Finalizado) Negocio Lista inicial de Requerimientos 3-5 (Finalizado) Especificación de requerimientos 5-6 (Finalizado) funcionales y no funcionales Lista inicial de riesgos asociados 4-6 (Finalizado) Glosario inicial del proyecto 5-6 (Finalizado) Prototipo de estructura del 4-5 (Finalizado) sistema Elaboración del documento de 4-5 (Finalizado) arquitectura inicial. Fase de Elaboración Duración: 6 semanas. Actividad Semana Iteración Casos de Usos Comienzo Implementados y Criterio -Semana de culminación de la Entrega iteración Refinación y diagramas de los 6-7 1 Casos de Uso: Casos de Uso del sistema (Finalizado) 1. Ingresar Sistema Vista de Datos: Creación de 7-8 1 2. Solicitar Asociación Modelo Entidad Relación (ER) (Finalizado) 3. Listar Asociaciones Vista Lógica: Modelo de 7-8 1 pendientes Análisis (Finalizado) 4. Aceptar asociación Diagrama de Clases 8-9 1 5. Rechazar asociación (Finalizado) 6. Ver Asociación Diagrama de Secuencia 8-9 1 7. Ver Grados de (Finalizado) Asociación Establecer casos de uso 7-7 1 8. Consultar 21 - 25
  • 22. ANÁLISIS DE SISTEMAS II críticos del sistema. (Finalizado) Asociación Refinación del documento de 8-9 1 9. Listar Sistemas Arquitectura del Software (Finalizado) 10. Ver Sistema Refinación del prototipo con 10-12 1 11. Consultar los casos de uso críticos del (Finalizado) estadísticas generales sistema 12. Modificar Sistema Plan de la segunda Iteración 8-9 1 de la fase de elaboración (Eliminado) Esta iteración culminará Refinación de diagramas y de 9-12 1 cuando: los casos de uso (Finalizado) -Se tengan completos los Refinación y actualización del 11-12 1 modelos de casos de uso, plan de proyecto (Finalizado) con sus respectivos diagramas de secuencia. -Se haya especificado una arquitectura del software en al menos un 80% Fase de Construcción Duración: 12 semanas. Actividad Semana Iteración Casos de Usos Implementados Comienzo - y Criterio de culminación de la Semana iteración Entrega Plan de la primera 1-2 1 Iteración de la fase de Casos de Uso: construcción Refinamiento de los 1-2 1 1. Finalización del módulo diagramas y la base sistemas. de datos 2. Refinación del módulo asociaciones. Desarrollo del Sistema 1-6 1 3. Módulo de errores. Manual del Usuario 5-6 1 Ajustes al Sistema 7-7 1 Pruebas 1-7 1 - Base de datos en un 100% Plan de la segunda 6-7 1 - Sistema desarrollado en un 80%. Iteración de la fase de - Manual completado en un 80%. construcción Refinamiento de los 7-8 2 diagramas y la base Casos de Uso: de datos Pruebas 8-12 2 1. Manejo de la seguridad Desarrollo del Sistema 6-11 2 2. Refinación módulo de errores. Culminación del 10-11 2 3. Gráficos asociaciones manual de usuario Se han realizado todas las Corrección de errores 8-11 2 pruebas para asegurar que el sistema está libre de errores. 22 - 25
  • 23. ANÁLISIS DE SISTEMAS II 4.3 Seguimiento y Control del Proyecto. 4.4.1 Plan de Manejo de Requerimientos. En el documento Visión se encuentran de manera detallada los requerimientos funcionales y no funcionales del sistema. Se establecerán en la fase inicial y serán revisados durante la fase de elaboración y construcción. En caso de que surjan nuevos requerimientos durante estas fases habrá que discutir sobre su factibilidad y los riesgos que implicaría incluirlos en el desarrollo. 4.3.1 Plan de Control de Plazos. Con el objetivo de llevar un control sobre el desarrollo del sistema está establecido un Plan de Proyecto, en el cual se establece un cronograma de actividades semanales que deben ser realizadas por el equipo de desarrolladores a lo largo de cada una de las cuatro fases y por cada iteración. 4.3.2 Plan de Control de Presupuesto Debido a que el proyecto es de carácter académico no supone la elaboración y mantenimiento de un presupuesto. 4.3.3 Plan de Control de Calidad. Para establecer puntos de control sobre el sistema, se realizarán pruebas sobre los prototipos entregados pertenecientes a cada una de las fases. En base a la metodología RUP se aplican las siguientes pruebas para asegurar la calidad del sistema detectando errores a tiempo: -. Prueba de Funcionalidad: Certifica que el funcionamiento es acorde con las funcionalidades reflejadas en los casos de uso, esta prueba incluye la prueba de seguridad funcional en la cual se certifica que las funciones y datos del sistema sean accesibles por los actores autorizados. -. Prueba de Robustez: Certifica la capacidad de resistencia a fallar que tiene el sistema, probando casos en que el sistema podría fallar, como lo son los casos borde. -. Prueba de Volumen Funcional: Certifica si el sistema esta en la capacidad de manejar altos volúmenes de datos sin afectar su rendimiento. -.Prueba de Concurrencia: Certifica la capacidad del sistema de atender múltiples solicitudes de parte de los actores que acceden a un mismo recurso. -. Prueba de Instalación: En la ultima fase certifica que el sistema esta operativo y listo para funcionar. 4.3.4 Plan de Reportes. Esta prevista la entrega de un reporte de status semanalmente, el cual se contrasta con el plan de desarrollo, además de los artefactos correspondientes y estipulados dentro de este plan. 23 - 25
  • 24. ANÁLISIS DE SISTEMAS II 4.4 Plan de Manejo de Riesgos Para el manejo de riesgos se aplica el modelo CMMI, llamada Gestión de riesgos (RSKM), su objetivo es de identificar problemas potenciales antes de que ellos ocurran de modo que actividades que manejan riesgo puedan ser planificadas e invocadas como sea necesario a través de la vida del producto y el mitigar impactos adversos en el alcanzar objetivos. En la primera fase de determinan los riesgos iniciales y se define su alcance y se establece una estrategia para mitigarlos. Luego de identificados se evalúan, categorizar y se determina su importancia para el desarrollo del proyecto. Por último se procede a desarrollar el plan para mitigar los riesgos, el manejo de riesgos es una actividad presente a lo largo del desarrollo. 4.5 Plan de Culminación Para que el desarrollo del sistema culmine de manera exitosa es necesario el seguimiento constante del plan de desarrollo mediante los reporte de status semanal, para establecer el avance del proyecto. Es importante tomar en cuenta los riesgos asociados al proyecto a lo largo de su desarrollo para mitigarlos a tiempo y así evitar cualquier situación que ponga en peligro su culminación. Para lograr un sistema perdurable y evolutivo, se proporciona la documentación de todo el proceso en sus diferentes fases para que de esta manera un equipo de desarrolladores distinto pueda realizar el mantenimiento y futuras mejoras al sistema. CONCLUSIONES. 1. La elaboración de distintos diagramas y artefactos siguiendo la metodología RUPproveen una fácil ejecución del proceso de elaboración de un Sistema de Software, yaque describen cómo está estructurado el sistema desde diferentes perspectivasorientadas a los diferentes involucrados en un proyecto. 2. Se puede reducir el tiempo de desarrollo de un Sistema de Software, aplicando lametodología RUP y UML ya que permite lograr de una manera fiable y rápida eldesarrollo del Sistema deseado. 3. Colocando componentes en los distintos servidores que conformen el sistema adesarrollar,se cuenta de una manera automática con todos los servicios prestados pordichos componentes, es decir, se ponen a disposición de los desarrollador es un grannúmero de herramientas que se pueden aprovechar en la realización del Sistema deSoftware de una manera mucho más eficaz. 4. El tener todo el procedimiento de desarrollo de un Sistema de Software, es unaherramienta necesaria y efectiva para administrarlo; y así contar con una visiónunificada de todo el proceso, con lo que se facilita la implementación del mismo. RECOMENDACIONES. 1. la metodología RUP cuenta con un enfoque disciplinado en la asignación de tareas yresponsabilidades dentro de una organización del desarrollo, con la cual se puedemantener una fácil administración de este proceso. 24 - 25
  • 25. ANÁLISIS DE SISTEMAS II 2. Para obtener un máximo control de variables que conlleva un desarrollo de aplicaciones ypoder mantener una ordenada implementación de éstas, es importante seguirmetodologías y estándares que nos lleven a estar en competitividad en todo momento. 3. Al implementar un Desarrollo Rápido de Aplicaciones de un Sistema particular, esimportante la utilización de Patrones, los cuales ya tienen una funcionalidad general y hansido predefinidos, y así contar con una base consistente y previamente elaborada para laimplementación del Software. BIBLIOGRAFIA. 1. Grupo Isaias Carrillos Perez. (2008) Metodología del desarrollo de software.New York:Editorial Edit and write. 2. IBM, Rational Software. (2003). Rational Rapid Developer, Technical Overview.EE.UU:IBM publications, World Wide Web. 3. ITSA (2008). Metodologías De Desarrollo De Software Canada:Editorial Canada Pen. 4. Jacaboson, I., Booch, G., Rumbaugh J. (2000) Proceso Unificado de Desarrollo deSoftware.New York:Editorial Mc Graw Hill. 5. Kruchten, P. (1995). Architectural Blueprints—the “4+1” View Model of SoftwareArchitecture.IEEE Software. 6. Marcos, E. (2005). “Investigación en Ingeniería del Software vs. DesarrolloSoftware”, Grupo KYBELE,Universidad Rey Juan Carlos. 7. Morgan, Stanley (2001). Sr. Business Analyst. New York:Editorial Pretince Hall. 8. Pressman, Roger. (2003) Ingenieria de Software 6ta edic.New York:Editorial McGraw Hill. 9. RUP/Easy. (2004). GUÍA METODOLÓGICA DE DESARROLLO DE SISTEMAS 10.Schmuller, Joseph. (2000) Aprendiendo UML en 24 horas.México:Editorial Prentice all. 11. Sommerville, I. (2005) Ingeniería del software, 7ª edición, Pearson- Addison.España:Editorial Wesley. 12.Wasserfallmodell, Entstehungskontext, Markus Rerych, und Wirkungsforschung,(2007). TU-Wien de Gestaltungs- del für de Institut. Tenido acceso en línea 28 denoviembre. 25 - 25