Vous êtes sur la page 1sur 13

Metodologa RUP - desarrollo de software de calidad

INTRODUCCIN Todos nos hemos hecho esta pregunta al desarrollar un software, Qu metodologa debo usar para desarrollar un programa de ordenador. Y esto es muy importante ya que como arquitectos de software, debemos tener un plano en donde apoyarnos. La industria del software ha vivido por muchos aos dentro de un mal endmico desde su origen denominado la crisis de software. Han existido cientos de propuestas para buscar una solucin y sobre todo asegurar la calidad del software. El software debe ser pensado, diseado y desarrollado como un producto sujeto a normas de calidad. El software es un producto desarrollado por grupos de personas cuya interaccin debe ser gestionada. El nfasis en el proceso de desarrollo asegura un producto adecuado a los requisitos de los clientes. Muchas veces realizamos el diseo de nuestro software de manera rgida, con los requerimientos que el cliente nos solicit de tal manera que el cliente en la etapa final o de pruebas solicita un cambio se nos hace muy difcil realizarlo. METODOLOGA RUP El Proceso Unificado Racional, Rational Unified Process en ingls, y sus siglas RUP, es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado UML, constituye la metodologa estndar ms utilizada para el anlisis, implementacin y documentacin de sistemas orientados a objetos. El RUP no es un sistema con pasos firmemente establecidos, sino que trata de un conjunto de metodologas adaptables al contexto y necesidades de cada organizacin, donde el software es organizado como una coleccin de unidades atmicas llamados objetos, constituidos por datos y funciones, que interactan entre s. RUP es un proceso para el desarrollo de un proyecto de un software que define claramente quien, cmo, cundo y qu debe hacerse en el proyecto RUP como proceso de desarrollo RUP es explcito en la definicin de software y su trazabilidad, es decir, contempla en relacin causal de los programas creados desde los requerimientos hasta la implementacin y pruebas. RUP identifica claramente a los profesionales (actores) involucrados en el desarrollo del software y sus responsabilidades en cada una de las actividades. Fases de desarrollo del software Inicio

Elaboracin Construccin Transicin Fase de inicio Se hace un plan de fases, donde se identifican los principales casos de uso y se identifican los riesgos. Se concreta la idea, la visin del producto, como se enmarca en el negocio, el alcance del proyecto. El objetivo en esta etapa es determinar la visin del proyecto. Modelado del negocio En esta fase el equipo se familiarizar ms al funcionamiento de la empresa, sobre conocer sus procesos. Entender la estructura y la dinmica de la organizacin para la cual el sistema va ser desarrollado. Entender el problema actual en la organizacin objetivo e identificar potenciales mejoras. Asegurar que clientes, usuarios finales y desarrolladores tengan un entendimiento comn de la organizacin objetivo. Requisitos En esta lnea los requisitos son el contrato que se debe cumplir, de modo que los usuarios finales tienen que comprender y aceptar los requisitos que especifiquemos. Establecer y mantener un acuerdo entre clientes y otros stakeholders sobre lo que el sistema podra hacer. Proveer a los desarrolladores un mejor entendimiento de los requisitos del sistema. Definir el mbito del sistema. Proveer una base para estimar costos y tiempo de desarrollo del sistema. Definir una interfaz de usuarios para el sistema, enfocada a las necesidades y metas del usuario. Fase de elaboracin Se realiza el plan de proyecto, donde se completan los casos de uso y se mitigan los riesgos. Planificar las actividades necesarias y los recursos requeridos, especificando las

