Está en la página 1de 30

 También denominados modelos de procesos

“tradicionales”.
 Se propusieron originalmente para ordenar el caos
del desarrollo de software.
 Prescriben un conjunto de elementos del proceso:
actividades estructurales, acciones de ingeniería del
software, tareas, productos del trabajo, aseguramiento
de la calidad y mecanismos de control del cambio para
cada proyecto.
 También prescribe un flujo de proceso (también
llamado flujo de trabajo), es decir, la manera en la que
los elementos del proceso se relacionan entre si.

Ing. Maricela Pinargote Ortega. Mgs.


CARACTERÍSTICAS

Paradigma mas antiguo para la


Ingeniería del Software.

Llamado también ciclo de vida


clásico.

Requiere que los requerimientos


estén bien definidos y estables en
forma razonable.

Sugiere un enfoque sistemático,


secuencial hacia el desarrollo del
software.
Ing. Maricela Pinargote Ortega. Mgs.
FUNCIONAMIENTO
Se inicia con la especificación
de requerimientos por parte
del cliente y avanza a través
de, planeación, modelado,
COMUNICACIÓN construcción y despliegue,
Inicio del proyecto para concluir con el apoyo del
Recabar los software terminado.
requerimientos PLANEACIÓN
Estimación
Programación
Seguimiento
MODELADO
Análisis
Diseño

CONSTRUCCIÓN
Código
Prueba
DESPLIEGUE
Entrega
Asistencia
Retroalimentación
Ing. Maricela Pinargote Ortega. Mgs.
MODELO EN V
CARACTERÍSTICAS
 Variante de la representación del modelo en cascada.
 En este modelo se puede apreciar la relación entre las
acciones para el aseguramiento de la calidad y aquellas
asociadas con la comunicación, modelado y construcción
temprana.
FUNCIONAMIENTO
 A medida que el equipo de software avanza hacia abajo
desde el lado izquierdo de la V, los requerimientos básicos
del problema mejoran hacia representaciones técnicas
cada vez más detalladas del problema y de su solución.
 Una vez que se ha generado el código el equipo sube
por el lado derecho de la V, y en esencia ejecuta una serie
de pruebas (acciones para asegurar la calidad del
software) que validan cada uno de los modelos creados.
Ing. Maricela Pinargote Ortega. Mgs.
MODELO EN V

Modelado de los Pruebas de


requerimientos aceptación

Diseño de la Pruebas del


arquitectura sistema

Diseño de los Pruebas de


componentes integración

Generación de Pruebas
código unitarias

Software ejecutable
Ing. Maricela Pinargote Ortega. Mgs.
VENTAJAS

 Sirve como un modelo de proceso útil en situaciones en


las que los requerimientos son fijos y el trabajo avanza en
forma lineal hacia el final.

DESVENTAJAS

 Raramente los proyectos reales siguen el flujo


secuencial.
 Con frecuencia es difícil para el cliente establecer
todos los requisitos de manera explicita.
 El cliente debe tener paciencia. Una versión que
funcione de los programas estará disponible cuando el
proyecto este muy avanzado.
 Un error grande será desastroso si no se detecta
antes de la revisión del programa.
Ing. Maricela Pinargote Ortega. Mgs.
ANÁLISIS
REALIZADO POR
BRADAC

Encontró que la En realidad, el tiempo


naturaleza lineal del de espera llega a
ciclo de vida clásico superar al dedicado al
llega a “estados de trabajo productivo.
bloqueo” en los que
ciertos miembros del Los estados del
equipo del proyecto bloqueo tienden a
deben esperar a fin de ocurrir más al principio
terminar tareas y al final del proceso
interdependientes. secuencial lineal.

Ing. Maricela Pinargote Ortega. Mgs.


Se elige un modelo de proceso incremental cuando
existe la necesidad de proporcionar de manera
rápida un conjunto limitado de funcionalidad para el
usuario y después refinarla y expandirla en las
entregas posteriores del software.
El modelo común en el proceso incremental es el
modelo incremental.

