El documento describe diferentes modelos de desarrollo de software, incluyendo el modelo en cascada, el modelo lineal, el modelo evolutivo, el modelo de prototipos y el modelo incremental. Cada modelo se define, describe sus características, ventajas y desventajas, y se indican algunos ejemplos de lugares donde se aplican comúnmente.
1. MARCO GUERRERO
EDITH CARREÑO
INGENIERÍA EN INFORMÁTICA
UNIDEG JUVENTINO ROSAS
PROFRA. MAYA GISELA VILLAGOMEZ
2. NOMBRE DEFINICIÓN CARACTERÍSTICAS VENTAJAS DESVENTAJAS LUGAR DE
APLICACIÓN
MODELO DE CASCADA EL MODELO EN CASCADA
(WATERFALL),
PROPUESTO POR ROYCE
EN 1970, FUE DERIVADO
DE MODELOS DE
ACTIVIDADES DE
INGENIERÍA CON EL FIN
DE ESTABLECER ALGO
DE ORDEN EN EL
DESARROLLO DE
GRANDES PRODUCTOS
DE
SOFTWARE.
ES UN MODELO DE
INGENIERÍA DISEÑADO
PARA SER APLICADO EN
EL DESARROLLO DE
SOFTWARE. LA IDEA
PRINCIPAL ES LA
SIGUIENTE: EXISTEN
DIRERENTES ETAPAS DE
DESARROLLO, LA SALIDA
DE LA PRIMERA ETAPA
“FLUYE” HACIA LA
SEGUNDA ETAPA Y ESTA
SALIDA “FLUYE” HACIA
LA TERCERA Y ASÍ
SUCESIVAMENTE
LA PLANIFICACIÓN ES
SENCILLA.
LA CALIDAD DEL
PRODUCTO RESULTANTE ES
ALTA.
PERMITE TRABAJAR CON
PERSONAL POCO
LO PEOR ES LA
NECESIDAD DE TENER
TODOS LOS REQUISITOS AL
PRINCIPIO. LO NORMAL ES
QUE EL CLIENTE NO TENGA
PERFECTAMENTE
DEFINIDAS LAS
ESPECIFICACIONES DEL
SISTEMA, O PUEDE SER QUE
SURJAN NECESIDADES
IMPREVISTAS.
SI SE HAN COMETIDO
ERRORES EN UNA FASE ES
DIFÍCIL VOLVER ATRÁS.
NO SE TIENE EL
PRODUCTO HASTA EL FINAL,
ESTO QUIERE DECIR QUE:
SI SE COMETE UN ERROR
EN LA FASE DE ANÁLISIS NO
LO DESCUBRIMOS HASTA LA
ENTREGA, CON EL
CONSIGUIENTE GASTO
INÚTIL DE RECURSOS.
EL CLIENTE NO VERÁ
RESULTADOS HASTA EL
FINAL, CON LO QUE PUEDE
IMPACIENTARSE.
ES COMPARATIVAMENTE
MÁS LENTO QUE LOS DEMÁS
Y EL COSTE ES MAYOR
TAMBIÉN
SITUACIONES EN LAS
QUE EL SOFTWARE ES
SIMPLE Y EN LAS QUE EL
DOMINIO DE
REQUERIIENTOS ES BIEN
CONOCIDO.
AQUELLOS PARA LOS
QUE SE DISPONE DE
TODAS LAS
ESPECIFICACIONES
DESDE EL PRINCIPIO,
POR EJEMPLO, LOS DE
REINENIERÍA.
SE ESTÁ
DESARROLLANDO UN
TIPO DE PRODUCTO QUE
NO ES NOVEDOSO.
PROYECTOS
COMPLEJOS QUE SE
ENTIENDEN BIEN DESDE
EL PRINCIPIO.
3. NOMBRE DEFINICIÓN CARACTERÍSTICAS VENTAJAS DESVENTAJAS LUGAR DE
APLICACIÓN
MODELO LINEAL TAMBIÉN LLAMADO "CICLO
DE VIDA BÁSICO" TIENE SU
ORIGEN EN EL "MODELO
CASCADA" INGENIADO POR
WINSTON ROYCE, AUNQUE
OMITE LOS MUCHOS
BUCLES DE ESTE ÚLTIMO.
EL MODELO LINEAL
SECUENCIAL SUGIERE UN
ENFOQUE SISTEMÁTICO O
MÁS BIEN SECUENCIAL DEL
DESARROLLO DE
SOFTWARE QUE COMIENZA
EN UN NIVEL DE SISTEMAS
Y PROGRESA CON EL
ANÁLISIS, DISEÑO,
CODIFICACIÓN, PRUEBAS Y
MANTENIMIENTO.
PRIMER MODELO
EMPLEADO (ROYXW,1970),
TAMBIÉN DENOMINADO
CICLO DE VIDA CLÁSICO Y
MODELO LINEAL
SECUENCIAL.
CONSISTE EN LA
EJECUCIÓN SECUENCIAL DE
UNA SERIE DE FASES QUE
SE SUCEDEN, LO QUE DA
NOMBRE AL MODELO.
CADA FASE GENERA
DOCUMENTACIÓN PARA LA
SIGUIENTE. ESTA
DOCUMENTACIÓN DEBE
SER APROBADA.
UNA FASE NO COMIENZA
HASTA QUE LA ANTERIOR
HA TERMINADO.
REQUIERE DISPONER DE
UNOS REQUISITOS
COMPLETOS Y PRECISOS AL
PRINCIPIO DEL
DESARROLLO.
SEA UN PROYECTO
PEQUEÑO, EN EL QUE EL
PERÍODO DE CONGELACIÓN
DE LOS REQUISITOS ES
CORTO, O UN PROYECTO
CON UNOS REQUISITOS
BASTANTE ESTABLE.
SE DEBE TENER EN
CUENTA QUE FUE EL
PRIMER MODELO
EMPLEADO, Y POR LO
TANTO ES MEJOR QUE
NINGUNO.
FACILITA LA GESTIÓN
DEL DESARROLLO.
EN GENERAL,
ESTABLECER TODOS LOS
REQUISITOS AL PRINCIPIO
DEL PROCESO DE
DESARROLLO ES UN MITO
INALCANZABLE, LOS
USUARIOS NO PUEDEN
IMAGINARSE LO QUE
QUIEREN HASTA QUE NO
BEN UN SISTEMA
FUNCIONANDO.
LOS REQUISITOS NO SE
PUEDEN CONGELAR
MIENTRAS DURA EL
DESARROLLO. EL MERCADO
CAMBIA, TODO CAMBIA.
EL USUARIO DEBE
ESPERAR MUCHO TIEMPO
HASTA VER LOS
RESULTADOS.
LOS ERRORES DE
ANÁLISIS Y DISEÑO SON
COSTOSOS DE ELIMINAR, Y
SE PROPAGAN A LAS FASES
SIGUIENTES CON UN
EFECTO CONOCIDO COMO
BOLA DE NIEVE.
SE GENERA MUCHO
MANTENIMIENTO INICIAL
DEBIDO AL PERÍODO DE
CONELACIÓN DE
REQUISITOS Y ÉSTE RECAE,
EN SU MAYOR PARTE.
.
ESTE MODELO ES
AMPLIAMENTE
UTILIZADO EN LOS
SISTEMAS
GUBERNAMENTALE
S DE GRAN
TAMAÑO, EN
ESPECIAL EN EL
DEPARTAMENTO
DE DEFENSA DE
LOS ESTADOS
UNIDOS (DOD).
ES UTILIZADO EN
LA NASA.
4. NOMBRE DEFINICIÓN CARACTERÍSTICAS VENTAJAS DESVENTAJAS LUGAR DE
APLICACIÓN
MODELO EVOLUTIVO LOS EVOLUTIVOS SON
MODELOS ITERATIVOS,
PERMITEN DESARROLLAR
VERSIONES CADA VEZ MÁS
COMPLETAS Y COMPLEJAS,
HASTA LLEGAR AL OBJETIVO
FINAL DESEADO; INCLUSO
EVOLUCIONAR MÁS ALLÁ,
DURANTE LA FASE DE
OPERACIÓN
GESTIONAN BIEN LA
NATURALEZA EVOLUTIVA
DEL SOFTWARE.
SON ITERATIVOS:
CONSTRUYEN VERSIONES
DE SOFTWARE CADA VEZ
MÁS COMPLETAS.
SE ADAPTAN A LOS
CAMBIOS DE REQUISITOS
DEL PRODUCTO.
SE ADAPTAN A LAS
FECHAS DE ENTREGA
ESTRICTAS POCO
REALISTAS.
SE ADAPTAN A LAS
ESPECIFICACIONES
PARCIALES DEL PRODUCTO
.ES INTERACTIVO. CON
CADA INCREMENTO SE
ENTREGA AL CLIENTE N
PRODUCTO OPERACIONAL,
QUE PUEDE EVALUARLO.
PERMITE VARIAR EL
PERSONAL ASIGNADO A
CADA INTERACCIÓN.
GESTIÓN RIESGOS
TÉCNICOS. POR EJEMPL
DISPONIBILIDAD DE
HARDWARE ESPECÍFICO.
LA PRIMERA
INTERACCIÓN PUEDE
PLANTEAR LOS MISMOS
PROBLEMAS QUE UN
MODELO LINEAL
SECUENCIAL.
EL MODELO EVOLUTIVO
DE DESARROLO NO IMPLICA
NECESARIAMENTE
ENTREGAS
INCREMENTALES.
ENTREGAS
INCREMENTALES IMPLICAN
NO SOLO CÓDIGO, SI NO
TAMBIÉN MANUALES DE
USO.
LOS INCREMENTOS
DEBEN SER UNIDADES AUTO
CONTENIDAS.
UN PROCESADOR DE
TEXTO QUE SE HA
DESARROLLADO BAJO EL
PARADIGMA
INCREMENTAL PODRÍA
APORTAR, EN PRINCIPIO,
FUNCIONES BÁSICAS DE
EDICIÓN DE ARCHIVOS Y
PRODUCCIÓN DE
DOCUMENTOS (ALGO
COMO UN EDITOR
SIMPLE). EN UN
SEGUNDO INCREMENTO
SE LE PODRÍA AGREGAR
EDICIÓN MÁS
SOFISTICAD, Y
DEGENERACIÓN Y
MEZCLA DE
DOCUMENTOS. EN UN
TERCER INCREMENTO
PODRÍA CONSIDERARSE
EL AGREGADO DE
FUNCIONES DE
CORRECCIÓN
ORTOGRÁFICA,
ESQUEMAS DE
PAGINADO Y
PLANTILLAS; EN CUN
CUARTO CAPACIDADES
DE DIBUJO PROPIAS Y
ECUACIONES
MATEMÁTICAS. ASÍ
SUCESIVAMENTE HASTA
LLEGAR AL PROCESADOR
FINAL REQUERIDO. ASÍ,
EL PRODUCTO VA
EVOLUCIOANDO,
ACERCÁNDOSE A SU
META FINAL.,
5. NOMBRE DEFINICIÓN CARACTERÍSTICAS VENTAJAS DESVENTAJAS LUGAR DE APLICACIÓN
MODELO PROTOTIPOS EMODELOS DE DESARROLLO
EVOLUTIVO, SE INICIA CON
LA DEFI
DE LOS OBJETIVOS GLOBALES
PARA EL SOFTWARE, LUEGO
SE IDENTIFICAN LOS
REQUISITOS CONOCIDOS Y
LAS ÁREAS
DEL ESQUEMA EN DONDE ES
NECESARIA MÁS DEFINICIÓN.
ENTONCES SE PLANTEA CON
RAPIDEZ UNA ITERACIÓN
DE CONSTRUCCIÓN DE PL
MODELO DE PROTOTIPOS
PERTENECE A LOS
ROTOTIPOS Y SE PRESENTA
EL MODELADO,
EL PROTOTIPO ES UNA
APLICACIÓN QUE FUNCIONA.
SE CREAN CON RAPIDEZ.
EVOLUCIONAN A TRAVÉS DE
UN PROCESO ITERATIVO.
TIENEN UN COSTO BAJO DE
DESARROLLO
NO MODIFICA EL FLUJO
DEL CICLO DE VIDA.
REDUCE EL RIESGO DE
CONSTRUIR PRODUCTOS QUE
NO SATISFAGAN LAS
NECESIDADES DE LOS
USUARIOS.
REDUCE COSTOS Y
AUMENTA LA PROBABILIDAD
DE ÉXITO.
EXIGE DISPONER DE LAS
HERRAMIENTAS
ADECUADAS.
NO PRESENTA CALIDAD NI
ROBUSTEZ.
UNA VEZ IDENTIFICADOS
TODOS LOS REQUISITOS
MEDIANTE EL PROTOTIPO,
SE CONSTRUYE EL
PRODUCTO DE INGENIERÍA.
ESTE MODELO ES ÚTIL
CUANDO EL CLIENTE
CONOCE LOS OBJETIVOS
GENERALES PARA EL
SOFTWARE,
PERO NO IDENTIFICA LOS
REQUISITOS DETALLADOS DE
ENTRADA, PROCESAMIENTO
O SALIDA.
TAMBIÉN OFRECE UN
MEJOR ENFOQUE CUANDO EL
RESPONSABLE DEL
DESARROLLO DEL
SOFTWARE
ESTÁ INSEGURO DE LA
EFICACIA DE UN ALGORITMO,
DE LA ADAPTABILIDAD DE
UN SISTEMA OPERATIVO
O DE LA FORMA QUE
DEBERÍA TOMAR LA
INTERACCIÓN HUMANDO-MÁQUINA,
EL USUARIO TIENDE A
CREARSE UNAS
EXPECTATIVAS CUANDO VE
EL PROTOTIPO DE CARA LA
SISTEMA FINAL. A
CAUSA DE LA INTENCIÓN
DE CREAR UN PROTOTIPO DE
FORMA RÁPIDA, SE SUELEN
DESATENDER ASPECTOS
IMPORTANTES, TALES
COMO LA CALIDAD Y EL
MANTENIMIENTO A LARGO
PLAZO, LO QUE OBLIGA EN LA
MAYOR
PARTE DE LOS CASOS A
RECONSTRUIRLO UNA VEZ
QUE EL PROTOTIPO HA
CUMPLIDO SU FUNCIÓN. ES
FRECUENTE
QUE EL USUARIO SE
MUESTRE REACIO A ELLO Y
PIDA QUE SOBRE ESE
PROTOTIPO SE CONSTRUYA
EL SISTEMA FINAL, LO QUE
LO CONVERTIRÍA EN UN
PROTOTIPO EVOLUTIVO,
PERO PARTIENDO DE UN
ESTADO POCO
RECOMENDADO.
EN ARAS DE DESARROLLAR
RÁPIDAMENTE EL
PROTOTIPO, EL
DESARROLLADOR SUELE
TOMAR ALGUNAS
DECESIONES DE
IMPLEMEENTACIÓN POCO
CONVENIENTES (POR
EJEMPLO, ELEGIR UN
LENGUAJE DE
PROGRAMACIÓN
INCORRECTO PORQUE
PROPORCIONE UN
DESAROLLO MÁS RÁPIDO).
ISDEFE: HA TENIDO EN
LOS ÚLTIMOS AÑOS UNA
IMPORTANTE ACTIVIDAD
RELACIONADA CON EL
DESARROLLO DE
PROTOTIPOS PARA SUS
CLIENTES EN DIFERENTE
ÁREAS.
GESTIÓN Y
SEGUIMIENTO DE
TRÁFICO AÉREO.
ANÁLISIS DE
FOTGRAFÍAS DE
SATÉLITE.
CÁLCULO DE
COBERTURAS.
MANDO Y CONTROL
BASES DE DATOS
DOCUMENTALES.
SISTEMAS DE APOYO A
LA GESTIÓN LOÍSTICA:
SISTEMAS DE
CATALOACIÓN, CONROL
DE INVENTARIOS, ESTIÓN
DE REPUESTOS…
6. NOMBRE DEFINICIÓN CARACTERÍSTICAS VENTAJAS DESVENTAJAS LUGAR DE
APLICACIÓN
MODELO
INCREMENTAL
FUE PROPUESTO POR
HARLAN MILLS EN EL AÑO
1980. SURGIÓ EL ENFOQUE
INCREMENTAL DE
DESARROLLO COMO UNA
FORMA DE REDUCIR LA
REPETICIÓN DEL TRABAJO
EN EL PROCESO DE
DESARROLLO Y, DAR
OPORTUNIDAD E RETRASAR
LA TOMA DE DECISIONES EN
LOS RQUISITOS HASTA
ADQUIRIR EXPERIENCIA
CON EL SISTEMA.
SE EVITAN PROYECTOS
LARGOS Y SE ENTREGA
"ALGO DE VALOR" A LOS
USUARIOS CON CIERTA
FRECUENCIA.
EL USUARIO SE
INVOLUCRA MÁS.
DIFÍCIL DE EVALUAR EL
COSTO TOTAL.
DIFÍCIL DE APLICA A LOS
SISTEMAS
TRANSACCIONALES QUE
TIENDEN A SER
INTEGRADOS Y A OPERAR
COMO UN TODO.
REQUIERE GESTORES
EXPERIMENTADOS.
LOS ERRORES EN LOS
REQUISITOS SE DETECTAN
TARDE.
EL RESULTADO PUEDE
SER POSITIVO.
CON UN PARADIGMA
INCREMENTAL SE REDUCE
EL TIEMPO DE DESARROLLO
INICIAL, YA QUE SE
IMPLEMENTA LA
FUNCIONALIDAD PARCIAL.
TAMBIÉN PROVEE UN
IMPACTO VENTAJOSO
FRENTE AL CLIENTE, QUE ES
LA ENTREGA TEMPRANA DE
PARTES OPERATIVAS DEL
SOFTWARE.
EL MODELO
PROPORCIONA TODAS LAS
VENTAJAS DEL MODELO EN
CASCADA REALIMENTADO,
REDUCIENDO SUS
DESVENTAJAS SÓLO AL
ÁMBITO DE CADA
INCREMENTO.
EL MODELO
INCREMENTAL NO ES
RECOMENDABLE PARA
CASOS DE SISTEMAS DE
TIEMPO REAL, DE ALTO
NIVEL DE SEGURIDAD, DE
PROCESAMIENTO
DISTRIBUIDO Y/O DE ALTO
ÍNDICE DE RIESGOS.
REQUIERE DE MUCHA
PLANEACIÓN, TANT
ADMINISTATIVA COMO
TÉCNICA.
REQUIERE DE METAS
CLARAS PARA CONOCER EL
ESTADO DEL PROYECTO.
COCOMO INCREMENTAL
FUE DEFINIDO CASI AL
MISMO TIEMPO QUE ADA
COCOMO. EL MODELO
COCOMO INCREMENTAL ES
UNA MODERNA
ALTERNATIVA PARA EL
TRADICIONAL MODELO
CASCADA DE EL
DESARROLLO DE PROCESOS
DE SOFTWARE.
EL MODELO DE
DESARROLLO
INCREMENTAL COCOMO
PERMITE UNA VARIEDAD DE
DESARROLLO DE PROCESOS.
EN VEZ DE MODELAR EL
SOFTWARE COMO A
ESFUERZO SIMPLE PARA
OBTENER UN PRODUCTO
SIMPLE; EL MODELO
INCREMENTAL COCOMO
PERMITE DESARROLLAR
UNA SERIE DE PROYECTOS
DE SOFTWARE
CONCURRENTE Y PRODUCIR
UN PRODUCTO
INTERMEDIO.
7. NOMBRE DEFINICIÓN CARACTERÍSTICAS VENTAJAS DESVENTAJAS LUGAR DE
APLICACIÓN
MODELO ESPIRAL ESTE MODELO FUE
DEFINIDO POR PRIMERA
VEZ POR BARRY BOEHM
EN 986. LAS
ACTIVIDADES DE ESTE
MODELO SE CONFORMAN
EN UNA ESPIERAL, EN LA
QUE CADA BUCLE O
ITERACIÓN REPRESRNTA
UN CONJUNTO DE
ACTIVIDADES. ESTAS NO
ESTÁN FIJADAS A
NINGUNA PRIORIDAD,
SINO QUE LAS
SIGUIENTES SE ELIGEN
EN FUNCIÓN DEL
ANÁLISIS DE RIESGO,
COMENZANDO POR EL
BUCLE ANTERIOR.
EN CADA GIRO SE
CONSTRUYE UN NUEVO
MODELO DEL SISTEMA
COMPLETO.
PUEDE COMBINARSE
CON OTROS MODELOS DE
PROCESO DE
DESARROLLO (CASCAD,
EVOLUTIVO).
MEJOR MODELO PARA
EL DESARROLLO DE
GRANDES SISTEMAS.
EL ANÁLISIS DE RIESGO
REQUIERE LA
PARTICIPACIÓN DE
PERSONAL CON ALTA
CALIFICACIÓN.
NO HAY UN NÚMERO
DEFINIDO DE
ITERACIONES. LAS
ITERACIONES DEBE
DECIDIRLAS EL EQUIPO
DE GESTIÓN DE
PROYECTO.
MAS REALISTA QUE EL
CICLO DE VIDA CLÁSICO.
ES DE PROCESO
ADAPTABLE.
PUEDE APLICARSE A
LO LARGO DE LA VIDA
DEL SOFTWARE.
EL DESARROLLADOR Y
EL CLIENTE
COMPRENDEN Y
REACCIONAN MEJOR
ANTE RIESGOS EN CADA
UNO DE LOS NIVELES
EVOLUTIVOS.
PERMITE A QUIEN LO
DESARROLLA APLICAR
EL ENFOQUE DE
CONSTRUCCIÓN DE
PROTOTIPOS EN
CUALQUIER ETAPA DE
EVOLUCIÓN DEL
PRODUCTO.
TRATA DE MEJORAR
LOS CICLOS DE VIDA
CLÁSICO Y PROTOTIPOS.
PERMITE ACOMODAR
OTROS MODELOS.
INCORPORA OBJETIVOS
DE CALIDAD Y GESTIÓN
DE RIESGOS.
ELIMINA ERRORES Y
ALTERNATIVAS NO
ATRACTIVAS AL
COMIENZO.
RESULTA DIFÍCIL
CONVENCER A GRANDES
CLIENTES DE QUE EL
ENFOQUE EVOLUTIVO ES
CONTROLABLE.
ES NUEVO Y NO SE HA
UTILIZADO TANTO COMO
OTROS MODELOS DE
CICLO DE VIDA.
REQUIERE UNA
CONSIDERABLE
HABILIDAD PARA LA
EVALUACIÓN DEL
RIESGO, Y CUENGA CON
ESTA HABILIDAD PARA
EL ÉXITO.
SI UN RIESGO
IMPORTANTE NO ES
DETECADO GESTIONADO
A TIEMPO,
INDUDABLEMENTE
SURGIRÁN PROBLEMAS.
EL MODELO ESPIRAL
ES PARTICULARMENTE
APTO PARA EL
DESARROLLO DE
SISTEMAS OPERATIVOS
(COMPLEJOS);
TAMBIÉN EN SISTEMAS
DE ALTOS RIESGOS O
CRÍTICOS
(EJ. NAVEGADORES Y
CONTROLADORES
AERONÁUTICOS) Y EN
TODOS AQUELLOS EN
QUE SEA NECESARIA UNA
FUERTE GESTIÓN DEL
PROYECTO Y SUS
RIESGOS, TÉCNICOS O DE
GESTIÓN.