Que Es Un Software. Ciclos De Vida Y Modelos

Para entender un poco mejor de que hablaremos es necesario comenzar con la definición del ciclo de vida de software, el Ciclo de Vida del Software es el período de tiempo que comienza en el momento de la decisión sobre la creación de un producto de software y llega a su fin en el momento de su total desmantelamiento este ciclo es un proceso de construcción y desarrollo de software. A continuacion te hablare de Que es un Software. Ciclos de vida y modelos.

También podrías leer: Diferencias Entre Java Y JavaScript.

¿Que es un Software?

Software es un término general para los diversos tipos de programas utilizados para operar computadoras y dispositivos similares el software puede verse como la parte variable de una computadora.

El software a menudo se divide en software de aplicación (programas que se dirigen directamente al usuario) y software del sistema (incluidos los sistemas operativos y cualquier programa que admita software de aplicación).

Que es un Software
Que es un Software

El término middleware se usa a veces para describir programas que median entre la aplicación y el software del sistema, o entre dos tipos diferentes de software de aplicación (por ejemplo, enviar una solicitud de trabajo remoto desde una aplicación en una computadora que tiene algún tipo de sistema operativo para una aplicación en una computadora con un sistema operativo diferente).

Etapas del ciclo de vida de un software

Las etapas del ciclo de vida de los software cubren el ciclo de vida completo de un software, es decir, desde el inicio hasta el retiro del software. La adhesión al proceso SDLC conduce al desarrollo del software de manera sistemática y disciplinada.

El ciclo de vida de software es un marco que define los pasos involucrados en el desarrollo de software en cada fase. Concluye un fin común que es para construir, implementar y mantener el software define el ciclo completo de desarrollo, es decir, todas las tareas involucradas en la planificación, creación, es un proceso que define las diversas etapas involucradas en el desarrollo de software para entregar un producto de alta calidad.

Etapas del ciclo de vida de un software
Etapas del ciclo de vida de un software

1. Requerimientos

El ciclo de vida del desarrollo de software comienza con la etapa de análisis, durante la cual los participantes en el proceso examinan los requisitos establecidos para el producto final. El propósito de esta etapa es definir los requisitos detallados del sistema.

Además, es necesario estar convencido de que todos los participantes han comprendido correctamente las tareas que se plantean y la forma exacta en que cada requisito se llevará a cabo en la práctica.

A menudo, también participan en el debate especialistas en pruebas, que ya pueden formular sus propios deseos en la fase de desarrollo de los requisitos y, si es necesario, ajustar el proceso.Según el modelo de desarrollo elegido, los enfoques para determinar el momento de transición de una etapa a otra pueden diferir.

Por ejemplo, en un modelo en cascada o en V, la etapa de análisis de los requisitos se fija en un documento -Especificación de Requisitos de Software (SRS)-, cuya ejecución debe completarse antes de pasar a la siguiente etapa. Así pues, esta etapa implica la recopilación de los requisitos del software en desarrollo, su sistematización, documentación, análisis, así como la identificación y resolución de contradicciones.

2. Diseño

En la etapa de diseño (también llamada etapa de diseño y arquitectura) los programadores y arquitectos de sistemas, guiados por los requisitos, desarrollan un diseño de sistema de alto nivel. Diversas cuestiones técnicas que surgen en el proceso de diseño se examinan con todos los interesados, incluido el cliente.

Se determinan las tecnologías que se utilizarán en el proyecto, la carga del equipo, las limitaciones, el plazo y el presupuesto. Las soluciones de diseño más apropiadas se seleccionan de acuerdo con los requisitos especificados.

El diseño del sistema aprobado determina la lista de los componentes del software desarrollado, la interacción con terceros, las características funcionales del programa, las bases de datos utilizadas y mucho más.

Por regla general, el diseño se fija en un documento separado Documento de Especificación de Diseño (DSD). En esta etapa, para simplificar la visualización del proceso de diseño se utilizan las llamadas notaciones, una expresión esquemática de las características del sistema desarrollado. Las principales notaciones utilizadas:

  • Diagramas de bloques.
  • Los diagramas de Urgencias.
  • Diagramas UML.
  • Diseños - por ejemplo, un prototipo de sitio dibujado en Photoshop.

