Abstraccion
Enviado por barcoluisw • 16 de Octubre de 2020 • Monografía • 890 Palabras (4 Páginas) • 146 Visitas
Marco teórico
2.1 Abstracción.
Es una descripción simplificada o especificación que enfatiza algunos de los detalles o propiedades del sistema, mientras suprime otros. Se refiere a los niveles de resolución de problema, los cuales pueden ser altos si se especifica en lenguaje del entorno del problema; o bajo nivel de abstracción (o inferior) si tiene una orientación procedimental.
La abstracción puede ser de tipo:
- Datos.
- Procedimientos.
- Control.
Abstracción de procedimientos.
Es procedimental cuando se trata de una secuencia nombrada de instrucciones que tiene una función específica y limitada.
Abstracción de datos.
Es de datos cuando se hace referencia a una colección nombrada de datos que describe un objeto de datos.
Abstracción de control.
Es de control si explicita el mecanismo de control de programa sin especificar los datos internos.
2.1.1 Ventajas de abstracción.
- Da una descripción más detallada de un objecto, por lo cual se puede solucionar varios problemas con más facilidad.
- Tienen funciones específicas que detallan a un problema.
2.1.1 Desventaja de abstracción.
- Tienen funciones limitadas para detallar un problema, por lo cual no detalla al objecto o problema tan descriptivo.
2.2 Cohesión.
La cohesión es una extensión natural del concepto de ocultamiento de información. Un módulo cohesivo ejecuta una sola tarea, por lo que requiere interactuar poco con otros componentes en otras partes del programa. En pocas palabras, un módulo cohesivo debe (idealmente) hacer sólo una cosa. Aunque siempre debe tratarse de lograr mucha cohesión (por ejemplo, una sola tarea), con frecuencia es necesario y aconsejable hacer que un componente de software realice funciones múltiples. Sin embargo, para lograr un buen diseño hay que evitar los componentes “esquizofrénicos” (módulos que llevan a cabo funciones no relacionadas).
2.2.1 Ventajas de cohesión.
- Ejecutan una sola tarea por lo cual es mas eficiente al detallar una información.
- Evita detallar otros componentes innecesarios del programa.
2.2.2 Desventaja de cohesión.
- Solo puede ejecutar una tarea en un programa, por lo general solo puede hacer una cosa.
2.3 Acoplamiento.
El acoplamiento es una indicación de la interconexión entre módulos en una estructura de software, y depende de la complejidad de la interfaz entre módulos, del grado en el que se entra o se hace referencia a un módulo y de qué datos pasan a través de la interfaz. En el diseño de software, debe buscarse el mínimo acoplamiento posible. La conexión simple entre módulos da como resultado un software que sea más fácil de captar y menos propenso al “efecto de oleaje”, ocasionado cuando ocurren errores en un sitio y se propagan por todo el sistema.
2.3.1 Ventajas de acoplamiento.
- Se interconecta con distintos módulos en una estructura de software, por lo cual hace más compleja la información que se detalla en esos módulos.
- Al interconectarse con estos módulos ayuda que el diseño de software sea más fácil de entender y sufra menos errores posibles.
2.3.2 Desventaja de acoplamiento.
- Depende solo de la complejidad de la interfaz entre módulos.
- Debe buscar el mínimo acoplamiento al interconectarse con el diseño de software, por lo cual es necesario que las clases de diseño colaboren una con otra.
2.4 Descomposición.
Descomposición es el proceso de descomposición de un sistema en un conjunto de elementos con un índice bajo acoplamiento y alto índice de cohesión. Consiste en deshacer el problema a resolver en módulos o tareas más sencillas. Cada tarea representa una actividad completa y se codifica de manera independiente. Facilita el diseño descendente del problema, centrándonos cada vez en la resolución de subproblemas de importancia inferior.
...