Вы находитесь на странице: 1из 59

Proceso Software y Gestin del Conocimiento

2a Gestin de Procesos Software


Flix Garca
Departamento de Tecnologas y Sistemas de Informacin Escuela Superior de Informtica Universidad de Castilla-La Mancha Ciudad Real, 2008

El Proceso Software Objetivos parciales (i)

En una Ingeniera es fundamental la idea de Proceso

el cmo hacer.

En los ltimos aos se ha desarrollado un nuevo campo en la Ingeniera del Software:

La Tecnologa de Proceso Software


Su finalidad es aportar al mundo del software algunas soluciones que han sido eficaces en el mundo de la ingeniera de produccin tradicional para Facilitar la Gestin de los Proyectos

Sistema Software Proceso Producto - Proyecto

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

El Proceso Software Contenidos (i)

Introduccin Conceptos bsicos Perspectiva Histrica del Proceso Software Tecnologa de Proceso Software

Proceso de Negocio Proceso Software

Proceso vs Modelo de Proceso Modelos de Proceso


Elementos Niveles Vistas

Lenguajes de Modelado de PS (LMP).


Introduccin al Metamodelado Requerimientos en LMP. Propiedades de un LMP.
3

Evolucin de un PS. Metaproceso. Cuestiones pendientes.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

El Proceso Software Contenidos (ii)

Tecnologas tiles. Taxonoma. Ejemplos:


MVP-L. LMP basado LMP basado LMP basado LMP basado en en en en redes de Petri reglas OO Grafos

Entornos de Ingeniera del Software.

Conceptos bsicos. Modelo de servicios: ISO 15940.


Servicios de gestin del proceso.

EIS orientados a procesos.


Arquitectura PSEE.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

El Proceso Software Lecturas (i)

Bsicas

Piattini, M., Garca, F., Caballero, I. (2006). Calidad de los

Sistemas Informticos. Ra-Ma. Captulo 6. NOVATICA. Tecnologa de Procesos Software. N 171. Sept/Oct 2004. http://www.ati.es/novatica/2004/171/nv171sum.html Fuggetta, A. (2000): Software Process: A Roadmap. 22nd Int. Conf. on Software Engineering (ICSE2000), Future of Software Engineering Track, June 4-11, Limerick (Irlanda). ACM Cugola, G., Guezzi, C. (1998). Software Processes: a Retrospective and a Path to the Future. In Software Process Improvement and Practice 4(3), pp. 101-123.
5

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

Complementarias:

El Proceso Software Lecturas (ii)

Derniame, J.C., Kaba, B.A., & Wastell, D. (1999): Software Process: Principles, Methodology and Technology. LNCS 1500, SpringerVerlag. Captulos 1, 3, 4 (4.1-4.4) y 5 (5.1). ISO/IEC (2001): CD 15940: Information Technology Software Engineering Environment Services, working draft 5, May-2001. Harrison, W., Ossher, H. & Tarr. P. (2000): Software Engineering Tools and Environments: a Roadmap. 22nd Int. Conf. on Software Engineering (ICSE2000), Future of Software Engineering Track, June 4-11, Limerick (Irlanda). ACM. SWEBOK (2004): Guide to the Software Engineering Body of Knowledge; 2004 version 1.00 (May-2001). IEEE Computer Society Professional Practices Committee. Captulos 1, 8, 9 y 10.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

El Proceso Software Contenidos (i)

Introduccin
Conceptos bsicos

Proceso de Negocio Proceso Software

Perspectiva Histrica del Proceso Software Tecnologa de Proceso Software


Proceso vs Modelo de Proceso Modelos de Proceso
Elementos Niveles Vistas

Evolucin de un PS. Metaproceso. Cuestiones pendientes. Introduccin al Metamodelado Requerimientos en LMP. Propiedades de un LMP.
7

Lenguajes de Modelado de PS (LMP).

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

Introduccin (i)

Ingeniera del Software - Problemtica actual:

El desarrollo y mantenimiento de software es un trabajo altamente complejo. Los proyectos software son difciles de gestionar.

La tecnologa de Proceso Software (PS) intenta simplificar la gestin de proyectos software. La importancia que la tecnologa de PS tiene dentro de la Ingeniera del Software (IS) se comprueba viendo su aparicin en el SWEBOK (Software Engineering Body of Knowledge):

3 de las 10 reas de conocimiento que forman la IS se refieren a esta tecnologa. tambin utiliza 4 de las 7 disciplinas relacionadas.

En suma, se trata de incidir ms en los aspectos ingenieriles.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

Introduccin (ii)

SWEBOK es un proyecto conjunto de IEEE-CS y ACM. Est siendo debatido en el Subcomit JTC1/SC7 de ingeniera del software de ISO.

Los objetivos principales de SWEBOK son cinco:


Promover una visin consistente del mundo de la IS. Clarificar el papel y delimitar las fronteras- de la IS con respecto

a otras disciplinas asociadas: ciencia de la computacin, gestin de proyectos, ingeniera de computadores, y matemticas. Caracterizar los contenidos de la disciplina. Proveer acceso a los contenidos del cuerpo de conocimientos. Proveer las bases para desarrollar planes de estudios o materiales para certificaciones individuales.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

Introduccin (iii)

SWEBOK considera que la IS est formada por 10 reas de conocimiento, y que tiene 7 disciplinas relacionadas:
reas de Conocimiento
Requisitos Software Diseo de Software Construccin de Software Prueba del Software Mantenimiento del Software Gestin Configuracin Software Gestin de la IS Proceso de IS Herramientas y Mtodos en IS Calidad del Software

Disciplinas Relacionadas
Ciencias Cognitivas y Factores Humanos Ingeniera de Computadores Ciencia de la Computacin Gesti Gestin y Ciencia de la Gesti Gestin Matemticas Gesti Gestin de Proyectos Ingenier Ingeniera de Sistemas

PS

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

10

Introduccin (iv)
La importancia de un buen Proceso: Una casa en 4 horas

Building

Industry Association, San Diego, CA.


11

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

El Proceso Software Contenidos (i) Introduccin

Conceptos bsicos

Proceso de Negocio Proceso Software

Perspectiva Histrica del Proceso Software Tecnologa de Proceso Software

Proceso vs Modelo de Proceso Modelos de Proceso


Elementos Niveles Vistas

Lenguajes de Modelado de PS (LMP).


Requerimientos en LMP. Propiedades de un LMP.
12

Evolucin de un PS. Metaproceso. Cuestiones pendientes.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

Proceso de negocio: definicin

Definicin (Sharp, 2001):


Coleccin de tareas de trabajo interrelacionadas, iniciadas en respuesta a un evento, que permiten alcanzar un resultado especfico para el cliente del proceso.

Es decir, un proceso de negocio (PN) es


un proceso para entregar un resultado a un cliente.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

13

Proceso de negocio: caractersticas

Otras caractersticas son:


Medible: debe poderse medir el PN en la forma que
interese a los participantes (stakeholders).

Automatizable: las tareas pueden ser manuales,


