0% encontró este documento útil (0 votos)
23 vistas15 páginas

Programacion

El ciclo de vida del software incluye etapas como requisitos, análisis, diseño, programación, pruebas, y despliegue, que son fundamentales para el desarrollo efectivo de software. Existen varios modelos de desarrollo, como el modelo en cascada, interactivo, evolutivo espiral y de construcción de prototipos, cada uno con sus ventajas y desventajas. La elección del modelo adecuado depende de factores como la complejidad del proyecto, la claridad de los requisitos y la necesidad de iteraciones y retroalimentación del cliente.

Cargado por

ruizmelisa269
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como RTF, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
23 vistas15 páginas

Programacion

El ciclo de vida del software incluye etapas como requisitos, análisis, diseño, programación, pruebas, y despliegue, que son fundamentales para el desarrollo efectivo de software. Existen varios modelos de desarrollo, como el modelo en cascada, interactivo, evolutivo espiral y de construcción de prototipos, cada uno con sus ventajas y desventajas. La elección del modelo adecuado depende de factores como la complejidad del proyecto, la claridad de los requisitos y la necesidad de iteraciones y retroalimentación del cliente.

Cargado por

ruizmelisa269
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como RTF, PDF, TXT o lee en línea desde Scribd

CICLO DE VIDA DEL SOFTWARE

ELEMENTOS BASE DEL DESARROLLO DE SOFTWARE

Lo organicemos como lo organicemos, cualquier proceso de desarrollo de


software tiene más o menos los

siguientes elementos:

• REQUISITOS: toma de requisitos de alto nivel sobre qué tiene que hacer el
sistema que hay que

desarrollar.

• ANÁLISIS: revisión de los requisitos componiéndolos como un todo coherente,


revisando si existen

carencias o inconsistencias.

• DISEÑO: descripción de los diferentes componentes tecnológicos y cómo van a


interactuar entre ellos

• PROGRAMACIÓN / PARAMETRIZACIÓN: implementación de las diferentes


funcionalidades por medio de

lenguajes de programación o parametrización de paquetes o sistemas


preexistentes

• PRUEBAS: confirmación que los desarrollos no contienen errores (pruebas


unitarias), que el diseño es

completo y consistente (pruebas de integración) y que los requisitos y objetivos se


cumplen (pruebas

funcionales y de usuario).

• DESPLIEGUE: aunque en ocasiones se olvida, el despliegue y capacitación de los


usuarios también es parte

del ciclo de vida del software y debe ser tenido en cuenta dentro de su gestión.

La organización de estos elementos definen los diferentes modelos del ciclo de


vida del desarrollo de

software que se han ido utilizando a través del tiempo en las diferentes
organizaciones. Vamos a dar un

repaso a algunos de estos modelos.

CICLO DE VIDA “PRIMITIVO”

Aunque parezca increíble, más de un desarrollo se realiza en base a programar y


probar, sin una definición

clara de los objetivos o un diseño general de las diferentes piezas.

En muy pocas ocasiones da buen resultado y sólo es práctico en el caso de que el


usuario y el programador

sean la misma persona. En este desarrollo de tipo “personal” se puede encontrar


sistemas de macros en

Excel, desarrollos de aplicaciones en Access o pequeñas utilidades de


productividad personal, pero no es,

en general, un modelo aplicable a nivel empresarial

CICLO DE VIDA EN CASCADA

MODELO EN CASCADA

1. ANÁLISIS

El primer paso, denominado análisis, es la etapa de preparación de tu proyecto, es


decir, el punto de

partida en donde vas a plasmar cada detalle de la idea y tomar el impulso


necesario para desarrollarla.

Entonces, en esta fase del modelo de cascada, tu trabajo será determinar cuáles
son las necesidades y los

objetivos, para luego reunir todos los requisitos que se deben cumplir en el
desarrollo del software para

llevar a cabo todo el proceso.

Por lo general, esta también es la fase del modelo de cascada en la que debes
presentar tu propuesta del

proyecto si estás trabajando para un cliente. Y, en el caso de que tengas un trabajo


como freelance, no deja

de ser una buena práctica realizar esta propuesta y añadirla a tu portafolio de


trabajo.

2. DISEÑO

No hay dudas de que el diseño representa a una de las etapas preferidas del
modelo de cascada, ya que
es el momento en que te pondrás creativo y te convertirás en un arquitecto por
un rato, mientras diseñas y

realizas los primeros esbozos del resultado final del desarrollo de tu software.

En conclusión, durante esta fase del modelo de cascada, debes:

Definir la organización de la estructura y la de todos los elementos que necesitas


para el desarrollo de tu

software.

Describir cómo se relacionan cada uno de los elementos entre sí para que
funcionen de manera correcta,

teniendo siempre en cuenta el diseño de la interfaz.

3. IMPLEMENTACIÓN

Una vez que llegues a implementación, el desarrollo en cascada te exigirá realizar


una

