compendio de ingeniería del softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf ·...

36
MODULO I 1.2 EL PROCESO Resumen preparado por Miguel Cotaña Ingeniería de Software INF - 163 16/08/12 1

Upload: others

Post on 23-Apr-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

MODULO I

1.2 EL PROCESO

Resumen preparado por Miguel Cotaña

Ingeniería de Software INF - 163

16/08/12 1

Page 2: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

Desde el punto del vista del software hay 3 clases de entidades que podemos distinguir:

Procesos; Productos; Recursos.

Aunque es fundamental asegurar la calidad de todos, son los procesos y los productos generados los que cobran mayor importancia, ya que generalmente no es posible modificar los recursos existentes.

2

Page 3: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

La construcción del software de ordenador es un proceso iterativo de aprendizaje y el resultado es una materialización del conocimiento recolectado, depurado y organizado conforme el proceso estuvo en ejecución

3

Page 4: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

La producción de software ha evolucionado desde una actividad artesanal e individualizada hacia un proceso con una orientación industrial y sistematizada. Se trata de enfocar el problema desde una perspectiva mas controlable, verificable y mesurable.

4

Page 5: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

Las actividades, acciones y tareas asociadas a la IS se estructuran para dar lugar a los procesos del ciclo de vida del software que incluyen procesos para la adquisición, suministro, desarrollo y operación del software junto con procesos de apoyo como validación, verificación, gestión de la configuración y aseguramiento de la calidad.

5

Page 6: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

Tres aspectos del proceso

6

PROCESO DE SOFTWARE

Resultados

Aprendizaje

Definición

Page 7: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

1.- Definición del proceso Un proceso debe estar definido (documento que especifica actividades y procedimientos del proceso) 2.- Aprendizaje del proceso El conocimiento del proceso debe ser transferido a las personas (agentes) que lo ejecutarán 3.- Resultados del proceso Manifestación de los productos, como resultado de la ejecución de las actividades definidas por el proceso

7

Page 8: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

Obtener

Requisitos

NecesidadesEspecificación de

RequisitosDiseño Codigo

Diseñar

SistemaCodificar Probar

Ciclos de vidaProceso

Sistema Software

8

Page 9: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

Proceso internalizado y proceso institucionalizado

Cuando un proceso es desarrollado profesional y naturalmente por una persona, se dice que el proceso esta “internalizado” por la persona. En las organizaciones los procesos

son comunes a grupos de personas. Para obtener disciplina en los procesos, estos deben ser establecidos como “institucionalizados” en la organización.

9

Page 10: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

Ingenieria del software

[Ingeniería de software es] el establecimiento y uso de principios de ingeniería adecuados para obtener económicamente software que sea confiable y trabaje eficientemente en máquinas reales (Fritz Bauer)

teoria practica

Resolucion

de

problemas

Administracion

y gestion

Pruebas y

control de

calidad

Definicion

10

Page 11: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

Definicion segun el IEEE

La ingenieria de software es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento del software; es decir, la aplicación de la ingeniería al software

11

Page 12: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

Software Engineering Ingeniería de Software

enfoque de “calidad”

modelo de proceso

métodos

herramientas

12

Ingenieria del software: tecnologia estratificada

Page 13: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

MARCO DE TRABAJO PARA EL PROCESO

Un marco de trabajo establece la base

para un proceso de software completo al

identificar un numero pequeño de

actividades del marco de trabajo

aplicables a todos los proyectos de

software, sin importar su tamaño y

complejidad.

Abarca un conjunto de actividades

sombrilla aplicables a lo largo del

proceso del software. 13

Page 14: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

Cada actividad dentro del marco de

trabajo contiene un conjunto de

acciones de ingeniería del software; es

decir, una serie de tareas relacionadas

que produce un producto del trabajo en

la I.S. (por ejemplo, el diseño es una

acción de la I.S.).

Cada acción la forman tareas de trabajo

individuales que completan alguna parte

del trabajo implicado por la acción. 14

Page 15: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

Marco de trabajo del proceso de software

Actividades sombrilla

Marco de trabajo del proceso

Actividad del marco de trabajo #1

Tareas del trabajo

Productos del trabajo

Puntos de aseguramiento

Fundamentos del proyecto

Tareas del trabajo

Productos del trabajo

Puntos de aseguramiento

Fundamentos del proyecto

Accion de la ingenieria de software # 1.k

Accion de la ingenieria de software # 1.1

Conjunto

de tareas

.

Conjunto

de tareas

.

.

Actividad del marco de trabajo #n

Tareas del trabajo

Productos del trabajo

Puntos de aseguramiento

Fundamentos del proyecto

Tareas del trabajo

Productos del trabajo

Puntos de aseguramiento

Fundamentos del proyecto

Accion de la ingenieria de software # n.m

Accion de la ingenieria de software # n.1

Conjunto

de tareas

.

Conjunto

de tareas

.

.

15

Page 16: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

Aplicacion del marco de trabajo en proyectos

