Metodología
ICONIX.
Introducción
ICONIX.
La finalidad de este trabajo
es el de tener claro que es y para que
se utiliza ICONIX. Dicha finalidad es explicada por la investigación realizada
por los integrantes del equipo y
plasmada en este documento.
Para lograr una mejor y más
completa comprensión del tema se integro el ejemplo de una empresa dedicada a
la creación de software que utiliza ICONIX para la creación de sus proyectos.
Esto nos permite conocer del
tema en un ambiente de trabajo y pasar de la teoría a la práctica pudiendo así
demostrar de manera grafica el concepto,
además nos ayuda a la identificación de sus características, ventajas y
desventajas.
¿Qué es
ICONIX?
ICONIX es un proceso
simplificado en comparación con otros más tradicionales, que unifica un
conjunto de métodos de orientación a objetos con el objetivo de abarcar todo el
ciclo de vida de un proyecto.
Es una metodología
pesada-ligera de Desarrollo del Software que se halla entre RUP (Rational Unified Process) y XP
(eXtreme Programming), unifica un conjunto de métodos de orientación a objetos
con el objetivo de tener un control estricto sobre todo el ciclo de vida del
producto a realizar.
Fue elaborado por Doug
Rosenberg y Kendall Scott a partir de una síntesis del proceso unificado de los
“tres amigos” Booch, Rumbaugh y Jacobson y que ha dado soporte y conocimiento a
la metodología ICONIX desde 1993. Presenta claramente las actividades de cada
fase y exhibe una secuencia de pasos que deben ser seguidos.
Características
Principales
ICONIX
cuenta con tres características fundamentales:
Ø
Iterativo e Incremental: durante el desarrollo del modelo del dominio y
la definición de los casos de uso se producen varias iteraciones. 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.
El desarrollo se
organiza en series de mini-proyectos cortos, llamados iteraciones.
Ø
Trazabilidad: Cada paso que se realiza está definido por un requisito, se define la
trazabilidad como la capacidad de seguir una relación entre los diferentes
artefactos de software producidos.
Ø
Dinámica del UML: Ofrece un uso dinámico del UML porque utiliza algunos diagramas UML,
sin exigir la utilización de todos, como en el caso de RUP (Rational Unified Process).
Fases
de ICONIX
Revisión
de los requisitos/ Análisis de Requisitos
En esta fase se deben analizar todos los requisitos que 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, está formada
por un nombre, una descripción, una
precondición que debe cumplir antes de iniciarse, unapos-condición que debe
cumplir al terminar si termina correctamente.
Realizar 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.
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 registran 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 y verificar si el diseño satisface
todos los requisitos identificados.
Implementación
Después de tener el diseño se creara el software; que posteriormente se entregara.
Se debe utilizar el diagrama de componentes si fuera necesario para apoyar el
desarrollo, es decir mostrar una distribución física de los elementos que
componen la estructura interna del sistema. Así como escribir y generar el
código.
Ejemplo de la metodología ICONIX
Empresa: Softdem, Desarrollo Bajo
Demanda.
Análisis
de Requisitos
·
Identificar
objetos del dominio y relaciones de agregación y generalización
·
Identificar
casos de uso
·
Organizar
casos de uso en grupos (paquetes)
·
Asignar
requerimientos no funcionales a casos de uso y objetos del dominio
·
Revisión
de requerimientos
Diseño
·
Diseño de
usuarios y datos hacia sistema.
·
Detalle a
partir de modelos de alto nivel.
·
Para cada
caso de uso.
·
Identifica
mensajes y métodos.
·
Dibujar
diagramas de secuencia.
·
Actualizar
clases.
·
Terminar
modelo estático
·
Verificar
cumplimiento de requerimientos
Análisis y diseño preliminar
·
Descripción
de Casos de uso
·
Análisis
de robustez
·
Identificar
grupos de objetos que realizan escenario
·
Actualizar
diagramas de clases del dominio
·
Diagramas
de clases
Implementación y pruebas
·
Producir
diagramas necesarios
·
Despliegue
·
Componentes
·
Escritura
de código
·
Pruebas
de sistema y aceptación basadas en casos de uso
Ciclos de vida de desarrollo de software utilizado
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.
El desarrollo se organiza en series de mini-proyectos cortos, llamados
iteraciones.
Roles y
Responsabilidades
Puesto
|
Responsabilidad
|
Jefe
de Proyecto
|
El jefe de proyecto asigna los recursos, gestiona las
prioridades, coordina las interacciones con los clientes y usuarios, y
mantiene al equipo del proyecto enfocado en los objetivos. El jefe de
proyecto también establece un conjunto de prácticas que aseguran la
integridad y calidad de los artefactos del proyecto. Además, el jefe de
proyecto se encargará de supervisar el establecimiento de la arquitectura del
sistema. Gestión de riesgos. Planificación y control del proyecto.
|
Analista de Sistemas
|
Captura, especificación y validación de requisitos,
interactuando con el cliente y los usuarios mediante entrevistas. Elaboración
del Modelo de Análisis y Diseño. Colaboración en la elaboración de las
pruebas funcionales y el modelo de datos.
|
Programador
|
Construcción de prototipos. Colaboración en la elaboración de
las pruebas funcionales, modelo de datos y en las validaciones con el usuario
|
Ingeniero de Software
|
Gestión de requisitos, gestión de configuración y cambios,
elaboración del modelo de datos, preparación de las pruebas funcionales,
elaboración de la documentación. Elaborar modelos de implementación y
despliegue.
|
Ventajas de ICONIX.
Ø Proceso ágil para obtener un sistema informático.
Ø Dedicada a la construcción de sistemas de gestión de pequeña y mediana
complejidad con la participación de los usuarios finales.
Desventajas de ICONIX.
Ø Necesita información rápida y puntual de los
requisitos, del diseño y de las estimaciones.
Ø Es una metodología que no debe ser usada en
proyectos de larga duración.
Conclusión.
Se entendió ICONIX como una metodología que utiliza un
modelo de trabajo basado en procesos, lo cual permite una mayor velocidad en el
desarrollo del proyecto, con la seguridad y solidez que este permite al
utilizarlo de manera adecuada.
ICONIX permite tener
proyectos de calidad, en un tiempo corto
y que permiten a los usuarios o clientes a estar al pendiente y tener más
conocimientos acerca del proyecto que requieren, esto para que el proyecto se
valla generando tal y como el cliente lo necesita, esta metodología no se
utiliza en proyectos que requieran mucho tiempo
Bibliografía
EcuRed. (s.f.). Recuperado el 14 de Febrero de 2014, de
http://www.ecured.cu/index.php/ICONIX#Car.C3.A1cter.C3.ADsticas_de_Iconix
Juan Manuel Fernandez
Peña, M. d. (s.f.). Recuperado el 14 de Febrero de 2014, de
http://www.uv.mx/personal/asumano/files/2010/07/iconix2.pdf
Kendall Scott, D.
R. (2001). Applying Use Case Driven Object Modeling with UML: An Annotated
e-Commerce Example.Addison Wesley.
Molina, J. (s.f.).
Recuperado el 14 de Febrero de 2014, de
http://ima.udg.edu/~sellares/EINF-ES2/Present1011/MetodoPesadesTranspes.pdf
Oliva, C. R. (s.f.). portal
huarpe. Recuperado el 14 de Febrero de 2014, de
http://www.portalhuarpe.com.ar/Seminario09/archivos/MetodologiaICONIX.pdf
Softdem. (s.f.). Recuperado el
14 de Febrero de 2014, de http://softdem.com.mx/
Triptico: http://www.mediafire.com/view/d2ghry4gq0d5y27/IS.Exp.3.333063.pub
Trabajo Word: http://www.mediafire.com/view/ap9tf0pd497xgfy/IS.Exp.3.333063.docx
Presentacion en Power Point: http://www.mediafire.com/view/z7kz0b6o4jpdspk/IS.Exp.3.333063.pptx
Triptico: http://www.mediafire.com/view/d2ghry4gq0d5y27/IS.Exp.3.333063.pub
Trabajo Word: http://www.mediafire.com/view/ap9tf0pd497xgfy/IS.Exp.3.333063.docx
Presentacion en Power Point: http://www.mediafire.com/view/z7kz0b6o4jpdspk/IS.Exp.3.333063.pptx