Ing. Maricela Pinargote Ortega. Mgs. 8


MODELO INCREMENTAL
CARACTERÍSTICAS
Aplica secuencias
Combina elementos de lineales en forma
los flujos de proceso escalonada a medida
lineal y paralelo. que avanza el calendario
de actividades.

Se centra en que en
Cada secuencia lineal
cada incremento se
produce “incrementos” de
entrega un producto que
software.
ya opera.

Los primeros incrementos son


versiones desnudas del producto
final, pero proporcionan
capacidad que sirve al usuario y
también le dan una plataforma
de evaluación. 9
Ing. Maricela Pinargote Ortega. Mgs.
FUNCIONAMIENTO
Entrega del n-ésimo incremento
Funcionalidad y características del software

Incremento # n Funciones de corrección ortográfica y


gramatical, capacidades de configuración de
pagina.
Comunicación Planeación
Modelado
Construcción
Despliegue

Incremento # 2 Entrega del segundo incremento


Herramientas mas sofisticadas de edición y
producción de documentos.
Comunicación Planeación
Modelado
Construcción
Despliegue

Incremento # 1
Entrega del primer incremento
Funciones básicas de administración de
Comunicación Planeación archivos, edición y producción de documentos.
Modelado
Construcción
Despliegue

10
Calendario del proyecto
FUNCIONAMIENTO

Frecuentemente el primer incremento es un producto


fundamental. Es decir, se abordan los requerimientos
básicos, pero no proporciona muchas características
suplementarias (algunas conocidas y otras no).

El cliente usa el producto fundamental (o lo somete a una


evaluación detallada).

Como resultado del uso y/o evaluación, se desarrolla un


plan para el incremento que sigue.

El plan incluye la modificación del producto fundamental


para cumplir mejor las necesidades del cliente, así como
la entrega de características adicionales y mas
funcionalidades.

Este proceso se repite después de entregar cada


incremento, hasta terminar el producto final.
11
Ing. Maricela Pinargote Ortega. Mgs.
VENTAJAS

 El desarrollo incremental es útil en particular cuando


no se dispone de personal para la implementación
completa del proyecto en el plazo establecido. Los
primeros incrementos se desarrolla con pocos
trabajadores, si el producto básico es bien recibido,
entonces se agrega mas personal de ser necesario para
que labore en el siguiente incremento.
 Además, los incrementos se planean para administrar
los riesgos técnicos.

DESVENTAJAS

 Se necesitan pruebas de regresión.

12
Ing. Maricela Pinargote Ortega. Mgs.
Los modelos evolutivos son iterativos. Se
caracterizan por la manera que permiten
desarrollar versiones cada vez más completas del
software.
Los modelos comunes del proceso evolutivo son
hacer prototipo y espiral.

Ing. Maricela Pinargote Ortega. Mgs. 13


MODELO DE HACER PROTOTIPOS
CARACTERÍSTICAS

Idealmente el prototipo sirve como un


mecanismo para identificar los requerimientos
del software.

Para construir el prototipo pueden utilizarse


fragmentos de programas ya existentes o
aplicar herramientas (por ej. generadores de
reportes y administradores de ventanas) que
permitan generar programas que funcionen.

14
Ing. Maricela Pinargote Ortega. Mgs.
FUNCIONAMIENTO

COMUNICACIÓN PLAN RÁPIDO

MODELADO
DISEÑO RÁPIDO

DESPLIEGUE
ENTREGA Y
RETROALIMENTACIÓN

CONSTRUCCIÓN
DEL PROTOTIPO

15
Ing. Maricela Pinargote Ortega. Mgs.
FUNCIONAMIENTO
Comienza con comunicación en
donde el ingeniero de software y los
participantes se reúnen para definir los Se planea rápidamente
objetivos generales del software, una iteración para
identifica los requerimientos conocidos hacer el prototipo.
y detecta las áreas en la que es
imprescindible una mayor definición.

