You are on page 1of 6

METODOLOGA PARA LA SOLUCIN DE PROBLEMAS

POR MEDIO DE COMPUTADORAS.


A fin de resolver un problema utilizando sistemas de cmputo, debe seguirse una
serie de pasos que permiten avanzar por etapas bien definidas hacia la solucin.
Estas etapas son las siguientes:

Definicin del problema.


Anlisis de los datos.
Diseo de la solucin.
Codificacin.
Prueba y depuracin.
Documentacin.
Mantenimiento.

Definicin del problema.


Est dada en s por el enunciado del problema, el cual debe ser claro y complejo.
Es importante que conozcamos exactamente que se desea obtener al final del
proceso; mientras esto no se comprenda no puede pasarse a la siguiente etapa.

Anlisis de los datos.


Para poder definir con precisin el problema se requiere que las especificaciones
de entrada y salida sean descritas con detalle ya que esto es un requisito para
lograr una solucin eficaz.
Una vez que el problema ha sido definido y comprendido, deben analizarse los
siguientes aspectos:
Los resultados esperados.
Los datos de entrada disponibles.
Herramientas a nuestro alcance para manipular los datos y alcanzar un
resultado (frmulas, tablas, accesorios diversos).
Una medida aconsejable para facilitar esta etapa consiste en colocarnos en lugar
de la computadora deduciendo los elementos que necesitaremos para alcanzar el
resultado.

Diseo de la solucin.
Una computadora no tiene capacidad para solucionar problemas ms que cuando
se le proporcionan los sucesivos pasos a realizar, esto se refiere a la obtencin de
un algoritmo que resuelva adecuadamente el problema. En caso de obtenerse
varios algoritmos, seleccionar uno de ellos utilizando criterios ya conocidos.
Esta etapa incluye la descripcin del algoritmo resultante en un lenguaje natural,
de diagrama de flujo o natural de programacin.
Los problemas complejos se pueden resolver ms eficazmente por la
computadora cuando se dividen en subproblemas que sean ms fcil de
solucionar.
El problema de clculo de la longitud y superficie de un crculo se puede
descomponer en subproblemas ms simples:
Leer datos de entrada.
Calcular superficie y longitud.
Escribir resultados (datos de salida).

Codificacin.
Se refiere a la obtencin de un programa definitivo que pueda ser comprensible
para la mquina. Incluye una etapa que se reconoce como compilacin.
Si la codificacin original se realiz en papel, previo a la compilacin deber existir
un paso conocido como transcripcin.

Programa Fuente
Est escrito en un lenguaje de programacin. (Pascal, C++, Visual Fox, Visual
Basic, etc).
Es entendible por el programador.

Programa Ejecutable
Est en lenguaje mquina.
Entendible por la mquina.

Prueba y depuracin.
Una vez que se ha obtenido el programa ejecutable, este es sometido a prueba a
fin de determinar si resuelve o no el problema planteado en forma satisfactoria.
Las pruebas que se le aplican son de diversa ndole y generalmente dependen del
tipo de problema que se est resolviendo. Comnmente se inicia la prueba de un
programa introduciendo datos vlidos, invlidos e incongruentes y observando
cmo reacciona en cada ocasin.
El proceso de depuracin consiste en localizar los errores y corregirlos en caso de
que estos existan. Si no existen errores, puede entenderse la depuracin como
una etapa de refinamiento en la que se ajustan detalles para optimizar el
desempeo del programa.

Documentacin.
Debido a que el programa resultante en esta etapa se encuentra totalmente
depurado (sin errores), se procede a la utilizacin para resolver problemas del tipo
que dio origen a su diseo. En vista de que esta utilizacin no podr ser
supervisada en todas las ocasiones por el programador, debe crearse un manual o
gua de operacin que indique los pasos a seguir para utilizar el programa.

Mantenimiento.
Se refiere a las actualizaciones que deban aplicarse al programa cuando las
circunstancias as lo requieran. Este programa deber ser susceptible de ser
modificado para adecuarlo a nuevas condiciones de operacin.
Cualquier actualizacin o cambio en el programa deber reflejarse en su
documentacin.
DISEO BOTTOM UP

Esta metodologa de diseo comprende la descripcin del circuito mediante


componentes que pueden agruparse en diferentes mdulos, y stos ltimos a su
vez en otros mdulos hasta llegar a representar el sistema completo que se desea
implementar.
La metodologa Bottom-Up no implica una estructuracin jerrquica de los
elementos del sistema. Simplemente rene componentes de bajo nivel para formar
el diseo global.
En un diseo Bottom-Up se comienza realizando una descripcin con esquemas
de los componentes del circuito. Estos componentes se construyen normalmente a
partir de otros que pertenecen a una biblioteca que contiene componentes
bsicos, que representan unidades funcionales con significado propio dentro del
diseo. Estas unidades son denominadas primitivas, ya que no es necesario
disponer de elementos de ms bajo nivel para el diseo que se desea realizar.

Esta metodologa de diseo es til para diseos medianamente pequeos. Para


diseos mayores sta metodologa resulta imprctica, debido a que el
funcionamiento adecuado del producto final no est garantizado luego de unir
decenas de componentes. El hecho de unir un nmero elevado de componentes
entre s, sin una estructura jerrquica que permita organizarlos (en bloques, por
ejemplo) dificulta el anlisis del circuito, aumentando la posibilidad de cometer
errores.
La metodologa Bottom-Up es la que se utiliza desde los primeros tiempos de
diseo, ya que el proceso de integracin de elementos bsicos se haba logrado
automatizar completamente. Las primeras herramientas de diseo permitan llevar
a cabo una descripcin sencilla a bajo nivel y posteriormente se proceda a la
implementacin. La implementacin se realizaba empleando otras herramientas
que se integraban al proceso. De esta manera se obtena un Circuito Integrado de
Aplicacin Especfica o un Circuito Impreso (Printed Circuit Board, PCB).
DISEO TOP-DOWN

