Está en la página 1de 16

Módulo

G1

Describir e Interpretar el
Diseño Estructurado

Diseño Estructurado

Si tú conoces el diseño estructurado entenderás e interpretarás técnicas que


trasladan las especificaciones definidas en el documento de requerimientos
en especificaciones de diseño para la posterior construcción de un sistema
computarizado.

Para lograr una correcta idea sobre el diseño estructurado, tendrás


que:

. Describir los principios fundamentales del Diseño


Estructurado

. Describir e Interpretar el Diseño Global

. Describir e Interpretar el Diseño Detallado

79
Describir los principios
fundamentales del 1.- Principios Fundamentales del Diseño Estructurado
Diseño Estructurado

Describir e interpretar
el Diseño Global El Diseño Estructurado es el proceso mediante el cual se traducen los
Describir e interpretar
el Diseño Detallado
comienza cuando el analista de sistemas ha producido un conjunto de
requerimientos funcionales lógicos para un sistema, y finaliza cuando el diseñador
ha especificado los componentes del sistema y las relaciones entre los mismos,

Las características más importantes son:


· Establecer la arquitectura del software antes de su construcción,
las
relaciones que existe entre las partes y la interfaz con el
usuario.
· Detallar el diseño secuencial de la información, es decir que
exista una jerarquía de la información.

Las entradas que son el resultado de la fase de análisis


son:
· Modelo de Información
· Modelo Funcional
· Modelo de Comportamiento
· Otros Requisitos

De lo anterior la fase de Diseño genera las siguientes


salidas:
· Diseño de Datos : esta parte transforma el modelo de
información en las estructuras de datos que se van a requerir para
implementar el software.
· Diseño Estructural: esta parte define las relaciones entre los
principales elementos estructurales del programa. Su objetivo es
desarrollar una estructura de programa modular y representar
las relaciones de control entre los módulos.
Entiéndase por módulo a un componente o unidades
independientes del sistema que suministra uno o más servicios a
otras unidades.
· Diseño Procedimental: esta parte transforma los elementos
estructurales en una descripción procedimental del software. Es
decir define los algoritmos de procesamiento necesarios.

El proceso de Diseño significa planear la forma y método de una solución,


determinando las características principales del sistema final, es aquí donde se
deben tomar un gran número de decisiones que permitan establecer los límites de
calidad y costos que el sistema a construir pueda alcanzar.

1.1 Fundamentos
Los fundamentos del diseño estructurado son:

a. Abstracción: permite concentrarse en un problema usando


conceptos y términos que son familiares al entorno del problema,
sin tener que transformarlos a una estructura no familiar.
80
Cuando se considera una solución modular de un problema,
pueden formularse distintos niveles de abstracción:

· Abstracción Procedural: es una determinada secuencia de instrucciones


que tienen una función limitada y específica.
· Abstracción de datos: es una determinada colección de datos que
describen un objeto.

b. Refinamiento: es una estrategia de diseño descendente, la idea es


desarrollar un programa en sucesivos niveles de refinamiento (detalle). Se establece
una Jerarquía descomponiendo lo macro en sucesivas instancias micro de detalle.

c. Modularidad: la descomposición de un problema en módulos disminuye


la complejidad del mismo. La modularidad deriva de un principio elemental para
manejar la complejidad «divide y vencerás»

d. Arquitectura del software : implica dos características


importantes:
· la estructura jerárquica de los módulos.
· la estructura de datos

e. Jerarquía de control : representa la organización jerárquica de los


componentes del programa (módulos) que implica una jerarquía de control.
No representa aspectos procedimentales del sistema, tales como secuencias de
procesos, o la repetición de operaciones.

f. Estructura de datos : es una representación de la relación lógica


existente entre los elementos individuales de datos. La estructura de los datos es
igualmente importante que la estructura del programa, ya que la estructura de la
información afectará al diseño procedimental final.
g. Procedimientos del software : se centran sobre los detalles de
procesamiento de cada módulo
individual.
El procedimiento debe proporcionar una especificación precisa del procesamiento,
incluyendo la secuencia de sucesos, los puntos concretos de decisiones, la
repetición de operaciones, e incluso la organización/estructura de los datos.
h. Ocultamiento de la información: este fundamento proporciona la
característica de que los módulos se construyan de manera independiente
ocultando información su información. De esta forma los módulos deben
especificarse y diseñarse de forma que la información (procedimientos y datos)
contenida dentro de ellos solo sea accesible por otros módulos únicamente usando
interfaces establecidas para cada módulo.