Luego se lleva a cabo el modelado


(diseño rápido) que se centra en la
representación de aquellos aspectos El diseño rápido lleva a
del software que serán visibles para la construcción de un
los usuarios finales (por ej. disposición prototipo.
de la interfaz humana o formatos de
pantalla de salida).

La iteración ocurre a medida de que


Éste se entrega y es evaluado por los el prototipo es afinado para satisfacer
participantes, que dan las necesidades de distintos
retroalimentación para mejorar los participantes y al mismo tiempo le
requerimientos. permite al desarrollador entender
mejor lo que necesita hacer. 16
VENTAJAS

 Este modelo se emplea más comúnmente como una


técnica que puede implementarse en el contexto de
cualquiera de los modelos de proceso expuestos.

 Ayuda a mejorar la comprensión de lo que hay que


elaborar cuando los requerimientos no están claros.

17
Ing. Maricela Pinargote Ortega. Mgs.
DESVENTAJAS

 Los participantes ven lo que parece ser una versión


funcional del software, sin darse cuenta de que el prototipo
se obtuvo de manera caprichosa; no perciben que en la
prisa de hacer que funcionara no se consideró la calidad
general del software o la facilidad de darle mantenimiento a
largo plazo. Cuando se les informa que el producto debe
rehacerse a fin de obtener altos niveles de calidad, los
participantes no lo entiende y piden "unos cuantos arreglos”
para hacer del prototipo un producto funcional. Con
demasiada frecuencia, el gerente de desarrollo del software
cede.
 Como ingeniero de software, es frecuente que llegue a
compromisos respecto de la implementación a fin de hacer
que el prototipo funcione rápido. Quizá utilice un sistema
operativo inapropiado, o un lenguaje de programación tan
solo porque cuenta con él y lo conoce. Después de un
tiempo se sienta cómodo con esas elecciones y olvide todas
las razones por las que eran inadecuadas.
18
Ing. Maricela Pinargote Ortega. Mgs.
SUGERENCIAS

Aunque pueda haber DESVENTAJAS, hacer prototipos


es un paradigma eficaz para la ingeniería del software.

La clave es definir las reglas del juego; es decir:

 Todos los participantes deben estar de acuerdo


en que el prototipo sirva como un mecanismo para
definir requerimientos.
 Que se descarte, al menos en parte, y se haga la
ingeniería de software real con la mirada puesta en
la calidad.

19
Ing. Maricela Pinargote Ortega. Mgs.
MODELO ESPIRAL
CARACTERÍSTICAS

Es un modelo evolutivo del


proceso de software y se
Tiene el potencial para
acopla con la naturaleza
hacer un desarrollo rápido
iterativa de hacer prototipos
de versiones cada vez mas
con los aspectos
completas.
controlados y sistemáticos
del modelo de cascada.

20
Ing. Maricela Pinargote Ortega. Mgs.
FUNCIONAMIENTO

COMUNICACIÓN PLANEACIÓN
Estimación
Programación
Eje de punto Análisis de riesgo
de entrada
de proyecto

DESPLIEGUE MODELADO
Entrega Análisis
Retroalimentación Diseño

CONSTRUCCIÓN
Código
Prueba

Proyecto de desarrollo Proyecto de desarrollo Proyecto de mejora


21
del concepto de producto nuevo del producto
FUNCIONAMIENTO

El software se desarrolla en una serie de entregas evolutivas.


Durante las primeras iteraciones, lo que se entrega puede ser
un modelo o prototipo. En las iteraciones posteriores se
producen versiones cada vez más completas cuya ingeniería
se esta haciendo.

Al comenzar el proceso evolutivo, el equipo de software realiza


actividades implícitas en un circuito alrededor de la espiral en
el sentido horario partiendo desde el centro. El riesgo se
considera conforme se desarrolla cada revolución.

El primer circuito alrededor de la espiral quizá represente un