caractersticas y el diseo de la arquitectura. En esta etapa el objetivo es determinar la arquitectura ptima. Anlisis y Diseo En esta actividad se especifican los requerimientos y se describen sobre cmo se van a implementar en el sistema. Transformar los requisitos al diseo del sistema. Desarrollar una arquitectura para el sistema. Adaptar el diseo para que sea consistente con el entorno de implementacin. Fase de construccin Se basa en la elaboracin de un producto totalmente operativo y en la elaboracin del manual de usuario. Construir el producto, la arquitectura y los planes, hasta que el producto est listo para ser enviado a la comunidad de usuarios. En esta etapa el objetivo es llevar a obtener la capacidad operacional inicial. Implementacin Se implementan las clases y objetos en ficheros fuente, binarios, ejecutables y dems. El resultado final es un sistema ejecutable. Planificar qu subsistemas deben ser implementados y en qu orden deben ser integrados, formando el Plan de Integracin. Cada implementador decide en qu orden implementa los elementos del subsistema. Si encuentra errores de diseo, los notifica. Se integra el sistema siguiendo el plan. Pruebas Este flujo de trabajo es el encargado de evaluar la calidad del producto que estamos desarrollando, pero no para aceptar o rechazar el producto al final del proceso de desarrollo, sino que debe ir integrado en todo el ciclo de vida. Encontrar y documentar defectos en la calidad del software. Generalmente asesora sobre la calidad del software percibida.

Provee la validacin de los supuestos realizados en el diseo y especificacin de requisitos por medio de demostraciones concretas. Verificar las funciones del producto de software segn lo diseado. Verificar que los requisitos tengan su apropiada implementacin. Etapa de transicin El objetivo es llegar a obtener el release del proyecto. Se realiza la instalacin del producto en el cliente y se procede al entrenamiento de los usuarios. Realizar la transicin del producto a los usuarios, lo cual incluye: manufactura, envo, entrenamiento, soporte y mantenimiento del producto, hasta que el cliente quede satisfecho, por tanto en esta fase suelen ocurrir cambios. Despliegue Esta actividad tiene como objetivo producir con xito distribuciones del producto y distribuirlo a los usuarios. Las actividades implicadas incluyen: Probar el producto en su entorno de ejecucin final. Empaquetar el software para su distribucin. Distribuir el software. Instalar el software. Proveer asistencia y ayuda a los usuarios. Formar a los usuarios y al cuerpo de ventas. Migrar el software existente o convertir bases de datos.

Figura donde se muestra las fases de la metodologa RUP

Cada una de estas etapas es desarrollada mediante el ciclo de iteraciones, la cual consiste en reproducir el ciclo de vida en cascada a menor escala. Los objetivos de una iteracin se establecen en funcin de la evaluacin de las iteraciones precedentes. A medida que se avanza en el proyecto, es decir, cuando se va pasando de una fase a otra, la importancia relativa de cada uno de los Flujos de Trabajo va cambiando. As, en las iteraciones de la Fase de Inicio el trabajo se centra principalmente en el Modelamiento del Negocio y en la captura y especificacin de requisitos. Pero en la fase de Construccin el desarrollo est enfocado en la Implementacin (codificacin) y, en menor medida, en el Diseo Como filosofa RUP maneja 6 principios clave Adaptacin del proceso El proceso deber adaptarse a las caractersticas propias de la organizacin. El tamao del mismo, as como las regulaciones que lo condicionen, influirn en su diseo especfico. Tambin se deber tener en cuenta el alcance del proyecto. Balancear prioridades Los requerimientos de los diversos inversores pueden ser diferentes, contradictorios o disputarse recursos limitados. Debe encontrarse un balance que satisfaga los deseos de todos. Colaboracin entre equipos El desarrollo de software no hace una nica persona sino mltiples equipos. Debe haber una comunicacin fluida para coordinar requerimientos, desarrollo, evaluaciones, planes, resultados, etc. Demostrar valor iterativamente Los proyectos se entregan, aunque sea de modo interno, en etapas iteradas. En cada iteracin se analiza la opinin de los inversores, la estabilidad y calidad del producto, y se refina la direccin del proyecto as como tambin los riesgos involucrados. Elevar el nivel de abstraccin Este principio dominante motiva el uso de conceptos reutilizables tales como patrn del software, lenguajes 4GL o esquemas (Frameworks) por nombrar algunos. Estos se pueden acompaar por las representaciones visuales de la arquitectura, por ejemplo con UML. Enfocarse en la calidad

