Está en la página 1de 80

IEEE Computer Society Regin 9

Captulo Argentina
Programa DVP

Modelado de Procesos de Software


Jons A. Montilva C., Ph.D.
IEEE Member
Universidad de Los Andes
Facultad de Ingeniera
Escuela de Ingeniera de Sistemas
Departamento de Computacin
Mrida - Venezuela

Modelado de Procesos de Software


Contenidos:

Modelado de Procesos de Software

Introduccin
Cmo mejorar la calidad de los productos de
software?
Esta pregunta motiv el surgimiento de nuevas reas
de la Ingeniera de Software:
Aseguramiento de la Calidad del Software (SQA)
Mejoramiento de Procesos de Software (SPI)
Ingeniera de Procesos de Software (SEP)
Modelado de Procesos de Software (MPS)

Modelado de Procesos de Software

Introduccin
Aseguramiento de la Calidad del Software
(SQA)
SQA (Software Quality Assurance ) es un proceso
gerencial que persigue garantizar que:

los productos de software y

los procesos de desarrollo

cumplan con estndares y atributos de calidad


previamente establecidos

Modelado de Procesos de Software

Introduccin
El rea SQA establece los estndares y
procedimientos que la empresa necesita
para:
Incorporar y garantizar la calidad deseada en los
productos de software
Asegurar que el proceso de desarrollo de
productos de software sea:
definido,
planificado y
aplicado

Modelado de Procesos de Software

Introduccin
Mejoramiento de Procesos de Software (SPI)
SPI (Software Process Improvement) es un
proceso para:

definir,

gestionar,

optimizar e

institucionalizar los procesos de software de una


empresa

Est basado en la premisa fundamental de los


estndares ISO 9000:
9000
Si el sistema de gestin y produccin [procesos] es
correcto, el producto o servicio que ste produce tambin
ser correcto
(Schmauch, 1995)
Modelado de Procesos de Software

Introduccin
El rea SPI emplea modelos de mejora y/o
evaluacin de procesos de software
El Modelo Integrado de Madurez y Capacidad del
Instituto de Ingeniera de Software (SEI)
CMMI Capability Maturity Model Integration

El Modelo ISO 15504 de la ISO


SPICE Software Process Improvement and
Capability dEtermination

El Modelo BOOTSTRAP del Bootstrap Institute

Modelado de Procesos de Software

Introduccin
Ingeniera de Procesos de Software (SEP)
SEP (Software Engineering Process) es un rea de
conocimientos nueva de la Ingeniera de Software
que:
Est relacionada con la definicin, implementacin,
medicin y mejora del proceso mismo de Ingeniera de
Software (SWEBOK, 2004)

Modelado de Procesos de Software

Introduccin
Ingeniera de Procesos de Software (SEP)
El Cuerpo de Conocimientos de la Ingeniera de
Software (SWEBOK, 2004) identifica las
actividades fundamentales del rea SEP:

Definicin de la
Infraestructura
de Procesos

Modelado de Procesos de Software

Medicin de
de Procesos

Definicin
de Procesos

Anlisis
Cualitativo de
Procesos

Implementacin
y Cambio de
Procesos

Introduccin
El modelado de procesos est relacionado con el rea
de Definicin de Procesos
Definicin de la
Infraestructura
de Procesos

Medicin de
de Procesos

Definicin
de Procesos

Anlisis
Cualitativo de
Procesos

Implementacin
y Cambio de
Procesos

Tipos de definiciones de procesos


Marcos de Ciclos de Vida
Modelos de Ciclos de Vida
Notaciones para Definicin de Procesos
Tpico principal
de esta conferencia

Mtodos de Definicin de Procesos


Automatizacin de Procesos

Modelado de Procesos de Software

10

Modelado de Procesos de Software


Contenidos:

Modelado de Procesos de Software

11

Conceptos de Modelado de Procesos


El Concepto de Proceso
Un proceso es un conjunto estructurado de actividades
diseado para alcanzar un objetivo establecido
El Modelo Caja Negra de un proceso:

Restricciones
Insumos

Proceso

Resultados:
Productos o
Servicios

Control

Modelado de Procesos de Software

12

Conceptos de Modelado de Procesos


El Concepto de Proceso
Un proceso puede ser definido o diseado como una
jerarqua de procesos a diferentes niveles de abstraccin:

Proceso raz

P
P1

Modelado de Procesos de Software

...

Pi

...

Pi.1

...

Pi.m

P...
i.m.1

...

Pn

Pi.m.k

Subprocesos
...
Actividades
Tareas

13

Procesos de Software: Conceptos


Proceso de software
"Conjunto de actividades para:
desarrollar y mantener el software y los productos asociados
(documentos de diseo, casos de prueba, manuales de
usuario...) y
gestionar su produccin"
(SEI, 2001, pp. M1-9)

Un proceso de software es un conjunto de actividades

llevadas a cabo para gestionar, desarrollar y mantener


sistemas de software

(Acua, 2005)

