Você está na página 1de 24

Modelando el proceso y el Ciclo de Vida

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

* Significado del Proceso - seguir, escribir


* Modelos de Proceso de Software
* Herramientas y Técnicas
* Modelado en la Práctica

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)

• 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.
Ing. de Software
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.

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

PROTOTIPADO PRUEBA UNITARIA


Y DE INTEGRACION

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

DISEÑO DE PRUEBA UNITARIA


PROGRAMAS Y DE INTEGRACION

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

PROTOTIPAR PROTOTIPAR PROTOTIPAR PRUEBA


REQUERIMIENTOS DISEÑO SISTEMA

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

ESPECIFICACION TRANSFORM. 2 PRUEBA


FORMAL
TRANSFORM. 1

SISTEMA
LIBRADO
REQUERIMIENTOS AL USO
DEL SISTEMA
(a veces informales
o incompletos)
Ing. de Software
Desarrollo en Fases
DESARROLLA-

Sistemas en Desarrollo
DORES

Construir Construir Construir


liberación 1 liberación 2 liberación 3

Tiempo
USUARIOS

Usar Lib. 1 Usar Lib. 2 Usar Lib. 3

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

An. Riesgos1Proto- Proto- Proto-


Prespto4PresptoPrespto Prototipotipo tipo3 tipo4
3 Presupto
2 1 1 2
start
Requirims, Concepto de Diseño
plan ciclo/vida
operacion Detallado

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)

• Vamos a ver algunos ejemplos…

Ing. de Software
Modelo 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

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

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

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

Porción de personal experiente % completado


del proyecto
Productividad potencial
Productividad potencial nominal
nominal de personal nuevo
de personal experiente
Multiplicador
Productividad potencial de aprendizaje
promedio nominal Productividad
potencial

Productividad de Desarrollo

Porción real de Pérdidas por motivación


persona-día y comunicación Esfuerzo adicional de comunicació
en el proyecto
Tamaño del equipo
Presión del Calendario
Sobre/bajo Tolerancia del trabajo

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

Você também pode gostar