You are on page 1of 43

CICLO DE VIDA DEL

SOFTWARE
CICLO DE VIDA DEL SOFTWARE
Es la forma mediante la cual se describen los diferentes
pasos que se deben seguir para el desarrollo de un
software, partiendo desde una necesidad hasta llegar a la
puesta en marcha de una solucin y su apropiado
mantenimiento.
CICLO DE VIDA DEL SOFTWARE
El ciclo de vida para un software comienza cuando se tiene
la necesidad de resolver un problema, y termina cuando el
programa que se desarroll para cumplir con los
requerimientos deja de ser utilizado.

El estndar internacional que regula el mtodo de
seleccin, implementacin y monitoreo del ciclo de vida
del software es ISO 12207.
ACTIVIDADES DEL DESARROLLO DE
SOFTWARE
Planificacin.

Implementacin, Pruebas y Documentacin.

Despliegue, Entrenamiento y Soporte.

Mantenimiento
PLANIFICACION
La importante tarea a la hora de crear un producto de
software es obtener los requisitos o el anlisis de los
requisitos. Los clientes suelen tener una idea ms bien
abstracta del resultado final, pero no sobre las funciones
que debera cumplir el software.
Una vez que se hayan recopilado los requisitos del cliente,
se debe realizar un anlisis del mbito del desarrollo. Este
documento se conoce como especificacin funcional.
IMPLEMENTACIN, PRUEBAS Y
DOCUMENTACIN
La implementacin es parte del proceso en el que los
ingenieros de software programan el cdigo del proyecto.
Las pruebas de software son parte esencial del proceso de
desarrollo del software. Esta parte del proceso tiene la
funcin de detectar los errores de software lo antes
posible.
La documentacin del diseo interno del software con el
objetivo de facilitar su mejora y su mantenimiento se
realiza a lo largo del proyecto.
DESPLIEGUE, ENTRENAMIENTO Y
SOPORTE
El despliegue comienza cuando el cdigo ha sido
suficientemente probado, ha sido probado para su
liberacin y ha sido distribuido en el entorno de
produccin.
Entrenamiento y soporte para el software es de suma
importancia y algo que muchos desarrolladores de
software descuidan. Los usuarios por naturaleza se
oponen al cambio porque conlleva una cierta inseguridad;
es por ello que es fundamental instruir de forma adecuada
a los futuros usuarios del software.
mantenimiento
El mantenimiento y mejora del software con problemas
recientemente desplegado puede requerir mas tiempo
que el desarrollo inicial de software. Es posible que haya
que incorporar cdigo que no se ajusta al diseo con el
objetivo de solucionar o ampliar la funcionalidad para un
cliente.
Si los costos de mantenimiento son muy elevados puede
que sea oportuno redisear el sistema para poder
contener los costos de mantenimiento.
MODELOS DE DESARROLLO DE
SOFTWARE
Los modelos de desarrollo de software son una representacin
abstracta de una manera en particular. Realmente no
representan cmo se debe desarrollar el software, sino de un
enfoque comn. Puede ser modificado y adaptado de acuerdo
a las necesidades de software en proceso de desarrollo. Hay
varios modelos para perfilar el proceso de desarrollo, cada uno
de las cuales cuenta con pro y contras. El proyecto debera
escoger el mas apropiado para sus necesidades. Existen tres
paradigmas de los modelos de desarrollo de software:
Paradigma Tradicional, Paradigma Orientado a Objetos y
Paradigma de Desarrollo gil.
PARADIGMA TRADICIONAL
Es uno de los paradigmas mas antiguos, se invento
durante la creacin del mtodo estructurado. Si se elige
un proyecto el mtodo varia en etapas.
Como todo modelo existen sus pros y contras al usar este
paradigma:

PARADIGMA TRADICIONAL
PARADIGMA ORIENTADO A OBJETOS
Estos modelos se basan en la programacin orientada a
objetos; por lo tanto se refiere al concepto de clase, el
anlisis de requisitos y el diseo. El modelo o paradigma
orientado a objetos posee dos caractersticas principales
las cuales son:
Permite la re-utilizacin de software
Facilita el desarrollo de herramientas informticas de
apoyo al desarrollo el cual es simple al implementarla en
una notacin orientado a objetos llamado UML.
PARADIGMA de desarrollo gil
Es un paradigma de las Metodologas de Desarrollo basado
en procesos giles. Estos intentan evitar los tediosos
caminos de las metodologas tradicionales enfocndose en
las personas y los resultados. Usa un enfoque basado en
el Valor para construir software, colaborando con el cliente
e incorporando los cambios continuamente.
ETAPAS DEL CICLO DE VIDA DEL
SOFTWARE
El ciclo de vida clsico del software siendo uno de los ms
utilizados tal como lo plantean diferentes autores, esta
conformado en su versin ampliada por siete etapas que
se pueden representar mediante un modelo en cascada.
ETAPAS DEL CICLO DE VIDA DEL
SOFTWARE
Ingeniera de sistemas

