Conceptos B谩sicos del Dise帽o
Abstracci贸n
Es
el proceso o el resultado de la generalizaci贸n de la reducci贸n del contenido de
la informaci贸n de un concepto o un fen贸meno observable, por lo general, con el
fin de conservar 煤nicamente la informaci贸n que es relevante para un prop贸sito
en particular. Cuando se considera una soluci贸n modular a cualquier problema se
pueden exponer muchos grados de abstracci贸n.
· Abstracci贸n
Procedimental: Se refiere a una secuencia de instrucciones que tiene una
funci贸n espec铆fica y limitada.
· Abstracci贸n
de Datos: Es una colecci贸n nombrada de datos que describe un objeto de datos.
Cohesi贸n
La Cohesi贸n es
una medida que define el grado de interdependencia entre los elementos que
conforman los m贸dulos. A mejor cohesi贸n, mejor dise帽o de programa obtenemos.
Hay siete tipos de cohesi贸n, llamados:
§ Cohesi贸n
coincidente - Es una cohesi贸n no planificada y aleatoria, la cual puede romper
el programa en peque帽os m贸dulos por el bien de la modularizaci贸n. Como que no
tiene una planificaci贸n, puede confundir a los programadores. Por eso este tipo
no est谩 generalmente aceptado.
§ Cohesi贸n
l贸gica - La categorizaci贸n de manera l贸gica en la que los elementos se colocan
juntos en un mismo m贸dulo, se denomina Cohesi贸n l贸gica.
§ Cohesi贸n
temporal - Cuando los elementos del m贸dulo se organizan de manera que se
procesan en un momento similar en el tiempo, hablamos de Cohesi贸n temporal.
§ Cohesi贸n
procedimental - Cuando los elementos del m贸dulo se agrupan juntos, y se
ejecutan de forma secuencial para poder llevar a cabo una tarea, hablamos de
Cohesi贸n procedimental.
§ Cohesi贸n
comunicativa - Cuando los elementos del m贸dulo se agrupan juntos, y se ejecutan
y funcionan en los mismos datos (informaci贸n) de forma secuencial, hablamos de
Cohesi贸n comunicativa.
§ Cohesi贸n
secuencial - Cuando los elementos del m贸dulo se agrupan porque el resultado de
un elemento sirve de entrada a otro y as铆 sucesivamente, hablamos de Cohesi贸n
secuencial.
§ Cohesi贸n
funcional - Se considera la mejor en cuanto a mayor grado de cohesi贸n, y es
altamente previsible. Los elementos del m贸dulo en cohesi贸n funcional se agrupan
porque todos ellos contribuyen a conseguir una funci贸n 煤nica y bien definida.
Tambi茅n se puede reutilizar.
Acoplamiento
El acoplamiento
es una medida que define el nivel de interdependencia entre los m贸dulos del
programa. Nos muestra el nivel en que los m贸dulos interfieren e interact煤an
entre ellos. A menor acoplamiento, mejor programa se obtiene. Hay cinco niveles
de acoplamiento, llamados:
· Acoplamiento
de contenido - Cuando un m贸dulo puede acceder, modificar o consultar
directamente el contenido de otro m贸dulo hablamos de acoplamiento del nivel de
contenido.
· Acoplamiento
com煤n- Cuando m煤ltiples m贸dulos han le铆do y escrito el acceso a alg煤n dato
global, hablamos de acoplamiento global o com煤n.
· Acoplamiento
de Control- Dos m贸dulos se denominan acoplados de control si uno de ellos
decide la funci贸n del otro o cambia su flujo de ejecuci贸n.
· Acoplamiento
'stamp'- Cuando m煤ltiples m贸dulos comparten la misma estructura de datos y
funcionan en diferentes partes de la misma, hablamos de acoplamiento 'stamp'.
· Acoplamiento
de datos- Se da cuando dos m贸dulos interact煤an entre ellos con la finalidad de
pasarse informaci贸n (como par谩metro). Si un m贸dulo pasa una estructura de datos
como par谩metro, el m贸dulo receptor debe usar todos sus componentes.
No hay un tipo
de acoplamiento que se considere el mejor.