Sei sulla pagina 1di 27

Programacin Modular

Programacin Modular
Un software monoltico no puede ser entendido fcilmente por un solo lector. El nmero de caminos de control, mbito de referencia, nmero de variables y la complejidad global haran su comprensin casi imposible.

Programacin Modular
Es ms fcil resolver un problema complejo cuando se rompe en piezas manejables. Divide y Vencers!

Modularidad: Acoplamiento
Un mdulo debe ofrecer un grupo de servicios diseados para que el resto del programa pueda interactuar con l

Por ejemplo, en el procesador de texto se debe contar con rutinas para: Cambiar la letra utilizada: cambiarEstilo() Cambiar el color: cambiarColorLetra() etc.

Programacin Modular
Es un mtodo de resolucin de problemas que consiste en resolver de forma independiente los subproblemas que se obtienen de una descomposicin del problema general

Programacin Modular
La base fundamental de este tipo de programacin es el mdulo Un mdulo en un conjunto de rutinas que prestan un servicio especfico. Una rutina, subrutina o subprograma, como idea general, se -presenta como un algoritmo separado del algoritmo principal, el cual permite resolver una tarea especfica.

Programacin Modular
Decimos que algo es modular si es construido de manera tal que se facilite su ensamblaje, acomodamiento flexible y reparacin de sus componentes.

Programacin Modular
La modularidad da una mejor compresin del problema y reduce el tamao del cdigo Generalmente se hace la asociacin de un mdulo como una caja negra. Se sabe que entra y que sale pero no como se procesa

Funciones y Procedimientos
En la programacin modular se debe asegurar los siguientes preceptos: mxima cohesin mnimo acoplamiento entre mdulos

Modularidad: Cohesin
Un mdulo debe ofrecer un grupo de servicios que sin lugar a dudas deben ir juntos, por ejemplo: math.h stdio.h Por ejemplo en un procesador de texto, todos los mdulos tienen como objetivo cooperar para producir documentos con estilo y formato definido (mdulo de colores, mdulo de tamao, etc)

Ventajas de los Mdulos


Facilitan la escritura y depuracin de un programa Localizacin rpida de errores La modificacin de un mdulo no afecta a los dems Un grupo de instrucciones que se repite en varias partes de un programa puede incluirse en un mdulo y llamarlo en el programa.

Diseo Descendente
Es un proceso de refinamiento por pasos, etapas o capas. Se comienza desde lo ms general hasta lo ms especfico. En la solucin de problemas grandes es conveniente dividirlo en problemas ms pequeos, los cuales a su vez pueden dividirse en sub-problemas ms pequeos.

Diseo Descendente
Se inicia desde lo ms general, luego dividir y vencer Asegurarse de las capacidades y especificaciones del lenguaje. Esto permite cambiar el lenguaje en medio del diseo sin ningn trauma. Postergar lo ms posible el trabajo en los detalles. Verificar cuidadosamente cada nivel.

Diseo Descendente

Diseo Descendente

DISEO DE RUTINAS

DISEO DE RUTINAS
Chequeo de prerrequisitos. Verificar si en trabajo de la rutina esta bien definida Definir el problema de la rutina en trminos de los datos de entrada, salida y gestin de errores. Nombre de la rutina. Debe ser conciso y representativo de lo que hace la rutina.

DISEO DE RUTINAS
Establecer mecanismos de prueba para la rutina. Revisar cualquier caso que genere un error. Pruebe con diferentes formas para codificar la rutina. La construccin de programas es iterativa, es decir, se prueba, se falla y se realiza un nuevo esfuerzo hasta conseguir la versin definitiva.

Codificacin de Rutinas
El diseo de una rutina equivale al plano de una casa. La construccin de la casa equivale a la codificacin de la rutina Escriba la declaracin de la rutina. Esto se conoce como interfaz Escriba el algoritmo con frases de muy alto nivel

Codificacin de Rutinas
Complete cada frase de alto nivel con una o ms lneas de cdigo. Cheque el cdigo informalmente. Comente y haga una prueba de los trozos de cdigo nuevo

Chequeo Formal de Cdigo


Haga una inspeccin mental de cdigo. Repase los algoritmos que se han inventado para la solucin del problema. Compile la rutina. Esto mostrar todos los errores de sintaxis. Elimine todas las causas que generen advertencias

Reutilizacin de un Mdulo
Generalmente los algoritmos de cada modulo slo se escriben una sola vez La reutilizacin de un mdulo por otros programas implica ahorro de tiempo. Si el mdulo ha sido probado y verificado previamente, se reduce la posibilidad de errores. Fcil compresin del programa completo.

Funcin
En C los mdulos se llaman funciones. (unidad bsica de los programas) Una funcin se define una sola vez pero puede ser utilizada tantas veces como sea necesario a travs de una llamada.

Funcin
Int funcion1 ( arg1, arg2 ...){ sentencias } int funcion2 (arg1, arg2 ...){ sentencias funcion1(a,b...) } int main(){ funcion1(arg1, arg2...); funcion2(arg1, arg2...); }

Tipo de Funciones en C
Funciones de biblioteca (mdulos): C tiene su propio conjunto de bibliotecas de funciones bsicas que permiten realizar las operaciones de entrada salida, operaciones lgicas, aritmticas. Funciones definidas (diseadas y codificadas) por el programador para realizar sus propias tareas.

Biblioteca Estndar de C
Contiene una amplia coleccin de funciones para llevar a cabo: clculos matemticos comunes, manipulaciones con cadenas de caracteres, operaciones de entrada salida, etc Esta biblioteca de funciones comunes construida una vez, puede ser reutilizada por diferentes programas.

Biblioteca Estndar de C
Entrada salida Operaciones sobre archivos Entrada Salida Cadenas de caracteres: string.h Funciones matemticas: math.h Funciones varias: stdlib.h (atoi, atof, calloc, malloc, etc) Fecha y hora: time.h

Potrebbero piacerti anche