• No se han encontrado resultados

Capítulo II: Marco Teórico

2.4. Metodologías de Desarrollo de Software

Para el desarrollo de la herramienta software se ha utilizado la metodología RUP (Rational Unified Process) (Alarcón, 2000), la que se describe a continuación. (Alarcón,

2000)

RUP es un proceso para el desarrollo de un proyecto de software que define claramente quién, cómo, cuándo y qué debe hacerse en el proyecto.

Tiene las siguientes características esenciales:

 Está dirigido por los Casos de Uso, que orientan el proyecto a la importancia para el usuario y lo que este quiere.

 Está centrado en la arquitectura, que relaciona la toma de decisiones que indican cómo tiene que ser construido el sistema y en qué orden.

 Es iterativo e incremental, donde divide el proyecto en mini proyectos donde los casos de uso y la arquitectura cumplen sus objetivos de manera más depurada.

 Enfocado en los riesgos, puesto que el Proceso Unificado requiere que el equipo

del proyecto se centre en identificar los riesgos críticos en una etapa temprana del ciclo de vida.

2.4.1.

Rational Unified Process (RUP)

2.4.1.1.

El Ciclo de Vida de RUP

RUP divide el proceso en cuatro fases, dentro de las cuales se realizan varias iteraciones en número variable según el proyecto y en las que se hace un mayor o menor hincapié en las distintas actividades. Tal como se observa en la figura 2.

BIBLIOTECA

DE CIENCIAS

FÍSICAS

Figura 2. Fases, Iteraciones y Flujos de Trabajo de RUP Fuente: Rueda Chacón, J. C. , 2011

2.4.1.1.1.

Inicio

En esta fase se define el modelo del negocio y el alcance del proyecto. Durante esta etapa es importante identificar todos los actores y casos de uso, y se diseñan los casos de uso más esenciales (aproximadamente el 20% del modelo completo).

Además, se desarrolla, un plan de negocio para determinar la distribución de recursos al proyecto.

Los objetivos de esta fase son:

 Establecer el ámbito del proyecto y sus límites.

 Encontrar los casos de uso críticos del sistema, los escenarios básicos que definen la funcionalidad.

BIBLIOTECA

DE CIENCIAS

FÍSICAS

 Estimar el coste en recursos y tiempo de todo el proyecto.

 Estimar los riesgos, las fuentes de incertidumbre.

2.4.1.1.2.

Elaboración

En esta fase se construye un prototipo de la arquitectura. El cual debe evolucionar en las iteraciones sucesivas hasta convertirse en el sistema final. El prototipo debe contener todos los casos de uso críticos identificados en la fase de inicio.

Los objetivos de esta fase son:

 Definir, validar y cimentar la arquitectura.

 Completar la visión.

 Crear un plan fiable para la fase de construcción. Este plan puede evolucionar en sucesivas iteraciones. Debe incluir los costes si procede.

 Demostrar que la arquitectura propuesta soportara la visión con

un coste razonable y en un tiempo razonable.

2.4.1.1.3.

Construcción

La finalidad de esta fase es alcanzar la capacidad operacional del producto de forma incremental a través de las sucesivas iteraciones.

Durante esta fase los componentes, características y requisitos deben ser implementados, integrados y probados en su totalidad, con el fin de obtener una versión aceptable del producto.

Los objetivos concretos incluyen:

 Minimizar los costes de desarrollo mediante la optimización de recursos y evitando el tener que rehacer un trabajo o incluso desecharlo.

 Conseguir una calidad adecuada tan rápido como sea práctico.

 Conseguir versiones funcionales (alfa, beta, y otras versiones de prueba) tan rápido como sea práctico.

BIBLIOTECA

DE CIENCIAS

FÍSICAS

2.4.1.1.4.

Transición

Su finalidad es poner el producto en manos de los usuarios finales, para lo que se debe desarrollar nuevas versiones actualizadas del producto, completar la documentación, entrenar al usuario en el manejo del producto; y tareas relacionadas con el ajuste, configuración, instalación y facilidad de uso del producto.

2.4.1.2.

Roles, Actividades, Artefactos y Flujos de Trabajo

Un proceso de desarrollo de software define quién hace qué, cómo y cuándo. RUP define cuatro elementos los roles, que responden a la pregunta ¿Quién?, las actividades que responden a la pregunta ¿Cómo?, los productos, que responden a la pregunta ¿Qué? y los flujos de trabajo de las disciplinas que responde a la pregunta ¿Cuándo?

2.4.1.2.1.

Roles

Un rol define el comportamiento y responsabilidades de un individuo, o de un grupo de individuos trabajando juntos como un equipo. Una persona puede desempeñar diversos roles, así como un mismo rol puede ser representado por varias personas.

Las responsabilidades de un rol son tanto el llevar a cabo un conjunto de actividades como el ser el dueño de un conjunto de artefactos.

2.4.1.2.2. Actividades

Una actividad en concreto es una unidad de trabajo que una persona que desempeñe un rol puede ser solicitado a que realice. Las actividades tienen un objetivo concreto, normalmente expresado en términos de crear o actualizar algún producto.

BIBLIOTECA

DE CIENCIAS

FÍSICAS

2.4.1.2.3.

Artefactos

Elementos de información producidos, modificados o usados durante el proceso de desarrollo de software. Los productos son los resultados tangibles del proyecto, las cosas que va creando y usando hasta obtener el producto final.

2.4.1.2.4.

Flujos de Trabajo

Con la enumeración de roles, actividades y artefactos no se define un proceso, necesitamos contar con una secuencia de actividades realizadas por los diferentes roles, así como la relación entre los mismos. Un flujo de trabajo es una relación de actividades que nos producen unos resultados observables. No siempre es posible representar flujos de trabajo.

Documento similar