En esta etapa el analista luego de un minucioso y detallado
estudio de los sistemas de una organizacin detecta un
problema o una necesidad que para su solucin y/o
satisfaccin es necesario realizar un desarrollo de
Software.

ANLISIS
En esta etapa se debe entender y comprender de forma
detallada cual es la problemtica a resolver, verificando el
entorno en el cual se encuentra dicho problema, de tal
manera que se obtenga la informacin necesaria y
suficiente para afrontar su respectiva solucin.
Esta etapa es conocida como la del QU se va a solucionar.

Diseo
Una vez que se tiene la suficiente informacin del
problema a solucionar, es importante determinar la
estrategia que se va a utilizar para resolver el problema.
Esta etapa es conocida bajo el nombre de CMO se va a
solucionar.
implementacin
Partiendo del anlisis y diseo de la solucin, en esta
etapa se procede a desarrollar el correspondiente
programa que solucione el problema mediante el uso de
una herramienta computacional determinada.
pruebas
Los errores humanos dentro de la programacin de los
computadores son muchos y aumentan
considerablemente con la complejidad del problema.
Cuando se termina de escribir un programa de
computador, es necesario realizar las debidas pruebas que
garanticen el correcto funcionamiento de dicho programa
bajo el mayor numero de situaciones posibles a las que se
puede enfrentar.
DOCUMENTACION
Es la gua o comunicacin escrita en sus diferentes formas,
ya sea en enunciados, procedimientos, dibujos o
diagramas que se hace sobre el desarrollo de un
programa.
La importancia de la documentacin radica en que a
menudo un programa escrito por una persona, es
modificado por otra. Por ello la documentacin sirve para
ayudar a comprender o usar un programa o para facilitar
futuras modificaciones (mantenimiento)

La documentacin se compone de tres partes:

Documentacin Interna: Son los comentarios o
mensajes que se aaden al cdigo fuente para hacer
mas claro el entendimiento de los procesos que lo
conforman, incluyendo las pre-condiciones y las pos-
condiciones de cada funcin.

Documentacin Externa: Se define en un documento
escrito con los siguientes puntos:
Descripcin del Problema
Datos del Autor
Algoritmo (Diagrama de flujo o Pseudocdigo)
Diccionario de Datos
Cdigo Fuente (Programa)

Manual de Usuario: Describe paso a paso la manera de
como funciona el programa, con el fin de que el usuario
lo pueda manejar para que obtenga el resultado
deseado.

Mantenimiento
Una vez instalado un programa y puesto en marcha para
realizar la solucin del problema previamente planteado o
satisfacer una determinada necesidad, es importante
mantener una estructura de actualizacin, verificacin y
validacin que permitan a dicho programa ser til y
mantenerse actualizado segn las necesidades o
requerimientos planteados durante su vida til. Para
realizar un adecuado mantenimiento, es necesario contar
con una buena documentacin del mismo.
MODELO PROTOTIPO
Este modelo servir para modelar y poder mostrar al
cliente como se va a realizar la E/S de datos en la
aplicacin, de forma que ste pueda hacerse una idea de
como va a ser el sistema final, pudiendo entonces detectar
deficiencias o errores en la especificacin aunque el
modelo no se mas que una cscara vaca.
MODELO PROTOTIPO
Segn este modelo puede tener alguna de las tres formas
siguientes:
Un prototipo, en papel o ejecutable en ordenador que
describa la interaccin hombre-maquina y los listados del
sistema.
Un prototipo que implemente algn(os) subconjunto(s) de
la funcin requerida y que sirva para evaluar el rendimiento
de un algoritmo o las necesidades de capacidad de
almacenamiento y velocidad de clculos del sistema final.
MODELO PROTOTIPO
Un programa que realice en todo o en parte la funcin
deseada pero que tenga caractersticas (rendimiento,
consideracin de casos particulares, etc.) que deban ser
mejoradas durante el desarrollo del proyecto.

