Propuesta Matriz de Actividades para un Ciclo de Vida de Explotación de Datos Britos, P. 1,2 ; Fernández, E. 2,1 ; García Martínez, R 1,2 1 Centro de Ingeniería del Software e Ingeniería del Conocimiento. Escuela de Postgrado. ITBA. 2 Laboratorio de Sistemas Inteligentes. Facultad de Ingeniería. Universidad de Buenos aires {pbritos,enfernan,rgm}@itba.edu.ar RESUME El mapa de actividades es una tabla que describe qué actividades deben desarrollarse en el En función de las características de este, dichas actividades se seleccionan o descartan. Los proyectos de explotación de, como proyectos informáticos necesitan seleccionar el ciclo de vida mas adecuado y definir el mapa de actividades. en este contexto en este artículo se propone una matriz de actividades para un ciclo de vida de explotación de 1. Estado de la cuestión Al inicio de un proyecto es crítica la decisión sobre qué ciclo de vida se elegirá para el proyecto en cuestión. Una vez que se ha hecho tal selección, y guiado por ella, se debe establecer el mapa de actividades que ajusta el proceso software genérico al modelo de ciclo de vida elegido. El mapa de actividades es una tabla que describe qué actividades deben desarrollarse en el En función de las características de este, dichas actividades se seleccionan o descartan. [Diez, 2003; Juristo, 2003]. Los proyectos de explotación de, como proyectos informáticos necesitan seleccionar el ciclo de vida mas adecuado y definir el mapa de actividades. La norma IEEE 1074-1989 Standard Software Life Cycle Processes [IEEE 1074, 1989] indica las actividades a realizar durante el proceso de construcción del software (sin importar el ciclo de vida que se utilice). Para el caso de proyectos de explotación de la norma [a] considera la gestión del proyecto, [b] no considera: análisis de, validación de, gestión de calidad de, y Implementación de la documentación, y [c] propone sin utilidad para los proyectos de explotación de : retiro del software, implementación, diseño, y 2. Descripción del problema En el contexto sobre gestión de proyectos de explotación de son problemas a resolver: Dado que la norma IEEE 1074-1989 no contempla actividades propias de la explotación de como son: i) el análisis de los, ii) la validación de los mismos, iii) su gestión de calidad, y iv) la implementación de la documentación; la definición de estas actividades son un problema a resolver. Existen actividades que no son necesarias para proyectos de explotación de tales como: retiro del software, implementación, diseño y La identificación de dichas actividades y otras semejantes para eliminarlas del mapa de actividades son un problema a resolver. 3. Solución propuesta 3.1. Propuesta de nuevas actividades Se toma como base para la solución el estándar 1074-1989 de IEEE Standard Software Life Cycle Processes. A continuación se presentan las actividades propuestas por el estándar y su aplicación en el desarrollo de las actividades de explotación de ; con la incorporación ISS 1667-5002. CAPIS-EPG-ITBA (http://www.itba.edu.ar/capis/rtis)
de actividades propias de la explotación de propuestas en esta trabajo (tabla 1). Actividades Aplicación Estado Proceso de Selección de un Modelo de Ciclo de Vida Identificar los posibles modelos de ciclos de vida. Seleccionar un modelo para el Se pueden utilizar distintos ciclos de vidas para las actividades de explotación de. Se pueden utilizar distintas metodologías de desarrollo para las actividades de explotación de. Proceso de Iniciación, Planificación y Estimación del Proyecto Establecer la matriz de actividades para el modelo de ciclos de vida. Se establecen las actividades que deben realizarse de acuerdo al ciclo de vida a utilizar. Asignar los recursos del Definir el entorno del gestión del Se establecen los recursos a utilizar. Se establece el entorno en que se va a desarrollar el Se debe planificar las actividades a realizar, esta planificación a lo largo del Proceso de Seguimiento y Control del Proyecto Analizar riesgos. Se deben analizar los riesgos que puedan suceder a lo largo del desarrollo del planificación de contingencias. Gestionar el Implementar el sistema de informes de problemas. Archivar registros. Cuando se identifiquen riesgos en el proyecto debe realizarse el plan de contingencia del mismo. Se deben realizar las actividades de gestión de proyectos informáticos para poder llevar adelante el desarrollo en tiempo y forma. Se deben registrar los incidentes planteados durante el desarrollo del proyecto, con el objetivo de que en futuras actividades puedan preverse o minimizar el impacto de los mismos. Se deben almacenar todo tipo de registro o cambio producido en la documentación del proyecto, para así poder tener control sobre el mismo. Proceso de Gestión de Calidad El nombre del proceso propuesto por la IEEE en el estándar 1074-1989 es Proceso de gestión de calidad del software, como en la explotación de no se gestiona un software sino se gestiona la calidad de los y los resultados obtenidos en función de las reglas del negocio, se propone para este proceso el nombre de Proceso de Gestión de la Calidad de Datos. garantía de calidad del garantía de Desarrollar métricas de Gestionar la calidad del Gestionar la Identificar necesidades de mejora de la o se corresponde desarrollar esta actividad, debido a que en este tipo de proyectos se gestiona la calidad de los y los resultados obtenidos en función de las reglas del negocio, y no de construcción del Esta actividad tiene por objetivo realizar un plan de aseguramiento de la calidad en el proceso de explotación de. A lo largo del proceso de desarrollo deben desarrollarse métricas de calidad propias de la organización, que permitan realizar un proceso de mejora en futuros proyectos. o se corresponde desarrollar esta actividad, debido a que en este tipo de proyectos se gestiona la calidad de los y los resultados obtenidos en función de las reglas del negocio, y no de construcción del A lo largo del proceso de desarrollo debe gestionase la calidad del proyecto, permitiendo así obtener resultados de acuerdo a los objetivos de negocio de la organización. Es necesario identificar mejoras en los procesos con el objetivo de optimizar el proyecto en cuestión y los futuros proyectos. ISS 1667-5002. CAPIS-EPG-ITBA (http://www.itba.edu.ar/capis/rtis) 37
Proceso de Exploración de Conceptos Identificar las ideas Es necesario o necesidades. establecer las necesidades propias de la organización en función de los objetivos del negocio. Definir y desarrollar los requisitos del negocio Formular las soluciones potenciales. Dirigir los estudios de viabilidad. transición del sistema (si se aplica). Refinar y finalizar la idea o necesidad. Esta actividad se agrega al proceso de Exploración de Conceptos debido a que es necesario analizar los objetivos que tiene la organización con respecto a la explotación de. Es necesario proponer diversas soluciones al problema planteado en la organización, con el objetivo de que se pueda seleccionar la opción que mas convenga a la organización. En todo proyecto informático es importante realizar la viabilidad del proyecto, ya que a partir del mismo se puede determinar la factibilidad de éxito del mismo. Esta actividad no corresponde para las aplicaciones de explotación de, debido a que en la misma no existe transición entre sistemas. De acuerdo a las necesidades planteadas y a los objetivos de negocio, es necesario en algunas oportunidades realizar una refinación de las mismas para así obtener nuevas necesidades. Proceso de Asignación del Sistema Analizar las Es necesario funciones del establecer las funciones a realizar, en explotación de se hace referencia a las técnicas mas apropiadas para lograr los objetivos del negocio. Desarrollar la arquitectura del Esta actividad no corresponde para las aplicaciones de explotación de, ya que no se desarrolla la arquitectura del Descomponer los requisitos del Es importante en las actividades de explotación de información desagregar los requisitos planteados, para que se puedan resolver adecuadamente. Proceso de Análisis de Requisitos aplicaciones de explotación de, ya que no existe análisis de requisitos de software, sino el análisis de los. Definir y ------ Desarrollar los requisitos del Definir los ------ requisitos de interfaz. Priorizar e Integrar los requisitos del ------ Proceso de Análisis de Datos Este conjunto de actividades han sido agregadas debido a que es necesario analizar las distintas fuentes de de la organización en forma detallada. Analizar las fuentes de Definir los limpieza de. Definir los completitud de Aplicar los limpieza de. Aplicar los completitud de Se analizan las diversas fuentes de donde se toman los, para poder realizar acciones que permitan manejar los de forma adecuada. Es necesario establecer algoritmos de limpieza de los, de acuerdo al estado de los mismos. Es necesario establecer algoritmos de completitud de los, de acuerdo al estado de los mismos. Es necesario aplicar algoritmos de limpieza en los, de acuerdo al estado de los mismos. Es necesario aplicar algoritmos de completitud en los, de acuerdo al estado de los mismos. Proceso de Diseño aplicaciones de explotación de, ya que no existe diseño de software, sino al análisis de. Realizar el diseño ------ preliminar. Analizar el flujo de ------ in Diseñar la base de ------ (si se aplica). Diseñar las ------ interfaces. Seleccionar o desarrollar algoritmos (si se aplica). ------ ISS 1667-5002. CAPIS-EPG-ITBA (http://www.itba.edu.ar/capis/rtis) 38
Realizar el diseño ------ detallado. Proceso de Implementación e Integración aplicaciones de explotación de, ya que no existe implementación e integración en este tipo de sistemas. Crear los de ------ Crear el código ------ fuente. Generar el código ------ objeto. Crear la ------ documentación de operación. ------ integración ------ integración Proceso de Instalación y Aceptación aplicaciones de explotación de, ya que no existe instalación de software en este tipo de sistemas. ------ instalación. Distribuir el ------ Instalar el ------ Cargar la base de ------ (si se aplica). Aceptar el software ------ en el entorno de operación. s ------ actualizaciones. Proceso de Operación y Soporte aplicaciones de explotación de, ya que no existe la operación y soporte por parte de un usuario en el proceso de explotación de. Operar el ------ Proveer de ------ asistencia técnica y consultas. Mantener el ------ histórico de peticiones de soporte. Proceso de Mantenimiento aplicaciones de explotación de, debido a que en las mismas no existe el mantenimiento Realizar el ------ mantenimiento correctivo. Reaplicar el ciclo ------ de vida del Proceso de Retiro Esta actividad no corresponde se corresponde para las aplicaciones de explotación de, ya que en el mismo no existen las actividades de retiro de un sistema para la incorporación de uno nuevo; el tipo de proyecto se complementa a los sistemas de la organización. otificar al usuario. ------ Conducir ------ operaciones en paralelo (si se aplica). Retirar el ------ Proceso de Validación El nombre del proceso propuesto por la IEEE en el estándar 1074-1989 es Proceso de verificación y validación, este nombre no es apropiado ya que en la explotación de no se verifican los, sino que se entrenan con un conjunto de las técnicas de explotación de y se validan los resultados de los mismos con otro conjunto de. verificación y validación. Planificar con que y como se van a utilizar de las técnicas. validación de los de acuerdo a las técnicas utilizadas. Definir los de a utilizar. Definir los de Ejecutar las tareas de verificación y validación. Ejecutar las tareas de modelado. Ejecutar las tareas de validación de de Recoger y analizar los de las métricas. En esta actividad se a planificar como se van a definir los a utilizar de acuerdo a la técnica de modelado y los objetivos del negocio. En esta actividad se va a definir la planificación de validación de acuerdo a un conjunto de que se utilizara como medio de prueba para validar los resultados obtenidos de acuerdo a las técnicas utilizadas. En esta actividad se van a definir los a utilizar de acuerdo a las técnicas de modelados y los objetivos de negocio. En esta actividad se va a definir un conjunto de que se utilizaran como medio de prueba para validar los resultados obtenidos de acuerdo a las técnicas utilizadas. En esta actividad y de acuerdo a los seleccionados se modelaran los de acuerdo a las técnicas seleccionadas. En esta actividad y de acuerdo a los de validación seleccionados se verificaran los resultados de las técnicas seleccionadas. De acuerdo a lo mencionado en mencionado en Proceso de Validación se incorpora esta actividad. ISS 1667-5002. CAPIS-EPG-ITBA (http://www.itba.edu.ar/capis/rtis) 39
s pruebas. Desarrollar las especificaciones de las pruebas. Definir los de pruebas. Ejecutar las pruebas. Proceso de Configuración gestión Es necesario llevar de planificación del control de los elementos (productos) generados en el proceso, para poder establecer mejoras en el proceso en cuestión y los proyectos futuros. identificación de la Realizar el control de la Realizar informes sobre el estado de la Es necesario realizar la identificación de los elementos (productos) generados en el proceso, para poder establecer mejoras en el mismo y en proyectos futuros. Es necesario llevar un control de los elementos (productos) generados en el proceso de acuerdo a la planificación realizada, para poder establecer mejoras en el mismo y en proyectos futuros. Es necesario realizar informes que permitan conocer el estado de los diversos elementos (productos) generados en el proceso, para poder establecer mejoras en el mismo y en proyectos futuros. Proceso de Documentación Es necesario establecer la planificación de la documentación a generar en el proceso, tanto sea para el cliente como para el equipo encargado de realizar las actividades del mismo. Definir los tipos de informes. Definir los tipos de gráficos que se pueden incluir en los informes. Implementar la Producir y distribuir la Se incorpora esta actividad ya que la definición de los diversos modelos de reportes de acuerdo al tipo de organización. Se incorporo esta actividad ya que se requiere la definición de los diversos modelos de gráficos de acuerdo al tipo de organización. Se debe implementar la documentación generada, ya sea en la organización en la que se realiza la explotación de como en el equipo que realiza las actividades de explotación. Se debe producir la documentación planteada y luego distribuirla en tiempo y forma a quien corresponda. Proceso de Formación El conjunto de estas actividades no se corresponde para las aplicaciones de explotación de, debido a que no existe formación de usuarios en el uso de nuevas aplicaciones. Planificar el ------ programa de Desarrollar los ------ materiales de Validar el ------ programa de Implementar el programa de ------ Tabla 1. Análisis de actividades 3.2. Propuesta de mapa de actividades para la explotación de Existen diversos ciclos de vida que se adaptan al desarrollo de proyectos de explotación de, a saber: a) Proceso unificado de desarrollo (RUP), cuyas fases son [Jacobson et al., 2000]: Requisitos, Análisis, Diseño, Implementación, y Prueba; las fases de este ciclo de vida son iterativas y en cada iteración evoluciona, buscando atenuar los riesgos [Menasalvas et al., 2004], b) Ciclo de vida en espiral [Böehm, 1986; 1988], cuyas fases son: Definición de objetivos, Análisis de riesgos, Desarrollo y Validación, y Planificación; las fases de este ciclo de vida son iterativas y en cada iteración evoluciona, y c) Ciclo tronco-cónico espiralado [Jurista y Pazos, 1993] cuyas fases son: Definición de objetivos, Análisis de riesgos, Desarrollo y Validación, Planificación, y Mantenimiento Perfectivo; la fases de este ciclo de vida son iterativas y en cada iteración evoluciona, la fase de Mantenimiento Perfectivo permite la evolución del tipo de conocimiento del sistema ISS 1667-5002. CAPIS-EPG-ITBA (http://www.itba.edu.ar/capis/rtis) 40
Si bien algunos autores [Menasalvas et al., 2004] ven a CRISP-DM como un modelo de procesos y no como una metodología de desarrollo, se pueden tomar las fases planteadas por CRISP-DM como fases de su propio ciclo de vida, de acuerdo a la visión de los autores de CRISP- DM [Chapman, P; et al, 2000]. En la tabla 2 se presenta una comparación genérica entre distintos ciclos de vida y las fases de CRISP-DM. La definición de las fases se realiza de forma genérica, y la interacción de dichas fases con el ciclo de vida indica que el objetivo de la fase se cumple en el ciclo de vida. Característica \ Ciclo de vida Fase: Definición de requisitos Proceso unificado de desarrollo Espiral Troncocónico espiralado CRISP- DM Análisis del sistema Diseño de sistemas Codificación (en caso de ser necesario) Implementación Planificación (como fase integral) Validación (como fase integral) Iterativa en su desarrollo Soportado por mas de una metodología de desarrollo Tabla 2. Comparación de los ciclos de vida De esta comparación, se puede concluir que las fases de CRIPS-DM son equivalentes a las fases de los ciclos de vida analizado. Tomando como fases de ciclo de vida las fases de la metodología CRISP-DM puede construirse el mapa de actividades para este ciclo de vida estableciendo la siguiente nomenclatura: Fase Entendimiento del negocio Entendimiento de los Preparación de los Modelado Evaluación Desarrollo omenclatura E ED PR MO EV DE ACTIVIDADES DE E ED PR MO EV DE LOS PROCESOS Proceso de Selección de un Modelo de Ciclo de Vida Identificar los posibles modelos de ciclos de vida Seleccionar un modelo para el Proceso de Iniciación, Planificación y Estimación del Proyecto Establecer la matriz de actividades para el modelo de ciclos de vida. Asignar los recursos del Definir el entorno del gestión del Proceso de Seguimiento y Control del Proyecto Analizar riesgos. planificación de contingencias. Gestionar el Implementar el sistema de informes de problemas. Archivar registros. Proceso de Gestión de Calidad garantía de Desarrollar métricas de Gestionar la Identificar necesidades de mejora de la Proceso de Exploración de Conceptos Identificar las ideas o necesidades. Definir y desarrollar los requisitos del negocio Formular las soluciones potenciales. Dirigir los estudios de viabilidad. Refinar y finalizar la idea o necesidad. Proceso de Asignación del Sistema Analizar las funciones del Descomponer los requisitos del Proceso de Análisis de Datos Analizar las fuentes de Definir los algoritmos para limpieza de. Definir los algoritmos para completitud de Aplicar los algoritmos para limpieza de. Aplicar los algoritmos para completitud de Proceso de Validación ISS 1667-5002. CAPIS-EPG-ITBA (http://www.itba.edu.ar/capis/rtis) 41
ACTIVIDADES DE E ED PR MO EV DE LOS PROCESOS Planificar con que y como se van a utilizar de las técnicas. validación de los de acuerdo a las técnicas utilizadas. Definir los de a utilizar. Definir los de Ejecutar las tareas de modelado. Ejecutar las tareas de validación de de Recoger y analizar los de las métricas. Proceso de Configuración gestión de identificación de la Realizar el control de la Realizar informes sobre el estado de la Proceso de Documentación Definir los tipos de informes. Definir los tipos de gráficos que se pueden incluir en los informes. Implementar la Producir y distribuir la Tabla 3. Comparación de los ciclos de vida Las actividades planteadas se pueden llevar adelante tanto para el ciclo de vida de CRISP-DM, como los otros ciclos de vida planteados. 5. Bibliografía Chapman P ; Clinton, J ; Keber, R ; Khabaza, T ; Reinartz, T ; Shearer, C; Wirth, R. 2000.CRISP-DM 1.0 Step by step data mining guide. SPSS. Diez, E. 2003.Sistema Generador del Mapa de Actividades de un Proyecto de Desarrollo de Software. Tesis de Maestría en Ingeniería del Software (Instituto Tecnologico de Buenos Aires Facultad de Informática de la Universidad Politécnica de Madrid). Diez, E., Britos, P., Rossi, B y García-Martínez, R. 2003.Generación Asistida del Mapa de Actividades de Proyectos de Desarrollo de Software. Reportes Técnicos en Ingeniería del Software. ISS 1667-5002. Volumen 5, ro 1, Pág. 13-18. Juristo.; Montes C. y Pazos J. Gómez, A.; Juristo.; Montes C. y Pazos J. 1997. Ingeniería del Conocimiento, Editorial Centro de Estudios Ramón Areces S.A., IEEE. 1989.Standard Software Life Cycle Processes de IEEE Standard Software Life Cycle Processes - 1074. Juristo,. 2003. Proceso Material correspondiente a la maestria en Ingenieria del Software del Instituto Tecnológico de Buenos Aires Facultad de Informática de la Universidad Politécnica de Madrid. Menasalvas, E; Berendt, B; Spiliopoulou, M. 2004. Evaluation in Web Mining. Tutorial at ECML/PKDD 2004. http://www.wiwi.hu-berlin.de/~berendt /evaluation04/ 4. Conclusiones De acuerdo al estándar 1074-1989 de IEEE referido a las actividades sugeridas para el proceso de desarrollo del software y al ciclo de vida propuesto por la metodología CRISP-DM, podemos establecer: El estándar se adapta al ciclo de vida de la metodología CRISP-DM en aquellas actividades que sean análisis y entendimiento de la situación de negocio, así como las que tienen que ver con la gestión del proyecto, contrariamente las actividades de diseño, implementación, mantenimiento, soporte y formación no son tenidas en cuenta por la naturaleza de las actividades de explotación de in ISS 1667-5002. CAPIS-EPG-ITBA (http://www.itba.edu.ar/capis/rtis) 42