martes, 24 de julio de 2012


Proceso de desarrollo de software
Un proceso define quien está haciendo que, cuando, y como alcanzar un determinado objetivo. En la Ingeniería del Software  el objetivo es construir un producto software o mejorar uno existente. Un proceso efectivo proporciona normas para el desarrollo eficiente de software de calidad. Captura y presenta las mejores prácticas que el estado actual de la tecnología permite. En consecuencia, reduce el riesgo y hace el proyecto más predecible.
Un proceso de desarrollo de software  tiene como propósito la producción eficaz y eficiente de un producto software que reúna los requisitos del cliente.
Hay varios modelos a seguir para el establecimiento de un proceso para el desarrollo de software, cada uno de los cuales describe un enfoque diferente para diferentes actividades que tienen lugar durante el proceso. 
Existen diferentes metodologías para llevar a cabo un proceso de desarrollo de software, las más utilizadas son RUP y ICONIX.
METODOLOGÍA RUP
El Proceso Unificado Racional, Rational Unified Process en inglés, y sus siglas RUP, es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado UML, constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos. El RUP no es un sistema con pasos firmemente establecidos, sino que trata de un conjunto de metodologías adaptables al contexto y necesidades de cada organización, donde el software es organizado como una colección de unidades atómicas llamados objetos, constituidos por datos y funciones, que interactúan entre sí.
RUP es un proceso para el desarrollo de un proyecto de un software que define claramente quien, cómo, cuándo y qué debe hacerse en el proyecto. El RUP es un producto de Rational (IBM). Se caracteriza por ser iterativo e incremental, estar centrado en la arquitectura y guiado por los casos de uso. Incluye artefactos (que son los productos tangibles del proceso como por ejemplo, el modelo de casos de uso, el código fuente, etc.) y roles (papel que desempeña una persona en un determinado momento, una persona puede desempeñar distintos roles a lo largo del proceso).
Características:
§  Forma disciplinada de asignar tareas y responsabilidades (quién hace qué, cuándo y cómo)
§  Pretende 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
  • Inicio (también llamado Incepción o Concepción).
  • Elaboración.
  • Desarrollo (también llamado Implementación, Construcción).
  • Cierre (también llamado Transición).
Fase de Inicio: Esta fase tiene como propósito definir y acordar el alcance del proyecto con los patrocinadores, identificar los riesgos asociados al proyecto, proponer una visión muy general de la arquitectura de software y producir el plan de las fases y el de iteraciones posteriores.
Fase de elaboración: En la fase de elaboración se seleccionan los casos de uso que permiten definir la arquitectura base del sistema y se desarrollaran en esta fase, se realiza la especificación de los casos de uso seleccionados y el primer análisis del dominio del problema, se diseña la solución preliminar.
Fase de Desarrollo: El propósito de esta fase es completar la funcionalidad del sistema, para ello se deben clarificar los requisitos pendientes, administrar los cambios de acuerdo a las evaluaciones realizados por los usuarios y se realizan las mejoras para el proyecto.
Fase de Cierre: (debe decir FASE DE TRANSICION) El propósito de esta fase es asegurar que el software esté disponible para los usuarios finales, ajustar los errores y defectos encontrados en las pruebas de aceptación, capacitar a los usuarios y proveer el soporte técnico necesario. Se debe verificar que el producto cumpla con las especificaciones entregadas por las personas involucradas en el proyecto.

METODOLOGÍA ICINIX
 El proceso ICONIX es un proceso de modelado de objetos, basado en casos de uso. Toma ideas de otros modelos como el Proceso Unificado de Rational (RUP), Programación Extrema (XP),Desarrollo Ágil de Software, aunque presenta algunas diferencias: es más liviano que el RUP porque utiliza solo cuatro diagramas del UML y, a diferencia del XP y el desarrollo ágil, provee de suficiente documentación de requerimientos y de diseño.

Características:
·                     Iterativo e incremental: Suceden iteraciones entre el desarrollo de modelo del dominio y la identificación de los casos de uso. El modelo estático es incrementalmente refinado por los modelos dinámicos.
·                     Trazabilidad: Cada paso está referenciado por algún requisito. Se debe considerar a la trazabilidad como la capacidad de seguir una relación entre los diferentes artefactos producidos.  
·                      Dinámica del UML: Uso dinámico de UML en los diagramas de caso de uso, diagramas de secuencia y de colaboración.
Faces
·         ·         Análisis de requisitos
·         1)      Modelo de dominio
·         2)      Prototipación rápida
·         3)      Modelo de casos de uso
·         ·         Análisis y diseño preliminar
·         1)      Descripción de casos de uso
·         2)      Diagrama de robustez
·         ·         Diseño
·         1)      Diagrama de secuencia
·         2)      Completar el modelo estático
·         ·         Implementación
·         1)      Utilizar un diagrama de componentes
·         2)      Escribir / Generar código
·         3)      Realización de pruebas


No hay comentarios:

Publicar un comentario