• No se han encontrado resultados

2.8 Ejercicios Prácticos

N/A
N/A
Protected

Academic year: 2021

Share "2.8 Ejercicios Prácticos"

Copied!
21
0
0

Texto completo

(1)

2.8 Ejercicios Prácticos

2.8.1 Ejercicio 1

Sean los hijos de la transacción 2, aplicando las técnicas del diseño estructurado, derivar un diagrama de estructura. Se supone que los datos de todos los alumnos se encuentran ya en el almacenamiento de datos ALUMNOS.

(2)

2.1 OBTENER NUMERO ALUMNO 2.2 OBTENER DATOS ALUMNO 2.3 VALIDAR NUMERO ALUMNO 2.4 HACER MATRICULA 2.6 VERIFICAR INCOMPATIB. 2.5 OBTENER ASIGNATURA 2.8 VALIDAR AIGNATURA 2.7 EDITAR DATOS MATRICULA 2.9 IMPRIMIR MATRICULA ALUMNOS ASIG-ALUMNO HISTORIAL NOTAS ALUMNO num_alu num_alu datos alumno datos matricula num_alu valido

asig-verif. datos matricula

linea_matricula asignaturas

asig.

(3)

2.8.2 Solución Ejercicio 1

Lo primero que debemos hacer es tomar la decisión entre alquilar un jefe o promover uno. En este caso optamos por promover uno que va a ser Hacer Matricula.

Con lo que nos queda el siguiente diagrama de estructura general:

2.4 HACER MATRICULA 2.3 VALIDAR NUMERO ALUMNO 2.2 OBTENER DATOS ALUMNO 2.6 VERIFICAR INCOMPATIB. 2.7 EDITAR DATOS MATRICULA ESCRIBIR EN ASIG_ALUM 2.1 OBTENER NUMERO ALUMNO LEER FICHERO ALUMNOS 2.8 VALIDAR ASIGNATURA LEER LISTA NOTAS 2.9 IMPRIMIR MATRICULA 2.5 OBTENER ASIGNATURA LEER PLAN ESTUDIOS ASIG NUM_ALU ASIG_VALIDA LINEA_MATRICULA NUM_ALU_V NUM_ALU_V ASIG_VERIF DATOS_MATRICULA

Podemos realizar una serie de refinamientos, como por ejemplo podemos poner un cluster en LEER FICHERO ALUMNOS para limitar el número de accesos a la base de datos.

(4)

Se podría refinar aún más algunos módulos como por ejemplo VERIFICAR INCOMPATIBILIDADES

(5)

2.8.3 Ejercicio 2

Dado el siguiente DFD, derivar un Diagrama de Estructura, aplicando las herramientas y criterios del diseño estructurado.

CLIENTE OBTENER CODIGO ARTICULO VALIDAR CODIGO ARTICULO EDITAR LINEA DETALLE CALCULAR TOTAL COMPRA EDITAR TOTAL COMPRA IMPRIMIR TICKET ARTICULOS COD_ART_E COD_ART_I COD_ART_V LINEA_DETALLE TOTAL LINEA_TOTAL TICKET COD_ART_V RECHAZO COD_ART_E = CODIGO_ARTICULO COD_ART_I = CODIGO_ARTICULO COD_ART_V = CODIGO_ARTICULO

ARTICULO = CODIGO_ARTICULO + DESCRIPCION + PVP ARTICULOS = {ARTICULOS}

LINEA_DETALLE = CODIGO_ARTICULO + DESCRIPCION + PVP TOTAL = NUM_ARTICULOS + TOTAL A PAGAR

LINEA_TOTAL = TOTAL

(6)

2.8.4 Solución Ejercicio 2

En este ejercicio vamos a alquilar un jefe , quedandonos el siguiente DE: Cada vez que se finaliza una compra hay que inicializar total compra.

También podemos observar como la rama de salida tal y como está no funciona, por lo que 3modificamos el DE.

(7)
(8)

2.8.5 Ejercicio 3

El diagrama de flujo de datos de la figura, muestra la parte aferente (entrada) de un sistema que se encarga de actualizar un fichero maestro de clientes. Cada registro del fichero contiene la siguiente información (campos):

