1 2 el proceso1.2 el procesocotana.informatica.edu.bo/downloads/proceso.pdf · un proceso es...

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

Upload: others

Post on 24-Jun-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

MODULO IMODULO IMODULO IMODULO I

Ingeniería de SoftwareINF - 163INF 163

1 2 EL PROCESO1.2 EL PROCESO

Resumen preparado por Miguel Cotaña07/03/081

Page 2: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

La construcción del software deordenador es un proceso iterativode aprendizaje y el resultado es

óuna materialización delconocimiento recolectado,depurado y organizado conformeel proceso estuvo en ejecución

2

Page 3: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Existen mecanismos de evaluación delproceso de software que permiten a lasproceso de software que permiten a lasorganizaciones determinar la“madurez” del proceso de softwaremadurez del proceso de software.No obstante, la calidad, el tiemporequerido la viabilidad a largo plazorequerido, la viabilidad a largo plazodel producto que se construye son losmejores indicadores de la eficacia delmejores indicadores de la eficacia delproceso que se utiliza.

3

Page 4: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Que es un proceso?Que es un proceso?

Una secuencia de pasos desarrollados para unpropósito dado, por ejemplo, el proceso dedesarrollo de software (IEEE-STD-610).d a o o d o a ( 6 0)

Curso de acción o manera de proceder(diccionario Oxford)

Un sistema de operaciones para producir algo…Un conjunto de acciones, cambios o funcionesque logran un resultado final (diccionarioque logran un resultado final (diccionarioWebmaster)Conjunto de actividades relacionadas que sonj qejecutadas en respuesta a necesidadespreviamente determinadas y consumiendorecursos para producir un producto (J. Moore)recursos para producir un producto (J. Moore)

4

Page 5: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Tres aspectos del procesoTres aspectos del proceso

1.- Definición del procesoUn proceso debe estar definido (documento queespecifica actividades y procedimientos delp a a dad y p o d o dproceso)

2 - Aprendizaje del proceso2. Aprendizaje del procesoEl conocimiento del proceso debe sertransferido a las personas (agentes) que loejecutaránejecutarán

3.- Resultados del procesoM if t ió d l d t lt dManifestación de los productos, como resultadode la ejecución de las actividades definidas porel proceso

5

Page 6: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Consideraciones acerca de los procesosConsideraciones acerca de los procesosConsideraciones acerca de los procesosConsideraciones acerca de los procesos

Los comportamientos actividades yLos comportamientos, actividades ytareas que desempeñamos para lograrun objetivo representan la ejecuciónun objetivo representan la ejecucióndel proceso para alcanzar dichoobjetivoobjetivo.

Un proceso disciplinado semanifestará en patrones ordenados ymanifestará en patrones ordenados yconsistentes de comportamientoindividual o grupalindividual o grupal

Por tanto, un proceso da forma a lasacciones y reacciones y tomamosacciones y reacciones y tomamosfrente a una determinada situación.

6

Page 7: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Ciclos de vidaProceso

Necesidades Especificación de Diseño Codigo Sistema SoftwareNecesidades Requisitos Diseño Codigo Sistema Software

Obtener DiseñarObtenerRequisitos

DiseñarSistema Codificar Probar

7

Page 8: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Proceso internalizado y proceso institucionalizadoProceso internalizado y proceso institucionalizado

Cuando un proceso es desarrolladoCuando un proceso es desarrolladoprofesional y naturalmente por unapersona se dice que el proceso estapersona, se dice que el proceso esta“internalizado” por la persona.

En las organizaciones los procesosson comunes a grupos de personasson comunes a grupos de personas.Para obtener disciplina en los procesos,estos deben ser establecidos comoestos deben ser establecidos como“institucionalizados” en laorganizaciónorganización.

8

Page 9: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Completitud y disciplina en los procesosCompletitud y disciplina en los procesos

Un proceso es incompleto si:a) El documento de definición existepero no todos saben de su existenciab) El documento de definición existe,