traducción de todos los elementos del diseño que preparaste en la etapa previa al
lenguaje de

programación.

Posteriormente, tienes que integrar cada uno dentro del código y programación
del software,

realizando pruebas para verificar que no existan errores y dando forma poco a
poco a tu

producto terminado. ¡Y listo! Así dominarás esta fase del modelo de cascada.

4. VERIFICACIÓN

Durante la cuarta fase del modelo de cascada debes probar y ejecutar el código
final y verificar
su funcionamiento. Aquí también es necesario que compares tus resultados del
cierre con los

objetivos iniciales y compruebes si cumpliste con cada uno de ellos.

Y, por otro lado, te recomendamos que realices pruebas de cada uno de los
elementos que

hayas utilizado y que tomes en cuenta los comentarios que recibas si realizas
alguna encuesta o

presentas el resultado ante tu cliente, luego de completar el trabajo en cascada.

5. MANTENIMIENTO

Finalmente, una vez que ingreses en la quinta y última fase del modelo de
cascada, es momento

de analizar los resultados del paso anterior y realizar los cambios pertinentes (si es
que son

necesarios), para dar por concluido el proyecto.

Llegado este momento, es probable que tengas que regresar a esta fase del
modelo en cascada

más de una vez, cada cierto tiempo, para comprobar que se adapta a los cambios
de su

entorno.

Y este proceso no significa que hayas fallado al aplicar la metodología de la


cascada, sino

que con lo rápido que se dan los cambios en la tecnología hoy en día, es esencial
que mantengas

tu software constantemente actualizado para que siga siendo relevante.

VENTAJAS DEL MODELO EN CASCADA


• Te ayuda a llevar un orden y organizar tu trabajo.

• Es muy útil si no tienes demasiada experiencia.

• Funciona de manera óptima en la mayoría de los dispositivos.

• Es sencillo y fácil de seguir.

• Te brinda las herramientas necesarias para tener claridad en tus objetivos desde
el comienzo

del proyecto.

• Al encontrar un problema, ofrece la oportunidad de detectar la fase del modelo


en cascada

en la que surgió y así arreglarlo lo más rápido posible.

DESVENTAJAS

• Si estás realizando un proyecto grande o muy complejo, puede que sea más
difícil dividirlo en fases

ordenadas, por lo que este sistema puede no ser el más adecuado.

• Debido a la forma de trabajo lineal, tienes menos tiempo para concluir cada una
de las fases del

modelo en cascada.

• No puedes pasar a la etapa siguiente hasta que completes la anterior.

• En ocasiones, los fallos no se detectan hasta la última fase del desarrollo, por lo
que, para resolverlo

tendrás que regresar a las fases anteriores y repetirlas o modificarlas.

MODELO INTERACTIVO

Es un modelo derivado del ciclo de vida en cascada. Este modelo busca reducir el
riesgo que surge entre las
necesidades del usuario y el producto final por malos entendidos durante la etapa
de recogida de

requisitos.

Consiste en la iteración de varios ciclos de vida en cascada. Al final de cada


iteración se le entrega al cliente

una versión mejorada o con mayores funcionalidades del producto. El cliente es


quien después de cada

iteración evalúa el producto y lo corrige o propone mejoras. Estas iteraciones se


repetirán hasta obtener un

producto que satisfaga las necesidades del cliente.

VENTAJAS Y DESVENTAJAS

VENTAJAS

• Una de las principales ventajas que ofrece este modelo es que no hace falta que
los

requisitos estén totalmente definidos al inicio del desarrollo, sino que se pueden ir
refinando

en cada una de las iteraciones.

• Igual que otros modelos similares tiene las ventajas propias de realizar el
desarrollo en

pequeños ciclos, lo que permite gestionar mejor los riesgos, gestionar mejor las
entregas…

INCONVENIENTES

• La primera de las ventajas que ofrece este modelo, el no ser necesario tener los
requisitos

definidos desde el principio, puede verse también como un inconveniente ya que


pueden

surgir problemas relacionados con la arquitectura.

MODELO EVOLUTIVO ESPIRAL

PLANIFICACIÓN

• Incluye la estimación del coste, el calendario y los recursos para la

iteración.

• Implica también la comprensión de los requisitos del sistema para la

comunicación continua entre el analista de requerimientos y el cliente.

ANÁLISIS DEL RIESGO

• La identificación de los riesgos potenciales se realiza mientras se planifica y

finaliza la estrategia de mitigación de riesgos.

INGENIERÍA

• Incluye la codificación, pruebas y el despliegue del software.

EVALUACIÓN

• Evaluación del software por parte del cliente.

Además, incluye la identificación y el seguimiento de riesgos tales como los

retrasos en los plazos y los sobrecostes.


¿CUÁNDO IMPLEMENTAR MODELO ESPIRAL ?

• El proyecto es grande.

• Se quiere que las liberaciones de software sean frecuentes.