Nº campo Información Longitud Caract. ¿Se actualiza?

1 Número Cuenta 6 Numérica NO

2 Nombre Cliente 20 Alfanumérica SI

3 Dirección 15 Alfanumérica SI

4 Teléfono 9 Numérica SI

5 Código Postal 5 Numérica SI

6 Límite Crédito 6 Numérica SI

7 Fecha última operación 8 Numérica SI

La información necesaria para hacer una actualización se le suministra al sistema en una línea introducida desde un terminal. Cada línea contendrá el número de cuenta del cliente cuyo registro va a actualizarse; esta línea deberá contener también el número de los campos que se van a actualizar (en nuestro caso sólo se pueden actualizar los campos 2..7).

El formato de la línea de entrada ha de ser el siguiente: numero_de_cuenta (nº de_campo nueva_información $) $

(deben haber blancos entre el número_de_cuenta, numero_de_campo y nueva_información).

Por tanto una línea de actualización puede ser: 3560 4 96370492$ 5 43005$ $

Esta línea actualiza los campos número 4 y número 5 del registro de cliente cuyo número de cuenta es 3560.

(9)

leer linea separar en campos validar campo # 1 validar campo # 2 validar campo # 7 formar transacc validar transacc transf. central line campo # campo # campo # campo # 2 campo # 1 campo # 7 transacció transacción linea I campo invalid # campo invalid # rechaz

(10)
(11)

Un AULA INFORMÁTICA tiene la siguiente política de reservas:

• Los alumnos de la Escuela en que se encuentra pueden reservar un máximo de 5 horas a la semana.

• Las reservas pueden realizarse hasta el día anterior al uso.

• A cada alumno, cuando hace la reserva, se le entrega un justificante de ésta. El formato del justificante es el siguiente:

Reserva Aula Informática Equipo:014 Día reservado:28-06-95 Hora reservada: 14:00 Número de Expediente: 54.321

Nombre: Pascual Martínez Juan.

• Cuando se abre el AULA hay un listado de las reservas realizadas sobre cada equipo, de modo que la gente puede usar los equipos no reservados.

El formato del listado de reservas es el siguiente:

Reservas de aula de informática Día: 28-06-95 EQUIPO HORA ALUMNO

001 10:00 Alicia Mas Pérez

014 10:00 Fernando Huerta del Pozo ... ... ...

014 14:00 Pascual Martínez Juan ... ... ...

• El horario del AULA DE INFORMÁTICA es de 10:00 a 18:00 todos los días lectivos, y las reservas comienzan siempre a una hora en punto.

Para llevar a cabo esta política se ha decidido implementar un sistema, del que nos dan un trozo del D.F.D. para que construyamos un Diagrama de Estructura, que usarán los programadores de un lenguaje procedural para su implementación.

(12)

RESERVAS AULA INFORMÁTICA

EXPEDIENTE: 54.321

NOMBRE: Pascual Martínez Juan

FECHA: 28-06-95 HORA: 14:00

EQUIPO: 014

El D.D: del D.F.D. adjunto es el siguiente:

ALMACENES

EXPEDIENTES = NUM_EXP + NOMBRE EQUIPOS = NUM_EQUIPO

CAL_LECTIVO = FECHA

USOS_ALUMNO = NUM_EXP + SEMANA + CANTIDAD

RESERVA_EQUIPOS = NUM_EQUIPO + FECHA_RESERVA + HORA RESERVA + NUM_EXP

FLUJOS

FECHA = DÍA + MES + AÑO

SEMANA = AÑO + NUM_SEMANA

DATOS_RESERVA = NUM_ESP + NOMBRE + FECHA_RESERVA + HORA RESERVA + NUM_EQUIPO

RESGUARDO = NUM_EQUIPO + FECHA_RESERVA + HORA_RESERVA + NUM_EXP + NOMBRE

LISTADO_RESERVAS = FECHA_RESERVA + {NUM_EQUIPO + HORA_RESERVA + NOMBRE}

Obtener el Diagrama(s) de Estructura(s) correspondiente al D.F.D. de la figura. Debe indicar todos los pasos intermedios.

