Está en la página 1de 98

Mantenimiento Avanzado de Sistemas de Informacin

2 El Mantenimiento como Proceso Software


Francisco Ruiz, Flix Garca Ciudad Real, 2005 Departamento de Informtica Escuela Superior de Informtica Universidad de Castilla-La Mancha

El Mantenimiento como 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-Dep. Informtica. Mantenimiento Avanzado de S.I. 2. 2

El Mantenimiento como Proceso Software

Contenidos (i)
Introduccin Conceptos bsicos
n n

Perspectiva Histrica del Proceso Software Tecnologa de Proceso Software


n n

Proceso de Negocio Proceso Software

Proceso vs Modelo de Proceso Modelos de Proceso


n n n

n n n n

Lenguajes de Modelado de PS (LMP).


Requerimientos en LMP. Propiedades de un LMP.

Evolucin de un PS. Metaproceso. Cuestiones pendientes.

Elementos Niveles Vistas

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 3

El Mantenimiento como Proceso Software

Contenidos (ii)
n n n

Tecnologas tiles. Taxonoma. Ejemplos:


n n n n n

Entornos de Ingeniera del Software.


n n n

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

Conceptos bsicos. Modelo de servicios: ISO 15940.


n

Servicios de gestin del proceso. Arquitectura PSEE.


2. 4

EIS orientados a procesos.


n

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

El Problema del Mantenimiento del Software

Lecturas (i)

Bsicas
n

Ruiz, F. (2003): MANTIS: Definicin de un Entorno para la Gestin del Mantenimiento de Software. Tesis Doctoral. Dep. de Informtica, Univ. de Castilla-La Mancha. Captulo 3. 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.

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 5

El Problema del Mantenimiento del Software

Lecturas (ii)
n

Complementarias
n

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 (2001): Guide to the Software Engineering Body of Knowledge; Trial version 1.00 (May-2001). Software Engineering Coordinating Committee (IEEE-CS y ACM). Captulos 1, 8, 9 y 10.

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 6

Introduccin (i)
Ingeniera del Software - Problemtica actual:
El desarrollo y mantenimiento de software es un trabajo altamente complejo. n Los proyectos software son difciles de gestionar. n 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):
n
n

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


UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

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

2. 7

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.
n n

Los objetivos principales de SWEBOK son cinco:

n n

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.
2. 8

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

Introduccin (iii)
SWEBOK considera que la IS est formada por 10
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

reas de conocimiento, y que tiene 7 disciplinas relacionadas:


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

PS

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 9

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-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 10

Proceso de negocio: caractersticas


Otras caractersticas son:
n n

n n n

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. Estn ocultos dentro de la organizacin. Se tiende a definir PN demasiado pequeos.

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 11

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-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 12

Proceso Software: apoyos

Un PS aprovecha diversas contribuciones y


conceptos:
n n

Tecnologa 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: cmo cualquier otro producto, el software debe dirigirse a clientes reales y, por tanto, est sujeto a las reglas del mercado.

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 13

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-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 14

Procesos Software: naturaleza (i)


Son complejos: No son procesos de produccin:
n n n

No son procesos de ingeniera pura:


n n n n

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.

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 15

Procesos Software: naturaleza (ii)


No son (completamente) procesos creativos:
n n

Estn basados en descubrimientos que dependen de la


comunicacin, coordinacin y cooperacin dentro de marcos de trabajo predefinidos:
n n n

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

Los entregables generan nuevos requerimientos, 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-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 16

Procesos Software: Gestin (i)

Calidad enfocada al proceso:


n

Los Procesos Software tienen una influencia directa en la calidad de los productos software:
n

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:


n n n

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

Gestin del Proceso Software


UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I. 2. 17

Procesos Software: Gestin (ii)

Responsabilidades Clave en la Gestin del PS:


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

+ Medicin
Control the Process Measure the Process

q q

Execute the Process

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 18

Perspectiva Histrica de los Procesos Software (i)

El Proceso como una caja negra


Requisitos del Producto

Proceso

Producto

n n

Slo visibilidad de las entradas y salidas No hay forma de controlar lo que sucede en el proceso Consecuencias:
n n

Grandes retrasos en la entrega Incremento significativo de los costes


2. 19

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

Perspectiva Histrica de los Procesos Software (ii)


El Proceso como una caja negra
n

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

Especificacin informal de requisitos Variabilidad de los requisitos

requisitos

Consecuencias:
n n

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)


2. 20

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

Perspectiva Histrica de los Procesos Software (iii)


Mitos (Cugola y Ghezzi, 1999):
1. 2. 3. 4. 5. 6.

Ciclos de Vida del Software Metodologas Desarrollo Formal Automatizacin Gestin y Mejora Programacin del Proceso

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 21

Perspectiva Histrica de los Procesos Software (iv)


1. Ciclos de Vida del Software
n n

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
2. 22

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

Perspectiva Histrica de los Procesos Software (v)


2. Metodologas
n n

n n

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:
n

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
2. 23

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

Perspectiva Histrica de los Procesos Software (vi)


3. Desarrollo Formal
n

Finales 60 Enfoque de desarrollo de software basado en las matemticas Los programas son entidades matemticas que pueden ser especificadas formalmente:
n

Transformacin automtica de Especificacin Formal a Cdigo

Como solucin general para el problema del software presentaba en sus orgenes algunos inconvenientes:
n n n

Imposibilidad de conocer todos los requisitos al comienzo Escalabilidad Requisitos no funcionales


2. 24

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

Perspectiva Histrica de los Procesos Software (vii)


4. Automatizacin:
n n

Aos 70, 80 La mejora de la tecnologa (HW, SW) facilita la aparicin de:


n n

Software Development Environments (SDE) Lenguajes de Cuarta Generacin

Este tipo de entornos facilitaba la tarea de programacin Inconveniente:


n

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

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 25

Perspectiva Histrica de los Procesos Software (viii)


5. Gestin y Mejora:
n n n n

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
n

Certificacin Calidad Garanta de que una organizacin software entregar productos de calidad

n n

Estos estndares y modelos incluyen prcticas que facilitan la gestin de los procesos software Aparecen ciertas limitaciones:
n n

una organizacin con certificacin de calidad obtendr siempre productos de alta calidad? Incremento de Burocracia

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 26

Perspectiva Histrica de los Procesos Software (ix)


6. Programacin del Proceso :
n n n

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
n

No hay un nico proceso de desarrollo de software

Necesidad de lenguajes para describir los procesos Modelos de Procesos:


n n

Verificables Ejecutables

Entornos para dar soporte al desarrollo, documentacin, anlisis ejecucin y evolucin de modelos de procesos
n

PSEE: Entornos de Ingeniera del Software Orientados al Proceso

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 27

Tecnologa de Proceso Software

Impacto

Controla
Proceso de Gestin Proceso de Produccin

Realimenta
Soporta

Explota Entorno de Ingeniera del Software Explota PSEE orientado al Proceso


Integra Explota Tecnologa de Gestin Integra

Tecnologa de Procesos
Proporciona

Tecnologa de Produccin

Proporciona Estandariza

Proporciona

Entorno exterior

Justifica

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 28

Tecnologa de Proceso Software

Objetivo

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

PS del un un

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 29

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.
n

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.
2. 30

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

Proceso vs MP (ii)

Pero los Ciclos de Vida no dan importancia a


procesos que son cruciales para el xito de proyectos software:
n n

n n n

Gestin de la Configuracin. Identificar medidas y mtricas, de acuerdo al aseguramiento de calidad requerido y polticas de control. Gestin de Proyectos. Mantenimiento (control de cambios, correccin de errores, ...). Reutilizacin de elementos software.
2. 31

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

Proceso vs MP (iii)

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:
n n

PSEE: Process-sensitive Software Engineering Environment. Modelo de Procesos (MP): representacin abstracta de una familia de procesos expresada en una adecuada notacin de modelado de procesos (formalismo).

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 32

Proceso vs MP (iv)
La
n

disponibilidad de un proporciona capacidades para:

MP

(computerizado)

