2. Introducción
lEsta presentación describe un método de desarrollo de aplicaciones empresariales denominado:
lWATCH COMPONENT
l
lEl método consta de tres componentes:
l Modelo del producto.- Describe el tipo de producto que el método WATCH ayuda a producir.
Establece las características arquitectónicas generales de una aplicación empresarial.
l Modelo del proceso.- Es una descripción estructurada del conjunto de actividades que el grupo de
desarrollo deberá seguir para producir una aplicación empresarial
l.
l Modelo del grupo de desarrollo.- Este modelo describe como el grupo de desarrollo debe estar
organizado y cuales son los roles de cada uno de sus miembros.
3. Definición
Es una variación del Método WATCH (Montilva & Barrios,2002) en su más
reciente versión, a este método se le ha llamado WATCH – Component, el
cual, como su nombre lo indica, es un método en el que se describe el ciclo
de vida de un componente de software reutilizable. Es un método que detalla
todo el proceso de especificación hasta la liberación de un componente de
software reutilizable.
4. Objetivo
Esta nueva variación se propone como una forma de paliar la
deficiencia de los métodos encontrados en la bibliografía basados en la
reutilización de componentes tales como (Cheesman & Daniels, 2001),
(Allen & Frost, 1998), (Kruchten, 2000), (Montilva & Barrios, 2002), los
cuales no especifican de forma detallada el ciclo de vida de un
componente de software reutilizable. Estos métodos se centran en la
reutilización del componente y no en su desarrollo individual.
5. Importancia
La utilidad e importancia que el método WATCH COMPONENT tiene se resume en los
siguientes puntos:
1. Le agrega visibilidad al proyecto; pues, permite que el grupo de desarrollo y los usuarios del
sistema puedan conocer en que estado se encuentra el proyecto en cualquier momento.
2. Le facilita al líder del proyecto las labores de planificación y control del proyecto.
3. Establece un marco metodológico único que estandariza el proceso de desarrollo y unifica la
documentación que se produce a lo largo del proyecto de desarrollo de una aplicación.
4. Está fundamentado en modelos de procesos de la Ingeniería de Software Basada en
Componentes
5. Emplea las mejores prácticas, técnicas y notaciones utilizadas regularmente en la Industria
del Software
6. Diseño
El diseño del Método WATCH – Component se hizo siguiendo los conceptos de
la Ingeniería de Métodos, estos conceptos incluyen tanto el modelado del
producto como el modelado de los procesos, además de estos modelos se
añade a la misma la extensión propuesta por (Montilva & Barrios, 2002), en la
cual se adiciona la especificación del modelo del grupo.
Esta idea de unir los conceptos de producto (Modelo de producto), el proceso
de desarrollo (Modelo de procesos) y el grupo de trabajo (Modelo del grupo de
desarrollo) también es tomada en cuenta por los trabajos de (Bergner, Raush,
Sihling & Vilbig, 2002) y (Hawker, 2002). En estos casos no se utiliza la
Ingeniería de Métodos.
Estos tres conceptos no son propuestos como modelos sino como paquetes y
se buscan las relaciones entre estos tres paquetes, más que la definición de
estos para un caso particular.
8. Principios
Este método mantiene los principios del método WATCH tales como:
• Utiliza la metáfora del reloj.
• Los procesos son divididos en procesos gerenciales y procesos de desarrollo.
• El líder del proyecto, en el proceso de validación y verificación, es el que decidirá
según los resultados obtenidos si continuar en la próxima fase o si es necesario
retroceder a una fase anterior para mejorar o corregir algún producto, entre otros.
Aunque se siguen los principios del Método WATCH, el método propuesto incluye dos
nuevos aspectos como lo son:
• La toma de decisiones acerca de las posibilidades de aprovisionamiento de los
componentes en las fases respectivas y dependiendo de estas decisiones
establece los pasos a seguir en cada una de las etapas.
• Está diseñado, a diferencia del Método WATCH, modelando el ciclo de vida de un
solo componente reutilizable y no una aplicación integrada por componentes.
9. Descripción de
los Modelos
Modelo de producto:
Con el modelado del producto, en este caso un componente de software reutilizable, se logran establecer
las diferentes etapas por las que va a pasar el producto (el componente), y que deben ser tomados en
cuenta durante la definición del modelo de procesos, para crear así una relación entre el modelo de
producto y el modelo de procesos.
Modelo del Grupo de Desarrollo:
La distinción entre los roles de los desarrolladores de componentes es un aspecto clave en el proceso de
desarrollo orientado a componentes. Esta distinción es necesaria para que el mercado de componentes
vaya creciendo de manera especializada. De allí que el objetivo de modelar el grupo es, precisamente,
identificar los roles que deben ser jugados por los diferentes miembros del grupo y sus tareas en cada fase
del proceso de desarrollo de componentes.
Modelo de Procesos:
El objetivo principal es generar un modelo de procesos que incluye las etapas necesarias que permitan
cubrir todos los aspectos por los que pasa el producto en este caso un componente de software. Para lograr
esto en cada etapa es definida por: el objetivo de la etapa, la definición de los conceptos, técnicas o
diagramas relacionados que no hayan sido descritos anteriormente, los productos de cada fase y la
descripción de las actividades del proceso mediante una tabla de actividades, el flujo de trabajo y la
descripción de cada una de las actividades.
10. Modelado del Producto
Componente
• Especificación del Componente: Establece las características del
componente y las funciones que realiza.
• Interfaz del Componente: Corresponde a la parte de especificación de las
operaciones y la definición de su comportamiento.
• Implementación del componente: Comprende la realización del
componente.
• Componente Instalado: La instalación (despliegue) de la implementación del
componente en una plataforma de ejecución determinada.
• Componente Objeto: Es una instancia de un componente instalado.
11. Modelado del Producto
Componente
Etapas en el ciclo de vida de un componente de software reutilizable.
Esta perspectiva del modelo de producto para un componente, hecha analizando las
formas de componentes propuestas por (Cheesman & Daniels, 2001), nos permitió
establecer una clasificación de los componentes basándose en sus estados, la cual se
muestra en la figura
12. Modelado del Grupo
Desarrollo
• El tamaño correcto: Los grupos deben ser de un tamaño razonable, ya
que si se considera el numero de personas como X, el numero posible de
líneas de comunicación será: X(X-1)/2. Si el grupo es de 6 personas se
necesitan 15 canales de comunicación.
• El ambiente correcto: Un gran número de investigaciones ha demostrado
que el ambiente influye en el desarrollo de aplicaciones. El grupo también
necesita acceso a la tecnología.
• Los mecanismos correctos de comunicación: Para esto se deben tomar
en cuenta tanto los mecanismos de comunicación asíncrona como el correo
electrónico, transferencia de archivos, páginas Web; como los mecanismos de
comunicación sincronizados como Netmeeting, vídeo conferencias, reuniones,
etc. Esto dependerá de la ubicación geográfica en que se encuentren las
personas que forman los diferentes grupos del proyecto.
14. Modelado de los
Procesos
Cabe destacar que los ciclos de vida de los componentes son similares a los
de desarrollo de una aplicación pero estos difieren en la fase de diseño y de
aprovisionamiento, la cual es la fase de formalizar el diseño en una manera
ejecutable.
El modelo de procesos que se describe a continuación, al igual que en el
Método WATCH, los procesos se dividen en procesos gerenciales y procesos
de desarrollo; los procesos de desarrollo se ejecutan en el orden de las
manecillas del reloj, con la propiedad de poder adelantar al próximo proceso o
retroceder al anterior según los resultados obtenidos en el proceso gerencial
de Verificación y Validación y a la decisión que tome el líder del proyecto.
Un proceso es un conjunto de actividades que persiguen un propósito, en este
caso los procesos gerenciales están compuestos por una serie de actividades
cuyo fin es el de planificar, coordinar y mejorar las actividades que se ejecutan
en el proceso de desarrollo.
15. Modelado de los
Procesos
Modelo de Procesos WATCH - Component
El modelo de procesos del WATCH – Component comprende las fases del ciclo de vida de un
componente desde la especificación hasta su inclusión en el repositorio. Tal como se ilustra en la figura.
Cómo va a beneficiar la presentación a los asistentes: los adultos están más interesados en un tema si saben cómo y por qué es importante para ellos.
Nivel de experiencia en este tema del presentador: describa brevemente sus credenciales en este apartado o por qué los participantes deberían escucharle.
Las descripciones de las lecciones deben ser breves.
Objetivos de ejemplo
Al final de esta lección, sabrá:
Guardar archivos en el servidor Web del equipo.
Mover archivos a diferentes ubicaciones del servidor Web del equipo.
Compartir archivos en el servidor Web del equipo.