Temas
Modularización
Ejemplos
Ventajas
Modularización
MOTIVACIÓN
Los problemas del mundo real implican:
Complejidad
Extensión
Modificaciones
Los tratamos de resolver con:
Abstracción.
Descomposición funcional.
Modularización
Modularizar significa dividir un problema en partes funcionalmente independientes, que encapsulen operaciones y datos.
(Gp:) No se trata simplemente de subdividir el código de un sistema de software en bloques con un número de instrucciones dado.
Separar en funciones lógicas con datos propios y datos de comunicación perfectamente especificados.
Modularización – Abstracción
La descomposición tiene siempre un objetivo.
Se busca obtener:
Alta Cohesión: medida del grado de identificación de un módulo con una función concreta.
Bajo Acoplamiento: medida de la interacción de los módulos que constituyen un programa.
Modularización – Abstracción
Cuando se descompone un problema en subproblemas, deben ser de forma tal que:
Cada subproblema está en un mismo nivel de detalle.
Cada subproblema puede resolverse lo más independientemente posible.
Las soluciones de los subproblemas puede combinarse para resolver el problema original.
Modularización – Descomposición
¿Qué son los Módulos?
Es un conjunto de instrucciones que cumplen una tarea específica bien definida, se comunican entre sí adecuadamente y cooperan para conseguir un objetivo común.
Se descompone de problemas grandes a problemas pequeños
(Gp:) Cada módulo encapsula, acciones tareas o funciones
(Gp:) Hay que representar los objetos relevantes del problema a resolver.
Modularización
¿Qué es un módulo en nuestras soluciones?
¿Cómo debe ser un módulo de software en nuestros programas?
¿Existe una metodología para trabajar?
¿Es importante tener una buena metodología de trabajo?
TOP DOWN
Ir de lo general a lo particular
Dividir
conectar
y verificar
Modularización Formas
Recursos de los lenguajes de programación para especificar la modularización
Subroutine
Module
Procedure
Function
Package
Class, etc.
Página siguiente |