Está en la página 1de 10

UNIVERSIDAD TÉCNICA LUIS

VARGAS TORRES
CICLO DE VIDA DE DESARROLLO DE SOFTWARE

Apellidos y Nombres: Ramirez Reyes Luis Alexander


Carrera: Ingeniería en Tecnología de la Información y Comunicación
Materia: Programación II
Tabla de contenido
1. Resumen 3
2. Introducción 3
3. Objetivos 3
a. Objetivo General 3
b. Objetivos Específicos 3
4. Desarrollo 4-9
5. Conclusiones y Recomendaciones 10
6. Linkografía 10
CICLO DE VIDA DE DESARROLLO DE SOFTWARE

RESUMEN
El ciclo de vida del desarrollo de software es la estructura que contiene los procesos,
actividades y tareas relacionadas con el desarrollo y mantenimiento de un producto
de software

INTRODUCCIÓN
Su origen radica en que es muy costoso rectificar los posibles errores que se detectan tarde
en la fase de implementación. Utilizando metodologías apropiadas, se podría detectar a
tiempo para que los programadores puedan centrarse en la calidad del software,
cumpliendo los plazos y los costes asociados.

En el siguiente documento encontraremos temas relacionados a:

 Ciclo de Vida de Desarrollo de Software


 Etapas
 Tipos 
 Ejemplos
 Ventajas y Desventajas
 Conclusiones y Recomendaciones

OBJETIVOS
OBJETIVOS GENERALES
1. Conocer el significado del ciclo de vida de desarrollo de software, saber
cómo funciona y para qué sirve

OBJETIVOS ESPECÍFICOS
1. Comprender el significado del ciclo de vida de desarrollo de software
2. Estudiar el uso y el funcionamiento del ciclo de vida de desarrollo de
software
3. Aplicar los conocimientos en futuras actividades en clase
CICLO DE VIDA DE DESARROLLO DE SOFTWARE

DESARROLLO

El ciclo de vida del desarrollo del software (también conocido como SDLC
o Systems Development Life Cycle) contempla las fases necesarias para validar
el desarrollo del software y así garantizar que este cumpla los requisitos para la
aplicación y verificación de los procedimientos de desarrollo, asegurándose de
que los métodos usados son apropiados.
Su origen radica en que es muy costoso rectificar los posibles errores que se
detectan tarde en la fase de implementación. Utilizando metodologías
apropiadas, se podría detectar a tiempo para que los programadores puedan
centrarse en la calidad del software, cumpliendo los plazos y los costes
asociados.

Aunque existen diferentes ciclos de desarrollo de software, la


normativa ISO/IEC/IEEE 12207:2017 establece:
“Un marco común para los procesos del ciclo de vida de los programas
informáticos, con una terminología bien definida, a la que pueda remitirse la
industria del software. Contiene procesos, actividades y tareas aplicables
durante la adquisición, el suministro, el desarrollo, el funcionamiento, el
mantenimiento o la eliminación de sistemas, productos y servicios informáticos.
Estos procesos del ciclo de vida se llevan a cabo mediante la participación de
los interesados, con el objetivo final de lograr la satisfacción del cliente”.

PARTES DEL DESARROLLO DE SOFTWARE

La metodología para el desarrollo de software es un modo sistemático de


realizar, gestionar y administrar un proyecto para llevarlo a cabo con grandes
posibilidades de éxito. Esta sistematización indica cómo se divide un proyecto
en módulos más pequeños para normalizar cómo se administra el mismo.

Así, una metodología para el desarrollo de software son los procesos a seguir
sistemáticamente para idear, implementar y mantener un producto de software
desde que surge la necesidad del producto hasta que se cumple el objetivo por el
cual fue creado.

De esta forma, las etapas del desarrollo de software son las siguientes:
Planificación

Antes de empezar un proyecto de desarrollo de un sistema de información, es


necesario hacer ciertas tareas que influirán decisivamente en el éxito del mismo.
Dichas tareas son conocidas como el fuzzy front-end del proyecto, puesto que no
están sujetas a plazos.
Algunas de las tareas de esta fase incluyen actividades como la determinación
del ámbito del proyecto, la realización de un estudio de viabilidad, el análisis de
los riesgos asociados, la estimación del coste del proyecto, su planificación
temporal y la asignación de recursos a las diferentes etapas del proyecto.

Análisis

Por supuesto, hay que averiguar qué es exactamente lo que tiene que hacer el
software. Por eso, la etapa de análisis en el ciclo de vida del software
corresponde al proceso a través del cual se intenta descubrir qué es lo que
realmente se necesita y se llega a una comprensión adecuada de los
requerimientos del sistema (las características que el sistema debe poseer).

Diseño

En esta fase se estudian posibles opciones de implementación para el software


que hay que construir, así como decidir la estructura general del mismo. El
diseño es una etapa compleja y su proceso debe realizarse de manera iterativa.

Es posible que la solución inicial no sea la más adecuada, por lo que en tal caso
hay que refinarla. No obstante, hay catálogos de patrones de diseño muy útiles
que recogen errores que otros han cometido para no caer en la misma trampa.

Implementación

En esta fase hay que elegir las herramientas adecuadas, un entorno de desarrollo
que facilite el trabajo y un lenguaje de programación apropiado para el tipo de
software a construir. Esta elección dependerá tanto de las decisiones de diseño
tomadas como del entorno en el que el software deba funcionar.

Al programar, hay que intentar que el código no sea indescifrable siguiendo


distintas pautas como las siguientes:

 Evitar bloques de control no estructurados.


 Identificar correctamente las variables y su alcance.
 Elegir algoritmos y estructuras de datos adecuadas para el problema.
 Mantener la lógica de la aplicación lo más sencilla posible.
 Documentar y comentar adecuadamente el código de los programas.
 Facilitar la interpretación visual del código utilizando reglas de formato
de código previamente consensuadas en el equipo de desarrollo.
También hay que tener en cuenta la adquisición de recursos necesarios para que
el software funcione, además de desarrollar casos de prueba para comprobar el
funcionamiento del mismo según se vaya programando.

Pruebas

Como errar es humano, la fase de pruebas del ciclo de vida del software busca
detectar los fallos cometidos en las etapas anteriores para corregirlos. Por
supuesto, lo ideal es hacerlo antes de que el usuario final se los encuentre. Se
dice que una prueba es un éxito si se detecta algún error.

Instalación o despliegue

La siguiente fase es poner el software en funcionamiento, por lo que hay que


planificar el entorno teniendo en cuenta las dependencias existentes entre los
diferentes componentes del mismo.

Es posible que haya componentes que funcionen correctamente por separado,


pero que al combinarlos provoquen problemas. Por ello, hay que usar
combinaciones conocidas que no causen problemas de compatibilidad.

Uso y mantenimiento

Esta es una de las fases más importantes del ciclo de vida de desarrollo del
software. Puesto que el software ni se rompe ni se desgasta con el uso, su
mantenimiento incluye tres puntos diferenciados:

 Eliminar los defectos detectados durante su vida útil (mantenimiento


correctivo).
 Adaptarlo a nuevas necesidades (mantenimiento adaptativo).
 Añadirle nuevas funcionalidades (mantenimiento perfectivo).
Aunque suene contradictorio, cuanto mejor es el software más tiempo hay que
invertir en su mantenimiento. La principal razón es que se usará más (incluso de
formas que no se habían previsto) y, por ende, habrá más propuestas de mejoras.

TIPOS Y EJEMPLOS

Con el fin de facilitar una metodología común entre el cliente y la compañía de


software, los modelos de ciclo de vida (o paradigmas de desarrollo de software)
se han actualizado para plasmar las etapas de desarrollo involucradas y la
documentación necesaria, de forma que cada fase se valide antes de continuar
con la siguiente.

Modelo en cascada

En el modelo de ciclo de vida en cascada las fases anteriores funcionarán una


detrás de la otra de manera lineal. De este modo, solo cuando una fase termine
se podrá continuar con la siguiente, y así progresivamente.

Modelo repetitivo

Este modelo guía el proceso de desarrollo de software en repeticiones. Así,


proyecta el proceso de desarrollo de modo cíclico repitiendo cada paso después
de cada ciclo en el proceso de ciclo de vida del software.

Modelo en espiral

El modelo en espiral es una combinación de los modelos anteriores donde se