(13)

2 VALIDAR ALUM. POR NOM. CORRECTO 3 VALIDAR FECHA RESERVA 4 VALIDAR HORA RESERVA 5 VALIDAR EQUIPO EXISTENTE 6 ACEPTAR DATOS RESERVA 1 VERIFICAR EQUIPO NO RESERVADO 9 OBTENER SEMANA RESERVA 8 OBTENER NOMBRE ALUMNO POR EXP. 7 VERIFICAR ALUMNO PUEDE RESERVAR 10 ACTUALIZAR RESERVA EQUIPOS 11 EDITAR RESGUARDO RESERVA 14 ACTULIZAR REGISTRO USOS ALUMNO 13 OBTENER RESERVA EQUIPO 16 OBTENER NOMBRE ALUMNO 17 EDITAR LINEA RESERVA DIA 18 IMPRIMIR LINEA RESERVA DIA 19 EDITAR CABECERA RESERVA DIA 20 OPERADOR ALUMNO CAL_LECTIVO RESER_EQUIPOS EQUIPOS RECALCULA USOS ALUMNO 12 IMPRIMIR RESGUARDO RESERVA 15 EXPEDIENTES DATOS RESERVA NUM_EXP NOMBRE FECHA HORA EQUIPO EQUIPO_E HORA_V FECHA_V NUM_EXP_E NOM_EXP + NUM_EXP FECHA_V SEM NUM_EXP_V NUM_EXP_RESERVABLE

NUM_EXP + FECHA_R + HORA_R + EQUIPO_R

CABECERA

LINEA LISTADO RESERVAS/DIA CUERPO NOMBRE

EQUIPO + HORA_R NUM_EXP

NUM_EXP + SEM

NUM_EXP + SEM + USOS

BLOQUE RESGUARDO EDITADO

RESGUARDO LISTADO RESERVAS/DIA FECHA_R + HORA_R + EQUIPO_R NOM. ERRONEO FECHA NO POSIBLE HORA NO POSIBLE EQUIPO RESERVADO EQUIPO INEXISTENTE FECHA FECHA A PRIMERA HORA

(14)

2.8.8 Solución Ejercicio 4

Nos queda desarrollar el módulo OBTENER DATOS RESERVA CORRECTOS, en este módulo se encuentra esa referencia que hemos etiquetado como “2”.

(15)
(16)
(17)

2.8.9 Ejercicio 5

Obtener los diagramas de estructuras correspondiente al siguiente problema: Imaginemos que queremos construir un gestor de correo electrónico sencillo, de tal forma que el usuario podrá realizar una de las siguientes funciones al utilizar nuestro programa:

• Leer cualquiera de los mensajes recibidos en su buzón a partir de un nombre de mensaje.

• Enviar un mensaje a una dirección determinada.

• Borrar mensajes según el nombre del mensaje.

Teniendo en cuenta que disponemos del siguiente DFD obtenido en la fase de análisis:

(18)

LEER CABECERAS 1 ESCOJER OPCION 2 VALIDAR NOMBRE MENSAJE 3 VISUALIZAR MENSAJE 4 VALIDAR DIRECCION 5 CREAR PAQUETE 7 ENVIAR DESTINO 8 EDITAR MENSAJE 6 VALIDAR NOMBRE MENSAJE 9 RELOJ RED TECLADO TECLADO ELIMINAR MENSAJE 10 PANTALLA BUZON PANTALLA LISTA CABECERAS OPCION A PANTALLA OPCION NOMBRE MENSAJE LISTA CABECERAS NOMBRE MENSAJE VALIDO LISTA CABECERAS NOMBRE MENSAJE NOMBRE MENSAJE VALIDO MENSAJE A PANTALLA DIRECCION VALIDA PAQUETE PAQUETE DATOS DIRECCION CARACTERES MENSAJE CARACTERES

(19)

2.8.10 Solución Ejercicio 5

