Vous êtes sur la page 1sur 37

Tema V1:

Herramientas de Anlisis Estructurado


Diccionario de Datos

Diana Marcela Snchez Fquene


Ingeniera del Software de Gestin
ndice
 Herramientas de documentacin del
Anlisis Estructurado
Diagramas de Flujo de Datos (DFDs)
Diccionario de Datos (DD)
Diagramas de Entidad-Relacin (ER)
Diagramas de Transicin de Estado (DTEs)
Especificaciones de procesos

Ingeniera del Software de Gestin


Diccionario de Datos:
Motivacin
 Datos complejos  descomposicin
Elementos simples de datos
 Unidades y Valores vlidos
 Es preciso disponer de una referencia
 Notacin compacta y concisa para definir
el significado de cada trmino

Ingeniera del Software de Gestin


Diccionario de Datos:
Motivacin
- Marciano: Bien, qu es esto llamado nombre?
- Usuario: Pues ver, es slo eso, un nombre. Quiero decir, es con lo que nos llamamos
unos a otros.
- Marciano: Significa que se llaman de un modo cuando estn contentos y de otro cuando
estn enojados?
- Usuario: No, claro que no!. Un nombre es el mismo siempre... Un nombre de una
persona lo distingue de otras personas.
- Marciano: Ah! Ya entiendo!. Hacemos lo mismo en mi planeta. Mi nombre es
3,141592653589793238462643.
- Usuario: Pero...eso es un nmero no un nombre!.
- Marciano: Y es un muy buen nombre, me enorgullezco de l. Nadie tiene algo parecido.
- Usuario: Pero...cul es su nombre y cul su apellido? O 3 es el nombre y el resto es
apellido?
- Marciano: Qu esto de nombre y apellido? No entiendo. Tengo un solo nombre y
siempre es el mismo.
- Usuario: Pues, no funcionan as las cosas aqu. Tenemos un nombre, un apellido, y en
algunos casos un segundo nombre tambin
- Marciano: Significa eso que Ud. puede llamarse 23 45 99?
Usuario: No, no permitimos nmeros en nuestros nombres. Slo pueden usarse los
caracteres alfabticos de la A a la Z.

Ingeniera del Software de Gestin


Diccionario de Datos:
Motivacin
 Preguntas

1. Todas las personas deben tener un nombre?


2. Qu pasa con los signos de puntuacin en los apellidos?
Ejemplo: DAgostino
3. Se permiten los segundos nombres abreviados? Ejemplo:
Juan Fco.
4. Existe una longitud mnima para el nombre de una persona?
Ejemplo: Podra una persona llamarse XY?
5. Cmo se deben tratar los sufijos que a veces siguen a un
nombre? Ejemplo: Juan Prez Jr.

Se necesita una NOTACIN

Ingeniera del Software de Gestin


Diccionario de Datos
Un diccionario de datos (DD) es una lista
organizada de los datos relevantes para el
sistema que contiene definiciones precisas y
rigurosas de los datos para facilitar la
comunicacin
 El DD describe los Flujos y Almacenes de datos
de los DFD
Paquetes complejos de datos
 Flujos
 Almacenes
Valores elementales
Relaciones entre los almacenes (modelo E-R)

Ingeniera del Software de Gestin


Diccionario de Datos (DD)
Metodologa
 Sigue una aproximacin "top-down hasta obtener datos
elementales
Ejemplo
El flujo de datos A est compuesto por los flujos B y C.
B est compuesto de B1, B2 y B3, mientras que C es de C1 y
C2.
Se podra definir como:

A = B1 + B2 + B3 + C1 + C2

Pero es preferible definirlos en funcin de sus componentes


subordinados:

A=B+C
B = B1 + B2 + B3
C = C1 + C2

Ingeniera del Software de Gestin


Diccionario de Datos (DD)
Notacin
SMBOLO SIGNIFICADO
= Composicin
+ Inclusin (AND)
() Opcional
{} Iteracin
[|] Seleccin
*texto* Comentario
@ Identificador

Ingeniera del Software de Gestin