Modelado de Procesos de Software

14

Procesos de Software: Conceptos


Proceso de software maduro
Un proceso de software es maduro cuando est
explcitamente documentado,
documentado gestionado, definido, medido y
continuamente mejorado

Modelado de Procesos de Software

15

Procesos de Software: Conceptos


Proceso gestionado
Es un proceso que es planificado y ejecutado de acuerdo

con polticas [establecidas por la empresa],


es monitoreado, controlado y revisado y es evaluado para
determinar su adhesin a la descripcin del proceso [modelo
de proceso]
(SEI, 2002)

Proceso definido
Es un proceso gestionado que ha sido adaptado a partir del

conjunto de procesos estandarizados establecidos por la


empresa;
tiene asociado una descripcin de procesos [modelo de
procesos] que es mantenida
(SEI, 2002)

Modelado de Procesos de Software

16

Procesos de Software: Conceptos


Modelado de procesos de software
Es una actividad mediante la cual un
proceso de software es representado o
descrito (definido) usando lenguajes
apropiados que faciliten:
la comunicacin de esa representacin,
su documentacin,
la comprensin del proceso.

Su producto es un modelo de procesos

de software

Modelado de Procesos de Software

17

Modelado de Procesos de Software


Modelo de procesos de software
Es una abstraccin o representacin (textual, grfica o
formal) en la que se capturan los aspectos ms importantes
de un proceso de software
Es aplicable a un proyecto particular o a una familia de
proyectos
Es una representacin descriptiva de:

las actividades,
los recursos,
los productos,
los actores y
las reglas

que el proceso requiere para alcanzar sus objetivos

Modelado de Procesos de Software

18

Procesos de Software: Conceptos


Estructura de un proceso
de software
Un proceso de software
tiene una estructura
jerrquica formada por:
Subprocesos
Conjunto estructurado de
otros subprocesos o
actividades

cd Estructura de un proceso

Proceso
+compuesto_por
0..*

0..*

Actividad

Actividades
Conjunto organizado de
acciones
Tienen asociado un flujo
de trabajo

0..*

Tarea

Tareas o acciones
Unidad bsica de accin
Modelado de Procesos de Software

19

Procesos de Software: Conceptos


Ejemplo de una estructura de un proceso de
desarrollo de software
<<proceso>>

Desarrollo de Software

<<proceso>>

<<proceso>>

<<proceso>>

<<proceso>>

<<proceso>>

<<proceso>>

Modelado de Negocios

Ingeniera de Requisitos

Diseo del Sistema

Implementacin

Pruebas

Instalacin

Modelado de Procesos de Software

<<proceso>>

<<proceso>>

Diseo Arquitectnico

Diseo Detallado

<<proceso>>

<<proceso>>

<<proceso>>

Diseo de la Interfaz U/S

Diseo de Programas

Diseo de Datos

20

Procesos de Software: Conceptos


Categoras de procesos de software segn ISO/IEC- 15504
cd Categoras de procesos

Proceso

Proceso de
Adquisicin

Proceso de
Infraestructura

Proceso de
Suministro

Proceso de
Mejora

Proceso de
Ingeniera

Proceso de
Gestin

Proceso de
Operacin

Modelado de Procesos de Software

Proceso de
Soporte

21

Procesos de Software: Conceptos


Algunas subcategoras de procesos de software
Proceso de Software

Proceso de
Ingeniera

Proceso de
Soporte

Proceso de
Gestin

Proceso de
Mejora

Modelado de
Negocio

Gestin de la
Configuracin

Planificacin
del Proyecto

Modelado de
Procesos

Aseguramiento
de la Calidad

Organizacin
del Proyecto

Evaluacin de
Procesos

Ingeniera de
Requisitos
Diseo
Arquitectnico
Diseo
Detallado
Construccin &
Integracin

Gestin de
Riesgos

Verificacin
& Validacin

Pruebas de
Software

Direccin
del Proyecto

Mejoramiento de
Procesos

Administracin de
Recursos del
Proyecto

Capacitacin
Entrega del
Software

Control del
Proyecto

Mantenimiento de
Software

Modelado de Procesos de Software

22

Procesos de Software: Conceptos


Categoras (reas) de procesos de software segn CMMI

Modelado de Procesos de Software

23

Procesos de Software: Conceptos


Categoras de procesos del estndar IEEE-1074
El estndar IEEE-1074
establece, tambin,
categoras de procesos
de software
Este estndar
proporciona un marco
metodolgico para el
diseo de modelos y
mtodos de software
Emplea tres niveles
jerrquicos:
Grupos de procesos
Procesos
Actividades
Modelado de Procesos de Software

Process Group

Processes

Life Cycle Modeling

Selection of a Life Cycle Model

Project Management

Project Initiation
Project Monitoring and Control
Software Quality Management

Pre-development

Concept Exploration
System Allocation

Development

Requirements
Design
Implementation

Post-development

Installation
Operation & Support
Maintenance
Retirement

Integral Process

Verification and Validation


