Metodogía desarrollo software - RUP


“Todo en el software cambia, los requisitos cambian, los diseños cambian, el negocia cambia, el recurso humano cambia, las tecnologías cambian, pero el problema no es el cambio el problema es la incapacidad de adaptarnos al cambio”.

Introduccion

lunes, 24 de marzo de 2014


La ingeniería de software es una de las ramas de las ciencias de la computación el cual brinda conocimientos, técnicas y metodologías para el desarrollo de software con calidad, ofreciendo un enfoque sistemático, disciplinado y confiable, el desarrollo de software es un conjunto de actividades necesarias para transformar los requisitos del cliente en un sistema software, esto nos lleva a buscar las mejores metodologías que mitiguen los principales riesgos de fracasos en los sistemas, detectando cuando no se utiliza o se hace mal uso de una metodología de desarrollo de software, estas técnicas es una serie de procesos que son buenas prácticas para lograr los objetivos del proyecto.

Una metodología de desarrollo de software se refiere al entorno que se usa para estructurar, planificar y controlar el proceso de desarrollo de un sistema de información, cada tipo de proyecto tiene una metodología a la que se adapta mejor.

Metodología RUP (Proceso Unificado de Rational) el modelo fue desarrollado inicialmente por la empresa Rational Software actualmente propietario de IBM, constituye la metodología estándar más utilizada para el análisis, diseño, implementación y documentación  en el desarrollo de software.

RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologías adaptables al contexto y necesidades de cada organización.

Principios de desarrollo


Principios de desarrollo

Rup está basado en 6 principios importantes:

 

·         Adaptar el proceso: El proceso debe adaptarse a las necesidades del cliente.

·         Equilibrar prioridades: los requisitos pueden ser diferentes, contradictorios, disputa de recursos limitados.

·         Demostrar valor iterativamente: los proyectos se entregan internamente en etapas iteradas.

·         Colaboración entre equipos: El desarrollo de software no lo hace un persona si no un equipo o múltiples equipos.

·         Elevar el nivel de abstracción: motiva el usos de conceptos reutilizables como patrones de software, referencias etc,

·         Enfocarse en la calidad: La calidad se realiza en todos los aspectos de la producción y no al final de cada interacción.
 


Principales características RUP


·         Forma disciplinada de asignar tareas y responsabilidades (quién hace qué, cuándo y cómo)

·         Implementar las mejores prácticas en ingeniería de software.

·         Desarrollo iterativo

·         Administración de requisitos

·         Uso de arquitectura basada en componentes

·         Control de cambios

·         Modelado visual del software

·         Verificación de la calidad del software.

Fases Metodología RUP



Fases:

La estructura dinámica del RUP permite que el proceso de desarrollo se fundamentalmente iterativo en las cuatro fases.
1.    Fase de inicio: (se define el alcance del proyecto)
Se define el alcance del proyecto con los clientes, se identifican los riesgos asociados al proyecto, se elabora el plan de las fases y el de la iteración posterior, se detalla de manera general la arquitectura del software.
2.    Fase de Elaboración: (Definición, análisis y diseño)
Se diseña la solución preliminar, se selecciona los casos de uso que permiten definir la arquitectura base del sistema y se desarrollara el primer análisis del dominio del problema.
3.    Fase de desarrollo o construcción: (implementación)
La función de esta fase es completar la funcionalidad del sistema, se clarifican los requisitos pendientes, se administran los cambios de acuerdo a las evaluaciones realizadas por los usuarios, y se realizan las mejoras para el proyecto.
4.    Fase de transición: (fin del proyecto y pruebas)
Fase de cierre, el propósito es asegurar que le software esté disponible para los usuarios finales, se ajustan los errores y defectos encontrados en las pruebas de aceptación, se capacitan a los usuarios y se provee el soporte necesario.
Planear las 4 fases incluye: Asignación de tiempo, Hitos Principales, Iteraciones por Fases, Plan de proyecto.

Disciplinas a realizar en cada una de las fases
·         Proceso
-       Modelado de negocio
-       Requisitos
-       Análisis y diseño
-       Implementación
-       Pruebas
-       Despliegue

·         Soporte
-       Gestión de cambio y configuraciones
-       Gestión del proyecto
-       Entorno








Cada fase en RUP puede des componerse en iteraciones. Una iteración 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. Todos los miembros del equipo comparten:
1 Base de conocimiento
1 Proceso
1 Vista de cómo desarrollar software
1 Lenguaje de modelamiento (UML)
Los procesos deberán adaptarse a las necesidades del cliente ya que es muy importante interactuar con él, las características propias del proyecto, el tamaño del mismo, así como su tipo o las regulaciones que lo condicionen, influirán en su diseño específico, También se deberá tener en cuenta el alcance del proyecto en un área subnormal.

Equilibrar prioridades
Los requisitos de los diversos participantes pueden ser diferentes, contradictorios o disputarse recursos limitados. Debe encontrarse un equilibrio que satisfaga los deseos de todos. Gracias a este equilibrio se podrán corregir desacuerdos que surjan en el futuro. El desarrollo de software no lo hace una única persona sino múltiples equipos. Debe haber una comunicación fluida para coordinar requisitos, desarrollo, evaluaciones, planes, resultados, etc.
 



Artefactos



Artefactos:
En cada una de las fases de RUP se realizan una serie de artefactos que sirven para comprender el análisis como el diseño del sistema, entre los artefactos tenemos:
Inicio:
·         Documento visión
·         Especificación de requisitos
Elaboración:
·         Diagramas de cada caso de uso
Construcción:
·         Documento arquitectura que trabaja con las siguientes vistas:
-       Vista lógica (Diagrama de clase, Modelo E-R si el sistema así lo requiere)
-       Vista de implementación (diagrama de secuencia, diagrama de estados, diagrama de colaboración)
-       Vista conceptual (Modelo de dominio)
-       Vista física (Mapa de comportamiento a nivel de hardware)



Ciclo de vida: