Diseño Estructurado - Departamento de Ciencias e Ingeniería de la

Anuncio
28/07/2015
Lic. Ariel Trellini
Departamento de Ciencias e Ingeniería de la Computación
Universidad Nacional del Sur
Diseño Estructurado
Diseños eran los antes
Arquitectura y Diseño de Sistemas • 2
Lic. Ariel Trellini • DCIC • UNS
1
28/07/2015
Diseño Estructurado
Historia
 Desde fines de los ‘60s emergieron múltiples métodos
estructurados:
Año
Método
Autor
1967
Programación Estructurada
Edsger Dijkstra
1971
Diseño Paso a Paso
Niklaus Wirth
1972
Diagrama Nassi-Schneiderman
Isaac Nassi, Ben Shneiderman
1974
Diagrama Warner/Orr
Jean-Dominique Warner, Kenneth Orr
1974
HIPO - IBM Hierarchy input-process-output
IBM
1975
Diseño Estructurado
Larry Constantine, Ed Yourdon, Wayne
Stevens
1975
Programación Estructurada de Jackson
Michael A. Jackson
1978
Análisis Estructurado
Tom DeMarco, Yourdon, Gane &
Sarson, McMenamin & Palmer
1979
Método Estructurado de Yourdon
Edward Yourdon
1979
Structured Analysis and System Specification
Tom DeMarco
…
Arquitectura y Diseño de Sistemas • 4
Lic. Ariel Trellini • DCIC • UNS
Diseño Estructurado
Evolución
‘60s
Programación
Estructurada
Es un paradigma de programación orientado a mejorar la
claridad, calidad y tiempo de desarrollo de un programa.
 subrutinas
 go to
 if, while, for
‘70s
Diseño
Estructurado
Está interesado en el desarrollo de módulos y en la
organización jerárquica de dichos módulos.
 Gráficos de estructura
 Cohesión
 Especificaciones de módulos
 Acoplamiento
 Diccionario de datos
‘80s
Análisis
Estructurado
Arquitectura y Diseño de Sistemas • 5
Consiste en interpretar los conceptos del sistema en
términos de datos y control, representados por
diagramas de flujo de datos
 Gráficos de estructura
 Diagramas de flujo de datos
 Diagramas de modelo de datos
Lic. Ariel Trellini • DCIC • UNS
2
28/07/2015
Diseño Estructurado
Enfoque Estructurado
 Perspectiva

Se ve al sistema desde la perspectiva de los datos que fluyen a través de él.


La función del sistema se describe a través de procesos que transforman los
flujos de datos
Toma ventaja del ocultamiento de la información a través de una
descomposición sucesiva (top-down)

La atención se enfoca en los detalles pertinentes al nivel de descomposición
 Resultado

Conjunto relacionado de…



Diagramas gráficos
Descripciones de proceso
Definiciones de datos
[Diagrama de contexto y de flujo de datos]
[Especificaciones de procesos]
[Diccionario de datos]
… que describen las transformaciones y datos necesarios para cumplir los
requerimientos
Arquitectura y Diseño de Sistemas • 6
Lic. Ariel Trellini • DCIC • UNS
Diseño Estructurado
Definición
El diseño estructurado es el arte de diseñar los componentes de un
sistema y las interrelaciones entre ellos de la mejor forma posible.
Un diseño exitoso está basado en un principio conocido desde la
época de Julio César: Dividir y conquistar
Edward Yourdon
El diseño estructurado persigue elaborar sistemas que cumplan con
la propiedad de modularidad. Para ello, se busca dividir la solución
en módulos de acuerdo a principios de diseño de descomposición por
refinamientos sucesivos, jerarquía modular y construcción de
módulos independientes.
Arquitectura y Diseño de Sistemas • 7
Lic. Ariel Trellini • DCIC • UNS
3
28/07/2015
Diseño Estructurado
Principios Básicos
 Descomposición

¿Por qué descomponer un problema en partes?



Un problema complejo cuesta más de resolver que otro más sencillo
La complejidad de un problema global es mayor que el valor de las
complejidades de cada una de sus partes por separado
¿Cómo realizar la descomposición?

Diseño Top-Down / Descomposición Funcional


Refinamiento Sucesivo


Dividir el problema original en partes que son más sencillas de abordar. Dichas partes
identifican una funcionalidad del sistema.
Se vuelve a aplicar recursivamente el diseño Top-Down sobre cada uno de las partes
identificadas, hasta obtener sub-partes suficientemente pequeñas que permitan
resolverse de manera sencilla.
¿Cuándo parar el refinamiento?


Cuando no haya sub-partes bien definidas
Cuando la interfaz de un módulo sea tan complicada como el propio módulo.
Arquitectura y Diseño de Sistemas • 8
Lic. Ariel Trellini • DCIC • UNS
Diseño Estructurado  Principios Básicos
 Jerarquía de Módulos

Es una consecuencia directa de la descomposición del problema mediante
refinamientos sucesivos