Software Configuration
Management
Documentation Development
Training
24

Modelado de Procesos de Software


Contenidos:

Modelado de Procesos de Software

25

Modelado de Procesos de Software


El modelado de procesos de software produce
mtodos y modelos de procesos de software para:
Desarrollo, operacin y/o mantenimiento de software
Adquisicin, instalacin y/o evaluacin de software
Gestin, mejoramiento y/o modelado de procesos de
software
Reutilizacin de software
Etc.

Modelado de Procesos de Software

26

Niveles de Modelado

Existen tres niveles de abstraccin para modelar procesos de


software

1.

Nivel de Proceso

Consiste en el modelado de un proceso especfico

2.

Nivel de Modelo de Procesos

Consiste en el modelado de un proceso genrico (modelo de procesos)


aplicable a una familia de procesos

3.

Ejemplo: El proceso de desarrollo de la aplicacin X

Ejemplo: El modelo de procesos RUP para el desarrollo

Nivel de Metamodelos de Procesos

Consiste en el modelado de metamodelos de procesos

Ejemplo: El metamodelo UPM usado para modelar RUP

Modelado de Procesos de Software

27

Niveles de Modelado
Los tres niveles de modelado se relacionan a travs
de los productos que generan

Metamodelo de Proceso
usado para modelar

Modelo de Proceso
usado para modelar

Proceso
Modelado de Procesos de Software

28

Metamodelo de Proceso
Un Metamodelo de Procesos
describe un conjunto de
conceptos genricos y sus
interrelaciones, que sirven de
base para la definicin de
Modelos de Procesos
Mediante el uso de metamodelos
de procesos se crean modelos de
procesos
Ejemplo:
Los metamodelos SPEM y UPM son
utilizados para crear modelos de
procesos
Modelado de Procesos de Software

29

Ejemplo de Metamodelo
El metamodelo UPM Unified Process Model
UPM es un modelo conceptual que define el conjunto de
elementos de modelado que se emplearon para disear el
modelo de procesos RUP (Rational Unified Process)
TextualDescription

ActivityType

ProcessElement

WorkerType

ArtifactType

Person

WorkflowType

GuidanceType

LifeCycleType

ToolType

ConditionType

(Krutchen, 1999)
Modelado de Procesos de Software

30

Modelo de Proceso
Los Modelos de Procesos se construyen mediante
instanciacin de los conceptos de un metamodelo
de procesos
Esta instanciacin es determinada por las
caractersticas propias del modelo que se quiere
elaborar
Sus objetivos, su dominio de aplicacin, su entorno, etc.

En el diseo del modelo de procesos se debe:


respetar las relaciones entre los diferentes conceptos
definidos en el metamodelo
En el diseo de RUP se respetaron las relaciones entre los
conceptos de UPM

Modelado de Procesos de Software

31

Ejemplo de Modelo de Proceso


El Modelo de Procesos RUP
Tipos de
Trabajadores
(Worker Types)

Un Tipo de Flujo de Trabajo de RUP


(Workflow Type)

Tipos de
Actividad
(Activity
Types)
Modelado de Procesos de Software

Tipos de
Artefactos
(Artifact Types)

32

Proceso
El proceso es el resultado de la instanciacin
de los conceptos definidos en el modelo de
proceso
Esta instanciacin representa el proceso
definido para (y/o seguido por) un proyecto
actividad particular
Ejemplo:
Instanciacin de RUP para desarrollar una
aplicacin web especfica XYZ
El resultado es un proceso definido que el Grupo de
Desarrollo debe seguir o sigue para desarrollar XYZ
Modelado de Procesos de Software

33

Lenguajes de modelado de procesos


Los lenguajes visuales de modelado mejoran
significativamente la calidad de los modelos de
procesos de software
Permiten representar con mayor claridad la estructura,
dinmica y funcionalidad del proceso
Mejoran la comunicacin del proceso entre los actores

UML es el lenguaje de mayor uso en el modelado de


procesos de software
Nuevos lenguajes y notaciones:
UML Business
BPMN

Modelado de Procesos de Software

34

Lenguajes de modelado de procesos


Qu aspectos de los procesos deben modelar los lenguajes
Vistas del proceso
Funcional

Qu hace el proceso

Estructural
Cuales son los
elementos que
componen el proceso

Comportamiento

Como opera el proceso

Modelado de Procesos de Software

Objetos del proceso


Objetivos
Actividades
Actores
Recursos
Productos
Herramientas
Reglas

35

UML Business y BPMN


UML Business y BPMN son dos lenguajes de
modelado orientados a la representacin de sistemas
de negocios
UML Business es una extensin del lenguaje UML
propuesta por Eriksson & Penker (2000)
BPMN es una notacin para el modelado de sistemas
de negocios propuesta por el consorcio BPMI
BPMI - Business Process Management Initiative

Modelado de Procesos de Software

36

UML Business
UML Business
Extensin del lenguaje UML desarrollada por Hans
Eriksson y Magnus Penker (2000)