Diccionario de Datos (DD)
Notacin
 Ejemplo de uso de la notacin

nombre_completo = (ttulo_cortesa) +
nombre + (segundo_nombre) + apellido
ttulo_cortesa = [Sr. | Srta. | Sra. | Dr. ]
nombre = {carcter_legal}
segundo_nombre = {carcter_legal}
apellido = {carcter_legal}
carcter_legal = [A-Z | a-z | | | ]

Ingeniera del Software de Gestin


Diccionario de Datos (DD)
Composicin e inclusin
 El smbolo = indica
Se define como
Est compuesto de
Significa SISTEMA DE
MANTENIMIENTO
 A=B+C DE PUBLICACIONES

 Completar definicin Peticin de libro

Significado USUARIO Resguardo de


GESTIONAR
PRESTAMOS DE
LIBROS
aceptacin BIBLIOTECA
Unidades
Rango de Valores

Ejemplos
PETICIN LIBROS = CARNET BIBLIOTECA + FICHA LIBROS
PESO = *peso del paciente cuando ingres en el hospital*
*unidades=kgs; rango=1-200*

Ingeniera del Software de Gestin


Diccionario de Datos (DD)
Datos elementales
 Aquellos que no tiene sentido
descomponer
Depende del contexto
 Deben incluirse en el DD
Comentario descriptivo (prescindible  **)
Rango de valores permitidos

Ejemplo
fecha-de-nacimiento =
**
*unidades: das desde 1/1/1900; rango: 0-36500*

Ingeniera del Software de Gestin


Diccionario de Datos (DD)
Seleccin
 La seleccin de un componente (sea un
elemento o un conjunto de elementos) se
representa entre corchetes, separando cada
opcin mediante el smbolo |
 Indica una seleccin entre campos alternativos
distintos

Ejemplo
socio = nombre + domicilio + [NIF|CIF]
sexo = [Hombre | Mujer]
tipo-cliente = [Administracin | Empresa | Universidad |
Otros]

Ingeniera del Software de Gestin


Diccionario de Datos (DD)
Iteracin
 La iteracin representa la repeticin de los
elementos incluidos entre parntesis.

Ejemplo
ficha libros = {libros}  0 N ocurrencias de
libros = signatura + ttulo + autor
pedido = id-cliente + direccion-envio + {item}

 Es posible representar los lmites inferior y/o


superior sobre las ocurrencias de una estructura
repetitiva
Ejemplo
ficha libros = 1{libros}5

Ingeniera del Software de Gestin


Diccionario de Datos (DD)
Opcin
 El dato opcional indica que puede o no estar
presente
Ejemplo
direccion-cliente = (direccion-envio) + (direccion-
fiscal)
direccion-cliente = [direccion-envio | direccion-
fiscal | direccion-envio +
direccion-fiscal]
direccion-cliente = direccion-fiscal + (direccion-
envio)

Ingeniera del Software de Gestin


Diccionario de Datos
Alias
 Una forma alternativa de nombrar un elemento
de datos
 Se incluye en el DD por completitud

Ejemplo
form-pedido = *alias para formulario2556*

 Para evitar la redundancia, no se redefine el


elemento
 Debe minimizarse el uso de alias y cuando se
hace, tratar de resaltarlo  cliente*

Ingeniera del Software de Gestin


Diccionario de Datos (DD)
Definicin de almacenes
 Se definen como entidades repetitivas de datos y/o
grupos de datos
No es necesario indicar la estructura repetitiva con
llaves
 Se selecciona un Identificador para organizar la
coleccin de entradas DIAGRAMA 0: GESTIONAR BIBLIOTECA

FICHAS
PRESTAMO
PEDIDO DEVOLUCIN
1 2 LIBROS
LIBROS
GESTIONAR GESTIONAR
PEDIDOS DEVOLUCIONES

SANCIN
LIBROS
DISPONIBLES

3
ALTAS/BAJAS
LIBROS ACTUALIZAR
LIBROS

