Upload
em3marquez
View
5.285
Download
0
Embed Size (px)
DESCRIPTION
Proceso, curso de sofrware avanzado universidad de san carlos
Citation preview
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
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).
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.
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.
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.
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
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
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
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
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
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)
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
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
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
04/13/23 Ing. de Software Modelando el Proceso -15
Incrementos e IteracionesDESARROLLO INCREMENTAL
DESARROLLO ITERATIVO
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
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
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…
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
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)
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
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
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
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
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
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?
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?