Upload
dinhdien
View
217
Download
0
Embed Size (px)
Citation preview
Tema V1: Tema V1: Herramientas de AnHerramientas de Anáálisis Estructuradolisis Estructurado
Diccionario de DatosDiccionario de Datos
Diana Marcela SDiana Marcela Sáánchez Fnchez FúúquenequeneIngeniería del Software de Gestión
ÍÍndicendice
� Herramientas de documentación del
Análisis Estructurado
◦ Diagramas de Flujo de Datos (DFDs)
◦ Diccionario de Datos (DD)◦ Diagramas de Entidad-Relación (ER)
◦ Diagramas de Transición de Estado (DTEs)
◦ Especificaciones de procesos
Ingeniería del Software de Gestión
Diccionario de Datos:Diccionario de Datos:
MotivaciMotivacióónn� Datos complejos � descomposición◦ Elementos simples de datos� Unidades y Valores válidos
� Es preciso disponer de una referencia� Notación compacta y concisa para definir
el significado de cada término
Ingeniería del Software de Gestión
- Marciano: “Bien, ¿qué es esto llamado nombre?”- Usuario: “Pues verá, es sólo eso, un nombre. Quiero decir, es con lo que nos llamamos
unos a otros.”- Marciano: “¿Significa que se llaman de un modo cuando están contentos y de otro cuando
están 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 número no un nombre!”.- Marciano: “Y es un muy buen nombre, me enorgullezco de él. Nadie tiene algo parecido.”- Usuario: “Pero...¿cuál es su nombre y cuál 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 también”- Marciano: “¿Significa eso que Ud. puede llamarse 23 45 99?”Usuario: “No, no permitimos números en nuestros nombres. Sólo pueden usarse los
caracteres alfabéticos de la A a la Z”.
Ingeniería del Software de Gestión
Diccionario de Datos:Diccionario de Datos:
MotivaciMotivacióónn
� Preguntas
1. ¿Todas las personas deben tener un nombre?
2. ¿Qué pasa con los signos de puntuación en los apellidos? Ejemplo: D´Agostino
3. ¿Se permiten los segundos nombres abreviados? Ejemplo: Juan Fco.
4. ¿Existe una longitud mínima para el nombre de una persona? Ejemplo: ¿Podría una persona llamarse XY?
5. ¿Cómo se deben tratar los sufijos que a veces siguen a un nombre? Ejemplo: Juan Pérez Jr.
Se necesita una NOTACIÓN
Ingeniería del Software de Gestión
Diccionario de Datos:Diccionario de Datos:
MotivaciMotivacióónn
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 comunicación
� 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)
Ingeniería del Software de Gestión
Diccionario de DatosDiccionario de Datos
Diccionario de Datos (DD)Diccionario de Datos (DD)
MetodologMetodologííaa� Sigue una aproximación "top-down“ hasta obtener datos
elementalesEjemplo
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 podría definir como:
A = B1 + B2 + B3 + C1 + C2
Pero es preferible definirlos en función de sus componentes subordinados:
A = B + CB = B1 + B2 + B3C = C1 + C2
Ingeniería del Software de Gestión
Diccionario de Datos (DD)Diccionario de Datos (DD)
NotaciNotacióónn
Ingeniería del Software de Gestión
SÍMBOLO SIGNIFICADO
= Composición
+ Inclusión (AND)
( ) Opcional
{ } Iteración
[ | ] Selección
*texto* Comentario
@ Identificador
Diccionario de Datos (DD)Diccionario de Datos (DD)
NotaciNotacióónn� Ejemplo de uso de la notación
◦ nombre_completo = (título_cortesía) +nombre + (segundo_nombre) + apellido
◦ título_cortesía = [Sr. | Srta. | Sra. | Dr. ]◦ nombre = {carácter_legal}◦ segundo_nombre = {carácter_legal}◦ apellido = {carácter_legal}◦ carácter_legal = [A-Z | a-z | ´ | | ]
Ingeniería del Software de Gestión
Diccionario de Datos (DD)Diccionario de Datos (DD)
ComposiciComposicióón e inclusin e inclusióónn� El símbolo “=” indica
◦ Se define como◦ Está compuesto de◦ Significa
� A = B + C� Completar definición
◦ Significado◦ Unidades◦ Rango de Valores
EjemplosPETICIÓN LIBROS = CARNET BIBLIOTECA + FICHA LIBROS
PESO = *peso del paciente cuando ingresó en el hospital**unidades=kgs; rango=1-200*
Ingeniería del Software de Gestión
GESTIONAR PRESTAMOS DE
BIBLIOTECAUSUARIO
Petición de libro
SISTEMA DEMANTENIMIENTO
DE PUBLICACIONES
LIBROSResguardo de
aceptación
GESTIONAR PRESTAMOS DE
BIBLIOTECAUSUARIO
Petición de libro
SISTEMA DEMANTENIMIENTO
DE PUBLICACIONES
LIBROSLIBROSResguardo de
aceptación
Diccionario de Datos (DD)Diccionario de Datos (DD)
Datos elementalesDatos elementales� Aquellos que no tiene sentido
descomponer ◦ Depende del contexto
� Deben incluirse en el DD◦ Comentario descriptivo (prescindible � **)◦ Rango de valores permitidos
Ejemplofecha-de-nacimiento = ***unidades: días desde 1/1/1900; rango: 0-36500*
Ingeniería del Software de Gestión
Diccionario de Datos (DD)Diccionario de Datos (DD)
SelecciSeleccióónn� La selección de un componente (sea un
elemento o un conjunto de elementos) se representa entre corchetes, separando cada opción mediante el símbolo “ | ”
� Indica una selección entre campos alternativos distintos
Ejemplosocio = nombre + domicilio + [NIF|CIF]sexo = [Hombre | Mujer]tipo-cliente = [Administración | Empresa | Universidad |
Otros]
Ingeniería del Software de Gestión
Diccionario de Datos (DD)Diccionario de Datos (DD)
IteraciIteracióónn� La iteración representa la repetición de los
elementos incluidos entre paréntesis.
Ejemploficha libros = {libros} � 0 ó N ocurrencias de …libros = signatura + título + autorpedido = id-cliente + direccion-envio + {item}
� Es posible representar los límites inferior y/o superior sobre las ocurrencias de una estructura repetitiva
Ejemploficha libros = 1{libros}5
Ingeniería del Software de Gestión
Diccionario de Datos (DD)Diccionario de Datos (DD)
OpciOpcióónn� 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)
Ingeniería del Software de Gestión
Diccionario de DatosDiccionario de Datos
AliasAlias� Una forma alternativa de nombrar un elemento
de datos� Se incluye en el DD por completitud
Ejemploform-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*
Ingeniería del Software de Gestión
Diccionario de Datos (DD)Diccionario de Datos (DD)
DefiniciDefinicióón de almacenesn 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
colección de entradas
EjemploLIBROS DISPONIBLES = @SIGNATURA + TITULO
+ AUTOR + NUMERO UNIDADES * la signatura identifica cada ocurrencia del almacén *
Ingeniería del Software de Gestión
DIAGRAMA 0: GESTIONAR BIBLIOTECA
1
SANCIÓN
PEDIDOLIBROS
DEVOLUCIÓNLIBROS
ALTAS/BAJASLIBROS
2
3
FICHASPRESTAMO
LIBROSDISPONIBLES
GESTIONARPEDIDOS
GESTIONARDEVOLUCIONES
ACTUALIZARLIBROS
DIAGRAMA 0: GESTIONAR BIBLIOTECA
1
SANCIÓN
PEDIDOLIBROS
DEVOLUCIÓNLIBROS
ALTAS/BAJASLIBROS
2
3
FICHASPRESTAMO
LIBROSDISPONIBLES
GESTIONARPEDIDOS
GESTIONARDEVOLUCIONES
ACTUALIZARLIBROS
Diccionario de datos (DD)Diccionario de datos (DD)
CorrecciCorreccióónn� Se han recogido todos los flujos?
� Se han definido todos los componentes de los flujos compuestos?
� Se ha definido algún elemento varias veces?
� Se ha utilizado la notación correcta en todos los casos?
� Hay algún elemento en el DD que no aparece en los DFD, E-R o DTE?
Ingeniería del Software de Gestión
ÍÍndicendice
� Herramientas de documentación del
Análisis Estructurado
◦ Diagramas de Flujo de Datos (DFDs)
◦ Diccionario de Datos (DD)
◦ Diagramas de Entidad-Relación (ER)
◦ Diagramas de Transición de Estado (DTEs)
◦ Especificaciones de procesos
Ingeniería del Software de Gestión
Especificaciones de Procesos (EP)Especificaciones de Procesos (EP)La especificación de procesos (o también denominada
miniespecificación) es una técnica que define el procedimiento que realiza un proceso primitivo
� Describe cómo se obtienen los flujos de datos de salida a partir de los flujos de datos de entrada, más una información local al proceso
� Alternativas para describir este procedimiento son las siguientes
� Lenguaje estructurado� Árboles de decisión� Tablas de decisión� Diagramas de acción� Precondiciones y poscondiciones
Ingeniería del Software de Gestión
Especificaciones de Procesos (EP)Especificaciones de Procesos (EP)
Lenguaje EstructuradoLenguaje Estructurado
� Lenguaje
◦ Subconjunto de palabras del idioma elegido� construcciones propias de la programación
estructurada
� verbos que reflejan acciones simples: LEER, ESCRIBIR, BORRAR, ENCONTRAR, CALCULAR, VALIDAR, etc.
◦ Conjunto de restricciones
� Balance precisión / facilidad de comprensión
Ingeniería del Software de Gestión
E = V0 * T2 + ½ ∆* T2 Leer Datos Personales del Empleado
Especificaciones de Procesos (EP)Especificaciones de Procesos (EP)
Lenguaje EstructuradoLenguaje Estructurado
Ingeniería del Software de Gestión
Construcciones PermitidasAccion 1Accion 2Accion 3
Leer datos-clienteBuscar pedidos-clienteEmitir facturas
SI condicionAcciones
SINOAcciones
FINSI
SI edad-cliente > 65SET tarifa-facturacion = jubilado
SINOSET tarifa-facturacion = normal
FINSI
DO CASE CASE expresionacciones
…..DEFAULTacciones
ENDCASE
DO CASE nacionalidad-cliente CASE < italianoSET idioma = IT
…..DEFAULTSET idioma = ESP
END CASE
WHILE condicionacciones
ENDWHILE
REPEATacciones
UNTIL condicion
Especificaciones de Procesos (EP)Especificaciones de Procesos (EP)
Lenguaje EstructuradoLenguaje Estructurado
� Recomendaciones◦ 1 página por especificación
◦ No más de 3 niveles de anidamiento� Usar otras herramientas
◦ Formatear para aportar claridad
◦ De cara al usuario� Resaltar construcciones de programación
� Referirse a la especificación como descripción formal de SU política de negocio
Ingeniería del Software de Gestión
EspecificaciEspecificacióón de Procesos: ejemplon 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 información de empleados
Ingeniería del Software de Gestión
EspecificaciEspecificacióón de Procesos: ejemplon de Procesos: ejemplo
Diagrama de Contexto
Ingeniería del Software de Gestión
EspecificaciEspecificacióón de Procesos: ejemplon de Procesos: ejemplo
Diagrama de Sistema (Nivel 1)
Ingeniería del Software de Gestión
EspecificaciEspecificacióón de Procesos: ejemplon de Procesos: ejemplo
Ingeniería del Software de Gestión
Proceso 1: Leer Datos EmpleadoBotón = “Visualizar datos personales()”// DNI, nombre , apellidos, estado civil, direcciónIF boton = cancelar
borrar_info_pantalla()ir a proceso 1
ELSEleer_datos_pantalla()boton = visualizar_datos_economicos()// sueldo, trienio, complementos, etc.IF boton = cancelar
borrar_info_pantalla()ir a proceso 1
ELSEleer_datos_pantalla()boton = visualizar_datos_academicos()// titulacion, cursos reealizados, etc.IF boton =cancelar
borrar_info_pantalla()ir a proceso 1
ELSEleer_datos_pantalla()ir a proceso_2
ENDIFENDIF
ENDIFEND Proceso
Especificación del proceso 1: Leer Datos Empleado
EspecificaciEspecificacióón de Procesos: ejemplon de Procesos: ejemplo
Ingeniería del Software de Gestión
Proceso 2: Validar Datos// El proceso 1 realiza una validación sintáctica de los datos (p.e: edad valor numérico),// mientras que el proceso 2 realiza una validación semántica
ComprobarDatosPersonales() // comprobar dirección en Madrid, prefijo = 91
Comprobar DatosEconomicos() // no puede poner una gratificación por destino en el extranjero si está// destinado en el país de origen
ComprobarDatosAcademicos() // no puede poner una titulación académica que no exista
IF error_validacionvisualizar_datos_erroneos()
ELSEir al proceso 3
ENDIFEND Proceso 2
Especificación del proceso 2: Validar Datos
EspecificaciEspecificacióón de Procesos: ejemplon de Procesos: ejemplo
Ingeniería del Software de Gestión
Proceso 3: Construir Registro TransacciónCrearTransaccion() // poner indicativo, transformar literales en códigos, ajustar longitudes de campos
// quitar blancos, etc.Ir al proceso 4
END Proceso 3
Especificación del proceso 3: Construir Registro Transacción
Proceso 4: Grabar Registro TransacciónGrabarRegistro (fichero, movimientos) // Insertar el registro en el fichero de movimientos
// ordenado por indicativo y orden de llegada END Proceso 4
Especificación del proceso 4: Grabar Registro Transacción
EjercicioEjercicio� Un centro docente desea informatizar su gestión académica. El centro
tienes unos 1000 alumnos y 80 profesores e imparte estudios universitarios. La dirección 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
� Además, se desea poder obtener◦ listado alfabético de profesores con las asignaturas que imparten
◦ listado alfabético de alumnos con las asignaturas en las que estén matriculados
◦ listado alfabético de Asignaturas
◦ relación de alumnos por asignatura (destinada al profesor)
◦ actas de Junio y Septiembre para cada asignatura
◦ certificado académico, con notas de las asignaturas matriculadas o certificado de estudios con todo el expediente académico
Ingeniería del Software de Gestión
Especificaciones de Procesos (EP): Especificaciones de Procesos (EP):
Precondiciones y poscondicionesPrecondiciones y poscondiciones� Se centra en la relación entre las entradas y las
salidas (no en el algoritmo)
� Sólo 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 cuando el proceso ha concluido� Salidas y relaciones entre ellas
� Ejemplo
Ingeniería del Software de Gestión
PRECONDICIÓNEntrada elemento X Re
cupe
rada
de:
Jus
t En
ough
St
ruct
ured
Ana
lysi
s(Y
ourd
on)
Especificaciones de Procesos (EP): Especificaciones de Procesos (EP):
Precondiciones y poscondicionesPrecondiciones y poscondiciones� Describir primero las situaciones
normales
Pares pre/post-condiciones
Ingeniería del Software de Gestión
El usuario podrá seleccionar el fichero a descargar, pulsando sobre la imagen de la carátula,tras comprobar sus credenciales, se le abrirá una ventana con el e-link para descargar
PRECONDICIÓN 1 (situación normal)Usuario loggeado pulsa sobre enlace válido
POSTCONDICIÓN 1Abrir pop-up con e-link
PRECONDICION 2 (error)Error en Precondición 1 porque el enlace seleccionado está roto
POSTCONDICION 2Mostrar mensaje de error y Notificar en Base de Datos
PRECONDICIÓN 3 (error)Error en Precondición 1 porque el usuario no se ha loggeado
POSTCONDICIÓN 3Redirigir a la página de registro con mensaje en la parte superior invitando a que se registre
Especificaciones de Procesos (EP): Especificaciones de Procesos (EP):
Tablas de DecisiTablas de Decisióónn� Recomendado para ciertas situaciones◦ Decisiones complejas� Muchas variables con varios valores posibles
� Muestra la función en forma tabular o matricial◦ Condiciones o Entradas
◦ Acciones o salidas
Ingeniería del Software de Gestión
Especificaciones de Procesos (EP): Especificaciones de Procesos (EP):
Tablas de DecisiTablas de Decisióón n -- ejemplo ejemplo Supongamos la política de descuentos que realiza una empresa sobre
los pedidos de sus clientes dependiendo del volumen de compras del año anterior
� Si estos son clientes con más de 5 años de antigüedad 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 años de antigüedad se aplicará el 11% para compras por valor superior a 40.000 € y el 5% por valor igual o inferior.
� Si tienen menos años de antigüedad 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.
Ingeniería del Software de Gestión
Especificaciones de Procesos (EP): Especificaciones de Procesos (EP):
Tablas de DecisiTablas de Decisióón n -- ejemplo ejemplo
Ingeniería del Software de Gestión
CO�DICIO�ES Cliente especial Vol. compras > 50.000 € Vol. compras <= 50.000 € 50.000 € >= Vol. compras >= 30.000 € Vol. compras < 30.000 € Vol. compras > 40.000 € Vol. compras <= 40.000 € Años ant. > 5 5 >= Años ant. >= 3 Años ant. < 3
SÍ SÍ - - - - - - - -
SÍ - SÍ - - - - - - -
NO SÍ - - - - - SÍ - -
NO -
NO SÍ - - - SÍ - -
NO - - - SÍ - - SÍ - -
NO - - - - SÍ - - SÍ -
NO - - - - - SÍ - SÍ -
NO - - - - SÍ - - - SÍ
NO - - - - - SÍ - - SÍ
ACCIO�ES Aplicar 25 % descuento. Aplicar 20% descuento. Aplicar 15% descuento. Aplicar 11% descuento. Aplicar 10% descuento. Aplicar 9% descuento. Aplicar 5% descuento. Sin descuento.
X
X
X
X
X
X
X
X
X
Tabla de Decisión
EspecificaciEspecificacióón de Procesos (EP)n de Procesos (EP)
ÁÁrboles de Decisirboles de DecisióónnUn modelo de una función discreta en la que se
determina el valor de una variable y en función de ese valor se lleva a cabo una acción
� Representación en forma de árbol◦ Valores de las variables
◦ Acciones tomadas para cada valor
◦ Orden en que se realiza la decisión
Ingeniería del Software de Gestión
EspecificaciEspecificacióón de Procesos (EP)n de Procesos (EP)
ÁÁrboles de Decisirboles de Decisióón n -- EjemploEjemplo
Ingeniería del Software de Gestión
CLIE�TE
ESPECIAL
Sí
No
VOLUME�
DE COMPRAS
> 50.000€
<= 50.000€
Aplicar 25% descuento
Aplicar 20% descuento
AÑOS A�TIGÜEDAD
> 5
<= 5 y >= 3
< 3
VOLUME� DE COMPRAS
> 50.000€
<= 50.000€ y >= 30.000€
< 30.000€
> 40.000€
<= 40.000€
> 40.000€
<= 40.000€
Aplicar 25% descuento
Aplicar 15 % descuento
Aplicar 10 % descuento
Aplicar 11% descuento
Aplicar 5% descuento
Aplicar 9% descuento
Sin descuento
Árbol de Decisión
EspecificaciEspecificacióón de Procesosn de Procesos
Otras herramientasOtras herramientas� Diagramas de transición de Estados
� Gráficos
Ingeniería del Software de Gestión
Recuperada de: Just Enough Structured Analysis (Yourdon)
Recuperada de: Just Enough Structured Analysis (Yourdon)