Caractersticas:
Est orientada al modelado de procesos de negocio
Extiende el lenguaje UML:
Incorpora nuevos smbolos para modelar procesos de
negocio
Emplea estereotipos para agregar mayor semntica a los
smbolos utilizados

Usa la cadena de valor de Michael Porter para modelar


procesos de negocio al ms alto nivel
Emplea la descomposicin funcional
Descompone cada proceso de la cadena de valor en subprocesos de ms bajo nivel
Modelado de Procesos de Software

37

UML Business
UML Business modela la estructura del proceso como una
jerarqua de subprocesos que parten de una cadena de valor
Proceso A

Proceso B

Proceso

Proceso D

Proceso

C.1

Actividad C.2.2.2

Nivel 1

Proceso

C.2.2

si

Actividad C.2.2.4

Proceso C.2.2

no

Modelado de Procesos de Software

Nivel 2

C.2.3

?
Actividad C.2.2.3

Nivel 0:
Cadena de Valor

C.3

Proceso

C.2.1

Proceso D

Proceso

C.2

Proceso

Actividad C.2.2.1

Proceso C

Nivel 3:
Actividades

Actividad C.2.2.5

38

UML Business
Diagrama del Proceso:
Notacin de Eriksson y Penker para modelar un proceso de negocio

Objetos que
controlan

<<regla>>
nombre

<<actor>>
nombre

<<controla>>

<<informacin>>
nombre

<<objetivo>>
descripcin

<<controla>>

<<cumple>>

Fin que se
persigue
Productos o
servicios
prestados

<<proceso>>

nombre

<<objeto>>
nombre

<<objeto>>
nombre

<<suple>>

Objetos o
insumos que
se transforman

Modelado de Procesos de Software

<<objeto>>
nombre

<<suple>>

<<informacin>>
nombre

Objetos o recursos
requeridos o
usados (no
transformados)

39

UML Business
En UML Business, cada proceso de la jerarqua se puede
describir separadamente
<<reglas de negocio>>

Controles

Mtodo MD-SIA

Proceso de desarrollo de la
aplicacin

<<objetivo>>
<<actor>>

Normas, estndares y proced. de


codificacin y pruebas

Plan del Proyecto

Planes V&V, SCM y SQA

Lder de
Desarrollo de
la Aplicacin

Documentos de
Diseo

Plan de Pruebas

Construccin &
Integracin
<<apoya>>

<<actor>>
Grupos de
Implementacin y Pruebas
Grupo

SQA

Grupo SCM

Modelado de Procesos de Software

<<participa>>

Recursos

<<documento>>

<<proceso>>

<<documento>>

<<persigue>>

<<controla>>

<<regula>>

EntradaProcesoSalida

Producir e integrar
los componentes
arquitectnicos
de la Aplicacin

<<datos>>

Documento de
Implementacin
Manuales de Uso
y Mantenimiento

<<sistema>>
Aplicacin SIA
Ensamblada

<<documento>>

BDC-SIA

Modelo del Dominio

Otras aplicaciones
SIA

Documento de Requisitos

Documentacin de la
plataforma H/S: ArcGIS,
ORACLE, etc.

40

Business Process Modeling Notation


BPMN

Modelado de Procesos de Software

41

Business Process Modeling Notation


Los diagramas BPMN modelan flujos de trabajo de
una actividad

Modelado de Procesos de Software

42

Unidad 3:
Modelado de Procesos de Software
Contenidos:

Modelado de Procesos de Software

43

MPS:
Un Mtodo de Modelado de Procesos de Software
El Mtodo MPS
Es un mtodo para el modelado de procesos de software
Su objetivo es orientar a los Ingenieros de Procesos
En la elaboracin de los modelos de procesos de software que
su empresa requiere

Es aplicable a cualquier categora de procesos de software


El mtodo WATCH (Montilva & Barrios, 2003) fue elaborado
usando este mtodo
Publicado in extenso en (Montilva & Barrios, 2006)

Modelado de Procesos de Software

44

MPS:
Un Mtodo de Modelado de Procesos de Software
Caractersticas del Mtodo MPS
Tiene una estructura bien definida que facilita su aplicacin
Consta de tres modelos relacionados que describen:
Las caractersticas de los modelos de procesos (producto)
producto
El proceso que se debe seguir para disear un modelo de procesos
Los actores (roles) que intervienen en el modelado de procesos

Emplea lenguajes de modelado ampliamente conocidos:


UML 2.0
UML Business
BPMN

Es fcil de usar
Es orientado a objetos y prescriptivo

Modelado de Procesos de Software

45

MPS:
Un Mtodo de Modelado de Procesos de Software
Estructura del Mtodo MPS
MPS consta de tres modelos relacionados:
9 El Modelo de Productos MPS
Describe a los modelos de
procesos como un producto
del mtodo

cd Estructura del MPS

Mtodo MPS

9 Modelo de Actores MPS


Describe los actores (roles)
que deben participar en el
modelado de procesos

