tendencias en ingeniería de software e inteligencia artificial

Transcription

tendencias en ingeniería de software e inteligencia artificial
TENDENCIAS EN INGENIERÍA DE SOFTWARE E
INTELIGENCIA ARTIFICIAL – VOLUMEN 3
ISBN: 978-958-44-5820-9
TENDENCIAS EN INGENIERÍA DE SOFTWARE E INTELIGENCIA ARTIFICIAL – VOLUMEN 2
Carlos Mario Zapata J.
Gloria Lucía Giraldo G.
Juan David Velásquez H.
(Editores)
DERECHOS RESERVADOS
Queda prohibida la reproducción o transmisión
total o parcial del texto de la presente obra
bajo cualesquiera formas, electrónica o mecánica,
incluyendo fotocopiado, almacenamiento en un
sistema de recuperación de información, o
grabado sin el consentimiento previo y por escrito
del editor.
Datos para Catalogación Bibliográfica:
Zapata, Carlos Mario, Giraldo, Gloria Lucía y Velásquez, Juan David (Ed)
Tendencias en Ingeniería de Software e Inteligencia Artificial
ISBN: 978-958-44-5820-9
ISBN VOLUMEN 2: 978-958-44-3666-5
ISBN VOLUMEN 1: 978-958-44-1344-4
Esta obra se terminó de editar en Octubre de 2008
en la Escuela de Sistemas de la Universidad Nacional de Colombia
Medellín, Colombia.
Impreso en Colombia
Printed in Colombia
TENDENCIAS EN INGENIERÍA DE SOFTWARE E
INTELIGENCIA ARTIFICIAL – VOLUMEN 3
Editado por:
CARLOS MARIO ZAPATA J.
GLORIA LUCÍA GIRALDO G.
JUAN DAVID VELÁSQUEZ H.
ISBN: 978-958-44-5820-9
AGRADECIMIENTOS
La realización de este volumen fue posible gracias al interés suscitado por los autores para su
participación en el mismo, su entusiasmo por la divulgación de los resultados de las
investigaciones actualmente en curso y su disposición para atender las inquietudes de los
editores, con el fin de lograr una obra de altísima calidad.
Agradecemos a nuestros principales colaboradores en Manizales, Ph.D.(c) Néstor Duque, y
Bogotá Ph.D. Jonatan Gómez, por el compromiso y la alta dosis de constancia y paciencia para
hacer de esta obra una realidad.
TABLA DE CONTENIDO
TEMA
PÁGINA
PARTE 1: INGENIERÍA DE SOFTWARE
1
1. Adaptación de la norma NTC 6001:2008 a micro y pequeñas empresas (MYPES) de
software, utilizando como marco de referencia COMPETISOFT
Francisco Javier Valencia
3
2. Análisis comparativo del estándar ISO 9000-3 con las subcaracterísticas de calidad de
la ISO 9126
César Jesús Pardo, Francisco Pino, César Alberto Collazos, Jovani Alberto Jiménez
11
3. Generación automática de ontologías para la educción de requisitos a partir de
reglamentos y documentación técnica
Carlos Mario Zapata, Alexander Gelbukh, Carlos Méndez
21
4. Pre-conceptual Schemas revisited: Generating conceptual schemas from controlled
languages
Carlos Mario Zapata
29
5. An Approach to a Query Functional Language for Relational Models Represented in
Hierarchic Structures
Julián David Vargas, Helga Duarte
37
6. Sistema de Intercambio de Información Académica Estudiantil
Helga Duarte, Carlos Lugo
43
7. Plataforma para la Gestión del Conocimiento sobre Procesos de Software
Leonardo Bermón, Antonio Amescua, Javier García, Alberto Heredia
51
8. Explotación de Especificaciones Normalizadas para Extender la Construcción
Automática de Sistemas Mediadores
Gloria Lucía Giraldo, Germán Urrego-Giraldo
59
9. Alternativas metodológicas y técnicas para la generación de pruebas a partir de
modelos
Henry Roberto Umaña, Miguel Angel Cubides
69
10. La Estructura Social de la Corrección de Bugs
Jairo Hernán Aponte, Sonia Haiduc, Adrian Marcus
77
11. Del modelo de Requisitos al Modelo de diseño
Germán Urrego-Giraldo, Gloria Lucía Giraldo
83
PARTE 2: INTELIGENCIA ARTIFICIAL
93
12. La inteligencia artificial como paradigma de “tercera cultura”
Manuel Bedia, Luis Fernando Castillo
95
13. Inteligencia artificial en los procesos de planificación de la producción en sistemas
Job Shop
Omar Castrillón, Leonardo Grajales
101
14. Modelado basado en competencias laborales integrado en ambientes de e-learning
Ernesto García, Jovani Alberto Jiménez, Demetrio Arturo Ovalle
109
15. Optimización global basada en una teoría de la formación del universo
Eddy Mesa, Juan David Velásquez, Gloria Patricia Jaramillo
117
iii
TABLA DE CONTENIDO
TEMA
PÁGINA
16. Algoritmos evolutivos en ambientes Job Shop
Omar Castrillón, Javier Rodrigo Peña, Lina Eliana Ávila
121
17. Algoritmos bio-inspirados
Eddy Mesa, Juan David Velásquez, Gloria Patricia Jaramillo
127
18. Onto-semantic and Intelligent Multi-agent Model for Computer Attacks Detection
and Prevention
Gustavo Isaza, Néstor Darío Duque, Andrés Castillo; Marcelo López
135
19. Un Entorno de Agentes para Aplicaciones Orientadas a Servicios
Jaime Alberto Guzmán, Ingrid Durley Torres, Daniel Alonso Areiza
143
20. Hacia un Modelo basado en Agentes de Software para las etapas de Recopilación e
Integración de datos en el proceso de KDD
Daniel Betancur, Julián Moreno
151
21. Modelado de la bolsa de valores de Colombia: Una aproximación desde los agentes
de software
Julián Moreno, Alejandro Escobar, Sebastián Múnera
159
22. Modelo de Integración de Agentes Móviles Inteligentes en Redes de Sensores
Inalámbricos
Alberto Alejandro Piedrahita, Alcides Montoya, Demetrio Ovalle
167
23. Representación de máxima covarianza por ventanas temporales/espectrales
orientada a la clasificación de señales
Carolina Acosta, Mauricio Orozco, César Germán Castellanos
175
24. Clasificación de Imágenes Médicas mediante un Kernel de Semántica Latente
José Moreno, Juan Caicedo, Edwin Niño, Fabio González
183
25. Técnicas de Inteligencia Artificial Aplicadas para un Modelo Dinámico del
Estudiante
Héctor Mauricio González, Nestor Darío Duque
189
26. Introducción a los flujos de datos con un enfoque a la minería de asociación aplicada
al flujo de clicks en la Web
Alix Rojas, Elizabeth León
199
27. Hacia un Sistema de Recuperación de Información Utilizando Índices Combinados
de Términos y Extracción de Información: Resultados Preliminares
Carlos Fernando Ariza, Jairo Jesús Díaz, Elizabeth León
207
28. Clasificación de eventos sísmicos en el volcán Nevado del Ruiz empleando reglas
fijas de combinación de clasificadores
Cristian Andrés Chu, Mauricio Orozco
215
29. Wavelets para la predicción de series económicas
Liliana Marcela Olarte, Sandra Liliana Rojas
221
30. Predicción de series de tiempo no estacionarias: demodulación compleja
Javier Ricardo Escobar, Sandra Liliana Rojas
229
31. Robótica Modular
Rodrigo Moreno, Fernando Cagua, Christian Martin, Jonatan Gómez
235
PREFACIO
Nos encontramos en presencia de una nueva generación de investigadores en Ingeniería de
Software e Inteligencia Artificial. Las contribuciones al conocimiento se hacen cada vez más
comunes en nuestras sedes, nutridas por las Maestrías y Doctorados que se vienen consolidando
en la Universidad Nacional y con la consciencia y profesionalismo de nuestros investigadores.
Ya llegamos al tercer volumen del libro ―Tendencias en Ingeniería de Software e Inteligencia
Artificial‖, con novedades importantes como la presencia de nuestro nuevo editor Juan David
Velásquez quien, junto con Carlos Zapata y Gloria Giraldo, se encargó de la búsqueda de la
calidad de cada uno de los capítulos del libro. Una segunda novedad es el notorio incremento en
la participación de los investigadores de las diferentes sedes, destacándose la sede de Manizales
con una gran participación en este tercer volumen. Para este tercer volumen nos alienta la
esperanza de consolidación de la Comunidad Académica en Ingeniería de Software e Inteligencia
Artificial como una entidad transnacional que debe comenzar a rendir frutos pronto. La
proximidad de los temas en diferentes sedes augura la posibilidad de trabajo conjunto en el
futuro, lo cual requiere de la participación de todos nuestros investigadores.
Al igual que los volúmenes uno y dos, este libro se dirige a los investigadores en Ingeniería de
Software e Inteligencia Artificial, para descubrir posibles líneas de acción en la investigación a
nivel nacional de estas disciplinas. Por el carácter científico y tecnológico de las diferentes
temáticas abordadas, se requiere buen nivel de conocimientos específicos en el lector sobre estas
disciplinas.
El libro contiene 31 capítulos agrupados en dos partes. En la primera parte se abordan algunos
temas de la Ingeniería de Software, tales como las normas de calidad de software (Capítulos 1 y
2), ontologías y diagramas para la educción de requisitos (Capítulos 3 y 4), los lenguajes de
consulta (Capítulo 5), los sistemas de información (Capítulo 6), la gestión del conocimiento
(Capítulo 7), los sistemas mediadores (Capítulo 8), las pruebas de software (Capítulos 9 y 10) y
la transición de los requisitos al diseño (Capítulo 11). En la segunda parte, se inicia con una
reflexión sobre la Inteligencia artificial (Capítulo 12), seguido por varias tendencias en esta área,
tales como la planificación (Capítulo 13), el e-learning (Capítulo 14), los algoritmos evolutivos y
bioinspirados (Capítulos 15, 16 y 17), los sistemas multiagente aplicados a diferentes entornos
(Capítulos 18, 19, 20, 21 y 22), la clasificación de señales e imágenes (Capítulos 23 y 24), los
modelos dinámicos (Capítulo 25), los flujos de datos (Capítulo 26), la recuperación de
información en la Web (Capítulo 27), las técnicas de clasificación (Capítulo 28) la predicción de
series de tiempo (Capítulos 29 y 30) y la robótica modular (Capítulo 31).
Los capítulos no son secuenciales, por lo cual la lectura se puede abordar desde cualquiera de
ellos; sin embargo, para tomar una mayor visión de cada uno de los temas se recomienda una
lectura cuidadosa de cada una de las partes del libro. Para aquellos investigadores que posean
habilidades en las dos disciplinas, los diferentes capítulos podrán suministrarles ideas en relación
con la forma como se podrían unir temas afines, por ejemplo los modelos multiagentes y el
KDD, el e-learning y las técnicas de modelado, la gestión del conocimiento y los diferentes
procesos del software, etc.
v
Para esta publicación, la carrera ―Ingeniería de Sistemas e Informática‖, perteneciente a la
Escuela de Sistemas de la Facultad de Minas de la Sede Medellín recibió la acreditación por un
periodo de seis años, después de la evaluación de los pares designados por el Consejo Nacional
de Acreditación. Una gran parte de esta acreditación se apoyó en los procesos de investigación
que se mencionaban al inicio de este prefacio. Con la acreditación se renueva el compromiso que
tiene la Escuela de Sistemas con la calidad y se vislumbra un futuro promisorio que se está
volviendo, paulatinamente, una realidad concreta con la vinculación de muchos de nuestros
egresados al sector productivo del país y a varios de nuestros programas de Maestría y
Doctorado.
PARTE 1: INGENIERÍA DE SOFTWARE
Índice
―Consistency and predictability are still desirable, but they haven‘t ever been the most important
things. For the past 40 years, for example, we‘ve tortured ourselves over our inability to finish a
software project on time and on budget. But as I hinted earlier, this never should have been the
supreme goal. The more important goal is transformation, creating software that changes the
world or that transforms a company or how it does business. We‘ve been rather successful at
transformation, often while operating outside our control envelope. Software development is and
always will be somewhat experimental. The actual software construction isn‘t necessarily
experimental, but its conception is. And this is where our focus ought to be. It‘s where our focus
always ought to have been.‖
T. DeMarco – IEEE Software, July/August 2009
Tendencias en Ingeniería de Software e Inteligencia Artificial – volumen 3
Capítulo 1.
Índice
Adaptación de la norma NTC 6001:2008 a micro y pequeñas
empresas (MYPES) de software, utilizando como marco de
referencia COMPETISOFT.
FRANCISCO JAVIER VALENCIA DUQUE
Grupo de Investigación GAIA – Grupo de Ambientes Inteligentes Adaptativos- Departamento de
Informática y Computación. Universidad Nacional de Colombia sede Manizales,
fjvalenciad@unal.edu.co
COMPETISOFT. The aim of this chapter is to
demonstrate the affinity between the management
rule NTC 6001:2008 and the quality framework for
software process COMPETISOFT, for any small
software you can attach two models in the
implementation of a quality management system.
Resumen
La norma técnica colombiana NTC 6001:2008, es
una norma de calidad orientada a las MYPES, que
establece los requisitos fundamentales para
implementar un sistema de gestión de calidad en
cualquier sector económico. En el sector del software,
en los últimos años varias entidades del orden
nacional e internacional, han venido desarrollando
modelos de calidad de software diferentes a los
tradicionales (CMMI, ISO 9001) para volver más
productivas y competitivas las micro y pequeñas
factorías de software; algunos elementos de estas
iniciativas se han consolidado en un modelo
denominado COMPETISOFT. El objetivo de este
capítulo es demostrar la afinidad existente entre la
norma de gestión de calidad NTC 6001:2008 y el
marco de referencia de procesos de software
COMPETISOFT, para que cualquier pyme de software
pueda acoplar ambos modelos en la implementación
de un sistema de gestión de calidad.
1. Introducción
Las micro y pequeñas empresas en Colombia,
comúnmente denominadas MYPES, representan un
alto porcentaje del tejido empresarial colombiano, es
por ello que el Gobierno Nacional trazó una serie de
políticas para mejorar su productividad y
competitividad a través del documento CONPES 3484
del 2007, el cual dio origen a la NTC 6001:2008 como
una norma dirigida a MYPES para desarrollar sistemas
de gestión de calidad.
De igual forma en el sector del software, diferentes
organizaciones han desarrollado modelos de procesos
de software orientado a PYMES para incrementar la
competitividad de estas, a través de la implementación
de procesos de mejora continua. Dentro de esos
modelos se destaca COMPETISOFT, como un marco
de referencia integrador de otros modelos tales como
MOPROSOFT, SIMEP-SW, MPS.BR que serán
explicados de manera general en este capítulo.
Abstract
Colombian Technical Standard NTC 6001:2008 is a
quality standard driven by MYPES, which establishes
the basic requirements for implement a quality
management system in any sector economic. In the
software sector in recent years several national entities
and international, have been developing software
quality models than the traditional (CMMI, ISO 9001)
to become more productive and competitive micro and
small software factories, some of these initiatives
have consolidated
into
a
model
called
Existe una gran problemática, para que las MYPES
puedan implementar modelos tradicionales de calidad
de software tales como ISO 9001 (con apoyo de la ISO
9003) y CMMI, debido al nivel de esfuerzo requerido
para tal fin y a los recursos necesarios para llevar a
cabo una iniciativa de este tipo. De ahí la importancia
3
Capítulo 1: Adaptación de la norma NTC 6001:2008 a micro y pequeñas empresas (MYPES) de
software utilizando como marco de referencia COMPETISOFT. Valencia Duque F.J.
tanto de la NTC 6001:2008 como de los modelos de
procesos de software orientados a MYPES, en este
caso representados por COMPETISOFT; pero aún más
importante es evaluar el nivel de acople que ambos
modelos tienen para integrar un solo esquema que
oriente a las PYMES de software en una
implementación eficaz y eficiente.
En este capítulo se lleva a cabo un paralelo de
ambos modelos, desde los ―debes‖ de la norma hacia
los procesos de COMPETISOFT, para demostrar el
nivel de interrelación entre ambos. Para ello se ha
organizado el capítulo iniciando con una
caracterización general del sector de software en
Colombia y la problemática existente en las micro
pequeñas y medianas empresas, en lo relacionado con
la calidad de software. Posteriormente se presenta una
descripción general de las principales iniciativas para
mejora de procesos de software en MYPES y PYMES.
Y previo a realizar el paralelo entre los ―debes‖ de la
NTC 6001:2008 y COMPETISOFT, se realiza una
descripción general de la norma y los principales
―debes‖ de ésta, así como las principales características
de COMPETISOFT, sus procesos y los objetivos de
cada uno de ellos.
Figura 1. Distribución de empresas de software
en Colombia (2005).
Si se tiene en cuenta que las microempresas y
pequeñas empresas son actores estratégicos en el
crecimiento de la economía, la transformación del
aparato productivo nacional y el mejoramiento la
posición competitiva del país [3], se requiere tanto a
nivel general como en particular en la industria del
software, desarrollar mayores niveles de productividad
y competitividad empresarial para garantizar no solo su
permanencia en el mercado, sino un mayor aporte a la
economía colombiana.
2. Las MYPES de Software y la mejora de
Procesos de Software
Uno de los instrumentos para mejorar la
productividad y competitividad de las MYPES, es
desarrollar sistemas de gestión empresarial que
permitan implementar procesos de mejora continua y
ofrecer productos y servicios de calidad, que satisfagan
las necesidades de los clientes; la cual es una de las
falencias de la industria del software tanto a nivel
nacional como internacional. En general las micro y
pequeñas empresas de software tienen serios
problemas de madurez en sus procesos de desarrollo y
en la mayoría de los casos la operación de sus procesos
es caótica [1].
A nivel mundial la industria del software está
formada en mayor medida por micro, pequeña y
medianas empresas desarrolladoras de software que
suponen cerca del 90% de los negocios formales y
generan entre el 40% y el 50% del empleo total [1].
Colombia, no es la excepción, de acuerdo con
FEDESOFT, referenciado en [2], el 92% de la
industria de software en Colombia corresponde a
microempresas y pequeñas empresas (MYPES), el 7%
a medianas empresas y el restante 1% a grandes
empresas. Es decir nuestras empresas de software se
caracterizan por contar con no más de 10 trabajadores
y menos de 500 salarios mínimos legales vigentes
(excluida la vivienda) en activos, para el caso de las
microempresas y en el caso de las pequeñas empresas
su planta de personal oscila entre 11 y 50 trabajadores
y entre 501 y menos de 5000 salarios mínimos legales
vigentes, de acuerdo a las definiciones establecidas en
la ley 905 del 2004.
Acorde a lo anterior y teniendo presente una
tendencia generalizada de la academia y la industria a
resaltar que la mejora de procesos de software exitosos
solo son posibles para empresas grandes que cuentan
con recursos suficientes para embarcarse en este tipo
de prácticas, fundamentado en que los programas de
mejora de procesos de software (SPI) son prohibitivos
para PYMES de desarrollo de software debido a la
estructura organizacional de dichas empresas, al costo
que los programas de mejora implican y a que los
estándares de mejora propuestos internacionalmente
por organismos como el Software Engineering Institute
(SEI) e International Organization for Standarization
(ISO) no han sido creados para éste tipo de empresas
sino para empresas grandes [4], se requiere desarrollar
4
Tendencias en Ingeniería de Software e Inteligencia Artificial – volumen 3
modelos de gestión de calidad ajustado a las
particularidades de las micro, pequeñas y medianas
empresas, que les permita ayudar a cumplir las
exigencias del mercado, mejorar su competitividad a
través de la satisfacción de los clientes y la mejora
continua.
fortalecer la industria del software en México [7]. El
objetivo es la mejora y evaluación de los procesos de
desarrollo y mantenimiento de sistemas y productos de
software que resulte apropiada a las características de
las empresas mexicanas de desarrollo y mantenimiento
de software que en su gran mayoría son PYMES.
2.1. Principales iniciativas para la mejora de
procesos de software en las MYPES y las
PYMES.
COMPETISOFT: es un proyecto financiado por el
Programa Iberoamericano de Ciencia y Tecnología
para el Desarrollo–CYTED-con el objetivo de
incrementar el nivel de competitividad de las PYMES
Iberoamericanas productoras de software, mediante la
creación y difusión de un marco metodológico común
que, ajustado a necesidades específicas, pueda llegar a
ser la base sobre la cual se establezca un mecanismo de
evaluación y certificación de la industria del software
reconocido en toda Iberoamérica [8].
En los últimos años, diferentes países, a través de
diversas instituciones, han desarrollado modelos de
procesos de calidad de software orientados a micro,
pequeñas y medianas empresas, con el fin no solo de
ajustar sus procesos a la idiosincrasia propia de cada
país, sino, y fundamentalmente para incrementar sus
niveles de competitividad. Dentro de estas iniciativas
se destacan las siguientes:
Este modelo es una iniciativa integradora de los
modelos expuestos anteriormente, con otras
experiencias relacionadas con procesos de desarrollo
de software para PYMES.
MPS.BR Mejora de procesos del software
Brasileño: creado en diciembre del 2003 bajo la
coordinación de la Asociación para promoción de la
Excelencia del software Brasileño (SOFTEX), con el
apoyo del Banco Interamericano de Desarrollo, cuyo
objetivo fue desarrollar y diseminar un modelo de
procesos de software (el modelo MPS) con el fin de
establecer un camino económicamente viable para que
organizaciones, incluyendo las Pequeñas y Medianas
Empresas (PYMES), logren los beneficios de la mejora
de procesos y de la utilización de buenas prácticas de
la ingeniería de software en un intervalo de tiempo
justo a un costo razonable [5].
ITMARK: es un modelo internacional desarrollado
por el European Software Institute (ESI), cuyo objetivo
es la certificación de calidad y madurez de procesos,
especialmente enfocada a PYMES del sector
tecnológico. No es un modelo exclusivo de procesos de
software, es un modelo que contempla tres
perspectivas de las MYPES tecnológicas: la Gestión
General que estudia diez categorías de procesos de
gestión; la Seguridad de la Información basada en la
norma ISO/IEC 17799:2005 y los procesos de
desarrollo de software y sistemas, núcleo del modelo,
basado en CMMI [9].
SIMEP-SW (Sistema Integral de Mejoramiento
de los procesos de desarrollo de software): proyecto
desarrollado por la Universidad del Cauca con la
financiación de Colciencias y cuyo objetivo es crear,
aplicar y probar un sistema de mejora que integre
elementos de modelos de calidad, mejora y evaluación
reconocidos internacionalmente, adaptados a las
características propias de la industria del software
colombiano. El principal resultado de este proyecto fue
el marco de trabajo Agile SPI, con la premisa esencial
de que los modelos utilizados son ligeros y basados en
estándares internacionales y acorde a las
características, idiosincrasia y circunstancias de la
realidad socioeconómica de la industria del software
colombiana [6].
ISO/IEC 29110: es un proyecto de norma orientado
a VSE (Very Small Enterprise), liderado por ISO quien
convocó en junio del 2005 a un grupo de trabajo
(WG24) para definir procesos de software para
pequeñas empresas. Esta futura norma está
estructurada en una familia de documentos que
contemplan: una Visión General, que incluye los
conceptos principales necesarios para comprender y
utilizar los documentos de la norma; unos perfiles que
se definen con el propósito de empaquetar referencias a
partes de otros documentos de manera formal y las
guías que contienen directrices de aplicación sobre
cómo realizar los procesos para alcanzar los niveles de
madurez [10].
Existen otra serie de iniciativas, además de CMMI e
ISO 9001 (con su complemento de la ISO 9003 para
empresas de software), no orientadas exclusivamente a
micro, pequeñas y medianas empresas, pero
relacionadas con procesos de software, que pueden
MOPROSOFT. Modelo de Procesos para la
Industria del Software. Es un modelo mexicano,
creado a solicitud de la Secretaria de Economía en
México, dentro del programa Nacional para el
desarrollo de la industria del software, con el fin de
5
Capítulo 1: Adaptación de la norma NTC 6001:2008 a micro y pequeñas empresas (MYPES) de
software utilizando como marco de referencia COMPETISOFT. Valencia Duque F.J.
servir de marco de referencia a cualquier organización
que desee desarrollar procesos de calidad de software,
estos modelos son entre otros: METRICA,
MANTEMA, SPIRE, TOPS, IMPACT.
fundamentales para implementar un sistema de gestión
en micro y pequeñas empresas, sin importar su línea de
negocios o sector económico, de manera que les
permita demostrar la capacidad de cumplir las
exigencias del mercado y los requisitos reglamentarios
aplicables y fortalecer su competitividad, teniendo en
cuenta el nivel de satisfacción de los clientes y la
mejora continua [11].
3. La Norma NTC 6001:2008 y su relación
con COMPETISOFT.
Hoy gran parte de nuestras empresas colombianas
de software acuden a la certificación en ISO 9001 con
apoyo de la ISO 90003 y la ISO/IEC 12207 como un
paso intermedio para aquellas empresas que desean
alcanzar una certificación en CMMI.
La aplicación de esta norma facilita la
implementación de los modelos internacionales de los
sistemas de gestión, tales como ISO 9001[12].
De igual forma las MYPES de software, tienen hoy
la opción de incorporarse a los sistemas de gestión de
calidad, de forma paulatina, a unos costos y esfuerzos
razonables, iniciando con una norma local como es la
NTC 6001:2008, que no tiene correspondencia con una
norma internacional, pero que les ayudará a dar los
primeros pasos para ser más competitivas en el ámbito
nacional.
Una forma gráfica de presentar los procesos que
hacen parte de la norma, es la siguiente:
La norma NTC 6001:2008 parte de las funciones
básicas que debe tener una MYPE y a partir de allí se
desarrollan los procesos que hacen parte de la norma.
Una vez madurado su sistema de gestión y si desea
incrementar su nivel de competitividad e
internacionalizar sus mercados, puede dar su segundo
paso de forma natural hacia la certificación en ISO
9001:2008, con un nivel un poco más exigente de
recursos.
Figura 2. Mapa de procesos NTC 6001:2008
Y por último, si desea alcanzar mayores niveles de
madurez podrá avanzar en procesos de certificación
con IT MARK o directamente con CMMI.
A continuación se presentan los aspectos más
relevantes de los ―debes‖ de la norma, como punto
de partida para llevar a cabo un mapeo entre ésta y
COMPETISOFT.
Acorde a lo anterior, y con el fin de que una MYPE
de software inicie su proceso de certificación en la
NTC 6001:2008, y teniendo en cuenta que
COMPETISOFT es un marco de referencia que
incorpora muchos de los componentes de los demás
modelos de procesos de software para PYMES, se
desarrollará a continuación un paralelo entre esta
norma y COMPETISOFT.
PROCESOS DE DIRECCIÓN
PLANIFICACION Y DIRECCIONAMIENTO
PD1-La Dirección debe definir, comunicar y
mantener actualizada su estrategia organizacional
orientada a la satisfacción del cliente y a la mejora
continua.
PD2-La Dirección debe identificar, implementar y
mantener uno o varios procedimientos para evaluar
la capacidad de cumplir con los requisitos legales y
reglamentarios que sean aplicables y otros
requisitos dependiendo del sector en el cual realiza
sus actividades o el mercado al cual dirige sus
bienes o servicios o ambos
PD3-La Dirección debe definir y planificar sus
procesos, considerando que éstos son de dirección,
operacionales y de apoyo.
EVALUACIÓN DE LA GESTIÓN
Para tal fin, partiremos de los principales ―debes‖
de la norma, que se convierten en requisitos
obligatorios al momento de una certificación; y a partir
de allí se realizará un cruce con los procesos de
COMPETISOFT, partiendo del análisis de sus
objetivos.
3.1. Acerca de la NTC 6001:2008
ICONTEC promulgó en el mes de marzo del 2008,
la norma NTC 6001:2008 que establece los requisitos
6
Tendencias en Ingeniería de Software e Inteligencia Artificial – volumen 3
EG1-La Dirección debe planificar y realizar con
una periodicidad definida, las actividades de
análisis y evaluación necesarias relativas a: - el
cumplimiento de la estrategia organizacional,
incluyendo el uso de indicadores; - La satisfacción
del cliente; - El desempeño de los procesos para la
organización; - La implementación de mecanismos
de control y evaluación necesarios para la mejora
continua de los procesos, bienes o servicios, o
ambos
EG2- La Dirección debe implementar, planes de
mejora continua, que incluyan - proyectos para
mejorar el desempeño; - Acciones correctivas para
eliminar las causas de los problemas detectados; acciones preventivas para evitar la ocurrencia de
problemas potenciales.
PROCESOS OPERATIVOS
GESTION COMERCIAL
GC1-La empresa debe planificar, documentar,
implementar y mantener actualizado su proceso de
gestión comercial
PLANIFICACIÓN DE PRODUCTOS
PP1-La empresa debe definir y documentar las
especificaciones, teniendo en cuenta las
necesidades del mercado, los requisitos técnicos y
las necesidades del cliente, aspectos legales y
reglamentarios de los productos por suministrar.
PP2-Se debe planificar y documentar el proceso de
realización del producto en función de sus
especificaciones, necesidades de los procesos y de
las proyecciones de innovación, desde la recepción
de la información sobre las características del
producto o servicio, hasta la entrega al destino
final, identificando las etapas, actividades críticas o
los puntos de control, recursos y responsables.
DISEÑO Y DESARROLLO DE PRODUCTOS
DDP1-Cuando la empresa defina o modifique las
características de sus productos, según las
exigencias de los clientes, del mercado y los
proyectos de innovación, debe establecer
documentar y ejecutar un plan de diseño.
GESTIÓN DE COMPRAS
GC1-La empresa debe definir y documentar el
proceso de compra del producto.
GC2-La empresa debe definir y documentar las
especificaciones del producto que se va a comprar
GC3-La empresa debe definir y documentar
previamente las necesidades o requerimientos de
compra
GC4-La empresa debe definir y documentar los
criterios de selección de los proveedores y registro
de su cumplimiento.
GC5-La empresa debe verificar que el producto
adquirido cumpla los requisitos de compra
especificados.
GC6-La empresa debe definir y mantener las
condiciones adecuadas de almacenamiento para la
preservación y conservación de los productos
adquiridos.
PRODUCCION DE BIENES O PRESTACIÓN
DEL SERVICIO
PB1-La empresa debe establecer un programa de
producción de bienes o prestación del servicio
documentado.
PROCESOS DE APOYO
RECURSOS HUMANOS
RH1-La empresa debe planificar e implementar un
proceso de gestión humana, que le permita contar
con el personal adecuado para el desarrollo de sus
actividades
GESTION DE LA INFORMACIÓN
GI1:La empresa debe establecer y aplicar un
procedimiento para el manejo de la información
GESTIÓN FINANCIERA
GF1: La empresa debe mantener actualizada la
información relacionada con la identificación de
los riesgos potenciales, los costos de sus bienes o
servicios, el nivel mínimo de operación (punto de
equilibrio), los informes periódicos de la situación
financiera.
GESTION DE RECURSOS FÍSICOS
GRF1: La empresa debe disponer de la
infraestructura, maquinaria, equipos y condiciones
necesarias para cumplir los requisitos de los
procesos de los productos.
GRF2: La empresa debe determinar y planificar el
mantenimiento de la infraestructura y de los
equipos que le permitan su funcionamiento
adecuado
GFR3: La empresa debe, cuando sea aplicable,
tener verificados y calibrados los equipos de
medición y los correspondientes registros.
3.2. Procesos y Objetivos de COMPETISOFT
Una MYPE de software que tome la decisión de
adoptar la NTC 6001:2008, deberá contextualizar
algunos de los procesos requeridos por ésta,
fundamentalmente los procesos operativos que
equivalen al ciclo de vida de desarrollo de software y
algunos de los procesos de apoyo. Para ello podrá
tomar como marco de referencia general la norma
ISO/IEC 12207 y como marco específico
COMPETISOFT.
7
Capítulo 1: Adaptación de la norma NTC 6001:2008 a micro y pequeñas empresas (MYPES) de
software utilizando como marco de referencia COMPETISOFT. Valencia Duque F.J.
Es importante tener en cuenta que tanto la ISO
12207, como COMPETISOFT, son marcos de
referencia que guían a una organización en la
utilización de mejores prácticas para el desarrollo de
los procesos de software, pero es la MYPE la que debe
establecer los procesos ajustados a las necesidades de
la organización.
necesidades de los clientes, así como evaluar los
resultados para poder proponer cambios que permitan
la mejora continua. Este proceso se compone de
Planificación Estratégica, Preparación para la
realización y Valoración y mejora continua.
CATEGORIA: GESTIÓN
GES1- GESTIÓN DE PROCESOS
El propósito del proceso es establecer los procesos de
la organización, en función de los procesos requeridos
identificados en el Plan Estratégico. Así como definir,
planificar e implantar las actividades de mejora en los
mismos.
GES2- GESTIÓN DE PROYECTOS
El propósito de la Gestión de Proyectos es asegurar
que los proyectos contribuyan al cumplimiento de los
objetivos y estrategias de la organización.
GES3- GESTIÓN DE RECURSOS HUMANOS
El propósito de Recursos Humanos es proporcionar los
recursos humanos adecuados para cumplir las
responsabilidades asignadas a los roles dentro de la
organización, así como la evaluación del ambiente de
trabajo.
GES4- GESTIÓN DE BIENES, SERVICIOS E
INFRAESTRUCTURA
El propósito de Gestión de Bienes, Servicios e
Infraestructura es proporcionar proveedores de bienes,
servicios e infraestructura que satisfagan los requisitos
de adquisición de los procesos y proyectos.
GES5- GESTIÓN DE CONOCIMIENTO
El propósito de Gestión de Conocimiento es mantener
disponible y administrar la Base de Conocimiento que
contiene la información y los productos generados por
la organización.
CATEGORIA: OPERACIÓN
OPE1- ADMINISTRACIÓN DE UN PROYECTO
ESPECÍFICO
El propósito de la Administración de un Proyecto
específico es establecer y llevar a cabo
sistemáticamente las actividades que permitan cumplir
con los objetivos de un proyecto en tiempo y costo
esperados.
OPE2-DESARROLLO DE SOFTWARE
El propósito de Desarrollo de Software es la
realización sistemática de las actividades de análisis,
diseño, construcción, integración y pruebas de
productos de software nuevos cumpliendo con los
requisitos especificados y con las normativas de
seguridad de información.
OPE3-MANTENIMIENTO DE SOFTWARE
El propósito de este proceso es la realización de las
actividades relacionadas con el mantenimiento y
modificación de productos de software.
COMPETISOFT está integrado por tres categorías y 9
procesos, como se puede apreciar en la figura 3. A su
vez cada uno de los procesos cuenta con un esquema
integrado por tres partes: Definición general del
proceso, prácticas y guías de ajuste [13].
Figura 3. Estructura de procesos de
COMPETISOFT. Referenciado en 8.
En la definición general del proceso se identifica su
nombre, categoría a la que pertenece, propósito,
descripción general de sus actividades, objetivos,
indicadores, metas cuantitativas, responsabilidad y
autoridad, subprocesos en caso de tenerlos, procesos
relacionados, entradas, salidas y productos internos.
En las Prácticas se identifican los roles involucrados en
el proceso y las competencias requeridas, se describen
las actividades en detalle, asociándolas a los objetivos
del proceso, se presenta un diagrama de flujo de
trabajo, se describen las verificaciones y validaciones
requeridas, se listan los productos que se incorporan a
la base de conocimiento, se identifican los recursos de
infraestructura necesarios para apoyar las actividades,
se establecen las mediciones del proceso.
En las Guías de ajuste se sugieren modificaciones al
proceso que no deben afectar los objetivos del mismo.
Los propósitos y algunas características de los procesos
de COMPETISOFT se presentan a continuación:
CATEGORIA: ALTA DIRECCIÓN
DIR1- GESTIÓN DEL NEGOCIO
El propósito del proceso es establecer la razón de ser
de la organización, sus objetivos y las condiciones para
lograrlos, para lo cual es necesario considerar las
8
Tendencias en Ingeniería de Software e Inteligencia Artificial – volumen 3
3.3. Mapeo de Procesos NTC 6001:2008 Vs.
COMPETISOFT
Tomando como referencia los ―debes‖ de los
procesos de la norma NTC 6001:2008 y los objetivos
de cada uno de los procesos de COMPETISOFT, se
realizará a continuación un mapeo entre ambos, con el
fin de establecer su nivel de relación, para tenerlo en
cuenta como marco de referencia para las MYPES de
software, en un proceso de certificación.
PROCESO
6001:2008
ISO
GESTIÓN DE LA
INFORMACIÓN
GI1
GESTIÓN
FINANCIERA
GF1
GRF1
GESTIÓN DE
RECURSOS
FÍSICOS
HUMANOS
GES5- GESTIÓN
DEL
CONOCIMIENTO
GES4- GESTIÓN
DE BIENES ,
SERVICIOS E
INFRAESTRUCTU
RA
GRF2
GRF3
CÓDIGO
DEBE
PROCESOS
COMPETISOFT
EQUIVALENTE
PROCESOS DE DIRECCIÓN
PD1
DIR1- GESTIÓN
DEL NEGOCIO
PLANIFICACIÓN Y
DIRECCIONAMIEN PD2
TO
PD3
GES1- GESTIÓN
DE PROCESOS
EG1
DIR1- GESTIÓN
DEL NEGOCIO
(Actividad de
valoración y mejora
continua de la
organización)
EVALUACIÓN DE
LA GESTIÓN
EG2
DIR1- GESTIÓN
DEL NEGOCIO
(Actividad de
valoración y mejora
continua de la
organización)
PROCESOS OPERATIVOS
GESTIÓN
GC1
COMERCIAL
PLANIFICACIÓN
PP1
GES2- GESTIÓN
DE PRODUCTOS
DE PROYECTOS
PP2
DISEÑO
Y DDP1
OPE1DESARROLLO DE
ADMINISTRA
PRODUCTOS
CIÓN DE UN
PROYECTO
ESPECÍFICO
GC1
GC2
GC3
GESTIÓN DE
COMPRAS
GC4
GC5
GC6
PRODUCCIÓN DE PB1
OPE2BIENES
O
DESARROLLO DE
PRESTACIÓN DEL
SOFTWARE.
SERVICIO
OPE3MANTENIMIEN
TO DE
SOFTWARE
PROCESOS DE APOYO
RECURSOS
RH1
GES3- GESTIÓN
HUMANOS
DE RECURSOS
Una vez desarrollado el mapeo, se puede evidenciar
un alto grado de interrelación de la norma con los
procesos de COMPETISOFT, como para pensar que
cualquier MYPE de software que desee llevar a cabo
un proceso de certificación en la NTC 6001:2008
puede tomar como marco de referencia específico a
COMPETISOFT.
Con respecto a aquellos ―debes‖ de la norma que no
tienen una clara interrelación con COMPETISOFT,
existen otras prácticas y marcos de referencia propios
de las TIC‘s que les permitirá complementar los
procesos faltantes. Como ejemplo se puede mencionar
el caso de los procesos de gestión financiera, a través
de los siguientes ―debes‖:
-―Identificación de los riesgos potenciales que
puedan llegar a afectar los activos y establecer las
acciones
preventivas
necesarias
para
salvaguardarlos‖. Para dar cumplimiento a este
requisito existen diferentes normas y metodologías de
gestión de riesgos tanto a nivel corporativo como
tecnológico; como punto de partida se puede tener en
cuenta el estándar internacional AS/NZ 4360:2004 y la
norma técnica colombiana de gestión de riesgos NTC
5254:2005; si se requieren metodologías específicas de
gestión de riesgos tecnológicos se puede acudir a
metodologías tales como MAGERIT, OCTAVE o el
recién liberado marco de referencia de riesgos de TI
denominado ―Enterprise Risk: Identify, Govern and
Manage IT Risk‖ por parte de ISACA.
-―Establecer los costos de sus bienes o servicios y
mantener registros de los cálculos de éstos‖. Para ello
es importante desarrollar metodologías de costeo de
software teniendo en cuenta metodologías tales como
TCO (Total Cost of Ownership) para estimar los costos
directos e indirectos, o esquemas específicos para
desarrollar la estimación de proyectos de software tales
como: puntos de función, COCOMO o una
combinación de estos.
9
Capítulo 1: Adaptación de la norma NTC 6001:2008 a micro y pequeñas empresas (MYPES) de
software utilizando como marco de referencia COMPETISOFT. Valencia Duque F.J.
4. Conclusiones
[6] INTECO, Estudio sobre la certificación de la calidad
como medio para impulsar la industria de desarrollo del
software en España, INTECO, España, 2008. Referenciado
4. Referenciado 5.
La implementación de un sistema de gestión de
calidad en una organización, es un requisito
fundamental para mejorar la calidad de sus productos y
servicios y por ende incrementar su nivel de
competitividad.
Las MYPES ya cuentan con una norma de gestión
de calidad ajustada a sus características y con un marco
de referencia de procesos de software que le permiten
implementar de manera ágil un sistema de gestión de
calidad con criterios de eficacia y eficiencia.
En este capítulo, se han interrelacionado los ―debes‖
de la norma NTC 6001:2008 con los procesos que
hacen parte de COMPETISOFT, dando como resultado
un alto nivel de acoplamiento de ambos modelos, para
integrar un combo que agilice el proceso de
implementación de un sistema de gestión de calidad en
las MYPES de software.
[7]
Comunidad
MOPROSOFT,
http://www.comunidadmoprosoft.org.mx/COMUNIDAD_M
OPROSOFTADM/Documentos/V1.3_MoProSoft.pdf.
Referenciado 5
[8]
COMPETISOFT,
http://alarcos.infcr.uclm.es/Competisoft/. Referenciado 5
[9]
FEDESOFT,
http://www.fedesoft.org/downloads/Sinertic/RESUME
N_MODELO_IT_MARK.pdf. Referenciado 5.
[10]
KYBELECONSULTING,
http://www.kybeleconsulting.com/downloads/MCGarcia_Me
joraProcesos_ISO29110.pdf. Referenciado 5.
[11]
ICONTEC,
http://www.icontec.org/BancoConocimiento/N/noticia__lazamiento_norma_mype/noticia__lazamiento_norma_mype.asp?CodIdioma=ESP&CodSeccio
n=39. Referenciado 6.
5. Trabajo Futuro
Actualmente el grupo de investigación se encuentra
elaborando un documento, que suministra una
orientación más detallada para orientar a las PYMES
de software en la aplicación de la NTC 6001:2008,
referenciando COMPETISOFT y otros marcos de
referencia para ser presentado a la comunidad
académica y al sector productivo como una
herramienta de apoyo para facilitar la implementación
de sistemas de gestión de calidad que ayuden a mejorar
la competitividad de las pequeñas factorías de
software.
[12] ICONTEC, Norma técnica colombiana NTC 6001,
ICONTEC, Bogotá, 2008. Referenciado 6.
[13] COMPETISOFT, Mejora de procesos para
Fomentar la Competitividad de la Pequeña y Mediana
Industria del Software de Iberoamérica. CYTED,
Versión
2.0,
2006.
Referenciado
8
6. Referencias
[1] M, Piattini Velthuis y otros, Fábricas de software:
experiencias, tecnologías y organización, Alfaomega Grupo
Editor, México, 2007. Referenciado 4.
[2] Oficina Económica y comercial de la Embajada de
España en Bogotá, El mercado del software en Colombia,
Instituto Español de comercio exterior, Bogotá, 2006.
Referenciado 4.
[3] Departamento Nacional de Planeación, Política Nacional
para la transformación productiva y la promoción de las
micro, pequeñas y medianas empresas: un esfuerzo público
privado, DNP, Bogotá, 2007. Referenciado 4.
[4] F, Pino, ―Revisión sistemática de mejora de procesos de
software en micro, pequeñas y medianas empresas‖, Revista
española de Innovación, Calidad e Ingeniería de software,
Volumen 2, Número 1, 2006, pp.6-23, Referenciado 5.
[5] A, Cavalcanti da Rocha y Kival Chaves Weber, MPS.BR
lecciones aprendidas, Asociación para la Promoción de la
Excelencia del Software Brasileño- SOFTEX, Campinas,
2008. Referenciado 5.
10
Tendencias en Ingeniería de Software e Inteligencia Artificial – volumen 3
243