1 2 el proceso1.2 el procesocotana.informatica.edu.bo/downloads/proceso.pdf · un proceso es...
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
ó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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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