Está en la página 1de 9

SPEM: Software Process Engineering Metamodel

Vctor Hugo Menndez Domnguez y Mara Enriqueta Castellanos Bolaos


Facultad de Matemticas
Universidad Autnoma de Yucatn
Mrida, Mxico
{mdoming, enriqueta.c}@uady.mx

ResumenTodas las organizaciones involucradas en el Model Language). Al ser SPEM un metamodelo UML, utiliza
desarrollo de software necesitan establecer, gestionar y soportar su notacin, lo que permite visualizar, especificar, construir y
el trabajo de desarrollo. El trmino proceso de desarrollo de documentar sistemas orientados a objetos [5].
software tiende a unificar todas las actividades y prcticas que
SPEM permite representar una familia de procesos de
cubren esas necesidades. Modelar el proceso de software es una
forma para mejorar el desarrollo y la calidad de las aplicaciones
desarrollo de software y sus componentes. Constituye un tipo
resultantes. De entre todos los lenguajes existentes para el de ontologa de procesos de desarrollo de software [18]. Para
modelado de procesos, aquellos basados en productos de trabajo ello provee un conjunto de elementos de modelado de procesos
son los ms adecuados. Uno de tales lenguajes es SPEM para describir cualquier proceso de desarrollo de software sin
(Software Process Engineering Metamodel). SPEM fue creado agregar modelos o restricciones de alguna rea o disciplina
por OMG (Object Management Group) como un estndar de alto especfica, tal como gestin de proyectos o anlisis.
nivel, que est basado en MOF (MetaObject Facility) y es un SPEM proporciona una sintaxis y estructura para cada
metamodelo UML (Uniform Model Language). Constituye un aspecto de los procesos desarrollo, incluyendo:
tipo de ontologa de procesos de desarrollo de software. En este
Roles.
artculo se ofrece una descripcin, en trminos generales, del
estndar SPEM. Tambin se destacan los cambios que ha Tareas.
experimentado entre la versin 1.1 y la versin 2.0, presentando Artefactos.
tanto las ventajas como las desventajas encontradas entre ambas Lista de verificacin
versiones. Productos de trabajo.
Tcnicas y herramientas.
Palabras ClaveProceso de desarrollo de software, SPEM, Estructuras de trabajo.
MOF, UML.
Capacidad de rastreo y refinamiento.
Ayuda sensible al contexto, gua y lineamientos.
I. INTRODUCCIN Descripcin textual de elementos.
Esta seccin describe qu es un proceso de software y su
B. MOF, SPEM y XMI
relacin con el estndar SPEM, tambin presenta la relacin de
SPEM con otros estndares definidos por OMG como UML, Mientras que el propsito de SPEM es convertirse en el
MOF y XMI. lenguaje estndar para el modelado de procesos de software,
MOF pretende ser el lenguaje universal de metamodelos, capaz
A. Procesos de Software y SPEM de describir lenguajes tales como el mismo SPEM, UML,
Todas las organizaciones involucradas en el desarrollo de modelos relacionales, etc. MOF constituye una parte de la
software necesitan establecer, gestionar y soportar el trabajo de arquitectura estandarizada de cuatro niveles, propuesta por
desarrollo. El trmino proceso de desarrollo de software OMG, convencionalmente denominados M0 - M3 [6].
tiende a unificar todas las actividades y prcticas que cubren Un proceso de desarrollo esto es un proceso de
esas necesidades [10]. produccin del mundo real como se indica en la Figura 1, es
El principal objetivo de tal proceso es garantizar la el nivel M0. La definicin del proceso correspondiente
construccin de un software adecuado, conforme a sus (Modelo) est en el nivel M1, por ejemplo cualquier proceso
especificaciones y dentro de los lmites de tiempo y costo [2]. genrico como el RUP o XP, u otras especificaciones
Sin embargo, es un proceso complejo conformado de mltiples adaptadas a un proyecto dado. Sin embargo, SPEM se enfoca
actividades que son interdependientes, incluyendo el desarrollo en el metamodelo que se ubica en el nivel M2 y sirve como
tcnico, la gestin de proyectos, el control de calidad y las plantilla para el nivel M1. Con el fin de evitar un nmero
actividades de soporte del cliente [17]. infinito de niveles, OMG estableci hacer a M3 reflexivo. La
Modelar el proceso de software es una forma para mejorar consecuencia es que MOF debe ser capaz de describirse a si
el desarrollo y la calidad de las aplicaciones resultantes [2]. La mismo [6].
Ingeniera de Procesos de Software (SPE, Software Process XMI (XML Metadata Interchange) es la tecnologa
Engineering) consiste en modelar, disear, mejorar y aplicar adoptada por la OMG para intercambiar modelos en forma
procesos utilizando lenguajes de modelado de procesos (PML, serializada. XMI especifica cmo crear esquemas XML de
Process Modelling Language) [10]. De todos los lenguajes para modelos y se enfoca en el intercambio de metadatos de MOF,
el modelado de procesos existentes, aquellos basados en metadatos acorde a un metamodelo MOF [9].
productos de trabajo son los ms adecuados para modelar los XMI puede ser usado para manipular el metamodelo de
procesos de desarrollo de software [11]. SPEM de las siguientes formas [12]:
Uno de tales lenguajes es SPEM (Software Process Para crear definicin de tipos de documentos SPEM.
Engineering Metamodel) [12], una especificacin de OMG Para transferir modelos de procesos basados en SPEM
(Object Management Group) que est basado en MOF como documentos XML, o describiendo el modelo como
(MetaObject Facility) y es un metamodelo UML (Uniform una instancia directa de SPEM (Uso del DTD SPEM) o
92 Menndez Domnguez, V., Castellanos Bolaos, M. 2015. SPEM: Software Process Engineering Metamodel
Revista Latinoamericana de Ingeniera de Software, 3(2): 92-100, ISSN 2314-2642
describiendo ste como un modelo de UML conforme al
perfil UML para SPEM (Uso del DTD UML).
Transformar el metamodelo de SPEM en un documento
XML basado en el DTD MOF, para intercambio entre los
repositorios conformes a MOF. Fig. 2. Modelo conceptual SPEM.

Mltiples roles interactan o colaboran para intercambiar


productos de trabajo y provocar la ejecucin, o representacin
de ciertas actividades. El objetivo principal de un proceso es
traer unos productos de trabajo a un estado bien definido [10].
Para esto, un primer paso consistir en reestructurar el rol, la
actividad y el producto de trabajo. Esto nos conduce al modelo
simple mostrado en la Figura 3.

Fig. 1. Arquitectura estandarizada propuesta por OMG.

II. ESTADO DEL ARTE


En esta seccin se describe, en trminos generales, el
estndar SPEM, tambin se presentan los cambios que han
surgido entre la versin 1.1 y la versin 2.0.
A. Software Process Engineering Metamodel, SPEM Fig. 3. Relacin de los elementos fundamentales de SPEM 1.1 [12].
SPEM fue creado por OMG como un estndar de alto nivel
para describir procesos utilizados en el desarrollo de software Las actividades utilizan productos de trabajo con el
orientado a objetos. Inicialmente fue creado como un propsito de crear nuevos productos de trabajo. El trabajo es
metamodelo independiente pero ms tarde fue reformulado realizado usualmente por personas que juegan roles. Ellos
para ser un perfil (profile) UML. Esto significa que se realizan las actividades y son responsables de mantener
ajustaron los conceptos orientados a procesos para representar directamente el conjunto de productos de trabajo [8].
conceptos orientados al modelado [8]. La mayor unidad de trabajo es una actividad (Figura 4), la
En la base de SPEM est la idea de que un proceso de cual consta de un nmero de pasos. Estas clases describen el
desarrollo de software es una colaboracin entre las entidades trabajo que se necesita realizar. El realizador de esta unidad de
activas abstractas llamadas Roles del proceso que realizan trabajo es el ProcessRole, el cual es un tipo de realizador de
operaciones llamadas actividades en entidades concretas, procesos, los cuales consisten en un conjunto de
tangibles llamadas productos de trabajo. WorkDefinition. La gente interpreta roles para crear
La Figura 2 describe un ejemplo del modelo conceptual WorkProduct los cuales estn asociados a WorkDefinition (y a
fundamental usando la notacin UML para una clase [9]. actividades). Las definiciones de trabajo tienen precondiciones
y poscondiciones (llamadas metas) como limitaciones.

Fig. 4. Taxonoma de la actividad [12].

Menndez Domnguez, V., Castellanos Bolaos, M. 2015. SPEM: Software Process Engineering Metamodel 93
Revista Latinoamericana de Ingeniera de Software, 3(2): 92-100, ISSN 2314-2642
Un proceso se puede ver como una colaboracin entre roles WorkDefinition (Definicin de trabajo): es un tipo de
para alcanzar cierta meta u objetivo. Para dirigir su operacin que describe el trabajo que se ejecuta en un
representacin, podemos restringir la orden en la cual las proceso. Este trabajo puede ser Activity, Phase, Iteration
actividades deben ser, o pueden ser ejecutadas. Tambin es y LifeCycle.
necesario definir la "forma" del proceso en un determinado Activity (Actividad): es la principal subclase de
tiempo, y la estructura del ciclo de vida en trminos de fases y WorkDefinition. Esta describe una parte del trabajo
de iteraciones (Figura 5) [10]: desarrollado por un ProcessRole: las tareas, operaciones y
Phase (Fase): es una especializacin de WorkDefinition acciones que son desempeadas por un rol o las que el rol
tal que su condicin previa define los criterios de entrada puede asistir. Una Actividad se puede componer de
de la fase y su meta (a menudo llamada milestone) define elementos atmicos llamados pasos.
los criterios de la salida de la fase. Las fases son definidas ProcessPerformer (Ejecutor de Proceso): define la
con una restriccin adicional de secuencialidad, que sus ejecucin para un conjunto de definiciones de trabajo en
representaciones sean ejecutadas con una serie de fechas un proceso. ProcessPerformer es una representacin
de tiempos de programacin (milestone) que abstracta del representante del proceso completo o uno de
normalmente toman un mnimo (o ningn) traslape de sus sus componentes.
actividades en el tiempo. ProcessRol (Rol de Proceso): define responsabilidades
Lifecycle (Ciclo de vida): El ciclo de vida de un proceso sobre productos de trabajo especficos y define los roles
es definido como una secuencia de fases que alcanzan una que ejecutan y asisten en actividades especficas.
meta especfica. Este define el comportamiento de un ProcessPackage (Paquete de Procesos): al igual que en
proceso completo que ser representado en un proyecto o UML, puede contener procesos propios e importar
un programa dado. elementos de definicin de procesos. Las actividades y
Iteration (Iteracin): Una Iteracin es un componente definiciones de trabajo son contenidos respectivamente,
WorkDefinition que se caracteriza por tener el menor por Roles de proceso y Ejecutores de proceso; Las
milestone. mquinas de estado son contenidas por Productos de
SPEM tambin define elementos que son importantes para trabajo y sus propios estados y transiciones. Los grafos de
organizar otros elementos del proceso desde el punto de vista actividad pueden ser contenidos por Paquetes,
de la creacin, ensamble y uso (Tabla I). Los paquetes estn Clasificadores o caractersticas de comportamiento; Otros
relacionados a la divisin de una o ms descripciones de elementos de SPEM pueden ser contenidos por Paquetes.
procesos en una parte autocontenida. Estos subelementos, Guidance (Gua): pueden ser asociados con los elementos
denominados componentes de proceso, son porciones de SPEM, para proporcionar informacin ms detallada a
autocontenidas e internamente consistentes que pueden ser los ejecutores acerca de los elementos asociados. Los
reutilizados con otros componentes de proceso para ensamblar tipos de gua dependen de la familia de procesos y pueden
un proceso completo. Pueden importar un conjunto no ser por ejemplo: Guas, Tcnicas, Mtricas, Ejemplos,
arbitrario de elementos de definicin de procesos [10]. Perfiles UML, Tutoriales, Listas de comprobacin,
Los principales elementos de SPEM son los siguientes [12]: Plantillas, etctera.
WorkProduct (Producto de Trabajo): es cualquier ProcessComponent (Componente de Proceso): es una
elemento producido, consumido, o modificado por un porcin de descripcin de proceso que es consistente
proceso. Esto puede ser una pieza de informacin, un internamente y puede ser reutilizado por otros
documento, un modelo, cdigo fuente y dems. Un ProcessComponent para ensamblar un proceso completo.
WorkProduct describe una clase de producto de trabajo
producido en un proceso.

Fig. 5. Taxonoma del ciclo de vida [12].

94 Menndez Domnguez, V., Castellanos Bolaos, M. 2015. SPEM: Software Process Engineering Metamodel
Revista Latinoamericana de Ingeniera de Software, 3(2): 92-100, ISSN 2314-2642
Process (Proceso): es un ProcessComponent que es capaz Diagramas de clase que permiten la representacin de los
de mantenerse aislado de principio a fin. El proceso se siguientes aspectos de un proceso de software: herencia,
distingue de un componente de proceso normal porque no dependencia, asociaciones, Comentarios y guas.
est pensado para ser accedido por otros componentes. Diagramas de paquete, que permiten la representacin de
Discipline (Disciplina): es una especializacin particular procesos, componentes, paquetes y disciplinas. Las
de Package que divide las actividades dentro de un anidaciones son permitidas.
proceso de acuerdo a un tema comn. El particionamiento Diagramas de caso de uso, que muestra las relaciones
de actividades de esta forma implica que la gua asociada entre los roles del proceso y las definiciones del trabajo
(Guidance) y la salida de WorkProduct se categoriza principal (Figura 6).
similarmente en un tema. La inclusin de una actividad en Diagramas de secuencia, que ilustran los patrones de
una Disciplina es representada por la dependencia de interaccin entre las instancias del modelo SPEM.
Categoras, con una restriccin adicional de que toda Diagramas de estado, que presentan el funcionamiento de
Actividad es categorizada por exactamente una los elementos del modelo SPEM. Se permite la anidacin
Disciplina. y el paralelismo pero no indicadores de historial.
Diagramas de actividad, que describen la secuencia de
TABLA I. ESTEREOTIPOS GRFICOS DE LOS ELEMENTOS SPEM actividades con sus productos de entrada y de salida, as
Elemento Estereotipo UML como los estados de flujo (Figura 7).
Activity
Algunos diagramas y notaciones utilizados por UML han
sido excluidos de SPEM y no tienen ningn significado.
Document
B. Diferencias entre SPEM 1.1 y 2.0
Guide
A pesar de ser liberada desde 2002 y tener una revisin en
Process el 2005 (SPEM 1.1), son pocas las implementaciones de SPEM
Phase 1.x en herramientas comerciales, y las que existen lo soportan
de forma parcial. La causa de esta situacin parece ser lo difcil
Process Package
que result su implementacin, adems que algunos elementos
Rol de la semntica son ambiguos [13]. La industria apenas est
reconociendo la importancia de SPEM en el mercado de las
WorkProduct
herramientas metodolgicas y tcnicas.
WorkDefinition La revisin de SPEM, pretende resolver esta situacin.
Model SPEM 2.0 es definido como un metamodelo as como un perfil
de UML 2. SPEM 2.0 utiliza el mecanismo ofrecido por la
infraestructura de UML para mezclar paquetes que
Los diagramas UML pueden ser utilizados para presentar
gradualmente construyen el metamodelo. Proporciona unidades
diferentes perspectivas de un modelo de procesos de software,
modulares que pueden ser usados como bloques de
siendo las ms tiles:
construccin para una especificacin [13].

Fig. 6. Diagrama de caso de uso [12].


Menndez Domnguez, V., Castellanos Bolaos, M. 2015. SPEM: Software Process Engineering Metamodel 95
Revista Latinoamericana de Ingeniera de Software, 3(2): 92-100, ISSN 2314-2642
Fig. 7. Diagrama de actividades [12].

SPEM 2.0 est estructurado en siete paquetes de Al basarse en UML 2.0 toma ventaja de su nueva
metamodelos principales. La estructura divide el modelo en funcionalidad en la mejora de las tcnicas y capacidades
unidades lgicas. Cada unidad extiende la unidad de la que del modelado de procesos.
depende, proporcionando estructuras y capacidades adicionales Define un nuevo esquema XML SPEM, basado en MOF
a los elementos definidos [13]: 2.0. Los esquemas XML proporcionan una mayor riqueza
1) Core: contiene las clases y abstracciones del metamodelo y control que en el DTD de XMI SPEM 1.1.
que constituyen la base para crear todas las clases de los Proporciona una gua para la migracin de modelos de
dems paquetes. procesos de SPEM 1.1 a SPEM 2.0.
2) Process Structure: Establece la base para todos los Considera la retroalimentacin de las primeras
modelos de proceso y soporta la creacin de estos en una implementaciones para identificar inconsistencias
forma fcil y flexible (Figura 8). relacionadas la funcionalidad y practicidad de SPEM 1.1.
3) Process Behavior: Representa un proceso como una Define extensiones para que SPEM utilice herramientas
estructura esttica, permitiendo anidar actividades y de automatizacin de procesos.
definir dependencias entre ellos. Establece una relacin ms estrecha con otros estndares
4) Managed Content: Establece conceptos para la gestin adicionales a UML como Business Process Definition
de descripciones y contenido textual que apoyen a los Meta-model y Business Process Runtime Interfaces.
Define extensiones al metamodelo de procesos que
conceptos de un proceso.
5) Method Content: Permite la construccin de una base de pueden ser usados tanto en los procesos de desarrollo de
software como en los procesos de ingeniera de sistemas.
conocimientos del desarrollo definiendo conceptos del
La Figura 9 presenta un diagrama de clases en SPEM 2.0,
ciclo de vida y mtodos, tcnicas y las mejores prcticas.
muestra que la tarea "Use Case Analysis" tiene entradas y
6) Process with Methods: Define estructuras para integrar
salidas que son obligatorias y opcionales y que son
procesos definidos con Process Structure con conceptos desempeadas por dos roles: "Designer", que es el rol principal
de Method Content. y "System Analyst", que es opcional. Los estereotipos pueden
7) Method Plugin: Introduce conceptos para disear y tener representaciones grficas y textuales. Para mantener
gestionar repositorios de procesos reutilizables. compatibilidad con SPEM 1.1, la mayora de los estereotipos
Las principales caractersticas y mejoras de SPEM 2.0 con tienen su contraparte (Figura 10), sin embargo, dado que
respecto a sus versiones previas son [13]: SPEM 2.0 introduce nuevos conceptos, no todos tienen su
equivalente en SPEM 1.1 (Tabla II).

