PDF Full-Text

3476
IEEE LATIN AMERICA TRANSACTIONS, VOL. 13, NO. 10, OCTOBER 2015
Representation Of CMMI-DEV Practices In The
Semat Kernel
C. M. Zapata, J. Valderrama and L. D. Jiménez
Abstract— CMMI-DEV model framework includes a set of
practices for developing products and services. CMMI-DEV
Graphical representations exhibit a general composition of the
model structure, the component hierarchy and eventually the
obligatory nature the model elements. However, CMMI-DEV
graphical representations exclude some of the CMMI-DEV
practices, sub-practices, and examples. The Semat (Software
Engineering Methods and Theory) kernel has essential elements
that are common in all of the software engineering methods. We
can describe practices by using the universal language provided
by the Semat kernel in order to ease the model manipulation
and contribute to the thinking framework used for evaluating
effort and quality. In this paper we describe a representation of
the proposed CMMI-DEV practices and its components by
using the Semat kernel. We aim to contribute to the
development and consolidation of the software engineering
theory.
1
Keywords— CMMI-DEV, method, kernel, practices, graphic
representation, Semat
L
I. INTRODUCCIÓN
A INTEGRACIÓN de modelos de madurez (CMMI por
sus siglas en inglés) se desarrolló inicialmente en la
Universidad Carnegie-Mellon para el SEI (Software
Engineering Institute) y se define como un marco de
referencia, que contiene modelos que orientan el desarrollo de
procesos en distintas áreas de interés. El modelo denominado
CMMI para desarrollo (CMMI-DEV) reúne un conjunto de
prácticas de ingeniería de software que facilitan la mejora en
los procesos de gestión de proyectos, gestión de procesos,
ingeniería y soporte. El modelo CMMI-DEV proporciona una
guía de orientación para aplicar las buenas prácticas CMMI en
una organización durante el ciclo de vida de un producto,
desde la concepción hasta su entrega y mantenimiento. Las
buenas prácticas del modelo se centran en actividades para
desarrollar productos y servicios de calidad con el fin de
satisfacer las necesidades de los usuarios finales.
CMMI-DEV es un modelo extenso debido a que propone
un conjunto de prácticas específicas que describen las
actividades consideradas importantes para satisfacer un área
de proceso. Estas prácticas se asocian con los objetivos del
área y describen qué hacer para cumplirlos. El modelo CMMIDEV propone algunas sugerencias sobre cómo implementar
las prácticas, a manera de subprácticas, e indica los productos
de trabajo que típicamente se deberían producir al realizarlas.
C. M. Zapata, Universidad Nacional de Colombia, Medellín, Colombia,
[email protected]
J. Valderrama, Universidad Nacional de Colombia, Medellín, Colombia,
[email protected]
L. D. Jiménez, Universidad Nacional de Colombia, Medellín, Colombia,
[email protected]
Las representaciones gráficas existentes de CMMI-DEV
muestran la jerarquía entre los componentes del modelo.
Algunas representaciones son mapas conceptuales en los
cuales se resume la estructura de todos sus elementos,
diagramas del proceso del modelo, la relación jerárquica
entre los componentes y el carácter obligatorio o no de su
aplicación. Algunos de estos autores representan una
composición general de la estructura del modelo CMMIDEV, mientras que otros fragmentan la representación de su
composición en gráficas distintas para especificar los tipos
de representaciones que el modelo CMMI-DEV propone.
Sin embargo, en las representaciones se presenta una falta
de especificación de componentes como prácticas,
subprácticas y ejemplos de trabajo y la relación entre estos
elementos, los cuales proporcionan orientación para la
implementación de las prácticas propuestas en el modelo
CMMI-DEV.
Semat es una iniciativa que crearon Ivar Jacobson,
Bertrand Meyer y Richard Soley con el objetivo de apoyar
la idea de refundar la ingeniería de software, basándose en
una teoría sólida, principios probados y mejores prácticas.
A diferencia de otros intentos para crear una teoría general
de la ingeniería de software, en Semat se generaliza la
ingeniería de software identificando acciones y elementos
universales, que se describen mediante un lenguaje sencillo
y universal que permite la descripción de los métodos y las
prácticas. Su núcleo incluye un grupo de elementos
esenciales que son universales para todo esfuerzo de
desarrollo de software y extensibles para usos específicos,
lo que permite asumir que Semat no se resiste ante nuevas
ideas, ya que cualquier metodología se puede representar
mediante sus elementos en el núcleo.
En este artículo se propone la representación de prácticas
de CMMI-DEV en el núcleo de Semat, ya que una
representación gráfica de las prácticas y sus componentes
facilita la manipulación del modelo, permitiendo un balance
entre la densidad de la información y la legibilidad. Más
que un modelo conceptual, el núcleo de Semat proporciona
un marco de pensamiento para que los equipos de trabajo
razonen sobre los progresos y las decisiones de sus
esfuerzos, permitiendo mejorar continuamente su forma de
trabajo; a partir del núcleo, esos equipos obtienen una base
común para la discusión, la mejora, la comparación, el
intercambio de los métodos de la ingeniería de software y
la definición de prácticas independientes para evaluar la
calidad del producto de software.
Este artículo se organiza de la siguiente forma: en la
Sección II se profundiza acerca del modelo CMMI-DEV y
Semat, en la Sección III se muestran los antecedentes en las
representaciones gráficas del modelo CMMI-DEV, en la
Sección IV se propone la representación gráfica de prácticas
ZAPATA JARAMILLO et al.: REPRESENTATION OF
del modelo CMMI-DEV con los elementos del núcleo de
Semat y finalmente en la Sección V se concluye y se
propone el trabajo futuro.
II. MARCO TEÓRICO
A. Capability maturity model integration-development
El modelo CMMI-DEV (Fig. 1) contiene un conjunto de
áreas de proceso, las cuales cubren los conceptos básicos para
la mejora de procesos en una organización. Un área de
proceso es un grupo de prácticas relacionadas que, cuando se
implementan conjuntamente, satisfacen un conjunto de metas
que son fundamentales para mejorar los procesos. Las metas
se agrupan de dos formas: metas específicas, las cuales
describen las características únicas que se deben considerar
para satisfacer un área de proceso en particular, y metas
genéricas que aplican para múltiples áreas de proceso. De
igual manera, las prácticas también se dividen en específicas y
genéricas con el fin de cumplir las respectivas metas. Las
prácticas se componen de subprácticas y ejemplos de trabajo
que proporcionan el detalle para interpretar e implementar una
práctica específica o genérica.
Figura 1. Componentes del modelo CMMI.
El modelo CMMI-DEV define dos caminos de mejora o
tipos de niveles (también llamados “representaciones”):
niveles de capacidad y niveles de madurez. La
representación continua se relaciona con el nivel de
capacidad y la representación escalonada con el nivel de
madurez. Para alcanzar un nivel de capacidad o un nivel de
madurez, se deben satisfacer todas las metas definidas para
las áreas de proceso que se quieren mejorar.
Los niveles de capacidad o representación continua se
enfocan en la capacidad de un área de proceso individual, en
este caso, en mejorar los procesos de la organización vistos
como áreas de proceso individuales. Los niveles de madurez
o representación escalonada se refieren a la mejora de
procesos de una organización vistos como un conjunto de
áreas de proceso, lo que supone una visión global de la
organización y sus procesos. En la Tabla I se presenta un
comparativo de los niveles de madurez y capacidad
correspondientes a cada una de las representaciones:
3477
Nivel
Nivel 0
Nivel 1
Nivel 2
Nivel 3
Nivel 4
Nivel 5
TABLA I. NIVELES DE CAPACIDAD Y MADUREZ.
Representación continua
Representación por etapas
Niveles de capacidad
Niveles de madurez
Incompleto
Realizado
Inicial
Gestionado
Gestionado
Definido
Definido
Gestionado cuantitativamente Gestionado cuantitativamente
En optimización
En optimización
En la representación por etapas, el punto de partida es el
nivel Inicial, correspondiente al nivel Realizado en la
representación continua. La diferencia radica en que la
representación escalonada se enfoca en la mejora de un
conjunto de áreas de proceso dentro de un nivel de
madurez, por lo que no se considera importante si el
proceso se realizó o está incompleto, lo cual sí es relevante
en la representación continua, ya que se enfoca en la mejora
de un área de proceso particular desde la definición del
proceso.
B. Software Engineering Method and Theory (Semat)
Semat es una iniciativa que se enfoca en dos objetivos
principales: encontrar un núcleo de elementos ampliamente
aceptados y definir una base teórica sólida, con el propósito
de redefinir la forma en que las personas trabajan con los
métodos de desarrollo de software.
El enfoque del núcleo permite definir una base común
para cualquier esfuerzo de desarrollo de software y
construir métodos a partir de prácticas que se puedan definir
y aplicar de manera independiente. Las prácticas se agrupan
para formar métodos que se ajusten a las necesidades ya sea
de la organización, de un proyecto o equipo de trabajo.
El núcleo se puede describir usando un pequeño conjunto
de elementos, los cuales se agrupan en tres áreas de
conocimiento: cliente, solución y esfuerzo. Cada área de
conocimiento se enfoca en un aspecto específico de la
ingeniería de software y se distingue por un color, el cual
permite comprender a nivel gráfico, la relación de las áreas
de conocimiento con cada uno de los elementos agrupados
en ellas. Los elementos que componen cada una de las áreas
de conocimiento y que a su vez definen el núcleo son: alfa,
espacios de actividad y competencias.
Alfa: se puede definir como la representación de las cosas
esenciales para trabajar; provee una descripción de la clase
de cosas que un equipo debe gestionar, usar y producir en
cualquier esfuerzo de desarrollo de software. Un alfa
representa un indicador crítico de todo lo que es más
importante para monitorear y que sigue una línea de
progreso (Fig. 2).
Espacios de actividad: complementan los alfas, ya que
proporcionan el conjunto de actividades esenciales que
normalmente se hacen en ingeniería de software (Fig. 3).
Competencias: representan las habilidades clave que se
requieren para el desarrollo de software.
3478
IEEE LATIN AMERICA TRANSACTIONS, VOL. 13, NO. 10, OCTOBER 2015
básica del modelo, definiendo la jerarquía y la relación
entre los elementos (Fig. 5); otros se enfocan en la
representación de los componentes que conforman su
estructura de aplicación (Fig. 6). Sin embargo estas
representaciones se concentran en mostrar todos los
elementos de manera general, algunos innecesarios al
momento de implementar el modelo CMMI pues carecen de
la definición de las prácticas, metas, subprácticas y
ejemplos de productos de trabajo.
Figura 2. Alfas del núcleo.
Figura 5. Elementos del modelo CMMI-DEV.
Figura 3. Espacios de actividad del núcleo.
Figura 6. Componentes del modelo CMMI-DEV.
Figura 4. Competencias del núcleo.
III.
ANTECEDENTES
Las representaciones del modelo CMMI-DEV existentes
buscan, entre otros asuntos, tener un conocimiento general
del modelo, garantizando el entendimiento sobre cómo
implementar las mejoras propuestas. Sin embargo, las
representaciones encontradas carecen de la profundización
en la especificación de componentes como prácticas,
subprácticas y ejemplos de trabajo y la relación entre estos
elementos, los cuales proporcionan orientación para la
implementación de las prácticas propuestas en el modelo.
CMMI-DEV integra elementos como área de procesos,
metas específicas y genéricas, prácticas específicas y
genéricas, subprácticas, productos de trabajo, guías de
adopción de prácticas y los tipos de representación, continua
y escalonada, con sus niveles de madurez o capacidad
respectivamente.
Una de las representaciones gráficas encontradas en la
literatura acerca de la estructura de CMMI-DEV, se basa en
mapas conceptuales que representan una composición
Existen algunos diagramas que especifican la relación
solo de algunos conceptos que son importantes al
diferenciar los tipos de representación que especifica el
modelo CMMI-DEV, tal como se puede apreciar en la Fig.
7; otros esquemas incorporan a la representación anterior el
carácter obligatorio u opcional del uso de los componentes,
tal como se puede ver en la Fig. 1. En este tipo de
representaciones se visualiza la funcionalidad del modelo
CMMI pero no se logra entender cómo aplicar estos
elementos al implementar el modelo sin conocer su teoría.
Figura 7. Tipos de representaciones del modelo CMMI-DEV.
IV. REPRESENTACIÓN
En este artículo se propone una representación específica
ZAPATA JARAMILLO et al.: REPRESENTATION OF
de las prácticas, subprácticas y ejemplos de trabajo del
modelo CMMI-DEV en el núcleo de Semat con la cual se
pretende cubrir aspectos como:
Realizar una abstracción del modelo general,
haciendo énfasis en los aspectos básicos, relacionando los
productos de trabajo que el marco define para cada una de las
prácticas y subprácticas correspondientes.
Facilitar la visualización y entendimiento del
modelo CMMI-DEV, haciendo énfasis en cada uno de los
elementos que componen una práctica en particular.
Representar las prácticas en función de los
elementos del núcleo, partiendo de la característica de que el
núcleo es aplicable a cualquier esfuerzo de desarrollo de
software, facilitando así la implementación de las prácticas.
Esta representación ayuda a los profesionales en la
implementación de las prácticas y el seguimiento de las
mejoras implementadas.
Implementar las prácticas de acuerdo con las
características propias de un proyecto o las necesidades de
una empresa.
Para realizar un acercamiento a la forma de representar
CMMI-DEV con los elementos del núcleo de Semat, se
seleccionó el área de procesos “Desarrollo de requisitos”
(RD por sus siglas en inglés). Esta área de procesos describe
tres tipos de requisitos: de cliente, producto y componente de
producto. Estos requisitos tratan las necesidades de las partes
interesadas
relevantes,
incluyendo
las
necesidades
pertinentes a las diferentes fases del ciclo de vida del
producto y a los atributos del producto, y abarcan las
restricciones causadas por la selección de soluciones de
diseño.
En la Tabla II se muestran los elementos, metas y
prácticas, definidas para esa área de procesos.
3479
modelo CMMI, las demás prácticas se representan de forma
análoga. A continuación, se presentan las subprácticas y
ejemplos de trabajo que componen las prácticas escogidas
para su representación:
TABLA III. PRÁCTICA 1.1.
Práctica
Práctica
Subprácticas
Ejemplos de
productos de trabajo
Elemento
Objetivo específico 1
Práctica específica 1.1
Práctica específica 1.2
Objetivo específico 2
Práctica específica 2.1
Práctica específica 2.2
Práctica específica 2.3
Objetivo específico 3
Práctica específica 3.1
Práctica específica 3.2
Práctica específica 3.3
Práctica específica 3.4
Práctica específica 3.5
DESCRIPCIÓN
El propósito del Desarrollo de Requisitos (RD)
es educir, analizar y establecer los requisitos
de cliente, de producto y de componente de
producto
Desarrollar los requisitos de cliente
Educir las necesidades
Transformar las necesidades de las
partes interesadas en requisitos de
Desarrollar los requisitos de producto
Establecer los requisitos de producto y de
componente de producto
Asignar los requisitos de componente
de producto
Identificar los requisitos de interfaz
Analizar y validar los requisitos
Establecer los conceptos y los escenarios
de operación
Establecer una definición de la
funcionalidad y de los atributos de calidad
Analizar los requisitos
Analizar los requisitos para conseguir
un equilibrio
Validar los requisitos
En este artículo, por razones de espacio, solo se muestran
las representaciones para las prácticas 1.1, 1.2 y 2.2 (véanse
las tablas III, IV y V). Dada la estandarización que posee el
TABLA IV. PRÁCTICA 1.2.
Transformar las necesidades de las partes
interesadas en requisitos de cliente
Traducir las necesidades, las expectativas, las
restricciones y las interfaces de las partes
interesadas en requisitos documentados del cliente
Establecer y mantener una priorización de los
requisitos funcionales de cliente y de los atributos
de calidad
Definir las restricciones para la verificación y la
validación
Requisitos de cliente priorizados
Restricciones de cliente para llevar a cabo la
verificación
Restricciones de cliente para llevar a cabo la
validación
TABLA V. PRÁCTICA 2.2
Práctica
Subprácticas
TABLA II. DESARROLLO DE REQUISITOS.
Propósito
Educir las necesidades
Comprometer a las partes interesadas relevantes
usando métodos para educir las necesidades, las
Subprácticas
expectativas, las restricciones y las interfaces
externas
Ejemplos de productos Resultados de las actividades de educción de
requisitos
de trabajo
Ejemplos de
productos de trabajo
Asignar los requisitos de componente de producto
Asignar los requisitos a las funciones
Asignar los requisitos a los componentes de
producto y a la arquitectura
Asignar las restricciones de diseño a componentes
de producto y a la arquitectura
Asignar requisitos a las entregas incrementales
Documentar las relaciones entre requisitos
asignados
Hojas de asignación de requisitos
Asignaciones provisionales de requisitos
Restricciones de diseño
Requisitos inferidos
Relaciones entre requisites inferidos
Para los elementos relacionados en las tablas III, IV y V,
se propone una representación en el núcleo de Semat como
se muestra en las Fig. 9, 10 y 11. Tal como se puede
apreciar en la Tabla VI, las prácticas del modelo de
desarrollo CMMI- DEV se representan mediante un
hexágono en el núcleo de Semat. Cada una de las
subprácticas que derivan de las prácticas del modelo
CMMI-DEV, en Semat se representa como actividad, pues
indica qué se debe hacer para llevar a cabo la práctica en
particular sin importar el orden de su ejecución. Cada una
de las subprácticas se asocia con ejemplos de trabajo y en el
núcleo de Semat se representa como productos de trabajo.
Los alfas y los espacios de actividad se identifican de
acuerdo con el objetivo que tiene el área de procesos
seleccionada. Desarrollo de requisitos es un área que
involucra el desarrollo de actividades para entender las
necesidades del interesado y determinar los requisitos del
3480
IEEE LATIN AMERICA TRANSACTIONS, VOL. 13, NO. 10, OCTOBER 2015
producto que se planea realizar.
TABLA VI. COMPONENTES DE CMMI-DEV Y ELEMENTOS DEL
NÚCLEO DE SEMAT.
Componente de CMMIPráctica
Elemento en el núcleo de Semat
Práctica
Subpráctica
Actividad
Ejemplo de
producto de trabajo
Producto de trabajo
Para la práctica “Educir las necesidades” (Fig. 8), se
identificaron los alfas Interesado y Oportunidad. Al alfa
Interesado se le adicionó un producto de trabajo y se definió
una actividad relacionada con el espacio de actividad
Comprender las necesidades del interesado.
Figura 8. Representación de la práctica educir las necesidades.
Para la práctica “Transformar las necesidades de las
partes interesadas en requisitos de cliente” (Fig. 9), se
identificaron los alfas: Requisitos y Oportunidad. Al alfa
Oportunidad se le adicionaron tres productos de trabajo y se
definieron tres actividades relacionadas con el espacio de
actividad Comprender las necesidades del interesado.
Figura 9. Representación de la práctica transformar las necesidades de
las partes interesadas en requisitos de cliente.
Para la práctica “Asignar los requisitos de componente de
producto” (Fig. 10), se identificó el alfa Requisitos, al cual
se le adicionaron cinco productos de trabajo y se definieron
cinco actividades relacionadas con el espacio de actividad
Comprender las necesidades del interesado.
V. CONCLUSIONES
La representación de las prácticas de CMMI-DEV en
Semat permite identificar los elementos que hacen parte de la
definición de las prácticas en sí mismas y que, a su vez,
facilitan su entendimiento y guían su aplicación. Esto
representa una ventaja para las personas que requieran
implementar las prácticas de CMMI-DEV de manera
individual, de acuerdo con sus proyectos o necesidades
particulares.
La asociación de las subprácticas (actividades) y los
productos de trabajo con los Alfas definidos en el núcleo de
Semat, genera el espacio para realizar un monitoreo y
seguimiento de la evolución e implementación de estos
elementos en un proyecto, facilitando la adecuada
implementación de las prácticas CMMI y alertando sobre
riesgos y dificultades a nivel del proyecto y/o del equipo de
trabajo.
El núcleo de Semat es extensible, lo cual no sólo va
orientado a la posibilidad de representar nuevas prácticas o
métodos,
sino
que
permite
construir
diversas
representaciones de una determinada práctica a partir de la
forma en que se relaciona con los elementos definidos en el
núcleo y a los elementos que se consideren dentro de las
mismas prácticas para su representación (tal es el caso de las
subprácticas y los productos de trabajo como elementos de
las prácticas de CMMI).
Para la realización de la representación que se presentó en
este artículo, el alto grado de estandarización de CMMIDEV facilitó la correlación de los diferentes elementos con
sus equivalentes en el núcleo de Semat. De hecho, algunos
de los elementos comparten la misma terminología en ambos
modelos, tales como las prácticas y los productos de trabajo.
Como líneas de trabajo futuro correspondientes a este
proyecto, se identifican las siguientes:
Desagregar las características de algunos elementos
que, como las actividades, aún no alcanzan un nivel de
granularidad atómico para su representación. Es posible que
ciertos elementos como el nivel de detalle, que pertenece a la
especificación avanzada del núcleo, puedan contribuir a
especificar de forma más refinada estos elementos.
Realizar un estudio a nivel de subprácticas en
relación con los verbos que hacen parte de su descripción. Se
pudo constatar que algunos de esos verbos corresponden a
verbos considerados de objetivos y, por ende, podrían
inducir a errores parciales cuando se representan en forma de
actividades.
Representar los demás modelos de calidad
pertenecientes a CMMI y otros que se podrían considerar
complementarios, como ISO 25000 o estándares de temas
más específicos como los de IEEE.
ZAPATA JARAMILLO et al.: REPRESENTATION OF
3481
Figura 10. Representación de la práctica asignar los requisitos de componente de producto.
Dada la naturaleza general del modelo CMMI-DEV,
es necesario realizar un análisis que permita establecer la
manera de representar ejemplos concretos de los productos
de trabajo. Productos como “resultado de las actividades de
educción de requisitos” podrían ser historias de usuario o
casos de uso, los cuales suelen ser candidatos para su
representación en forma de productos de trabajo.
Nuevamente, los niveles de detalle podrían suministrar pistas
importantes para la representación.
AGRADECIMIENTOS
El proyecto identificado con el código 18907 y que lleva por título
“Especificación formal en OCL de reglas de consistencia entre métodos de
desarrollo basados en planes representado en el núcleo de SEMAT”, que
financia la Dirección de Investigación de la Sede Medellín (DIME),
adscrita a la Universidad Nacional de Colombia suministró los fondos para
la realización de este artículo.
REFERENCIAS
H. Arboleda, A. Pazby R. Casallas. “Metodología para implantar el
Modelo Integrado de Capacidad de Madurez en grupos pequeños y
emergentes”. Estudios Gerenciales 29, 2013, pp. 177–188.
SEI Administrative Agent, “CMMI-DEV: Improving processes for
developing better products and services”. V 1.3, 2010.
I. Jacobson, P. Ng, P.E. McMahon, I. Spence and S. Lidman. The
Essence of Software Engineering: The SEMAT Kernel.
Communications of the ACM, vol. 55, no. 12, 2012, pp. 42-49.
Essence – Kernel and Language for Software Engineering Methods. V 1.3,
2013.
F. Yucalar, S.Z. Erdogan. A questionnaire based method for cmmi level 2
Maturity assessment. Journal of aeronautics and space technologies,
vol. 4, no. 2, 2009, pp. 39-46.
L.F. Campo. Marco metodológico para la administración de proyectos de
software utilizando las mejores prácticas propuestas por el modelo
CMMI-DEV. Tesis de maestría. Colombia, Departamento de
Sistemas y Computación, Universidad de Norte, 2008.
D. Gefen, M. Zviran, and N. Elman. What Can be Learned from CMMI
Failures?. Communications of AIS, vol. 17, Article 36, 2006.
J. Garzás, F.J. Pino, M. Piattini, C. M. Fernández. “A maturity model for
the Spanish software industry based on ISO standards”. Computer
Standards & Interfaces 35, 2013, pp. 616–628.
C.G. von Wangenheim, D.A. da Silva, L. Buglione, R. Scheidt, R.
Prikladnicki. “Best practice fusion of CMMI-DEV v1.2 (PP, PMC,
SAM) and PMBOK 2008”. Information and Software Technology
52, 2010, pp. 749–757.
S. Garg. “Higher education-cmmi: beyond the software frontier (with
specific reference to Higher education in indian knowledge
economy)”. Proceedings of world academy of science, engineering
and technology vol. 41, 2009.
Jorge Valderrama ingeniero de sistemas e informática
de la Universidad Nacional de Colombia, Sede
Medellín, en el año 2010. Actualmente es estudiante de
especialización en ingeniería de sistemas en la misma
institución.
Leidy Diana Jiménez Pinzón ingeniera de sistemas e
informática de la Universidad Nacional de Colombia,
Sede Medellín, en el año 2013. Actualmente es
estudiante de maestría en ingeniería - ingeniería de
sistemas en la modalidad de investigación en la misma
institución.
Carlos Mario Zapata se desempeña actualmente como
Profesor Asociado del Departamento de Ciencias de la
Computación y de la Decisión de la Universidad
Nacional de Colombia, Sede Medellín. Es, además,
presidente del Comité Ejecutivo del Capítulo
Latinoamericano de Semat y también es uno de los
traductores oficiales del libro “La Esencia de la
Ingeniería de Software: aplicando el núcleo de Semat”.