9 El Modelo de Procesos MPS

Modelo de
Productos

Modelo de
Actores

Modelo de
Procesos

Describe las actividades


necesarias para elaborar un
modelo de procesos

Modelado de Procesos de Software

46

MPS:
Un Mtodo de Modelado de Procesos de Software
El Modelo de Productos del MPS
Es una conceptualizacin de los productos que se pueden
elaborar siguiendo el mtodo MPS
Representa los elementos (objetos) que estn presentes en los
modelos de procesos de software que se elaboran usando MPS
Es un meta-modelo de procesos de software
Equivalente o similar a SPEM (2002) y UPM (1999)
Est representado mediante Diagramas de Clases en UML

Para que sirve?


Identificar los elementos que deben estar presentes en un
modelo de procesos
Actar como un patrn estructural que es usado para disear
un modelo de procesos

Modelado de Procesos de Software

47

MPS:
Un Mtodo de Modelado de Procesos de Software
El Modelo de Productos del MPS

Modelado de Procesos de Software

48

MPS:
Un Mtodo de Modelado de Procesos de Software
El Modelo de Productos del MPS (cont.)

Modelado de Procesos de Software

49

MPS:
Un Mtodo de Modelado de Procesos de Software
El Modelo de Productos del MPS (cont.)

Modelado de Procesos de Software

50

MPS:
Un Mtodo de Modelado de Procesos de Software
El Modelo
de
Productos
del MPS
(cont.)

Modelado de Procesos de Software

51

MPS:
Un Mtodo de Modelado de Procesos de Software
El Modelo de Actores del MPS
Establece el conjunto de roles y responsabilidades
que tienen los actores involucrados en el modelado de procesos
de software

En la elaboracin de modelos de procesos complejos


participa un equipo de trabajo
A este equipo se le denomina Grupo de Procesos de Ingeniera
de Software (GPIS)
El tamao del GPIS depende de la complejidad y extensin del
modelo que se quiere producir

Modelado de Procesos de Software

52

MPS:
Un Mtodo de Modelado de Procesos de Software
El Modelo de Actores del MPS

Roles

Responsabilidades

Lder del
Grupo de
Modelado
(GPIS)

Planificar, organizar, dirigir, administrar y


controlar el proyecto de modelado de procesos de
software.

Ingeniero
de Procesos

Utilizar los modelos de productos, procesos y


recursos del MPS para disear el modelo de
procesos de software requerido.

Coordinar, comunicar y tomar decisiones con


respecto al proyecto de modelado.

Ingeniero
Aportar su conocimiento del proceso de software
de Software para disearlo.
Validar el modelo de proceso elaborado.
Modelado de Procesos de Software

53

MPS:
Un Mtodo de Modelado de Procesos de Software
El Modelo de Procesos del MPS
Describe las actividades que el Grupo de Modelado (GPIS)
debe realizar para construir modelos de procesos de
software.
Es un conjunto ordenado y estructurado de actividades que
indican:
Las acciones que el GPIS debe realizar y
El orden en que estas acciones deben ejecutarse

Modelado de Procesos de Software

54

MPS:
Un Mtodo de Modelado de Procesos de Software
ad Activ ity Diagram

El Modelo
de Procesos
del MPS

Definir objetivos,
alcance y
requisitos del
proceso

Inicio

Modelo de
Productos MPS

Establecer
caractersticas
de los productos

Descomponer
jerrquicamente
el proceso

Modelo de
Procesos MPS

Modelo de
Actores MPS

Definir actores y
responsabilidades

Definir recursos
requeridos

Describir
subprocesos

Seleccionar
reglas y mtricas

Describir
actividades

Ensamblar
modelo del
proceso

Validar modelo
del proceso

Fin

Modelo del proceso


de software

Modelado de Procesos de Software

55

El Modelo de Procesos del MPS


Actividad 1: Definicin de objetivos, alcance y
requisitos del modelo

Consiste en definir:

Objetivos del modelo de procesos de software que se pretende


disear y describir

Alcance del modelo

Que aplicaciones, reas de negocio. procesos de negocio cubre el


modelo

Requisitos que debe satisfacer

Que caractersticas generales debe tener el modelo

Modelado de Procesos de Software

56

El Modelo de Procesos del MPS


Caso de estudio:
Un Modelo de Procesos para Gestin de Riesgos (GR)
Actividad 1: Definir objetivos, alcance y requisitos del modelo
Objetivo del modelo de procesos GR:
Describir un proceso GR estndar para que los lderes de
proyectos de la empresa puedan manejar, eficaz y eficientemente,
los riesgos que afectan a los proyectos de desarrollo de la
empresa.

Alcance:
El conjunto de todas las aplicaciones que desarrolla la empresa

Requisitos:
Debe ser simple, conciso y bien documentado
Debe describirse grficamente usando UML y/o sus perfiles
Debe estar fundamentado en el estndar de gestin de proyectos
PMBOK del PMI
Modelado de Procesos de Software

57

