Sunteți pe pagina 1din 132

Anlisis y Diseo Estructurado

Diagrama de Flujo de Datos


ENTIDAD
EXTERNA

flujo de datos

P1
Proceso

D ALMACN DE
DATOS

Docente : Yessica Gmez Gutirrez

Anlisis y Diseo Estructurado


Introduccin - Visin panormica
del Anlisis y Diseo Estructurado.
Anlisis : Diagramas de Flujo de
Datos.
Diseo: Diagrama de Estructuras
ENTIDAD
EXTERNA

flujo de datos

P1
Proceso

D ALMACN DE
DATOS

1.- Introduccin:
Visin panormica del AyDE
Anlisis Estructurado
Mtodo clave en el desarrollo
estructurado o convencional
Aparece a finales de los 70
Facilita la comunicacin en el proceso de
desarrollo de un sistema de informacin
anlisis y diseo
usuarios y analistas

Sencillo, fcil de entender y fcil de


aprender

1.- Introduccin:
Visin panormica del AyDE.
Caractersticas
Amplia difusin
Descomposicin funcional
(Originariamente) Orientada a procesos
(Originariamente) Top/down

Presente en numerosas metodologas


p.ej. Mtrica, SSADM, information
engineering, Merise

Herramientas CASE disponibles

Bibliografa
Texto principal
Mario Piattini,Jose Calvo-Manzano,Joaqun
Cervera,Luis Fernandez, Anlisis y diseo
detallado de Aplicaciones Informticas de
gestin. Edit. Ra-ma
Yourdon, E., Anlisis estructurado moderno.
1993: Prentice-Hall Hispanoamericana

Bibliografa (II)
Entre la bibliografa bsica...
MAP, MTRICA versin 2.1. Gua de Tcnicas. 1995, Madrid: Ministerio de
Administraciones Pblicas. Secretara de Estado para la Administracin Pblica.
Consejo Superior de Informtica.

Referencias clsicas...
DeMarco, T., Structured analysis and system specification. 1979, Englewood
Cliffs, New Jersey: Yourdon Press.
Gane, C. and T. Sarson, Anlisis estructurado de sistemas. 1990, Buenos Aires:
El Ateneo (traduccin de Gane, C. and T. Sarson, Structured systems analysis,
tools and techniques. Software series. 1979, New Jersey: Prentice-Hall.)

1.- Introduccin:
Visin panormica del AyDE.
Componentes

DFD (Diagrama de Flujo de Dato


Dataflow diagram)
Diagrama E-R (Entidad-Relacin), o
alternativamente, DED (Diagrama de
Estructura de Datos)
Diagramas HVE (Historia de Vida de las
Entidades)
Diagramas de Transicin de Estados (STD,
State Transition Diagram)

1.- Introduccin:
Visin panormica del AE. componentes

Lgica de procesos
Lenguaje estructurado
Pre y post-condiciones
Tablas de decisin
rboles de decisin

Diccionario de Datos (DD)

1.- Introduccin:
Visin panormica
del AE. DFD

ENTIDAD
EXTERNA

flujo de datos

P1
Proceso

D ALMACN DE
DATOS

Visin general de las funciones y


transformaciones de datos en una
organizacin
Modelo lgico y grfico del sistema
tambin como modelo fsico

Identifica entradas, salidas, procesos y


relaciones con el exterior
...a nivel general
...por refinamiento, a nivel detallado

1.- Introduccin:
Visin panormica del AE. DFD
Tipos de smbolos en los DFDs
(notacin de Yourdon/De Marco)
ENTIDAD
EXTERNA

flujo de datos

P1
Proceso

D ALMACN DE
DATOS

1.- Introduccin:
Visin panormica del AE. DFD: Ejemplo
Prctico

Ejemplo
Sistema de distribucin sin
inventario
Se trata de un sistema que sirve pedidos de
libros a unos clientes, con la particularidad
de que no mantiene un stock o inventario
interno. El sistema puede agrupar los
pedidos que clientes distintos hacen a un
mismo editor, de manera que se puedan
Adaptado del captulo 2 de Gane, C. and T. Sarson, Anlisis estructurado de sistemas.
descuentos.
1990, conseguir
Buenos Aires: El Ateneo.

1.- Introduccin:
Visin panormica del AE. DFD: Ejemplo
Prctico

Anlisis de los procesos del


sistema
Aplicamos la visin sistmica
Diagrama de
contexto
CLIENTE

pedidos
rdenes de compra

libros entregados

en principio, no
son materiales,
son datos

0.
Sistema de
Pedidos

EDITOR
libros pedidos

1.- Introduccin:
Visin panormica del AE. DFD: Ejemplo
Prctico
0. Sistema de pedidos
pedidos

D LIBROS
rdenes de compra

1.
Verificar
validez
de pedido

estado del crdito


D CLIENTES

pedidos vlidos
D PEDIDOS
PENDIENTES

pedidos por ttulo

2.
Armar
pedidos
a editores

D RDENES DE
COMPRA

pedidos en lote

direccin

libros entregados
libros entregados =
albarn + lista-novedades

5.
Armar
entrega
a clientes

libros por
clientes

4.
Asignar
libros a
pedidos

3.
Verificar
envo
de editores

libros
recibidos
libros recibidos =
{ttulo + cantidad}

libros pedidos

1.- Introduccin:
Visin panormica del AE. Diccionario de
Datos
Es un conjunto de metadatos, es decir, de
informacin (datos) sobre datos
Contiene las definiciones de todos los
elementos de los diagramas
Implementacin
Manual
Procesador de textos
Base de datos
Automtico e integrado

1.- Introduccin:
Visin panormica del AyDE. Diccionario de
Datos
Flujo de datos: entrega
Descripcin: Conjunto de libros enviados por un
proveedor a la biblioteca, basado en la relacin
que previamente haba recibido.
Sinnimos: *** none ***
Componente de: *** none ***
Composicin:
Libros
+ { Albarn }
Informacin de entrada y salida
Origen
Destino
*** Off the diagram ***
Compra libros
PROVEEDORES
Biblioteca

Visin panormica AyDE


Diccionario de Datos (III)
Almacen: Facturas
Descripcin: Informacin, por nmero de factura, sobre
facturas en el sistema actual.
Sinnimos: *** none ***
Composicin:
@Nmero-factura
+ Fecha-factura
+ Direccin-cliente
+ { Nmero-producto
+ Cantidad-producto
+ Costo-unidad-producto }
+ Costo-envo
+ Tasa-de-descuento
+ Neto-factura
+ Estado-factura

Procesos asociados:
Proc_cancelacin
Proc_consultas

Segn DFD general


Proc_pago
Adjuntar_albarn

1.- Introduccin:
Visin panormica del AyDE. Pseudocdigo.
Proceso: Verificar estado del socio
Nmero: 1.1.1
Descripcin: Se examina si el socio no est sancionado
Miniespecificacin:
Recibir Socio ID del socio
Leer SOCIOS para
Leer Flag-de-precaucin
Si OK, enviar Socio ID vlido
Complejidad:
Ratio de transacciones:

Prioridad:
Memoria requerida (Kb):
Tiempo de proceso:

1.- Introduccin:
Visin panormica del AyDE. Modelado de
Datos

Diagramas E-R y DED (Diagrama de


Estructura de Datos)
DED es, bsicamente, un E-R
limitado:
no relaciones ternarias
slo cardinalidades 1:N
no atributos multivaluados ni
compuestos

1.- Introduccin:
Visin panormica del AE. Ejemplo de
E/R .
Departamento

Diagrama ER [EN2002] (Chen)

(1,n)
pertenece

(1,1)
Empleado

asignado
(0,n)

Proyecto
(1,m)

Departamento

DED

Proyecto

pertenece

Empleado

requiere

tiene

Asignacin

1.- Introduccin:
Visin panormica del AyDE. Lgica de
Proceso.

Tcnicas para describir la lgica de


los procesos primitivos
Lenguaje estructurado
Pre y post-condiciones
Tablas de decisin
rboles de decisin

1.- Introduccin:
Visin panormica del AyDE. Lgica de
Proceso.

Lenguaje estructurado
SI la factura excede de 300
SI la cuenta del cliente tiene alguna factura sin pagar ms
de 60 das, dejar la confirmacin pendiente de este pago.
SI NO (la cuenta est en buen estado)
hacer confirmacin y factura

SI NO (la factura es de 300 o menos)


SI la cuenta del cliente tiene alguna factura sin pagar ms
de 60 das hacer la confirmacin, la factura y escribir un
mensaje sobre informe de crdito
SI NO (la cuenta est en buen estado)
hacer confirmacin y factura

FIN-SI.

1.- Introduccin:
Visin panormica del AE. Lgica de
Proceso.

Pre y post-condiciones
Pre1 (la factura excede de 300) Y (la cuenta del cliente tiene alguna
factura sin pagar ms de 60 das)
Pos1 (confirmacin pendiente de este pago)
Pre2 (la factura excede de 300) o (la cuenta del cliente no tiene
ninguna factura sin pagar ms de 60 das)
Pos2 (confirmacin y factura realizadas)
Pre3 (la factura no excede de 300) Y (la cuenta del cliente tiene
alguna factura sin pagar ms de 60 das)
Pos3 (confirmacin y factura realizadas) Y (mensaje impreso sobre
informe de crdito)
Pre4 (la factura no excede de 300) Y (la cuenta del cliente no tiene
ninguna factura sin pagar ms de 60 das)
Pos4 (confirmacin y factura realizadas)

1.- Introduccin:
Visin panormica del AyDE. Lgica de
Proceso.

Tablas de decisin
ESTADO DE LA
CUENTA

CORRECTO

NETO-FACTURA

>300

CONFI RMACI N
PENDI ENTE

I MPAGADO CORRECTO
>300

I MPAGADO

<=300

<=300

HACER
CONFI RMACI N

HACER FACTURA

ESCRI BI R MENSAJ E

1.- Introduccin:
Visin panormica del AyDE. Lgica de
Proceso.

rboles de decisin
Factura
excede de
300

Cuentas impagadas ms
de 60 das
Cuentas en buen estado

Poltica
contabl
e

Factura
menos de
300

Cuentas impagadas ms
de 60 das
Cuentas en buen estado

1. Dejar confirmacin
pendiente de los pagos
debidos.
2. Hacer confirmacin y
factura

3. Hacer confirmacin y factura y


escribir mensaje sobre informe de
crdito
4. Hacer confirmacin y
factura

Y despus del AE?


DISEO ESTRUCTURADO (DE)
El diseo lgico de los requisitos del
nuevo sistema de informacin se
convierte en un modelo de la aplicacin,
plasmado en un DIAGRAMA DE
ESTRUCTURA.
ESTRUCTURA
En el paso AE DE,
Anlisis de transacciones
Anlisis de transformaciones

Diseo Estructurado: DIAGRAMA DE


ESTRUCTURA. Ejemplo de diagrama de
estructuras
Evaluar
peticiones

pet aceptada

informe prstamo

pet aceptada

Recibir
peticiones

pet prstamo

informe prstamo

Elaborar
informe

pet rechazada
pet prstamo

Leer
peticiones

ok

Consultar
stock

Rechazar
peticin

Informar
peticin

Visin panormica AE
Esquema resumen
Diagrama de
flujo de
datos

B
PROC

PROC
Y

FUENTE

Descri
p.
E. E.

PROC

Descripci
n
del
proceso

PROC

Definici
n del FD

DESTINO

PROC

D ALMACN DE
DATOS

Diagrama ER
(o DED)

Diccionario
de Datos
Definicione
s de la BD
Definiciones
de los

Paso al
diseo
Diagrama
de
estructura
s

2.- Diagramas de Flujo de


Datos
(DFDs)

Smbolos del DFD

2.- Diagramas de Flujo de


Datos

(notacin Yourdon/De Marco)


P
Proceso

Entidad Externa

Flujo de datos

Flujo de eventos

D ALMACN DE
DATOS

Transformaciones o procesos
(funciones, clculo, seleccin)
Terminadores (Fuentes o Destinos)
(personas, entidades)
Flujos de informacin
(inputs-outputs)
Flujos de control (Ward & Mellor 85)
Ficheros o depsitos temporales de
informacin (base de datos, armario,
clasificador, etc.)

Smbolos del DFD

2.- Diagramas de Flujo de


Datos

(notacin Mtrica/SSADM)

ID

Localizacin

Proceso

Transformaciones o procesos

Entidad
Externa

Terminadores (Fuentes o Destinos)

Flujo de datos

ALMACN DE
DATOS

Flujos de informacin
Ficheros o depsitos temporales de
informacin

Procesos

2.- Diagramas de Flujo de


Datos

TRANSFORMACIN
(clculo, operacin)
FILTRO
(verificacin fecha, validacin transaccin)
DISTRIBUCIN
(men, seleccin transaccin)
E1
P
E2
E3

Transformacin

S1
S2

Procesos (II)

2.- Diagramas de Flujo de


Datos

Nombres nicos, significativos y concisos


Preferiblemente expresados en funcin de
las entradas y salidas
Recomendacin:
verbo (no ambiguo) + objeto
Evitar verbos ambiguos
procesar, gestionar, manejar...
objeto est definido en el DD

Los procesos se descomponen en


subprocesos, hasta llegar a los procesos
primitivos

2.- Diagramas de Flujo de


Datos

Diagrama de contexto

Es el DFD ms general de todos


Est formado por un solo
macroproceso (el sistema), las
entidades externas (fuentes y
destinos) y sus relaciones con el
macroproceso
Delimita el sistema y su entorno

2.- Diagramas de Flujo de


Datos

Entidades externas

Sealan los lmites del sistema y


establecen sus relaciones con el
entorno
FUENTE

FUENTE

FUENTE

DESTINO

P
Sistema

DESTINO

DESTINO

Los identificadores (nombres) de las entidades externas


sern nicos, significativos y concisos

Flujos de datos

2.- Diagramas de Flujo de


Datos

Los nombres de los FD deben ser nicos,


significativos y concisos
Son datos, as que nmbralos como datos.
Pueden estar indistintamente en singular o
en plural, ya que en los DFDs no se
representan cantidades (Barranco 95)
Los nombres no sirven slo para identificar
los datos, sino tambin la informacin que
se tiene sobre ellos
P.ej. Informacin (fecha-vlida) > Informacin
(fecha)

2.- Diagramas de Flujo de


Datos

Flujos de datos (II)

Flujos de datos interactivos (dialog flows)


Cuando dos FD establecen un dilogo o comparten una accin
de estmulo-respuesta, pueden dibujarse como un nico FD de
doble flecha, donde ambos extremos deben llevar el nombre
del FD que representan.
P
Determinar
estado
pedido

peticin estado pedido


respuesta estado pedido

pago
autorizacin crdito
P
solicitud crdito
Aceptar pago
recibo

denegacin
crdito

P
Analizar
Peticin
crdito

2.- Diagramas de Flujo de


Datos

Flujos de datos (III)

Las flechas dobles con sentidos


opuestos que transportan los
mismos datos pueden sustituirse por
flechas doblemente encabezadas
Pero slo si transportan los mismos datos!
P
A

P
B

P
A

P
B

2.- Diagramas de Flujo de


Datos

Flujos de datos (IV)

Se puede representar, si se desea, el FLUJO


DE MATERIAL, usando flechas de trazo grueso
P1

EDITORIALES

Selecc. y
pedir nuevos
libros

Notacin Gane & Sarson

INTERVENTOR

nuevas ofertas

pedidos de libros nuevos


libros nuevos
ajuste de inventario

D3

INVENTARIO

Registrar libros
ajuste de signaturas
nuevos

D4

SIGNATURAS

P3

P2
Examinar
nuevos libros

libros nuevos

nuevos libros

libros nuevos

D9

CARRITO
LIBROS NUEVOS

libros nuevos

D1 LISTA MAESTRA
DE ISBN

P4

P5

Enviar al dpto.
comprador

Poner libros
nuevos en
estantes

libros nuevos

libros nuevos
D2

ESTANTES

2.- Diagramas de Flujo de


Datos

Flujos de datos (V)

Se pueden considerar flechas


convergentes o divergentes, con un mismo
P
Validar
nombre
cod postal
P
A

cod postal

direccin cli
telef

nmero de cuenta

calle
P
B

P
Validar
calle

P
Validar
Telef.

Observaciones:
Slo los procesos pueden separar FD

(Piattini et al.

96)

No poner FD como seales de activacin

2.- Diagramas de Flujo de


Datos

Flujos de datos (VI)

Notacin System Architect. Ejemplos


FD divergentes (conectores XOR y AND)
P
Imprimir
lista
empaquetado
datos de
P
empaquetado
Determinar datos de envo
prods.para
datos de facturacin
enviar
XOR
cuando los datos son
divididos en subconjuntos
P
Imprimir
factura
cliente

P
Determinar
prescripcin

P
Rellenar
prescripcin
prescripcin

AND
cuando todos los datos
siguen por ambos caminos

P
Actualizar
registro
paciente

2.- Diagramas de Flujo de


Datos

Flujos de datos (VII)

Notacin System Architect. Ejemplos


FD convergentes (conectores XOR y AND)
P
Aceptar pago
en metlico

P
Confirmar
empleo
datos de pago

P
Aceptar pago
a crdito

XOR
cuando los mismos
datos provienen de
cualquier direccin

P
Transferir
pago

historial
de crdito
P
Confirmar
historial de
crdito

historial de
empleo

historia
combinada

AND
cuando los subconjuntos
son combinados en uno

P
Conceder
tarjeta de
crdito

2.- Diagramas de Flujo de


Datos

Flujos de datos (VIII)


pedido

P
Evaluar pedido

El proceso pide el FD
pedido?

criterios valoracin

El proceso necesita ambos


No lo sabemos,
FD? no importa:
Los aspectos procedurales no se
manifiestan en los DFDs
Si tales aspectos son relevantes, se
deben incluir en las miniespecificaciones

2.- Diagramas de Flujo de


Datos

Flujos de control

En los DFDs no se muestra el control ni el


orden de ejecucin
No se puede mostrar:
Procesos que se realizan antes que otros
Sincronizacin
Periodificacin

Extensiones al AE para sistemas en tiempo


real:
(Ward & Mellor 85)
(Hatley & Pirbhai 87)

2.- Diagramas de Flujo de


Datos

Almacenes de datos

Nombre nico, significativo y conciso


Convenciones de nombres en los FD
a/desde un almacn:
No lleva etiqueta

El FD se refiere a un paquete (instancia) completo de


la informacin contenida en el almacn

La etiqueta es la misma que la del almacn

El FD se refiere a uno o ms paquetes completos


(instancias) de la informacin contenida en el almacn

La etiqueta es distinta de la del almacn

El FD se refiere a uno o ms componentes (atributos)


de una o ms instancias del almacn

2.- Diagramas de Flujo de


Datos

Consistencia DFD / E-R

(MAP 95)

Para facilitar validaciones cruzadas entre


DFDs y E-R (o DED)...
Correspondencia entre los almacenes de
datos principales (permanentes) del
DFD y las entidades del E-R
Cada almacn de un DFD representa
una o varias entidades del E-R
Cada entidad del E-R pertenece a un
nico almacn principal de un DFD

2.- Diagramas de Flujo de


Datos

Consistencia DFD / E-R (II)

ETIQUETA DE LOS ALMACENES


Segn explosione a
Entidad de datos Plural nombre entidad
Diagrama E-R (o DED) Nombre diagrama

DEFINICIN DE LOS ALMACENES


1. Pocos almacenes
Para cada uno, diagrama E-R (o DED)
2. Tantos almacenes como entidades se hayan
identificado
Preferible (si no hay muchas entidades)

2.- Diagramas de Flujo de


Datos

Descomposicin funcional

Cada proceso se puede explotar, refinar o


descomponer en un DFD ms detallado
El DFD de un sistema es realmente un
conjunto de DFDs dispuestos jerrquicamente
Los niveles de la jerarqua estn determinados
por la descomposicin funcional de los
procesos
La raz de la jerarqua es el diagrama de
contexto, que es el ms general de todos

2.- Diagramas de Flujo de


Datos

Descomposicin funcional
A

P
Sist

(II)

DESTINO

FUENTE
P
f2

P
f4

P
f5

P
f1

Y
P
f3

P
f43

x1

x2

P
f41

y2
y1

P
f45

P
f42

P
f44

2.- Diagramas de Flujo de


Datos

Consistencia en el DFD

Cada proceso en un diagrama


padre es una consolidacin del
DFD hijo
Balanceo de DFDs
Las E/S de un proceso padre deben
corresponderse con las E/S del DFD
hijo que lo explica

2.- Diagramas de Flujo de


Datos

Descomposicin paralela

Descomposiciones de funciones
Proceso en subprocesos (DFD)

Descomposicin de flujos de datos


La regla de balanceo se aplica
teniendo en cuenta la descomposicin
paralela

2.- Diagramas de Flujo de


Datos

Descomposicin paralela (II)


Ejemplo:

pedido = autorizacin + cupn de pedido + pago


P2

P1
envo
P6
P5

pedido
P3

envo

autorizacin

P6.2

P4
cupn de
pedido

P6.1

pago

P6.3

2.- Diagramas de Flujo de


Datos

Jerarqua de DFDs

En un DFD completo cada proceso tiene un


nmero nico que lo identifica en funcin
de su situacin en la jerarqua
Cada DFD tiene tambin un nmero nico
que coincide con el proceso que describe
Las hojas o nodos terminales corresponden
a procesos primitivos o indescomponibles
Para cada proceso primitivo existir una
miniespecificacin.
Localizacin
Proceso

Proceso primitivo en Mtrica

2.- Diagramas de Flujo de


Datos

Jerarqua de DFDs (II)


P 1.2
Proceso A

DFD 1.2
P 1.2.2
f2

V
Y

P 1.2.1
f1
A

P 1.2.3
f3

Jerarqua de DFDs
DFD 0

2.- Diagramas de Flujo de


Datos

El primer diagrama general que sigue al


de contexto es el nmero 0 por convenio
En el DFD 0 se hace una
descomposicin en subsistemas, es
decir, se indican los procesos ms
importantes en el sistema
Han de ser SUBSISTEMAS

2.- Diagramas de Flujo de


Datos
Descomposicin funcional y
almacenes de datos

Los almacenes aparecen lo ms


tarde posible
En un nivel superior nicamente
cuando son interfaz entre procesos
Una vez que aparezca en un DFD, el
almacn aparecer otra vez en cada
DFD de nivel ms bajo relacionado

2.- Diagramas de Flujo de


Descomposicin
Datos
funcional y almacenes de
datos (II)

P
A

FICH

P
B.1

P
A.1

D
P
A.2

P
B

FICH

P
B.2

FICH

2.- Diagramas de Flujo de


Datos

Tamao de la jerarqua de DFDs

Cada DFD debera tener alrededor de 7


procesos o menos (Miller 57)
En general, habr varios niveles intermedios,
dependiendo del tamao y complejidad del
sistema que se est modelando
Cuntos niveles son convenientes?
Yourdon: depende del problema

Mtric
a

Diagrama
Diagrama
Diagrama
Diagrama
Diagrama

de
de
de
de
de

contexto / sistema
subsistemas
funciones
subfunciones
procesos (opcional)

2.- Diagramas de Flujo de


Datos

Reglas sintcticas en DFDs

El origen y/o el destino de un FD es


siempre un proceso
Excepcin: almacenes en el diagrama de
contexto (Yourdon 89)
datos del mercado
CLIENTES
CORPORATIVOS

informes anuales
D

CENTROS DE
INVESTIGACIN

CLIENTE

datos de
investigacin

P
SIST. DE
INVESTIG. DE
MERCADOS

DATOS DEL
MERCADO

datos del mercado

2.- Diagramas de Flujo de


Datos

Reglas sintcticas en DFDs

(II)

Todo almacn y todo proceso tienen


uno o ms FD de E y uno o ms FD de
S
EXCEPCIN: un almacn puede no tener FD de
salida, por simplificacin (p.ej. BD Histrica)
RECOMENDACIN: si aparece un proceso fuente
o sumidero, replantearse los lmites del sistema
P
Fuente

P
Sumidero

2.- Diagramas de Flujo de


Datos

Ideas tiles para construir el DFD

Identificar todos los elementos


exgenos
Identificar sus relaciones con el sistema
Trabajar segn alguna de las siguientes
filosofas:
De inputs a outputs
De outputs a inputs
Desde una posicin intermedia hacia
delante o hacia atrs

2.- Diagramas de Flujo de


Datos
Ideas tiles para construir el DFD (II)

Nombrar adecuadamente todos los


objetos del DFD
Numerar adecuadamente procesos y
diagramas
Realizar una correcta divisin en
subsistemas (DFD 0)
Utilizar la descomposicin funcional
jerrquica hasta alcanzar las
funciones primitivas

2.- Diagramas de Flujo de


Datos

DFDs - Conclusiones

Valiosa herramienta de comunicacin


Usuario, analista, diseador,
programador
Se puede combinar con el uso de
prototipos

Fcil de entender y de aprender


Facilita las relaciones con el usuario
Amplia difusin

2.- Diagramas de Flujo de


Datos

DFDs Conclusiones (II)

Superado por las metodologas OO,


pero todava vigente:
se ensea en 12 de 15 ppales. universidades
espaolas,casi todas en Chile
industria,
administracin (Mtrica 2.1 y 3),
cuerpo de conocimiento de ingeniera del software
(SWEBOK, SEEK, etc.)

El control no aparece hasta el final de la


especificacin estructurada
No es inmediato el paso a la codificacin y
prueba Diseo estructurado

2.- Diagramas de Flujo de


Datos

DFDs Conclusiones (III)

til para el anlisis y para el diseo


del nuevo sistema
Ms adecuado para el nivel lgico,
aunque tambin puede ser adecuado
para el nivel fsico (indicando
personas concretas, lugares
geogrficos, formatos de datos, etc.)

Diseo Estructurado
Introduccin

2.- Diseo: Diagrama de


Estructuras

Concepto y Principios del Diseo


Inicios del Diseo
Efectividad del Diseo

Mdulo(laridad)
Abstraccin
Refinamiento

Factores de calidad

Acoplamiento
Cohesin

Tipos de Acoplamiento
Tipos de Cohesin
Consideraciones para un Diseo de Calidad
Resultados del Diseo

2.- Diseo: Diagrama de


Estructuras

Diseo Arquitectnico ( Diseo Preliminar)

Elementos Diagrama de Estructura


Particin Estructural de un Diagrama de
Estructura
Estrategias de Diseo
Construccin del Diagrama de Estructura

Concepto y Principios del


Diseo
El diseo es un proceso a travs del cual los
requerimientos establecidos en la fase de anlisis
deben traducirse en una representacin que se
sugiere modular del producto de
precisa

construir

que

se

software

acompaa

que se
de

los

procedimientos en virtud de los cuales cada mdulo


debe llevar a cabo su tarea, y de las estructuras de
datos que debe procesar

Larry Constantine 78

Concepto y Principios del


Diseo
El

diseo

estructurado

es

un

mtodo

de

configuracin de la organizacin modular del


software que se desarrolla a partir de los flujos de
datos

que

contiene

la

especificacin

de

requerimientos obtenida en la fase de anlisis bajo


enfoque estructurado.

En este sentido, puede

decirse que este enfoque consiste en el diseo de


programas como estructuras de funciones nicas y
de relativa independencia.

Efectividad del Diseo


Para

poder

evaluar

la

efectividad

de

una

representacin de diseo, es preciso establecer lo


que

se

denomina

en

Ingeniera

de

software,

"criterios para un buen diseo", entre los cuales es


posible destacar los siguientes:

El diseo debe exhibir una organizacin jerrquica


con

mecanismos de control que no atenten contra

la independencia relativa de cada componente de la


jerarqua.

Efectividad del Diseo


El diseo debe ser modular, esto es, el software debe
estar particionado lgicamente en elementos que ejecuten
funciones y subfunciones especficas.
- El diseo debe generar mdulos que exhiban niveles
adecuados de independencia funcional.
El diseo debe obtenerse a partir de la especificacin de
requerimientos generada durante la fase de anlisis.
Mdulo(laridad)
Abstraccin
Refinamiento

Efectividad del Diseo


Mdulo(laridad)
Mdulo es una unidad claramente definida y manejable que forman
parte de los elementos constituyentes del software
La modularidad consiste bsicamente en el particionamiento del
software en elementos con nombres y direcciones separadas que se
denominan mdulos, los cuales en su composicin generan la
totalidad que debe ser capaz de resolver el problema global que da
origen a la necesidad de construir un producto de software.
Tiene que ver con la separabilidad de las funciones que en conjunto cumplen
un objetivo mayor, esto es, responden a la idea de totalidades emergentes
propia de la nocin de sistemas.

Efectividad del Diseo


Beneficios de la Modularidad
Programas ms simples, ya que puede ser comprendido,
verificado, programado, depurado, mejorado y alterado por partes.
Mdulos

que pueden ser desarrollados con relativa

independencia.
Disminucin de la posibilidad de errores al reducir la
complejidad.
Programas que pueden evaluarse por partes, por lo cual todo test
se hace ms fcil.
Programas ms fciles de alterar ya que son menores las
de cdigo a considerar para incorporar los cambios.
Mdulos de funcin nica que pueden ser reutilizados.

lneas

Efectividad del Diseo


Beneficios de la Modularidad
La posibilidad de cometer errores por parte de los programadores
disminuye porque son menos las lneas de cdigo que deben enfrentarse
al mismo tiempo.
La rotacin de personal se hace menos crtica, ya que los
programadores estn involucrados en unidades de cdigo ms pequeas
por lo cual la sustitucin resulta menos dificultosa.
Responder al requerimiento de la divisin del cdigo en segmentos de
una pgina, como lo sugiere la programacin estructurada, es casi total.

Efectividad del Diseo


Mdulo
El Fanout es una medida del nmero de mdulos controlados
directamente por otro mdulo (nmero de subordinados inmediatos
que posee). El Fanin indica cuntos mdulos controlan
directamente un determinado mdulo (nmero de superiores
inmediatos que posee)

Un mdulo que controla a otro se dice que es


"superordinado" a ste y, recprocamente, un mdulo controlado
por otro se dice que es "subordinado".

Efectividad del Diseo


Mdulo

Mdulo Superordinado

Mdulo Subordinado

Fanout : 2
Fanin : 1

Efectividad del Diseo


Mdulos & Integracin
Costos
o Esfuerzo
Costo Total SW

Costo por Integracin

Costo por Mdulo

N Mdulos
Costos Mnimos

Efectividad del Diseo


Abstraccin
Cuando se considera una solucin modular para enfrentar un
problema, se puede plantear en distintos niveles de abstraccin.
Un nivel superior de Abstraccin supone una solucin en
trminos amplios, usando un lenguaje del entorno del problema.
A un niveles ms bajos, se toma una orientacin ms
procedimental, se combina una

terminologia orientada al

problema con una orientada a la implementacin. El nivel ms


bajo

de

abstraccin

permite

implementarse directamente

que

la

solucin

pueda

Efectividad del Diseo


Refinamiento
El refinamiento gradual es una estrategia de diseo top_down cuyo origen es
la propuesta de Niklaus Wirth (WIRTH71) quien postula que "La arquitectura
de un programa se desarrolla refinando sucesivamente los niveles de detalle
de los procedimientos. De este modo se desarrolla una jerarqua de
procedimientos al descomponer sucesivamente una sentencia global hasta
alcanzar sentencias especficas a nivel de un lenguaje de programacin".
R. Pressman (PRESSMAN88) al respecto cita a Wirth sealando que: "En
cada etapa (del refinamiento), se descomponen una o varias de las
instrucciones del programa dado en instrucciones cada vez ms detalladas.
Esta descomposicin o refinamiento sucesivo termina cuando todas las
intrucciones estn expresadas en trminos de cualquier lenguaje bsico de
computador o de programacin.

Efectividad del Diseo


Refinamiento
En el dominio de la Ingeniera de Software, la modularizacin se
apoya en lo que se conoce como refinamiento sucesivo o
gradual, para la configuracin de la estructura del software que
se precisa disear y luego construr.
Refinamiento
Gradual

Abstraccin
Mdulo A

Modularidad

A1

A2

Factorizacin

Factores de Calidad
Acoplamiento
Corresponde al grado de independencia entre dos mdulos. Entendido
as,

minimizar

el

acoplamiento

aparece

entonces

como

una

determinante prioritaria al configurar las conformaciones estructurales.


La obtencin de mdulos tan independientes como sea posible,se
puede ser lograda principalmente de tres maneras:
Eliminando relaciones innecesarias.
Reduciendo el nmero de relaciones necesarias.
Debilitando la dependencia de las relaciones necesarias.

Factores de Calidad

Cohesin

Corresponde a la medida de relacin funcional de los elementos de un


mdulo, Los elementos de un mdulo corresponden a instrucciones,
definiciones de datos, o llamadas o otros mdulos. La idea es
organizar estos elementos de tal manera que tengan una mayor
relacin entre ellos a la hora de realizar la tarea especfica del mdulo

Factores de Calidad
Acoplamiento

Cohesin

Principios de un
Buen Diseo

Tipos de Acoplamiento
1. Acoplamiento Normal
2. Acoplamiento por Datos
3. Acoplamiento por Estampado o Imagen
4. Acoplamiento de Control
5. Acoplamiento Comn
6. Acoplamiento por Contenido

Tipos de Acoplamiento
Mejor Acoplamiento
NORMAL
DATOS
ESTAMPADO
CONTROL
EXTERNO (caso especial de COMN)
COMN
CONTENIDO
Grado de
Acoplamiento

Tipos de Acoplamiento
1.Acoplamiento Normal
Dos Mdulo A y B estn Normalmente Acoplados si:

Un Mdulo A llama a otro B

B retorna el control a A
No se produce traspaso de parmetros entre ellos, slo existe la
llamada de uno a otro.
A

Tipos de Acoplamiento
2. Acoplamiento por Datos

Obtener
Datos
Cliente

Dos mdulos estn acoplados por


datos si ellos se comunican por
parmetros, siendo cada parmetro
una unidad elemental de datos
El

acoplamiento

por

datos

corresponde a la comunicacin de
datos necesaria entre mdulos. Toda
vez que los mdulos tienen que
comunicarse entre s,

la ligazn por

datos es inevitable y sern adecuadas


si se mantienen a niveles mnimos.

Rut_cliente

Leer Rut

Tipos de Acoplamiento
3. Acoplamiento por Estampado
Calcular
Deuda
Cliente

o Imagen
Dos
acoplados

mdulos
por

aparecen

estampado

ligados por imagen si ellos se

Cliente

refieren a la misma estructura


datos local. Cabe destacar que

Leer Cliente

por estructura de datos se debe


entender un grupo compuesto
de datos, tal como un registro,
el

cual,

por

su

parte,

constituye de varios campos.

se
Cliente= rut+nombres+apellido_paterno+
Apellido_materno+direccin+fono+e_mail

Tipos de Acoplamiento
4. Acoplamiento de Control
Dos mdulos estn acoplados

Obtener
Datos
Cliente

por control cuando uno de ellos


pasa al otro mdulo elementos

Tipo_dato

Cliente

de control (flags, switchs) como


argumentos.
Provoca

Leer Cliente
dependencia

de

ejecucin entre un mdulo y


otro.
No es muy recomendable.

Tipos de Acoplamiento
5. Acoplamiento Comn
Los

mdulos

presentan

Actualizar
Stock
Video

Obtener
Nombre
Video

acoplamiento comn, si ellos


se refieren a la misma rea
estructura de datos (global).
Cuando slo se acomplan por

video

una variable (global), se trata


de un Acoplamiento Externo
Programas con muchos datos globales son
extremadamente difciles de entender por
los programadores de mantencin, porque
no es fcil saber cules son los datos
usados por un cierto mdulo.

Leer Registro
Video

Tipos de Acoplamiento
6. Acoplamiento por Contenido
Este es un tipo de Acoplamiento
Inaceptable.
acoplamiento

Dos mdulos presentan


de

contenido

(o

patolgico) si uno hace referencia al


interior del otro. Esto ocurre si por

..
Srch: Move..
..
.
.

..

..
Jump to Srch
.

ejemplo, en un mdulo se desva la


secuencia de instrucciones al interior
de otro o si un mdulo altera un

Tal acoplamiento torna el concepto de

comando de otro.

mdulos configurados bajo el criterio de la


caja negra sin sentido, ya que fuerza a un
mdulo a conocer explcitamente los
contenidos y la implementacin de otro.

Tipos de Acoplamiento
Dos mdulos pueden estar relacionados por ms de un tipo de
acoplamiento. Si esto ocurre, el acoplamiento que caracteriza la relacin
entre ellos queda definido por el peor tipo que presenten. Por ejemplo, si
dos mdulos estn ligados por acoplamiento de imagen y acoplamiento
comn a la vez, se dir que los mdulos estn ligados por acoplamiento
comn.

Enfoques: Cmo Analizar el Tipo de


Acoplamiento?
Imaginar el Mdulo como una Biblioteca
Cada Mdulo es codificado por un programador diferente

Tipos de Cohesin
Mayor Cohesin
FUNCIONAL

Mdulo como
Caja Negra

SECUENCIAL
COMUNICACIONAL
PROCEDURAL
TEMPORAL

Mdulo
Transparente

LGICA
COINCIDENTAL
Grado de
Cohesin

STEVEN, MYERS, CONSTANTINE y YOURDON (1974)


establecieron "una escala de cohesin"

Tipos de Cohesin
1. Cohesin Funcional

Ejemplos

Se puede decir que un


mdulo

con

cohesin

funcional

es

aquel

que

contiene

elementos

que

contribuyen a la ejecucin
de una y slo una tarea
relacionada

al

objeto de diseo,.

problema

Calcular el coseno de un ngulo


Calcular el I.V.A. De una factura
Verificar el dgito de un RUT

Tipos de Cohesin
2. Cohesin Secuencial
Un

mdulo

cohesionado

Ejemplo: Calcular Salario

secuencialmente
es

aquel

cuyos

1. Obtener sueldo base


2. Verificar nmero de cargas

elementos estn envueltos en

3. Revisar das con permiso

actividades tales que los datos

4. Revisar das con licencia

de salida de una actividad sirven

5. Calcular horas de trabajo

como datos de entrada para la

6. Descontar horas de atraso

prxima actividad.

7. Agregar horas extras


....

Tipos de Cohesin
3. Cohesin Comunicacional

Ejemplo:

Obtener

datos

Un mdulo presenta cohesin

Video

comunicacional

1. Obtener nombre video

elementos

cuando

contribuyen

sus
a

2. Obtener stock video

actividades que usan la misma

3. Obtener ubicacin

entrada o la misma salida. No

4. Obtener precio

importa el orden secuencial

....

Tipos de Cohesin
4. Cohesin Procedimental
un mdulo cohesionado por

Ejemplos:

procedimientos es aquel cuyos

una oficina

elementos estn envueltos en


actividades

diferentes

Actividades

1. Hablar por telfono


2. Tomar un caf

posiblemente no relacionadas,

3. Leer correo electrnico

en donde el control fluye de

4. Solicitar cotizacin

una actividad a otra.

....

en

Tipos de Cohesin
5. Cohesin Temporal
Ejemplo:
Un mdulo con cohesin
temporal

es

aquel

cuyos

elementos estn envueltos en


actividades

que

estn

relacionadas en funcin del


momento en que se realizan.

Actividades

iniciar el da
1. Apagar despertador
2. Tomar una ducha
3. Vestirse
4. Hacer la cama
5. Tomar desayuno
....

al

Tipos de Cohesin
6. Cohesin Lgica
Un mdulo tiene cohesin
lgica,

cuando existe alguna

relacin entre los elementos


del mdulo,

contribuyendo al

desarrollo de actividades de
una misma categora general,
donde

la

actividad

las

actividades a ser ejecutadas se


seleccionan desde fuera del
mdulo.

Ejemplo: Registrar Pago


1. Registrar pago con tarjeta de
crdito
2. Registrar pago con cheque
3. Registrar pago con efectivo
....

Tipos de Cohesin
7. Cohesin Coincidental
Un mdulo coincidentemente

Ejemplo:
1. Comprar un libro

cohesionado es aquel cuyos

2. Comer un trozo de torta

elementos

3. Ir al teatro

actividades

desarrollan
sin

significativa entre s.

relacin

4. Lavar la ropa
5. Dormir
....

rbol de Cohesin

Consideraciones Importantes
para un Diseo de Calidad
La factorizacin consiste en separar la funcionalidad de un mdulo, en
subfunciones claramente identificables, en trminos tales que sea posible
considerarla como constitutiva de un mdulo independiente.
1. La necesidad de reducir el tamao de un mdulo.
2. Obtener las ventajas de la modularizacin mediante un diseo
"top_down". => Sistema ms comprensible el sistema y facilitamiento de
cambios
3. Evitar que una misma funcin aparezca en diferentes partes del
sistema, es decir, en ms de un mdulo.
4. Proveer mdulos de uso general.
5. Simplificar la implementacin.

Reducir el Tamao de un
Mdulo
1. De Marco seala,
un tamao razonable para un mdulo
corresponde a un conjunto de lneas de cdigo de alrededor de
media pgina de listado (30 lneas ms o menos),
2. PageJones, seala que toda la codificacin de un mdulo
debera, idealmente, ser visible en una pgina de listado (una
exigencia que impone un lmite no superior a 60 lneas)
3. Geral Weinberg (WEI72) muestran que la habilidad del hombre
para entender un mdulo y encontrar errores depende de la
capacidad de aprehender el mdulo como un todo de una sola vez.

Resultados del Diseo


El proceso de diseo debe lograr la determinacin de las directrizes
en virtud de las cuales el producto de software ha de construirse,
tomando como base la especificacin de requerimientos generada en
la fase de anlisis. As, entonces, el diseo, en cuanto proceso, debe
dar como resultado:
el Diseo de la Arquitectura del producto de software a construir.
la Especificacin de los Procedimientos del software a construir.
el Diseo de los Datos involucrados
el Diseo de la Interfaz de usuario

Diseo Arquitectnico

Diccionario de Datos

Clave_votante_vlida: Flag que indica que


la combinacin ingresada por el cliente es
vlida, y puede llevar a emitir su voto.

Especificacin de procesos
Interfaz

Nombre : REGISTRAR DATOS ACTUALIZACIN


Entradas : Datos_actualizacin
Salidas :Datos_actualizacin,
datos_actualizacin_registrados.
Procedimiento:
Recibir Datos_actualizacin.
Abrir archivo INFORMACIN MUNICIPAL.
Pseudocdigo
Escribir en archivo los Datos_actualizacin.
Cerrar archivo INFORMACIN MUNICIPAL.
Mandar mensaje indicando Datos_actualizacin_registrados.

Diseo de Datos

Diseo de Datos
Votante
Clave_Vot A10
Rut_Vot
A10
Nom_Vot
A30

Voto
Id_Voto A10

Detalle_Voto
Id_Voto
A10
Id_Partido A30

Servicio
Cod_Serv
N5
Descrip_Serv A30

Candidato
Id_Partido
Nom_Cand
Municipalidad
Id_Orga
A10
Nom_Orga A30
Servcio
A30
Direccin
A30
Fono
N10
Comuna
A20

A30
A30

Diseo de Interfaz

Elementos del Diagrama de


Estructura
Obtener
Nombre
Video

Leer Registro
Video

Mdulo

Mdulo
Predeterminado

MDULOJEFE
(INVOCADOR)

MDULOSUBORDINADO
(INVOCADO)

Elementos del Diagrama


de Obtener
Estructura
Datos
Cliente
Tipo_dato

Flujo de Control

Flujo de Dato

Cliente

Leer Cliente

Un dispositivo fsico es cualquier dispositivo


mediante el cual se puede recibir o enviar datos
necesarios para el sistema

Un almacn de datos corresponde a la instancia real


en la cual van a estar los datos que precisa el sistema

Elementos del Diagrama de


Estructura
Conectores

Elementos del Diagrama de


Estructura
Secuencia

Iteracin

Elementos del Diagrama de


Estructura
Seleccin

Profundidad y Ancho de un
Diagrama de Estructura
Profundidad y ancho
proporcionan una idea del
nmero de niveles de control
y el mbito global de control
respectivamente.
El grado de salida es una
medida del nmero de
mdulos que son controlados
directamente por otro
mdulo.
El grado de entrada indica
cuntos mdulos controlan
directamente un mdulo
dado.

Estrategia de Diseo para


Construir Diagrama de Estructura
Diseo Centrado en
Transformaciones
DFD

Diseo Centrado en
Transacciones

Anlisis

Diseo

Diagrama de
Estructura

Estrategia de Diseo
Diseo Centrado en
Transformaciones

1.1

1.2
3

Los datos entran al sistema


mediante caminos que se llaman
flujos de entrada
En el ncleo ocurre la
transformacin de los datos, que
entraron anteriormente
Finalmente los datos se mueven
por caminos llamados flujos de
salida

4.1
2.1

2.2
4.2

Flujo de Llegada
Flujo de
Centro
Salida
de
Transformacin

Estrategia de Diseo
Diseo Centrado en
Camino de
Accin 1

Transacciones
2.1

Se presenta un centro de

2.2

transaccin, como centro de


flujo de informacin
Desde el centro de flujo de
Informacin, surgen muchos
caminos de accin alternativos
Los caminos de accin
alternativos, son de forma
excluyentes

1
Centro
de
Transaccin

3.1

3.2

4.1

4.2

Camino de
Accin 2

Camino de
Accin 3

Estrategia de Diseo:
Transformacin
1. Revisin del Modelo Fundamental del sistema
DFD, mnimo tres niveles
2. Determinar si el DFD tiene caractersticas de Transformacin o
Transaccin
Analizar el centro de transformacin propiamente tal
3. Aislar el centro de Transformacin, especificando los lmites del
flujo de llegada y de salida
Delimitar el centro de transformacin (depende del
diseador)
4. Realizar el primer corte del diagrama de estructura
Primer nivel de factorizacin, se incorporan mdulos
coordinadores

Estrategia de Diseo:
Transformacin
Mdulos a incorporar
1.1

Mdulo principal Cp, que


controla

el

resto

de

los

mdulos
Mdulo

2.1
coordinador

de

1.2

la

Informacin de Entrada, Ce

4.1

2.2

Centro
4.2
de
Flujo de Llegada
Transformacin Flujo de
Salida

Mdulo controlador del centro


de

transformacin,

que

supervisa las operaciones de

Diagrama de
Contexto

Cp

los datos, Ct
Mdulo

controlador,

procesamiento

de

del
la

Ce

Ct

informacin de salida, Cs
Nombres representativos

Cs

Estrategia de Diseo:
Transformacin
5. Ejecucin del segundo nivel de factorizacin
a

1.1

1.2
3

2.1

4.1

2.2

Centro
4.2
de
Flujo de Llegada
Transformacin Flujo de
Salida

Cp
z
Ce
1.2

2.2

1.1

2.1

Leer a

Leer b

Ct
3

Cs
4.1
4.2

Escribir
z

Estrategia de Diseo:
Transformacin
6. Refinar la estructura obtenida, utilizando las guas, principios y
conceptos, para un diseo de calidad
Aumentar o Disminuir el N de mdulos (ejemplo Ct)
Incorporar flujos de datos (DFD) y de control
7. Asegurarse del trabajo realizado, representado en el diseo
construido
Verificar funcioanalidad, orden de mdulos, etc.

Estrategia de Diseo:
Transaccin
1. Revisin del Modelo Fundamental del sistema
DFD, mnimo tres niveles
2. Determinar si el DFD tiene caractersticas de Transformacin o
Transaccin
Analizar el centro de transaccin propiamente tal
3. Aislar el centro de Transaccin, especificando los lmites del flujo
de llegada y de salida
El centro de transaccin se encuentra ligado al origen de
varios caminos de informacin que fluyen radialmente de l
4. Realizar el primer corte del diagrama de estructura
Primer nivel de factorizacin, se incorporan mdulos
coordinadores

Estrategia de Diseo:

Transaccin
Mdulos a incorporar
Mdulo principal Cp, que
controla

el

resto

de

los

a
A

mdulos
Mdulo

z
coordinador

de

la

Informacin de Entrada, Ce

Mdulo gestor del centro de


Cp

transaccin, D
Mdulo

controlador,

los

distintos caminos que generan

Ce

informacin de salida,
Ci

i =1n (n: n caminos)


C1

C2

C3

Estrategia de Diseo:

Transaccin

5. Ejecucin del segundo nivel de factorizacin


Camino 1
Cp

a
A

Camino 2

Ce
P
b

z
a

Camino 3

C1

C2

C3

Leer a
P

Leer b

R
Escribir
z

Estrategia de Diseo:

Transaccin

6. Refinar la estructura obtenida, utilizando las guas, principios y


conceptos, para un diseo de calidad
Aumentar o Disminuir el N de mdulos
Incorporar flujos de datos (DFD) y de control
7. Asegurarse del trabajo realizado, representado en el diseo
construido
Verificar funcionalidad, orden de mdulos, etc.

Diseo Procedimental (Diseo


Detallado
Especificacin Interfaz-Funcin
Especificacin Mediante las
Miniespecificaciones del Anlisis
Especificacin por Pseudocdigo

Diseo Detallado
1. Especificacin por interfaz-funcin
Permite definir un mdulo sin entrar en excesivos detalles. La interfaz del
mdulo contiene los parmetros de entrada y de salida, mientras la funcin
del mdulo describe las tareas que este lleva a cabo. Se permite el uso de
tablas, frmulas, lenguaje natural, etc. Permite variar el grado de
formalismo en la definicin del mdulo, generalmente, dando bastante
libertad a los programadores. Su inclusin como comentario en el cdigo
final facilita el mantenimiento.

Ejemplo:

Mdulo: SELECCIONAR ASIENTO DE PASAJERO


Entrada: PREFERENCIA_ASIENTO_PONDERADA
Salidas: ASIENTO_SELECCIONADO, PREFERENCIA_DISPONIBLE
Funcin: Seleccionar un asiento para un pasajero considerando que sus
preferencias de ubicacin sean lo ms cercanas (ponderadamente) al asiento
elegido.

Diseo Detallado
2. Especificacin Mediante las Miniespecificaciones del Anlisis
Este mtodo

considera que las miniespecificaciones

generadas durante la fase de anlisis sirven tambin


como

especificacin

de

mdulos.

Se

considera,

en

general, que la especificacin de cada burbuja del


diagrama

de

especificar

flujo

de

datos

es

suficiente

para

lo que en la fase siguiente al diseo se

debe construir. La gran limitacin de este mtodo es


que no siempre existe una correspondencia uno a uno
entre las burbujas, explicitadas como necesarias de
automatizar en la fase de anlisis, y los mdulos del
diagrama de estructura.

Mdulo: SELECCIONAR ASIENTO DE PASAJERO


Entrada: PREFERENCIA_ASIENTO_PONDERADA
Salidas: ASIENTO_SELECCIONADO, PREFERENCIA_DISPONIBLE
Funcin: Seleccionar un asiento para un pasajero considerando que sus
preferencias deubicacin sean lo ms cercanas (ponderadamente) al asiento
elegido.
Detalles de Funcionalidad
Buscar asiento disponible comenzando con la clase solicitada y continuando
con clases inferiores.
Anotar para cada asiento la diferencia respecto a la preferencia del cliente.
Seleccionar el asiento con menor diferencia: este ser el AsientoSeleccionado.
(Diferencia=Dif-Fumador*PESO_FUMADOR+ ...)
Si el cliente necesita un asiento no fumador (y Peso-Fumador > 1) y ha sido
seleccionado un asiento fumador, intentar mover en una fila atrs la seccin de
no fumadores en la clase del cliente (si es posible).
Si la diferencia entre el asiento preferido y el asiento seleccionado es 0,
realizar la asignacin PREFERENCIA-DISPONIBLE=Y; de lo contrario
asgnele N.

Diseo Detallado
2. Especificacin por pseudocdigo
Pseudocdigo es un lenguaje informal similar al lenguaje estructurado, el
cual es ms preciso y detallado que la especificacin por interfaz-funcin.
Tiene sintaxis fija para constructores, declaracin de datos y mdulos, y
sintaxis libre para describir caractersticas de procesamiento

S-ar putea să vă placă și