Que es diseño modular
FACTORES DE CALIDAD DEL SOFTWARE
La calidad de los programas es el objetivo fundamental de la abstracción de datos. El software de calidad debe cumplir con una serie de factores de calidad. Se pueden clasificar en:
●Factor interno
Solo lo percibe aquel que tiene conocimientos sobre programación.●Factor externo
Son aquellos que afectan y los percibe de forma directa el usuario.●Factor interno y externo:
cumplen ambas características. Dichos tipos dependen del programador y de forma directa o indirecta afectan al usuario final. Losfactores de calidad que ha de cumplir el software son:●Corrección
Capacidad de un producto de realizar de forma adecuada aquello para lo que fue creado, tal y como se definió en los documentos de especificación de requisitos. Factor externo.
●Robustez
Capacidad del producto de manejar correctamente situaciones imprevistas de error o fuera de lo normal. Factor externo.●Fiabilidad
Medida en la que un producto proporciona unos resultados con la precisión requerida o con la total satisfacción del usuario (depende de la corrección y la robustez). Factor externo.
●Reutilidad o Reusabilidad
Capacidad del producto de ser reutilizado en su totalidad o parcialidad por otros productos con el objetivo de ahorrar tiempo en soluciones redundantes ya realizadas con anterioridad (diseño por capas de diferente nivel de abstracción). Factor interno.●Compatibilidad
Capacidad que tiene un programa de combinarse con otros (se usa la estandarización). Factor externo.●Eficiencia
Capacidad de un programa de realizar su cometido de la mejor forma posible. Ej: Espacio de memoria consumido, tiempo de ejecución necesario, etc… Factor interno y externo.●Portabilidad
Facilidad de un producto de ejecutarse en un hardware diferente o en una plataforma software diferente. Factor interno y externo.●Seguridad
Capacidad de un producto de proteger sus componentes de usos no autorizados y pérdida de información. Factor externo.●Extensibilidad
Facilidad de adaptar el producto a cambios en la especificación de requisitos(Añadir nuevas funcionalidades). Factor interno.●Integridad
El producto no debe corromperse por el simple hecho de su utilización masiva o por acumulación de datos u operaciones complejas no previstas. Factor externo.●Facilidad de uso
Facilidad que presenta un producto al ser usado por cualquier persona(introducción de datos, comprensión de errores, etc). Factor externo.●Accesibilidad
Capacidad de acceso a un producto sin dificultad por minusvalía, discapacidad o deficiencia. Factor externo.●Oportunidad
Capacidad de un sistema de ser lanzado cuando el mercado lo necesita o incluso antes. Factor externo.●Economía
Un producto software es mejor que otro si es más sostenible económicamente. Factor interno y externo.CRITERIOS DE DESCOMPOSICIÓN
Una método de diseño modular debe cumplir los siguientes criterios:1.Descomposición modular: Un método de construcción del software debe ayudar en la tarea de descomponer un problema en un pequeño número de subproblemas menos complejos, que interconectados mediante una estructura sencilla, permitan que el trabajo futuro pueda proseguir por separado en cada uno de ellos.
2.Composición modular: Un método satisface la composición modular si favorece la producción de elementos software que se puede combinar con otros para producir un nuevo software. Probablemente muy diferente al software para el que fue pensado esos módulos.
3.Comprensibilidad modular: Un método favorece la comprensibilidad modular si cada módulo es entendible sin necesidad de conocer los demás (Grado de comprensión del modulo).
4.Continuidad modular: Un método satisface la continuidad modular si un pequeño cambio en la especificación provoca solo cambios en un módulo.
5.Protección modular: Un método satisface la Protección Modular si ante una situación anormal dentro de un módulo, queda confinado en el y o se propaga o solo se propaga a un número reducido de módulos.Las reglas que deben seguirse para cumplir los criterios anteriores son:
1.Correspondencia directa: La estructura modular obtenida debe ser compatible con la estructura modular del dominio del problema.
2.Pocas interfaces: Un módulo debe comunicarse con el menor número posible de módulos.
3.Pequeñas interfaces: Los módulos deben intercambiar la menor información posible.
4.Interfaces explícitas: Deben ser obvias a partir de su simple lectura.
5.Ocultación de la información: El diseñador de cada módulo debe seleccionar un subconjunto de propiedades del módulo para ponerla a disposición de los autores de módulos clientes.Los principios a seguir para una descomposición modular de calidad son:
1.Unidades modulares linguísticas: Los módulos deben corresponderse con las estructuras linguísticas del método.
2.Autodocumentación: Toda la información del módulo debe de estar en el propio módulo.
3.Acceso uniforme: Todos los servicios ofrecidos por los módulos deben estar disponibles por una notación accesible.
4.Principio abierto/cerrado: Los módulos deben ser a la ver abiertos y cerrados:
a)Abierto: Facilitar la posterior modificación, ampliación, etc…
b)Cerrado: El módulo esta disponible para ser usado por otros módulos.
5.Elección única: Está relacionado con el principio abierto/cerrado y la ocultación de la información. Solo un módulo debe conocer la estructura de datos compleja que se utiliza y este será el mismo que se modifique al aplicar la estructura de datos. En el resto de módulos no influirán estas elecciones ya que para ellos estará oculta.