Ingeniera de Procesos Software Aplicacin a los Proyectos de Software - PowerPoint PPT Presentation

1 / 93
About This Presentation
Title:

Ingeniera de Procesos Software Aplicacin a los Proyectos de Software

Description:

Calculadora de windows. Coreprocess: estructura general (botones, n meros, pantalla) ... Calculadora. B sica. 45. Variabilidad de Procesos Software. L nea de ... – PowerPoint PPT presentation

Number of Views:250
Avg rating:3.0/5.0
Slides: 94
Provided by: GrupoA5
Category:

less

Transcript and Presenter's Notes

Title: Ingeniera de Procesos Software Aplicacin a los Proyectos de Software


1
Ingeniería de Procesos Software Aplicación a
los Proyectos de Software
  • Planificación y Gestión de Sistemas de
    Información
  • Departamento de Tecnologías y Sistemas de
    Información
  • Escuela Superior de Informática
  • Universidad de Castilla-La Mancha

2
Índice
  • Introducción
  • Ingeniería de Procesos Software
  • Modelos de Procesos Software
  • SPEM
  • Variabilidad de procesos software
  • Variabilidad en SPEM
  • E-SPEM
  • Resolución ejercicios
  • Ejercicio a entregar

3
Bibliografía
  • OMG (2007). Software Process Engineering
    Metamodel Specification. Object Management Group.
  • Ruiz, F. and Verdugo, J. (2008). Guía de Uso de
    SPEM 2.0 con EPF Composer. Grupo Alarcos, Ciudad
    Real.
  • Martínez-Ruiz, T., García, F. and Piattini, M.
    (2008). Towards a SPEM v2.0 Extension to Define
    Process Lines Variability Mechanisms. In Software
    Engineering Research, Management Applications,
    Vol. SCI 150 (Ed, Lee, R.) Springer Verlag.
    Praga, Czech Republic, pp. 115-130.

4
Índice
  • Introducción
  • Ingeniería de Procesos Software
  • Modelos de Procesos Software
  • SPEM
  • Variabilidad de procesos software
  • Variabilidad en SPEM
  • E-SPEM
  • Resolución ejercicios
  • Ejercicio a entregar

5
Introducción
  • Importancia de la planificación
  • Alcanzar los objetivos
  • Mejorar la situación de la empresa
  • Llevar a cabo un determinado proyecto
  • Creación de un software
  • Asumiendo
  • Fortalezas
  • debilidades
  • Características de la organización
  • Proyectos software
  • Esfuerzo temporal emprendido para crear un
    producto o servicio único
  • Involucran planificación en el desarrollo del
    software

6
Introducción
  • Los proyectos software son difíciles de gestionar
  • Compuestos por procesos
  • Una serie de acciones que producen un resultado
  • Los procesos se realizan por personas
  • Dos categorías respecto de los proyectos
  • De gestión de proyectos
  • Orientados al producto
  • Diferentes grupos de
  • procesos
  • Según su aplicación
  • dentro de los
  • proyectos software

7
Introducción
  • Los productos a crear son únicos
  • No todas las personas (organización) son iguales
  • Proyectos siempre diferentes
  • No existen dos procesos iguales
  • Debido a la naturaleza del producto
  • A las características y necesidades de cada
    organización
  • Necesidad de adaptar los procesos a cada proyecto
    específico
  • Procesos muy parecidos, PERO distintos
  • Tener en cuenta las diferencias

8
Índice
  • Introducción
  • Ingeniería de Procesos Software
  • Modelos de Procesos Software
  • SPEM
  • Variabilidad de procesos software
  • Variabilidad en SPEM
  • E-SPEM
  • Resolución ejercicios
  • Ejercicio a entregar

9
Ingeniería de Procesos Software
Procesos software
  • Un proceso software es
  • Un conjunto coherente de políticas, estructuras
    organizacionales, tecnologías, procedimientos y
    artefactos que son necesarios para concebir,
    desarrollar, instalar y mantener un producto
    software (Fuggeta, 2000)

10
Ingeniería de Procesos Software
Procesos software
Que hacer? Como hacerlo?
Qué va a utilizar para hacerlo??
PROCESO SW
Quien lo va a hacer??
11
Ingeniería de Procesos Software
Ejemplo de Metodología
  • Procesos de Métrica v3
  • Planificación de Sistemas de Información (PSI)
  • Desarrollo del Sistema de Información (DSI)
  • Estudio de Viabilidad del Sistema (EVS)
  • Análisis del Sistema de Información (ASI)
  • Diseño del Sistema de Información (DSI)
  • Construcción del Sistema de Información (CSI)
  • Implantación y Aceptación del Sistema (IAS)
  • Mantenimiento del Sistema de Información (MSI)

12
Índice
  • Introducción
  • Ingeniería de Procesos Software
  • Modelos de Procesos Software
  • SPEM
  • Variabilidad de procesos software
  • Variabilidad en SPEM
  • E-SPEM
  • Resolución ejercicios
  • Ejercicio a entregar

13
Modelos de procesos software
Que son?
  • Los Modelos de procesos software son una
    representación de los procesos software que se
    ejecutan dentro de una organización
  • Representan la forma de hacer las cosas dentro de
    la organización
  • El ingeniero de procesos se encarga de modelar
    los procesos
  • Diseñar como se realiza el trabajo en la
    organización
  • Facilitan la comprensión del proceso que se va a
    llevar a cabo
  • Incluyen las mejores prácticas a ejecutar

14
Modelos de Procesos Software
  • Los procesos de diferentes proyectos tienden a
    seguir patrones comunes
  • Se agrupan en el modelo de proceso, fomentando la
    homogeneidad
  • Los modelos de procesos describen los procesos
    software expresándolos en un lenguaje de modelado
    de procesos adecuado
  • Existen diversos lenguajes
  • Destaca SPEM

15
Modelos de Procesos Software
Estructura
  • Según los estándares ISO, un PS tiene una
    estructura jerárquica con varios niveles de
    agregación
  • Subprocesos (opcionales)
  • Actividades
  • Tareas
  • Unidades básicas (atómicas) de trabajo
  • Los procesos, subprocesos y actividades tienen
    asociado un flujo de trabajo

16
Modelos de Procesos Software
Vistas
  • Las más habituales son
  • De actividades tipos, estructura y propiedades
    de las actividades y sus relaciones
  • De productos tipos, estructura y propiedades de
    los ítems software de un proceso
  • De recursos describe los recursos que se
    necesitan o se suministran a los procesos
  • De roles describe un peculiar conjunto de
    recursos, como son las habilidades que los
    desarrolladores suministran y las
    responsabilidades que aceptan.
  • Nos son disjuntas una vista no puede ser
    definida sin usar conceptos de otras.

17
Índice
  • Introducción
  • Ingeniería de Procesos Software
  • Modelos de Procesos Software
  • SPEM
  • Variabilidad de procesos software
  • Variabilidad en SPEM
  • E-SPEM
  • Resolución ejercicios
  • Ejercicio a entregar

18
SPEM
Características básicas
  • SPEM (Software Process Engineering Metamodel)
  • Creado por el Object Management Group (OMG)
  • Metamodelo para el modelado
  • De procesos
  • De métodos
  • De los que se derivan los procesos
  • Perfil de UML 2
  • Para el modelado

19
SPEM
  • Separación entre método y proceso
  • Elementos específicos para representar el
    contenido del método y los procesos

20
SPEM
Características básicas
  • Idea básica de proceso

21
SPEM
Estructura de procesos
  • ProcessPackage
  • Representa un paquete con todos los elementos del
    proceso
  • Activity
  • Representa a las actividades que se ejecutan
    dentro del proceso, y los tareas, productos,
    roles asociados
  • WorkProductUse
  • Representa un producto de trabajo de entrada o
    salida, relacionado con una actividad o tarea
  • RoleUse
  • Representa al rol (persona) que lleva a cabo una
    tarea o actividad dentro del proceso
  • TaskUse
  • Representa una tarea atómica dentro de una
    actividad