1.2 Herramientas del Diseño Estructurado

Las herramientas del diseño sirven de apoyo para poder determinar las
características que el sistema debe tener en función de los requerimientos
visualizados en la fase de análisis.
Las herramientas que se utilizan para la fase de diseño son:

 Herr amientas de E specif icación : que permiten determinar


las características que debe tener una aplicación, ya sea las entradas,
salidas, procesamiento y especificaciones de control.
Para el diseño global se utiliza el diagrama de descomposición
jerárquico
funcional que muestra la distribución de cómo se pretende programar
el
sistema.
Para el diseño detallado se utiliza el diagrama estructurado, que es un
diagrama gráfico que describe la interacción entre los módulos
independientes juntos con los datos que un módulo pasa al otro.
Igualmente pueden utilizarse las técnicas: diagramas HIPO, el
pseudocódigo, español estructurado, los diagramas de estructuras de datos
o distribuciones físicas para las representaciones de datos.
Describir los principios  Herramientas para Presentación: que permiten describir el lugar de
fundamentales del
Diseño Estructurado los datos, mensajes, etc., sobre las pantallas, reportes y otros medios de
Describir e interpretar
entrada
el Diseño Global y salida.
Describir e interpretar
el Diseño Detallado
2.- Describir e interpretar el Diseño Global

Esta etapa se tiene una visión macroscópica de la solución a partir de la


especificación estructurada resultante del proceso de análisis (también conocida
como modelo esencial).
Se basa en el principio de abstracción el cual permite formular una visión ampliada
de
la realidad, no importando el lenguaje o los elementos que se utilicen para llevarla
a cabo. Si embargo, la idea es que en esta fase se represente la solución de una
manera lo más simple y comprensible tanto por analistas como usuarios.
Finalmente este diseño genera la distribución de cómo se pretenderá
programar el sistema, independiente de cómo serán descritos los módulos en
detalle.

El diseño global se divide


en:
a. Diseño Conceptual de datos: esta etapa se debe construir un esquema de
la información que se usa en la organización independientemente de cualquier
consideración física. A este esquema se le denomina esquema conceptual (MER).
Los diseñadores de estos esquemas deben describir la semántica o significado de
los de la organización estos es descubrir las entidades, atributos y relaciones.
De lo anterior se tiene que el objetivo de este diseño es
comprender:
· La perspectiva que cada usuario tiene de los
datos.
· La naturaleza de los datos, independientemente de su representación
física.
· El uso de los datos a través de las áreas de
aplicación.
es una fuente de información para el diseño lógico de la base de datos.
El esquema
conceptual
se construye
utilizando la
información
que se
encuentra en
la
especificació
n de los
requisitos de
usuario. El
diseño
conceptual
es
completame
nte
independient
e de los
aspectos de
implementac
ión, como
puede ser el
SGBD que
se vaya a
usar, los
programas
de
aplicación,
los lenguajes
de
programació
n, el
hardware
disponible o
cualquier
otra
consideració
n física.
Durante
todo el
proceso de
desarrollo
del esquema
conceptual
éste se
prueba y se
valida con
los
requisitos de
los usuarios.
El esquema
conceptual
El diseño lógico es un proceso iterativo tiene un inicio y fin y este se va
depurando
continuamente tienen un punto de inicio y se van refinando
continuamente.

En este diseño permite comprender el funcionamiento de la organización y el


significado de los datos que esta maneja. Para que el sistema a construir funcione
correctamente debe generarse un esquema de diseño que defina todas las vistas del
usuario y mantenga la integridad de los datos de manera que la implementación
física se pueda definir de manera eficiente y que en el futuro el sistema pueda
ajustarse a los cambios que pueda sufrir. Por todo esto, es fundamental dedicar el
tiempo y las energías necesarias para producir el mejor esquema que sea posible.