tiene en cuenta el riesgo. De esta forma, se comienza fijando los objetivos y las
limitaciones al empezar cada repetición. En la etapa siguiente se crean los
modelos de prototipo del software, que incluye el análisis de riesgo.
Posteriormente se usa un modelo estándar para construir el software y
finalmente se prepara el plan de la próxima repetición.

Modelo en V

Uno de los grandes problemas del modelo en cascada es que solo se pasa a la
siguiente fase si se completa la anterior y no se puede volver atrás si hay errores
en etapas posteriores. Así, el modelo en V da más opciones de evaluación del
software en cada etapa.

En cada fase se crea la planificación de las pruebas y los casos de pruebas para
verificar y validar el producto en función de los requisitos de la misma. De esta
manera, verificación y validación van en paralelo.

Modelo Big Bang

Probablemente este sea el modelo más simple, ya que necesita poca


planificación, mucha programación y muchos fondos. Este modelo tiene como
concepto principal la creación del universo; así, si se reúnen fondos y
programación, se consigue el mejor producto de software.
[ CITATION int20 \l 12298 ]
VENTAJAS Y DESVENTAJAS

Investigando sobre las ventajas de los modelos ágiles, me gustaría hacer los
siguientes apuntes sobre los ciclos de vida utilizados para el desarrollo de
software en sistemas embebidos

La metodología ágil es una metodología de desarrollo de software que se basa


en valores, principios y prácticas básicas. Los cuatro valores son comunicación,
simpleza, retroalimentación y valentía

(kendal,2011.p14)

Enfocándonos a las metodologías agiles, según Gacitúa Bustos, R. (2003).


encontramos 2 puntos importantes:
1.- Los métodos ágiles son más adaptativos que predictivos
2.- Los métodos ágiles son más orientados a las personas que al proceso.

Es por tal motivo que me encuentro identificado con tales metodologías. ya que
al describirlas son muy parecidas al tipo de desarrollos en los que me encuentro
involucrado.

Las ventajas de un desarrollo Ágil dentro del ciclo de vida del desarrollo de un


proyecto son:
– Útil cuando el objetivo no está claramente definido
– Existe una retroalimentación mutua entre el desarrollador y el cliente
– Se busca la coherencia en entre lo que busca el cliente y lo que se está
haciendo

Las desventajas identificadas de los métodos ágiles son:


– Si no se tiene experiencia en desarrollos de proyectos, puede caer en que el
proyecto flote sin rumbo.
– Puede pasar que la excesiva comunicación genere entorpecimiento de los
avances del proyecto.
– Si algún miembro abandona el proyecto, es complicado integrar a alguien que
cobra el lugar.
– Suele pasar que, al no tener una metodología definida, optan por escoger la
metodología ágil por exponer que se usa una.
CONCLUSIÓN
regularmente sabemos que, al desarrollar un software, difícilmente nuestros
jefes tendrán un enfoque o método determinado para trabajar. Es por eso que
manejar un modelo de programación extrema y acostumbrarse es una excelente
alternativa, de esta forma estarás dominando cada una de las metodologías del
ciclo de software de antaño y podrás afrontar cualquier situación complicada en
la cual te puedas encontrar.
RECOMENDACIÓN
Todas las metodologías son aplicables, pero depende del proyecto, la madurez
del cliente y del desarrollador, los tiempos y costos para poder escoger cual se
debe implementar.

LINKOGRAFIA

intelequia. (28 de NOVIEMBRE de 2020). intelequia. Obtenido de intelequia:


https://intelequia.com/blog/post/2083/ciclo-de-vida-del-software-todo-lo-que-necesitas-
saber
JoaquinAraujoJS. (2017). Platzi. Obtenido de Platzi: https://platzi.com/blog/que-es-ddl-dml-dcl-y-tcl-
integridad-referencial/
Raffino, M. E. (10 de julio de 2021.). Concepto.de. Obtenido de Concepto.de:
https://concepto.de/base-de-datos/
TECNOLOGÍA, C. Y. (14 de octubre de 2016). CIENCIA Y TECNOLOGÍA. Obtenido de CIENCIA Y
TECNOLOGÍA: https://www.universidadviu.com/co/actualidad/nuestros-expertos/lenguaje-
sql-historia-y-conceptos-basicos

También podría gustarte