completar procesos: soporte directo a los desarrolladores va control de su trabajo, su coordinacin con otros, etc.); automatizacin: invocacin automtica de herramientas no interactivas); direccin: soporte indirecto, como informacin del estado actual del proceso, el significado de los puntos de decisin, etc. eficiencia: un MP preciso es primordial en el aumento de la efectividad, ya que proporciona una base no ambigua para la comunicacin entre los procesos.

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 33

Proceso vs MP (v)
Los MP juegan un rol esencial en la supervisin,
simulacin, procesos:
n n

validacin,

verificacin

mejora

de

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. validacin: la simulacin y supervisin, junto con la inspeccin de modelos, permiten que las propiedades de los modelos sean determinadas. verificacin: son necesarios para probar formalmente las propiedades de inters del proceso. mejora: todas las capacidades anteriores son necesarias para la mejora de procesos.
2. 34

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

Elementos de un MP
Tiene sub Actividad Tiene entrada Tiene intermedio Tiene salida Utiliza Desarrollador Necesita Juega Rol Obedece Tiene sub Norma Herramienta Tiene sub Producto

Actividad

Recurso

Producto

Organizacin

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 35

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:
n n n n n

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


2. 36

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

Niveles de un MP (ii)
Adems, se distinguen dos dominios en cada nivel:
n

Realizacin (performance) del proceso:


n

concerniente al acto de participar en un proceso, personas y herramientas. relacionado con el acto de conducir automticamente el proceso, es decir, interpretar con ms detalle el MP.

Reificacin (enactment) del proceso:


n

Dualidad de pertenencia a los dominios:


n n n

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.
2. 37

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

Vistas de un MP (i)

Expresan un punto de inters particular en vez


del MP completo (similar a vistas en BD):
n n

Las ms habituales son:


n n n n

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-Dep. Informtica. Mantenimiento Avanzado de S.I. 2. 38

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

Evolucin de un PS (i)

Se deben considerar dos aspectos en un


entorno de produccin de software:
n

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.
2. 39

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

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.
2. 40

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

Evolucin de un PS (iii)
Hay diversas razones por las que puede cambiar un PS:
n n n

Como resultado, el proceso P del mundo real y el MP


deben evolucionar de forma conjunta y coherente.

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.

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 41

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

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:
n n

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-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 42

Cuestiones pendientes

Surgen una serie de preguntas que debemos


plantearnos e intentar responderlas:
n n n n n n n

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? ........................
2. 43

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

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:
n n

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).
2. 44

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

Requerimientos en LMP (i)


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

Actividades. Productos. Roles. Personas. Herramientas. Soporte para la evolucin (al menos del MP):
n n

a nivel tcnico (p.e., mediante reflexin o interpretacin), y a nivel conceptual (mediante un metamodelo asociado).

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 45

Requerimientos en LMP (ii)


Los elementos del metaproceso (secundarios) son:
n

Proyecto/Organizacin.
n n

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. Formado por espacios de trabajo. Cada espacio de trabajo contiene y controla artefactos para un (sub)proceso. Estos artefactos suelen ficheros en un repositorio. 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).
2. 46

Contexto de Trabajo.
n n n

Vista de usuario.
n n

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

Requerimientos en LMP (iii)


Elementos del metaproceso (cont.):
n

Modelo de Cooperacin.
n n n

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

n n

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


n

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-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 47

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:
n

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-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 48

Propiedades de un LMP

Formalidad. Expresividad. Comprensibilidad. Abstraccin y modularidad. Ejecutabilidad. Analizabilidad. Soporte de evolucin. Mltiples vistas.
UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I. 2. 49

Tecnologas tiles
Gestin de proyectos:
actividades. diagramas de barras, redes de

Lenguajes de especificacin formal: redes de Petri (SLANG). Notaciones informales de diseo: OO (E3), UML.
n n n

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.
2. 50

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

Taxonoma (i)
Segn el elemento del proceso en el que se centran:
n n n n

Otra clasificacin alternativa:


n n n n

Producto: EPOS, Adele. Actividades: MARVEL, MERLIN, SLANG. Proyecto: MS-Project. Roles: PWI. 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:
n

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


2. 51

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

Taxonoma (ii)

Formalismos utilizados en LMP:


n n n n n

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-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 52

Ejemplo: MVP-L
Multi View Process Modeling Language
n n