A continuación se muestra el MER para el sistema del video


club

Supuesto:
Si existe morosidad no es posible realizar un nuevo arriendo
a. Diseño Funcional del Sw: es un conjunto de especificaciones funcionales que
describan en términos precisos:

o Las entradas que suministran al sistema las entidades externas.

o Las salidas aportadas por el sistema a dichas entidades externas.

o Las funciones descompuestas que se han de realizar por ese sistema.

o El modelo de datos lógico del sistema.

o Toda esta información estará almacenada en el diccionario del proyecto,


mediante la descripción de Diagramas de Flujo de Datos, Procesos, Flujos
de Datos, Diagramas de Estructuras de Datos, Entidades y Atributos.
b. Diseño del Sistema de Codificación
Para pasar a construir el nuevo sistema, es necesario convertir toda esta información
en especificaciones de programas.

Las tareas a realizar son:

o Determinar qué módulos implantarán los procesos terminales obtenidos en la


Fase Análisis del Sistema.

o Organizar la estructura de estos módulos y definir las conexiones entre los


Describir los principios mismos.
fundamentales del
Diseño Estructurado
o Describir el pseudocódigo para cada módulo.
Describir e interpretar
el Diseño Global

Describir e interpretar
el Diseño Detallado 3.- Describir e interpretar el Diseño Detallado

Este diseño se ocupa del refinamiento sucesivo de la representación


arquitectónica que lleva a una estructura de datos detallada y a las
representaciones algorítmicas concretas de los datos. Se basa en el principio de
Modularidad.
De lo anterior el diseño detallado proporciona:

 Un medio para inspecciones de diseño, recorridos estructurados y


la revisión crítica del diseño, evitando que se manifiesten errores
en la etapa de implementación.

 La posibilidad de reutilizar algunos de los módulos, en especial


los que manipulan elementos de entrada y salida o tablas de datos.
En efecto, un módulo que permite capturar datos de teclado en
un determinado software, debería ser también útil en otro
software diferente, pero en el que existe esta función.

Para que un Diseño detallado sea efectivo se deben considerar los siguientes
aspectos:
 Cohesión: es el grado en el cual los componentes de un módulo son
necesarios y suficientes para llegar a cabo una sola función bien definida.
 Acoplamiento: es el grado en el cual los módulos se relacionan entre ellos.
 Tamaño: en lo posible cada módulo debe ser lo suficientemente
pequeño
como para ser comprendidos con facilidad a corto plazo.
 Alcance del efecto/Alcance del Control: el ámbito de control consiste
en ese módulo más todos los dependientes de él. El ámbito de efecto de un
módulo consiste en todos los afectados por una decisión en él.
 Parsimonia: se refiere a la economía de los recursos que se emplean para la
obtención de un resultado.
 Manejo Autónomo de Errores: los módulos deben tener la capacidad
de manejar sus propias condiciones de error, tanto en la detección como en
la corrección de los mismos.
Para el diseño detallado se consideran a las siguientes
partes:
a. Diseño Lógico de datos:
El diseño lógico es el proceso de elaborar un esquema de la información que utiliza
la organización, basándose en un modelo de base de datos específico,
independiente del SGBD concreto que se vaya a utilizar y de cualquier otra
consideración física.
En esta etapa, se transforma el esquema conceptual en un esquema lógico que
utilizará las estructuras de datos del modelo de base de datos en el que se basa el
SGBD que se vaya a utilizar. Estos modelos pueden ser: el modelo relacional,
el modelo de red o el modelo jerárquico. Conforme se va desarrollando el
esquema lógico, éste se va probando y validando con los requisitos de usuario.

Un forma de comprobar la validez de estos esquemas lógicos basados en el


modelo relacional es usar la técnica de normalización, ésta asegura que las
relaciones (tablas) obtenidas no tienen datos redundantes.

Un papel importante del diseño lógico es que este es fuente de información para el
diseño físico. Además, juega un papel importante durante la etapa de
mantenimiento del sistema, ya que permite que los futuros cambios que se realicen
sobre los programas de aplicación o sobre los datos, se representen correctamente
en la base de datos.