Conjunto de módulos estratificados en capas a modo de pirámide
En la cima hay un único módulo que representa el problema global
En los niveles inferiores están los módulos resultantes de las sucesivas
divisiones.
Tareas dentro de la estructura piramidal
Niveles superiores
Tareas de coordinación y lógica de
aplicación
Niveles inferiores
Tareas de cálculo, procesamiento y
entrada/salida de información
Arquitectura y Diseño de Sistemas • 9
Lic. Ariel Trellini • DCIC • UNS
4
28/07/2015
Diseño Estructurado  Principios Básicos
 Independencia Modular

Cuanto más independientes son los módulos entre sí, más fácil y
flexiblemente se trabajará con ellos.


Para desarrollar un módulo no debería ser necesario conocer los detalles de
otro módulo.
Consecuencias



Módulos con características de caja negra (abstracción)
Aislamiento de los detalles mediante encapsulamiento
Reutilización de módulos
Arquitectura y Diseño de Sistemas • 10
Lic. Ariel Trellini • DCIC • UNS
Diseño Estructurado
Herramientas
 Diagrama de Contexto

Es el diagrama de más alto nivel de un sistema

Define los límites entre el sistema y su ambiente, mostrando a las entidades
que interactúan con él.

El sistema se representa como una caja negra

Objetivo


Ayudar a entender el ambiente
del cual el sistema formará parte
Enfocar la atención en los
factores externos y los
eventos que deberían ser
considerados al desarrollar el
conjunto de requerimientos y
restricciones del sistema
Arquitectura y Diseño de Sistemas • 11
Lic. Ariel Trellini • DCIC • UNS
5
28/07/2015
Diseño Estructurado  Herramientas
 Diagrama de Flujo de Datos

Es la representación del flujo de datos a través de un sistema de
información, modelando sus características de procesos.

Se utilizan para visualizar el procesamiento de datos

Muestra:

Cuál será la información de
entrada y de salida del
sistema

De dónde vienen y a
dónde van los datos

Dónde los datos
serán almacenados
Arquitectura y Diseño de Sistemas • 12
Lic. Ariel Trellini • DCIC • UNS
Diseño Estructurado  Herramientas
 Especificaciones de Procesos

Describen qué ocurre dentro de cada burbuja primitiva (hojas) de un
diagrama de flujo de datos

Define qué debe ser hecho para transformar las entradas en las salidas
esperadas.

Herramientas


Tablas de decisión

Lenguaje estructurado (pseudocódigo)

Diagramas de flujo

Diagramas Nassi-Shneiderman

Pre/post condiciones
Debe cumplir estos requerimientos:

Debe ser expresada en una forma que pueda ser verificada por el usuario y el
analista del sistema.

Debe ser expresada de una forma que pueda ser efectivamente comunicada a
las distintas audiencias involucradas
Arquitectura y Diseño de Sistemas • 13
Lic. Ariel Trellini • DCIC • UNS
6
28/07/2015
Diseño Estructurado  Herramientas
 Gráfico de Estructura

Muestra la división de un sistema en los niveles más bajos manejables

Se usa para organizar los módulos de un sistema en una estructura de
árbol.

Ayuda al diseñador a aplicar la estrategia de dividir y conquistar un módulo
mayor para obtener sub-módulos menores
Arquitectura y Diseño de Sistemas • 14
Lic. Ariel Trellini • DCIC • UNS
Diseño Estructurado  Herramientas
 Diccionario de Datos

Define la organización básica del almacenamiento de la información.

Es una estructura de datos que almacena la metada de los datos del
sistema.

Es un repositorio centralizado de información sobre datos:






Significado
Relaciones con otros datos
Origen
Uso
Formato
Convenciones
Arquitectura y Diseño de Sistemas • 15
Lic. Ariel Trellini • DCIC • UNS
7
28/07/2015
Diseño Estructurado  Herramientas
 Diagramas de Entidad-Relación

Describe el layout de los datos almacenados de un sistema en un alto nivel
de abstracción

¿Por qué es útil?

Las estructuras de datos y sus relaciones puede ser complejas y es bueno
resaltarlas y examinarlas independientemente del procesamiento.

La administración de los datos a veces está a cargo de un grupo de personas
específico, con lo
cual el DER sirve
como herramienta
de comunicación y
documentación
Arquitectura y Diseño de Sistemas • 16
Lic. Ariel Trellini • DCIC • UNS
Diseño Estructurado  Herramientas
 Diagramas de Transición de Estados


Resalta el comportamiento dependiente del tiempo de un sistema
Componentes:


Cajas: Estados
Flechas: Cambios de estado
Arquitectura y Diseño de Sistemas • 17
Lic. Ariel Trellini • DCIC • UNS
8
28/07/2015
Diseño Estructurado
Diseño Estructurado y Diseño Orientado a Objetos
Diseño Estructurado
Diseño Orientado a Objetos
Descomponer el problema en piezas Descomponer el problema en piezas
más pequeñas: procedimientos
más pequeñas: objetos
Se diseña en términos de
procedimientos
Se diseña en término de objetos
Tiende a enfocarse en la separación
entre datos y procedimientos.
Hace foco en el encapsulamiento y
el ocultamiento de la información
Arquitectura y Diseño de Sistemas • 18
Lic. Ariel Trellini • DCIC • UNS
9
Descargar