Desarrollado en las universidades de Maryland y Kaiserslautern (Rombach, Marsh, Lott, Brckers, Verlage). Objectivo principal:
n

Modelado descriptivo de grandes procesos del mundo real para comprender, analizar, guiar y mejorar los proyectos de desarrollo de software.

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 53

MVP-L: constructores (i)


Modelos (Tipos) para la descripcin de
n n

n n

Atributos
n n

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. Son globales o relacionados con uno de los 3 modelos. Sus valores corresponden a medidas de datos y estados.

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 54

MVP-L: constructores (ii)


Objeto Ejecutable: plan del proyecto. Relaciones entre objetos:
n n

n n

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-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 55

MVP-L: representacin grfica


Producto Proceso Recurso
Entrada Salida

consume

Criterio de Entrada/Salida

produce consume_produce

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 56

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 disear.status=complete reqDef.status=complete

ood: OODesign Jaime: Programador codificar: ST_Coding

disear.status=complete codificar.status=complete

st_code: ST
UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I. 2. 57

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-Dep. Informtica. Mantenimiento Avanzado de S.I. 2. 58

Ejemplo: LMP basado en redes de Petri


SLANG:
n

Basado en ERnets (Environments/ Relationships)


n

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

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 59

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-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 60

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-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 61

Ejemplo: LMP basado en OO


E3
n

rbol de herencia de clases.

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 62

Ejemplo: LMP basados en grafos:

APEL

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 63

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 Ingeniera del Software (SPEM) (OMG, 2002c)

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 64

SPEM (Software Process Engineering Metamodel) (i)


l l l l

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
Rol
1
es responsab le de

0..*

Elementos Bsicos
Pro d u cto d e T rabajo
+entrada 0..* 0..*
Produce

Dependencias Estructura del Proceso Componentes del

1
real i z a

+ s alida

Usa

0..* 0..*

0..*

Actividad

Proceso Ciclo de Vida del Proceso


2. 65

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

SPEM (ii)
+ Paquete

Estructura del Proceso


Parameter
(from Core)

ModelElement
(from Core)

Classifier
(from Core)

WorkProd uctKind
+kind

kind : Param eterDirectionKind

1
0 ..*

Operation
(from Core)

ActivityParameter
hasWorkPerArtifact : Boolean

WorkProduct
isDeliverable : Boolean 0..* +workProduct

+subWork 0..*

WorkDefinition 0..*

+work

+performer 1

ProcessPerformer

0..* {ordered}

+parentWork

1 Activity

0..* Step +step

ActionState
(from Activ ityGraphs)

ProcessRole +assistant 0..*

0.. 1
+responsibleRole

+activity 0..*

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 66

SPEM (iii)
Notacin Grfica:
n n

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
2. 67

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

SPEM (iv)

Diagramas de Paquetes:

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 68

SPEM (v)

Diagramas de Casos de Uso:

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 69

SPEM (vi)
Diagramas
de Actividad:

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 70

Entornos de Ingeniera del Software (EIS)


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

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: n reduccin de costes (mayor productividad), n mejora en la gestin, y n mayor calidad en el producto final.

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 71

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):
n n n n n

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.
2. 72

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

EIS

Modelo de Servicios: ISO 15940


ISO 15940:
Information Technology - Software Engineering Environment Services. n Provee un modelo de referencia: descripcin de todos los servicios

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

En enseanza y entrenamiento de Ingeniera del Software:


n n

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-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 73

EIS

Categoras de Servicios
Los servicios de un EIS se clasifican en categoras que
n n n n n n

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-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 74

Servicios EIS

Ingeniera Tcnica
Soportan actividades relacionadas con la especificacin,
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-Dep. Informtica. Mantenimiento Avanzado de S.I.

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

2. 75

Servicios EIS

Gestin Tcnica
Soporte a actividades mixtas comunes a ingenieros y
gestores:
n n n n n n n

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

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 76

Servicios EIS

Gestin del Proyecto


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

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

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 77

Servicios EIS

Gestin del Proceso


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

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

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 78

Servicios EIS

Soporte

Usados por todos los usuarios. Asociados con procesar


y distribuir datos en formato manejable por personas.
n n n n n n

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

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 79