3. Desarrollo y programación

Una vez que se aprueban los requisitos y el diseño del producto, tiene lugar la transición a la siguiente etapa del ciclo de vida, directamente en el desarrollo. Aquí los programadores empiezan a escribir el código del programa según los requisitos previamente definidos.

Los administradores del sistema configuran el entorno del software, los programadores del front-end desarrollan la interfaz de usuario del programa y la lógica de su interacción con el servidor.

Además, los programadores escriben pruebas unitarias para comprobar la corrección del código de cada componente del sistema, revisan el código escrito, crean construcciones y despliegan el software listo en el entorno del programa. Este ciclo se repite hasta que se cumplen todos los requisitos.

La programación implica cuatro etapas principales:

  •  Desarrollo de algoritmos - de hecho, creando la lógica de funcionamiento del programa.
  •  Escribir el código fuente.
  •  Compilación - conversión a código de máquina.
  • Prueba y depuración - esto es principalmente una prueba de unidad.

4. Documentación

Esta etapa se asigna más bien condicionalmente, ya que, como hemos visto, estos o esos documentos se crean en todas las etapas del ciclo de vida del programa. No obstante, además de la documentación de diseño y la elaboración de registros que la acompaña, existen también otros documentos de texto que describen, por ejemplo, las funciones del programa y las formas de su utilización.

En total hay cuatro niveles de documentación:

  • Arquitectónico (diseño) - por ejemplo, la especificación del diseño. Se trata de documentos en los que se describen los modelos, metodologías, instrumentos y herramientas de desarrollo elegidos para un proyecto determinado.
  • Técnica - toda la documentación que acompaña al desarrollo. Incluye varios documentos que explican el trabajo del sistema con respecto a módulos separados. Por lo general, se escribe en forma de comentarios al código fuente, que posteriormente se estructuran como documentos HTML.
  • Usuario - incluye material de referencia y explicativo necesario para que el usuario final trabaje con el sistema. Esto es, por ejemplo, Readmey y Userguide, la sección de ayuda del programa.
  • Mercadeo - incluye materiales de publicidad que acompañan el lanzamiento del producto. Su propósito es presentar la funcionalidad y las ventajas competitivas del producto de una manera colorida.

5. Probando

Ya hemos considerado las principales etapas de las pruebas en la sección Proceso fundamental de pruebas. Los probadores buscan defectos en el software y comparan el comportamiento del sistema descrito en los requisitos con el real, en la fase de prueba se detectan los bichos que se han pasado por alto durante el desarrollo.

Cuando se detecta un defecto, el probador hace un informe sobre el error que se pasa a los desarrolladores. Estos últimos lo arreglan y luego se repiten las pruebas, pero esta vez para asegurarse de que el problema se ha solucionado y que el arreglo en sí no ha causado nuevos defectos en el producto, Las pruebas se repiten hasta que se cumplan los criterios para su realización.

6. Introducción

Cuando un programa ha sido probado y no quedan defectos graves en él, es el momento de liberarlo y pasarlo a los usuarios finales, después del lanzamiento de una nueva versión del programa, el departamento de soporte técnico está incluido en el trabajo. Sus empleados proporcionan a los usuarios información, asesoramiento y apoyo.

En caso de que los usuarios detecten algunos errores posteriores a la liberación, la información sobre ellos se transmite en forma de informes de error al equipo de desarrollo que, dependiendo de la gravedad del problema, o bien libera inmediatamente una corrección (la llamada "hot-fix") o la retrasa hasta la siguiente versión del programa.Además, el equipo de apoyo técnico ayuda a recopilar y sistematizar diferentes métricas - el rendimiento del programa en condiciones reales.

Todas las etapas del ciclo de vida de los programas informáticos presentadas anteriormente se aplican en cualquier modelo de desarrollo, pero su duración y orden pueden diferir.

Modelos del ciclo de vida del software

Existen varios tipos de modelos del ciclo de vida del software pero lo mas usados son los que te presentare a continuación detalladamente.

