La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

TEMA 1 PROGRAMACIÓN MODULAR.

Presentaciones similares


Presentación del tema: "TEMA 1 PROGRAMACIÓN MODULAR."— Transcripción de la presentación:

1 TEMA 1 PROGRAMACIÓN MODULAR

2 PROGRAMACION MODULAR Es un método de diseño de programas que tiende a dividir el problema en partes perfectamente diferenciadas o funciones lógicas que pueden ser analizadas, programadas y puesta a punto independientemente. MODULO P M1 M2 M3 M4 M5

3 PROGRAMACION MODULAR Se basa en diseñar un programa dividiéndolo en módulos que resultan de segmentar el problema en funciones lógicas que son perfectamente diferenciadas Al considerar funciones lógicas constituye un intento para diseñar programas que puedan ser cambiados o reemplazados fácilmente sin afectar en lo posible a ninguna otra parte o módulo del programa

4 Programación Modular Esta división exige la presencia de un módulo denominado módulo de base o principal a fin de que controle y relacione a todos los módulos.

5 Modularidad Problema dividido en subproblemas = Modulo A Llama a B
• A le pasa control • B hace su tarea • B devuelve el control a A • B devuelve a A dato1 MODULO A C es parte de A Control Dato 1 Dato 2 B C Modulo Predefinido B se reutiliza

6 ¿Qué es Modulo? Un modulo representa una función lógica, que consta de una secuencia continua de instrucciones que se encuentra limitado por elementos de frontera, se caracteriza por disponer de un nombre o identificador. Módulo es un algoritmo autocontenido, que puede ser diseñado independientemente del contexto en el que va a ser usado. MODULO

7 Ocultación de Información .
DISEÑO MODULAR Abstracción Ocultación de Información . Módulo en un Programa: • Sentencias juntas • Límites claros • Tiene estructura • Nombre Propio Entradas Salidas NOMBRE

8 Ejemplo de un modulo Function factorial (int n) f = 1;
For i = 1 to n, inc 1 f = f * i End for Return (f) end

9 Ej. Modulo Primo en Java static int Primo(int n) { int i=1,cont=0,c; while(cont<=n) { i++; c=0; for(int k=1;k<=i;k++) if (i%k==0) c=c+1; if (c==2) cont++; } return (i); }

10 Ej. Modulos en Java static int Fibo (int n)
static int pow(int base, int e) { int p=1; for(int i=1;i<=e;i++) p=p*base; return(p); } static int Fibo (int n) { int a = -1, b = 1, c = 0; for (int i = 1 ; i <= n ; i++) { c = a + b; a = b; b = c; } return (c); }

11 Modulo Principal s = s + Alm.factorial (Alm.Primo (n)) *
//S=2!(x+1!)^2+3!(x+3!)^4+5!(x+5!)^6+7!(x+7!)^8+……………..+P!(x+(2*n-1)!)^2*n System.out.println("\nIngrese N: "); n = Leer.datoInt (); System.out.println("\nIngrese A: "); a = Leer.datoInt (); for (i = 1 ; i <= n ; i++) { s = s + Alm.factorial (Alm.Primo (n)) * Alm.po((x + (2 * i - 1)), 2 * i); } Mostrar(s);

12 No usar una metodología de diseño conlleva:
PROGRAMACION MODULAR No usar una metodología de diseño conlleva: • Rigidez e inflexibilidad en los programas • Pérdida excesiva de tiempo en corrección de errores • Documentación insuficiente o nula • Imposibilidad de Reutilización

13 Ventajas de la Programación Modular
Simplificación del diseño. • Programación aislada (encapsulamiento). • Conocimiento sobre qué hace el subprograma y no sobre cómo lo hace (Abstracción procedimental o de Operaciones). • Reutilización del módulo en otro contexto. • Simplificación de la comprensión del algoritmo (mantenimiento).

14 Ventajas de la Programación Modular
Transportabilidad, agrupando las operaciones dependientes de la máquina en un módulo. • Trabajo en equipo. Cada programador se encarga de desarrollar un módulo. • Compilación separada. No es necesario recompilar todo el programa sino sólo el módulo que se ha modificado.

15 Desventajas de la Programación Modular
La programación modular exige una mayor cantidad de memoria y un tiempo mayor de medición. a)      Aún a pesar de que esta claro que un módulo debe realizar una función lógica, no está totalmente esclarecido un algoritmo formal para completar la modularidad. b)      La programación modular en general requiere del uso de mayor cantidad de memoria y su tiempo de ejecución en mayor.

