Está en la página 1de 13

Módulo

G1

Describir e Interpretar el
Diseño Estructurado

VIRGINIO GOMEZ
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

T.N.S. en Computación e Informática Sistemas de Información 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
requerimientos en una representación del software. Por lo que es una actividad que
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
VIRGINIO GOMEZ

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 T.N.S. en Computación e Informática Sistemas de Información


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

VIRGINIO GOMEZ
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.

T.N.S. en Computación e Informática Sistemas de Información 81


Las herramientas que se utilizan para la fase de diseño son:

• Herramientas de Especificació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.
• Herramientas para Presentación: que permiten describir el lugar de los
datos, mensajes, etc., sobre las pantallas, reportes y otros medios de entrada
Describir los principios y salida.
fundamentales del
Diseño Estructurado

Describir e interpretar 2.- Describir e interpretar el Diseño Global


el Diseño Global
VIRGINIO GOMEZ

Describir e interpretar
el Diseño Detallado 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.

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 completamente
independiente de los aspectos de implementació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 es una fuente de información para el diseño lógico de la base
de datos.

82 T.N.S. en Computación e Informática Sistemas de Información


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

VIRGINIO GOMEZ
MEZ
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.

T.N.S. en Computación e Informática Sistemas de Información 83


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:
VIRGINIO GOMEZ

• 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.

84 T.N.S. en Computación e Informática Sistemas de Información


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:

VIRGINIO GOMEZ
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

T.N.S. en Computación e Informática Sistemas de Información 85


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
VIRGINIO GOMEZ

86 T.N.S. en Computación e Informática Sistemas de Información


VIRGINIO GOMEZ

T.N.S. en Computación e Informática Sistemas de Información 87


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.
VIRGINIO GOMEZ

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

88 T.N.S. en Computación e Informática Sistemas de Información


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

VIRGINIO GOMEZ
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

T.N.S. en Computación e Informática Sistemas de Información 89


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
VIRGINIO GOMEZ

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 T.N.S. en Computación e Informática Sistemas de Información


91 T.N.S. en Computación e Informática Sistemas de Información
Respuestas:
1.- Los principios fundamentales 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 2.- Describa cuales son los aspectos a considerar en un Diseño Detallado
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
1.- Describa principios fundamentales del Diseño Estructurado
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
Autoevaluación
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 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.
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 para ser
comprendidos con facilidad a corto plazo.

VIRGINIO GOMEZ
• Alcance del efecto/Alcance del Control: el ámbito Listado Proveedores ·
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.
Ingreso de un socio ·

También podría gustarte