22
SPEM
Ejemplo Desglose (Diagrama) de un Proceso
23
SPEM
Ejemplo Otro Diagrama del mismo procesos
24
SPEM
Ejemplo de Proceso
25
SPEM
Ejemplo de procesos
26
SPEM
Desglose de una actividad
27
SPEM
Desglose de una actividad
28
SPEM
Desglose de otra actividad
29
SPEM
Ejercicios de Procesos
  • En base al diagrama de procesos que se muestra en
    las siguiente diapositiva (Actividad de
    Especifícación de Requisitos), responda a las
    siguientes preguntas
  • Cuántas actividades se modelan?
  • Cuántas tareas aparecen en el diagrama?
  • Cuántos roles?
  • Cuál es la primera tarea que se desarrolla
  • Cuántos productos de trabajo son de entrada?

30
SPEM
Ejercicios de ejemplo (Procesos)
31
SPEM
Ejercicios de ejemplo (Procesos)
  • En base al diagrama de procesos que se muestra en
    las siguiente diapositiva (Actividad de Pruebas
    II), responda a las siguientes preguntas
  • Cuántos roles intervienen en la tarea de
    Depuración?
  • Qué tareas son realizadas por un único rol?
  • Qué productos son generados por más de una
    tarea? y utilizados?
  • Cuántos roles diferentes intervienen?
  • En cuantas tareas interviene el rol diseñador?

32
SPEM
Ejercicios
33
SPEM
Ejercicios de ejemplo (Procesos)
  • En base al diagrama de procesos que se muestra en
    las siguiente diapositiva (Actividad de Mejora de
    Procesos), responda a las siguientes preguntas
  • Cuántas tareas se han modelado?
  • Qué producto(s) NO es (son) entrada de ninguna
    tarea?
  • Qué tarea(s) se realiza(n) después de Analizar
    resultados y derivar el plan de acción?
  • Qué productos usan esa(s) tarea(s)?
  • Qué tarea produce el producto Mejoras
    Institucionalizadas?

34
SPEM
Ejercicios de Procesos
35
SPEM
Contenido del método
  • El contenido del método incluye la guia general
    para desarrollar una actividad
  • RoleDefinition
  • Es el conjunto de perfiles, competencias y
    responsabilidades de un individuo o ocnjunto de
    ellos
  • TaskDefinition
  • Identifica el trabajo se se ejectua por los
    RoleDefinition
  • Puede dividirse en pasos (steps)
  • WorkProductDefinition
  • Es el productos usado o producido por las
    TaskDefinition
  • ToolDefinition
  • Define las caracteristicas de una herramienta que
    debe utilizarse para llevar a cabo la tarea

36
SPEM
Modelado de contenido del método
  • Similar al modelado de procesos

37
SPEM
Modelado de contenido del método II
38
SPEM
Marco de Trabajo General
Configurar un marco de trabajo con procesos
integrado y adaptado para mis necesidades
(proyectos)
Crear plantillas de planes de proyecto para la
Realización de procesos en el contexto de mi
proyecto
39
SPEM- Creación de Procesos
Actividad de Especificación de Requisitos
Método para la Especificación de Requisitos
Proyecto Software
Método para la realización de Pruebas de Software
Actividad de Pruebas
. . .
40
SPEM
Diagramas
  • Diagramas de actividad Estos diagramas muestran
    el flujo entre los elementos hijos de un proceso,
    fase, actividad o iteración. Suelen utilizarse
    para mostrar la secuencia de las tareas de una
    actividad, la secuencia de las actividades de un
    proceso, etc.

La precedencia de las tareas puede indicarse
directamente en el diagrama de actividad. Los
cambios en la precedencia realizados en el
diagrama son equivalentes a realizarlos en la
estructura de desglose de trabajo.
41
SPEM
Diagramas
  • Diagrama de detalles de la actividad Este
    diagrama muestra las tareas organizadas según el
    rol responsable que las realiza, y además,
    muestra las entradas y salidas de cada tarea.

