viernes, 22 de febrero de 2013

Metodologia ICONIX



¿Qué es ICONIX?
Es una metodología de desarrollo de software, basada en la complejidad de análisis de la metodología  RUP (Rational Unified Processes) y  la practicidad para desarrollar de la metodología XP (Extreme Programming) .
Unifica un conjunto de métodos de orientación a objetos, con el objetivo de abarcar todo el ciclo de vida de un proyecto. Se considera un enfoque “minimalista”, ya que comprende el conjunto mínimo de medidas que son necesarias para el proyecto de desarrollo.
Historia
Fue elaborado por Doug Rosenberg, y Kendall Scott a partir de una síntesis del proceso unificado de los “3 amigos” Booch, Rumbaugh y Jacobson.  Es una metodología de desarrollo de software basada en UML.
Ciclo de Vida Iterativo e Incremental
El ciclo de vida incremental consiste en desarrollar por partes el producto de manera que puedas integrarlas funcionalmente.
Ciclo de vida Iterativo
En cada ciclo de iteración se revisa y mejora el producto.
Características
ü  Iterativo e Incremental: Ocurren varias iteraciones entre el desarrollo del modelo del dominio y los casos de uso.  El modelo estático es incremental
ü  Trazabilidad: es  la capacidad de seguir una relación entre los diferentes artefactos producidos, por lo que cada paso esta referenciado por algún requisito.
ü  Dinámica del UML: ofrece un uso dinámico del UML, como los diagramas de caso de uso, diagramas de secuencia y de colaboración.



Fundamentos de los procesos
1.    Tiene que ser lo suficientemente flexible como para adaptarse a diferentes estilos y tipos de problemas.
2.     Hay que apoyar la forma de trabajo del personal (incluidos los prototipos y
desarrollo iterativo / incremental).
3.    Sirve como una guía para los menos experimentados
4.    Expone los productos anteriores al código de manera estándar y comprensible.
Fases de ICONIX

Revisión de los requisitos/ Análisis de Requisitos: Identificar en el mundo real, los objetos y todas las relaciones de agregación y generalización entre ellos. Se deben analizar  todos los requisitos formaran parte del sistema y con estos construir el diagrama de clases, que representa las agrupaciones funcionales que estructuraran el sistema en desarrollo.

Para esta fase se utilizan 3  herramientas
Modelo de Dominio: esto se refiere a identificar objetos y cosas del mundo real que intervienen con nuestro sistema. (Estático)
Modelo de Casos de Uso: describe las acciones o el comportamiento que un usuario realiza dentro del sistema. Comprende de actores, casos de uso y el sistema.
Prototipo de Interfaz de Usuario: implica la creación de un modelo o modelos operativos del trabajo de un sistema, en el que analistas y clientes deben estar de acuerdo. (Dinámico/ los usuarios se hacen participantes activos en el desarrollo)

Revisión del diseño preliminar /Análisis y Diseño Preliminar
En esta fase a partir de cada caso de uso se obtendrán una ficha de caso de uso, (la cual no pertenece a UML) , está formada por un nombre, una descripción, una precondición que debe cumplir antes de iniciarse, una postcondicion que debe cumplir al terminar si termina correctamente.

Diagrama de Robustez:   Un diagrama de robustez es un híbrido entre un Diagrama de Clases y un Diagrama de Actividades. Es una herramienta que nos permite capturar el Que hacer y a partir de eso él Como hacerlo.
 Facilita el reconocimiento de objetos y hace más sencilla la lectura del sistema. Ayuda a identificar los objetos que participan en cada caso de uso.
El diagrama de Robustez se divide en:
Objetos fronterizos: usado por los actores para comunicarse con el sistema.
Objetos entidad: son objetos del modelo del dominio.
Objetos de Control: es la unión entre la interfaz y los objetos de entidad.
Diagrama de Clases: describe la estructura de un sistema mostrando sus clases, atributos y las relaciones entre ellos
Revisión crítica del diseño/Diseño
En esta fase se reconocen todos los elementos que forman parte de nuestro sistema.
Diagramas de Secuencia: muestra los métodos que llevaran las clases de nuestro sistema. Muestra todos los cursos alternos que pueden tomar todos nuestros casos de uso.
  Se debe terminar el modelo estático, añadiendo los detalles del diseño en el diagrama de clases.
Implementación
En esta fase a partir del buen diseño logrado se creara el software; que posteriormente se entregara.
Conclusión
La metodología ICONIX, es una combinación entre la RUP y XP; está basada en el desarrollo de sistemas a partir del análisis y la documentación.
Esta metodología se busca tener una retroactividad con el cliente, en la mitad de los procedimientos, comenzando con un prototipo en donde el analista y el cliente definirán pantallas, funcionalidades, en si lo que se espera obtener del programa.
Se definirán los modelos de casos de uso, de secuencia y de robustez, con la finalidad de conseguir un buen sistema.




Referencias:
http://iconixprocess.files.wordpress.com/2007/01/showbookdetails-robustness.png
http://www.portalhuarpe.com.ar/Seminario09/archivos/MetodologiaICONIX.pdf

Bibliografía

Kendall Scott & Doug  Rosenberg. ( 2001). Applying Use Case Driven Object Modeling with UML: An Annotated e-Comerce Example. Addison Wesley.

8 comentarios: