VII Congreso de Expotecnología UVM 2007
WATCH: El Método del Reloj Un Método para el Desarrollo de Aplicaciones Empresariales Jonás A. Montilva C. Universidad de Los Andes Facultad de Ingeniería Escuela de Ingeniería de Sistemas Departamento de Computación Mérida Enero 2007
WATCH: El Método del Reloj Contenidos
Introducción Características del método Componentes del método WATCH para aplicaciones empresariales
Modelo de Productos Modelo de Actores Modelo de Procesos
Conclusiones
El Método WATCH
Los Problemas del Software
¿Porqué falla el software?
Factores que inciden en las fallas del software (ACM Queue, 2004)
Usos de métodos inapropiados
Falta de participación del usuario
Falta de aplicación de prácticas de Gestión de Proyectos
Complejidad de los proyectos
Requisitos cambiantes
El Método WATCH
Soluciones a los problemas del software Entender la naturaleza del software
Usar un proceso de desarrollo efectivo
Emplear el mejor personal
Producto
Proceso
Proyecto
Prácticas Personas
* (Montilva, 2006)
Gestionar el desarrollo como un proyecto El Método WATCH
Utilizar las mejores prácticas
El Método WATCH
Es un marco metodológico que describe los procesos técnicos, gerenciales y de soporte que deben emplear los grupos de desarrollo de aplicaciones empresariales
Un marco metodológico es un patrón que debe ser adaptado, al proyecto y al grupo cada vez que se use
El Método WATCH
Características del WATCH Está fundamentado en:
CMMI: Capability Maturity Model del Software Engineering Institute (CMMI, 2005)
RUP: Rational Unified Process de IBM (Krutchen, 2000)
PMBOK: Project Management Body of Knowledge del Project Management Institute (PMI, 2000)
El Método WATCH
Características del WATCH Sólidamente fundamentado Incremental e iterativo De propósito específico Flexible y adaptable Usa mejores prácticas de:
Ingeniería de Software y Gestión de Proyectos
Integra los procesos de gestión con los procesos técnicos y de soporte
El Método WATCH
Procesos del desarrollo de SW
¿Cómo se desarrolla software de alta calidad?
Aplicando ordenamente los bloques de construcción del desarrollo de software: Análisis
Diseño Gestión Construcción Soporte Pruebas
Instalación El Método WATCH
Estructura del Método WATCH
El método WATCH emplea como metáfora un reloj Los bloques de construcción se organizan en la forma de un reloj: Análisis
Instalación
Diseño
Gestión Soporte
Pruebas
Construcción El Método WATCH
Componentes del WATCH
Método WATCH
Modelo de Productos
Modelo de Actores
El Método WATCH
Modelo de procesos
Modelo de Producto Tipo de productos
Productos de Trabajo (Productos Intermedios )
Productos de Gestión del Proyecto
Productos Finales (Productos entregables )
Productos Técnicos
Caso de Negocio Modelo del Dominio de Aplicación Plan del Proyecto Documento de Requisitos Informes de Gestión Documento de Diseño
Aplicación Empresarial
Programas
Base(s) de Datos
Manuales
Documento de Implementación Documento de Pruebas
Describe las características generales que tienen las aplicaciones empresariales e identifica los productos intermedios y finales que se deben producir durante el desarrollo de una aplicación El Método WATCH
Modelo de Actores Describe las modalidades de organización de los grupos de trabajo que desarrollan las aplicaciones; así como, los roles y responsabilidades de los actores que integran estos equipos Cliente
Líder del Proyecto
Grupo de Análisis
Grupo de Diseño
Grupo de Implementación
Equipo de Desarrollo de Aplicaciones Empresariales
El Método WATCH
Grupo de Pruebas e Instalación
Modelo de Actores Actores
Interesado (Stakeholder )
Usuario Interno
Junta Directiva
Personal Ejecutivo
Personal Administrativo
Usuario Externo
Desarrollador
Personal Técnico Lider de Proyecto
Presidente
Roles
Director
Personal de apoyo
Presidente
Analista de Negocios
Gerente Ingeniero de Requisitos
Jefe de Departamento
Arquitecto de Software
Jefe de Sección
Administrador de Bases de Datos (ABD) Especialista en Calidad (SQA) Especialista en Configuración (SCM ) Facilitador
Diseñador de Software
Consultor
Ingeniero de Componentes
Administrador de Sistemas
Programador Especialista en Pruebas
Un actor es un individuo o una unidad organizacional que está involucrada en el
proyecto
El Método WATCH
Modelo de Procesos
Modelo de Procesos
Procesos Técnicos
Procesos de Gestión
Procesos de Soporte
Describe los procesos técnicos, gerenciales y de soporte que los grupos de trabajo deben emplear para desarrollar las aplicaciones empresariales El Método WATCH
Modelo de Procesos WATCH Modelo de Procesos
Procesos Técnicos
Procesos de Gestión
Procesos de Soporte
Cadena de Valor del WATCH Modelado del Dominio de la Aplicación (MDA)
Ingeniería de Requisitos (IR )
Diseño Arquitectónico (DA)
Diseño Detallado (DD)
Construcción & Integración (C&I)
Pruebas de la Aplicación (PA)
Entrega de la Aplicación (EA )
Procesos fundamentales
Gestión del Proyecto (GP)
Gestión de la Configuración del Software (SCM )
Aseguramiento de la Calidad del Software (SQA)
Gestión de Riesgos (GR)
Verficación y Validación (V&V) El Método WATCH Capacitación (CAP)
Procesos de apoyo
Relaciones entre Procesos Operación y Mantenimiento
Modelado del Dominio de la Aplicación
Entrega de la Aplicación
Ingeniería de Requisitos
Procesos Gerenciales y de Soporte
Pruebas de la Aplicación
Construcción & Integración
El Método WATCH
Diseño Arquitectónico
Diseño Detallado
Modelo de Procesos
Procesos Técnicos
Procesos de Gestión
Procesos de Soporte
Modelado del Dominio de la Aplicación
Planificación del Proyecto
Gestión de la Configuración
Ingeniería de Requisitos
Organización del Proyecto
Aseguramiento de la Calidad
Diseño Arquitectónico
Dirección del Proyecto
Diseño Detallado
Construcción& Integración
Administración de Recursos del Proyecto
Control del Proyecto
Pruebas de la Aplicación
Entrega de la Aplicación
El Método WATCH
Gestión de Riesgos
Verificación & Validación
Capacitación
Método WATCH Procesos de Gestión Planificación del Proyecto (PP )
Organización del Proyecto (OP )
Dirección del Proyecto (DP )
Administración de Recursos del Proyecto (AR )
Control del Proyecto (CP )
Objetivos de los Procesos de Gestión
Asegurar que el desarrollo de la aplicación sea sistemático, organizado, eficaz y eficiente
Garantizar que la aplicación se desarrolle a tiempo, bajo el presupuesto asignado y siguiendo los estándares, planes y procedimientos establecidos para asegurar la calidad de la aplicación
El Método WATCH
Procesos de Gestión Procesos Procesos de Gestión
Subprocesos
Productos
Planificación del Proyecto (PP)
Caso de Negocios
Organización del Proyecto (OP)
Informes de Gestión
Dirección del Proyecto (DP) Administración de Recursos del Proyecto (AP) Control del Proyecto (CP)
El Método WATCH
Plan del Proyecto Proceso de desarrollo Notas y correspondencia del proyecto
Modelo de Producto del Plan del Proyecto Plan del Proyecto
Plan de Alcance
Justificación
Plan de Actividades
Estructura de Trabajo ( WBS)
Estimación de Costos
Requisitos de Recursos
Plan de Gestión de Recursos Humanos
Plan de Gestión de Riesgos
Integración del Equipo de Desarrollo
Plan de Aseguramiento de la Calidad
Objetivos
Cronograma de Actividades Diagrama de Red
Estimado de Costos
Presupuesto
Roles y Responsabilidades
Plan de Verificación & Validación
Lista de Riesgos
Estándares de Calidad
Lista de ítems a controlar
Matriz de Gestión de Riesgos
Procedimientos de Calidad
Líneas de Base
Productos Proceso de Desarrollo
Plan de Gestión de Configuración
Estructura Organizacional del Proyecto
Planes de Respuesta / Contingencia
Plan de Capacitación
Proc . de Monitoría y Gestión de Riesgos
El Método WATCH
Procedimientos de Control de Configuración
Plan de Pruebas
Método WATCH Procesos de Soporte Gestión del Proyecto (GP)
Gestión de la Configuración del Software
(SCM )
Aseguramiento de la Calidad del Software
(SQA )
Gestión de Riesgos (GR)
Verficación y Validación
(V& V)
Capacitación (CAP )
Objetivos de los Procesos de Soporte
Asegurar la alta calidad de los productos
Asegurar que el proceso de desarrollo definido para cada proyecto se cumpla
Controlar la configuración de las aplicaciones empresariales
Manejar los riesgos que puedan surgir en los proyectos
Garantizar el uso apropiado de las aplicaciones empresariales mediante la capacitación de sus usuarios
Garantizar que el personal de los equipos de desarrollo posean los conocimientos, habilidades y destrezas necesarias para realizar eficaz y eficientemente las actividades requeridas El Método WATCH
Procesos de Soporte Procesos
Subprocesos
Procesos Gestión de la Configuración del de Soporte Software (SCM)
Productos Plan de Gestión de la Configuración
Aseguramiento de la Calidad del Software (SQA)
Plan de Gestión de Calidad
Gestión de Riesgos (GR)
Plan de Gestión de Riesgos
Verificación y Validación (V&V)
Plan de V&V Plan de Pruebas
Capacitación (CAP)
Plan de Capacitación
El Método WATCH
Método WATCH Procesos Técnicos Modelado del Dominio de la Aplicación (MDA )
Ingeniería de Requisitos (IR)
Diseño Arquitectónico (DA )
Diseño Detallado (DD)
Construcción & Integración (C&I)
Pruebas de la Aplicación ( PA)
Entrega de la Aplicación ( EA )
Procesos Técnicos Procesos Técnicos
Procesos de A nálisis
D iseño de la A rquitectura
Modelado del D om inio de la aplicación ( MD A ) Ingeniería de R equisitos (IR )
Procesos de Im plem entación
Procesos de D iseño
C onstrucción & Integración (C &A )
D iseño D etallado
Entrega de la A plicación ( EA )
Pruebas de la A plicación (PA )
Procesos de Análisis Análisis de la Aplicación
Modelado del Dominio
Ingeniería de Requisitos
Tienen como objetivos: (1) entender y modelar el dominio de la aplicación empresarial (el sistema de negocios que la aplicación empresarial apoyará) (2) definir y especificar el conjunto de requisitos funcionales y no-funcionales que la aplicación empresarial debe satisfacer El Método WATCH
Modelado del Dominio (Negocio)
Modelado del Dominio
Modelado de Elementos Organizacionales
Documentaci ón del Modelado de Dominio
El Método WATCH
Validaci ón del Modelo de Dominio
Ingeniería de Requisitos
Descubrimiento de Requisitos
Análisis de Requisitos
Especificaci ón de Requisitos
Gesti ón de Requisitos
El Método WATCH
Validación de Requisitos
Procesos de Diseño Diseño de la de la aplicaci ón
Diseño de la arquitectura de la aplicaci ón
Diseño detallado de la aplicaci ón
Tienen como objetivos:
• Establecer la arquitectura de la aplicación • Especificar los componentes arquitectónicos que conformarán la aplicación empresarial para que ésta satisfaga los requisitos establecidos
El Método WATCH
Proceso de Diseño de la Arquitectura
Diseño de la arquitectura de la aplicaci ón
Definici ón de metas de dise ño
Determinaci ón de subsistemas
Elaboraci ón de vistas arquitect ónicas
El Método WATCH
Evaluación de arquitectura
Proceso de Diseño Detallado
Diseño detallado de la aplicaci ón
Diseño de interfaz usuario/sistema
Diseño de las Bases de datos
El Método WATCH
Diseño de Componentes de software
Procesos de Implementación
<<proceso>>
<<proceso>>
Procesos de Implementaci ón
<<proceso>>
Construcci ón & Integraci ón
Pruebas de la Aplicaci ón
<<proceso>>
Entrega de la Aplicaci ón
El grupo de procesos de implementación tiene como objetivos:
producir la aplicación de acuerdo a las especificaciones de diseño arquitectónico y detallado elaboradas en los procesos de diseño
asegurarse de que la aplicación cumple con todos los requisitos acordados y satisface las necesidades del cliente
poner en producción la aplicación en la infraestructura o plataforma de operación instalada para tal efecto El Método WATCH
Proceso de Construcción & Integración <<proceso>>
Construcci ón & Integraci ón
<<proceso>>
Construcci ón de Programas
<<proceso>>
Creación de la(s ) Base(s ) de Datos Local(es )
El Método WATCH
<<proceso>>
Elaboraci ón de Manuales
Proceso de Pruebas de la Aplicación <<proceso>>
Pruebas de la Aplicaci ón
<<proceso>>
Pruebas Funcionales
<<proceso>>
Pruebas No Funcionales
El Método WATCH
<<proceso>>
Pruebas de Aceptaci ón
Proceso de Implementación <<proceso>>
Entrega de la Aplicaci ón
<<proceso>>
Capacitaci ón de Usuarios
<<proceso>>
Instalaci ón de la Aplicaci ón
<<proceso>>
Actualizaci ón de la BD local
El Método WATCH
<<proceso>>
Pruebas de la Instalaci ón
<<proceso>>
Entrega Formal de la Aplicaci ón
Instanciación del método El Método WATCH Modelo de Productos
Modelo de Actores
instanciación
Productos a Elaborar
Modelo de Procesos
instanciación
Actores y su organización
Proceso de Desarrollo de la Aplicación
Proyecto de desarrollo de una aplicación empresarial
El Método WATCH
Conclusiones
El desarrollo de software es un proceso complejo Requiere la aplicación de principios, métodos, prácticas, modelos y técnicas de:
La Ingeniería de Software provee los medios necesarios para desarrollar software con
Ingeniería y Gerencia de proyectos
Alta calidad Bajo costo Entregado a tiempo
WATCH es un marco metodológico fácil de usar, completo y basado en la mejores prácticas de Ingeniería de Software El Método WATCH
El Método WATCH
© Jonás Montilva, 2007
[email protected] www.webdelprofesor.ula.ve/ingenieria/jonas El Método WATCH