El diseo Top-Down consiste en capturar una idea con un alto nivel de


abstraccin, implementarla partiendo de la misma, e incrementar el nivel de detalle
segn sea necesario. El sistema inicial se va subdividiendo en mdulos,
estableciendo una jerarqua. Cada mdulo se subdivide cuantas veces sea
necesario hasta llegar a los componentes primarios del diseo.

Sin embargo actualmente, es necesario realizar diseos ms complejos en menos


tiempo. De sta manera se deja de lado la metodologa de diseo Bottom-Up.
La metodologa Top-Down evita los problemas que surgen con el empleo de la
metodologa Bottom-Up ya que el diseo inicial es subdividido en subdiseos que
a su vez se pueden seguir subdividiendo hasta llegar a diseos mucho menores y
ms sencillos de tratar. En el caso del diseo de hardware, esto se traducira en
subdividir el diseo inicial en mdulos hasta llegar a los componentes primarios o
primitivas.
Las herramientas actuales permiten utilizar en forma automtica la metodologa
Top-Down, lo que permite a las herramientas de sntesis sofisticadas llevar a cabo
la implementacin de un circuito final, partiendo de una idea abstracta y sin
necesidad de que el diseador deba descomponer su idea inicial en componentes
concretos.

Ventajas del diseo Top-Down

Una de las principales ventajas del diseo Top-Down es que el diseador puede
especificar el diseo en un alto nivel de abstraccin sin necesidad de considerar el
mismo inicialmente a nivel de compuertas. Las herramientas incluidas en el
paquete de VHDL, podran generar el esquema de compuertas lgicas
correspondientes a una descripcin funcional dada. Sin embargo las herramientas
de sntesis actuales an son incapaces de traducir ciertas descripciones de
comportamiento en una descripcin a nivel de compuertas, por ello la
especializacin y el pasaje entre los distintos niveles se puede realizar
manualmente, refinando el diseo. La capacidad de sintetizar descripciones
funcionales puras se ir introduciendo en el lenguaje con el correr del tiempo.
En el proceso de diseo se utilizan tecnologas genricas, lo que posibilita que la
tecnologa de implementacin no se fije hasta los ltimos pasos del proceso. De
sta manera se pueden reutilizar los datos del diseo nicamente cambiando la
tecnologa de implementacin.
La descripcin del circuito a distintos niveles de detalle, as como la verificacin y
simulacin del mismo, permiten reducir la posibilidad de incluir errores.

Diseo modular: El diseo Top-Down ofrece como ventaja que la informacin se


estructura en forma modular. Como el diseo se realiza a partir del sistema
completo y se subdivide en mdulos, permite que las subdivisiones se realicen de
forma que los mismos sean funcionalmente independientes. El diseo Bottom-Up
no contempla la divisin en partes funcionalmente independientes. Esta es la
desventaja fundamental del diseo Bottom-Up. El resultado final puede aparecer
confuso al no estar dividido en mdulos independientes.
Diseo jerrquico: En un diseo electrnico entran en juego una cantidad
considerable de componentes. Estos diseos deben organizarse de tal forma que
resulte fcil su comprensin. Una forma de organizar el diseo es la creacin de
un diseo modular jerrquico. Un diseo jerrquico est constituido por niveles en
donde cada uno es una especializacin del nivel superior. La organizacin
jerrquica es una consecuencia directa de aplicar la metodologa Top-Down.

PROGRAMACIN MODULAR

La programacin modular es un paradigma de


programacin que consiste en dividir un programa en
mdulos o subprogramas con el fin de hacerlo ms legible y
manejable.

Se presenta histricamente como una evolucin de


la programacin estructurada para solucionar problemas de
programacin ms grandes y complejos de lo que sta puede resolver.

Al aplicar la programacin modular, un problema complejo debe ser dividido en


varios subproblemas ms simples, y estos a su vez en otros subproblemas ms
simples. Esto debe hacerse hasta obtener subproblemas lo suficientemente
simples como para poder ser resueltos fcilmente con algn lenguaje de
programacin. sta tcnica se llama refinamiento sucesivo, divide y vencers
anlisis descendente (Top-Down).

Un 'mdulo' es cada una de las partes de un programa que resuelve uno de los
subproblemas en que se divide el problema complejo original. Cada uno de estos
mdulos tiene una tarea bien definida y algunos necesitan de otros para poder
operar. En caso de que un mdulo necesite de otro, puede comunicarse con ste
mediante una interfaz de comunicacin que tambin debe estar bien definida.

Si bien un mdulo puede entenderse como una parte de un programa en


cualquiera de sus formas y variados contextos, en la prctica se los suele tomar
como sinnimos de procedimientos y funciones. Pero no necesaria ni
estrictamente un mdulo es una funcin o un procedimiento, ya que el mismo
puede contener muchos de ellos. No debe confundirse el trmino "mdulo" (en el
sentido de programacin modular) con trminos como "funcin" o "procedimiento",
propios del lenguaje que lo soporte.

PROGRAMACIN ESTRUCTURADA

Programacin: accin consistente en la elaboracin o mantenimiento de


programas informticos.
Programacin estructurada: Mtodo de programacin que tiene como principal
caracterstica la generacin de un cdigo con un flujo limpio , un diseo claro y
una estructura jerrquica.

You might also like