MODELO PROTOTIPO
La secuencia de tareas del paradigma de construccin de
prototipos puede verse en la siguiente figura:

MODELO espiral
Bsicamente, la idea es desarrollo incremental usando el
modelo Cascada para cada paso, ayudando a administrar
los riesgos. No se define en detalle el sistema completo al
principio; los diseadores deberan definir e implementar
solamente los rasgos de mayor prioridad.
Con el conocimiento adquirido, podran entonces volver
atrs y definir e implementar ms caractersticas en trozos
mas pequeos.
MODELO espiral
El modelo Espiral define cuatro actividades principales en
su ciclo de vida:
Planeamiento: Determinacin de los objetivos,
alternativas y limitaciones del proyecto.
Anlisis de Riesgo: Anlisis de alternativas e
identificacin y solucin del riesgo.
Ingeniera: Desarrollo y testeo del producto.
Evaluacin del Cliente: Tasacin de los resultados de la
ingeniera.
MODELO espiral
El modelo est representado por una espiral divida en
cuatro cuadrantes, cada una de las cuales representa una
de las actividades.

MODELO espiral
Puntos Fuertes:
Evita las dificultades de los modelos existentes a travs de un
acercamiento conducido por el riesgo.
Intenta eliminar errores en las fases tempranas.
Es el mismo modelo para el desarrollo y el mantenimiento.
Provee mecanismos para la aseguracin de la calidad del software.
La reevaluacin despus de cada fase permite en las percepciones
de los usuarios, avances tecnolgicos o perspectivas financiera.
La focalizacin en los objetivos y limitaciones ayuda a asegurar la
calidad.

MODELO espiral
Puntos Dbiles:
Falta un proceso de gua explcito para determinar
objetivos, limitaciones y alternativas.
Provee ms flexibilidad que la conveniente para la
mayora de las aplicaciones.
La pericia de tasacin del riesgo no es una tarea fcil.
El autor declara que es necesaria mucha experiencia en
proyectos de software para realizar esta tarea
exitosamente.

MODELO espiral
Aplicacin:
Proyectos complejos
Proyectos Dinmicos
Proyectos Innovadores
Proyectos Ambiciosos
Todos estos proyectos llevados a cabo por equipos
internos (no necesariamente de software).
MODELO cleanroom
Cleanroom es un proceso de administracin e ingeniera
para el desarrollo de software de alta calidad con
fiabilidad certificada.
Focaliza la atencin en la prevencin en lugar de la
correccin de errores y la certificacin de la fiabilidad del
software para el entorno de uso para cual fue planeado.
En lugar de realizar pruebas de unidades y mdulos, se
especifican formalmente componentes de software los
cuales son verificados matemticamente en cuanto son
construidos.
MODELO cleanroom
MODELO cleanroom
Este modelo tiene las siguientes caractersticas:
Desarrollo incremental

Especificacin Formal

Verificacin Esttica

Pruebas Estadsticas.
MODELO cleanroom
Hay tres equipos involucrados en el proceso cleanroom:
Equipo de Especificacin: Es responsable del desarrollo
y mantenimiento de las especificaciones del sistema.
Ambas especificaciones son orientadas al cliente.
Equipo de Desarrollo: Tiene la responsabilidad de
desarrollar y verificar el software.
Equipo de Certificacin: Es responsable del desarrollo
de un conjunto de pruebas estadsticas para ejercitar el
software una vez que fue construido.

Ventajas del uso de cleanroom
Provee las prcticas de administracin e ingeniera que
permiten a los equipos lograr cero fallos en el campo de
uso, cortos ciclos de desarrollo y una larga vida del
producto.
Reduce los fallos encontrados durante el proceso de
certificacin a menos de cinco fallos por cada mil lneas
de cdigo en la primera ejecucin del cdigo del primer
proyecto.

Ventajas del uso de cleanroom
Equipos nuevos deberan experimentar un incremento
del doble en la productividad con respecto a su primer
proyecto. La productividad seguir incrementndose con
la experiencia adquirida.
Lleva una inversin en bienes tales como
especificaciones detalladas y modelos que ayudan a
mantener un producto viable durante una vida mas
larga.
Todos los beneficios tcnicos se trasladan en beneficios
econmicos significantes.

MODELO cleanroom

Aplicacin:
El mtodo cleanroom es mandatorio para cualquier
sistema de software de misin crtica; sin embargo es apto
para cualquier proyecto de software, en especial si el
proyecto requiere deteccin de errores en fases
tempranas.

Comparacin entre modelos

You might also like