Iconix XP
Iconix XP
Introduccin
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 investigacin realizada por los
integrantes del equipo y plasmada en este documento.
Para lograr una mejor y ms completa comprensin del tema se integro el ejemplo
de una empresa dedicada a la creacin de software que utiliza ICONIX para la
creacin de sus proyectos.
Esto nos permite conocer del tema en un ambiente de trabajo y pasar de la teora
a la prctica pudiendo as demostrar de manera grafica el concepto, adems nos
ayuda a la identificacin de sus caractersticas, ventajas y desventajas.
Qu es ICONIX?
ICONIX es un proceso simplificado en comparacin con otros ms tradicionales,
que unifica un conjunto de mtodos de orientacin a objetos con el objetivo de
abarcar todo el ciclo de vida de un proyecto.
Es una metodologa pesada-ligera de Desarrollo del Software que se halla entre
RUP (Rational Unified Process) y XP (eXtreme Programming), unifica un conjunto
de mtodos de orientacin 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 sntesis del
proceso unificado de los tres amigos Booch, Rumbaugh y Jacobson y que ha
dado soporte y conocimiento a la metodologa ICONIX desde 1993. Presenta
claramente las actividades de cada fase y exhibe una secuencia de pasos que
deben ser seguidos.
Caractersticas Principales
ICONIX cuenta con tres caractersticas fundamentales:
Iterativo e Incremental: durante el desarrollo del modelo del dominio y la
definicin 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 iteracin 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 relacin entre los diferentes
artefactos de software producidos.
Dinmica del UML: Ofrece un uso dinmico del UML porque utiliza algunos
diagramas UML, sin exigir la utilizacin de todos, como en el caso de
RUP(Rational Unified Process).
Fases de ICONIX
Revisin de los requisitos/ Anlisis 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. (Esttico)
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 creacin de un modelo o modelos operativos
del trabajo de un sistema, en el que analistas y clientes deben estar de acuerdo.
(Dinmico/ los usuarios se hacen participantes activos en el desarrollo).
Anlisis de Requisitos
Identificar objetos del dominio y relaciones de agregacin y generalizacin
Identificar casos de uso
Organizar casos de uso en grupos (paquetes)
Asignar requerimientos no funcionales a casos de uso y objetos del dominio
Revisin de requerimientos
Diseo
Diseo de usuarios y datos hacia sistema.
Detalle a partir de modelos de alto nivel.
Para cada caso de uso.
Identifica mensajes y mtodos.
Dibujar diagramas de secuencia.
Actualizar clases.
Terminar modelo esttico
Verificar cumplimiento de requerimientos
Implementacin y pruebas
Producir diagramas necesarios
Despliegue
Componentes
Escritura de cdigo
Pruebas de sistema y aceptacin basadas en casos de uso
Iterativo e Incremental:
El ciclo de vida incremental consiste en desarrollar por partes el producto de
manera que puedas integrarlas funcionalmente.
s, y mantiene al equipo del proyecto enfocado en los objetivos. El jefe de proyecto tambin establece un conjunto de prcticas que asegura
aboracin del Modelo de Anlisis y Diseo. Colaboracin en la elaboracin de las pruebas funcionales y el modelo de datos.
Ventajas de ICONIX.
Proceso gil para obtener un sistema informtico.
Desventajas de ICONIX.
Necesita informacin rpida y puntual de los requisitos, del diseo y de las
estimaciones.
Conclusin.
Se entendi ICONIX como una metodologa 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 ms conocimientos acerca del
proyecto que requieren, esto para que el proyecto se valla generando tal y como el
cliente lo necesita, esta metodologa no se utiliza en proyectos que requieran
mucho tiempo
Ejemplo de aplicacin Xp
Como ejemplo se puede aplicar esta metodologa en la industria financiera. El desarrollo rpido de
software lo suficientemente flexible como para adaptarse a los continuos cambios de la industria sera
vital. En el entorno de trabajo sera comn el estrs (la presin complicara an ms la tarea ya de por si
complicada de obtener software de calidad). En este campo se prefiere habitualmente el software
rpido, aunque contenga errores.
En este caso se trato de desarrollar rpidamente un software que fuese robusto y til. La programacin
extrema tendra el conseguir una aplicacin buena, de desarrollo rpido y til. Estos son las
caractersticas propias que puede abordar la programacin extrema (XP).
Repo Margining System
Este es un ejemplo de un proyecto de estas caractersticas.
La aplicacin permitira el comercio electrnico a travs del navegador y mantener informadas a las dos
partes del trato. Adems capturara las ofertas que se hiciesen y las mostrara en un lugar dedicado para
ello.
El equipo estara formado por 7 integrantes.
El espacio laboral estara habilitado para favorecer la comunicacin entre los componentes.
Se empezara desarrollando (utilizando el lenguaje de programacin JAVA) las clases, para poder
realizar las pruebas y posteriormente permitir el refactoring.
Todo el trabajo no se tendra que empezar desde cero, puesto que el equipo contaba con cdigo de
otros trabajos previos y que podran reutilizar.
Proyecto