modelos estándares Pablo Szyrko, Diego Rubio pablo.szyrko@gmail.com,rubio.diego@gmail.com Laboratorio de Investigación en Ingeniería y Calidad de Software http://www.institucional.frc.utn.edu.ar/sistemas/lidicalso/ Departamento de Ing. en Sistemas de Información Universidad Tecnológica Nacional Maestro M. López esq. Cruz Roja Argentina (X50165ZAA) Ciudad Universitaria, Córdoba, Argentina
COTEXTO asesoran a los desarrolladores con el fin de
producir software de calidad. Diversos Este trabajo se desarrolla en el contexto modelos, estándares y normas1 han sido del proyecto de investigación creados con el objetivo de asistir a las "Implementación de un modelo de organizaciones en la definición y mejora validación para la definición y de sus procesos. La premisa fundamental mantenimiento de procesos de desarrollo es ser capaces de determinar si las buenas de software", que representa la segunda prácticas definidas en el modelo, y los etapa del programa para la generación de cambios que se han realizado sobre el "Un entorno de aprendizaje activo de mismo, efectivamente están especificados ingeniería de software basado en la en los procesos de la organización. integración Universidad-Industria" (LIDICALSO:2010) en el Laboratorio de El objetivo de este trabajo es contribuir a Investigación y Desarrollo en Ingeniería y la definición de un metamodelo de Calidad del Software (LIDICALSO) de la procesos que permita determinar la Universidad Tecnológica Nacional - adherencia de las prácticas definidas a Facultad Regional Córdoba. nivel organizacional con respecto a los Adicionalmente este trabajo se enmarca modelos de referencia, a través del como parte de la tesis de Maestría en desarrollo de una herramienta, Ingeniería en Sistemas de Información del permitiendo analizar el impacto ante Ingeniero Pablo Szyrko, investigador del cualquier cambio tanto del modelo de proyecto de investigación. referencia como del proceso organizacional, utilizando la semántica RESUME SPEM representado con EPF. Las organizaciones que desarrollan software tienen sus propios procesos de 1 La palabra Modelo será utilizada como desarrollo tailorizados de acuerdo a sus referencia genérica a Normas, modelos y características organizacionales y de sus estándares para facilitar la narración. proyectos. Estos procesos guían y Palabras clave: metamodelo, procesos de Por ejemplo, si nos focalizamos en software, validación, SPEM, EPF CMMI-SW, si un nuevo tipo de práctica es aceptado por la industria o un nuevo 1. ITRODUCCIO objetivo (goal) es identificado como El gran crecimiento de la industria del necesario para satisfacer un área de Software a nivel global ha estado proceso específico. En ese caso, los sustentado, entre otros componentes, por expertos necesitan ser reentrenados para la aplicación de modelos orientados a la ser capaces de lidiar con la nueva versión Gestión de la Calidad, entre los cuales se del modelo, presentándose la dificultad de encuentran CMMI-SW (SEI:2006) e ISO asegurar que los procesos (ISO:2008). La inserción de procesos de organizacionales cumplen con dichas software con metodologías, prácticas. Y otro aspecto a considerar es procedimientos y prácticas para la mejora que las personas son propensas a errores. de la calidad y productividad en el En otras palabras, el proceso tedioso de desarrollo de sistemas, se ha convertido en verificar las relaciones entre las variadas uno de los sectores de mayor inversión en prácticas y objetivos (goals) en una las organizaciones que desean mejorar su organización puede generar errores no competitividad en el mercado (Bezerra et intencionales (Soydan et al: 2006). al: 2006). Por su parte, la definición de un La pregunta a responder es cómo facilitar patrón de proceso establece una estructura en forma eficiente la comparación entre común a ser utilizada por la organización esos modelos. Muchos trabajos han sido en sus proyectos de software y constituye focalizados en comparación de modelos a la base para la definición de todos sus través de métodos informales; […]. procesos. De esta forma, se establece un Aunque ciertamente útiles, estos enfoques proceso básico que servirá de punto de informales son caros, propensos a errores, partida para la posterior definición de los y pueden fácilmente llevar a la pérdida de procesos de software adaptados a las memoria organizacional, debido a que la diferentes características de cada proyecto, evaluación de los resultados es con permitiendo una economía de tiempo y frecuencia difícil de reusar o ampliar en esfuerzo en la definición de nuevos oportunidades futuras. Las ventajas de los procesos (Bezerra et al: 2006). métodos formales incluyen que (i) reducen Se torna difícil evaluar la adherencia hacia la ambigüedad, (ii) sirven como un los modelos de calidad tomados como contrato y ayudan a resolver conflictos base y los aspectos relevantes entre los acerca de la interpretación, permitiendo diferentes procesos institucionalizados, lo razonar acerca de las propiedades, y (iii) que podría contribuir de forma son prerrequisitos para muchas técnicas de significativa tanto a la mejora de los análisis sofisticadas (De Moor et al:2006). procesos como de los propios modelos. El Una herramienta de soporte asunto se complica aún más cuando computacional sería capaz de aliviar algunos elementos en el modelo cambian. algunos de los problemas antes Figura 1: Modelo de referencia definido a nivel de proceso organizacional
mencionados. Una herramienta no sería El presente trabajo se plantea en torno a la
propensa a errores. Sería más veloz. Y relación que se establece entre los podría ser más barata de usar. Y las modelos de referencia, el metamodelo de compañías podrían usar esa herramienta proceso y el proceso de desarrollo de sin la necesidad de contratar consultores software organizacional establecidos para externos. Incluso, si es diseñada el proyecto "Implementación de un apropiadamente, cualquier modificación modelo de validación para la definición y en el modelo (por ejemplo CMMI-SW) mantenimiento de procesos de desarrollo podría ser implementado con mayor de software" (Szyrko et al: 2009), tal facilidad, y una nueva versión de la como se representa en la figura 1. herramienta podría estar disponible para los usuarios en un tiempo relativamente SPEM (Software Process Engineering corto (Soydan et al: 2006). El concepto de Metamodel) es el estándar definido por el procesable por computadora se aplica en OMG (Object Management Group) para la este contexto, exigiendo la necesidad de representación de procesos de desarrollo y disponer de representaciones de las determina el lenguaje mediante el cual se normas/modelos en una semántica que definen procesos de software. SPEM pueda ser ejecutada por una computadora, ofrece un marco de trabajo para el para proceder a su validación contra la modelado, documentación, presentación, especificación organizacional. gestión e intercambio de los procesos de desarrollo Software y sus componentes, 2. LIEAS DE IVESTIGACIO y dando una sintaxis y una estructura común DESARROLLO para cada aspecto del proceso de desarrollo (SPEM:2008). A través del presente trabajo se pretende representar Los primeros esfuerzos estuvieron las prácticas de los modelos utilizando orientados a obtener los conocimientos SPEM. De la misma forma la teóricos y prácticos relacionados a las especificación del proceso de desarrollo herramientas de definición y modelado de de software a nivel organizacional procesos de desarrollo de software. también se expresa a través de los Adicionalmente es preciso considerar que componentes proporcionados por SPEM. al momento de definir los procesos de una La representación a través de SPEM está organización, surge la necesidad de soportada por la utilización de Eclipse disponer de herramientas que ayuden en el Process Framework (EPF) (EPF:2008), modelado de dichos procesos. De esta una herramienta gratuita que permite la manera se procedió a establecer un definición de metodologías (Larrucea et conjunto de requerimientos esperables a al:2007). ser cumplimentados por dichas herramientas, aplicando un criterio de El objetivo de este trabajo es contribuir a comparación y selección resultando la definición de este metamodelo de finalmente seleccionado EPF, junto con el proceso, haciendo una validación de la lenguaje de modelado SPEM previamente adherencia de las prácticas definidas a explicado. Los siguientes objetivos están nivel organizacional con respecto al planteados, guiando las actividades en modelo de referencia, lo cual curso: adicionalmente permite analizar el -Establecer una semántica de impacto ante cualquier cambio tanto del representación en SPEM de las prácticas modelo de referencia como del proceso de un modelo de proceso de desarrollo de organizacional. En el escenario de uso software. Inicialmente se pretende esperado, una organización debería establecer una prueba piloto para una insertar información acerca de las práctica de CMMI-SW, expandiéndolo prácticas organizacionales que usa en su posteriormente a otras prácticas, y a otros proceso de desarrollo de software. Para ser modelos. más preciso, las prácticas de la compañía -Especificar una práctica organizacional deberían estar expresadas en términos de en semántica SPEM, con el fin de la sintaxis SPEM, utilizando EPF. El establecer el mapeo de ésta, con la siguiente paso es invocar al validador para definición previamente realizada de la chequear la consistencia de la definición práctica del modelo estándar CMMI-SW. organizacional que incluye información El concepto que se aplica es el mismo, es específica de la compañía. De esta forma decir, comenzar con una prueba piloto se pretende proporcionar la herramienta de para expandir la especificación. soporte computacional que sea capaz de aliviar algunos de los problemas -Desarrollar la herramienta que valide la previamente mencionados. adherencia entre la definición de un proceso de software organizacional y el 3. RESULTADOS modelo tomado como base, permitiendo OBTEIDOS/ESPERADOS analizar el impacto de los cambios en el Larrucea, Xabier; Alonso, Juncal; proceso especificado. García, Laura; .Promoción del desarrollo de SW libre en un entorno -Proceder a la validación de las prácticas de calidad y confianza adaptando las del modelo y organizacional expresadas metodologías, procesos, modelos de (Larrucea et negocio y últimas tecnologías - en semántica SPEM para determinar su al:2007) Especificación del metamodelo a adherencia. utilizar. 2007. http://www.ines.org.es/vulcano/wp- 4. FORMACIO DE RECURSOS content/uploads/2008/04/d2-1- HUMAOS especificacion-del-metamodelo-spem- 2-0-v10.doc Se planea la transferencia de los resultados del proyecto en dos niveles: a nivel Laboratorio de Investigación y académico y a nivel industrial. A nivel (LIDICALSO Desarrollo en Ingeniería y Calidad del : 2010) Software. Programa. [online], académico, a través del desarrollo de http://www.institucional.frc.utn.edu.ar/ investigadores relacionados a la temática y sistemas/lidicalso/?pIs=725 el dictado de seminarios y conferencias. CMMI Product Team; CMMI for Particularmente, como se expresó Development, version 1.2. Pittsburgh, previamente, este trabajo es realizado (SEI:2006) Pennsylvania, USA : Software dentro del contexto de la tesis de Maestría Engineering Institute (SEI), August en Sistemas de Información del Ingeniero 2006. CMU/SEI-2006-TR-008 Pablo Szyrko. Soydan, Gokhan Halit; Kokar, Mieczyslaw M. An OWL Ontology for Y a nivel industrial a través del desarrollo (Soydan et al: Representing the CMMI-SW Model. del metamodelo y la implementación de 2006) 2006. la herramienta que permita validar la http://km.aifb.kit.edu/ws/swese2006/fi implementación de un proceso de nal/soydan-full.pdf
desarrollo de software para un conjunto de Software & Systems Process
prácticas de los modelos de referencia Engineering Meta-Model (SPEM:2008) Specification; [online], 2008. seleccionados. http://www.omg.org/cgi- 5. BIBLIOGRAFIA bin/apps/doc?formal/08-04-01.pdf
Szyrko, Pablo; Silclir, Mauricio;
De Moor, Aldo; Delugach, Harry. García Favre, Gonzalo; Rubio, Diego; Software Process Validation: Cohen, Diego; Angeloni, Romina. Un (Bezerra et al: Comparing Process and Practice (Szyrko et al: modelo de validación automático para 2006) Models. 2006. 2009) la definición y mantenimiento de http://citeseerx.ist.psu.edu/viewdoc/do wnload?doi=10.1.1.108.4694&rep=rep procesos de desarrollo de software XI 1&type=pdf WICC -. San Juan - Argentina. 2009. [Online]. International Organization for http://www.wicc2009.com.ar/ Standarization. ISO9001:2008 (ISO:2008) Sistemas de gestión de la calidad - Requisitos. s.l. : ISO copyright office, 2008. ICS 01.040.03.