Diseño de software
¿Qué es el diseño de la capa de presentación?
La capa de presentación es la que ve el usuario (también se la denomina “capa de usuario”), presenta el sistema al usuario, le comunica la información y captura la información del usuario en un mínimo proceso (realiza un filtrado previo para comprobar que no hay errores de formato). (Junta de Andalucía)
Se puede considerar que en el diseño interno de la capa de presentación existen estos puntos:
- La arquitectura Modelo, Vista y Controlador.
- La reactividad y actualización dinámica.
- La componentización.
- El manejo de estados.
- La accesibilidad.
- Los estilos y temas.
¿Cuál es el diseño externo de un sistema de software?
Es toda la estructura visible para los usuarios/sistemas que interactúan con él, como la interfaz de usuario y la arquitectura general del sistema. (Chapaval, s.f.)
Frontend es la parte de un programa, sitio web o dispositivo a la que un usuario puede acceder directamente. En el contexto de diseño web y desarrollo web, se refiere a todas las tecnologías que corren en el navegador y que se encargan de la interactividad con los usuarios. (Chapaval, s.f.)
¿Qué es el diseño de la capa de datos?
Es la estructuración y organización que definen la manera en la que los datos son almacenados, a los cuales después se accede y al final se procesan en el sistema de software. La capa de datos está formada por repositorios que pueden contener de cero a muchas fuentes de datos. (Capa de datos, s.f.)
¿Qué es la tecnología de bases de datos relacionales?
Es un tipo de base de datos que almacena y proporciona acceso a puntos de datos relacionados entre sí. Las bases de datos relacionales se basan en el modelo relacional, una forma intuitiva y directa de representar datos en tablas. En una base de datos relacional, cada fila en una tabla es un registro con una ID única, llamada clave. Las columnas de la tabla contienen los atributos de los datos y cada registro suele tener un valor para cada atributo, lo que simplifica la creación de relaciones entre los puntos de datos. (Oracle, s.f.)

¿Cuál es la diferencia de las estrategias de gestión de la persistencia de la generación automática y el diseño directo?
En la generación automática las herramientas que son automatizadas generan código de manera automática y las estructuras de bases de datos a partir de modelos de datos por otro lado en el diseño directo, los desarrolladores de software son los que diseñan de forma manual la estructura de la base de datos y escriben todo el código de acceso de datos de manera específica.
Persistencia
Los artefactos de persistencia se refieren a los productos construidos durante el proceso de desarrollo de software, permitiendo a los sistemas de información trascender los datos en el tiempo, almacenándolos en bases de datos o archivos. (Quintero, Hernández, & Yanza, 2008)
Un factor determinante para el tratamiento de los artefactos de persistencia es el nivel de abstracción de los modelos de datos. Según Ambler [13], existen tres estilos para la construcción de modelos relacionados con los datos. (Quintero, Hernández, & Yanza, 2008)
- Modelo conceptual
- Modelo lógico
- Modelo físico
¿Cuál es la diferencia de las estrategias de gestión de la persistencia de la generación automática y el diseño directo?
En la generación automática las herramientas que son automatizadas generan código de manera automática y las estructuras de bases de datos a partir de modelos de datos por otro lado en el diseño directo, los desarrolladores de software son los que diseñan de forma manual la estructura de la base de datos y escriben todo el código de acceso de datos de manera específica.
Gestión de persistencia
La gestión de la persistencia hace referencia a la manera en la que se almacenan y recuperan los datos para una aplicación. Algunas de las estrategias que se pueden encontrar son:
Mapeo Objeto-Relacional (ORM). Es un modelo de datos basado en la lógica de predicado y en la teoría de conjuntos para la gestión de una base de datos. Siguiendo este modelo se puede construir una base de datos relacional que no es más que un conjunto de una o más tablas estructuradas en registros (filas) y campos (columnas), que se vinculan entre sí por un campo en común. (Yanes Enriquez & García del Busto, 2011)
Base de Datos NoSQL. NoSQL – es un término utilizado para describir un conjunto de bases de datos que se diferencian de las bases de datos relacionales (RDBMS) en los siguientes aspectos: esquema prescindible, desnormalización, escalan horizontalmente y en sus premisas no está garantizar ACID. (Zorrilla & García-Saiz, 2017)
Entre varias otras estrategias de gestión de persistencia.
Generación automática de la persistencia
Es una técnica que tiene que ver con la elaboración automática de código o configuraciones que se relacionan con la persistencia de datos en una aplicación. Su objetivo es el de la reducción de la carga de trabajo manual en el desarrollo de software. Algunas consideraciones que se pueden tomar son:
- Mapeo Objeto-Relacional (ORM).
- Plantillas y Frameworks.
- Configuración Declarativa
Entre varias más.
Diseño directo de la persistencia
Es una aproximación en la que los desarrolladores diseñan y gestionan de manera directa la capa de la persistencia de datos en la aplicación que se esté utilizando/realizando.
Los aspectos que se pueden tomar en cuenta son:
- Consultas SQL manuales.
- Modelo de datos personalizado.
- Optimización de rendimiento.
Entre varios otros aspectos.