27
10/27/22 Ing. de Software 1 CH2-1 El proceso de desarrollar software (organización y disciplina en las actividades) contribuyen a la calidad del software y a la velocidad con que se desarrolla * Significado del Proceso - seguir, escribir * Modelos de Proceso de Software * Herramientas y Técnicas * Modelado en la Práctica Vida Puntos a tratar

Proceso ( software )

Embed Size (px)

DESCRIPTION

Proceso, curso de sofrware avanzado universidad de san carlos

Citation preview

Page 1: Proceso ( software )

04/13/23 Ing. de Software 1CH2-1

El proceso de desarrollar software (organización y disciplina en las actividades) contribuyen a la calidad del software y a la velocidad con que se desarrolla

* Significado del Proceso - seguir, escribir

* Modelos de Proceso de Software

* Herramientas y Técnicas

* Modelado en la Práctica

Modelando el proceso y el Ciclo de Vida Puntos a tratar

Page 2: Proceso ( software )

04/13/23 Ing. de Software Modelando el Proceso -2

Significado del proceso

• Conjunto ordenado de tareas como Proceso: serie de pasos con actividades, restricciones y recursos que producen una salida de cierto tipo.

• Cuando el proceso involucra la construcción de un producto, a veces se menciona como Ciclo de Vida (del producto).

Page 3: Proceso ( software )

04/13/23 Ing. de Software Modelando el Proceso -3

Siguiendo un Proceso

• Un proceso es un conjunto de procedimientos (receta), organizado para construir productos que satisfacen una seria de objetivos y estándares.

• Los procesos son importantes porque imponen consistencia y estructura en un conjunto de actividades.

• Sabemos cómo hacer algo bien y queremos forzar que otros lo hagan de la misma forma.

Page 4: Proceso ( software )

04/13/23 Ing. de Software Modelando el Proceso -4

Escribiendo un Proceso (un “programa” que otros deben seguir)

• Prescribir todas las actividades principales• Usa recursos sujeto a restricciones• Puede estar compuesto de subprocesos• Cada actividad tiene un criterio de

entrada y otro de salida• Las Actividades están organizadas en una

secuencia. • Establecer los objetivos de cada actividad.

Page 5: Proceso ( software )

04/13/23 Ing. de Software Modelando el Proceso -5

Modelos de Proceso de Software

• Prescripciones de la forma en que el desarrollo de software debería llevarse a cabo.

• Descripciones de la forma en que el desarrollo se lleva a cabo realmente.

• Cada modelo de desarrollo de software incluye los requerimientos del sistema como entrada y el producto librado al uso como salida.

Page 6: Proceso ( software )

04/13/23 Ing. de Software Modelando el Proceso -6

Modelo CascadaANALISIS DE

REQUERIMIENTOS

DISEÑO DEL SISTEMA

DISEÑO DE PROGRAMAS

IMPLEMENTACION DE PROGRAMAS

PRUEBA UNITARIA Y DE INTEGRACION

PRUEBA DEL SISTEMA

PRUEBA DE ACEPTACION

OPERACIONY MANTENIMIENTO

Page 7: Proceso ( software )

04/13/23 Ing. de Software Modelando el Proceso -7

(Proceso de desarrollo en la realidad) ANALISIS DE

REQUERIMIENTOS

DISEÑO DEL SISTEMA

DISEÑO DE PROGRAMAS

IMPLEMENTACION DE PROGRAMAS

PRUEBA UNITARIA PRUEBA DE

INTEGRACION

PRUEBA DEL SISTEMA

LIBRAR AL USO

MANTENIMIENTO

Page 8: Proceso ( software )

04/13/23 Ing. de Software Modelando el Proceso -8

Cascada c/prototipos

ANALISIS DE REQUERIMIENTOS

DISEÑO DEL SISTEMA

DISEÑO DE PROGRAMAS

IMPLEMENTACION DE PROGRAMAS

PRUEBA UNITARIA Y DE INTEGRACION

PRUEBA DEL SISTEMA

PRUEBA DE ACEPTACION

OPERACIONY MANTENIMIENTO

PROTOTIPADO

Validar

Verificar

Page 9: Proceso ( software )

04/13/23 Ing. de Software Modelando el Proceso -9

Modelo VANALISIS DE

REQUERIMIENTOS

DISEÑO DEL SISTEMA

DISEÑO DE PROGRAMAS

IMPLEMENTACION DE PROGRAMAS

PRUEBA UNITARIA Y DE INTEGRACION

PRUEBA DEL SISTEMA

PRUEBA DE ACEPTACION

OPERACIONY MANTENIMIENTO

Verificar diseño

Validar requerimientos

Page 10: Proceso ( software )

04/13/23 Ing. de Software Modelando el Proceso -10