h it ió lpero no hay capacitación en el proceso.Se deja a iniciativa del equipo aprenderel procesoel procesoc) El documento de definición existe,existe capacitación pero no hayexiste capacitación, pero no haymonitoreo y el proceso NO es forzado asu cumplimiento. Algunos lo siguen ysu cumplimiento. Algunos lo siguen yotros no

9

Page 10: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Un proceso es disciplinado solo si secumplen las siguientes condiciones:a) El proceso esta debidamentedocumentado

ó fb) Existe y se realiza capacitación formalsobre el proceso) L i l t bl idc) Las personas siguen lo establecido

por el proceso como una manera naturalde desempeñar sus actividadesde desempeñar sus actividadesd) El proceso es monitoreado y sucumplimiento es obligatoriocumplimiento es obligatorio.

10

Page 11: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Ingenieria del softwareIngenieria del softwareIngenieria del softwareIngenieria del software

DefinicionDefinicion

[Ingeniería de software es] el

teoria practica

[Ingeniería de software es] elestablecimiento y uso de principiosde ingeniería adecuados para obtenerde ingeniería adecuados para obtenereconómicamente software que seaconfiable y trabaje eficientemente enconfiable y trabaje eficientemente enmáquinas reales (Fritz Bauer)

Resolucion

de

problemas

Administracion

y gestion

Pruebas y

control de

calidad problemascalidad

11

Page 12: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

La ingeniería de software no es cienciainformáticainformática.

“Un científico construye con el objetivo ded i i d l bj iaprender, un ingeniero aprende con el objetivo

de construir”

La distinción entre ingeniería y cienciaLa distinción entre ingeniería y cienciaen el software es el mismo que en otrasdisciplinasdisciplinas“Los científicos aprenden lo que es verdadero ycómo extender el conocimiento en su campo”cómo extender el conocimiento en su campo

“Los ingenieros aprenden lo que es verdadero, loque es útil y cómo aplicar conocimiento biénentendido para resolver problemas prácticos”

12

Page 13: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Científicos

Conocimientos enfocados y especializados

Reportan básicamente a sus colegas científicos

No necesitan licencia

IngenierosConocimientos comprobados, efectivos y confiablesp , y

de ámbito más general

Se necesita un amplio entendimiento de todos losfactores que intervienen en el desarrollo del producto.

Responsabilidad con el publico

Generalmente necesitan licencia para ejercer

13

Page 14: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Peculiaridades de la I SPeculiaridades de la I S

El producto software es enteramenteconceptual

Peculiaridades de la I.S.Peculiaridades de la I.S.

conceptual.

No tiene propiedades físicas como peso,color o voltaje y en consecuencia no estácolor o voltaje, y en consecuencia no estásujeto a leyes físicas o eléctricas.

S t l t l di t iSu naturaleza conceptual crea una distanciaintelectual entre el software y el problemaque el software resuelveque el software resuelve

Dificil para una persona que entiende elproblema entender el sistema software queproblema, entender el sistema software quelo resuleve.

P p ob e ne e io de n i temPara probar es necesario de un sistemafísico.

14

Page 15: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Areas del conocimientoAreas del conocimiento

En el ámbito académico, existen 5 áreas deconocimiento y capacidades necesarias paral i i d ftel ingeniero de software:

Ciencias de la computación, ingeniería desistemas y de software.

Plataformas específicas de hardware

Dominio de conocimiento de la aplicación

H bilid d l i t lHabilidades personales, interpersonales yética.

Cultura empresarial.

15

Page 16: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Fases genericas de la I.S.Fases genericas de la I.S.

Definición (Qué ?)

Desarrollo (Cómo ?)

Soporte (cambios)Soporte (cambios)

Corrección

Adaptación

MejoraMejora

Prevención

16

Page 17: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Relacion con otras disciplinasRelacion con otras disciplinaspp

Gestion de proyectos

Gestion de la calidad

IngenieríaIngeniería Dominios de lasIngeniería Ingeniería de softwarede softwareInformatica

y tecnologia

Dominios de las aplicaciones