A continuación se muestra el Modelo Relacional para el sistema dell video


club:
Modelo Relacional
Socio (rut, nombres, apellidos, dirección,
fono)
PK: rut

Video (Código, titulo, clasificación, categoría)


PK: codigo

Copias (cod_copia , estado,


código) PK: cod_copia+ codigo
FK: codigo referencia a Video

Proveedor (rut, nombre, dirección, fono)


PK: rut

Provee (rut, código)


PK: rut+codigo
FK: rut referencia a Proveedor
FK: codigo referencia a
Video

Pide (rut, cod_copia, codigo,fecha_devolucion, fecha prestamo,


estado) PK: rut +cod_copia+codigo+fecha_devolucion+fecha
prestamo
FK:rut referencia a Socio
FK: cod_copia referencia a
Copia
FK: codigo referencia a
Video
FK: fecha_devolución referencia a
Fecha
b. Diseño Arquitectónico: este diseño define la relación entre los
elementos estructurales principales de Software, los patrones de diseño que se
pueden utilizar para lograr los requerimientos que se han definido para el sistema,
y las restricciones que afectan a la manera en que se pueden aplicar los patrones de
diseño arquitectónicos. La representación de este diseño puede derivarse de la
especificación del sistema, del modelo de análisis y de la interacción del
subsistema definido dentro del modelo de análisis

Aquí se define el diseño que identifica los subsistemas (o componentes) que


conforman un sistema y la infraestructura de control y comunicación. Esto es la
base de la descomposición modular

Una representación para este diseño es el diagrama jerárquico funcional el


cual contribuye a identificar los procesos o funciones que serán automatizables
por el sistema a construir

A continuación se muestra el diagrama jerárquico funcional para el sistema del


video
club
Del diagrama se pueden identificar que los procesos posibles de automatizar
tienen que ver con el ingreso, modificación, eliminación y consulta de los datos que
manejará finalmente el sistema (socios, proveedores, videos, arriendos). Los
procesos manuales como lo es ubicar videos se discriminan para la automatización

a. Diseño de Programas:
Este diseño cuenta con la representación de dicho módulos en algoritmos defiendo
las
estructuras de datos a
utilizar.
Este diseño debe tener las siguientes
características:
o Expandible: Debe proporcionar espacio para entradas adicionales
que pudieran requerirse.

o Preciso: Debe identificar al artículo específico.

o Conciso: Debe ser breve pero describir adecuadamente al artículo.

o Conveniente. Debe ser fácil de codificar y decodificar.

o Con significado: Debe ser útil para quienes lo manejan. De ser


posible debe indicar algunas características del artículo.

o Clasificación: Los módulos que sean entradas o salidas de un


proceso de clasificación, deben ser programas independientes.

o Operable. Debe ser compatible con los métodos presentes y


anticipados de proceso de datos, manual o a máquina.
En esta etapa se construyen los algoritmos en pseudocódigo de manera que en
la etapa siguiente puedan ser implementados en cualquier lenguaje de
programación.

A continuación se muestra un ejemplo de algoritmos en pseudocodigo para los


procesos
ingresar, modificar y eliminar socio del ejemplo del video
club

Para el Ingreso de un Socio


Repetir
Repetir
Despliega pantalla ingreso de Socio
Captura Rut de Socio
Hasta Rut de Socio
válido Si Rut no existe
Entonces Captura datos
Socio Actualiza tabla
Socio
Sino
«Rut de socio ya existe en base de datos»
Hasta opción esc salir o cancelar
Para la Modificación de un Socio
Repetir
Repetir
Despliega pantalla modificación de datos de Socio
Captura Rut de Soc
Hasta Rut de Socio válido
Si Rut de Socio existe
Entonces
Captura datos Socio
Actualiza tabla Socio
Sino
«Socio no existe en base de datos.» Elegir opción
Ingresar
Socio»
Hasta opción esc salir o cancelar

 Para la Eliminación de un Socio


