Está en la página 1de 32

EL CICLO DE VIDA DEL

SOFTWARE

INGENIERÍA DE SOFTWARE

1
DEFINICIÓN
“Una aproximación lógica a la adquisición, el suministro, el desarrollo, la
explotación y el mantenimiento del software”
IEEE 1074
“Un marco de referencia que contiene los procesos, las actividades y las
tareas involucradas en el desarrollo, la explotación y el mantenimiento
de un producto de software, abarcando la vida del sistema desde la
definición de los requisitos hasta la finalización de su uso”
ISO 12207-1
PROCESOS DEL CICLO DE
VIDA
Proceso de adquisición
Actividades y tareas que el Preparación y publicación de una
comprador, el cliente o el usuario solicitud de ofertas.
realizan para adquirir un sistema o
producto (servicio) software. Selección del suministrador del
software.
Gestión de los procesos desde la
adquisición hasta la aceptación del
producto.
Proceso de suministro
Se inicia al preparar una Identificación de
propuesta para atender una procedimientos y recursos
petición de un comprador, o para gestionar bien el
por la firma de un contrato proyecto.
con el comprador para
Desarrollo de los planes del
proporcionarle un producto
software proyecto.
Ejecución de los planes del
proyecto hasta la entrega del
producto software al
comprador.
Proceso de desarrollo
Implementación del proceso.
Contiene las Análisis de requisitos del sistema.
actividades y tareas Diseño de la arquitectura del sistema.
realizadas por el Análisis de los requisitos del software.

desarrollador Diseño de la arquitectura del software.


Diseño detallado del software.
Codificación y prueba del software.
Integración del software.
Prueba del software.
Integración del sistema.
Prueba del sistema.
Instalación del software.
Soporte del proceso de aceptación del software.
Proceso de explotación
Explotación del software y del Desarrollar un plan para llevar a
soporte del mismo. El sistema cabo las actividades y tareas de
debe ser operado de acuerdo con este proceso.
la documentación de usuario en su
entorno previsto sino: Procedimientos para comprobar
el producto software en su
entorno de operación, enviando
informes de problemas y
peticiones de modificación al
proceso de mantenimiento.
El operador debe proporcionar
asistencia a los usuarios.
Proceso de mantenimiento

El software o la documentación nuevos errores detectados


necesitan ser modificado, debido a
problemas o a necesidades de mejora necesidad de mejoras
o adaptación, por ejemplo: migración a un nuevo entorno
operativo
Procesos de soporte
Sirven de apoyo al resto de procesos
Proceso de documentación
Registrar la información producida Gestiona los documentos
por cualquier proceso o actividad necesarios para todas las personas
del ciclo de vida. involucradas en el proceso
software: directores, ingenieros,
personal de desarrollo, usuarios
del sistema, etc.
Proceso de gestión de la
configuración
Configuración del software
involucra:
• Programas
• Documentación y Datos

En aplicaciones grandes, la gestión de


la configuración del software se
convierte en un problema.
Proceso de aseguramiento de la
calidad
Aporta confianza en que los El Aseguramiento de la calidad
procesos y los productos software puede ser: interno o externo. Usa
del ciclo de vida cumplen con los resultados de otros procesos de
requisitos especificados y se apoyo: verificación, validación,
ajustan a los planes establecidos. auditorías, etc.
Proceso de verificación
Verificación horizontal: si los Verificación vertical: ¿Estamos
productos software de cada fase construyendo correctamente el
del ciclo de vida cumplen los producto?
requisitos impuestos sobre ellos
en las fases previas
Proceso de validación
Indica si el sistema o software final Puede ser realizado por una
cumple con las necesidades del organización de servicios
usuario. También se puede validar independiente (proceso de
una especificación validación independiente).
¿Estamos construyendo el
producto correcto?
Proceso de revisión conjunta
Evaluar el estado del software y a nivel de gestión
sus productos en una actividad del
ciclo de vida o fase del proyecto. a nivel técnico del proyecto
Se realiza durante todo el ciclo de
vida:
Proceso de auditoria
Tipos de auditoria informática: Fraudes y delitos económicos
producidos en las empresas (a veces
De explotación por los propios empleados, sin
conocimiento de la dirección)
De sistemas
Problemas en privacidad y
De comunicaciones seguridad (auditoria de seguridad
De desarrollo de proyectos informática, tanto lógica como física)

De seguridad La corrección de los datos de


entrada (auditoria informática de
datos)
Problemas de diseño del sistema
informático
MODELOS DEL CICLO DE
VIDA
CASCADA
CASCADA
No refleja realmente el proceso de desarrollo del software
Se tarda mucho tiempo en pasar por todo el ciclo
Perpetua el fracaso de la industria del software en su comunicación con
el usuario final
El mantenimiento se realiza en el código fuente
Las revisiones de proyectos de gran complejidad son muy difíciles
Impone una estructura de gestión de proyectos
INCREMENTAL
INCREMENTAL
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 coste total
Difícil de aplicar a 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 muy positivo
DRA
DRA
Es una adpatación en alta velocidad del modelo en cascada.
Comunicación: entender el problema
Actividades
◦ Planeación: coordinación entre equipos
◦ Modelado
◦ Modelos del negocio
◦ Modelo de datos
◦ Modelo del proceso
◦ Construcción: componentes código generado automáticamente.

Inconvenientes:
◦ Recursos humanos,
◦ Falta de compromiso,
◦ Modularidad conveniente,
◦ Riesgos técnicos altos.
PROTOTIPO
PROTOTIPO
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.
ESPIRAL
ESPIRAL
Trata de mejorar los ciclos de vida clásicos y prototipos.
Permite acomodar otros modelos
Incorpora objetivos de calidad y gestión de riesgos
Elimina errores y alternativas no atractivas al comienzo
Permite iteraciones, vuelta atrás y finalizaciones rápidas
Cada ciclo empieza identificando:
◦ Los objetivos de la porción correspondiente
◦ Las alternativas
◦ Restricciones

Cada ciclo se completa con una revisión que incluye todo el ciclo anterior y el
plan para el siguiente
SÍNTESIS AUTOMÁTICA
DE SOFTWARE
SÍNTESIS AUTOMÁTICA
DE SOFTWARE
Se define el sistema utilizando un lenguaje formal
La implementación es automática, asistida por el Ordenador
La documentación se genera de forma automática
El mantenimiento se realiza “por sustitución” no mediante “parches”
Dificultad en la participación del usuario
Diseños poco optimizados
EJERCICIO
Se supone que se va desarrollar una aplicación relativa a la gestión de
pedidos de una empresa. En este caso el cliente no tiene todavía muy
claro qué es lo que quiere. Además, el personal informático va a utilizar
un tecnología que le resulta completamente nueva. Discútase qué tipo
de ciclo de vida es más apropiado y qué procesos se deberían utilizar
para desarrollar esta aplicación.
INVESTIGACIÓN
Desarrollo Basado en Componentes
Modelo de métodos formales
Desarrollo orientado a Aspectos

Sugerencia:
◦ Definición
◦ Explicación
◦ Ejemplo

También podría gustarte