Académique Documents
Professionnel Documents
Culture Documents
Puntos a tratar
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
Ing. de Software
CH2-1
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).
Ing. de Software
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.
Ing. de Software
Escribiendo un Proceso
(un “programa” que otros deben seguir)
Ing. de Software
ANALISIS DE
Modelo Cascada
REQUERIMIENTOS
DISEÑO DEL
SISTEMA
DISEÑO DE
PROGRAMAS
IMPLEMENTACION
DE PROGRAMAS
PRUEBA UNITARIA
Y DE INTEGRACION
PRUEBA DEL
SISTEMA
PRUEBA DE
ACEPTACION
OPERACION
Y MANTENIMIENTO
Ing. de Software
(Proceso de desarrollo en la
realidad) ANALISIS DE
REQUERIMIENTOS
MANTENIMIENTO
DISEÑO DEL
SISTEMA
LIBRAR AL USO
DISEÑO DE
PROGRAMAS
PRUEBA DEL
SISTEMA
IMPLEMENTACION
DE PROGRAMAS
PRUEBA DE
INTEGRACION PRUEBA UNITARIA
Ing. de Software
ANALISIS DE Cascada
c/prototipos
REQUERIMIENTOS
DISEÑO DEL
SISTEMA
Validar
DISEÑO DE
PROGRAMAS Verificar
IMPLEMENTACION
DE PROGRAMAS
PRUEBA DEL
SISTEMA
PRUEBA DE
ACEPTACION
OPERACION
Y MANTENIMIENTO
Ing. de Software
Modelo V OPERACION
ANALISIS DE Validar requerimientos
Y MANTENIMIENTO
REQUERIMIENTOS
PRUEBA DE
ACEPTACION
DISEÑO DEL
SISTEMA
PRUEBA DEL
Verificar diseño SISTEMA
IMPLEMENTACION
DE PROGRAMAS
Ing. de Software
Modelo de Prototipación
LISTA DE LISTA DE LISTA DE
REVISIONES REVISIONES REVISIONES
revisar revisión de
prototipo usuario/
cliente
SISTEMA
REQUERIMIENTOS LIBRADO
DEL SISTEMA AL USO
(a veces informales
o incompletos) Ing. de Software
Especificación Operacional: los
requerimientos se ejecutan utilizando un
producto de software
Ejecutar y
Revisar
ESPECIFICACION ESPECIFICACION
OPERACIONAL TRANSFORMADA PRUEBA
(orientada al problema) (orientada a la
implementación)
SISTEMA
LIBRADO
REQUERIMIENTOS AL USO
DEL SISTEMA
(a veces informales
o incompletos)
Ing. de Software
Modelo Transformacional
Comparar con
requerimiento REGISTRO FORMAL DEL DESARROLLO
s; actualizar si
se necesita Secuencia de transformaciones
+ sus justificaciones
TRANSFORM. N
.
.
SISTEMA
LIBRADO
REQUERIMIENTOS AL USO
DEL SISTEMA
(a veces informales
o incompletos)
Ing. de Software
Desarrollo en Fases
DESARROLLA-
Sistemas en Desarrollo
DORES
Tiempo
USUARIOS
Sistemas en Producción
Ing. de Software
Incrementos e Iteraciones
DESARROLLO INCREMENTAL
DESARROLLO ITERATIVO
Ing. de Software
Evaluar Alternativas
Modelo Espiral
Determinar Objetivos, y Riesgos
Alternativas y
Restricciones Análisis de Riesgos4
An.Riesgos3
An.Riesgos2
Codificación
Prueba Unitaria
Prueba del
Plan de Prueba deSistema
Planificar Implantación Aceptación
Ing. de Software
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
Ing. de Software
Herramientas y Técnicas para
el Modelado de Procesos
• Elegir un lenguaje o notación
• Tener claro objetivos del modelo
Detalle (granularidad)
Describir-prescribir
Predecir (requiere agregar relaciones
cuantitativas entre elementos)
Ejecutar (asistir en el uso)
Ing. de Software
Modelo ETVX
Ing. de Software
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)
Ing. de Software
Lai- relaciones entre elementos
proceso artefacto
Sub- Sub-
actividad artefacto
Ejecuta
Actividad Manipula
Artefact
Rol Ejecuta o
Operación
cambia
Ejecuta Refiere a
Análisis
compuesto Estado-
Refiere a
por controla A(rtefacto)
Estado-P(roceso)
Ing. de Software
Lai – Formulario para operación
Componente Definición
Ing. de Software
Modelo de Factores que inciden en la
productividad (Abdel-Hamid 96)
Productividad de Desarrollo
Ing. de Software
Estructura del Desarrollo de Software
(Abdel-Hamid 96)
PRODUCCION DE SOFTWARE GESTION DE RRHH
Pérdidas del Proceso Productividad Tasa de Tasa de
Detección y Tasa de potencial incorporación bajas
Corrección de Desarrollo de personal
Productividad Mezcla de experiencia
Errores de SW
Real del personal
Esfuerzo Tasa de Personal
Aprendizaje
de Q A Errores
Presión del Calendario Productividad Percibida
Nivel de Personal
Tareas percibidas
percibido como Fecha Planificada Nivel de precisión
como terminadas
necesario en medir el avance
Ajustes a de Terminación
Esfuerzo faltante
Personal y Fecha estimada de
percibido Estado percibido del proyect
Calendario Terminación
CONTROL
PLANIFICACION
Ing. de Software
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
proyecto
Poco nivel de detalle adicional necesario
Factores 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 proceso
Se precisa agregar múltiples detalles
Ing. de Software