Вы находитесь на странице: 1из 9

Facultad de Ciencias Físicas

Escuela Académico Profesional de Ingeniería Mecánica de Fluidos

Curso: Programación y Computación

Ciclo del Software

Ing. Juan Miguel de la Torre Ostos


CIP: 67957
El Ciclo de Vida del Software

• Todas las tareas a realizar desde que se concibe un programa hasta


que se deja de utilizar (no sólo “hasta que se codifica” ni “hasta que
se instala”)
• Existen distintos modelos del ciclo de vida software, aunque nosotros
estudiaremos el más simple: Modelo en Cascada

Análisis

Diseño

Implementación

Pruebas

Mantenimiento
¿Qué significa todo esto?
Casa Software
¿Qué tiene que hacer
“Quiero 3 habitaciones, Análisis exactamente nuestro
2 baños, garaje...” programa?
¿Cómo vamos a organizar
Planos, diseño circuito
eléctrico y de agua...
Diseño el programa? ¿Qué partes
tendrá y cómo funcionará?

Se construye la casa Se construye el software


Implementación

Se comprueba la solidez de la Ponemos a prueba nuestro


estructura, el funcionamiento de programa, incluso en
las instalaciones, el acabado...
Pruebas situaciones límite

Algunas reparaciones, se cierra Pequeñas modificaciones o


la terraza, se instala aire Mantenimiento correcciones (parches),
acondicionado... actualizaciones, etc...
Fases en el desarrollo de una aplicación
(cont.)
• Análisis
• Actividad en la que se analizan y clarifican los diferentes aspectos del
problema que debe ser resuelto por la aplicación, con el fin de
establecer claramente qué debe ser construido
• El resultado es, normalmente, un documento de requisitos software
que especifica claramente las funcionalidades de la aplicación
• Funcionalidad = lo que tiene que hacerse (sin saber todavía cómo)
Fases en el desarrollo de una aplicación
(cont.)
• Diseño
• Actividad en la que se decide la organización y la estructura de una
aplicación que satisfaga los diferentes requisitos establecidos en la
fase de análisis
• El resultado es uno (o varios) documentos de diseño que especifican
claramente cómo construir la aplicación
• Mientras que el análisis se ocupa de qué hay que hacer, el diseño se
ocupa de cómo hacerlo
• Hay varias técnicas de diseño, nosotros estudiaremos una de las más
básicas: el diseño funcional
Fases en el desarrollo de una aplicación
(cont.)
• Implementación
• Actividad en la que se construye (codifica) la aplicación utilizando un
lenguaje de programación concreto, y siguiendo, las directrices
marcadas por los documentos de diseño
• Si las actividades anteriores han sido realizadas correctamente, la fase
de implementación debería ser bastante trivial
• La implementación se encarga de concretar el diseño teniendo en
cuenta un lenguaje y herramienta de desarrollo concreta
Fases en el desarrollo de una aplicación
(cont.)
• Pruebas
• Actividad en la que se asegura que la aplicación construida satisface
los requisitos del usuario
• Se debe invertir mucho tiempo en hacer pruebas (¡mucho más que en
su implementación!)
• Dos pasos diferenciados
• Verificación: ¿Se ajusta la aplicación construida a los requisitos establecidos?
• Validación: ¿Resuelve la aplicación el problema que realmente tenía el usuario?
Fases en el desarrollo de una aplicación
(cont.)
• Mantenimiento
• Actividad en la que la aplicación se modifica para satisfacer cambios o
ampliaciones en los requisitos del usuario, corregir errores, etc.
• ¡Es la actividad más costosa en el desarrollo de software!
(Tened en cuenta que hay programas que están muchos años en
funcionamiento y lo usan miles de personas)
• Estos costes pueden aliviarse si se hacen bien todo lo anterior

• *Otras actividades
• Confección de los manuales de usuario
• Planificación y control del proyecto
• Gestión de versiones
• ...
Fases en el desarrollo de una aplicación
(cont.)
• Este Modelo en Cascada, tan lineal, no suele aplicarse “tal
cual” en la vida real
• Conviene hacer pruebas desde las primeras fases de desarrollo, por
ejemplo para detectar y corregir errores prematuros, etc.
• Los programas suelen construirse en varias iteraciones (sacando
primero una versión básica, luego otra con más funcionalidad añadida,
etc.)
• Cada iteración es un ciclo completo (análisis, diseño, pruebas, etc.), siendo el
diseño más importante en las primeras y la implementación más importante en
las últimas

Вам также может понравиться