ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Diseño Modular


Enviado por   •  19 de Mayo de 2013  •  2.238 Palabras (9 Páginas)  •  243 Visitas

Página 1 de 9

Diseño de programas

Un programa es un conjunto de líneas de código escritas en un lenguaje de programación determinado. Pero el código escrito en un lenguaje de alto nivel no puede ser entendido por el ordenador, por lo que es necesaria la traducción a código máquina. En este proceso tienen lugar dos fases. En la primera fase (compilación) el compilador traduce cada uno de las partes del programa y crea módulos objeto, que posteriormente serán unidos por el linker (enlazado), creando el módulo ejecutable .exe. Como la compilación y el enlazado son dos procesos dependientes, a menudo se suele denominar a todo el proceso compilación.

En el diseño de un programa tenemos diferentes pasos:

1. Análisis del problema. Este paso es fundamental. La correcta resolución de un problema viene determinada en gran medida por el planteamiento inicial. Un planteamiento correcto nos evitará perder tiempo en la implementación de algoritmos que posteriormente nos demos cuenta que son incorrectos. En este paso nos debemos hacer tres preguntas: ¿Qué entradas se nos ofrece?, ¿Qué salida debemos generar? y ¿Cuál es el método que debemos usar para llegar hacia la solución deseada?

2. Diseño del algoritmo. Si en el análisis determinamos qué hace el programa aquí determinamos cómo lo hace. Para ello se divide el problema en varios subproblemas que se solucionan de forma independiente (divide y vencerás), lo que se denomina diseño modular. En este paso puede ser conveniente la utilización de diagramas de flujo o pseudocódigo.

3. Codificación. Es la escritura del código según el algoritmo decidido en las etapas anteriores.

4. Compilación y ejecución. Una vez escrito el código, se compila. Si el código contiene errores el compilador nos los mostrará: son los llamados errores de compilación, que suelen estar relacionados con incoherencias en la sintaxis, conversión incorrecta de tipos, etc. Una vez solucionados estos errores, se creará el programa ejecutable.

5. Verificación. Al ejecutar el programa puede ocurrir que realice lo que queríamos o que, por el contrario, produzca un resultado indeseado. Nos encontramos aquí con dos tipos de errores:

- Errores de ejecución: Se producen cuando el programa llega a un punto en el que el ordenador no puede realizar la operación que se le solicita: división por cero, desbordamiento, etc.

- Errores del algoritmo: Son los más difíciles de detectar, se producen cuando el algoritmo está mal implementado. Nos conduce al siguiente paso.

6. Depuración. Esta es una parte importante. Se utilizan las herramientas de depuración del compilador que usamos, lo que en gran medida determina si el compilador es mejor o peor. En general, todos los compiladores incluyen entre sus herramientas de depuración las siguientes:

- Ejecución paso a paso: En lugar de ejecutar todo el programa hasta su finalización, se ejecuta línea a línea, lo que permite observar el comportamiento del programa en cada momento.

- Watches (inspecciones): permiten seguir el valor de una variable y comprobar que cambia su valor en su momento y modo deseado.

- Debug Inspector: similar a las watches pero especialmente útil para la visualización de arrays, listas, etc.

- Breakpoints: si la ejecución es demasiado larga, podemos definir un breakpoint (punto de ruptura) en una o varias líneas. El programa se ejecutará normalmente hasta que llegue a una de esas líneas. En ese momento la ejecución se detendrá y podremos consultar valores de variables o ejecutar paso a paso desde ese punto.

- Evaluar/modificar: permite obtener el valor de una variable en un punto en el que la ejecución del programa se ha pausado. Se puede modificar el valor de dicha variable para comprobar, por ejemplo, que si tuviera otro valor el comportamiento también sería el esperado.

Diseño modular

El diseño modular — o «la modularidad en el diseño» — es el diseño basado en la modulación reticular de espacios que permitan optimizar el tiempo de construcción y debido a que son transportables, desarmables y reorganizables permiten impulsar múltiples funcionalidades y su reutilización al generar un nuevo uso diferente al que fueron fabricados.

Un sistema modular se puede caracterizar por los siguientes párrafos:

• Partición funcional en discretas módulos escalables y reutilizables que consiste en aislados, autónomos elementos funcionales

• Uso riguroso de interfaces modulares bien definidas, incluyendo descripciones orientado a objetos de la función del módulo

• Facilidad de cambio lograr transparencia tecnología y, a la medida de lo posible, hacer uso de estándares industriales para interfaces clave

Además de la reducción en los costos (debido a una menor personalización, y menos tiempo de aprendizaje), y la flexibilidad en el diseño, la modularidad ofrece otros beneficios como al incrementar (la adición de una nueva solución con sólo conectar un nuevo módulo), y la exclusión. Ejemplos de sistemas modulares son los automóviles, los ordenadoresy edificios de gran altura. Ejemplos anteriores son los telares, los sistemas de señalización del ferrocarril, centrales telefónicas, los órganos de tubos y sistemas de distribución de energía eléctrica. Las computadoras utilizan la modularidad para superar las demandas cambiantes del cliente y poder realizar el proceso de fabricación más de adaptación al cambio (ver Programación modular).1 2

El diseño modular es un intento de combinar las ventajas de la estandarización (alto volumen normalmente es igual a los bajos costos de fabricación) con los de personalización. Un aspecto negativo a la modularidad (y esto depende del grado de modularidad) es que los sistemas modulares no están optimizados para el rendimiento. Esto es generalmente debido al costo de la colocación de las interfaces entre los módulos.

Definición de diseño modular

En la fase de diseño del ciclo de vida de un programa, la solución a un problema suele venir dada por un programa representado por un módulo principal, el cual se descompone en subprogramas (submódulos), los cuales, a su vez, también se pueden fraccionar, y así sucesivamente, es decir, el problema se resuelve de arriba hacia abajo. A este método se le denomina diseño modular o descendente (top-down).

El

...

Descargar como (para miembros actualizados)  txt (14.9 Kb)  
Leer 8 páginas más »
Disponible sólo en Clubensayos.com