Servicios EIS

Globales

Ayudan a que la infraestructura del EIS de soporte a las


aplicaciones y herramientas.
n n n

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

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 80

Servicios de Gestin del Proceso (i)


Definicin de procesos
n

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:
n

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. Todo lo anterior.

Automatizacin:
n

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 81

Servicios de Gestin del Proceso (ii)


Biblioteca de procesos
n

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:
n n

Crear, modificar y eliminar activos de proceso. Certificar, medir y administrar activos de proceso. Almacenamiento y versionado de activos de proceso. Procesamiento de informes de estado.

Automatizacin:
n n

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 82

Servicios de Gestin del Proceso (iii)


Iniciacin de procesos
n

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:
n

Revisar criterios y restricciones de un proyecto y seleccionar modelo de ciclo de vida. Definir interrelaciones y particularizar procesos y actividades. Definicin de interrelaciones y particularizacin de procesos y actividades.

Automatizacin:
n

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 83

Servicios de Gestin del Proceso (iv)


Utilizacin de procesos en proyectos
n

Capacidades para ayudar a utilizar procesos dentro de un proyecto (p.e., asignacin de usuarios, facilidades navegacionales, etc.). Operaciones bsicas:
n

n n n

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. Consulta y reporte de utilizacin y estado de procesos.

Automatizacin:
n

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 84

Servicios de Gestin del Proceso (v)


Supervisin de procesos
n n

Soporta la observacin, deteccin, registro y traza de actividades de procesos (dentro de proyectos). Operaciones bsicas:
n n n n

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. Deteccin y registro de la supervisin. Presentacin de datos de supervisin, incluidos grficos. Distribucin de datos de supervisin.

Automatizacin:
n n n

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 85

Servicios de Gestin del Proceso (vi)


Mejora de procesos
n

Soporta la evaluacin, medicin y modificacin de los procesos organizacionales y de proyectos especficos, y de los ciclos de vida de proyectos. Operaciones bsicas:
n n n n n n

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. Recoleccin de datos de medidas. Preparacin de informes de evaluacin.
2. 86

Automatizacin:
n n

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

Servicios de Gestin del Proceso (vii)


Documentacin de procesos
n n

Da soporte para la documentacin del proceso a todos los dems servicios. Operaciones bsicas:
n n n n n

Identificar los requisitos de documentacin. Disear y desarrollar los documentos. Producir y editar documentos. Distribuir los documentos. Mantener dichos documentos. Diseo, produccin y edicin de la documentacin. Distribucin y mantenimiento de la documentacin.

Automatizacin:
n n

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 87

Arquitectura PSEE (i)

Personal-sensitive
Environment.
n n

Software

Engineering

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


n

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

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 88

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-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 89

EIS orientados a procesos

Arquitectura PSEE (ii)


Servicios bsicos requeridos:
n n

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-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 90

EIS orientados a procesos

Arquitectura PSEE (iii)

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 91

PSEE

Gestin del dilogo


Encapsula la interfaz de usuario de un PSEE. Incluye:
n n n n

Habitualmente los usuarios de un PSEE pueden


interactuar con diferentes roles:
n n n

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

Hay un patrn de interaccin diferente para cada rol.


UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I. 2. 92

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

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:
n

Conocimiento del proceso:


n n n

LMP, Instanciacin del proceso Gestin de restricciones Estrategias predefinidas Negociacin

Transacciones:
n n

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 93

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:
n n n n n n

Creacin/borrado de espacios de trabajo Notificacin Operaciones de transferencia/unin Relaciones entre espacios de trabajo Gestin de versiones Vistas
2. 94

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

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:
n n n n n

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

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 95

PSEE

Gestin del repositorio (ii)


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

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-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 96

PSEE

Gestin del repositorio (iii)

Caractersticas deseables:
n n n n n n n n n

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.
2. 97

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

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:
n n n n

entorno de comunicacin. Incluye:


n n n

Una buena tcnica para integrar las diferentes partes es usar un


Adaptadores de protocolos Notificaciones Peticiones Sncronas/asncranas

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

UCLM-Dep. Informtica. Mantenimiento Avanzado de S.I.

2. 98

También podría gustarte