semiautomticas y automticas.

Niveles: se puede definir a distintos niveles de detalle


(hitos, flujos de trabajo, etc.).

Para un cliente interno o externo.


UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software 14

Proceso Software: definicin

Un Proceso Software (PS) es


Un conjunto coherente de polticas, estructuras organizacionales, tecnologas, procedimientos y artefactos que son necesarios para concebir, desarrollar, instalar y mantener un producto software. (Fugetta, 2000)

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

15

Proceso Software: apoyos

Un PS aprovecha diversas contribuciones y


conceptos:

Tecnologas de desarrollo de software: herramientas, infraestructuras y entornos. Mtodos y Tcnicas de desarrollo de software: cmo usar la tecnologa. Comportamiento Organizacional: la ciencia de las organizaciones y la personas. Marketing y economa: como cualquier otro producto, el software debe dirigirse a clientes reales y, por tanto, est sujeto a las reglas del mercado.
16

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

Proceso Software: vs PN

Por tanto, debemos prestar atencin a la compleja


interrelacin que se produce en un PS entre los diversos factores organizacionales, culturales, tecnolgicos y econmicos. =>

Un PS es un PN realizado por una organizacin para


desarrollar y mantener un producto software.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

17

Procesos Software: naturaleza (i)

Son complejos: No son procesos de produccin:

Dirigidos por excepciones, Muy determinados por circunstancias impredecibles, Cada uno con sus peculiaridades. Desconocemos las abstracciones adecuadas, Dependen demasiado de demasiada gente, Diseo y produccin no estn claramente separados, Presupuestos, calendarios, calidad no pueden ser planificados de forma fiable.

No son procesos de ingeniera pura:

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

18

Procesos Software: naturaleza (ii)

No son (completamente) procesos creativos:

Algunas partes pueden ser descritas en detalle, Algunos procedimientos han sido impuestos.

Estn basados en descubrimientos que dependen de la comunicacin, coordinacin y cooperacin dentro de marcos de trabajo predefinidos:

Los entregables generan nuevos requisitos, Los costes del cambio del software no suelen reconocerse, El xito depende de la implicacin del usuario y de la coordinacin de muchos roles (ventas, desarrollo tcnico, cliente, etc.).

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

19

Procesos Software: Gestin (i)

Calidad enfocada al proceso:

Los Procesos Software tienen una influencia directa en la calidad de los productos software:
Creciente inters en las empresas software para promover la mejora de los procesos software a la hora de mejorar la calidad de los productos

Las aplicaciones software son productos cada vez ms complejor lo que influye en la complejidad de sus procesos de desarrollo y mantenimiento

Requisitos de calidad de los procesos software:

Producir los resultados esperados Correcta definicin Ser mejorados en funcin de los objetivos de negocio

Gestin del Proceso Software


UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software 20

10

Procesos Software: Gestin (ii)

Responsabilidades Clave en la Gestin del PS:


 Modelado
Punto de partida para la comprensin, ejecucin y mejora continua Representacin Precisa (sin ambigedad) Define the Gran diversidad de propuestas: Process Elementos comunes: Actividad, Artefacto, Recursos Organizaciones y Roles
Improve the Process

 Medicin
Control the Process Measure the Process

Execute the Process

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

21

El Proceso Software Contenidos (i)


Introduccin Conceptos bsicos

Proceso de Negocio Proceso Software

Perspectiva Histrica del Proceso Software


Tecnologa de Proceso Software

Proceso vs Modelo de Proceso Modelos de Proceso


Elementos Niveles Vistas

Lenguajes de Modelado de PS (LMP).


Requerimientos en LMP. Propiedades de un LMP.
22

Evolucin de un PS. Metaproceso. Cuestiones pendientes.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

11

Perspectiva Histrica de los Procesos Software (i)

El Proceso como una caja negra


Requisitos del Producto

Proceso

Producto

Slo visibilidad de las entradas y salidas No hay forma de controlar lo que sucede en el proceso Consecuencias:
Grandes retrasos en la entrega Incremento significativo de los costes

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

23

Perspectiva Histrica de los Procesos Software (ii)

El Proceso como una caja negra

En PS la no visibilidad del proceso tiene consecuencias an peores respecto a otros tipos de procesos dada la naturaleza del software:
Especificacin informal de requisitos Variabilidad de los requisitos
requisitos

Consecuencias:
El producto no coincide con los requisitos especificados Los costes de modificacin del producto una vez desarrollado son muy altos

Necesidad de un Proceso Visible (Transparente)

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

24

12

Perspectiva Histrica de los Procesos Software (iii)

Mitos (Cugola y Ghezzi, 1999):

1. Ciclos de Vida del Software 2. Metodologas 3. Desarrollo Formal 4. Automatizacin 5. Gestin y Mejora 6. Programacin del Proceso

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

25

Perspectiva Histrica de los Procesos Software (iv)

1. Ciclos de Vida del Software



Aos 60 Definen la vida de un producto desde su concepcin hasta la finalizacin de su uso Un Modelo de Ciclo de Vida estandarizan la descomposicin de un proceso en fases, actividades y los artefactos que fluyen entre fases Ejemplo: CV en cascada Mito: Un modelo de Ciclo de Vida puede ser definido para guiar el proceso de desarrollo/mantenimiento

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

26

13

Perspectiva Histrica de los Procesos Software (v)

2. Metodologas

Inicio Aos 60, 70 con propuestas de metodologas de desarrollo estructurado Gua de actividades, procedimientos, productos, tcnicas, participantes, etc.. Incluyen buenas prcticas basadas en la experiencia Algunos inconvenientes:
Algunas metodologas fueron aplicadas en contextos diferentes a aquellos en los que se obtuvo la experiencia sobre buenas prcticas de desarrollo En ocasiones implicaban una documentacin pesada y falta de soporte automtico Notaciones informales dificultad para evaluar la correccin/consistencia de los productos

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

27

Perspectiva Histrica de los Procesos Software (vi)

3. Desarrollo Formal

Finales 60 Enfoque de desarrollo de software basado en las matemticas Los programas son entidades matemticas que pueden ser especificadas formalmente:
Transformacin automtica de Especificacin Formal a Cdigo

Como solucin general para el problema del software presentaba en sus orgenes algunos inconvenientes:
Imposibilidad de conocer todos los requisitos al comienzo Escalabilidad Requisitos no funcionales

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

28

14

Perspectiva Histrica de los Procesos Software (vii)

4. Automatizacin:

Aos 70, 80 La mejora de la tecnologa (HW, SW) facilita la aparicin de:
Software Development Environments (SDE) Lenguajes de Cuarta Generacin

Este tipo de entornos facilitaba la tarea de programacin Inconveniente:


La programacin no es la nica actividad involucrada en el proceso de desarrollo/mantenimiento de software

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

29

Perspectiva Histrica de los Procesos Software (viii)

5. Gestin y Mejora:

Aos 80 Creciente Importancia en la industria Software por la calidad Aparecen estndares como la familia ISO 9000 y modelos de madurez como CMM (finales de los 80) Estndares ISO 9000
Certificacin Calidad Garanta de que una organizacin software entregar productos de calidad

Estos estndares y modelos incluyen prcticas que facilitan la gestin de los procesos software Aparecen ciertas limitaciones:
una organizacin con certificacin de calidad obtendr siempre productos de alta calidad? Incremento de Burocracia

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

30

15

Perspectiva Histrica de los Procesos Software (ix)

6. Programacin del Proceso :



Aos 90 Software Processes are software too (Osterweil, 1987) Cada organizacin software es diferente (cultura, habilidades, personal, productos..). Incluso en la misma organizacin los distintos proyectos pueden ser muy diferentes
No hay un nico proceso de desarrollo de software

Necesidad de lenguajes para describir los procesos Modelos de Procesos:


Verificables Ejecutables

Entornos para dar soporte al desarrollo, documentacin, anlisis ejecucin y evolucin de modelos de procesos
PSEE: Entornos de Ingeniera del Software Orientados al Proceso

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

31

El Proceso Software Contenidos (i) Introduccin Conceptos bsicos


Proceso de Negocio Proceso Software

Perspectiva Histrica del Proceso Software

Tecnologa de Proceso Software

Proceso vs Modelo de Proceso Modelos de Proceso


Elementos, Niveles, Vistas

Evolucin de un PS. Metaproceso. Cuestiones pendientes.

Lenguajes de Modelado de PS (LMP).


Introduccin al Metamodelado Requerimientos en LMP. Propiedades de un LMP.
32

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

16

Tecnologa de Proceso Software: Impacto


Controla
Proceso de Gestin Proceso de Produccin

Realimenta
Soporta

Explota Entorno de Ingeniera delExplota Software PSEE orientado al Proceso


Integra Explota Tecnologa de Gestin Integra

Tecnologa de Procesos
Proporciona

Tecnologa de Produccin

Proporciona Estandariza

Proporciona

Entorno exterior

Justifica

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

33

Tecnologa de Proceso Software: Objetivo

Dominar la complejidad inherente al PS mediante una comprensin profunda del proceso en s mismo y mediante un soporte automatizado por medio de un PSEE

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

34

17

Proceso vs Modelo de Proceso (MP) (i)

Los procesos de diferentes proyectos tienden a seguir patrones comunes. Es necesario intentar capturar estos aspectos comunes en una representacin del proceso, la cul describe estas caractersticas comunes y fomenta la homogeneidad. El estudio de los procesos de produccin de software ha llevado al desarrollo de varios Ciclos de Vida del software que pueden ser empleados en la IS: en Cascada, Evolutivo y en Espiral.

Estos modelos del Ciclo de Vida ayudan a comprender mejor el PS, y a determinar el orden de actividades globales envueltas en la produccin de software.
35

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

Proceso vs MP (ii)

El objetivo final de la tecnologa de PS es lograr que


la representacin de un proceso pueda ser usada para conducir los actuales procesos de desarrollo y mantenimiento del software.

Con tal fin, surgen varios conceptos:


Environment.

PSEE: Process-sensitive Software Engineering Modelo de Procesos (MP): representacin abstracta de


una familia de procesos expresada en una adecuada notacin de modelado de procesos (formalismo).

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

36

18

Proceso vs MP (iii)

La disponibilidad de un MP (computerizado) proporciona capacidades para:

Soporte directo a los desarrolladores va control de su trabajo, su coordinacin con otros, etc.); Soporte indirecto, como informacin del estado actual del proceso, el significado de los puntos de decisin, etc. direccin

automatizacin: invocacin automtica de herramientas no


interactivas);

eficiencia: un MP preciso es primordial en el aumento de la


UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

efectividad, ya que proporciona una base no ambigua para la comunicacin entre los procesos.
37

Proceso vs MP (v)

Los MP juegan un rol esencial en la supervisin,


simulacin, validacin, verificacin y mejora de procesos:

supervisin: permiten una clara comprensin de lo que

puede ser observado y por qu; simulacin: el comportamiento de un proceso puede ser estudiado al menor coste sin desarrolladores reales o herramientas. Verificacin y validacin: son necesarios para probar formalmente las propiedades de inters del proceso.

Todas las capacidades anteriores son necesarias para la Mejora de procesos.


UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software 38

19

Elementos de un MP

Tiene sub Actividad

Tiene entrada Tiene intermedio Tiene salida Utiliza

Tiene sub Producto

Desarrollador Necesita Juega Rol Obedece

Herramienta

Tiene sub Norma

Actividad

Recurso

Producto

Organizacin

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

39

Niveles de un MP (i)

Los procesos pueden ser representados con niveles

incrementales de detalle, capturando sub-procesos cada vez ms pequeos, correspondientes a asuntos cada vez ms detallados:

Ciclo de Vida; MP genrico; MP detallado (customized); Reificable (enactable); Reificado (enacting).

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

40

20

Niveles de un MP (ii)

Adems, se distinguen dos dominios en cada nivel:

Realizacin (performance) del proceso:


concerniente al acto de participar en un proceso, personas y herramientas.

Reificacin (enactment) del proceso:


relacionado con el acto de conducir automticamente el proceso, es decir, interpretar con ms detalle el MP.

Dualidad de pertenencia a los dominios:

Las herramientas y las personas, al ser condicionadas por el entorno, tambin pertenecen al dominio de reificacin.

Mientras que un proceso se realiza en el mundo real, es reificado en el


mundo abstracto del modelo computerizado.

Puesto que los computadores son parte del mundo real, se dice que la reificacin es parte de la realizacin.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

41

Vistas de un MP (i)

Expresan un punto de inters particular en vez del


MP completo (similar a vistas en BD):

Las ms habituales son:


De Actividades, De Productos, De Recursos, y De Roles.

Sub-modelos (en modelado bottom-up). Modelos parciales (en modelado top-down).

Nos son disjuntas: una vista no puede ser definida


sin usar conceptos de otras.
UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software 42

21

Evolucin de un PS (i)

Se deben considerar dos aspectos en un entorno de


produccin de software:

Un proceso en desarrollo, P, es decir el proceso de

produccin del mundo real incluyendo actores humanos y herramientas que acompaan a todas las actividades dirigidas al desarrollo y mantenimiento de un producto software, y Un modelo de procesos, MP, que es una representacin del mundo real, y captura el estado actual de las actividades para guiar, hacer cumplir o automatizar partes del proceso de produccin o de mantenimiento.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

43

Evolucin de un PS (ii)

Idealmente, P y MP deben estar perfectamente alineados: el estado interno de MP debe ser una fiel representacin del actual estado de los asuntos en el mundo real.
=>

P es una instancia de PM

Pero cualquier PS en el mundo real es un proceso creativo y dinmico que abarca a mucha gente, y no puede ser reducido a la programacin de autmatas.

El MP debe coordinar actividades y gestionar el flujo de informacin, y MP debe adaptarse a cualquier evolucin del proceso P en el mundo
real.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

44

22

