Professional Documents
Culture Documents
Gustavo A. Donoso M.
Diseo de Software
Gustavo A. Donoso M.
Capitulo 2: Datos, Procesos e Interfaces.
Objetivos
Introduccin
Como ha visto nuestro aprendiz de samurai, los conceptos de
software y diseo tienen mltiples dimensiones. Pero dado que el
camino es corto y duro, entonces la exploracin de esas mltiples
dimensiones debe ser priorizada.
As Zatoichi lleva a Musashi hacia un pequeo bosque de arces en
otoo. Sealndole el rbol ms hermoso del conjunto, le explica:
-Musashi, hemos estado juntos por un tiempo y veo que has
progresado. Dice Zatoichi. Y contina. El camino nos ha
permitido conversar de los conceptos fundamentales y de los
superficiales.
-Musashi bosteza.
-Pero, as como la vida, tenemos que optar, ya que no
alcanzaremos a beber todo lo que nos gustara.
Zatoichi comienza, a partir de la metfora del rbol, a explicarle a
Musashi los conceptos fundamentales sobre lo cual todo est
construido. Musashi duerme.
Software: Datos
El software es un sistema que transforma datos en ms datos. Es
decir los datos, quiranlo o no, es uno de los componentes del
software. Como componente entonces est afecto a diseo.
Del mismo modo, desde la teora de bases de datos, se ha visto que
existen tres tipos de estos: los de entrada, de salida y de operacin.
Los datos de entrada son los que entran al software, los de operacin
son aquellos que se almacenan en algn repositorio del software y,
los de salida son aquellos que salen producto de la transformacin
que el software realiza.
Captulo2.Datos,ProcesoseInterfacesPgina1de13
Diseo de Software
Gustavo A. Donoso M.
Captulo2.Datos,ProcesoseInterfacesPgina2de13
Diseo de Software
Estructura
Tabla
Gustavo A. Donoso M.
Relacin
Pertenencia
Descripcin
Representa la relacin de pertenencia
de los elementos a un conjunto. No es
posible distinguir ninguna relacin
adicional entre los elementos del
conjunto.
Lista Lineal
Orden Lineal Representa la relacin de orden lineal
entre los datos de un conjunto de
modo que se puede distinguir
relaciones como antes que, despus
que, etc. Entre los elementos del
conjunto. Fila y Pila son casos
particulares de listas lineales, entre
otros casos.
rbol
Jerarqua.
Representa la relacin de jerarqua
que existe entre los elementos de un
conjunto, especficamente son
relaciones 1 a n las que pueden ser
representadas por rboles
Grafo
Relaciones
Cuando los elementos de un conjunto
nam
se relacionan sin orden se usa un
grafo.
Tabla No. 1: Estructura de Datos y Relaciones
Del mismo modo, una base de datos relacional permite el
almacenamiento de datos desde una estructura dada: la relacin.
La relacin corresponde a una estructura de datos de tabla que,
gracias a que, se puede relacionar con otras mediante el uso de
claves ha permitido la potencialidad de representacin de datos que
tienen los sistemas de relacionales.
Entonces, con ello, se ha creado o establecido una solucin estndar
para el almacenamiento de datos y, nuevamente, nosotros slo
tenemos injerencia en los detalles (una base de datos relacional es
una restriccin ms o menos fuerte del espacio de solucin). Veamos
por qu:
Por ejemplo, si se va a solucionar el problema de: A. No tengo
facturacin automatizada B: Tengo facturacin automatizada.
Entonces la estructura o forma que tendrn los datos del problema en
la base de datos est determinada por los conjuntos de objetos que
se identifiquen en el entorno y mediada por la estructura disponible
de la base de datos.
Captulo2.Datos,ProcesoseInterfacesPgina3de13
Diseo de Software
Gustavo A. Donoso M.
FormaPago
Cliente
Rut
RaznSocial
Direccin
Giro
Descuento(%)
CrditoMximo
(1,n)
(1,n)
(1,1)
Cdigo
Descripcin
(1,n)
Venta
Descuento
(1,1)
Factura
(1,n)
Nmero
FechaEmisin
Detalle
Cantidad
(1,n)
UnidadMedida
Cdigo
Descripcin
Productos
Cdigo
Descripcin
StockActual
StockMnimo
PrecioUnitario
(0,n)
(1,1)
Captulo2.Datos,ProcesoseInterfacesPgina4de13
Diseo de Software
Gustavo A. Donoso M.
Por otra parte Chen el ao 1978 inventa MER y con ello el diseo de
bases de datos da un salto hacia la incorporacin de un proceso ms
eficiente y efectivo.
Finalmente el proceso de diseo de una base de datos comienza con
un modelado muy efectivo. En la medida que se va haciendo el
levantamiento de las condiciones del problema, el modelador va
identificando las entidades, relaciones y atributos disponibles. Con
ello, luego de varios refinamientos, logra un modelo desde la
perspectiva del problema que, curiosamente, puede ser utilizado
como base muy cercana al modelo de datos del sistema, es decir,
desde la perspectiva de la solucin.
As, independiente que existan alternativas de almacenamiento de
datos, normalmente son los mismos datos los que determinan o
tienen en su esencia las bases del diseo de almacenamiento. Como
se vio con las estructuras de datos.
Del mismo modo las soluciones de almacenamiento, en este caso las
bases de datos, imponen sus condiciones al buen diseo. En forma
similar a la programacin orientada a objetos, el mayor esfuerzo est
del lado del mal diseo.
Criterios de Diseo de Datos
Para el diseo de datos el principal criterio que se considerar
entonces es de la calidad de la representacin que se hace de los
datos de un problema.
Ahora a aquel se debera agregar el criterio de disminuir la
redundancia considerando la perspectiva que impone el
almacenamiento de los mismos en las bases de datos, lo que a ayuda
a su integridad y consistencia.
Lenguajes de especificacin de diseo de datos
Existen a la base dos lenguajes para hacer especificacin de datos. El
lenguaje grfico propuesto por Chen y conocido como Modelo Entidad
Relacin (MER) y sus extensiones (MEREx) y, por otra parte, el
modelo relacional propuesto por Codd.
Lo ms usado es un hibrido de ambos, algo que podemos llamar
modelo relacional grfico y un ejemplo clsico de aquellos son los
monos que usa Access y que en trminos del modelo relacional se
anota como:
SERVICIOS( idServicio, Tipo_servicio)
ACTIVIDADES( Num_Act, IdServicio, Descripcin, Fecha_sol, )
Captulo2.Datos,ProcesoseInterfacesPgina5de13
Diseo de Software
Gustavo A. Donoso M.
Actividades
(0,n)
(1,1)
Nmero de Actividad
Descripcin
Fecha de Solicitud
.
Diseo de Software
Gustavo A. Donoso M.
Diseo de Software
Gustavo A. Donoso M.
Proceso
......
Entrada/Salida
ImprimeSuma
Sumaa+b
Fin
If(c:expresinlgica)
anidacin
Si
No
Si
No
No
Si
Ifelse
No
Si
for
Switchcase
C
Caso2
Caso1
Caso3
....
...
dowhile
Si
No
ssuma(a,b)
while
No
Llamadaafuncinyfuncin
Sumax+y
Fin:Suma
Si
Inicio:Suma(x,y)
Diseo de Software
Gustavo A. Donoso M.
Registrode
Usuario
Errorde
Registro
Usuario
interface
Registrode
Usuario
control
Visitante
Loginde
Usuario
Errorde
Autentificacin
Autentificar
Usuario
ConsultaHuella
Dactilar
Sistemade
RegistrodeHuella
Dactilar
Captulo2.Datos,ProcesoseInterfacesPgina9de13
Diseo de Software
Gustavo A. Donoso M.
Diseo de Software
Gustavo A. Donoso M.
Diseo de Software
Gustavo A. Donoso M.
Etiquetadetexto
TextBoxoCuadrodetexto
CuadrodePassword
******
ComboBoxoListadesplegable
CheckBoxoCasilladeverificacin
checkbox
OptiongroupoBotnderadio
optiongroup
CommandButtonoBotn
Botn
Linkoenlacedehipertexto
Enlacedehipertexto
ListBoxoCuadrodelista
ItemN1
ItemN2
ItemN3
TextAreaoAreadetexto
Textareaocuadrode
textoconmultiples
lineasdetexto|
Imgen
Captulo2.Datos,ProcesoseInterfacesPgina12de13
Diseo de Software
Gustavo A. Donoso M.
Captulo2.Datos,ProcesoseInterfacesPgina13de13