Comunicación. Esta actividad del marco de trabajo implica una intensa colaboración y comunicación con los clientes; además, abarca la investigación de requisitos y otras actividades relacionadas. Planeación. Esta actividad establece un plan para el trabajo de la ingeniería del software. Describe las tareas técnicas que deben realizarse, los riesgos probables, los recursos que serán requeridos, los productos del trabajo que han de producirse y un programa de trabajo. Modelado. Abarca la creación de modelos que permiten al desarrollador y al cliente entender mejor los requisitos del software y el diseño que logrará satisfacerlos.

16

Page 17: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

Construcción. Esta actividad combina la generación del codigo (ya sea manual o automatizado) y la realización de pruebas necesarias para descubrir errores en el código. Despliegue. El software (como una entidad completa o un incremento completado de manera parcial) se entrega al cliente, quién evalua el producto recibido y proporciona información basada en su evaluación.

17

Page 18: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

Actividades sombrilla

Seguimiento y control del proyecto de software: permite que el equipo de software evalue el progreso comparandolo con el plan del proyecto y así tomar las acciones necesarias para mantener el programa; Gestión de riesgos: evalua los riesgos que pudiera afectar los resultados del proyecto o la calidad del producto; Aseguramiento de la calidad del software: define y conduce las actividades requeridas para asegurar la calidad del software; Revisiones técnicas formales: evalua los productos del trabajo de la I.S., en un esfuerzo encaminado a descubrir y eliminar los errores antes de que éstos se propaguen; 18

Page 19: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

Medición: define y recolecta mediciones del proceso, el proyecto y el producto para ayudar al equipo a entregar software que satisfaga las necesidades del cliente; Gestión de la configuración del software: maneja los efectos del cambio a través del proceso del software; Gestión de la reutilización: define los criterios para la reutilización de productos del trabajo (se incluyen componentes del software) y establece mecanismos para la creación de componentes reutilizables; Preparación y producción: abarca las actividades requeridas para crear productos del trabajo como modelos, documentos, registros. 19

Page 20: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

INTEGRACION DEL MODELO DE CAPACIDAD DE MADUREZ

El instituto de Ingeniería del Software (SEI)

ha desarrollado un modelo completo de un

amplio proceso basado en un conjunto de

capacidades de software y de sistemas que

deben estar presentes conforme las

organizaciones alcanzan diferentes grados

de capacidad y madurez del proceso. Una

organización debe crear un modelo de

proceso que se ajuste a las directrices

establecidas por la integración del modelo

de capacidad de madurez (IMCM)

20

Page 21: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

IMCM PARA DESARROLLO: CMMI-DEV

CMMI (Capability Maturity Model

Integration) es una evolución del CMM para

software (Software Capability Maturity

Model).

CMMI, integra los modelos de madurez y

capacidad de software, ingeniería de

sistemas y desarrollo integrado de

programas.

CMMI, es un conjunto de productos (suite)

que soportan la mejora de sistema.

21

Page 22: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

Tiene como objetivo ayudar a las

organizaciones a mejorar su capacidad para

entregar los productos a sus clientes.

Puede utilizarse para mejorar toda la

organización, una división o bien una

unidad de la organización.

Ayuda a integrar los esfuerzos de mejora,

integrando aspectos tradicionalmente

separados como son gestión y desarrollo.

22

Page 23: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

¿Qué diferencia tiene CMMI

con una metodología?

¿CMMI es orientado a

objetos? ad.

CMMI, nos señala un conjunto de prácticas

que describen las características de

procesos efectivos, no indica secuencia de

ejecución

23

Page 24: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

CMMI, agrupa las mejores prácticas en lo

que se denomina “constelaciones”.

Una constelación es una colección de

componentes CMMI que se utilizan para

construir modelos, materiales de formación

y documentos de evaluación. Existen:

La de desarrollo (CMMI-DEV);

La de servicios (CMMI-SVC);

La de adquisición (CMMI-ACQ).

24

Page 25: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

El modelo IMCM (integración del modelo de

capacidad de madurez), es el modelo más

utilizado en la industria del software.

“Mide la capacidad del

proceso para desarrollar

software con calidad” ad. (predictibilidad en costos, duración, y niveles de calidad previstos)

25

Page 26: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

La IMCM representa un modelo completo de

proceso en dos formas diferentes:

1.- Como un modelo discreto

2.- Como un modelo continuo

5

4

3

2

1

0 PP GR MA GC ACPP otros

PP Planeación del proyecto

GR Gestión de requisitos

MA Medición y análisis

GC Gestión de configuración

ACPP Aseguramiento de la calidad del producto y el proceso

26

Page 27: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

MODELO DISCRETO

Esta representación utiliza conjuntos

predefinidos de áreas de procesos con

objeto de definir un camino de mejora

(niveles de madurez) para una

organización.

Cada nivel de madurez proporciona un

conjunto de áreas de proceso que definen

los diferentes comportamientos de la

organización. Cada etapa proporciona un

conjunto específico de procesos para

mejorar.

27

Page 28: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

Clasificación de acuerdo con niveles de madurez

Inicial

Gestionado

Definido

Gestionado

Los procesos son generalmente ad hoc y caóticos. El éxito depende