Modelo de PrototipaciónLISTA DE

REVISIONESLISTA DE

REVISIONESLISTA DE

REVISIONES

PROTOTIPARREQUERIMIENTOS

PROTOTIPARDISEÑO

PROTOTIPARSISTEMA

PRUEBA

SISTEMA LIBRADO AL USO

REQUERIMIENTOS DEL SISTEMA

(a veces informales o incompletos)

revisarprototipo

revisión de usuario/cliente

Page 11: Proceso ( software )

04/13/23 Ing. de Software Modelando el Proceso -11

Especificación Operacional: los requerimientos se ejecutan utilizando un producto de software

PRUEBA

SISTEMA LIBRADO AL USO

Ejecutar yRevisar

ESPECIFICACIONOPERACIONAL

(orientada al problema)

ESPECIFICACION TRANSFORMADA(orientada a la

implementación)

REQUERIMIENTOS DEL SISTEMA

(a veces informales o incompletos)

Page 12: Proceso ( software )

04/13/23 Ing. de Software Modelando el Proceso -12

Modelo TransformacionalComparar

con requerimien

tos; actualizar si se necesita

ESPECIFICACIONFORMAL

TRANSFORM. N. .

TRANSFORM. 2

TRANSFORM. 1

REGISTRO FORMAL DEL DESARROLLO

Secuencia de transformaciones+ sus justificaciones

REQUERIMIENTOS DEL SISTEMA

(a veces informales o incompletos)

SISTEMA LIBRADO AL USO

PRUEBA

Page 13: Proceso ( software )

04/13/23 Ing. de Software Modelando el Proceso -13

Desarrollo en Fasescon liberaciones parciales

Sistemas en Desarrollo

Sistemas en Producción

DES

AR

RO

LLA

-D

OR

ES

USU

AR

IOS

Construir liberación 1

Usar Lib. 1

Construir liberación 2

Usar Lib. 2

Construir liberación 3

Usar Lib. 3

Tiempo

Page 14: Proceso ( software )

04/13/23 Ing. de Software Modelando el Proceso -14

Desarrollo en Fasescon evaluaciones parciales

Sistemas en Desarrollo

Sistemas en Evaluación

DES

AR

RO

LLA

-D

OR

ES

USU

AR

IOS

Construir liberación 1

Evaluar Lib. 1

Construir liberación 2

Evaluar Lib. 2

Construir liberación 3

Evaluar Lib. 3

Tiempo

Page 15: Proceso ( software )

04/13/23 Ing. de Software Modelando el Proceso -15

Incrementos e IteracionesDESARROLLO INCREMENTAL

DESARROLLO ITERATIVO

Page 16: Proceso ( software )

04/13/23 Ing. de Software Modelando el Proceso -16

Modelo Espiral

Planificar Desarrollar y Probar

Determinar Objetivos,Alternativas y Restricciones

Evaluar Alternativas y Riesgos

startRequirims,plan ciclo/vida

Presupto1

Alternativas1

Restriccs1

An. Riesgos1

An.Riesgos2

An.Riesgos3

Análisis de Riesgos4

Restriccs2

Restriccs3

Restriccs4

Prespto2Prespto3Prespto4

Altern

ativas 2

Altern

ativ

as3

Altern

ativ

as4

Prototipo1

Proto-tipo2

Proto-tipo3

Proto-tipo4

Concepto deoperacion

Reqs.

de

Softwar

e

Requers.

Validados

Plan de Desarrollo

Plan de Integracion

y Pruebas

Diseñ

o de

So

ftwar

e

Diseño Validado,

y verificado

Diseño Detallado

Codificación

Prueba Unitaria

Prueba del SistemaPrueba de

AceptaciónPlan de

Implantación

Page 17: Proceso ( software )

04/13/23 Ing. de Software Modelando el Proceso -17

Modelo de Proceso y de Ciclo de Vida

• La preocupación por el “Proceso” (fin de los ’80) es más reciente que la definición del “Ciclo de Vida” (fin de los ’60)

• En general se asocia a la noción de modelo de proceso un mayor detalle y precisión

• Los modelos previos presentan en general poco nivel de detalle y fueron propuestos originalmente como modelos de Ciclo de Vida

Page 18: Proceso ( software )

04/13/23 Ing. de Software Modelando el Proceso -18

Herramientas y Técnicas para el Modelado de Procesos• Elegir un lenguaje o notación• Tener claro objetivos del modelo

Detalle (granularidad)Describir-prescribirPredecir (requiere agregar relaciones

cuantitativas entre elementos)Ejecutar (asistir en el uso)

• Vamos a ver algunos ejemplos…

Page 19: Proceso ( software )

04/13/23 Ing. de Software Modelando el Proceso -19

Esquema ETVX

