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
En lo particular este tipo de metodología es bastante completa que la de extreeme y scruum, ya que en esta se lleva mas control de lo que se requiere y existe mas planeacion para dar una mejor calidad
ResponderEliminarEsta metodología tiene algunas similitudes con la de RUP y la de XP con lo ágil que es pero también con los modos de uso que tiene de UML (casos de uso, secuencia de mensajes, etc.), sus desventajas indican que no sirve en proyectos largos en duración pero también sus ventajas indican que trabajar con ICONIX es ágil y pone en participación a los usuarios finales.
ResponderEliminarde los otros 2 temas expuestos por nuestros compañeros (XP y SCRUUM) hasta ahora esta me parece mas completa y con un mejor desarrollo ya que nos ofrece la opción de utilizar UML y tiene un control de cada requisito pedido facilitándonos el trabajo y así mismo nos ayuda a ofrecer un mejor producto
ResponderEliminarCual es el ciclo de vidad que tiene el metodo ICONIX? por en el XP tiene su ciclo de vida y como se pueden diferenciar de una a otro?
ResponderEliminaresta metodologia indica una planeacion muy bien elaborada, lo que nos puede llevar a evitar errores el desarrollo y en la interaccion con el cliente; la implementacion de UML me parece una herramienta que nos deja un panorama mas claro.
ResponderEliminarEl ciclo de vida que maneja me parece muy bueno ya que divides el proyecto en diferentes partes o iteraciones...
Gracias al uso extendido de la herramienta de modelado de UML hace que esta metodologia sea mas facil de entender a la hora de aplicar los procesos y se adapta muy bien a las necesidades de empresas pequeñas y medianas, para una empresa grande se necesitaria una metodologia con caracteristicas mas avanzadas pero para las antes mencionadas es eficiente.
ResponderEliminarDe las metodologias vistas hasta ahora esta es la que ami en lo personal me parece mucho mejor ya que lleva bases y ofrese un programacion fundamentada en documentacion formal, es muy sumilar a als otras mas sin embargo esta me parece mas apropiada para proyectos laboriosos.
ResponderEliminarpara mi esta metodologia es la mas completa que las 2 anteriores ya que agilisa mas los proyectos llevando mas control y mejor orden en estos
ResponderEliminarEsta es la mejor metodología hasta ahora, ya que esta mas estructurada y cada fase tiene su determinado tiempo, lo cual permite la construcción de un proyecto de calidad
ResponderEliminarEsta metodología, es a la que mas me ajustaría, ya que cuenta con una mejor estructuración, cada fase tiene tiempos definidos, me permitiría utilizar UML.
ResponderEliminartiene un mejor control de los procesos y permite dar un producto mas elaborado.
En esta metodologia su planeacion es mucho mas estructurada que las 2 pasadas metodolgias, en esta masestructurada y mucho mas completa y mas claro sobre todo
ResponderEliminarBuena información, pienso que es más formal y organizada que las anteriores metodologías y además está orientada a objetos.
ResponderEliminarconcuerdo con mis compañeros en que es la metodologia que mejor estructurada esta y bien elaborada de las que han expuesto (SCRUM y XP)
ResponderEliminarme gusto al igual que SCRUM su ciclo de vida sea incremental y qe cada vez se vaya mejorando, aunque una desventaja puede ser que solo sea para proyectos de corta duracion
Daniel Duarte Dueñas
Una metodología intermedia suena bastante atractiva sobre todo cuando su objetivo es el control del ciclo de vida del producto y sus tres características principales son como la cerecita del pastel, : Desarrollar por partes el producto y que se haga revisiones periódicas para su mejora, que los pasos realizados sean definidos por requisitos previamente establecidos y que tengan una relación además de poder utilizar el Lenguaje Unificado de Modelado, tiene mucho para ser envidiado por las dos metodologías anteriores.
ResponderEliminarEste tipo de metodología ICONIX me parece muy interesante, me párese completa y ágil para proyectos de corto plazo y su complejidad no es muy alta. es mas eficiente de RUP y XP simplificando sus etapas en un proyecto pequeño donde tanto el cliente como el usuario pueden ver el modelo.
ResponderEliminaresta completo y corto con mejor seguridad y calidad
esta mejor estructurada y mas fácil de entender que las anteriores y tiene una mejor velocidad que las anteriores
ResponderEliminarLo que mas me llama la atención de esta metodología es que utiliza los principios de la orientación a objetos y se usan algunos diagramas UML.
ResponderEliminarEs una metodología muy buena pesada-ligera de Desarrollo del Sofware y con un
ResponderEliminarproceso ágil para sistemas de informático.....
Borgata Hotel Casino & Spa, Atlantic City - MapyRO
ResponderEliminarBorgata Hotel Casino & Spa is Atlantic 대전광역 출장샵 City's premier integrated resort destination, 안성 출장안마 boasting 1700 rooms, an unparalleled travel 제천 출장샵 Rating: 2.7 이천 출장샵 · 14 구미 출장마사지 votes · Price range: $81