1. Modelo de cascada

Modelo de cascada es un modelo de proceso de desarrollo de software, cuyo ciclo de vida parece un flujo, pasando sucesivamente por las fases de análisis de requerimientos, diseño, implementación, prueba, integración y soporte. El proceso de desarrollo se lleva a cabo mediante una secuencia ordenada de pasos independientes.

El modelo establece que cada paso posterior comienza después de que el paso anterior se haya completado completamente. En todas las etapas del modelo se realizan procesos y trabajos auxiliares y organizativos, como la gestión de proyectos, la evaluación y gestión de la calidad, la verificación y certificación, la gestión de la configuración y la elaboración de documentación.

También podrías leer: Cual Es La Diferencia Entre 32 y 64 Bits En un Ordenador

2. Modelo incremental

El modelo de incrementos implica el desarrollo de software con una secuencia lineal de etapas, pero en varios incrementos (versiones), es decir, con una mejora planificada del producto durante todo el tiempo hasta que el ciclo de vida del desarrollo de software llega a su fin.

El desarrollo del software se itera con bucles de retroalimentación entre etapas. Las correcciones entre etapas permiten tener en cuenta la influencia mutua real de los resultados del desarrollo en las diferentes etapas, el tiempo de vida de cada etapa se extiende para todo el período de desarrollo.

Al mismo tiempo, es posible especificar los requisitos para otras partes, que en el actual conjunto de requisitos de este trabajo se han congelado. Si es necesario, puede volver a esta parte más tarde. Esto permite al cliente especificar los requisitos para los siguientes componentes.

Luego desarrollan la siguiente parte del sistema. Los pasos clave en este proceso son simplemente implementar un subconjunto de los requisitos del programa y mejorar el modelo en una serie de versiones sucesivas hasta que el software se implemente completamente.

Razones por la que se desarrollan las versiones:

El ciclo de vida de este modelo es típico para el desarrollo de sistemas complejos y complejos, para los cuales existe una visión clara (tanto del lado del cliente como del desarrollador) de lo que debería ser el resultado final. Las versiones se desarrollan por varias razones:

  • La incapacidad del cliente para financiar inmediatamente todo el costoso proyecto.
  • El desarrollador no dispone de los recursos necesarios para llevar a cabo un proyecto complejo en poco tiempo.
  • Los requisitos de la introducción por etapas y el desarrollo del producto por parte de los usuarios finales. La introducción de todo el sistema de una sola vez puede provocar en sus usuarios la aversión y sólo "ralentizar" el proceso de transición a las nuevas tecnologías.

Las ventajas y desventajas de este modelo (estrategia) son las mismas que las de la cascada (modelo clásico de ciclo de vida). Ya por los resultados de la elaboración y la introducción de la primera versión puede cambiar ligeramente los requisitos a la elaboración, rechazarla u ofrecer la elaboración de un producto más perfecto con la conclusión del nuevo contrato.

3. Modelo espiral

En cada bobina de una espiral se realiza la creación de la siguiente versión de un producto, se especifican los requisitos del proyecto, se define su calidad y se planifican los trabajos de la siguiente bobina. Se presta especial atención a las etapas iniciales de la elaboración, al análisis y al diseño, en las que se comprueba y comprueba la viabilidad de esas u otras decisiones técnicas mediante la creación de prototipos.

Este modelo es un proceso de desarrollo de software que combina el diseño y la creación de prototipos paso a paso para combinar las ventajas de un concepto ascendente y descendente. Un rasgo distintivo de este modelo es su especial atención a los riesgos que afectan a la organización del ciclo de vida.

En las etapas de análisis y diseño se comprueba la viabilidad de las decisiones técnicas y el grado de satisfacción de los requisitos del cliente mediante la creación de prototipos. Cada bobina de una espiral corresponde a la creación de un fragmento de trabajo o la versión del sistema.

Permite especificar los requisitos, los propósitos y las características del proyecto, definir la calidad de la elaboración, planificar los trabajos de la siguiente bobina de una espiral.

También podrías leer: Diferencia Entre iPad y Tablet

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir