analisis estructurado de diccionario de datos

37
Tema V1: Tema V1: Herramientas de An Herramientas de An á á lisis Estructurado lisis Estructurado Diccionario de Datos Diccionario de Datos Diana Marcela S Diana Marcela S á á nchez F nchez F ú ú quene quene Ingeniería del Software de Gestión

Upload: edison-mamani-ramirez

Post on 11-Nov-2015

6 views

Category:

Documents


1 download

DESCRIPTION

Manual de Análisis Estructurado de Diccionario de Datos en Ingeniería de Software.

TRANSCRIPT

  • Tema V1: Tema V1: Herramientas de AnHerramientas de Anlisis Estructuradolisis Estructurado

    Diccionario de DatosDiccionario de Datos

    Diana Marcela SDiana Marcela Snchez Fnchez FquenequeneIngeniera del Software de Gestin

  • ndicendice

    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:Diccionario de Datos:

    MotivaciMotivacinn 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

  • - 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:Diccionario de Datos:

    MotivaciMotivacinn

  • 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:Diccionario de Datos:

    MotivaciMotivacinn

  • 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 DatosDiccionario de Datos

  • Diccionario de Datos (DD)Diccionario de Datos (DD)

    MetodologMetodologaa Sigue una aproximacin "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 podra definir como:

    A = B1 + B2 + B3 + C1 + C2

    Pero es preferible definirlos en funcin de sus componentes subordinados:

    A = B + CB = B1 + B2 + B3C = C1 + C2

    Ingeniera del Software de Gestin

  • Diccionario de Datos (DD)Diccionario de Datos (DD)

    NotaciNotacinn

    Ingeniera del Software de Gestin

    SMBOLO SIGNIFICADO= Composicin+ Inclusin (AND)( ) Opcional{ } Iteracin[ | ] Seleccin

    *texto* Comentario@ Identificador

  • Diccionario de Datos (DD)Diccionario de Datos (DD)

    NotaciNotacinn 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)Diccionario de Datos (DD)

    ComposiciComposicin e inclusin e inclusinn El smbolo = indica

    Se define como Est compuesto de Significa

    A = B + C Completar definicin

    Significado Unidades Rango de Valores

    EjemplosPETICIN LIBROS = CARNET BIBLIOTECA + FICHA LIBROS

    PESO = *peso del paciente cuando ingres en el hospital**unidades=kgs; rango=1-200*

    Ingeniera del Software de Gestin

    GESTIONAR PRESTAMOS DE

    BIBLIOTECAUSUARIO

    Peticin de libro

    SISTEMA DEMANTENIMIENTO

    DE PUBLICACIONES

    LIBROSResguardo de

    aceptacin

    GESTIONAR PRESTAMOS DE

    BIBLIOTECAUSUARIO

    Peticin de libro

    SISTEMA DEMANTENIMIENTO

    DE PUBLICACIONES

    LIBROSLIBROSResguardo de

    aceptacin

  • 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: das desde 1/1/1900; rango: 0-36500*

    Ingeniera del Software de Gestin

  • Diccionario de Datos (DD)Diccionario de Datos (DD)

    SelecciSeleccinn 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

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

    Otros]

    Ingeniera del Software de Gestin

  • Diccionario de Datos (DD)Diccionario de Datos (DD)

    IteraciIteracinn La iteracin representa la repeticin de los

    elementos incluidos entre parntesis.

    Ejemploficha libros = {libros} 0 N ocurrencias de libros = signatura + ttulo + autorpedido = id-cliente + direccion-envio + {item}

    Es posible representar los lmites inferior y/o superior sobre las ocurrencias de una estructura repetitiva

    Ejemploficha libros = 1{libros}5

    Ingeniera del Software de Gestin

  • Diccionario de Datos (DD)Diccionario de Datos (DD)

    OpciOpcinn 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 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*

    Ingeniera del Software de Gestin

  • Diccionario de Datos (DD)Diccionario de Datos (DD)

    DefiniciDefinicin 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

    coleccin de entradas

    EjemploLIBROS DISPONIBLES = @SIGNATURA + TITULO

    + AUTOR + NUMERO UNIDADES * la signatura identifica cada ocurrencia del almacn *

    Ingeniera del Software de Gestin

    DIAGRAMA 0: GESTIONAR BIBLIOTECA

    1

    SANCIN

    PEDIDOLIBROS

    DEVOLUCINLIBROS

    ALTAS/BAJASLIBROS

    2

    3

    FICHASPRESTAMO

    LIBROSDISPONIBLES

    GESTIONARPEDIDOS

    GESTIONARDEVOLUCIONES

    ACTUALIZARLIBROS

    DIAGRAMA 0: GESTIONAR BIBLIOTECA

    1

    SANCIN

    PEDIDOLIBROS

    DEVOLUCINLIBROS

    ALTAS/BAJASLIBROS

    2

    3

    FICHASPRESTAMO

    LIBROSDISPONIBLES

    GESTIONARPEDIDOS

    GESTIONARDEVOLUCIONES

    ACTUALIZARLIBROS

  • Diccionario de datos (DD)Diccionario de datos (DD)

    CorrecciCorreccinn 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

  • ndicendice

    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)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)Especificaciones de Procesos (EP)

    Lenguaje EstructuradoLenguaje 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

    Ingeniera del Software de Gestin

    E = V0 * T2 + * T2 Leer Datos Personales del Empleado

  • Especificaciones de Procesos (EP)Especificaciones de Procesos (EP)

    Lenguaje EstructuradoLenguaje Estructurado

    Ingeniera del Software de Gestin

    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

    FINSIDO CASE

    CASE expresionacciones

    ..

    DEFAULTacciones

    ENDCASE

    DO CASE nacionalidad-cliente CASE < italianoSET idioma = IT

    ..

    DEFAULTSET idioma = ESP

    END CASEWHILE condicionacciones

    ENDWHILE

    REPEATacciones

    UNTIL condicion

  • Especificaciones de Procesos (EP)Especificaciones de Procesos (EP)

    Lenguaje EstructuradoLenguaje 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

  • EspecificaciEspecificacin 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 informacin de empleados

    Ingeniera del Software de Gestin

  • EspecificaciEspecificacin de Procesos: ejemplon de Procesos: ejemplo

    Diagrama de Contexto

    Ingeniera del Software de Gestin

  • EspecificaciEspecificacin de Procesos: ejemplon de Procesos: ejemplo

    Diagrama de Sistema (Nivel 1)

    Ingeniera del Software de Gestin

  • EspecificaciEspecificacin de Procesos: ejemplon de Procesos: ejemplo

    Ingeniera del Software de Gestin

    Proceso 1: Leer Datos EmpleadoBotn = Visualizar datos personales()// DNI, nombre , apellidos, estado civil, direccinIF 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

    Especificacin del proceso 1: Leer Datos Empleado

  • EspecificaciEspecificacin de Procesos: ejemplon de Procesos: ejemplo

    Ingeniera del Software de Gestin

    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_validacionvisualizar_datos_erroneos()

    ELSEir al proceso 3

    ENDIFEND Proceso 2

    Especificacin del proceso 2: Validar Datos

  • EspecificaciEspecificacin de Procesos: ejemplon de Procesos: ejemplo

    Ingeniera del Software de Gestin

    Proceso 3: Construir Registro TransaccinCrearTransaccion() // poner indicativo, transformar literales en cdigos, ajustar longitudes de campos

    // quitar blancos, etc.Ir al proceso 4

    END Proceso 3

    Especificacin del proceso 3: Construir Registro Transaccin

    Proceso 4: Grabar Registro TransaccinGrabarRegistro (fichero, movimientos) // Insertar el registro en el fichero de movimientos

    // ordenado por indicativo y orden de llegada END Proceso 4

    Especificacin del proceso 4: Grabar Registro Transaccin

  • EjercicioEjercicio 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): Especificaciones de Procesos (EP):

    Precondiciones y poscondicionesPrecondiciones 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 cuando el proceso ha concluido Salidas y relaciones entre ellas

    Ejemplo

    Ingeniera del Software de Gestin

    PRECONDICINEntrada elemento X R

    e

    c

    u

    p

    e

    r

    a

    d

    a

    d

    e

    :

    Just

    Eno

    ugh

    Stru

    ctur

    ed A

    naly

    sis

    (

    Y

    o

    u

    r

    d

    o

    n

    )

  • Especificaciones de Procesos (EP): Especificaciones de Procesos (EP):

    Precondiciones y poscondicionesPrecondiciones y poscondiciones Describir primero las situaciones

    normales

    Pares pre/post-condiciones

    Ingeniera del Software de Gestin

    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 1Abrir pop-up con e-link

    PRECONDICION 2 (error)Error en Precondicin 1 porque el enlace seleccionado est roto

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

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

    POSTCONDICIN 3Redirigir a la pgina 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 Decisinn 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): Especificaciones de Procesos (EP):

    Tablas de DecisiTablas de Decisin n -- ejemplo 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): Especificaciones de Procesos (EP):

    Tablas de DecisiTablas de Decisin n -- ejemplo ejemplo

    Ingeniera del Software de Gestin

    CODICIOES Cliente especial Vol. compras > 50.000 Vol. compras = Vol. compras >= 30.000 Vol. compras < 30.000 Vol. compras > 40.000 Vol. compras 5 5 >= Aos ant. >= 3 Aos 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

    ACCIOES 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 Decisin

  • EspecificaciEspecificacin de Procesos (EP)n de Procesos (EP)

    rboles de Decisirboles de DecisinnUn 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

  • EspecificaciEspecificacin de Procesos (EP)n de Procesos (EP)

    rboles de Decisirboles de Decisin n -- EjemploEjemplo

    Ingeniera del Software de Gestin

    CLIETE

    ESPECIAL

    S

    No

    VOLUME

    DE COMPRAS

    > 50.000

    5

    = 3

    < 3

    VOLUME DE COMPRAS

    > 50.000

    = 30.000

    < 30.000

    > 40.000

    40.000

  • EspecificaciEspecificacin de Procesosn de Procesos

    Otras herramientasOtras herramientas Diagramas de transicin de Estados

    Grficos

    Ingeniera del Software de Gestin

    Recuperada de: Just Enough Structured Analysis (Yourdon)

    Recuperada de: Just Enough Structured Analysis (Yourdon)