16 Características de los Módulos
Los módulos se caracterizan por tener máxima cohesión y mínimo acoplamiento; es decir deben tener la máxima independencia entre ellos. Mínimo acoplamiento - los módulos deben ser tan independientes entre si como sea posible. Máxima cohesión - constituye el segmento que mantiene unidos a los elementos de un modulo, es decir la relación que debe existir entre las diferentes partes internas de un modulo.

17 Clases de Módulos Módulo Raíz / Principal -Su función es la de coordinar la realización de todas las funciones lógicas. Módulo de Entrada - su función es la captura de datos Módulo de Proceso - Se caracteriza porque en el mismo se realiza un tratamiento o cálculo general Módulo de Salida - Se caracteriza por que su función consiste propiamente en efectuar la salida de la información procesada. Existen módulos secundario que para una clase de funciones lógicas se constituye en su módulo raíz

18 Descomposición Principios de Diseño
Es la división de una tarea en otras que estuvieran contenidas en la primera. Existen dos principales técnicas de diseño: Top Down, Bottom Up

19 Top Down Principios de Diseño
Top Down, también conocida como de arriba-abajo, Este diseño consiste en una serie de descomposiciones sucesivas del problema inicial. - Se establecen una serie de niveles de mayor a menor complejidad (arriba-abajo) que den solución al problema. - Se efectua una relación entre las etapas de la estructuración de forma que una etapa jerárquica y su inmediato inferior se relacionen mediante entradas y salidas de información.

20 DISEÑO TOP DOWN

21 Bottom Up Principios de Diseño
Es el diseño ascendente, se refiere a la identificación de aquellos procesos que necesitan computarizarse conforme vayan apareciendo. - Los problemas de integración entre los subsistemas son sumamente costosos - Dificultad en la integración total del sistema. Aunque cada subsistema parece ofrecer lo que se requiere, cuando se contempla al sistema como una entidad global, adolece de ciertas limitaciones por haber tomado un enfoque ascendente.

22 Tipos de Estructuras Modulares
Estructura en Arbol Estructura en Red MODULO P M5 M5 M5 M1 M2 M3 M M5 M4 M5 M5 M5 M5 M5

23 Puntualizaciones de la Programación Modular
La programación modular se basa en el diseño descendente (top-down) que permite comprobar el funcionamiento de cada modulo mediante módulos ya comprobados. El montaje de la red se hace en modo ascendente(botton-up), por lo que el programador puede estar escribiendo el modulo11, mientras que otro hace el modulo 12. Una vez terminados juntos se puede comprobar su funcionamiento con un modulo ficticio que llama a ambos.

24 Puntualizaciones de la Programación Modular
Los módulos se comunican entre si por las variable externas que técnicamente son las mas importante en el desarrollo del programa. Los módulos tienen que utilizar las variables bien como referencia o como modificador de su valor. El programa principal (modulo principal) coordina las llamadas a procedimientos en módulos separados y pasa los datos apropiados en forma de parámetros.

25 Puntualizaciones de la Programación Modular
Actualmente la modularidad están vigentes podemos comprobar al ver sistemas implementados en plena ejecución, bajo la forma de menús. Los menús antiguamente tenían el formato vertical, luego con los visuales los menús han ido evolucionando al estilo horizontal con sub menús verticales. También con los multimedios y las web, los sistemas usan iconos para ingresar a algunos módulos.

26 Técnicas de Programación Modular
Las fases de Resolución de problemas son las siguientes:     - Estudio de las especificaciones del problema, en esta etapa las tablas de decisión son una herramienta de gran utilidad. -Confección del organigrama o tabla de decisión de cada modulo -Codificación de cada modulo en el lenguaje adecuado -Pruebas parciales de cada modulo en el lenguaje adecuado. - Prueba final de los módulos enlazados.

27 Implementación de los módulos
Los módulos reciben el nombre de funciones, procedimientos, Metodos y clases. La programación modular exige una comunicación entre el modulo llamador (modulo principal) y el modulo llamado ( el subprograma) que es función o procedimiento. Esta comunicación se realiza a través de una variable de enlace que se denomina parámetros. Un modulo contiene operaciones ocultas para el mundo exterior y solo se puede acceder a él por la llamada en ejecución ya sea introduciendo parámetros o simplemente ejecutándolos.

28 Continuamos


Descargar ppt "TEMA 1 PROGRAMACIÓN MODULAR."

Presentaciones similares


Anuncios Google