42
Índice
  • Introducción
  • Ingeniería de Procesos Software
  • Modelos de Procesos Software
  • SPEM
  • Variabilidad de procesos software
  • Variabilidad en SPEM
  • E-SPEM
  • Resolución ejercicios
  • Ejercicio a entregar

43
Variabilidad en Procesos Software
Introducción
  • No existen dos procesos iguales
  • Necesidad de adaptar los modelos de procesos y
    metodologías antes de aplicarlos
  • Cada organización tiene sus propias
    características
  • Cada proyecto también
  • Introducción de pequeñas modificaciones para que
    el proceso encaje mejor en la organización y
    proyecto
  • Durante la adaptación de los procesos se crean
    familias de procesos
  • Líneas de Procesos software
  • Buen uso de las similitudes entre procesos
  • Explotar las diferencias entre ellos

44
Variabilidad en Procesos Software
Líneas de Producto Software
  • Ejemplo
  • Calculadora de windows
  • Coreprocess estructura general (botones,
    números, pantalla)
  • Punto de variación funciones a implementar
  • Variantes diferentes funciones

Otro producto Calculadora Avanzada
Un producto Calculadora Básica
44
45
Variabilidad de Procesos Software
Líneas de Proceso Software
  • Línea de Procesos Software
  • Aplicación del enfoque de Líneas de Productos
    Software en los procesos software
  • Gestión de las similitudes y diferencias entre un
    conjunto de procesos software
  • Reuso y automatización
  • Propagación de las mejores prácticas
  • Procesos adaptados a cada proyecto
  • Facilitando su implantación en las organizaciones
  • Puede adoptar los mecanismos de variación de las
    Líneas de Productos Software
  • Parte común a todos los procesos
  • Parte variable
  • A través de variaciones puntuales

46
Variabilidad de Procesos Software
Líneas de Proceso Software
  • Modelado de variabilidad a través de
  • Puntos de variación
  • Puntos del modelo de proceso donde ocurre la
    variación
  • Variantes
  • Elementos que representan la variabilidad, y
    ocupan los puntos de variación
  • Relaciones
  • Para vincular puntos de variación y variantes
  • Dependencias y restricciones
  • Para asegurar la consistencia del modelo de
    procesos a crear
  • Estos elementos clave deben incluirse dentro de
    SPEM para que dé soporte a las Línea de Procesos
    Software

47
Índice
  • Introducción
  • Ingeniería de Procesos Software
  • Modelos de Procesos Software
  • SPEM
  • Variabilidad de procesos software
  • Variabilidad en SPEM
  • E-SPEM
  • Resolución ejercicios
  • Ejercicio a entregar

48
Variabilidad en SPEM
Mecanismos de variación de SPEM
  • En SPEM se definen cuatro tipos de variaciones
  • Contribución (contributes)
  • Herencia (extends)
  • Reemplazo (reemplaces)
  • Herencia-Reemplazo (Extends-replaces)
  • Todos ellos se definen sobre el contenido del
    Método
  • No sobre los Procesos Software
  • Los procesos se varían a través de la variación
    del método del que deriva
  • Variando el Método, varían los procesos que
    derivan de él

49
Variabilidad en SPEM
Mecanismos de variación de spem
  • Utilizaremos los métodos vistos anteriormente

50
Variabilidad en SPEM
Contributes
  • Contributes Añade las propiedades de un elemento
    E a otro EB, sin alterarlo. E no se muestra en
    las vistas generadas
  • Reglas de contribución
  • Los atributos (campos de texto) del elemento que
    contribuye se concatenan al final de los
    respectivos campos en el elemento base.
  • Las asociaciones de entrada y de salida a
    muchos del elemento que contribuye se añaden al
    elemento base.
  • En las asociaciones de entrada y de salida a 1
    (como la relación realizador principal entre
    una tarea y un rol) definidas, la relación del
    elemento que contribuye se ignora si la
    asociación existe en el elemento base.
  • Un elemento base puede recibir varias
    contribuciones.
  • La contribución es transitiva.

