TÉCNICAS PARA EL DISEÑO DE SOLUCIÓN

 

        El proceso de diseño comprende al desarrollo de una visión conceptual del sistema, el establecimiento de una estructura, la identificación de las cadenas de datos y su almacenamiento, la descomposición de funciones de alto nivel en su subfunciones, el establecimiento de las relaciones e interconexiones entre componentes, el desarrollo de la representación de datos en forma concreta y la especificación de los detalles de los algoritmos.

 

         Las técnicas de diseño comúnmente están basadas en las estrategias de las jerarquías de ‘’hacia abajo’’ y de ‘’hacia arriba’’ . Por medio del enfoque de arriba a abajo, se pone atención inicialmente en los aspectos globales de todo el sistema ; conforme el diseño progresa, el sistema se descompone en subsistema, poniéndosele el mayor consideración a los detalles específicos. El encadenamiento hacia atrás resulta fundamental en este tipo de diseño. Con el fin de reducir este encadenamiento hacia atrás, muchos diseñadores proponen el uso de una estrategia mezclada, la cual es predominantemente hacia abajo, pero que primero requiere de la especificación de los módulos inferiores. La ventaja primordial de esta estrategia es que se dedica a la atención  a las necesidades del cliente, a las interfaces con el usuario y a la  naturaleza global del problema a resolver.

        

         En el enfoque hacia arriba del diseño de productos de programación, el diseñador primero intenta identificar al conjunto primitivo de objetos acciones y relaciones que proporcionarán una base para la solución del problema ; los conceptos de alto nivel son después formulados en términos del conjunto de primitivos. La estrategia hacia arriba requiere que el diseñador combine las características proporcionadas por el lenguaje de instrumentación para dar entidades son a su vez combinadas hasta que se construye un conjunto de funciones, estructuras de datos e interconexiones para resolver el problema por medio del uso de las facilidades del ambiente de programación existente ; este tipo de diseño puede también requerir del rediseño y el encadenamiento hacia atrás del mismo. El éxito de este enfoque depende de la identificación del conjunta adecuado de ideas primitivas que sean suficientes para la instrumentación del sistema.

 

 

 

Estas técnicas tienen el objetivo de facilitar el diseño de algoritmos y la organización de los diversos elementos de los que se componen se utilizan algunas técnicas que muestran una metodología a seguir para resolver los problemas. Estas técnicas hacen que los programas sean más fáciles de escribir, verificar, leer y mantener.

Algunas de las técnicas más conocidas son :

Ø      top down

Ø      bottom up

Ø      warnier orr

TOP DOWN

El diseño desendente (top down) es el proceso mediante el cual un problema se descompone en una serie de niveles o pasos sucesivos de refinamiento (stepwise).

La metodología descendente consiste en efectuar una relacion entre las sucesivas etpas de estructuracion de modo que se relacionen unas son otras mediante entradas y salidas de información .

es decir se descomponen el problema en etapas o estructuras jerárquicas, de modo que se puede considerar cada estructura desde dos puntos de vista: lo que hace?, y cómo lo hace ?. Si se considera un nivel n de refinamiento, las estructuras se consideran de la siguiente forma :

gbol1302.gif (138 bytes)   nivel n :     Vista desde el exterior.

    "lo que hace ?"

 


 

gbol1302.gif (138 bytes)  Nivel n+1 :      Vista desde el interior.

    "cómo lo hace ?"

 

 

 

Ejemplo de un diseño descendente (top-down ) de un control de almacén :

 

diagtop.gif (5736 bytes)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BOTTOM UP

 

Esta técnica consiste en partir de los detalles más precisos del algoritmo completando suscesivamente módulos de mayor complejidad, se recomienda cuando ya se cuenta con experiencia y ya se sabe lo que se va a hacer.

Conforme se va alcanzando el desarrollo de módulos más grandes se plantea como objetivo final la resolución global del problema.

Este método es el inverso del anterior y es recomendable cuando se tiene un modelo a seguir o se cuenta con amplia experiencia en la resolución de problemas semejantes.

La técnica de Botton Up es frecuentemente utilizada para la realización de pruebas a sistemas ya concluidos.

El diseño ascendente se refiere a la identificación de aquellos procesos que necesitan computarizarse con forme vayan apareciendo, su análisis como sistema y su codificación, o bien, la adquisición de paquetes de software para satisfacer el problema inmediato.

 