ConfiabilidadSeguridad

17

Page 18: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Ingenieria del software: tecnologia estratificadaIngenieria del software: tecnologia estratificadaIngenieria del software: tecnologia estratificadaIngenieria del software: tecnologia estratificada

Definicion segun el IEEEDefinicion segun el IEEE

La ingenieria de software es laLa ingenieria de software es laaplicación de un enfoque sistemático,disciplinado y cuantificable aldisciplinado y cuantificable aldesarrollo, operación y mantenimientodel software; es decir la aplicación dedel software; es decir, la aplicación dela ingeniería al software

18

Page 19: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

La I.S. es una tecnología estratificadaLa I.S. es una tecnología estratificada

Cualquier enfoque de la ingeniería debeestar sustentado en un compromiso conla calidad.

La gestión de la calidad Total, SigmaSeis y enfoques similares fomentan unaSeis y enfoques similares fomentan unacultura de mejora continua del proceso,y es esta cultura la que al final conducey es esta cultura la que al final conduceal desarrollo de enfoques muy efectivospara la I Spara la I.S.

19

Page 20: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

El enfoque de calidad soporta a la I.S.El enfoque de calidad soporta a la I.S.q pq p

Software EngineeringIngeniería de Software

herramientasherramientas

métodosmétodos

enfoque de “calidad”enfoque de “calidad”

modelo de procesomodelo de proceso

enfoque de calidadenfoque de calidad

20

Page 21: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Modelo de procesoModelo de procesopp

La base de la I.S. es elestrato del proceso. Elproceso es el elemento queproceso es el elemento quemantiene juntos los estratosde la tecnologia y que permiteel desarrollo racional y ael desarrollo racional y atiempo del software.

21

Page 22: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

El proceso del software forma labase para el control de la gestiónde los proyectos de software yp y yestablece el contexto en el cualse aplican los métodos técnicosse aplican los métodos técnicos,se generan los productos deltrabajo (modelos documentostrabajo (modelos, documentos,datos, reportes, formatos), seestablecen los fundamentos, seasegura la calidad, y el cambio seg , ymaneja de manera apropiada.

22

Page 23: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

MétodosMétodos

Los métodos de la I.S., proporcionan losLos métodos de la I.S., proporcionan los“cómo” técnicos para construir software.Abarcan un amplio espectro de tareas queincluyen la:

Comunicación,El análisis de requisitosEl análisis de requisitos,El modelado del diseño,La construccion del programa,p g ,La realizacion de pruebas,El soporte

Los métodos se basan en un conjunto deprincipios básicos que gobierna cada área deprincipios básicos que gobierna cada área dela tecnologia.

23

Page 24: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

HerramientasHerramientas

Las herramientas de la I.S., proporcionanLas herramientas de la I.S., proporcionanel soporte automatizado osemiautomatizado para el proceso y losp p ymétodos.

Cuando las herramientas se integran deforma que la información que cree una dell d l di hellas pueda usarla otra, se dice que se ha

establecido un sistema para el soporte deldesarrollo del software que condesarrollo del software, que confrecuencia se denomina “ingeniería delsoftware asistida por ordenador”software asistida por ordenador

24

Page 25: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

MARCO DE TRABAJO PARA EL PROCESOMARCO DE TRABAJO PARA EL PROCESOMARCO DE TRABAJO PARA EL PROCESOMARCO DE TRABAJO PARA EL PROCESO

Un marco de trabajo establece la baseUn marco de trabajo establece la basepara un proceso de software completo alidentificar un numero pequeño deidentificar un numero pequeño deactividades del marco de trabajo

l bl d l daplicables a todos los proyectos desoftware, sin importar su tamaño ycomplejidad.

Abarca un conjunto de actividadessombrilla aplicables a lo largo delsombrilla aplicables a lo largo delproceso del software.

25

Page 26: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Cada actividad dentro del marco detrabajo contiene un conjunto deacciones de ingeniería del software; esdecir, una serie de tareas relacionadasque produce un producto del trabajo enque produce un producto del trabajo enla I.S. (por ejemplo, el diseño es unaacción de la I S )acción de la I.S.).