51
Variabilidad en SPEM
Contributes
52
Variabilidad en SPEM
Contributes (resultado)
53
Variabilidad en SPEM
54
Variabilidad en SPEM
Contributes (resultado)
55
Variabilidad en SPEM
56
Variabilidad en SPEM
Contributes (resultado)
57
Variabilidad en SPEM
Contributes
58
Variabilidad en SPEM
Contributes (resultado)
59
Variabilidad en SPEM
Replaces
  • Replaces Permite el reemplazo de un elemento EB
    por otro E, sustituyendo sus propiedades. El
    elemento EB no aparecerá en las vistas
  • Reglas
  • Los valores de los atributos de EB se reemplazan
    por los respectivos valores de los atributos no
    vacíos de E, incluyendo los identificadores.
  • Las instancias de asociación de salida de EB se
    reemplazan por las de E.
  • Las instancias de asociación de entrada con
    cardinalidad muchos de EB se amplían con las
    instancias de dichas asociaciones existentes para
    E.
  • Las instancias de asociación de entrada con
    cardinalidad uno de EB se dejan intactas. Las
    instancias incluidas en E que no están en EB se
    añaden a EB.
  • Un elemento base sólo puede ser reemplazado por
    otro único elemento en una misma configuración.
    Si se define más de un reemplazo para un mismo
    elemento base, entonces no se realizará ningún
    reemplazo.
  • El reemplazo es transitivo.

60
Variabilidad en SPEM
Replaces
61
Variabilidad en SPEM
Replaces (Resultado)
62
Variabilidad en SPEM
Replaces
63
Variabilidad en SPEM
Replaces
?
  • ?

64
Variabilidad en SPEM
Replaces
65
Variabilidad en SPEM
Replaces
66
Variabilidad en SPEM
Limitaciones a la variabilidad en SPEM
  • Definida para variar métodos, no procesos
  • Todos los elementos usados para definir procesos
    pueden variar
  • Sólo las actividades pueden variar
  • Aun así, se puede variar el método del que se
    genera el proceso y a través de esto, variar el
    proceso
  • Menos intuitivo que variar el proceso
    directamente
  • Es necesario acotar la variabilidad en elementos
    concretos de los procesos
  • Los elementos para introducir variabilidad son
    excesivamente complejos, y por tanto difícilmente
    reutilizables
  • No existe una notación específica para
    variabilidad
  • Una notación facilitará la interpretación de los
    diagramas

67
Índice
  • Introducción
  • Ingeniería de Procesos Software
  • Modelos de Procesos Software
  • SPEM
  • Variabilidad de procesos software
  • Variabilidad en SPEM
  • E-SPEM
  • Resolución ejercicios
  • Ejercicio a entregar

68
Mecanismos específicos de variabilidad en líneas
de proceso
Nuevos mecanismos de variabilidad añadidos a SPEM
  • Elementos Variant yVariation Point concretos
  • Se definen nuevos iconos para representar tanto a
    los puntos de variación como a las variantes de
    los elementos del modelado de procesos
  • En base a las Líneas de Proceso Software

69
Índice
  • Introducción
  • Ingeniería de Procesos Software
  • Modelos de Procesos Software
  • SPEM
  • Variabilidad de procesos software
  • Variabilidad en SPEM
  • E-SPEM
  • Resolución ejercicios
  • Ejercicio a entregar

70
Mecanismos específicos de variabilidad en líneas
de proceso
Nuevos mecanismos de variabilidad añadidos a SPEM
  • Relación de Occupation
  • Hereda de la relación de
  • generalización
  • Se define entre los puntos de variación y las
    variantes
  • Dependencias
  • Definidas entre los elementos de las líneas de
    proceso
  • Definición de restricciones para asegurar la
    integridad de los procesos
  • Diferentes tipos
  • Inclusión
  • Exclusión