96 Menndez Domnguez, V., Castellanos Bolaos, M. 2015. SPEM: Software Process Engineering Metamodel
Revista Latinoamericana de Ingeniera de Software, 3(2): 92-100, ISSN 2314-2642
Fig. 8. Taxonoma del paquete Process Structure [13].

Fig. 9. Diagrama de clases UML 2 usando el perfil SPEM 2.0 [13].

Fig. 10. El mismo diagrama de clases pero en SPEM 1.1 [13].

Menndez Domnguez, V., Castellanos Bolaos, M. 2015. SPEM: Software Process Engineering Metamodel 97
Revista Latinoamericana de Ingeniera de Software, 3(2): 92-100, ISSN 2314-2642
Es importante indicar que la Figura 10 no resulta vlida que ayudan a mejorar la calidad, disminuir los costos y cumplir
para SPEM 1.1, debido a que las definiciones de trabajo las metas.
(WorkDefinition) tienen que ser modeladas como operaciones SPEM est estructurado como un perfil UML y emplea
de los roles. En cambio, en SPEM 2.0, las tareas y actividades muchos de sus diagramas (paquetes, casos de uso, clases,
son representadas con el estereotipo Actividad. actividades, secuencias, diagramas de estado), excluye algunos
Para clarificar ms la definicin de procesos, SPEM 2.0 elementos (nodos, componentes, etctera) y agregan nuevos
utiliza diagramas de clases, de actividades y de estado (Figura estereotipos (conos).
11). El estndar SPEM est muy relacionado con UML, debido
a que ambos estn basados en la especificacin MOF. SPEM se
TABLA II. COMPARATIVA ENTRE LOS PERFILES SPEM 1.1 Y SPEM 2.0 ubica en el metamodelo que est en el nivel M2 y sirve como
Estereotipo SPEM 1.1 SPEM 2.0 plantilla para el nivel M1 de las cuatro capas arquitectnicas de
abstraccin definidas por la OMG.
Activity
El estndar SPEM 1.1 est construido dentro del paquete
Category base de SPEM, el cual es un subconjunto de UML 1.4. Los
elementos bsicos, relaciones, y estructuras son definidos en el
Guidance
paquete base. Todos los otros elementos SPEM son definidos
ProcessComponent en relacin a los elementos del paquete base a travs de
herencia. Debido a esta situacin, SPEM es definido como un
Rol
perfil (profile) UML en la documentacin de SPEM.
Step El uso de SPEM permite una descripcin abstracta de los
elementos fundamentales del proceso de software (artefactos,
Como resultado de las nuevas capacidades para la creacin roles, actividades, etc.) y la descripcin de cmo ellos estn
y gestin de procesos, las principales partes de la relacionados con otros, facilitando su uso por el equipo de
especificacin estn implementadas, por ejemplo en Eclipse desarrollo. A nivel conceptual, la principal idea de la
Process Framework. Numerosas organizaciones y compaas representacin de procesos basados en SPEM es la relacin
han anunciado que modelarn sus procesos con esta tecnologa entre tres elementos bsicos: roles de procesos que son
(Armstrong Process Group, Open Group, Number Six responsables y ejecutan actividades que consumen y producen
Software, y Telelogic). Y otras compaas (como IBM, DSDM productos de trabajo.
Consortium) han desarrollado productos comerciales. El modelado de procesos puede ser utilizado a diferentes
escalas, la ms simple: un proceso de software existente en una
III. LECCIONES APRENDIDAS compaa debera ser modelado para una representacin y
OMG propone el Metamodelo de Procesos de Ingeniera entendimiento ms claro. En el otro extremo, una gran
del Software (Software Process Enginnering Metamodel compaa puede desear controlar una biblioteca de contenidos
SPEM) para describir un proceso concreto de desarrollo de de procesos de software adems que nuevos procesos pueden
software o una familia de procesos de desarrollo de software ser creados combinando y personalizando procesos
relacionados. El propsito de SPEM es convertirse en un componentes, ya sea desarrollados internamente o por terceros.
lenguaje estndar para el modelado de procesos de software. Se pretende que SPEM permita el intercambio entre
SPEM permite modelar los procesos de desarrollo de herramientas UML y repositorios basados en MOF para el
software de una organizacin permitiendo as una desarrollo de aplicaciones. Existen trabajos relacionados a esta
comunicacin efectiva y la aceptacin por todo el equipo de temtica [19] [2].Tambin existen herramientas para el
desarrollo. Es un punto de referencia a partir del cual se puede modelado de procesos de trabajo, lo que permite representar
mejorar, gestionar y automatizar todo el proceso de desarrollo. todos los elementos del proceso y favorecer la comunicacin
Los resultados de su utilizacin son procesos bien definidos de los involucrados. Esto trae como consecuencia un modelado
sencillo y fcil de modificar.