El Modelo de Procesos del MPS


Actividad 2: Establecer las caractersticas del
producto
Consiste en especificar el conjunto de elementos que el
modelo debe incluir
Para ello, se usa el Modelo de Productos MPS que describe
los elementos que un modelo debe poseer
Se selecciona un subconjunto de elementos del metamodelo
usando varios criterios:
La categora del modelo que se va a elaborar
Los requisitos establecidos en la actividad 1
Las caractersticas de la empresa

El submodelo seleccionado describe la estructura que deber


tener el modelo que se est diseando

Modelado de Procesos de Software

58

El Modelo de Procesos del MPS


Caso de estudio: MP de Gestin de Riesgos
Actividad 2: Establecer las caractersticas del producto MP-GR

-p
ro
du
ce

A partir del metamodelo MPS, se seleccion el siguiente


submodelo que describe la estructura que tendr el modelo de
gestin de riesgos

-sigue

Modelado de Procesos de Software

59

El Modelo de Procesos del MPS


Actividad 3: Descomponer jerrquicamente el
proceso
Consiste en elaborar la estructura jerrquica del proceso
El proceso que se quiere modelar se descompone en
subprocesos, actividades y/o tareas
El nmero de niveles de descomposicin depende de la
complejidad, alcance y magnitud del proceso
La estructura jerrquica resultante debe cumplir las
siguientes caractersticas:
Debe estar balanceado
No deben haber ramas ms profundas que otras

Los subprocesos, actividades o tareas de un mismo nivel deben


ser coherentes, complementarios y completos

Modelado de Procesos de Software

60

El Modelo de Procesos del MPS


Caso de estudio: MP de Gestin de Riesgos
Actividad 3: Descomponer jerrquicamente el proceso GR

od Business Process Model

Gestin de
Riesgos

Planificacin de
la Gestin de
Riesgos

Identificacin de
Riesgos

Modelado de Procesos de Software

Anlisis
Cualitativo de
Riesgos

Estructura Jerrquica
del Proceso

Anlisis
Cuantitativo de
Riesgos

Planificacin de
Respuestas a
Riesgos

Monitoreo y
Control de
Riesgos

61

El Modelo de Procesos del MPS


Actividad 4: Definir actores y responsabilidades
Consiste en determinar los actores (roles) que deben llevar a
cabo el proceso que se est modelando
Se establecen, tambin, las responsabilidades que cada uno de
estos roles tiene asociado

En procesos complejos y de amplio alcance:


Se debe establecer una estructura organizacional (organigrama)
que muestre como los actores, que ejecutarn el proceso, se han
de organizar

Modelado de Procesos de Software

62

El Modelo de Procesos del MPS


Caso de estudio: MP de Gestin de Riesgos
Actividad 4: Definir actores y responsabilidades

La Gestin de Riesgo es un proceso gerencial que lo


ejecutan lderes o gerentes de proyectos de software
En este caso, se identificaron dos actores diferentes:
Lder del Proyecto
Es responsable de ejecutar las actividades tcnicas y gerenciales
del proceso de gestin de riesgos

Gerente de Sistemas
Se encarga de validar, aprobar o rechazar los planes de
contingencia y las acciones de mitigacin de riesgos que el Lder
del Proyecto proponga

El Lder del Proyecto reporta al Gerente de Sistemas

Modelado de Procesos de Software

63

El Modelo de Procesos del MPS


Actividad 5: Definir los recursos requeridos por los
procesos
La ejecucin de un proceso de software requiere un
conjunto de recursos de diferente naturaleza:
Recursos humanos
Materiales
Financieros y
Tecnolgicos

En esta actividad, se identifica los tipos de recursos que el


modelo de procesos recomienda como recursos necesarios
para ejecutar sus procesos

Modelado de Procesos de Software

64

El Modelo de Procesos del MPS


Caso de estudio: MP de Gestin de Riesgos
Actividad 5: Definir los recursos requeridos por los procesos GR
Los procesos de gestin de riesgos consumen muy pocos recursos:
Humanos:
Lder de Proyecto y
Gerente de Sistemas (o similar)

Tecnolgicos:
Herramienta especializada para la gestin de riesgos y/o
Un sistema de gestin de proyectos

Modelado de Procesos de Software

65

El Modelo de Procesos del MPS


Actividad 6: Seleccionar las reglas y mtricas
Consiste en determinar el conjunto de reglas y mtricas que
el modelo de procesos recomienda aplicar
Esto es:
Las reglas que cada proceso instanciado debe cumplir
Las mtricas que se emplearn para medir diferentes aspectos de
cada proceso instanciado

Recordar que:
Un modelo de procesos es usado para instanciar el proceso
particular de un proyecto
Las reglas y mtricas las propone el modelo que se est diseando,
pero las aplican sus procesos instanciados

Modelado de Procesos de Software

66

El Modelo de Procesos del MPS


Caso de estudio: MP de Gestin de Riesgos
Actividad 6: Seleccionar las reglas y mtricas
El modelo de gestin de riesgos propone la aplicacin de las
siguientes reglas y mtricas para sus procesos instanciados:
Estndares:
Aquellos establecidos por el PMBOK del PMI

Mtricas:
Nmero de riesgos identificados para cada proyecto
Nmero de riesgos que acontecieron por unidad de tiempo durante
la ejecucin de cada proyecto
Costo de mitigacin de cada riesgo acontecido
Costo promedio de mitigacin de riesgos por proyecto

Modelado de Procesos de Software

67

El Modelo de Procesos del MPS


Actividad 7: Describir subprocesos
Cada subproceso de la estructura jerrquica del proceso que
se modela debe ser descrito en trminos de:
Su objetivo
Sus entradas y salidas
Las reglas que debe cumplir
Los recursos que requiere
Los actores que lo controlan

El diagrama de procesos de UML Business es un medio


excelente para describir grficamente los subprocesos.

Modelado de Procesos de Software

68

El Modelo de Procesos del MPS


Caso de estudio: MP de Gestin de Riesgos
Actividad 7: Descripcin de subprocesos del MP-GR
od Descripcin de Subproceso

regla
Plan de Gestin
de Riesgos

actor
Gerente de
Sistemas
regula

Lista de Riesgos
Identificados

Modelado de Procesos de Software

controla

cumple

Anlisis Cualitativo
de Riesgos

ejecuta

recurso
Lder del
Proyecto

objetivo
Establecer las
prioridades de los
riesgos identificados

aplica

recurso
Listas de Chequeo
de Riesgos

Matriz de
Riegos
Priorizados

aplica

recurso
Tcnicas de Anlisis
de Riesgos

69

El Modelo de Procesos del MPS


Actividad 8: Describir actividades
Consiste en modelar cada subproceso de ms bajo nivel en
la estructura jerrquica del proceso
Los subprocesos se modelan como flujos de trabajo
Un flujo de trabajo es un conjunto estructurado de actividades
que son ejecutadas por actores para alcanzar el objetivo
establecido para el subproceso
El flujo de trabajo muestra la secuencia, repeticin, paralelismo
y seleccin de las actividades

Las actividades de un subproceso se pueden modelar


usando:
Diagramas de actividades en UML 2.0
Diagramas BPMN (Business Process Modeling Notation)

Modelado de Procesos de Software

70

El Modelo de Procesos del MPS


Caso de estudio: Proceso de Gestin de Riesgos
Actividad 8: Describir actividades de cada subproceso
cd Diagrama de activ idades de GR

Lista de Riesgos
Identificados

Establecer la
probabilidad de
ocurrencia de
cada riesgo

Clasificar los
riesgos
identificados

Inicio

Establecer la
prioridad de cada
riesgo
Determinar el
impacto de cada
riesgo
Elaborar la Matriz
de Riesgos

Actividades del
Subproceso:
Anlisis Cualitativo
de Riesgos
Modelado de Procesos de Software

Validar la Matriz de
Riesgos

Fin

Matriz de
Riesgos

71

El Modelo de Procesos del MPS


Actividad 9: Ensamblar el modelo de procesos
Consiste en:
Organizar la coleccin de diagramas, notas y dems productos
que se han elaborado en las actividades anteriores
Definir una estructura para elaborar el documento que
contendr el modelo de procesos
Redactar el documento que describe el modelo de procesos

Modelado de Procesos de Software

72

El Modelo de Procesos del MPS


Actividad 10: Validar el modelo de procesos
elaborado
El modelo del proceso elaborado se somete a una revisin
tcnica para encontrar:
inconsistencias,
defectos o
incumplimiento de estndares.

Estos problemas deben ser corregidos antes de liberar el


modelo como un producto final del proceso de modelado

Modelado de Procesos de Software

73

Modelado de Procesos de Software


Contenidos:

Modelado de Procesos de Software

74

Modelado de Procesos de Software


Conclusiones
1. Modelar los procesos de software se ha convertido en una
actividad de Ingeniera de Software tan importante como
la de desarrollar software
2. Un proceso de software es maduro cuando est
explcitamente documentado,
documentado gestionado, definido,
definido medido
y continuamente mejorado

Para definir y documentar un proceso se requiere modelarlo

3. El modelado de un proceso requiere:

Un proceso de modelado (preferiblemente un mtodo)

El uso de lenguajes de modelado apropiado

Modelado de Procesos de Software

75

Modelado de Procesos de Software


Conclusiones
4. El modelado de procesos de software es una actividad
compleja que requiere:

Un personal especializado

Ingenieros de Procesos Ingenieros de Mtodos

Una infraestructura establecida

Herramientas de modelado apropiada


Una unidad organizacional o equipo de trabajo permanente
Grupo de Procesos de Ingeniera de Software (GPIS)

5. MPS es un mtodo para modelar procesos de software de


cualquier categora
6. MPS describe lo que el Grupo de Procesos de Ingeniera de
Software (GPIS) debe hacer para definir y documentar los
procesos de software de su empresa