Evolucin de un PS (iii)

Hay diversas razones por las que puede cambiar un PS:

puede ser errneo; ciertos pasos importantes no estn previstos; el MP puede ser genrico y necesita ser detallado para obtener resultados especficos; las presunciones sobre las cuales se construy el MP ya no son vlidas; las dinmicas polticas, humanas y tecnolgicas pueden inducir a su cambio.

Como resultado, el proceso P del mundo real y el MP deben evolucionar de forma conjunta y coherente.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

45

Metaproceso

Conclusin: la evolucin de un PS es en s misma un proceso completo. Este proceso de alto nivel es llamado meta-proceso:

El gestor del proyecto necesitar implicar los servicios del modelador para desarrollar un MP aumentado, validar el nuevo modelo, y decidir cuando comenzar a realizarlo. Este metaproceso incluye:
Los pasos para cambiar los procesos del mundo real, y Los pasos para introducir cambios en el MP.

Su principal funcin es asegurar que P y MP permanecen consistentes.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

46

23

Cuestiones pendientes

Surgen una serie de preguntas que debemos


plantearnos e intentar responderlas:

Cmo construimos un MP? Cmo lo reificamos? Qu caractersticas debe tener el formalismo a utilizar? Cmo se puede cambiar y mejorar un PS y su MP
asociado? Qu arquitectura debe tener un PSEE? Qu papel desempean las personas? ........................

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

47

El Proceso Software Contenidos (ii) Tecnologa de Proceso Software



Proceso vs Modelo de Proceso Modelos de Proceso
Elementos, Niveles, Vistas

Evolucin de un PS. Metaproceso. Cuestiones pendientes.

Lenguajes de Modelado de PS (LMP).

Introduccin al Metamodelado Requerimientos en LMP. Propiedades de un LMP. Tecnologas tiles. Taxonoma. Ejemplos:
MVP-L. LMP basado LMP basado LMP basado LMP basado en redes de Petri en reglas en OO en Grafos

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

48

24

Introduccin al Metamodelado

Arquitecturas de Modelizacin en 4 capas:


Modelo Modelo de de meta-meta-metadatos meta-meta-metadatos (=MetaMetaModelo) (=MetaMetaModelo) Lenguaje Lenguaje estndar estndar para para definicin definicin de de metamodelos metamodelos

Modelo Modelo de de meta-metadatos meta-metadatos (=MetaModelo) (=MetaModelo)

Ej Ej Metamodelos Metamodelos E/R E/R UML UML

Modelo Modelo de de metadatos metadatos (=Modelo) (=Modelo)

Diagramas Diagramas E/R E/R Modelos Modelos UML UML

Datos Datos

Base Base datos datos empresa empresa etc..L etc..L

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

49

Introduccin al Metamodelado

Metamodelo = Modelo de un Modelo.

Arquitectura estndar MOF (Meta Object Facility)


Estndar OMG para definicin, representacin y gestin de metadatos

DOMINIO DATOS
Modelo MOF

DOMINIO PROCESOS
M3
Modelo MOF

M3

Modelo E/R

Modelo Relacional

M2

Metamodelo Procesos Software

M2

Esquemas

Esquemas

M1

MANTEMA

Otras Metodologas

M1

Datos

Modelo Modelo Modelo Modelo Modelo

Datos

Modelo Modelo Modelo Modelo Modelo

Datos

Modelo Modelo Modelo Modelo Modelo

M0

Datos

Modelo Modelo Modelo Modelo Modelo

Datos

Modelo Modelo Modelo Modelo Modelo

Datos

Modelo Modelo Modelo Modelo Modelo

M0

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

50

25

Introduccin al Metamodelado

Metamodelado.

Lenguaje de Modelado de Procesos

Caso Procesos:

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

51

Lenguajes de Modelado de PS

Un lenguaje de modelado de PS (LMP) expresa los procesos software (PS) en forma de modelos de procesos software (MP). Todos los elementos de proceso (actividades, roles, recursos, etc.) deben poderse describir. Los elementos del metaproceso (evolucin del proceso) tambin se deben poder expresar. Un LMP puede ser:

Formal: tiene sintaxis y semntica formales. Semi-formal: tiene notacin formal (normalmente grfica) pero no tiene semntica formal. Informal: sin sintaxis y semnticas formales (leng. natural).

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

52

26

Requerimientos en LMP (i)

Hay 6 elementos de proceso (primarios) que debe poder modelar un LMP:

Actividades. Productos. Roles. Personas. Herramientas. Soporte para la evolucin (al menos del MP):
a nivel tcnico (p.e., mediante reflexin o interpretacin), y a nivel conceptual (mediante un metamodelo asociado).

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

53

Requerimientos en LMP (ii)

Los elementos del metaproceso (secundarios) son:

Proyecto/Organizacin.
Organizaciones consisten de humanos relacionados con otros humanos y elementos. Un proyecto es una estructura temporal de la organizacin montada para poder alcanzar un objetivo especfico.

Contexto de Trabajo.
Formado por espacios de trabajo. Cada espacio de trabajo contiene y controla artefactos para un (sub)proceso. Estos artefactos suelen ser ficheros en un repositorio.

Vista de usuario.
Interfaz general para ayudar al usuario a comprender el MP y guiarlo durante su reificacin. Hay un modelo interno (cmo trabaja) y otro externo (cmo se hace).

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

54

27

Requerimientos en LMP (iii)

Elementos del metaproceso (cont.):

Modelo de Cooperacin.
Permitir modos de cooperacin secuencial y paralelo. Incluir protocolos de comunicacin de objetos. Coordinacin de acciones (ordenacin y sincronizacin).

Modelo de Versionado/Transacciones. Modelo de Calidad/Rendimiento.


Modelo de Calidad del Producto, incluye objetivos de calidad del producto y mtricas asociadas. Modelo de Rendimiento del Proceso, expresa el cumplimiento con respecto a tiempos, costes, roles, etc.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

55

Requerimientos en LMP (iv)

Un LMP se usa de diferente forma por diferentes roles durante las diferentes fases del metaproceso; por tanto, en cada fase interesan unas caractersticas diferentes en el LMP. Ejemplos:

En Especificacin de requisitos del proceso: orientado al modelado conceptual, intuitivo y con notacin fcil para los usuarios no tcnicos (grfica). En Implementacin del Proceso: debe permitir el suficiente detalle para que el MP sea reificado; por tanto, el LMP debe ser ejecutable (formal).

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

56

28

Propiedades de un LMP

Formalidad. Expresividad. Comprensibilidad. Abstraccin y modularidad. Ejecutabilidad. Analizabilidad. Soporte de evolucin. Mltiples vistas.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

57

Tecnologas tiles

Gestin de proyectos: diagramas de barras, redes de actividades. Lenguajes de especificacin formal: redes de Petri (SLANG). Notaciones informales de diseo: OO (E3), UML. Estticas: ER. De comportamiento: diagramas de transicin de estados. Funcionales: diagramas de flujo de datos. Lenguajes de programacin: ADA (APPL/A). Lenguajes de bases de datos: BD activas (ADELE). Herramientas CASE y mecanismos de integracin. Flujos de Trabajo y Trabajo en Grupo.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