del personal (héroes) y no del uso de procesos probados. Se

producen productos y servicios, aunque generalemente exceden el

presupuesto y el calendario de los proyectos.

Se han logrado todas la metas genéricas y específicas. Los

requerimientos se gestionan y que los procesos se planifican,

ejecutan, miden y controlan.

Se controlan utilizando técnicas estadísticas y cuantitativas. Se

establecen objetivos cuantitativos en cuanto al rendimiento de

calidad y del proceso.

Se logran todas las metas específicas y genéricas. Los procesos

se mejoran continuamente en base a una comprensión

cuantitativa. Se centra en la mejora continua.

Nivel Características

Se logran todas las metas específicas y genéricas. Los procesos

están bien caracterizados y comprendidos, y se describen en

estándares, procedimientos, herramientas y métodos

28

Cuantitativ.

En

optimización

Page 29: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

MODELO CONTINUO

Esta representación permite a una

organización, a diferencia de la anterior,

seleccionar las áreas de proceso (o grupos

de áreas de proceso) y mejorar los

procesos relativos a ellas.

Utiliza los (niveles de capacidad) para

caracterizar la mejora relativa a un área de

proceso individual.

Una organización puede elegir mejorar el

rendimiento de un único proceso que

resuelve un problema existente, o puede

trabajar sobre varias áreas. 29

Page 30: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

Clasificación de acuerdo con niveles de capacidad

Realizado

Gestionado

Definido

Gestionado

En

optimización

Todas las metas específicas del área del proceso han sido

satisfechas. Las tareas de trabajo requeridas han sido realizadas

Todos los criterios del nivel han sido satisfechos. Todas las tareas

de trabajo y productos estan monitoreados, controlados y revisados

y son evaluados.

Los procesos están estabilizados y existe una gestión

cuántitativa. El área de proceso se controla y mejora mediante

mediciones y evaluacion cuantitativa.

La mejora de procesos es una actividad consistente y establecida

en la organización. Se adapta y mejora mediante el uso de medios

cuantitativos (estadísticos)

Nivel Características

Procesos organizativos, tanto técnicos como de gestión, están

claramente definidos.

incompleto El área de proceso aún no se realiza o todavia no alcanza todas

las metas y objetivos definidos para el nivel 1 de capacidad 30

Cuantitativ.

Page 31: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

Comparación de las representaciones

31

Discreto Continuo

Permite a las organizaciones tener un camino de mejora predefinido y probado

Da libertad explícita para seleccionar el orden de mejora que mejor satisface los objetivos de negocio de la organización y reduce las áreas de riesgo.

Se centra en un conjunto de procesos que proporcionan a una organización capacidades específicas que están caracterizadas por cada nivel de madurez

Permite una visibilidad incrementada de la capacidad lograda en cada área de proceso individual

Resume los resultados de la mejora del proceso de una forma simple, un simple número correspondiente al nivel de madurez

Permite mejorar diferentes procesos en diferentes velocidades.

Page 32: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

La IMCM define cada área del proceso en

función de “metas especificas” (ME)y de

las “prácticas especificas” (PE)

requeridas para alcanzar dichas metas.

Las ME establecen las características que

deben existir para que las actividades

implicadas por un área de proceso sean

efectivas.

Las PE convierten una meta en un conjunto

de actividades relacionadas con el proceso.

http://www.sei.cmu.edu/cmmi/

32

Page 33: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

El modelo discreto de la IMCM define las

mismas áreas, metas y prácticas del

proceso que el modelo continuo. La

principal diferencia es que el modelo

discreto establece cinco niveles de

madurez, en vez de seis niveles de

capacidad.

Para lograr un nivel de madurez se deben

conseguir metas y prácticas especificas

relacionadas con un conjunto de áreas del

proceso.

33

Page 34: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

EVALUACION DEL PROCESO

La existencia de un proceso de software

no es garantía de que este será

entregado a tiempo, de que satisfará las

necesidades del cliente, o de que

mostrara las características técnicas que

conducirán a características de calidad a

largo plazo.

Los patrones de proceso deben ir

acompañados de una practica sólida de la

I.S. 34

Page 35: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

Relacion entre proceso y métodos aplicado para evaluación

Evaluacion del

Proceso de SW

Mejoramiento del

Proceso de Sw

Determinacion

de la capacidad

Proceso del Sw

Identifica

modificaciones a

Identifica capacidades

y riesgos de

Conduce a Conduce a

motiva

Es examinado por

35

Page 36: Compendio de Ingeniería del Softwarecotana.informatica.edu.bo/downloads/el proceso-2-2012.pdf · Fundamentos del proyecto Accion de la ingenieria de software # 1.k Accion de la ingenieria

Un profesional del software creativo debe

sentir tanta satisfacción del proceso como

del producto terminado.

El trabajo que realiza la gente de software

cambiará en los años que siguen. La

dualidad del producto y el proceso es un

elemento importante para mantener a la

gente creativa comprometida mientras

finaliza la transición desde la programación

hasta la Ingeniería de Software.

Si el proceso es debil, el producto final sufrira las consecuencias

36