2.2 Diseño De Modulos, Componentes Y Datos Flashcards
(20 cards)
¿Qué se entiende por diseño de módulos, componentes y de datos en software?
Es el proceso de dividir un sistema en unidades independientes (módulos y componentes) y definir la estructura de sus datos, de manera que se facilite la implementación, el mantenimiento y la escalabilidad.
¿Qué es un módulo en el contexto del software?
Es una unidad funcional autónoma que encapsula un conjunto de funcionalidades relacionadas y que puede desarrollarse, probarse y mantenerse de forma independiente.
¿Qué es un componente de software?
Es una parte del sistema que implementa una funcionalidad específica y que se integra con otros componentes para formar la aplicación completa.
¿Cuál es el objetivo principal de un diseño modular?
Reducir la complejidad del sistema al dividirlo en partes manejables, facilitando la reutilización, el mantenimiento y la escalabilidad.
¿Qué se entiende por alta cohesión en el diseño de módulos?
Que las funciones y responsabilidades dentro de un módulo estén fuertemente relacionadas entre sí, lo que mejora la claridad y facilita su mantenimiento.
¿Qué significa tener un bajo acoplamiento entre módulos?
Que los módulos dependan lo menos posible entre sí, permitiendo modificar o reemplazar uno sin afectar significativamente a los demás.
¿Qué papel juegan las interfaces en el diseño de componentes?
Las interfaces definen contratos claros de interacción entre módulos, ocultando la implementación interna y facilitando la integración y la reutilización.
¿Qué es la separación de responsabilidades?
Es el principio de asignar tareas específicas y bien definidas a cada módulo o componente, evitando la mezcla de funcionalidades y promoviendo un diseño más claro.
¿Qué es un diagrama de componentes?
Es una representación gráfica (usualmente en UML) que muestra los componentes del sistema y sus relaciones, facilitando la visualización de la estructura global.
¿Cómo se diseña la estructura de datos en un sistema?
Se definen las entidades, sus atributos y las relaciones entre ellas, utilizando técnicas como el modelado entidad-relación o diagramas de clases para garantizar un almacenamiento y recuperación eficientes.
¿Qué es la normalización de datos?
Es el proceso de organizar los datos en una base de datos para minimizar la redundancia y asegurar la integridad, aplicando reglas conocidas como formas normales.
¿Qué es el diseño orientado a objetos en el contexto de módulos y componentes?
Es un enfoque que modela el sistema a partir de objetos que encapsulan datos y comportamientos, facilitando la modularidad y la reutilización mediante conceptos como herencia, polimorfismo y encapsulamiento.
¿Qué es el patrón “Facade” y para qué se utiliza?
Es un patrón que proporciona una interfaz simplificada a un conjunto complejo de subsistemas o componentes, ocultando la complejidad interna y facilitando su uso.
¿Qué es el patrón “Adapter” en el diseño de componentes?
Es un patrón que permite que interfaces incompatibles cooperen, creando un adaptador que traduce las solicitudes de un componente a un formato entendible por otro.
¿Qué significa “encapsulamiento” en el diseño de software?
Es el principio de ocultar la implementación interna de un módulo o componente y exponer solo lo necesario a través de interfaces, protegiendo la integridad de los datos.
¿Qué es la reutilización de componentes?
Es la práctica de aprovechar módulos o componentes previamente desarrollados en nuevos proyectos, lo que reduce tiempos de desarrollo y mejora la consistencia.
¿Qué son las API y cuál es su relevancia en el diseño de componentes?
Las API (Interfaces de Programación de Aplicaciones) definen cómo se comunican y acceden a las funcionalidades de un componente, facilitando la integración y el uso de servicios comunes.
¿Qué es el diseño basado en datos?
Es un enfoque que prioriza la correcta estructuración y gestión de los datos del sistema, asegurando su integridad, accesibilidad y rendimiento a través de modelos y diagramas específicos.
¿Cómo se utilizan los diagramas de clases en el diseño de módulos y componentes?
Los diagramas de clases muestran la estructura estática del sistema, definiendo las clases, sus atributos, métodos y relaciones, lo cual facilita la identificación y el diseño de módulos y componentes.
¿Qué es el testing de integración y por qué es fundamental en el diseño de módulos?
Es el proceso de verificar que los módulos y componentes interactúan correctamente una vez integrados, asegurando que la comunicación entre ellos sea fluida y que el sistema funcione de forma coherente.