58

29

Taxonoma (i)

Segn el elemento del proceso en el que se centran:

Producto: EPOS, Adele. Actividades: MARVEL, MERLIN, SLANG. Proyecto: MS-Project. Roles: PWI.

Otra clasificacin alternativa:

Funcionales: centrados en describir las actividades. De Comportamiento: centrados en cuando y como se realizan las actividades. Organizacionales: centrados en el cuando y por quin. Informacionales: centrados en los artefactos y procesos y sus asociaciones.

Otra clasificacin es segn la fase del metaproceso a la que se orientan:

elicitacin, anlisis, diseo, implementacin, reificacin, y evaluacin.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

59

Taxonoma (ii)

Formalismos utilizados en LMP:


Lenguajes de Programacin: APPL/A, JIL. Reglas: Marvel, Oz, Atlantis. Orientacin a Objetos: E3, EPOS/Spell. Grafos y gramticas: Hakoniwa. Redes de Petri: SLANG/SPADE.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

60

30

Ejemplo: MVP-L

Multi View Process Modeling Language

Desarrollado en las universidades de Maryland y Kaiserslautern (Rombach, Marsh, Lott, Brckers, Verlage). Objectivo principal:
Modelado descriptivo de grandes procesos del mundo real para comprender, analizar, guiar y mejorar los proyectos de desarrollo de software.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

61

MVP-L: constructores (i)

Modelos (Tipos) para la descripcin de

Modelos de proceso: describen procesos, flujos de informacin, y descomposicin del trabajo. Modelos de producto: atributos de los productos creados durante la ejecucin. Modelos de recurso: herramientas y personas. Los modelos pueden ser adaptados al contexto actual durante su instanciacin.

Atributos

Son globales o relacionados con uno de los 3 modelos. Sus valores corresponden a medidas de datos y estados.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

62

31

MVP-L: constructores (ii)

Objeto Ejecutable: plan del proyecto. Relaciones entre objetos:

Flujo de producto (consume, produce, ..) Flujo de control (criterios de entrada/salida de procesos, invariantes) Descomposicin/Agregacin (refinamiento) Ocultamiento de informacin (interfaz de modelo vs cuerpo de modelo)

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

63

MVP-L: representacin grfica

Producto Proceso Recurso


Entrada Salida

consume

Criterio de Entrada/Salida

produce consume_produce

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

64

32

MVP-L: ejemplo grfico


problem: PD def_requisitos: R_Def Paco: Analista_Sistemas

problem.status=complete def_requisitos.status=complete

req: RD Frank: Ana: Diseador_OO System_Analyst disear: OO_Des

def_requisitos.status=complete Problem.status=complete reqDef.status=complete disear.status=complete

ood: OODesign Jaime: Programador codificar: ST_Coding

disear.status=complete codificar.status=complete

st_code: ST
UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software 65

MVP-L: ejemplo textual


project_plan imports product_model PD, RD, OODesign, ST; process_model R_Def, OO_Des, ST_Coding; resource_model Analista_Sistemas, Diseador_OO, Programador objects problem: PD; def_requisitos: R_Def; req: RD; disear: OO_Des; ood: OODesign; codificar: ST_Coding; st_code: ST; object_relations def_requisitos(i1=>problem, o1=>req, r1=>Paco); disear(i1=>req, o1=>ood, r1=>Ana); codificar(i1=>ood, o1=>st_code, r1=>Jaime); end project_plan
UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software 66

33

Ejemplo: LMP basado en redes de Petri

SLANG:

Basado en ERnets (Environments/ Relationships)


Proporcionan una manera formal para aadir datos, funcionalidad y temporalidad a las redes de Petri

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

67

Ejemplo: LMP basado en reglas

Programacin lgica, Minsky.


r1: canPass(S,^ new(_,_), programmer) :- memberOf(S, manager). r2: canPass(S,^ new(newborn,_), 1Module) :memberOf(S, programmer), newborn.level=S.level, newborn.owner=S. r3: canPass(S, ^M, T) :- memberOf(S, programmer), T.owner=S,not(M = set(level,_). r4: canPass(S, @M, T) :- memberOf(S, user), memberOf(T, user). r5: canPass(S, @M, T) :- memberOf(S, 1Module), memberOf(T, 1Module), (S.level = T.level | S.level = T.level+1).

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

68

34

Ejemplo: LMP basado en reglas

Sistemas de produccin (Marvel).


(neverpermitted compiled-module-with-non-analyzed-proc (E (mod proc) (and (mod-proc mod proc) (mod-status mod :compiled) (not (proc-status proc :analyzed))) :repair (lambda (mod proc) (++ mod-status mod :uncompiled))) (defautomation analyze-procedure ((proc) s.t. (start (proc-status proc :unanalyzed))) (lambda (proc) (analyze proc))) (defautomation compile-module ((mod) s.t. (start (and (not (mod-status mod :compiled)) (A (proc) (implies (mod-proc mod proc) (proc-status proc :analyzed)))))) (lambda (mod) (compile-mod mod)))

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

69

Ejemplo: LMP basado en OO

E3

rbol de herencia de clases.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

70

35

Ejemplo: LMP basados en grafos:

APEL

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

71

LMPs: Propuestas de Metamodelos



Diagramas de Gantt y PERT Formato de Intercambio de Procesos (PIF) (Lee et al., 1998) Lenguaje de especificacin de procesos (PSL) (Schlenoff et al., 1998) Modelo del Proceso Unificado (UPM) (Unified Process Model, UPM) (Kruchten, 1999a) Core Plan Representation (CPR) (Pease, 1998) Definicin de Proceso de la Workflow Management Coalition (WfMC, 1998) Arquitectura de Sistemas de Informacin Integrados (ARIS) (Scheer, 1998)

Metamodelo de Procesos de Ingenier Ingeniera del Software (SPEM) (OMG, 2002c)

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

72

36

SPEM (Software Process Engineering Metamodel) (i)


z z z z

Metamodelo genrico para la creacin de modelos de procesos concretos No da soporte a la ejecucin (enactment) de los procesos Se describe como un metamodelo y como un perfil (profile) UML Modelo Conceptual de SPEM  Paquetes
Ro l
1
e s re sp o n sa b le d e

0..*

Pro d u ct o d e T ra ba j o
+ en tra da 0 ..* 0..*
P ro d u ce

9 Elementos Bsicos 9 Dependencias 9 Estructura del Proceso 9Componentes del Proceso 9 Ciclo de Vida del Proceso

1
rea l iz a

+ s alida

U sa

0..* 0..*

0..*

A c tiv id a d

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

73

SPEM (ii)
 Paquete
Mode lEle m e nt
(from Core)

Estructura del Proceso


Ope ra tion
(from Core)

Cla ssifie r
(f ro m Co re)

Pa ra m e te r
(f ro m Co re)

W orkProd uctKind
+k ind

kind : Param eterD irecti onKind

1
0 ..*

ActivityPa ra m e te r
has WorkPerArtifact : Boolean

W orkProduct
is Deliverable : Boolean 0..* +w ork Product

+subW ork 0..*

W orkDe finition 0..*

+wor k

+pe rform e r 1

Proce ssPe rform e r

0..* { orde re d}

+parentW ork

1 Activity

0..* Ste p +ste p

ActionSta te
(from Activ ityG raphs)

Proce ssRole +a ssista nt 0..*

0.. 1
+responsibleRole

+a ctivity 0..*

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

74

37

SPEM (iii)

Notacin Grfica:

SPEM no dispone de notacin grfica propia Se pueden utilizar los distintos Diagramas de UML (Clases, Paquetes, Actividad, Casos de Uso, Secuencia) para describir modelos de SPEM aadiendo iconos y estereotipos:

Actividad

Producto de Trabajo

Rol del Proceso

Fase

Gua (Tcnica)

Otros
75

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

SPEM (iv)

Diagramas de Paquetes:

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

76

38

SPEM (v)

Diagramas de Casos de Uso:

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

77

SPEM (vi)

Diagramas de Actividad:

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

78

39

El Proceso Software Contenidos (ii)

Tecnologas tiles. Taxonoma. Ejemplos:


MVP-L, LMP basado en redes de Petri, LMP basado en reglas, LMP basado en OO, LMP basado en Grafos

Entornos de Ingeniera del Software.


Conceptos bsicos. Modelo de servicios: ISO 15940.
Servicios de gestin del proceso.

EIS orientados a procesos.


Arquitectura PSEE.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

79

Entornos de Ingeniera del Software (EIS)


Coleccin de herramientas que proporcionan un soporte automtico, parcial o total, a las actividades de ingeniera del software.

Un EIS da soporte a actividades humanas mediante una serie de servicios que describen las capacidades del entorno. Mediante la automatizacin de actividades, de forma parcial o total, un EIS aporta beneficios a una organizacin: reduccin de costes (mayor productividad), mejora en la gestin, y mayor calidad en el producto final.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

80

40

EIS: Integracin

Lo que ms diferencia un EIS de un simple conjunto de herramientas ejecutndose en una computadora es el grado de integracin que provee. La integracin en un EIS abarca varias dimensiones diferentes (Wasserman, 1990):

Datos: habilidad de compartir la informacin dentro del EIS. Control: habilidad de combinar las funcionalidades ofrecidas de forma flexible. Presentacin: habilidad de interactuar con las funcionalidades del entorno mediante modos de interaccin similares. Procesos: habilidad de acceder a las funcionalidades del entorno utilizando un proceso software reificable predefinido. Marco de Trabajo: grado en que las herramientas hacen uso del marco de trabajo.
81

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

EIS: Modelo de Servicios: ISO 15940

ISO 15940: Information Technology - Software Engineering Environment Services.

Proporciona un modelo de referencia: descripcin de todos los servicios

que soportan a los procesos del ciclo de vida del software (segn ISO 12207). Cada descripcin de un servicio incluye: concepto, operaciones bsicas, y automatizacin.

En enseanza y entrenamiento de Ingeniera del Software:


Utiliza una base comnmente acordada, de conceptos y definiciones, para la presentacin de EIS. Permite ensear Ingeniera del Software basndose en un completo abanico de servicios.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

82

41

EIS: Categoras de Servicios

Los servicios de un EIS se clasifican en categoras que reflejan la amplitud de las actividades de Ingeniera del Software:

Ingeniera Tcnica Gestin Tcnica Gestin del Proyecto Gestin del Proceso Soporte Globales

(compilacin) (gestin de configuraciones) (anlisis de riesgos) (mejora de procesos) (publicacin) (gestin de objetos)

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

83

Servicios EIS: Ingeniera Tcnica

Soportan actividades relacionadas con la especificacin, diseo, implementacin, prueba y mantenimiento de software:
Prueba de software Integracin de componentes Ingeniera inversa de software Reingeniera de software Trazabilidad de software Pruebas de cualificacin de software Prototipado software Documentacin de usuario

Ing. de requisitos software Diseo software Simulacin y modelado software Verificacin de software Generacin de software basado en componentes Generacin de cdigo fuente Compilacin Anlisis esttico de software Depuracin

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

84

42

Servicios EIS: Gestin Tcnica

Soporte a actividades mixtas comunes a ingenieros y gestores:

Gestin de configuraciones. Gestin de cambios. Gestin del repositorio EIS. Reutilizacin. Coleccin y anlisis de mtricas. Aseguramiento de calidad. Auditora.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

85

Servicios EIS: Gestin del Proyecto

Soporte a actividades relacionadas con la planificacin y ejecucin de un proyecto software:

Planificacin. Estimacin. Anlisis de riesgos. Seguimiento. Evaluacin.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

86

43

Servicios EIS: Gestin del Proceso

Ayudan a los proyectos a alcanzar disciplina, control y comprensin clara de sus procesos y actividades:

Definicin de procesos. Biblioteca de procesos. Iniciacin de procesos. Utilizacin de procesos en proyectos. Supervisin de procesos. Mejora de procesos. Documentacin de procesos.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

87

Servicios EIS: Soporte

Usados por todos los usuarios. Asociados con procesar y distribuir datos en formato manejable por personas.

Soporte global. Publicacin. Soporte al trabajo en grupo. Soporte a la comunicacin de usuarios. Administracin del EIS. Cumplimiento de polticas.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

88

44

Servicios EIS: Globales

Ayudan a que la infraestructura del EIS de soporte a las aplicaciones y herramientas.

Gestin de la infraestructura del EIS. Comunicacin inter-proceso. Gestin de objetos.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

89

Servicios de Gestin del Proceso (i)

Definicin de procesos

Provee para el establecimiento de los procesos organizacionales, cubriendo el ciclo de vida del software a travs de la adaptacin y particularizacin de un conjunto de clases de procesos de referencia de alto nivel. Operaciones bsicas:
Analizar los requisitos de proceso, incluyendo los especficos del dominio y los especficos de la aplicacin. Instanciar, componer, descomponer, particularizar y modularizar definiciones de proceso. Simular, modelar y validar definiciones de proceso.

Automatizacin:
Todo lo anterior.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

90

45

Servicios de Gestin del Proceso (ii)

Biblioteca de procesos

Soporta la reutilizacin de capacidades de procesos en base a activos de proceso (assets). Un activo puede oscilar desde la definicin de una actividad simple hasta un ciclo de vida completo. Activos pueden ser objetos versionados. Operaciones bsicas:
Crear, modificar y eliminar activos de proceso. Certificar, medir y administrar activos de proceso.

Automatizacin:
Almacenamiento y versionado de activos de proceso. Procesamiento de informes de estado.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

91

Servicios de Gestin del Proceso (iii)

Iniciacin de procesos

Soporta la asignacin de un modelo de ciclo de vida (metamodelo), un conjunto de procesos, y el EIS para satisfacer los requisitos y restricciones de un proyecto particular. Operaciones bsicas:
Revisar criterios y restricciones de un proyecto y seleccionar modelo de ciclo de vida. Definir interrelaciones y particularizar procesos y actividades.

Automatizacin:
Definicin de interrelaciones y particularizacin de procesos y actividades.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

92

46

Servicios de Gestin del Proceso (iv)

Utilizacin de procesos en proyectos

Capacidades para ayudar a utilizar procesos dentro de un proyecto (p.e., asignacin de usuarios, facilidades navegacionales, etc.). Operaciones bsicas:
Ayudar sobre el proceso y facilitar orientacin para miembros del equipo del proyecto. Consultar e informar sobre utilizacin y estado de procesos. Especificar, recolectar y reportar sobre mtricas de procesos. Simular interactivamente definiciones de proceso, y gestionar representaciones de alto nivel.

Automatizacin:
Consulta y reporte de utilizacin y estado de procesos.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

93

Servicios de Gestin del Proceso (v)

Supervisin de procesos

Soporta la observacin, deteccin, registro y traza de actividades de procesos (dentro de proyectos). Operaciones bsicas:
Establecer condiciones y criterios de supervisin. Observar la evolucin en el estado de la reificacin de procesos. Detectar la ocurrencia de eventos de proceso especficos. Registrar la ocurrencia de eventos de proceso especficos.

Automatizacin:
Deteccin y registro de la supervisin. Presentacin de datos de supervisin, incluidos grficos. Distribucin de datos de supervisin.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

94

47

Servicios de Gestin del Proceso (vi)

Mejora de procesos

Soporta la evaluacin, medicin y modificacin de los procesos organizacionales y de proyectos especficos, y de los ciclos de vida de proyectos. Operaciones bsicas:
Definir objetivos de eficiencia. Identificar mediciones, relacionados con los objetivos. Establecer valores lmites para la consecucin de objetivos. Evaluar la capacidad de los procesos. Preparar informes de evaluacin que comparan los datos actuales con los buscados. Planificar las evaluaciones.

Automatizacin:
Recoleccin de datos de medidas. Preparacin de informes de evaluacin.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

95

Servicios de Gestin del Proceso (vii)

Documentacin de procesos

Da soporte para la documentacin del proceso a todos los dems servicios. Operaciones bsicas:
Identificar los requisitos de documentacin. Disear y desarrollar los documentos. Producir y editar documentos. Distribuir los documentos. Mantener dichos documentos.

Automatizacin:
Diseo, produccin y edicin de la documentacin. Distribucin y mantenimiento de la documentacin.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

96

48

Arquitectura PSEE (i)

Personal-sensitive Software Engineering


Environment.

EIS centrados en procesos. EIS basados en la Tecnologa de Proceso Software:


Soporte computerizado al proceso, es decir,
Disponibilidad de un MP, y Medios adecuados para definirlo, modificarlo, analizarlo y reificarlo.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

97

EIS orientados a procesos: Arquitectura PSEE (i) Arquitectura funcional de un PSEE segn Fugetta et al (1999)
Usuarios

Usuarios

Producto, Modelo de Procesos y Repositorio de Procesos

Capa de Comunicacin

Motor de Procesos

Canales de importacin y exportacin

Espacio de Trabajo

Espacio de Trabajo

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

98

49

EIS orientados a procesos: Arquitectura PSEE (ii)

Servicios bsicos requeridos:

Una gestin del dilogo para dar a los usuarios informacin sobre los procesos y permitirles llevar a cabo actividades. Una gestin del proceso cuya tarea es ejecutar un MP particular y coordinar las actividades concurrentes de mltiples usuarios. Una gestin del espacio de trabajo personal para cada usuario en cada uno de sus roles. Incluye todos los objetos software a los que tiene que acceder cada usuario con cada rol. Un gestor del repositorio PSEE para almacenar de forma persistente los objetos software y sus correspondientes relaciones, y poder acceder a ellos eficientemente.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

99

EIS orientados a procesos: Arquitectura PSEE (iii)

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

100

50

PSEE: Gestin del dilogo

Encapsula la interfaz de usuario de un PSEE. Incluye:

Visualizacin de procesos. Asistencia en el diseo de procesos. Computacin de agendas. Facilidades de consulta.

Habitualmente los usuarios de un PSEE pueden interactuar con diferentes roles:


desarrolladores de software, gestores de proyecto, e ingenieros de procesos.

Hay un patrn de interaccin diferente para cada rol.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

101

PSEE: Gestin del proceso

Coordina las diferentes actividades de los mltiples actores involucrados en un proyecto software. Computa el espacio de trabajo especfico de cada usuario involucrado en un proyecto de desarrollo software, reflejando el estado actual del proyecto. Incluye:

Conocimiento del proceso:


LMP, Instanciacin del proceso Gestin de restricciones

Transacciones:
Estrategias predefinidas Negociacin

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

102

51

PSEE: Gestin del espacio de trabajo

Las dos motivaciones bsicas que subyacen en la capa de gestin del espacio de trabajo son la abstraccin y el aislamiento. Los espacios de trabajo permiten a los usuarios concentrarse en sus tareas especficas abstrayendo informacin irrelevante de otras partes del proyecto. Incluye:

Creacin/borrado de espacios de trabajo Notificacin Operaciones de transferencia/unin Relaciones entre espacios de trabajo Gestin de versiones Vistas
103

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

PSEE: Gestin del repositorio (i)

Este servicio es responsable de mantener la consistencia y disponibilidad de la informacin que necesitan los otros componentes del PSEE. A esta informacin deben poder acceder al mismo tiempo diferentes usuarios del PSEE (concurrencia). Incluye:

Modelo de objetos Identidad de objetos Evolucin del esquema Transacciones ACID Disparadores
104

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

52

PSEE: Gestin del repositorio (ii)

Un proyecto de desarrollo software habitualmente genera muchas formas diferentes de datos:

datos de productos: cdigo fuente, datos de gestin de la configuracin, documentacin, ejecutables, juegos de pruebas, resultados de pruebas, simulaciones .... datos del proceso: definicin explcita de un MP, informacin del estado de la reificacin de un proceso, datos para anlisis y evolucin del proceso, datos histricos, datos de gestin del proyecto, .... datos organizacionales: informacin sobre propietarios de componentes del proyecto, roles y responsabilidades, datos de gestin de los recursos, ....

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

105

PSEE: Gestin del repositorio (iii)

Caractersticas deseables:
soporte multiusuario, eficiencia, persistencia e integridad, distribucin, heterogeneidad, Evolucin (de los datos y de los metadatos), versionado y gestin de configuracin, gestin de transacciones flexible (ACID), facilidades de consulta ad-hoc.
UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software 106

53

PSEE: Gestin de la comunicacin

Los usuarios prefieren los PSEE con una arquitectura abierta que soporte diferentes niveles de integracin. Esto es debido a que:

el soporte a proyectos tiene que manejar distintos tipos de proyectos debe ser adaptable a las necesidades cambiantes de un proyecto debe ser adaptable a los nuevos avances tecnolgicos debe ser posible aadir nuevas herramientas

Una buena tcnica para integrar las diferentes partes es usar un entorno de comunicacin. Incluye:

Adaptadores de protocolos Notificaciones Peticiones Sncronas/asncranas


107

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

PSEE: Evolucin (i)

Primera Generacin de EIS:

Aos 70 Basados en el uso de herramientas que daban soporte a actividades aisladas como la programacin o depuracin pero no al PS como tal Necesidad de integrar las herramientas aisladas
Los resultados obtenidos por una herramienta tenan que ser procesados por otra

Se segua un ciclo parecido al modelo de CV cascada


El resultado del anlisis era entrada para la herramienta de especificacin, la salida de la herramienta de especificacin era una entrada para la herramienta de diseo, etc.

Problemas derivados de este enfoque:


Modificacin de resultados en fases posteriores que invalidaban los resultados de las fases anteriores. Ejemplo:
Si un requisito apareca despus de liberar una versin del software, entonces haba dos posibles alternativas: Modificar todos los documentos para reflejarlo o modificar slo el cdigo del software con los problemas de inconsistencia derivados.

Condiciones de consistencia que afectaban a ms de un documento


Dos requisitos que deberan ser siempre probados en conjunto eran difciles de expresar y no podan ser tratadas a travs del uso de estas herramientas aisladas centradas en actividades concretas.
UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software 108

54

PSEE: Evolucin (ii)

Segunda Generacin de EIS:

Ventajas
Alto nivel de consistencia entre los documentos producidos. Gua para los desarrolladores de software a lo largo del proceso soportado. Conocimiento del estado del proceso software. Capacidad de automatizacin de partes del proceso.

Desventajas
En ocasiones el progreso del desarrollo era sobrecargado por las numerosas actividades de mantenimiento de la consistencia que deban realizar los desarrolladores. Soporte a un nico tipo de proceso software (basado en la nocin de consistencia de documentos)
109

Aos 80 Se construyeron conjuntos integrados de herramientas cada vez ms enfocadas en la nocin de PS. Centrados en mantener la consistencia entre documentos

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

PSEE: Evolucin (iii)

Primera Generacin de PSEE:

Objetivo: Proporcionar un entorno que de soporte a diferentes tipos de procesos software y fuese parametrizable a travs de un modelo de proceso que determinase su comportamiento Requisito Clave: Modelado de procesos A pesar de la obvia mejora de los PSEE sobre la segunda generacin de EIS, estos tambin presentan desventajas:
El proceso de despliegue de un PSEE puede ser una tarea tediosa y extensa debido a la complejidad de para la definicin de los PS y propensin a errores de los LMPS. Dificultades de Integracin de herramientas de soporte a actividades del PS debido a incompatibilidades

El propsito de los PSEE es guiar la ejecucin de los procesos de acuerdo al modelo de proceso software agregado. Para ello, los mecanismos empleados en muchas ocasiones siguen la filosofa de los flujos de trabajo:

se indica a los desarrolladores de software lo que tienen que hacer, en qu orden y a travs del uso de qu herramientas. Esta rigidez no es apropiada para algunas partes de los procesos software.

Consecuencias:

Los PSEE no han tenido un impacto en el desarrollo de software industrial por ahora:

ayudaron a establecer la nocin de proceso en muchas compaas, pero los PSEE comerciales disponibles an son escasos y no muy exitosos. 110

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

55

PSEE: Evolucin (y iv)

Situacin Actual:
Desde mediados de los 90 se sigue una tendencia hacia
PSEE simples:
Soporte completo a PS considerado como demasiado restrictivo, costoso y torpe

Bsqueda de PSEE:
mayor flexibilidad y menor intrusin en las tareas de los desarrolladores. Mayor atencin al trabajo colaborativo.
Los PS son human-intensive

Arquitectura distribuida vs Centralizada

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

111

PSEE: Ejemplos (i)

SPADE:

Universidad Politcnica de Milan LMP: SLANG Soporte multiusuario y paralelismo entre actividades (cada actividad concurrente se asocia con un motor de proceso) Repositorio: SGBD OO Entorno de Interaccin con el usuario: Basado en DEC FUSE (Friendly Unified Software Environment) Estructura:
Entorno de Interaccin de Usuario Entorno de Ejecucin de Proceso: Intrpretes SLANG (motores de proceso) y repositorio. Filtro de comunicacin del Entorno de Interaccin de usuario y los Motores de Proceso.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

112

56

PSEE: Ejemplos (ii)

SPADE:

Entorno de Interaccin del Usuario

Herramienta 1

Herramienta 2

Herramienta n

Herramienta 1

Herramienta 2

Herramienta n

...........

...........

Usuario 1

Servidor de Mensajes FUSE ...........

Usuario n

Servidor de Mensajes FUSE

Filtro
Interfaz de Comunicacin SPADE

PERoot

PE1

..................

PEn

Cliente O2

Cliente O2

Cliente O2

Servidor O2

BBDD OO

Entorno de Ejecucin del Proceso

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

(Process Enactment Environment, PEE)

113

PSEE: Ejemplos (iii)

APEL:

Laboratoire Logiciels, Systmes, Rseaux, en Francia Objetivos, soporte a: Interoperabilidad y Evolucin del Proceso Lenguaje APEL Arquitectura:
Arquitectura basada en control
las interacciones entre los PSEE se produce mediante llamadas a rutinas de proceso, en la que cada PSEE es una entidad autnoma que encapsula slo la parte del proceso del que es responsable

Arquitectura basada en estados,


cada PSEE comparte una representacin comn del estado del proceso global de forma que la interaccin entre PSEE es implcita (no se realizan nunca llamadas directas entre PSEE). cada PSEE de la federacin puede modificar su estado local o cambiar el estado comn como resultado de variaciones en su estado local.
UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software 114

57

PSEE: Ejemplos (iv)

APEL:
Agente SD Actividad CF/DF Producto

Control Evolucin Gestin Errores Instanciacin Texto APEL Compilador/ Intrprete


Soporte en Tiempo de Ejecucin

Editores Grficos APEL

Servidor de Estado
Interfaz de Usuario

Estado Reificado del Proceso

Motor del Proceso

Mtodos Built-in Mtodos de Usuario Herramientas de Usuario

Modelo Principal
UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

Servicios de "Enactment"
115

PSEE: Ejemplos (v)

Serendipity:

Basado en soporte al trabajo colaborativo (Computer-Supported Cooperative Work , CSCW) Lenguaje de Modelado: EVPL (Extended Visual Planning Language):
Permite tanto el modelado descriptivo de procesos indicando el trabajo a realizar, as como una extensin para modelar los eventos que intervienen en la ejecucin del proceso.

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

116

58

PSEE: Ejemplos (vi)

Serendipity:

UCLM-TSI. Curso Doctorado PSGC. Parte 2a. Gestin de Procesos Software

117

59

Вам также может понравиться