Haz clic en cada sección para expandir la información detallada.
El desarrollo de software es un proceso complejo que requiere un marco de referencia común para todos los participantes. Este proceso se conceptualiza a través del ciclo de vida del software, que abarca desde la definición de requisitos hasta la finalización de su uso.
Los modelos de ciclo de vida del software proporcionan una aproximación lógica. Los más conocidos son:
Se caracteriza por su secuencialidad. Cada fase debe completarse antes de pasar a la siguiente. Ha sido criticado por su rigidez y la detección tardía de errores, aunque se han propuesto mejoras como la participación activa del usuario y la reutilización de código.
Destaca por su énfasis en la gestión de riesgos. Cada ciclo incluye una revisión exhaustiva con las partes interesadas del proyecto para identificar y gestionar riesgos, lo que permite una especificación más detallada de los elementos de alto riesgo.
La documentación es un producto esencial en todas las fases del ciclo de vida del software, ayudando a construir el sistema con éxito y facilitando el mantenimiento.
La Ingeniería de Requerimientos (IR) se enfoca en definir lo que se desea producir, generando especificaciones correctas y claras. El análisis estructurado es un método para normalizar y estructurar este proceso, utilizando:
El diseño de bases de datos pasa por varias etapas:
Traduce el modelo conceptual a un modelo lógico, aplicando la normalización para evitar redundancias y anomalías en la actualización de datos.
Se orienta a optimizar el funcionamiento de la base de datos, incluyendo la selección de organizaciones de almacenamiento y la desnormalización controlada.
Es crucial en entornos multiusuario para mantener la integridad de los datos, resolviendo problemas como la lectura sucia y la lectura fantasma.
Se utilizan Tipos Abstractos de Datos (TAD) para modelar la realidad, incluyendo:
También se emplean algoritmos de ordenación y búsqueda.
La seguridad es una necesidad básica para protegerse de ciberamenazas. Implica incorporar requisitos de seguridad desde el diseño, verificar parámetros de entrada, usar herramientas de escaneo y realizar pruebas de seguridad manuales.