Sei sulla pagina 1di 29

Otros Ciclos de Desarrollo

del Software
Efecto bola de nieve

ANLISIS
DISEO
IMPLEMENTACIN
PRUEBAS
MANTENIMIENTO
COSTO DE ELIMINACIN DE ERRORES
Prototipos
Prototipo
Primera versin de un nuevo tipo de producto,
en el que se han incorporado slo algunas
caractersticas del sistema final, o no se han
realizado completamente.
Modelo o maqueta del sistema que se
construye para comprender mejor el problema
y sus posibles soluciones:
evaluar mejor los requisitos
probar opciones de diseo
Prototipos
Caractersticas de los prototipos:
Funcionalidad limitada
Poca fiabilidad
Caractersticas de operacin pobres
Prototipo 10% presupuesto del
proyecto
normalmente pocos das de desarrollo
Uso de los prototipos
Se presenta al cliente un prototipo para su
experimentacin
Ayuda al cliente a establecer claramente los
requisitos
Ayuda a los desarrolladores a:
Validar correccin de la especificacin.
Aprender sobre problemas que se presentarn
durante el diseo e implementacin del sistema.
Mejorar el producto.
Examinar viabilidad y utilidad de la aplicacin.
Cundo son interesantes los
prototipos?
Siempre, pero especialmente cuando...
rea de aplicacin no bien definida.
El costo de rechazo por parte de los usuarios, por
no cumplir sus expectativas, es muy alto.
Es necesario evaluar previamente el impacto del
sistema en los usuarios y en la organizacin.
Se usan nuevos mtodos, tcnicas, tecnologa.
Tipos de prototipos
prototipo de interfaz de usuario: modelos de
pantallas.
prototipo funcional (operacional):
implementa algunas funciones, y a medida que se
comprueba que son las apropiadas, se corrigen,
refinan, y se aaden otras.
Tipos de prototipos
Rpido o desechable:
Sirve al anlisis y validacin de los requisitos
Despus se redacta la especificacin del sistema y se desecha el
prototipo
La aplicacin se desarrolla siguiendo un paradigma diferente
Problema: cuando el prototipo no se desecha, y termina
convirtindose en el sistema final
Evolutivos:
Comienza con un sistema relativamente simple que implementa los
requisitos ms importantes o mejor conocidos
El prototipo se aumenta o cambia en cuanto se descubren nuevos
requisitos
Finalmente, se convierte en el sistema requerido
Actualmente se usa en el desarrollo de sitios Web y en aplicaciones
de comercio electrnico
Modelo en cascada con prototipado
desechable

PLANIFICACIN
ANLISIS Y
ESPECIFICACIN
DISEO
IMPLEMENTACIN
PROTOTIPADO
VALIDACIN
MANTENIMIENTO
Tras el anlisis de
requisitos, se construye un
prototipo (rpido o
desechable), que ayudar a
refinar y validar la
especificacin de
requisitos.
El desarrollo posterior
prosigue en cascada.
Tipos de prototipos
Vertical
desarrolla completamente alguna de las
funciones.
Horizontal
desarrolla parcialmente todas las funciones.

