Conferencia Modelado de Procesos SW

80
1 IEEE IEEE Computer Computer Society Society Región 9 Región 9 Capítulo Argentina Capítulo Argentina Programa DVP Programa DVP Modelado de Procesos de Software Jonás A. Montilva C., Ph.D. IEEE Member Universidad de Los Andes Facultad de Ingeniería Escuela de Ingeniería de Sistemas Departamento de Computación Mérida - Venezuela

description

procesos

Transcript of Conferencia Modelado de Procesos SW

  • 1

    IEEE IEEE ComputerComputer SocietySociety Regin 9Regin 9Captulo ArgentinaCaptulo Argentina

    Programa DVPPrograma 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 2

    Modelado de Procesos de Software

    Contenidos:Contenidos:

  • Modelado de Procesos de Software 3

    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 4

    Introduccin

    Aseguramiento de la Calidad del Software Aseguramiento de la Calidad del Software (SQA)(SQA)

    SQA (SQA (Software Quality AssuranceSoftware Quality Assurance )) es un proceso gerencial que persigue garantizar que:

    los productos productos de software y los procesosprocesos de desarrollo

    cumplan con estndares y atributos de calidadestndares y atributos de calidadpreviamente establecidos

  • Modelado de Procesos de Software 5

    Introduccin

    El rea SQA establece los estndares y estndares y procedimientosprocedimientos que la empresa necesita para:

    Incorporar y garantizar la calidadcalidad deseada en los productos de software

    Asegurar que el proceso de desarrolloproceso de desarrollo de productos de software sea:

    definido, planificado y aplicado

  • Modelado de Procesos de Software 6

    Introduccin

    Mejoramiento de Procesos de Software (SPI)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 9000ISO 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 7

    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 8

    Introduccin

    Ingeniera de Procesos de Software (SEP)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 9

    Introduccin

    Ingeniera de Procesos de Software (SEP)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 laInfraestructura

    de Procesos

    Medicin de de Procesos

    Definicin de Procesos

    AnlisisCualitativo de

    Procesos

    Implementaciny Cambio de

    Procesos

  • Modelado de Procesos de Software 10

    Introduccin

    El modelado de procesos est relacionado con el rea de Definicin de Procesos

    Definicin de laInfraestructura

    de Procesos

    Medicin de de Procesos

    Definicin Definicin de Procesosde Procesos

    AnlisisCualitativo de

    Procesos

    Implementaciny Cambio de

    Procesos

    Tipos de definiciones de procesos

    Marcos de Ciclos de Vida

    Notaciones para Definicin de Procesos

    Mtodos de Definicin de Procesos

    Automatizacin de Procesos

    Modelos de Ciclos de Vida

    Tpico principal de esta conferencia

  • Modelado de Procesos de Software 11

    Modelado de Procesos de Software

    Contenidos:Contenidos:

  • Modelado de Procesos de Software 12

    Conceptos de Modelado de Procesos

    El Concepto de ProcesoUn proceso es un conjunto estructurado de actividadesdiseado para alcanzar un objetivo establecidoEl Modelo Caja Negra de un proceso:

    Proceso

    Restricciones

    Resultados:Productos o Servicios

    Insumos

    Control

  • Modelado de Procesos de Software 13

    Conceptos de Modelado de Procesos

    El Concepto de Proceso

    Un proceso puede ser definido o diseado como unajerarqua de procesos a diferentes niveles de abstraccin:

    Proceso raz

    Subprocesos

    Actividades...

    P

    Pi.mPi.1

    PnPiP1 ...

    ...

    ...

    ... Pi.m.kPi.m.1 ... Tareas

  • Modelado de Procesos de Software 14

    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 15

    Procesos de Software: Conceptos

    Proceso de software maduro

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

  • Modelado de Procesos de Software 16

    Procesos de Software: Conceptos

    Proceso gestionadoEs 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 definidoEs 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 17

    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 modelo de procesos de softwarede software

  • Modelado de Procesos de Software 18

    Modelado de Procesos de Software

    Modelo de procesos de softwareEs una abstraccin o representacin (textual, grfica o formal) en la que se capturan los aspectos ms importantes de un proceso de softwareEs aplicable a un proyecto particular o a una familia de proyectosEs 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 19

    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

    Actividades Conjunto organizado de

    acciones Tienen asociado un flujo

    de trabajo

    Tareas o acciones Unidad bsica de accin

    cd Estructura de un proceso

    Proceso

    Actividad

    Tarea

    +compuesto_por0..*

    0..*

    0..*

  • Modelado de Procesos de Software 20

    Procesos de Software: Conceptos

    Ejemplo de una estructura de un proceso de desarrollo de software

    Desarrollo de Software

    Instalacin

    Pruebas

    Implementacin

    Diseo del Sistema

    Ingeniera de Requisitos

    Modelado de Negocios

    Diseo Detallado

    Diseo Arquitectnico

    Diseo de la Interfaz U/S

    Diseo de Programas

    Diseo de Datos

  • Modelado de Procesos de Software 21

    Procesos de Software: ConceptosCategoras de procesos de software segn ISO/IEC- 15504

    cd Categoras de procesos

    Proceso

    Proceso de Adquisicin

    Proceso de Suministro

    Proceso de Ingeniera

    Proceso de Operacin

    Proceso de Soporte

    Proceso de Gestin

    Proceso de Mejora

    Proceso de Infraestructura

  • Modelado de Procesos de Software 22

    Procesos de Software: Conceptos

    Algunas subcategoras de procesos de software

    Modelado de Negocio

    Ingeniera deRequisitos

    DiseoArquitectnico

    DiseoDetallado

    Construccin & Integracin

    Pruebas de Software

    Entrega delSoftware

    Planificacindel Proyecto

    Organizacindel Proyecto

    Direccindel Proyecto

    Administracin deRecursos del

    Proyecto

    Control delProyecto

    Gestin de laConfiguracin

    Aseguramientode la Calidad

    Gestin deRiesgos

    Verificacin& Validacin

    Capacitacin

    Proceso de Software

    Proceso de Gestin

    Proceso de Soporte

    Proceso de Ingeniera

    Proceso de Mejora

    Mantenimiento de Software

    Modelado de Procesos

    Evaluacin de Procesos

    Mejoramiento de Procesos

  • Modelado de Procesos de Software 23

    Procesos de Software: ConceptosCategoras (reas) de procesos de software segn CMMI

  • Modelado de Procesos de Software 24

    Procesos de Software: Conceptos

    Categoras de procesos del estndar IEEECategoras de procesos del estndar IEEE--10741074Process Group Processes

    Life Cycle Modeling Selection of a Life Cycle Model

    Project Management Project InitiationProject Monitoring and ControlSoftware Quality Management

    Pre-development Concept ExplorationSystem Allocation

    Development RequirementsDesignImplementation

    Post-development InstallationOperation & SupportMaintenanceRetirement

    Integral Process Verification and ValidationSoftware ConfigurationManagementDocumentation DevelopmentTraining

    El estndar IEEE-1074 establece, tambin, categoras de procesosde software

    Este estndarproporciona un marcometodolgico para el diseo de modelos y mtodos de software

    Emplea tres nivelesjerrquicos:

    Grupos de procesosProcesosActividades

  • Modelado de Procesos de Software 25

    Modelado de Procesos de Software

    Contenidos:Contenidos:

  • Modelado de Procesos de Software 26

    Modelado de Procesos de Software

    El modelado de procesos de software produce mtodos y modelos de procesos de softwaremtodos y modelos de procesos de software para:

    Desarrollo, operacin y/o mantenimiento de softwareAdquisicin, instalacin y/o evaluacin de softwareGestin, mejoramiento y/o modelado de procesos de softwareReutilizacin de softwareEtc.

  • Modelado de Procesos de Software 27

    Niveles de Modelado

    Existen tres niveles de abstraccin para modelar procesos de software

    1. Nivel de ProcesoConsiste en el modelado de un proceso especfico Ejemplo: El proceso de desarrollo de la aplicacin X

    2. Nivel de Modelo de Procesos Consiste en el modelado de un proceso genrico (modelo de procesos) aplicable a una familia de procesos Ejemplo: El modelo de procesos RUP para el desarrollo

    3. 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 28

    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 29

    Metamodelo de Proceso

    Un MetamodeloMetamodelo de Procesosde Procesosdescribe un conjunto de conceptos genricos y sus interrelaciones, que sirven de base para la definicin de Modelos de Procesos

    Mediante el uso de metamodelosde procesos se crean modelos de procesos

    Ejemplo:Los metamodelos SPEM y UPM son utilizados para crear modelos de procesos

  • Modelado de Procesos de Software 30

    Ejemplo de Metamodelo

    El metamodelo UPM Unified Process Model

    UPM es un modelo conceptual que define el conjunto de elementos de modeladoelementos de modelado que se emplearon para disear el modelo de procesos RUP (Rational Unified Process)

    ActivityType

    ArtifactType

    WorkerType

    WorkflowType

    GuidanceTypeProcessElementTextualDescription

    Person LifeCycleType

    ToolType ConditionType

    (Krutchen, 1999)

  • Modelado de Procesos de Software 31

    Modelo de Proceso

    Los Modelos de ProcesosModelos de Procesos se construyen mediante instanciacin de los conceptos de un metamodelode 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 32

    Ejemplo de Modelo de Proceso

    El Modelo de Procesos RUPUn Tipo de Flujo de Trabajo de RUP

    (Workflow Type)Tipos de Trabajadores

    (Worker Types)

    Tipos de Artefactos(Artifact Types)

    Tipos de Actividad(Activity

    Types)

  • Modelado de Procesos de Software 33

    Proceso

    El proceso es el resultado de la instanciacinde los conceptos definidos en el modelo de proceso

    Esta instanciacin representa el proceso proceso definidodefinido 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 definidoproceso definido que el Grupo de Desarrollo debe seguir o sigue para desarrollar XYZ

  • Modelado de Procesos de Software 34

    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 35

    Lenguajes de modelado de procesos

    Qu aspectos de los procesos deben modelar los lenguajesQu 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

    Objetos del proceso

    Objetivos

    Actividades

    Actores

    Recursos

    Productos

    Herramientas

    Reglas

  • Modelado de Procesos de Software 36

    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 37

    UML Business

    UML BusinessExtensin del lenguaje UML desarrollada por HansEriksson y Magnus Penker (2000)

    Caractersticas:Est orientada al modelado de procesos de negocioExtiende 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 nivelEmplea la descomposicin funcional

    Descompone cada proceso de la cadena de valor en sub-procesos de ms bajo nivel

  • Modelado de Procesos de Software 38

    UML Business

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

    Proceso C.2.2

    Proceso

    C.1

    Proceso

    C.3

    Proceso

    C.2

    Proceso

    C.1

    Proceso

    C.3

    Proceso

    C.2

    Proceso DProceso A Proceso CProceso B Proceso DProceso DProceso A Proceso CProceso B Proceso D

    Proceso

    C.2.1

    Proceso

    C.2.3

    Proceso

    C.2.2

    Actividad C.2.2.1

    Actividad C.2.2.4

    Actividad C.2.2.3

    Actividad C.2.2.2

    Actividad C.2.2.5

    ?

    si

    no

    Nivel 1

    Nivel 2

    Nivel 3:Actividades

    Nivel 0:Cadena de Valor

  • Modelado de Procesos de Software 39

    UML Business

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

    nombre

    descripcin

    nombre

    nombre

    nombre

    nombre

    nombre

    nombre

    nombre

    Fin que se persigue

    Productos o servicios prestados

    Objetos o recursos requeridos o usados (no

    transformados)Objetos o

    insumos que se transforman

    Objetos quecontrolan

    nombre

    descripcin

    nombre

    nombre

    nombre

    nombre

    nombre

    nombre

    nombre

    nombre

    descripcin

    nombre

    nombre

    nombre

    nombre

    nombre

    nombre

    nombre

    Fin que se persigue

    Productos o servicios prestados

    Objetos o recursos requeridos o usados (no

    transformados)Objetos o

    insumos que se transforman

    Objetos quecontrolan

  • Modelado de Procesos de Software 40

    UML BusinessEn UML Business, cada proceso de la jerarqua se puede describir separadamente

    Aplicacin SIAEnsamblada

    Grupos de Implementacin y Pruebas

    Grupo SQA

    Grupo SCM

    Lder de

    Desarrollo de la Aplicacin

    Construccin &Integracin

    Producir e integrar los componentes arquitectnicos de la Aplicacin

    Mtodo MD-SIA

    Proceso de desarrollo de la aplicacin

    Normas, estndares y proced. de codificacin y pruebas

    Plan del Proyecto

    Planes V&V, SCM y SQA

    Documentos de

    Diseo

    Plan de Pruebas

    Modelo del Dominio

    Documento de Requisitos

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

    Documento de Implementacin

    Manuales de Uso y Mantenimiento

    BDC-SIA

    Otras aplicaciones SIA

    Controles

    Entrada-Proceso-

    Salida

    Recursos

  • Modelado de Procesos de Software 41

    Business Process Modeling Notation

    BPMN

  • Modelado de Procesos de Software 42

    Business Process Modeling Notation

    Los diagramas BPMN modelan flujos de trabajo de una actividad

  • Modelado de Procesos de Software 43

    Unidad 3: Modelado de Procesos de Software

    Contenidos:Contenidos:

  • Modelado de Procesos de Software 44

    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 45

    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 (productoproducto) El proceso proceso que se debe seguir para disear un modelo de procesos Los actores (roles)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 46

    MPS: Un Mtodo de Modelado de Procesos de Software

    Estructura del Mtodo MPS

    MPS consta de tres modelos relacionados:

    El Modelo de Productos MPSDescribe a los modelos de procesos como un producto del mtodo

    Modelo de Actores MPSDescribe los actores (roles) que deben participar en el modelado de procesos

    El Modelo de Procesos MPSDescribe las actividades necesarias para elaborar un modelo de procesos

    cd Estructura del MPS

    Mtodo MPS

    Modelo de Productos

    Modelo de Actores

    Modelo de Procesos

  • Modelado de Procesos de Software 47

    MPS: Un Mtodo de Modelado de Procesos de Software

    El Modelo de Productos del MPSEl Modelo de Productos del MPS

    Es una conceptualizacinconceptualizacin de los productosde los productos que se pueden elaborar siguiendo el mtodo MPS

    Representa los elementos (objetos)elementos (objetos) que estn presentes en los modelos de procesos de software que se elaboran usando MPS

    Es un metameta--modelomodelo 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 48

    MPS: Un Mtodo de Modelado de Procesos de Software

    El Modelo de Productos del MPSEl Modelo de Productos del MPS

  • Modelado de Procesos de Software 49

    MPS: Un Mtodo de Modelado de Procesos de Software

    El Modelo de Productos del MPS (cont.)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.)El Modelo de Productos del MPS (cont.)

  • Modelado de Procesos de Software 51

    MPS: Un Mtodo de Modelado de Procesos de Software

    El Modelo El Modelo de de Productos Productos del MPS del MPS (cont.)(cont.)

  • Modelado de Procesos de Software 52

    MPS: Un Mtodo de Modelado de Procesos de Software

    El Modelo de Actores del MPSEl Modelo de Actores del MPS

    Establece el conjunto de roles y responsabilidadesroles y responsabilidades que tienen los actoresactores 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 Grupo de Procesos de Ingeniera de Software (GPIS)de Software (GPIS)

    El tamao del GPIS depende de la complejidad y extensin del modelo que se quiere producir

  • Modelado de Procesos de Software 53

    MPS: Un Mtodo de Modelado de Procesos de Software

    El Modelo de Actores del MPSEl Modelo de Actores del MPS

    Roles ResponsabilidadesLder del Grupo de Modelado (GPIS)

    Planificar, organizar, dirigir, administrar y controlar el proyecto de modelado de procesos de software.Coordinar, comunicar y tomar decisiones con respecto al proyecto de modelado.

    Ingeniero de Procesos

    Utilizar los modelos de productos, procesos y recursos del MPS para disear el modelo de procesos de software requerido.

    Ingeniero de Software

    Aportar su conocimiento del proceso de software para disearlo.Validar el modelo de proceso elaborado.

  • Modelado de Procesos de Software 54

    MPS: Un Mtodo de Modelado de Procesos de Software

    El Modelo de Procesos del MPSEl 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 55

    MPS: Un Mtodo de Modelado de Procesos de Software

    El Modelo El Modelo de Procesos de Procesos del MPSdel MPS

    ad Activ ity Diagram

    Inicio

    Definir objetivos,alcance y

    requisitos delproceso

    Establecercaractersticas

    de los productos

    Descomponerjerrquicamente

    el proceso

    Definir actores yresponsabilidades

    Definir recursosrequeridos

    Seleccionarreglas y mtricas

    Describirsubprocesos

    Describiractividades

    Ensamblarmodelo del

    proceso

    Validar modelodel proceso

    Fin

    Modelo de Productos MPS

    Modelo de Procesos MPS

    Modelo de Actores MPS

    Modelo del proceso de software

  • Modelado de Procesos de Software 56

    El Modelo de Procesos del MPS

    Actividad 1: Definicin de objetivos, alcance y Actividad 1: Definicin de objetivos, alcance y requisitos del modelo 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 elmodelo

    Requisitos que debe satisfacer Que caractersticas generales debe tener el modelo

  • Modelado de Procesos de Software 57

    El Modelo de Procesos del MPS

    Caso de estudio: Caso de estudio:

    Un Modelo de Procesos para Gestin de Riesgos (GR)Un Modelo de Procesos para Gestin de Riesgos (GR)Actividad 1: Definir objetivos, alcance y requisitos del modelo 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 documentadoDebe describirse grficamente usando UML y/o sus perfilesDebe estar fundamentado en el estndar de gestin de proyectos PMBOK del PMI

  • Modelado de Procesos de Software 58

    El Modelo de Procesos del MPS

    Actividad 2: Establecer las caractersticas del Actividad 2: Establecer las caractersticas del productoproducto

    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 metamodelousando 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 59

    El Modelo de Procesos del MPS

    Caso de estudio: MP de Gestin de RiesgosCaso de estudio: MP de Gestin de Riesgos

    Actividad 2: Establecer las caractersticas del producto MPActividad 2: Establecer las caractersticas del producto MP--GRGR

    A partir del A partir del metamodelometamodelo MPS, se seleccion el siguiente MPS, se seleccion el siguiente submodelosubmodelo que describe la estructura que tendr el modelo de que describe la estructura que tendr el modelo de gestin de riesgosgestin de riesgos

    -prod

    uce

    -sigue

  • Modelado de Procesos de Software 60

    El Modelo de Procesos del MPS

    Actividad 3: Descomponer jerrquicamente el Actividad 3: Descomponer jerrquicamente el proceso proceso

    Consiste en elaborar la estructura jerrquica del procesoestructura 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 61

    El Modelo de Procesos del MPS

    Caso de estudio: MP de Gestin de RiesgosCaso de estudio: MP de Gestin de Riesgos

    Actividad 3: Descomponer jerrquicamente el proceso GRActividad 3: Descomponer jerrquicamente el proceso GR

    od Business Process Model

    Planificacin dela Gestin de

    Riesgos

    Identificacin deRiesgos

    AnlisisCualitativo de

    Riesgos

    AnlisisCuantitativo de

    Riesgos

    Planificacin deRespuestas a

    Riesgos

    Monitoreo yControl de

    Riesgos

    Gestin deRiesgos

    Estructura Jerrquica Estructura Jerrquica del Procesodel Proceso

  • Modelado de Procesos de Software 62

    El Modelo de Procesos del MPS

    Actividad 4: Definir actores y responsabilidadesActividad 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 63

    El Modelo de Procesos del MPS

    Caso de estudio: MP de Gestin de RiesgosCaso de estudio: MP de Gestin de Riesgos

    Actividad 4: Definir actores y responsabilidadesActividad 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 64

    El Modelo de Procesos del MPS

    Actividad 5: Definir los recursos requeridos por los Actividad 5: Definir los recursos requeridos por los procesosprocesos

    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 recursostipos de recursos que el modelo de procesos recomienda como recursos necesarios para ejecutar sus procesos

  • Modelado de Procesos de Software 65

    El Modelo de Procesos del MPS

    Caso de estudio: MP de Gestin de RiesgosCaso de estudio: MP de Gestin de Riesgos

    Actividad 5: Definir los recursos requeridos por los procesos GRActividad 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 66

    El Modelo de Procesos del MPS

    Actividad 6: Seleccionar las reglas y mtricas 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 67

    El Modelo de Procesos del MPS

    Caso de estudio: MP de Gestin de RiesgosCaso de estudio: MP de Gestin de Riesgos

    Actividad 6: Seleccionar las reglas y mtricasActividad 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 68

    El Modelo de Procesos del MPS

    Actividad 7: Describir subprocesosActividad 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 69

    El Modelo de Procesos del MPS

    Caso de estudio: MP de Gestin de Riesgos Caso de estudio: MP de Gestin de Riesgos

    Actividad 7: Descripcin de subprocesos del MPActividad 7: Descripcin de subprocesos del MP--GRGRod Descripcin de Subproceso

    Anlisis Cualitativode Riesgos

    reglaPlan de Gestin

    de Riesgos

    actorGerente de

    Sistemas

    objetivoEstablecer las

    prioridades de los riesgos identificados

    recursoLder del Proyecto

    recursoListas de Chequeo

    de Riesgos

    Lista de Riesgos Identificados

    Matriz de Riegos

    Priorizados

    recursoTcnicas de Anlisis

    de Riesgos

    aplicaaplicaejecuta

    cumplecontrolaregula

  • Modelado de Procesos de Software 70

    El Modelo de Procesos del MPS

    Actividad 8: Describir actividadesActividad 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 trabajoflujo 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 71

    El Modelo de Procesos del MPS

    Caso de estudio: Proceso de Gestin de RiesgosCaso de estudio: Proceso de Gestin de Riesgos

    Actividad 8: Describir actividades de cada subprocesoActividad 8: Describir actividades de cada subprocesocd Diagrama de activ idades de GR

    Inicio

    Establecer laprobabilidad deocurrencia de

    cada riesgo

    Determinar elimpacto de cada

    riesgo

    Establecer laprioridad de cada

    riesgo

    Elaborar la Matrizde Riesgos

    Clasificar losriesgos

    identificados

    Validar la Matriz deRiesgos

    Fin

    Lista de Riesgos Identificados

    Matriz de Riesgos

    Actividades delSubproceso:

    Anlisis Cualitativode Riesgos

  • Modelado de Procesos de Software 72

    El Modelo de Procesos del MPS

    Actividad 9: Ensamblar el modelo de procesosActividad 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 73

    El Modelo de Procesos del MPS

    Actividad 10: Validar el modelo de procesos Actividad 10: Validar el modelo de procesos elaboradoelaborado

    El modelo del proceso elaborado se somete a una revisin revisin tcnicatcnica 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 74

    Modelado de Procesos de Software

    Contenidos:Contenidos:

  • Modelado de Procesos de Software 75

    Modelado de Procesos de Software

    Conclusiones

    1. Modelar los procesos de software se ha convertido en unaactividad de Ingeniera de Software tan importante comola de desarrollar software

    2. Un proceso de software es maduro cuando est explcitamente documentadodocumentado, gestionado, definidodefinido, 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 76

    Modelado de Procesos de Software

    Conclusiones4. El modelado de procesos de software es una actividad

    compleja que requiere:Un personal especializado

    Ingenieros de Procesos Ingenieros de MtodosUna infraestructura establecida

    Herramientas de modelado apropiadaUna 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 77

    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 andCommunications (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 78

    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.

    http://www.eas.asu.edu/~sdm/publications.htmlhttp://www.isospice.com/spice/spiceproject.htm

  • Modelado de Procesos de Software 79

    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 SystemsDevelopment. 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 1997Schmauch, 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 80

    Modelado de Procesos de Software

    Jons Montilva C., 2006. Derechos Reservados.

    [email protected]

    http://webdelprofesor.ula.ve/ingenieria/jonas

    mailto:[email protected]://webdelprofesor.ula.ve/ingenieria/jonas

    Modelado de Procesos de SoftwareModelado de Procesos de SoftwareIntroduccinIntroduccinIntroduccinIntroduccinIntroduccinIntroduccinIntroduccinIntroduccinModelado de Procesos de SoftwareConceptos de Modelado de ProcesosConceptos de Modelado de ProcesosProcesos de Software: ConceptosProcesos de Software: ConceptosProcesos de Software: ConceptosProcesos de Software: ConceptosModelado de Procesos de SoftwareProcesos de Software: ConceptosProcesos de Software: ConceptosProcesos de Software: ConceptosProcesos de Software: ConceptosProcesos de Software: ConceptosProcesos de Software: ConceptosModelado de Procesos de SoftwareModelado de Procesos de SoftwareNiveles de ModeladoNiveles de ModeladoMetamodelo de ProcesoEjemplo de MetamodeloModelo de ProcesoEjemplo de Modelo de ProcesoProcesoLenguajes de modelado de procesosLenguajes de modelado de procesosUML Business y BPMNUML BusinessUML BusinessUML BusinessUML BusinessBusiness Process Modeling NotationBusiness Process Modeling NotationUnidad 3: Modelado de Procesos de SoftwareMPS: Un Mtodo de Modelado de Procesos de SoftwareMPS: Un Mtodo de Modelado de Procesos de SoftwareMPS: Un Mtodo de Modelado de Procesos de SoftwareMPS: Un Mtodo de Modelado de Procesos de SoftwareMPS: Un Mtodo de Modelado de Procesos de SoftwareMPS: Un Mtodo de Modelado de Procesos de SoftwareMPS: Un Mtodo de Modelado de Procesos de SoftwareMPS: Un Mtodo de Modelado de Procesos de SoftwareMPS: Un Mtodo de Modelado de Procesos de SoftwareMPS: Un Mtodo de Modelado de Procesos de SoftwareMPS: Un Mtodo de Modelado de Procesos de SoftwareMPS: Un Mtodo de Modelado de Procesos de SoftwareEl Modelo de Procesos del MPSEl Modelo de Procesos del MPSEl Modelo de Procesos del MPSEl Modelo de Procesos del MPSEl Modelo de Procesos del MPSEl Modelo de Procesos del MPSEl Modelo de Procesos del MPSEl Modelo de Procesos del MPSEl Modelo de Procesos del MPSEl Modelo de Procesos del MPSEl Modelo de Procesos del MPSEl Modelo de Procesos del MPSEl Modelo de Procesos del MPSEl Modelo de Procesos del MPSEl Modelo de Procesos del MPSEl Modelo de Procesos del MPSEl Modelo de Procesos del MPSEl Modelo de Procesos del MPSModelado de Procesos de SoftwareModelado de Procesos de SoftwareModelado de Procesos de SoftwareReferencias BibliogrficasReferencias BibliogrficasReferencias BibliogrficasModelado de Procesos de Software