• Entry Task Verification eXit• Entry: Condiciones necesarias para poder

cumplir una tarea• Task: Tarea que se lleva a cabo

Quién y con qué responsabilidad

• Verification: Criterios para verificar que concluyó de forma adecuada (a veces se le menciona como Validation)

• eXit: Resultados a obtener

Page 20: Proceso ( software )

04/13/23 Ing. de Software Modelando el Proceso -20

Notación de Lai

• Artefacto, subartefacto, Actividad,subActividad, Rol, Operación, Análisis

• Tablas de estado muestran información referida a cuán completo está un artefacto en un instante dado

• Tablas de estado muestran cómo puede operar el proceso sobre los artefactos

• Diagramas de transición de estado muestran cómo se relacionan unos estados con otros (máquina de estados compuestos)

• Formularios para definir cada tipo de elemento (en los que se especifican las relaciones)

Page 21: Proceso ( software )

04/13/23 Ing. de Software Modelando el Proceso -21

Lai- relaciones entre elementos

Actividad

Operación

Rol

Artefacto

Estado-P(roceso)

Estado- A(rtefacto)

Análisis

Ejecuta

Ejecuta

Ejecuta Manipula

Sub-actividad

Sub-artefacto

compuesto por controlaRefiere a

cambia

Refiere a

proceso artefacto

Page 22: Proceso ( software )

04/13/23 Ing. de Software Modelando el Proceso -22

Lai – Formulario para operación

Componente Definición

Pre-Condición Predicado en Estado-A para poder realizarla

Artefacto El artefacto manipulado por la operación

Acción La función a ser relizada por la operación

Rol Lista de roles habilitados

Post-Condición Predicados sobre Estado-A

Page 23: Proceso ( software )

04/13/23 Ing. de Software Modelando el Proceso -23

Modelo de Factores que inciden en la productividad (Abdel-Hamid 96)

Porción de personal experiente

Productividad potencial nominalde personal experiente

Productividad potencialpromedio nominal

Productividad potencial nominal de personal nuevo

Productividad potencial

% completadodel proyecto

Multiplicadorde aprendizaje

Sobre/bajo Tolerancia del trabajo

Porción real de persona-díaen el proyecto

Presión del Calendario

Pérdidas por motivación y comunicación

Tamaño del equipo

Esfuerzo adicional de comunicación

Productividad de Desarrollo

Page 24: Proceso ( software )

04/13/23 Ing. de Software Modelando el Proceso -24

Estructura del Desarrollo de Software (Abdel-Hamid 96)

Pérdidas del Proceso

Detección y Corrección de Errores

Productividad potencial

Personal

Tasa deincorporaciónde personal

Mezcla de experienciadel personal

Nivel de Personalpercibido comonecesario

Presión del Calendario

Fecha estimada deTerminación

Estado percibido del proyecto

Productividad Percibida

Esfuerzode Q A

Tasa deErrores

Aprendizaje

PRODUCCION DE SOFTWARE

Tasa debajas

GESTION DE RRHH

CONTROLPLANIFICACION

Ajustes aPersonal yCalendario

Fecha Planificadade Terminación

Tareas percibidascomo terminadas

Nivel de precisiónen medir el avance

Esfuerzo faltante percibido

Productividad Real

Tasa deDesarrollode SW

Page 25: Proceso ( software )

04/13/23 Ing. de Software Modelando el Proceso -25

Modelado de Proceso¿Para qué?

• Entender el proceso (real o propuesto)Revelar inconsistencias, problemas (base para

la mejora)

• Simulación del proceso y planificación del proyectoPoco nivel de detalle adicional necesarioFactores que afectan la productividad global.Relaciones (cuantificadas) entre los factores. Soportados por sw que simulan el proceso.

• Guía en la ejecución real del procesoSe precisa agregar múltiples detalles

Page 26: Proceso ( software )

04/13/23 Ing. de Software Modelando el Proceso -26

Preguntas• ¿Qué ventajas presenta el modelo en cascada?• ¿Qué problemas presenta este modelo para

atacar proyectos de envergadura?• ¿Qué aporta la construcción de prototipos?• ¿Qué incorpora el modelo V del modelo respecto

al modelo en cascada?• ¿Qué ventajas presenta el desarrollo en Fases

con liberaciones parciales?• ¿Qué diferencias presenta con el desarrollo en

Fases con evaluaciones parciales?• ¿Qué aspecto introduce el Modelo en Espiral?

Page 27: Proceso ( software )

04/13/23 Ing. de Software Modelando el Proceso -27

Preguntas (2)• ¿Para qué sirve el esquema ETVX?• ¿Para qué nos puede interesar modelar un

proceso?• ¿Los modelos de Abdel Hamid son descriptivos o

prescriptivos?