C d ió l f t d t b jCada acción la forman tareas de trabajoindividuales que completan alguna partedel trabajo implicado por la acción.

26

Page 27: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Marco de trabajo del proceso de softwareMarco de trabajo del proceso de softwarej pj p

Actividades sombrillaMarco de trabajo del proceso

Actividad del marco de trabajo #1

Tareas del trabajo

Productos del trabajo

Accion de la ingenieria de software # 1.1

Conjunto

de tareas Puntos de aseguramiento

Fundamentos del proyecto

Tareas del trabajo

Productos del trabajo

Accion de la ingenieria de software # 1.k

de tareas

.

Conjunto

de tareasPuntos de aseguramiento

Fundamentos del proyecto.

.

Actividad del marco de trabajo #n

Tareas del trabajo

Productos del trabajo

Puntos de aseguramiento

Accion de la ingenieria de software # n.1

Conjunto

de tareas Puntos de aseguramiento

Fundamentos del proyecto

Tareas del trabajo

Productos del trabajo

Puntos de aseguramiento

Accion de la ingenieria de software # n.m

.

Conjunto

de tareasPuntos de aseguramiento

Fundamentos del proyecto.

.

27

Page 28: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Aplicacion del marco de trabajo en proyectosAplicacion del marco de trabajo en proyectosAplicacion del marco de trabajo en proyectosAplicacion del marco de trabajo en proyectos

Comunicación Esta actividad del marco deComunicación. Esta actividad del marco detrabajo implica una intensa colaboración ycomunicación con los clientes; además, abarca la

ó d d dinvestigación de requisitos y otras actividadesrelacionadas.Planeación. Esta actividad establece un planPlaneación. Esta actividad establece un planpara el trabajo de la ingeniería del software.Describe las tareas técnicas que deben realizarse,l i b bl l álos riesgos probables, los recursos que seránrequeridos, los productos del trabajo que han deproducirse y un programa de trabajo.p y p g jModelado. Abarca la creación de modelos quepermiten al desarrollador y al cliente entendermejor los requisitos del software y el diseño quemejor los requisitos del software y el diseño quelogrará satisfacerlos.

28

Page 29: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

óConstrucción. Esta actividad combina lageneración del codigo (ya sea manual oautomatizado) y la realización de pruebasautomatizado) y la realización de pruebasnecesarias para descubrir errores en elcódigo.g

Despliegue. El software (como una entidadl i l d dcompleta o un incremento completado de

manera parcial) se entrega al cliente, quiénevalua el producto recibido y proporcionaevalua el producto recibido y proporcionainformación basada en su evaluación.

29

Page 30: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Recopilacion de requisitosRecopilacion de requisitosop o d qu s osop o d qu s os

O d t l ti id d d i ióOcurre durante la actividad de comunicación, ypuede ser:

Hacer una lista de los clientes para el proyecto.Invitar a todos los clientes a una reunión informalInvitar a todos los clientes a una reunión informal.Pedir a cada cliente que haga una lista de

características y funciones requeridas.y qEstablecer un debate sobre los requisitos y elaborar

una lista final.Priorizar los requisitos.Advertir las áreas de incertidumbre.

30

Page 31: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Recopilacion de requisitos para proyecto complejoRecopilacion de requisitos para proyecto complejoop o d qu s os p p oy o o p joop o d qu s os p p oy o o p jo

Hacer una lista de los clientes para el proyectoHacer una lista de los clientes para el proyecto.Entrevistar a c/u de los clientes, por separado, para

determinar de manera general sus deseos y necesidadesdeterminar de manera general sus deseos y necesidadesElaborar una lista preliminar de las funciones y

características basadas en la información que ofrezcan losclientes.

Hacer un programa de reuniones para recopilar losrequisitosrequisitos.

Conducir las reunionesProducir escenarios informales de los usuarios como

parte de cada reunión.

31