"proyecto de desarrollo del concepto", que comienza en el
centro de la espiral y continúa por iteraciones múltiples hasta
que queda terminado el desarrollo del concepto.
22
Ing. Maricela Pinargote Ortega. Mgs.
FUNCIONAMIENTO

Si el concepto va ha desarrollarse en un producto real, el


proceso sigue hacia fuera de la espiral y comienza un
"proyecto de desarrollo de producto nuevo". El nuevo
producto evolucionará a través de cierto número de iteraciones
alrededor de la espiral.

Mas adelante puede usarse un circuito alrededor de la espiral


para que represente un "proyecto de mejora del producto".
En esencia, la espiral, cuando se caracteriza de este modo,
sigue operativa hasta que el software se retira.

En ocasiones el proceso está inmóvil, pero siempre que se


inicie un cambio el proceso comienza en el punto de entrada
apropiado (por ejemplo, mejora del producto).
23
Ing. Maricela Pinargote Ortega. Mgs.
FUNCIONAMIENTO

Cada paso por la región de planeación da como resultado


ajustes en el plan del proyecto. Los costos y la programación
de actividades se ajustan con base en la retroalimentación del
cliente después de la entrega.

El gerente del proyecto ajusta el número planeado de


iteraciones que se requieren para terminar el software.

Se usa prototipos como un mecanismo de reducción de


riesgos.

24
Ing. Maricela Pinargote Ortega. Mgs.
VENTAJAS

 El modelo en espiral puede adaptarse para aplicarse


a lo largo de la vida del software de cómputo.

 El modelo en espiral es un enfoque realista para el


desarrollo de sistemas y de software a gran escala.

 Permite aplicar el enfoque de hacer prototipos en


cualquier etapa de la evolución del producto.

 Demanda una consideración directa de los riesgos


técnicos en todas las etapas del proyecto y, si se aplica
de manera apropiada, debe reducir los riesgos antes de
que se vuelvan un problema.

25
Ing. Maricela Pinargote Ortega. Mgs.
DESVENTAJAS

 Puede resultar difícil convencer a los clientes de que


el enfoque evolutivo es controlable.

 Demanda mucha experiencia en la evaluación del


riesgo y se basa en ella para llegar al éxito. Si un riesgo
importante no se descubre y administra surgirán
problemas.

26
Ing. Maricela Pinargote Ortega. Mgs.
CARACTERÍSTICAS

Permite que un
Todas las
equipo represente
Llamado actividades de IS
elementos
también existen de manera
iterativos y
ingeniería concurrente, pero
concurrentes de
concurrente. se hallan en
cualquiera de los
diferentes estados.
modelos descritos.

27
Ing. Maricela Pinargote Ortega. Mgs.
FUNCIONAMIENTO
Actividad Actividad
Comunicación Inactivo Modelado Inactivo

En En
desarrollo desarrollo

Cambios Cambios
en espera En revisión en espera En revisión

En En
evaluación evaluación
Alcance Alcance
mínimo mínimo

Terminado Terminado

28
Ing. Maricela Pinargote Ortega. Mgs. Representa el estado de una actividad o tarea de la IS
FUNCIONAMIENTO

ACTIVIDAD ACTIVIDAD
COMUNICACIÓN MODELADO

Existía en el estado inactivo


Termina su primera mientras concluía la comunicación
iteración al principio de inicial.
un proyecto.
Ahora hace una transición al
estado en desarrollo.

Si el cliente indica que se deben


hacerse cambios en los
Y existe en el estado de requerimientos, la actividad de
cambios en espera. modelado pasa del estado en
desarrollo al de cambios en
espera.
29
Ing. Maricela Pinargote Ortega. Mgs.
VENTAJAS

 El modelado concurrente es aplicable a todos los tipos


de desarrollo de software.

 Proporciona un panorama apropiado del estado actual


de un proyecto.

30
Ing. Maricela Pinargote Ortega. Mgs.