Ejercicio : Realiza el diseño ascendente para la gestión del control de un hotel utilizando la siguiente información :

·     pagos a empleados (nombre, puesto, sueldo, horas extra)

·     prestamos externos (cliente, préstamo, aval, plazo)

·     libro de reservaciones(nombre, departamento, entrada, salida)

·     mantenimiento (área, daños, total)

 

 

 
Esta gráfica muestra los módulos generales que va a contener el programa.

 

SUBPROGRAMA

CONTROL 20

 

SUBPROGRAMA  SUBPROGRAMA    SUBPROGRAMA            SUBPROGRAMA    

       PAGOS A         PRESTAMOS       LIBROS DE                  MANTENIMIENTO

EMPLEADOS 5         EXTERNOS       RESERVACIONES  15     19

 

 

 

 

METODOLOGIA DE WARNIER

 

 

Es un conjunto de normas e instrucciones  y procedimientos que nos permiten estructurar un programa. También apunta a las estructuras de datos. Existen 3 elementos que deben estar presentes para aplicarla:

 

 

a) La especificación de programas tiene que estar dada por:

Entradas

Salidas     

Reglas de procesamiento

 

 

b) Diagrama de lógica del programa o diagrama de flujo: Es el resultante de aplicar la metodología

 

 

c) Lista de instrucciones que van a estar ordenados según secuencias lógica o según el objetivo de cada uno de las instrucciones.

 

También warnier utiliza estructuras jerárquicas para representar las entradas, salida y el proceso. Define las entradas y las salidas como conjunto que tienen elementos componentes.

 

Ejemplo:

 

  Registro Alumnos

  Rut

 

Nombre Alumno                                    

Dirección

Fecha Nacimiento

beca

 

apellido paterno

apellido materno

nombres

 

calle

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Notación utilizada para especificar las ocurrencias

 

1                      ®  Una  sola vez.

n        ®  Una o más veces.

(0,1)     ®  opcional, puede estar presente y si está presente ocurre sólo una vez.

(0,n)   ®  opcional, puede estar presente y si está presente ocurre una o más veces.

 

 

 

Según Warnier: todo programa se puede representar como un conjunto de secuencias lógicas y los datos de entrada son vistos como un conjunto de elementos para ese programa.

 

 

 

 


 

 

 

 

 

El CP (comienzo de programa) y FP (Fin de Programa) se utilizan en cada una de las llaves que aparezcan en la secuencia lógica.

 

 

 

 

Definiciones respecto de esta metodología

 

Secuencia lógica: Es un conjunto de instrucciones que están entre 2 bifurcaciones o entre un conector y bifurcación o entre dos conectores.

 

Secuencia repetitiva simple de datos de entrada: elementos que se esta procesando varias veces o a lo menos 1

 

Estructura repetitiva simple de programa: es un conjunto de secuencias lógica inicial que se ejecuta una vez, una secuencia lógica que se procesa varias o al menos una vez y un secuencia lógica fina que se ejecuta una vez.

 

Estructura alternativa simple de datos de entrada: es aquella en que la presencia de un elemento es aleatoria o dicho de otra forma que posee un elemento que cumple un determinada condición.   

 

Estructura alternativa simple de programa: es un conjunto de secuencias lógicas formado por una secuencia lógica inicial que se ejecuta una u otra pero no amabas y una secuencia lógica final que se ejecuta una sola vez.

 

Pasos a seguir para construir un programa en está metodología

 

1.         Leer atentamente las especificaciones del problema

 

2.       Construir el diagrama  que represente la salida del programa

 

3.       Construir el diagrama de entrada considerando el diagrama de la salida

 

4.      Construir un diagrama de la estructura del programa

 

5.       Construir un diagrama de flujo del programa

 

6.       Determinar cuales serán las pseudo-instrucciones de cada secuencia lógica.

 

 

 

 

Categorías de Pseudo-instrucciones.

 

 

 

 

 

 

 

 


  Lecturas

  Preparación de la bifurcación ( es cuando se lleva un valor a la zona de referencia)

  Bifurcación

  Preparación de cálculo y cálculo

  Preparación de salida y salidas (para ambas impresión y salida)

 

 

 

Ejemplo de un diagrama de Warnier Orr, de un control de almacén 

warnier.gif (8301 bytes)

(0,n) = De cero veces a n veces

(1,n) = De una vez a n veces

 

 

 

Hosted by www.Geocities.ws

1