Page 32: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Refinar escenarios de los usuarios con base en elRefinar escenarios de los usuarios con base en elintercambio de información con los clientes.

Elaborar una lista revisada de los requisitos de losElaborar una lista revisada de los requisitos de losclientes

Utilizar técnicas de despliegue de funciones de calidadpara jerarquizar los requisitos.

Empaquetar los requisitos para que puedan entregarsede manera incrementalde manera incremental.

Observar las restricciones que serán puestas en elsistema

Debatir métodos para validar el sistema.

32

Page 33: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Actividades sombrillaActividades sombrillaActividades sombrillaActividades sombrilla

Seguimiento y control del proyecto deSeguimiento y control del proyecto desoftware: permite que el equipo de softwareevalue el progreso comparandolo con el plan del

í lproyecto y así tomar las acciones necesarias paramantener el programa.Gestión de riesgos: evalua los riesgos queGestión de riesgos: evalua los riesgos quepudiera afectar los resultados del proyecto o lacalidad del producto.A i t d l lid d d l ftAseguramiento de la calidad del software:define y conduce las actividades requeridas paraasegurar la calidad del software.gRevisiones técnicas formales: evalua losproductos del trabajo de la I.S., en un esfuerzoencaminado a descubrir y eliminar los erroresencaminado a descubrir y eliminar los erroresantes de que éstos se propaguen.

33

Page 34: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Medición: define y recolecta mediciones delMedición: define y recolecta mediciones delproceso, el proyecto y el producto para ayudar alequipo a entregar software que satisfaga las

d d d l lnecesidades del cliente.Gestión de la configuración del software:maneja los efectos del cambio a través delmaneja los efectos del cambio a través delproceso del software.Gestión de la reutilización: define los criterios