71
Variabilidad en Líneas de Producto
Core process de Especificación de requisitos
72
Variabilidad en Líneas de Producto
Visión del proceso tal cual está configurado
actualmente
73
Resolución ejercicios de ejemplo
Especificación de requisitos
74
Variabilidad en Líneas de Producto
Inclusión del producto de trabajo inconsistencias
priorizadas
75
Variabilidad en Líneas de Producto
Inclusión del producto de trabajo inconsistencias
priorizadas
76
Variabilidad en Líneas de Producto
Incluir tarea de Guardar Requisitos
77
Variabilidad en Líneas de Producto
Incluir tarea de Guardar Requisitos. Resultado
78
Variabilidad en Líneas de Producto
Cambio de rol
79
Variabilidad en Líneas de Producto
Cambio de rol. Resultado
80
Variabilidad en Líneas de Producto
Cambio de rol
81
Variabilidad en Líneas de Producto
Cambio de rol
82
Variabilidad en Líneas de Producto
Core process y variantes II
83
Variabilidad en Líneas de Producto
Cambio en la tarea de desarrollo
84
Variabilidad en Líneas de Producto
Cambio en la tarea de desarrollo. Resultado
85
Variabilidad en Líneas de Producto
Imposibilidad de modificar la depuración
Esta variante no se puede insertar porque no hay
ningún punto de variación dispuesto para ello.
86
  • Ejercicios en las siguientes diapositivas

87
Variabilidad en Líneas de Producto
Ejercicios de Línea de Procesos
  • En base al diagrama de Línea de Procesos que se
    muestra en las siguiente diapositiva (Actividad
    de Especifícación de Requisitos), responda a las
    siguientes preguntas
  • Cuántas actividades se modelan?
  • Cuántas tareas aparecen en el diagrama?
  • Cuántos roles?
  • Cuál es la primera tarea que se ejecuta?
  • Cuántos productos de trabajo son de entrada?

88
Variabilidad en Líneas de Producto
Ejercicios de ejemplo (Línea de Procesos)
89
Variabilidad en Líneas de Producto
Ejercicios de ejemplo (Línea de Procesos)
  • En base al diagrama de Línea de Procesos que se
    muestra en las siguiente diapositiva (Actividad
    de Pruebas II), responda a las siguientes
    preguntas
  • Cuántos roles intervienen en la tarea de
    Depuración?
  • Qué tareas son realizadas por un único rol?
  • Qué productos son generados por más de una
    tarea? y utilizados?
  • Cuántos roles diferentes intervienen?
  • En cuantas tareas interviene el rol diseñador?

90
Variabilidad en Líneas de Producto
Ejercicios
91
Variabilidad en Líneas de Producto
Ejercicios de ejemplo (Línea de Procesos)
  • En base al diagrama de Línea de Procesos que se
    muestra en las siguiente diapositiva (Actividad
    de Mejora de Procesos), responda a las siguientes
    preguntas
  • Cuántas tareas se han modelado?
  • Qué producto(s) NO es (son) entrada de ninguna
    tarea?
  • Qué tarea(s) se realiza(n) después de Analizar
    resultados y derivar el plan de acción?
  • Qué productos usan esa(s) tarea(s)?
  • Qué tarea produce el producto Mejoras
    Institucionalizadas?

92
Variabilidad en Líneas de Producto
Ejercicios de Procesos
93
Índice
  • Introducción
  • Ingeniería de Procesos Software
  • Modelos de Procesos Software
  • SPEM
  • Variabilidad de procesos software
  • Variabilidad en SPEM
  • E-SPEM
  • Resolución ejercicios
  • Ejercicio a entregar

94
Ejercicios de ejemplo
Ejercicios de modificabilidad
  • A continuación se presentan tres ejercicios
    similares a los que constan en el ejercicio a
    entregar a desarrollar mañana
  • En este caso, por cada ejercicio se presentan
  • El diagrama que modela una actividad
  • El diagrama que modela el método correspondiente
    a esa actividad
  • El diagrama que modela la actividad con notación
    de línea de procesos, junto con las variantes
  • Por cada ejercicio, se pide realizar unas
    modificaciones utilizando
  • Los mecanismos de variabilidad de SPEM sobre el
    contenido del método
  • Los mecanismos de variabilidad de Línea de
    Procesos sobre la Línea de Procesos
  • Estos ejercicios están en el campus virtual
Write a Comment
User Comments (0)
About PowerShow.com