Ejemplo
LIBROS DISPONIBLES = @SIGNATURA + TITULO
+ AUTOR + NUMERO UNIDADES
* la signatura identifica cada ocurrencia del almacn *

Ingeniera del Software de Gestin


Diccionario de datos (DD)
Correccin
 Se han recogido todos los flujos?
 Se han definido todos los componentes
de los flujos compuestos?
 Se ha definido algn elemento varias
veces?
 Se ha utilizado la notacin correcta en
todos los casos?
 Hay algn elemento en el DD que no
aparece en los DFD, E-R o DTE?
Ingeniera del Software de Gestin
ndice
 Herramientas de documentacin del
Anlisis Estructurado
Diagramas de Flujo de Datos (DFDs)
Diccionario de Datos (DD)
Diagramas de Entidad-Relacin (ER)
Diagramas de Transicin de Estado (DTEs)
Especificaciones de procesos

Ingeniera del Software de Gestin


Especificaciones de Procesos (EP)
La especificacin de procesos (o tambin denominada
miniespecificacin) es una tcnica que define el
procedimiento que realiza un proceso primitivo

 Describe cmo se obtienen los flujos de datos de salida


a partir de los flujos de datos de entrada, ms una
informacin local al proceso
 Alternativas para describir este procedimiento son las
siguientes
 Lenguaje estructurado
 rboles de decisin
 Tablas de decisin
 Diagramas de accin
 Precondiciones y poscondiciones

Ingeniera del Software de Gestin


Especificaciones de Procesos (EP)
Lenguaje Estructurado
 Lenguaje
Subconjunto de palabras del idioma elegido
 construcciones propias de la programacin
estructurada
 verbos que reflejan acciones simples: LEER,
ESCRIBIR, BORRAR, ENCONTRAR, CALCULAR,
VALIDAR, etc.
Conjunto de restricciones
 Balance precisin / facilidad de
comprensin
E = V0 * T2 + * T2 Leer Datos Personales del Empleado
Ingeniera del Software de Gestin
Especificaciones de Procesos (EP)
Lenguaje Estructurado
Construcciones Permitidas
Accion 1 Leer datos-cliente
Accion 2 Buscar pedidos-cliente
Accion 3 Emitir facturas
SI condicion SI edad-cliente > 65
Acciones SET tarifa-facturacion = jubilado
SINO SINO
Acciones SET tarifa-facturacion = normal
FINSI FINSI
DO CASE DO CASE nacionalidad-cliente
CASE expresion CASE < italiano
acciones SET idioma = IT
.. ..
DEFAULT DEFAULT
acciones SET idioma = ESP
ENDCASE END CASE
WHILE condicion REPEAT
acciones acciones
ENDWHILE UNTIL condicion
Ingeniera del Software de Gestin
Especificaciones de Procesos (EP)
Lenguaje Estructurado
 Recomendaciones
1 pgina por especificacin
No ms de 3 niveles de anidamiento
 Usar otras herramientas
Formatear para aportar claridad
De cara al usuario
 Resaltar construcciones de programacin
 Referirse a la especificacin como descripcin formal
de SU poltica de negocio

Ingeniera del Software de Gestin


Especificacin de Procesos: ejemplo
 Programa que lee los datos de un
empleado de una empresa (DNI, Nombre
y Apellidos, Edad, etc.) y los almacena
como transacciones en un fichero de
informacin de empleados

Ingeniera del Software de Gestin


Especificacin de Procesos: ejemplo
Diagrama de Contexto

Ingeniera del Software de Gestin


Especificacin de Procesos: ejemplo
Diagrama de Sistema (Nivel 1)

Ingeniera del Software de Gestin


Especificacin de Procesos: ejemplo
Proceso 1: Leer Datos Empleado Especificacin del proceso 1:
Botn = Visualizar datos personales() Leer Datos Empleado
// DNI, nombre , apellidos, estado civil, direccin
IF boton = cancelar
borrar_info_pantalla()
ir a proceso 1
ELSE
leer_datos_pantalla()
boton = visualizar_datos_economicos()
// sueldo, trienio, complementos, etc.
IF boton = cancelar
borrar_info_pantalla()
ir a proceso 1
ELSE
leer_datos_pantalla()
boton = visualizar_datos_academicos()
// titulacion, cursos reealizados, etc.
IF boton =cancelar
borrar_info_pantalla()
ir a proceso 1
ELSE
leer_datos_pantalla()
ir a proceso_2
ENDIF
ENDIF
ENDIF
END Proceso