l tili ió d d t d l t b j (para la reutilización de productos del trabajo (seincluyen componentes del software) y establecemecanismos para la creación de componentesp preutilizables.Preparación y producción: abarca lasactividades requeridas para crear productos delactividades requeridas para crear productos deltrabajo como modelos, documentos, registros.

34

Page 35: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

INTEGRACION DEL MODELO DE CAPACIDAD DE MADUREZINTEGRACION DEL MODELO DE CAPACIDAD DE MADUREZINTEGRACION DEL MODELO DE CAPACIDAD DE MADUREZINTEGRACION DEL MODELO DE CAPACIDAD DE MADUREZ

El instituto de Ingeniería del Software (SEI)El instituto de Ingeniería del Software (SEI)ha desarrollado un modelo completo de unamplio proceso basado en un conjunto deamplio proceso basado en un conjunto decapacidades de software y de sistemas quedeben estar presentes conforme lasdeben estar presentes conforme lasorganizaciones alcanzan diferentes gradosde capacidad y madurez del proceso Unade capacidad y madurez del proceso. Unaorganización debe crear un modelo deproceso que se ajuste a las directricesproceso que se ajuste a las directricesestablecidas por la integración del modelode capacidad de madurez (IMCM)de capacidad de madurez (IMCM)

35

Page 36: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

El modelo IMCM (integración del modelo deEl modelo IMCM (integración del modelo decapacidad de madurez), es el modelo másutilizado en la industria del softwareutilizado en la industria del software.

“Mide la capacidad del “Mide la capacidad del proceso para desarrollar proceso para desarrollar

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

36

Page 37: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

La IMCM representa un modelo completo deLa IMCM representa un modelo completo deproceso en dos formas diferentes:

1.- Como un modelo continuo2.- Como un modelo discreto PP Planeación del proyecto

5

GR Gestión de requisitos

MA Medición y análisis

GC Gestión de configuración

ACPP Aseguramiento de la 5

4

3

2

ACPP Aseguramiento de la calidad del producto y el proceso

1

0PP GR MA GC ACPP otros

37

Page 38: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Clasificación de acuerdo con niveles de capacidadClasificación de acuerdo con niveles de capacidadClasificación de acuerdo con niveles de capacidadClasificación de acuerdo con niveles de capacidad

L j d ti id d i t t t bl id

Nivel Características

MejoradoLa 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)

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

DefinidoProcesos organizativos, tanto técnicos como de gestión, están claramente definidos.

AdministradoTodos los criterios del nivel han sido satisfechos. Todas las tareas de trabajo y productos estan monitoreados, controlados y revisados

RealizadoTodas las metas específicas del área del proceso han sido satisfechas. Las tareas de trabajo requeridas han sido realizadas

y son evaluados.

incompletoEl área de proceso aún no se realiza o todavia no alcanza todas las metas y objetivos definidos para el nivel 1 de capacidad

38

Page 39: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

La IMCM define cada área del proceso enLa IMCM define cada área del proceso enfunción de “metas especificas” (ME)y delas “prácticas especificas” (PE)las prácticas especificas (PE)requeridas para alcanzar dichas metas.Las ME establecen las características queLas ME establecen las características quedeben existir para que las actividadesimplicadas por un área de proceso seanimplicadas por un área de proceso seanefectivas.Las PE convierten una meta en un conjuntoLas PE convierten una meta en un conjuntode actividades relacionadas con el proceso.

39

Page 40: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

El modelo discreto de la IMCM define lasEl modelo discreto de la IMCM define lasmismas áreas, metas y prácticas delproceso que el modelo continuo Laproceso que el modelo continuo. Laprincipal diferencia es que el modelodiscreto establece cinco niveles dediscreto establece cinco niveles demadurez, en vez de cinco niveles decapacidadcapacidad.Para lograr un nivel de madurez se debenconseguir metas y prácticas especificasconseguir metas y prácticas especificasrelacionadas con un conjunto de áreas delprocesoproceso.

40

Page 41: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Relacion entre niveles de madurez y las areas del procesoRelacion entre niveles de madurez y las areas del procesoRelacion entre niveles de madurez y las areas del procesoRelacion entre niveles de madurez y las areas del proceso

NIVEL ENFOQUE AREAS DEL PROCESO

De Mejora continua Innovacion organizacional y despliegueDe optimizacion

Mejora continuadel

Proceso

Innovacion organizacional y despliegueAnalisis causal y resolucion

Gestionadod d

Gestion C tit ti

Eejecucion del proceso organizacionalG ti tit ti d l tde modo

cuantitativoCuantitativa Gestion cuantitativa del proyecto

definido EstandarizacionDel proceso

Desarrollo de requisitosSolucion tecnicapIntegracion del productoVerificacionValidacionEnfoque del proceso organizacionalq p gCapacitacion organizacionalGestion de riesgos

Gestionado Gestionbasica del

Gestion de requisitosPlaneacion del proyectobasica del

ProyectoPlaneacion del proyectoMonitoreo y control del proyectoGestion de acuerdos del proveedorMedicion y analisisAseguramiento de calidad del producto y procesoAseguramiento de calidad del producto y procesoGestion de la configuracion

Ejecutado41

Page 42: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

PATRONES DEL PROCESOPATRONES DEL PROCESOPATRONES DEL PROCESOPATRONES DEL PROCESO

El proceso de software puede definirse como unap pcolección de patrones que definen un conjuntode actividades, acciones, tareas de trabajo o, , jcomportamientos relacionados que requiere eldesarrollo de un software para ordenador.desa o o de u so t a e pa a o de adoUn patrón de proceso ofrece una plantilla: unmétodo consistente para describir unamétodo consistente para describir unacaracterística importante del proceso desoftware. Mediante la combinación de patrones,software. Mediante la combinación de patrones,un equipo de software puede construir unproceso que satisfaga las necesidades de unproceso que satisfaga las necesidades de unproyecto.

42

Page 43: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Los patrones pueden definirse en cualquiergrado de abstracción. En algunos casos se puedeutilizar un patrón para describir un procesocompleto (prototipo).p (p p )En otras situaciones se utilizan los patrones paradescribir una actividad del marco de trabajojimportante (como la plantación) o una tareadentro de una actividad del marco de trabajoj(por ejemplo, la estimación de un proyecto)

43

Page 44: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Plantilla para describir un patron de procesoPlantilla para describir un patron de procesoPlantilla para describir un patron de procesoPlantilla para describir un patron de proceso

Nombre del patrón Al patrón se leNombre del patrón. Al patrón se leasigna un nombre significativo(comunicación con el cliente)(comunicación con el cliente).Propósito. Se describe con brevedadel objetivo del patrón Por ejemplo elel objetivo del patrón. Por ejemplo, elobjetivo de la comunicación con elcliente es “establecer una relación decliente es establecer una relación decolaboración con el cliente” en unesfuerzo encaminado a definir elesfuerzo encaminado a definir elalcance del proyecto y requisitos delnegocionegocio.

44

Page 45: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Tipo. Se especifica el tipo de patrón.(A bl ) i i(Ambler) sugiere tres tipos:

Los patrones de tarea definen una acción dela I S o una tarea de trabajo que es parte della I.S., o una tarea de trabajo que es parte delproceso y relevante para una práctica exitosa dela I.S. (por ejemplo, la recopilación dela I.S. (por ejemplo, la recopilación derequisitos es un patrón de tarea.

Los patrones de escenario, incorpora multiplespatrones de tarea relevantes. Un ejemplo, es lacomunicación.

Los patrones de fase definen la secuencia deLos patrones de fase definen la secuencia deactividades del marco de trabajo. Un ejemplo,modelo en espiral o de construcción demodelo en espiral o de construcción deprototipos.

45

Page 46: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Contexto inicial Se describen lasContexto inicial. Se describen lascondiciones en las cuales se aplica elpatrónpatrón.Problema. Se describe el problemaque debe resolver el patrónque debe resolver el patrón.Solución. Se describe la implentaciondel patróndel patrón.Contexto reultante. Se describen lascondiciones que habra una vez que elcondiciones que habra una vez que elpatrón haya sido implementado conéxitoéxito.

46

Page 47: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Patrones relacionados. Seproporciona una lista de todos losproporciona una lista de todos lospatrones de proceso directamenterelacionados con este en formarelacionados con este, en formajerárquica o de alguna otra forma.Usos conocidos/ejemplos SeUsos conocidos/ejemplos. Seindican los ejemplos específicos en loscuales el patron es aplicablecuales el patron es aplicable.

47

Page 48: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

EVALUACION DEL PROCESOEVALUACION DEL PROCESOEVALUACION DEL PROCESOEVALUACION DEL PROCESO

La existencia de un proceso de softwareLa existencia de un proceso de softwareno es garantía de que este será

d i d i f á lentregado a tiempo, de que satisfará lasnecesidades del cliente, o de quemostrara las características técnicas queconducirán a características de calidad aconducirán a características de calidad alargo plazo.L t d d b iLos patrones de proceso deben iracompañados de una practica sólida de laI.S.

48

Page 49: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

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

Proceso del Sw

Evaluacion del

Identifica

modificaciones a

Identifica capacidades

y riesgos deEs examinado por

Evaluacion del

Proceso de SW

Conduce a Conduce a

Mejoramiento del

Proceso de Sw

Determinacion

de la capacidadmotiva

49

Page 50: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

MODELOS DE PROCESO PERSONALES Y EN EQUIPOMODELOS DE PROCESO PERSONALES Y EN EQUIPOMODELOS DE PROCESO PERSONALES Y EN EQUIPOMODELOS DE PROCESO PERSONALES Y EN EQUIPO

El mejor proceso de software es el queEl mejor proceso de software es el queesta cerca de la gente que realizará el

b j Si d l d dtrabajo. Si un modelo de proceso desoftware ha sido desarrollado en unámbito corporativo, puede ser efectivosólo si es en gran medida adaptable parasólo si es en gran medida adaptable parasatisfacer las necesidades del equipo del

t l lid d llproyecto, que es el que en realidad llevaa cabo el trabajo de I.S.

50

Page 51: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

En un escenario ideal cada ingeniero deEn un escenario ideal, cada ingeniero desoftware crearía un proceso que llene lo

j ibl i id dmejor posible sus propias necesidades yal mismo tiempo satisfaga las ampliasnecesidades del equipo y la organización.De modo alternativo el equipo mismoDe modo alternativo, el equipo mismocrearía su propio proceso, y al mismoti b i í l id dtiempo cubriría las necesidades masreducidas de los individuos y lasnecesidades amplias de la organización.

51

Page 52: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

PROCESO DE SOFTWARE PERSONAL (PSP)PROCESO DE SOFTWARE PERSONAL (PSP)PROCESO DE SOFTWARE PERSONAL (PSP)PROCESO DE SOFTWARE PERSONAL (PSP)

El modelo PSP define 5 actividades delmarco de trabajo:marco de trabajo:Planeación. Esta actividad seleccionarequisitos y, con base en estos, desarrollael tamaño y la estimación de recursos.yAdemás, se estiman los defectos. Todaslas mediciones se registran en hojas delas mediciones se registran en hojas detrabajo o en plantillas.Diseño de alto nivel. Se construyenprototipos. Todos los elementos sep pregistran y rastrean.

52

Page 53: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Revisión del diseño de alto nivel. Losmétodos formales de verificación se aplican amétodos formales de verificación se aplican aerrores descubiertos en el diseño. Lasmediciones se mantienen para todas lasmediciones se mantienen para todas lastareas importantes.Desarrollo. El diseño al nivel decomponente se refina y revisa. Se genera,revisa, compila y prueba el código. Lasmediciones de mantienen.Análisis de resultados. Mediante lasmediciones y medidas recolectadas semediciones y medidas recolectadas sedetermina la efectividad del proceso.

53

Page 54: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

PROCESO DE SOFTWARE EN EQUIPO (PSE)PROCESO DE SOFTWARE EN EQUIPO (PSE)PROCESO DE SOFTWARE EN EQUIPO (PSE)PROCESO DE SOFTWARE EN EQUIPO (PSE)

La meta del PSE es construir un equipo deproyecto “autodirigido” que se organiceproyecto autodirigido que se organicepara producir software de alta calidad.Humphrey define los siguientes objetivos:

Construir equipos autodirigidos queq p g qplaneen y tengan un seguimiento de sutrabajo establezcan metas y posean sustrabajo, establezcan metas y posean susprocesos y planes.

Mostrar a los jefes como preparar ymotivar a sus equipos y como ayudarlos aq p y ysostener un alto desempeño.

54

Page 55: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

Acelerar el mejoramiento del procesode oft e l e li on elde software al realizar, con elcomportamiento normal y esperado.

Ofrecer una guía de mejoramiento aorganizaciones de alta madurez.organizaciones de alta madurez.

Facilitar la enseñanza de habilidades deequipo de calidadequipo de calidad.

55

Page 56: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

El PSE define las siguientes actividadesEl PSE define las siguientes actividadesdel marco de trabajo:

LanzamientoDi ñ d lt i lDiseño de alto nivelImplementaciónI t ió bIntegración y pruebaAnálisis de resultados

56

Page 57: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

El PSE reconoce que los mejores equiposEl PSE reconoce que los mejores equiposde software son autodirigidos. Los

i b d l i l lmiembros del equipo plantean losobjetivos del proyecto, adaptan elproceso para cubrir sus necesidades,controlan el programa y la medición y elcontrolan el programa y la medición y elanálisis de las medidas recolectadas;d á t b j d tiademás, trabajan de manera continua

para mejorar el enfoque del equiporespecto de la I.S.

57

Page 58: 1 2 EL PROCESO1.2 EL PROCESOcotana.informatica.edu.bo/downloads/PROCESO.pdf · Un proceso es incompleto si: a) El documento de definición existe ... 9Plataformas específicas de

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

Un profesional del software creativo debe

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

sentir tanta satisfacción del proceso como del producto terminado.del producto terminado.

El trabajo que realiza la gente de software 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 p ghasta la Ingeniería de Software.

58