• Aplica la creación de un prototipo.

• Es primordial un control de riesgos y costos.

• En proyectos catalogados de riesgo medio-alto y alto.

• Los requisitos son poco claros y complejos.

• Hay un alto grado de cambios y estos pueden aparecer en cualquier

momento.

VENTAJAS

• La funcionalidad adicional o los cambios se pueden hacer en una etapa

posterior.

• La estimación del coste se hace fácil, ya que la construcción del prototipo se

hace en pequeños fragmentos.


• El desarrollo continuo o repetido ayuda en la gestión de riesgos.

• El desarrollo es rápido y las características se añaden de forma sistemática.

• Siempre hay espacio para atender los comentarios de los clientes.

DESVENTAJAS

• Riesgo de no cumplir con la planificación o el presupuesto.

• Funciona mejor para proyectos grandes, aunque en estos también requiera de

una estricta evaluación de riesgos.

• Para su buen funcionamiento, el protocolo del modelo en espiral debe ser

seguido estrictamente.

• Se genera más documentación al tener fases intermedias.

• No es aconsejable para proyectos pequeños, la ratio coste beneficio no es

rentable.

MODELO DE CONSTRUCCIÓN DE PROTOTIPOS

En INGENIERIA DE SOFTWARE -> el Modelo de prototipos

pertenece a los modelos de desarrollo evolutivo.

El prototipo debe ser construido en poco tiempo, usando los

programas adecuados y no se debe utilizar mucho dinero

pues a partir de que este sea aprobado nosotros podemos

iniciar el verdadero desarrollo del software.

El diseño rápido se centra en una representación de aquellos

aspectos del software que serán visibles para el cliente o el

usuario final. Este diseño conduce a la construcción de un


prototipo, el cual es evaluado por el cliente para una

retroalimentación; gracias a ésta se refinan los requisitos del

software que se desarrollará. La interacción ocurre cuando el

prototipo se ajusta para satisfacer las necesidades del cliente.

Esto permite que al mismo tiempo el desarrollador entienda

mejor lo que se debe hacer y el cliente vea resultados a corto

plazo.

ETAPAS

* PLAN RÁPIDO

* MODELADO, DISEÑO RÁPIDO

* CONSTRUCCIÓN DEL

PROTOTIPO

* DESARROLLO, ENTREGA Y

RETROALIMENTACIÓN

* COMUNICACIÓN
VENTAJAS

• 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 humano-máquina.

DESVENTAJAS

• En horas de desarrollar rápidamente el prototipo, el desarrollador suele

tomar algunas decisiones de implementación poco convenientes (por

ejemplo, elegir un lenguaje de programación incorrecto porque proporcione

un desarrollo más rápido). Con el paso del tiempo, el derrollador puede


olvidarse de la razón que le llevó a tomar tales decisiones, con lo que se corre

el riesgo de que dichas elecciones pasen a formar parte del sistema final.

CASOS PRÁCTICOS

Dados los siguientes casos prácticos implementar un tipo de desarrollo de


software adecuado para el

mismo. Justificar su elección y detallar brevemente el proceso que se realizaría en


cada fase.

 CASO PRACTICO 1

Aplicación de gestión de flota de transporte

La empresa de logística se acerca a nuestro equipo de desarrollo de software, y


nos comunica el objetivo de

querer tener un software que permita:

• Rastrear a los camiones en ruta.

• Conocer su carga y datos personales del conductor.

• Ver los kilómetros recorridos.

• Cantidad de litros de combustibles utilizado en el recorrido.

Se trata de un proyecto a largo plazo que representa un gran gasto para la


empresa.

 CASOS PRÁCTICO 2

Sistema web de ventas de suplementos.

Una empresa de suplementos recién inicia su estructura y pide a su equipo de


programadores

que le desarrollen una pagina web para :


• Mostrar los suplementos deportivos

• Los suplementos deben estar separados por categoría y deben tener el precio
actualizado con

sus composiciones y nombre genéricos

• Cada suplemento tendrá un valor en pesos

• Debe mostrar promociones de cada día

• Stock de suplementos.

Se trata de un proyecto mediano y no de largo plazo.

 CASO PRACTICO 3

Usted es desarrollador y tiene un Drugstore ,por lo tanto decide desarrollar un

programa con las siguientes funciones

• Control de mercadería

• Stock de mercadería

• Precio de los productos

• Ganancias por día

• Ganancias semanales

• Ganancias mensuales

Se trata de un proyecto personal.

 CASO PRACTICO 4

Una empresa de productos tecnológicos, llama a su equipo de programadores y

solicita de suma urgencia realizar una pagina web con las siguientes funciones

• Mostrar los productos disponibles


• Mostrar los precios de cada producto

• Los productos deben estar separados por categorías.

• Información de la empresa como ser la visión, misión.

• Reflejados la ubicación en una mapa

Se trata de un proyecto que requiere de entregas inmediatas y rapidas.

También podría gustarte