Modelado de Procesos de Software

76

Referencias Bibliogrficas

Acua, S and Juristo, N. (Eds.) Software Process Modeling. Springer Science + Business
Media, Inc.2005.

Becker, U., Hamann, D., and Verlage, M. Descriptive Modeling of Software Processes.
Fraunhofer Institute for Experimental Software Engineering, ISERN Bibliography of
Technical Reports, ISEN-97-10, Germany, 1997.

Business Process Management Initiative. Business Process Management Notation (BPMN).


Version 1.0, BPMi.org. May, 2004.

Brinkkemper, S., 1996. Method engineering: Engineering of information systems


development methods and tools. Information and Software Technology, 38, 275--280.

Booch, G., Rumbaugh, J. and Jacobson, I. The Unified Modeling Language User Guide,
Addison-Wesley. 1999.

Collofello, J., Yang, Z., Merrill, D., Rus, I., and Tvedt, J. Modeling Software Testing
Processes. Proc. of the International Phoenix Conference on Computers and
Communications (IPCCC'96), 1996. http://www.eas.asu.edu/~sdm/publications.html

Eriksson, H. E. and Penker, M. Business Modeling with UML: Business Patterns at Work,
John Wiley & Sons, New York. 2000.

Eriksson, H-E, Penker, M. Lyons, B. and Fado, D. UML 2 Toolkit. Wiley, 2004.

European Software Institute. Introduccin a la Mejora de Procesos. Manual del Estudiante.


2001.

Modelado de Procesos de Software

77

Referencias Bibliogrficas

Houston, D. System Dynamics Modeling and Simulation of Software Development: A


Tutorial, [On-line], Arizona State University, 1996.
http://www.eas.asu.edu/~sdm/publications.html

ISO.SPICE. SPICE document suite (SPICE Version 1). Part 9: Vocabulary. The SPICE
Project. [en lnea]. 2005 http://www.isospice.com/spice/spiceproject.htm

IEEE Guide to the Sofware Engineering Body of Knowledge SWEBOK. Trial Version 1.0
IEEE Computer Society, May 2001, Chapter 9.

Jarke M, Rolland C, Sutcliffe A, Dmges R. The NATURE of Requeriments Engineering.


Shaker Verlag. Aachen, 1999

Kruchten, P. The Rational Unified Process: An Introduction. Addison Wesley. 2000.

Kruchten, P. Unified Process Model (UPM) -A Model of the Rational Unified Process.
Technical Report. Rationa. 1999.

Kuvaja, P., J. Simila, L. Krzanik, A. Bicego, G. Koch and S. Saukonen,Software Process


Assessment and Improvement: the BOOTSTRAP approach, Blackwell Publishers, Oxford,
UK, 1994.

Marshall, C. Enterprise Modeling with UML. Addison-Wesley, Reading, MA (2000)

Montilva, J. and Barrios, J. A Component-Based Method for Developing Web Applications.


5th International Conference on Enterprise Information Systems. Angers, France, April,
2003.

Montilva, J. Besembel, I, Prez, M y Losavio, F. Sistemas de Informacin e Ingeniera de


Software: Temas Selectos. Centro de Estudios en Informtica, Mrida, 2004.

Modelado de Procesos de Software

78

Referencias Bibliogrficas

Montilva, J. y Barrios, J. Mejorando la calidad del software a travs del Modelado de


Procesos. Actas del Congreso rea Andina - IEEE 2006 ANDESCON2006. Quito, Ecuador,
Noviembre, 2006.

Montilva, J. and Barrios, J. BMM: A Business Modeling Method for Information Systems
Development. CLEI Electronic Journal. 2005.

Object Management Group. Software Process Engineering Metamodel Specification


(SPEM). Version 1.0, November, 2002.

Odell, J.J., 1996. A Primer to Method Engineering. INFOSYS: The electronic newsletter for
information systems. 3 (19).

Pfleeger, S.L. Software Engineering-Theory and Practice. Chap. 4. Prentice-Hall, 1998.


Rolland C, A primer for method engineering. Acets du Congrs INFORSID 1997, Toulouse,
France, June 1997
Schmauch, Ch. ISO 9000 for Software Developers., ASQC Quality Press, Wisconsin, 1995.

SEI. Capability Maturity Model Integration (CMMI), Version 1.1. Software Engineering
Institute, (Report: CMU/SEI-2002-TR-012) March, 2002.

Thayer, R. and Dorfman, M. Software Engineering Vol.1: The Development Process. 2nd.
Edition. IEEE Computer Society. 2002.

Williams, L. Software Process Modeling: A Behavioral Approach. Proceedings of the 10th


International Conference on Software Engineering, Singapore, 1988. pp. 174 186.

Modelado de Procesos de Software

79

Modelado de Procesos de Software

Jons Montilva C., 2006. Derechos Reservados.


jonas@ula.ve
http://webdelprofesor.ula.ve/ingenieria/jonas
Modelado de Procesos de Software

80