CONTROL PRINCIPAL LEER CABECERAS SELECC. OPCION LEER MENSAJES TRANSMITIR MENSAJES BORRAR MENSAJES VISUALIZAR MSG VALIDAR NOMBRE MSG ENTRADA MSG CREAR PAQUETE ENVIAR VALIDAR NOMBRE MSG ELIMINAR MSG VALIDAR DIRECCION EDITAR MSG

(20)

2.8.11 Ejercicio 6

Dado el diagrama de flujo de datos siguiente, derivar un diagrama de estructura utilizando el siguiente dicccionario de datos:

ORDEN_VENTA = VENDEDOR + [LINEA_VENTA]

LINEA_VENTA = COD_PRODUCTO + CANTIDAD_PEDIDA

ORDEN_VENTA_VALIDA = VENDEDOR + NUM_VENTA + FECHA + [LINEA_VENTA]

LINEA_DETALLE = COD_PRODUCTO + NOMBRE + CANTIDAD + DESCRIPCION + PRECIO_VENTA + TOTAL_LINEA

LINEA_TOTAL = TOTAL

TOTAL = NUM_ARTICULOS + TOTAL_A_PAGAR TICKET = [LINEA_DETALLE] + LINEA TOTAL

BAJO_STOCK = COD_PRODUCTO + CANTIDAD_EN_STOCK + CANTIDAD_MINIMA

LINEA_INFORME_VENTAS = NUMERO_VENTA + VENDEDOR + COD_PRODUCTO + NOMBRE + CANTIDAD_VENDIDA + IMPORTE_CARGADO

PRODUCTOS = [COD_PRODUCTO + NOMBRE + PRECIO_VENTA + CANTIDAD_EN_STOCK + CANTIDAD_MINIMA]

VENTAS = [NUMERO_DE_VENTA + FECHA_VENTA + VENDEDOR]

ITEM_VENTAS = [NUMERO_DE_VENTA + CODIGO_PRODUCTO + CANTIDAD_VENDIDA + IMPORTE_CARGADO]

(21)

VENDEDOR OBTENER ORDEN VENTA VALIDAR ORDEN VENTA PRODUCTOS SEPARAR ORDEN VENTA ALMAC. VENTA EDITAR LINEA DETALLE CALCULAR TOTAL COMPRA VERIF. INVENTARIO VENTAS ITEM-VENTAS EDITAR LINEA TOTAL IMPRIMIR TICKET GENERAR INFORME VENTAS DIRECCION CLIENTE PRODUCTOS ORDEN VENTA_E ORDEN VENTA ORDEN VENTA VALIDA VENDEDOR+NUM VENTA+FECHA+LINEA VENTA LINEA VENTA LINEA VENTA LINEA VENTA LINEA DETALLE TOTAL LINEA TOTAL TICKET INFORME VENTAS BAJO STOCK NUM VENTA FECHA RECHAZO

Referencias

Documento similar

Ante esta situación, más de 10 mil estu- diantes del Tecnológico de Monterrey se suman cada semestre para apoyar la transformación del presente y el futuro de México a través

El señor Medrano formó parte del cuerpo docente y administrativo del Instituto Tecnoló- gico y de Estudios Superiores de Monterrey y el señor Azcárraga fue

Fueron beneficiados durante el ejercicio 580 estudiantes. Durante el ejercicio, fueron atendidos diariamente 1,904 alumnos en promedio. Además del equipo mencionado,

Estos programas son una gran oportunidad para las em- presas, pero para formar parte de ellos, hay que elegir primero el más adecuado, dadas las características del negocio

Dicha información se encuentra confirmada en los estudios de competitividad de los estados, realiza- dos por el Centro de Desarrollo Regional y Nacional de la Rectoría

Después de 10 años de trayectoria como Rector del Sistema Tecnológico de Monterrey, Rafael Rangel Sostmann encauzará al Instituto hacia el cumplimiento de su nueva Misión definida

En la Figura 4 se muestran las derivaciones V1-V3 obtenidas en el cuarto (A), tercer (B) y segundo (C) espacio intercostal de un paciente masculino sano.

De todos los pacientes incluidos en el estudio sólo uno de ellos, del grupo de cirugía laparoscópica, no fue sometido a diálisis pre- trasplante, todos los demás de ambos grupos