El control de calidad no debe realizarse al final de cada iteracin, sino en todos los aspectos de la produccin. Roles que se cumplen en el RUP Analistas: Analista de procesos de negocio. Diseador del negocio. Analista de sistema. Especificador de requisitos. Desarrolladores: Arquitecto de software. Diseador. Diseador de interfaz de usuario Diseador de cpsulas. Diseador de base de datos. Implementador. Integrador. Gestores: Jefe de proyecto Jefe de control de cambios. Jefe de configuracin. Jefe de pruebas Jefe de despliegue Ingeniero de procesos Revisor de gestin del proyecto

Gestor de pruebas. Apoyo: Documentador tcnico Administrador de sistema Especialista en herramientas Desarrollador de cursos Artista grfico Especialista en pruebas: Especialista en Pruebas Analista de pruebas Diseador de pruebas Otros roles: Stakeholders Revisor Coordinacin de revisiones Revisor tcnico Gestin del proyecto Se vigila el cumplimiento de los objetivos, gestin de riesgos y restricciones para desarrollar un producto que sea acorde a los requisitos de los clientes y los usuarios. Proveer un marco de trabajo para la gestin de proyectos de software intensivos. Proveer guas prcticas realizar planeacin, contratar personal, ejecutar y monitorear el proyecto. Proveer un marco de trabajo para gestionar riesgos. Configuracin y control de cambios

El control de cambios permite mantener la integridad de todos los mdulos que se crean en el proceso, as como de mantener informacin del proceso evolutivo que han seguido. Entorno La finalidad de esta actividad es dar soporte al proyecto con las adecuadas herramientas, procesos y mtodos. Brinda una especificacin de las herramientas que se van a necesitar en cada momento, as como definir la instancia concreta del proceso que se va a seguir. En concreto las responsabilidades de este flujo de trabajo incluyen: Seleccin y adquisicin de herramientas. Establecer y configurar las herramientas para que se ajusten a la organizacin. Configuracin del proceso. Mejora del proceso. Servicios tcnicos. Niveles de documentacin de la metodologa RUP Primer nivel de documentacin Especifica en trminos generales qu actividades debern integrar el Sistema de Aseguramiento de Calidad, que ser implantado en la organizacin. Este nivel contiene los siguientes elementos: Declaracin de Visin: Proyecciones de la administracin sobre el lugar que ocupar la organizacin en el futuro. Declaracin de Misin: Compromiso de la administracin para alcanzar la Visin. Poltica de Calidad: Posicin de la organizacin, en cuanto a la manera en que la calidad afectar la manera de cumplir con la Misin. Requerimientos de Calidad: Conjunto de actividades que la organizacin debe llevar a cabo, para asegurar la calidad tanto del proceso como el producto que desarrolla La Visin, Misin y Polticas de Calidad fueron desarrolladas a partir de los lineamientos estratgicos del Departamento de Sistemas de Informacin. El Requerimiento de Calidad se identifica en modelos de calidad como ISO 9000. Segundo nivel de documentacin

Este nivel incluye especificaciones detalladas, orientadas a la administracin, para explicar cmo se llevarn a cabo las actividades que integran el Sistema de Aseguramiento de Calidad. Este nivel est compuesto bsicamente por procedimientos Administrativos, que son declaraciones de direcciones sistemticas, sobre cmo la organizacin debe llevar a cabo cada uno de los Requerimientos de Calidad, definidos en el Primer Nivel de Documentacin. Tercer nivel de documentacin Este nivel incluye especificaciones punto a punto, explcito y conciso para llevar a cabo cualquier tarea en la organizacin. Est compuesto bsicamente por Procedimientos de Operativos que describen cada paso que se debe realizar para concretar una tarea o actividad; y Estndares que se utilizan con el fin de registrar datos o informacin de algo especfico. Estos procedimientos y estndares han sido divididos en tres grupos: 1. Los relacionados con el desarrollo del curso Proyecto de Ttulo. 2. Los relacionados con el desarrollo de producto de software. 3. Los que guan la implantacin y mejoramiento del Sistema de Aseguramiento de Calidad. Esta divisin facilita el uso y mantencin del sistema. Por ejemplo, si hay cambios en las normas administrativas que afecten el desarrollo de los cursos en general, entonces slo se vern afectados los procedimientos y estndares relacionados con el desarrollo del proyecto. Ciclo de iteraciones de la metodologa RUP Vale mencionar que el ciclo de vida que se desarrolla por cada iteracin, es llevada bajo dos disciplinas: Disciplina de Desarrollo Ingeniera de Negocios: Entendiendo las necesidades del negocio. Requerimientos: Trasladando las necesidades del negocio a un sistema automatizado. Anlisis y Diseo: Trasladando los requerimientos dentro de la arquitectura de software. Implementacin: Creando software que se ajuste a la arquitectura y que tenga el comportamiento deseado. Pruebas: Asegurndose que el comportamiento requerido es el correcto y que todo lo solicitado est presente.

