Sunteți pe pagina 1din 3

Ciclo de vida del desarrollo del software

El desarrollo de software va unido a un ciclo de vida compuesto por una serie de etapas que comprenden todas las actividades, desde el momento en que surge la idea de crear un nuevo producto software, hasta aquel en que el producto deja definitivamente de ser utilizado por el ltimo de sus usuarios.
Etapas del ciclo de vida de Procesos una aplicacin:

El desarrollo de aplicaciones informticas (proyectos medios-grandes) se ha convertido en una tarea compleja que involucra un gran nmero de recursos (tanto humanos como materiales); resulta pues de vital importancia la adopcin de mtodos a fin de guiar la construccin, mantenimiento y evolucin de la aplicacin a travs de su ciclo de vida.

Expresin de necesidades (qu hacer?)


Esta etapa tiene como objetivo la consecucin de un primer documento en que queden reflejados los requerimientos y funcionalidades que ofrecer al usuario del sistema a desarrollar (qu, y no cmo, se va a desarrollar). Dado que normalmente se trata de necesidades del cliente para el que se crear la aplicacin, el documento resultante suele tener como origen una serie de entrevistas cliente-proveedor situadas en el contexto de una relacin comercial, siendo que debe ser comprendido por ambas partes (puede incluso tomarse como base para el propio acuerdo comercial).

Especificaciones (formalizar qu hacer?)


Ahora se trata de formalizar los requerimientos; el documento obtenido en la etapa anterior se tomar como punto de partida para esta fase. Su contenido es an insuficiente y lleno de imprecisiones que ser necesario completar y depurar. Por medio de esta etapa se obtendr un nuevo documento que definir con ms precisin el sistema requerido por el cliente (el empleo de los casos de uso (Los casos de

uso representan requisitos funcionales del sistema. Se describen como conjuntos de secuencias. Cada una de estas secuencias refleja la interaccin entre los elementos externos al sistema y el propio sistema (se trata de la descripcin de escenarios o situaciones posibles donde se pone de relieve el comportamiento del sistema ante su uso por parte del usuario. Definir los lmites del sistema (qu forma parte del sistema y qu no)., use cases, de

Jacobson es una muy buena eleccin para llevar a cabo la especificacin del sistema). Lo ms normal ser que no resulte posible obtener una buena especificacin del sistema a la primera; sern necesarias sucesivas versiones del documento en que irn quedando reflejada la evolucin de las necesidades del cliente (por una parte no siempre sabe en los primeros contactos todo lo que quiere realmente, y por otra parte pueden surgir

cambios externos que supongan requerimientos nuevos o modificaciones de los ya contemplados).

Anlisis

Es necesario determinar que elementos intervienen en el sistema a desarrollar, as como su estructura, relaciones, evolucin en el tiempo, detalle de sus funcionalidades, ... que van a dar una descripcin clara de qu sistema vamos a construir, qu funcionalidades va a aportar y qu comportamiento va a tener.

Diseo

(cmo hacerlo? Soluciones en coste, tiempo y calidad)

Tras la etapa anterior ya se tiene claro que debe hacer el sistema, ahora tenemos que determinar como va a hacerlo (cmo debe ser construido el sistema?; aqu se definirn en detalle entidades y relaciones de las bases de datos, se pasar de casos de uso esenciales a su definicin como casos expandidos reales, se seleccionar el lenguaje ms adecuado, el Sistema Gestor de Bases de Datos a utilizar en su caso, libreras, configuraciones hardware, redes, etc.).
Observacin: Aunque todo debe ser tratado a su tiempo, y sera muy deseable que las decisiones correspondientes en esta etapa fueran tomadas precisamente en esta etapa, muchas veces nos vamos a encontrar con unas decisiones previamente impuestas sobre lenguaje, plataforma, etc. Unas veces se dirn justificadas en simple poltica de empresa y por mantener "compatibilidad" en lo que respecta a los dems proyectos de la propia empresa, y en otras ocasiones por rumores de que tal o cual herramienta mejorara la velocidad de desarrollo u otro aspecto de inters (en parte de los casos no sern rumores con fundamento o estudios previos realizados al efecto, sino ms bien debidos a la propia publicidad como consejera).

Implementacin
Llegado este punto se empieza a codificar algoritmos y estructuras de datos, definidos en las etapas anteriores, en el correspondiente lenguaje de programacin y/o para un determinado sistema gestor de bases de datos.

Observacin: Lamentablemente en la actualidad, ao 2.000, quedan bastantes empresas en las que, tras una reunin comercial en que tan solo se ha conseguido recabar una breve lista de requerimientos, a pesar de tener que enfrentarse a proyectos grandes-medios, se pasa directamente a la etapa de implementacin; son proyectos guiados por el riesgo que supone adoptar un modelo de ciclo de vida de codificar-corregir (code and fix) donde se eliminan las fases de especificaciones, anlisis y diseo con la consiguiente prdida de control sobre la gestin del proyecto.

Pruebas
El objetivo de estas pruebas es garantizar que el sistema ha sido desarrollado correctamente, sin errores de diseo y/o programacin. Es conveniente que sean planteadas al menos tanto a nivel de cada mdulo (aislado del resto), como de integracin del sistema (segn sea la naturaleza del proyecto en cuestin se podrn tener en cuenta pruebas adicionales, p.ej. de rendimiento).

Validacin
Esta etapa tiene como objetivo la verificacin de que el sistema desarrollado cumple con los requisitos expresados inicialmente por el cliente y que han dado lugar al presente proyecto (para esta fase tambin es interesante contar con los use cases, generados a travs de las correspondientes fases previas, que servirn de gua para la verificacin de que el sistema cumple con lo descrito por estos).

Mantenimiento y evolucin
Finalmente la aplicacin resultante se encuentra ya en fase de produccin (en funcionamiento para el cliente, cumpliendo ya los objetivos para los que ha sido creada). A partir de este momento se entra en la etapa de mantenimiento, que supondr ya pequeas operaciones tanto de correccin como de mejora de la aplicacin (p.ej. mejora del rendimiento), as como otras de mayor importancia, fruto de la propia evolucin (p.ej. nuevas opciones para el usuario debidas a nuevas operaciones contempladas para el producto). La mayora de las veces en que se desarrolla una nueva aplicacin, se piensa slamente en un ciclo de vida para su creacin, olvidando la posibilidad de que esta deba sufrir modificaciones futuras (que tendrn que producirse con casi completa seguridad para la mayor parte de los casos).
Es el ms utilizado, siempre que es posible, precisamente por ser el ms sencillo. Consiste en descomponer la actividad global del proyecto en fases que se suceden de manera lineal, es decir, cada una se realiza una sola vez, cada una se realiza tras la anterior y antes que la siguiente. Con un ciclo lineal es fcil dividir las tareas entre equipos sucesivos, y prever los tiempos (sumando los de cada fase).

La experiencia del desarrollo del prototipo y su evaluacin deben permitir la definicin de las especificaciones ms completas y seguras para el producto definitivo. A diferencia del modelo lineal, puede decirse que el ciclo de vida con prototipado repite las fases de definicin, diseo y construccin dos veces: para el prototipo y para el producto real.

El esquema del ciclo de vida para estos casos puede representarse por un bucle en espiral, donde los cuadrantes son, habitualmente, fases de especificacin, diseo, realizacin y evaluacin (o conceptos y trminos anlogos). En cada vuelta el producto gana en madurez (aproximacin al final deseado) hasta que en una vuelta la evaluacin lo apruebe y el bucle pueda abandonarse.

S-ar putea să vă placă și