Fig. 11. Diagrama de estados [13].

98 Menndez Domnguez, V., Castellanos Bolaos, M. 2015. SPEM: Software Process Engineering Metamodel
Revista Latinoamericana de Ingeniera de Software, 3(2): 92-100, ISSN 2314-2642
SPEM ofrece numerosas ventajas: como por ejemplo ser expresar su semntica formalmente, sea a nivel metamodelo o
independiente de la metodologa o tecnologa, estar basado en a nivel de proceso [2].
UML, adems de favorecer la comunicacin y el entendimiento La especificacin SPEM versin 1.1 publicada en enero de
de las partes involucradas en el proceso. Sin embargo tambin 2005 no ha tenido una gran aceptacin posiblemente a la falta
presenta algunas desventajas: como por ejemplo una semntica de informacin para ponerlo en prctica, adems que slo es
ambigua por estar basada en lenguaje natural. compatible con MOF 1.4 (la ltima versin es la 2.0). Otro
La versin 1.1 ofrece una sintaxis rigurosa pero formaliza punto en contra es que el metamodelo carece de una semntica
parcialmente la semntica, lo que origina algunas precisa. La versin 2.0 est en proceso de revisin y se espera
ambigedades y no ofrece ayuda sobre cmo construir un que resuelva esta situacin y tenga una gran influencia prctica
modelo de proceso. El nuevo SPEM basado en MOF 2.0 [10] [15].
proporciona una semntica ms precisa.
REFERENCIAS
IV. CONCLUSIONES [1] M. Alanen, J. Lilius, I. Porres y D. Truscan, Realizing a Model
SPEM es un estndar para el modelado de procesos de Driven Engineering process, Techreport, Turku Centre for
software propuesto por OMG en 2002. Es un lenguaje basado Computer Science, 2003. Recuperado de http://www.tucs.fi/
en UML que es independiente de la metodologa empleada. Su publications/attachment.php?fname=TR565.pdf
objetivo es hacer un estndar para el modelado de procesos de [2] B. Combemale, A. Caplain, X. Crgut y B. Coulette, Towards a
desarrollo de software que unifique a la industria. rigorous use of SPEM, ICEIS'06, Paphos(Cyprus), INSTICC,
2006. Recuperado de http://www.combemale.net/research/phd/
El uso de SPEM permite una descripcin abstracta de los 2006/iceis250406-CCCC-poster401.pdf
elementos fundamentales del proceso de software (artefactos,
[3] B. Combemale, S. Rougemaille, X. Crgut, F. Migeon, M.
roles, actividades, etc.) y la descripcin de cmo ellos estn Pantel, C. Maurel y B. Coulette. Towards a rigorous
relacionados con otros, facilitando su uso por el equipo de metamodeling, MDEIS'06, Paphos (Cyprus), INSTICC, 2006.
desarrollo [16]. Recuperado de http://www.combemale.net/research/phd/2006/
En general, sus principales caractersticas son [14] [16] [1] mdeis230406-CRCMPMC.pdf
[7] [5]: [4] N. Debnath, D. Riesco, M. P. Cota, J. B. Garcia Perez-Schofield
Independiente de la metodologa. SPEM es un y D. R. M. Uva, D.R.M. Supporting the SPEM with a UML
metamodelo para definir procesos, desde los cuales otros extended workflow metamodel, Computer Systems and
procesos pueden ser construidos. La eleccin de la Applications, IEEE, 2006, pp. 1151 1154. Recuperado de
metodologa de desarrollo que influir el tipo de proceso http://ieeexplore.ieee.org/iel5/10748/33913/01618499.pdf
es independiente de SPEM. [5] E. Domiczi, Customizing UML for software development
Basado en UML. SPEM usa una orientacin basada en process, Nordic Workshop on UML based Software
objetos y la notacin UML que es familiar a muchos Development, Ronneby (Sweden), 2003. Recuperado de
http://www.ipd.bth.se/consistencyUML/NordicWorkshop/papers
profesionales del desarrollo de software.
/Customizing%20UML%20for%20Software%20Development%
Independiente de la tecnologa. SPEM proporciona una
20Process.pdf
abstraccin completa del proceso desde la infraestructura
[6] M.-P. Gleizes, T. Millan y G. Picard, ADELFE: using SPEM
de implementacin. Esto significa que puede modelar los notation to unify agent engineering process and methodology,
procesos que mejor soporten la metodologa seleccionada, Rapport interne IRIT no IRIT/2003-10-R, 2003. Recuperado de
sin preocuparse en la tecnologa de implementacin. http://www.pa.icar.cnr.it/~cossentino/FIPAmeth/docs/rapport20
Orienta en la automatizacin de procesos. Los beneficios 03-10-R.pdf
de automatizar los procesos de desarrollo de software [7] C. Gonzalez-Perez, T. Mcbride y B. A Henderson-Sellers,
pueden ser obtenidos si estos procesos son modelados Metamodel for assessable software development
apropiadamente. SPEM est basado en estndares methodologies, Software Quality Journal, vol. 13, 2005, pp.
abiertos lo que permite usar una solucin automatizada de 195214, Springer Science + Business Media. Recuperado de
procesos de cualquier vendedor que soporte el estndar. http://www.springerlink.com/content/qm2u82716304v055/fullte
Incrementa la aceptacin del desarrollador. La aceptacin
xt.pdf
del equipo es clave para una efectiva implementacin y [8] B. Henderson-Sellers y C. A. Gonzlez-Prez, A comparison of
manejo de cualquier proceso. SPEM ofrece una vista four process metamodels and the creation of a new generic
standard, Information and Software Technology, 47, 2005, pp.
comprensiva y documentada de los procesos, de forma
4965. Recuperado de http://linkinghub.elsevier.com/retrieve
que los miembros de un equipo de desarrollo puedan /pii/S0950584904000850.
entender y utilizar.
[9] J. Hurtado y C. Bastarrica, Hacia una Lnea de Procesos giles
Se han hecho trabajos para automatizar flujos de trabajo en Agile SPsL, Universidad del Cauca, 2005. Recuperado de
WFMS (WorkFlow Management System) utilizando SPEM http://www.dcc.uchile.cl/~cecilia/papers/AgileSPsL.pdf
[19]: Los procesos de software son modelados utilizando [10] A. Jrvi y T. Mkil, Observations on modeling software
SPEM, entonces el metamodelo es transformado a la forma de processes with SPEM process components, Proceedings of The
XPDL (la interfaz estndar para la definicin de procesos que 9th Symposium on Programming Languages and Software
separa la definicin de un flujo de trabajo de su ejecucin) por Tools, 2005. Recuperado de http://www.tucs.fi/publications
un motor de transformacin, finalmente el modelo XPDL /attachment.php?fname=inpJaMa05a.pdf
resultante es entregado a un motor XPDL como Shark. [11] T. Mkil, A. Jrvi, Spemmet A tool for modelling software
Usar SPEM no es fcil porque la especificacin es muy processes with SPEM, Proceedings of the 9th International
general y no proporciona directivas sobre cmo usarla. Conference on Information Systems Implementation and
Adems, su semntica est expresada en lenguaje natural, lo Modelling (ISIM '06), Perov (Czech Republic), 2006.
que origina la construccin de modelos de procesos que a Recuperado de http://ftp.informatik.rwth-aachen.de/Publications
/CEUR-WS/Vol-180/paper09.pdf
veces son inconsistentes debido a la carencia de una definicin
formal de los conceptos. Se ha definido una especializacin de [12] Object Management Group (OMG), Software Process
Engineering Metamodel (SPEM) Specification, version 1.0
SPEM que utiliza OCL para definir los conceptos claramente y
(formal/2002-11-14), 2002. Recuperado de http://www.omg.org
Menndez Domnguez, V., Castellanos Bolaos, M. 2015. SPEM: Software Process Engineering Metamodel 99
Revista Latinoamericana de Ingeniera de Software, 3(2): 92-100, ISSN 2314-2642
[13] Object Management Group (OMG), Software Process
Engineering Metamodel (SPEM) Specification, version 2.0
RFP (ad/2004-11-04), 2004. Recuperado de http://www.omg.org
[14] OSELLUS, SPEM A standards-based approach for modeling
software development processes, 2005. Recuperado de
http://www.osellus.com/erms/resourceDetail.php?action=resour
ce&rid=12
[15] J. M. Rib y X. Franch, A precedence-based approach for
proactive control in software process modeling, Proceedings of
the 14th international Conference on Software Engineering and
Knowledge Engineering (SEKE '02), Ischia (Italy), ACM Press,
27, pp. 457-464, 2002. Recuperado de
http://doi.acm.org/10.1145/568760.568839
[16] A. Sampaio, A. Vasconcelos y P. Falcone, Towards reconciling
quality and agility in Web application development,
International Workshop on Web Quality (WQ'04), International
Conference on Web Engineering (ICWE04), Munich
(Germany), 2004. Recuperado de http://www.elet.polimi.it/
conferences/wq04/final/paper02.pdf
[17] W. Shengjun, J. Longfei y J. Chengzhi, Represent Software
Process Engineering Metamodel in Description Logic,
Proceedings of World Academy of Science, Engineering and
Technology, vol. 11, 2006, pp.109-113. Recuperado de
http://staff.icar.cnr.it/staff/ruffolo/public_html/progetti/projects/
23.Semantic%20BPM-%20in%20OntoDLP/Represent%20Soft
ware%20Process%20Engineering%20Metamodel%20in%20DL
--v11-20.pdf
[18] Y. Wautelet, M. Kolp y Y. Achbany, S-Tropos: An iterative
SPEM-Centric software project management process, 2006.
Recuperado de http://www.isys.ucl.ac.be/staff/youssef/Articles
/WP_SPEM.pdf
[19] F. Yuan, M. Li y Z. Wan, SPEM2XPDL: Towards SPEM
Model Enactment. Software Engineering Research and
Practice, 2006, pp. 240-245. Recuperado de
http://ww1.ucmss.com/books/LFS/CSREA2006/SER5202.pdf

Vctor Hugo Menndez Domnguez es Doctor en


Tecnologas Informticas Avanzadas por la
Universidad de Castilla-La Mancha (UCLM),
Espaa; tiene un Mster en Tecnologas
Informticas por la misma institucin. Adems,
cuenta con una Especializacin en Docencia y una
Licenciatura en Ciencias de la Computacin por
parte de la Universidad Autnoma de Yucatn (UADY), Mxico. Es
profesor titular en la Facultad de Matemticas de la UADY. Su
trabajo de investigacin se centra en temas relacionados con la
representacin del conocimiento y el aprendizaje, as como la gestin
de Objetos de Aprendizaje y Repositorios.

Mara Enriqueta Castellanos Bolaos es Maestra


en Gestin de Tecnologa de Informacin por la
Universidad Anhuac Mayab, Mxico, con lneas
de especialidad en Ingeniera de Software, Redes
de Computadoras y Seguridad de Sistemas.
Adems, cuenta con una Especializacin en
Docencia y una Licenciatura en Ciencias de la
Computacin por parte de la Universidad Autnoma de Yucatn
(UADY), Mxico. Es profesora de tiempo completo en la Facultad de
Matemticas de la UADY. Su trabajo de investigacin se centra en
temas relacionados con la gestin del conocimiento y la Ingeniera
Web.

100 Menndez Domnguez, V., Castellanos Bolaos, M. 2015. SPEM: Software Process Engineering Metamodel
Revista Latinoamericana de Ingeniera de Software, 3(2): 92-100, ISSN 2314-2642

También podría gustarte