Disciplina de Soporte Configuracin y administracin del cambio: Guardando todas las versiones del proyecto. Administrando el proyecto: Administrando horarios y recursos. Ambiente: Administrando el ambiente de desarrollo. Los elementos del RUP son: Actividades, Son los procesos que se llegan a determinar en cada iteracin. Trabajadores, Vienen hacer las personas o entes involucrados en cada proceso. Artefactos, Un artefacto puede ser un documento, un modelo, o un elemento de modelo. Una particularidad de esta metodologa es que, en cada ciclo de iteracin, se hace exigente el uso de artefactos, siendo por este motivo, una de las metodologas ms importantes para alcanzar un grado de certificacin en el desarrollo del software. Mtodo pesado Costo del cambio

Un cambio en las etapas de vida del sistema incrementara notablemente el costo. Requiere un grupo grande de programadores para trabajar con esta metodologa. Cada fase en RUP puede descomponerse en iteraciones. Una iteracin es un ciclo de desarrollo completo dando como resultado una entrega de producto ejecutable (interna o externa). El proceso define una serie de roles: Los roles se distribuyen entre los miembros del proyecto y que definen las tareas de cada uno y el resultado (artefactos) que se espera de ellos.

Figura donde se muestra la definicin de roles Dimensiones del RUP El RUP tiene dos dimensiones: El eje horizontal representa tiempo y demuestra los aspectos del ciclo de vida del proceso. El eje vertical representa las disciplinas, que agrupan actividades definidas lgicamente por la naturaleza. La primera dimensin representa el aspecto dinmico del proceso y se expresa en trminos de fases, de iteraciones, y la finalizacin de las fases. La segunda dimensin representa el aspecto esttico del proceso: cmo se describe en trminos de componentes de proceso, las disciplinas, las actividades, los flujos de trabajo, los artefactos, y los roles. Caractersticas esenciales que definen al RUP Proceso Dirigido por los Casos de Uso: Con esto se refiere a la utilizacin de los Casos de Uso para el desenvolvimiento y desarrollo de las disciplinas con los artefactos, roles y actividades necesarias. Los Casos de Uso son la base para la implementacin de las fases y disciplinas del RUP. Un Caso de Uso es una secuencia de pasos a seguir para la realizacin de un fin o propsito, y se relaciona directamente con los requerimientos, ya que un Caso de Uso es la secuencia de pasos que conlleva la realizacin e implementacin de un Requerimiento planteado por el Cliente. Proceso Iterativo e Incremental: Es el modelo utilizado por RUP para el desarrollo de un proyecto de software. Este modelo plantea la implementacin del proyecto a realizar en Iteraciones, con lo cual se pueden definir objetivos por cumplir en cada iteracin y as poder ir completando todo el proyecto iteracin por iteracin, con lo cual se tienen varias ventajas, entre ellas se puede mencionar la de tener pequeos avances del proyectos que son entregables al cliente el cual puede probar mientras se est desarrollando otra iteracin del proyecto, con lo cual el proyecto va creciendo hasta completarlo en su totalidad. Proceso Centrado en la Arquitectura:

Define la Arquitectura de un sistema, y una arquitectura ejecutable construida como un prototipo evolutivo. Arquitectura de un sistema es la organizacin o estructura de sus partes ms relevantes. Una arquitectura ejecutable es una implementacin parcial del sistema, construida para demostrar algunas funciones y propiedades. RUP establece refinamientos sucesivos de una arquitectura ejecutable, construida como un prototipo evolutivo. Alcance de la metodologa RUP La metodologa RUP es ms apropiada para proyectos grandes, tambin pequeos, dado que requiere un equipo de trabajo capaz de administrar un proceso complejo en varias etapas. En proyectos pequeos, es posible que no se puedan cubrir los costos de dedicacin del equipo de profesionales necesarios. Antecedentes del RUP Los orgenes de RUP se remontan al modelo espiral original de Barry Boehm. Ken Hartman, uno de los contribuidores claves de RUP colabor con Boehm en la investigacin. En 1995 Rational Software compr una compaa sueca llamada Objectory AB, fundada por Ivar Jacobson, famoso por haber incorporado los casos de uso a los mtodos de desarrollo orientados a objetos. El Rational Unified Process fue el resultado de una convergencia de Rational Approach y Objectory. El primer resultado de esta fusin fue el Rational Objectory Process, la primera versin de RUP, fue puesta en el mercado en 1998, siendo el arquitecto en jefe Philippe Kruchten. Desde all hasta la actualidad es la metodologa ms empleada en el mundo. Un FRAMEWORK de mtodos y mdulos reutilizables Antes de que se puede aplicar a proyectos especficos dentro de una organizacin. Del mismo modo, necesita terminar el esqueleto RUP y sus bibliotecas para adaptarlos a la organizacin. El marco RUP es definido por una familia de mtodo plug-ins que se basan en las necesidades nicas del negocio, as como el contexto (complejidad tcnica y de gestin), las organizaciones son capaces de crear sus propias configuraciones de mtodo y a la medida de procesos. RUP proporciona un Fundacin arquitectnica y gran cantidad de material que puede construirse en una definicin de proceso, por lo tanto, lo que permite la organizacin adoptando configurar y ampliar esa fundacin como desee. Flujos de trabajo de fase RUP Cada fase en RUP tiene un flujo de trabajo, en el que se describe la secuencia en que las actividades de todas las diversas disciplinas se pueden realizar para alcanzar los objetivos del hito fase respectivos. Fases RUP frente a las fases de la cascada

Las Fases RUP difieren de las fases SDLC de cascada tradicional. Para ayudar a las organizaciones a adoptar el RUP. El hecho es que las fases en el RUP no equivalen a las fases en el ciclo de vida de cascada. Para lograr esto se realiza a travs de mltiples disciplinas. Bibliografa Tesis Aplicacin de la metodologa RUP para el desarrollo rpido de aplicaciones basado en el Estndar J2EE de la universidad San Carlos de Guatemala Libro Tcnicas cuantitativas para la gestin en la ingeniera del software Escrito por Javier Dolado Cosn Tekhne Revista de la facultad de ingeniera de la universidad Catlica Andrs Bello Caracas, Venezuela N10 ao 2007 Libro Gestin del conocimiento en Sistemas basado en objetos de aprendizaje, cualitativa y pedaggicamente definidos. De la coleccin VITOR Escruto por Erla Mariela MORALES MORGADO Conclusiones Al culminar el presente trabajo de investigacin podemos darnos cuenta que la metodologa RUP es la mejor al momento de obtener calidad en un software. Pudimos ver la complejidad y el nivel profesional que implica realizar un software por ms pequeo que este sea. La base fundamental de la metodologa RUP son las iteraciones y la reutilizacin de recursos en cada una de ellas. Otra caracterstica fundamental es la divisin de prioridades a todos y cada uno de los individuos que intervienen en el desarrollo del software. Como arquitectos de software debemos escoger la metodologa que mejor se adapte a los requerimientos de la empresa y que cumpla con el objetivo primordial que es obtener un software de calidad.

Vous aimerez peut-être aussi