Herramientas para el prototipado
(Sommerville)
Lenguajes dinmicos de alto nivel
Lenguajes de cuarta generacin (4GLs)
Ensamblaje de componentes y aplicaciones
Ventajas del prototipado sobre el modelo en
cascada puro
El prototipo ayuda a determinar los requisitos,
demostrar la viabilidad de una aplicacin e investigar
sobre los aspectos que producen ms incertidumbre.
El prototipo es un documento vivo para especificar el
buen funcionamiento del sistema.
El prototipo es un contrato con el cliente para el
desarrollo del producto.
Aumenta la productividad del grupo y la calidad del
producto.
Modelo Incremental
Modelo incremental (Pressman 2002)
Anlisis Diseo Cdigo Prueba
Anlisis Diseo Cdigo Prueba
Anlisis Diseo Cdigo Prueba
Anlisis Diseo Cdigo Prueba
Incremento 1
Incremento 2
Incremento 3
Incremento 4
Entrega
Incremento 1
Entrega
Incremento 2
Entrega
Incremento 3
Entrega
Incremento 4
Tiempo
Cada secuencia produce un incremento del sw.
Con cada incremento, se entrega un producto totalmente
operacional ( del prototipado evolutivo)
Espiral
Modelo en espiral (Boehm 88)
Hacia el final
del sistema
Planificacin Anlisis de riesgo
Evaluacin del cliente Ingeniera
Anlisis de riesgo
basado en los
requisitos iniciales
Anlisis de riesgo
basado en la reaccin
del cliente
Recoleccin de
requisitos y
planificacin del
proyecto iniciales
Planificacin
basada en los
comentarios del
cliente
Evaluacin del
cliente
Prototipo inicial del
software
Prototipos de
siguiente nivel
Ms realista que el ciclo de vida clsico
Relativamente poco probado
Planificacin
Fijar los productos definidos a obtener:
requerimientos, especificacin, manual de
usuario.
Fijar las restricciones.
Identificacin de riesgos del proyecto y
estrategias alternativas para evitarlos.
Anlisis de Riesgo
Se estudian todos los riesgos potenciales y se
seleccionan una o varias alternativas
propuestas para reducir o eliminar los riesgos.
Ingeniera
Tareas de la actividad propia y de prueba.
Anlisis de alternativas e identificacin y resolucin
de riesgos.
Dependiendo del resultado de la evaluacin de los
riesgos, se elige un modelo para el desarrollo, el que
puede ser cualquiera de los otros existentes, como
incremental, cascada, etc.
Por ejemplo, si los riesgos en la interfaz de usuario
son dominantes, un modelo de desarrollo apropiado
podra ser la construccin de prototipos evolutivos
Evaluacin del cliente
Se revisa todo lo hecho, evalundolo, y con
ello se decide si se contina con las fases
siguientes y se planifica la prxima actividad.
Comparativa
Ventajas
Reduce riesgos del
proyecto
Incorpora objetivos de
calidad
Es posible tener en
cuenta mejoras y
nuevos requerimientos
sin romper con la
metodologa, ya que
este ciclo de vida no es
rgido ni esttico.
Desventajas
Mucho tiempo en
el desarrollo del
sistema
Modelo costoso
Requiere
experiencia en la
identificacin de
riesgos
TECNICAS
Tcnicas de 4 generacin (T4G)
Dos pasos:
1) Especificacin de algunas caractersticas del
software de alto nivel.
2) La herramienta genera automticamente el cdigo en
L4G (4GL):
generacin de informes
interaccin y definicin de pantallas
...
Tcnicas de 4 generacin
Anlisis de requisitos implementacin
En aplicaciones
pequeas...
En aplicaciones
grandes...
Exige el mismo tiempo de anlisis,
diseo y prueba
Ventajas:
reduccin t. desarrollo
mayor productividad
Inconvenientes:
no son ms fciles de
usar
cdigo ineficiente
mantenimiento difcil
Herramientas CASE
Computer-Aided Software Engineering
Conjunto de herramientas y mtodos asociados que
proporcionan asistencia automatizada en el proceso
de desarrollo del software a lo largo de su ciclo de
vida.
Gestin del proyecto
(planificacin, estimacin y control)
Desarrollo del software
(anlisis, diseo, implementacin, validacin)
Mantenimiento del software.

Caractersticas bsicas que debe
soportar (Yourdon 89)
Soporte grfico para varias tcnicas (DFD, E/R,
modelos OO, etc.)
Control de errores: Unicidad identificadores, reglas
metodologa, etc.
Verificacin entre diferentes modelos:
En una fase (p.e. entre DFD y E/R)
En varias fases (DFD anlisis y diseo; DFD diseo y
Diagrama de estructuras)
Otras caractersticas deseables
Soporte multiusuario.
Personalizacin.
Control de documentos y versiones.
Gestin de proyectos
Estadsticas de productividad y mtricas del software.
Pruebas.
Simulacin y prototipado.
Demostracin correccin
especificaciones y/o software.
Generacin de cdigo.
Segn las fases del ciclo de vida
que abordan:
CASE frontales (front-end) o Upper CASE: Herramientas de
apoyo a las primeras fases:
Anlisis, diseo.
CASE dorsales (back-end) o Lower CASE: Herramientas de
apoyo a las ltimas fases:
Implementacin (generacin de cdigo).
Pruebas
Mantenimiento.
ICASE (Integrated-CASE)
Contemplan todo el ciclo de desarrollo.

Potrebbero piacerti anche