Repetir
Repetir
Despliega pantalla eliminación de Socio
Captura Rut Socio
Hasta Rut Socio válido
Si Rut Socio existe Entonces
Elimina datos Socio
Actualiza tabla Socio
Sino
«Socio no existe en base de
datos» Hasta opción esc salir o
cancelar

b. Diseño de Interfaces

El diseño de interfaces (según la figura) es la etapa del diseño detallado que


estudia y define los procesos orientados a construir la interfaz más usable posible,
dadas ciertas condiciones de entorno. Entiéndase por interfaz a «algo» entre uno
mismo (el usuario) y el objeto de la interacción (una herramienta).
El entorno dentro del cual se inscribe el diseño de una interfaz y la medida de su
usabilidad (medida de utilidad, facilidad de uso, facilidad de aprendizaje y
apreciación), se derivan tres factores importantes
. Una persona

. Una tarea

. Un contexto
El diseño iterativo de interfaces es un proceso independiente de la/s técnica/s
utilizada/s para llevarlo a
cabo.
Actualmente, el proceso del desarrollo de una interfaz se concibe como un ciclo
que consta de 4 etapas, en varios niveles:
 Diseño
 Implementación
 Medición
 Evaluación

El resultado (o output) de cada etapa es la alimentación (o input) de la que sigue,


incluso el de la última. Los resultados de la etapa de evaluación se toman para re-
diseñar la interfaz, implementarla nuevamente, medir, y así sucesivamente.
Debido a esa repetición o auto-alimentación se lo llama diseño iterativo. Es
decir se va refinando hasta quedar completamente como se requirió en la
especificación por parte del cliente, y considerando, otros aspectos como que sea
amigable con el usuario, entre otros.
A continuación se muestra algunos ejemplos de formatos de
pantallas

90
Respuestas:

1.- Lo s p rin cipi os fun da ment ales del Di


seño
Estructurado son:
a. Abst racció n: permite concentrarse en
un problema usando conceptos y términos que
son familiares al entorno del problema, sin tener
que transformarlos a una estructura no familiar.
b. Refinamiento: es una estrategia de diseño
descendente, la idea es desarrollar un programa
en sucesivos niveles de refinamiento (detalle). Se
establece una Jerarquía descomponiendo lo macro
en sucesivas instancias micro de detalle.
c. Modularida d: l a d e s c o mp o s i c i ó n
d e u n problema en módulos disminuye la
complejidad del mismo. La modularidad deriva de
un principio elemental para manejar la
complejidad «divide y vencerás».
d. Arquitectura del software : implica la
estructura jerárquica de los módulos y la
estructura de datos e. Jerarquía de control:
representa la organización jerárquica de los
componentes del programa (módulos) que
implica una jerarquía de control. No r ep re sen
t a a s p ecto s p ro ced i ment a les d el sistema,
tales como secuencias de procesos, o la
repetición de operaciones.
f. Estructura de datos: es una representación de
la relación lógica existente entre los elementos
individuales de datos.
g. Procedimientos del software : se centran
sobre los detalles de
procesamiento de cada módulo individual.
h. Ocultamiento de la información: los módulos
deben especificarse y diseñarse de forma que la
información (procedimientos y datos) contenida
dentro de ellos solo sea accesible por otros
módulos únicamente usando interfaces
establecidas para cada módulo.

2.- Los aspectos a considerar para el diseño


detallado son:
Cohesión: es el grado en el cual los
componentes de un módulo son necesarios y
suficientes para llegar a cabo una sola función
bien definida.
Acoplamiento: es el grado en el cual los
módulos
se relacionan entre ellos.
Tamaño: en lo posible cada módulo debe ser lo
suficientemente pequeño como p
a r a s e r comprendidos con facilidad a corto
plazo.
Alcance del efecto/Alcance del Control: el
ámbito de control consiste en ese módulo más
todos los dependientes de él. El ámbito de efecto
de un módulo consiste en todos los afectados por
una decisión en él.
Parsimonia: se refiere a la economía de los
recursos que se emplean para la obtención de un
resultado.
Manejo Autónomo de Errores: los módulos
deben
tener la capa cidad de man ejar sus pr
opias condiciones de error, tanto en la detección
como en la corrección de los mismos.

También podría gustarte