Se conoce como software al conjunto de programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de las operaciones de un sistema de computación.
El software es una herramienta que nos permite interactuar con el hardware de un equipo, para realizar cualquier tipo de actividad en un sistema. Dispositivos como el celular, el computador o cámaras, no podrían utilizarse sin tener un software diseñado para su funcionamiento.
Existen softwares que permiten automatizar o apoyar procesos dentro de un establecimiento, y existen empresas que se encargan de desarrollar softwares que cumplan con las tareas que sus clientes necesitan.
Ciclo de vida del software
Al proceso de creación del software se le conoce como ciclo de vida del software, y describe su desarrollo desde la fase inicial hasta la fase final. La intención de este ciclo es delimitar las distintas fases que se requieren para validar el desarrollo de la aplicación.
La creación del ciclo de vida del software se origina como respuesta al alto costo que conlleva la rectificación de errores que han sido tardíamente detectados en la fase de implementación. El ciclo de vida del software permite que los errores se detecten lo antes posible, permitiendo a los desarrolladores trabajar de una forma más eficiente, asegurando mayor calidad, en plazos de tiempo más reducidos.
Entre los procesos que se ven implicados en el ciclo vida del software, encontramos:
- Definición de objetivos
Precisa la finalidad del proyecto.
- Análisis de requisitos y viabilidad
Estudia los requisitos del cliente y cualquier restricción que se pueda aplicar.
- Diseño general
Revisa los requisitos generales para la arquitectura de la aplicación.
- Diseño en detalle
Define cada subconjunto de la aplicación.
- Programación
Es la implementación de un lenguaje de programación para crear las funciones establecidas en la etapa de diseño.
- Integración
Revisa que los distintos módulos se incorporen a la aplicación.
- Prueba beta
Garantiza que el software cumple con las especificaciones iniciales.
- Documentación
Sirve para recopilar la información necesaria para los usuarios de la aplicación y desarrollos futuros.
- Implementación
Es la fase final, donde el software es utilizado para los ambientes que fue diseñado.
Modelos de ciclo de vida del software
Los procesos dentro del ciclo de vida pueden realizarse de maneras distintas, entre los dos modelos más implementados para el desarrollo de softwares, encontramos:
- Modelo cascada
- Modelo V
La diferencia entre estos dos modelos radica en la relación de cada proceso con el siguiente. Mientras que en el modelo cascada un proceso puede condicionar el proceso anterior, generando modificaciones. El modelo V verifica y prueba cada proceso, cerrando cada fase antes de pasar a la siguiente.
Cada modelo implica ventajas distintas, entre ellas podemos mencionar que el modelo cascada, al ser lineal, es más sencillo de implementar y requiere menos recursos para cada etapa. Mientras que el modelo V, hace más cómoda la repetición de las actividades del proceso, y las pruebas en cada fase ayudan a corregir errores sin tener que llegar a la fase final para ser notificados de ellos.