Ingeniera del Software de Gestin


Especificacin de Procesos: ejemplo
Especificacin del proceso 2: Validar Datos

Proceso 2: Validar Datos


// El proceso 1 realiza una validacin sintctica de los datos (p.e: edad valor numrico),
// mientras que el proceso 2 realiza una validacin semntica

ComprobarDatosPersonales() // comprobar direccin en Madrid, prefijo = 91

Comprobar DatosEconomicos() // no puede poner una gratificacin por destino en el extranjero si est
// destinado en el pas de origen

ComprobarDatosAcademicos() // no puede poner una titulacin acadmica que no exista

IF error_validacion
visualizar_datos_erroneos()
ELSE
ir al proceso 3
ENDIF
END Proceso 2

Ingeniera del Software de Gestin


Especificacin de Procesos: ejemplo
Especificacin del proceso 3: Construir Registro Transaccin

Proceso 3: Construir Registro Transaccin


CrearTransaccion() // poner indicativo, transformar literales en cdigos, ajustar longitudes de campos
// quitar blancos, etc.
Ir al proceso 4
END Proceso 3

Especificacin del proceso 4: Grabar Registro Transaccin

Proceso 4: Grabar Registro Transaccin


GrabarRegistro (fichero, movimientos) // Insertar el registro en el fichero de movimientos
// ordenado por indicativo y orden de llegada
END Proceso 4

Ingeniera del Software de Gestin


Ejercicio
 Un centro docente desea informatizar su gestin acadmica. El centro
tienes unos 1000 alumnos y 80 profesores e imparte estudios
universitarios. La direccin del centro desea realizar las siguientes
acciones y obtener los siguientes productos:
Dar de alta, baja o modificar los datos de un profesor
Dar de alta, baja o modificar los datos de un alumno
Dar de alta, baja o modificar los datos de una asignatura
 Adems, se desea poder obtener
listado alfabtico de profesores con las asignaturas que imparten
listado alfabtico de alumnos con las asignaturas en las que estn
matriculados
listado alfabtico de Asignaturas
relacin de alumnos por asignatura (destinada al profesor)
actas de Junio y Septiembre para cada asignatura
certificado acadmico, con notas de las asignaturas matriculadas o
certificado de estudios con todo el expediente acadmico

Ingeniera del Software de Gestin


Especificaciones de Procesos (EP):
Precondiciones y poscondiciones
 Se centra en la relacin entre las entradas y las
salidas (no en el algoritmo)
 Slo se indican:
Precondiciones: las condiciones que se tienen que
cumplir para que el proceso pueda comenzar
 Entradas que debe haber y relaciones entre ellas
 Registros de los Almacenes de datos y relaciones con ellos
Postcondiciones: las condiciones que deben cumplirse

Structured Analysis (Yourdon)


cuando el proceso ha concluido

Recuperada de: Just Enough


 Salidas y relaciones entre ellas
 Ejemplo
PRECONDICIN
Entrada elemento X

Ingeniera del Software de Gestin


Especificaciones de Procesos (EP):
Precondiciones y poscondiciones
 Describir primero las situaciones
normales
El usuario podr seleccionar el fichero a descargar, pulsando sobre la imagen de la cartula,
tras comprobar sus credenciales, se le abrir una ventana con el e-link para descargar

PRECONDICIN 1 (situacin normal)


Usuario loggeado pulsa sobre enlace vlido

POSTCONDICIN 1
Abrir pop-up con e-link
Pares pre/post-condiciones
PRECONDICION 2 (error)
Error en Precondicin 1 porque el enlace seleccionado est roto

POSTCONDICION 2
Mostrar mensaje de error y Notificar en Base de Datos

PRECONDICIN 3 (error)
Error en Precondicin 1 porque el usuario no se ha loggeado

POSTCONDICIN 3
Redirigir a la pgina de registro con mensaje en la parte superior invitando a que se registre

Ingeniera del Software de Gestin


Especificaciones de Procesos (EP):
Tablas de Decisin
 Recomendado para ciertas situaciones
Decisiones complejas
 Muchas variables con varios valores posibles
 Muestra la funcin en forma tabular o
matricial
Condiciones o Entradas
Acciones o salidas

Ingeniera del Software de Gestin


Especificaciones de Procesos (EP):
Tablas de Decisin - ejemplo
Supongamos la poltica de descuentos que realiza una empresa sobre
los pedidos de sus clientes dependiendo del volumen de compras
del ao anterior
 Si estos son clientes con ms de 5 aos de antigedad se le aplica un
descuento del 25% si el valor de los pedidos anuales es superior a
50.000 .
 Si el montante de los pedidos est entre los valores 50.000 y
30.000 el descuento efectuado ser del 15% y si no se alcanza la
cifra de 30.000 se aplicar el 10%.
 Para clientes entre 5 y 3 aos de antigedad se aplicar el 11% para
compras por valor superior a 40.000 y el 5% por valor igual o
inferior.
 Si tienen menos aos de antigedad se aplicar el 9% si el valor de
compras es superior a 40.000 .
 A los clientes clasificados como especiales se le aplicar un
descuento de 25% si el volumen de compras supera los 50.000
siendo del 20% en caso contrario.

Ingeniera del Software de Gestin


Especificaciones de Procesos (EP):
Tablas de Decisi n
Tabla de Decisin
- ejemplo
CODICIOES
S S NO NO NO NO NO NO NO
Cliente especial
S - S - - - - - -
Vol. compras > 50.000
- S - NO - - - - -
Vol. compras <= 50.000
- - - S - - - - -
50.000 >= Vol. compras >= 30.000
- - - - S - - - -
Vol. compras < 30.000
- - - - - S - S -
Vol. compras > 40.000
- - - - - - S - S
Vol. compras <= 40.000
- - S S S - - - -
Aos ant. > 5
- - - - - S S - -
5 >= Aos ant. >= 3
- - - - - - - S S
Aos ant. < 3

ACCIOES
X X
Aplicar 25 % descuento.
X
Aplicar 20% descuento.
X
Aplicar 15% descuento.
X
Aplicar 11% descuento.
X
Aplicar 10% descuento.
X
Aplicar 9% descuento.
X
Aplicar 5% descuento.
X
Sin descuento.

Ingeniera del Software de Gestin


Especificacin de Procesos (EP)
rboles de Decisin
Un modelo de una funcin discreta en la que se
determina el valor de una variable y en funcin de
ese valor se lleva a cabo una accin

 Representacin en forma de rbol


Valores de las variables
Acciones tomadas para cada valor
Orden en que se realiza la decisin

Ingeniera del Software de Gestin


Especificacin de Procesos (EP)
rboles de Decisin - Ejemplo
VOLUME
CLIETE DE COMPRAS rbol de Decisin
ESPECIAL
> 50.000
S Aplicar 25% descuento

<= 50.000 Aplicar 20% descuento

VOLUME DE COMPRAS

> 50.000
AOS ATIGEDAD Aplicar 25% descuento
>5 <= 50.000 y >= 30.000
Aplicar 15 % descuento

< 30.000
Aplicar 10 % descuento
> 40.000
No <= 5 y >= 3 Aplicar 11% descuento
<= 40.000
Aplicar 5% descuento

> 40.000
<3 Aplicar 9% descuento

<= 40.000 Sin descuento

Ingeniera del Software de Gestin


Especificacin de Procesos
Otras herramientas
 Diagramas de transicin de Estados

Recuperada de: Just Enough


Structured Analysis (Yourdon)
 Grficos

Recuperada de: Just Enough


Structured Analysis (Yourdon)

Ingeniera del Software de Gestin