Programación III |
Parcial |
2° Cuat. de 2002 | Altillo.com |
En una empresa dedicada al desarrollo de software, se dispone de un sistema
para guardar información de los proyectos que se van realizando. Un proyecto
está compuesto de varios programas y a su vez algunos de estos programas
también forman parte de otros proyectos.
Un ejemplo de proyecto puede ser un cambio en el modo de liquidación del IVA.
En ese cambio pueden afectarse programas que forman parte de otros proyectos,
como el del sistema de facturación, el del sistema de contabilidad y otros.
Debido a que se han detectado errores en algunos programas que forman parte de
un proyecto, se desea emitir un listado ordenado por programa, de todas las
modificaciones sufridas por los programas que pertenecen al proyecto ingresado
por el operador, que sean posteriores a la fecha de implementación del
proyecto.
El programa listador deberá además actualizar el campo PG-ESTADO del archivo
PROGRAMAS.
Las modificaciones a listar de cada programa pueden haberle sido hechas en
distintos proyectos.
Diseño del listado:
Proyecto: AX404 | Implementado el: 30/09/2002 | ||
Programa | Fecha de la modif | Descripción | |
10104 | 10/10/2002 | Cambio de modo de cálculo | |
10104 | 10/11/2002 | Optimización general | |
10105 | 10/10/2002 | Se agregan cálculos |
Descripción de archivos:
Proyectos: Contiene información de los proyectos y los programas que los
componen. Tiene tres tipos de registro: los que describen un proyecto, los que
describen un programa de un proyecto y los que describen una modificación
efectuada a un programa (una nueva versión del mismo).
Organización: secuencial indexado. Factibilidad 0 a 1 por clave primaria 0 a
N por clave secundaria.
Clave primaria: PY-PROYECTO + PY-PROGRAMA + PY-VERSION + PY-TIPOREG
Clave secundaria: PY-PROGRAMA + PY-VERSION
Diseño:
PY-PROYECTO alfanum. 6 (código del
proyecto)
PY-PROGRAMA alfanum. 6 (código del programa. Si
el registro es tipo 1, tiene blancos)
PY-VERSION alfanum.
6 (según tiporeg=1 tiene blancos, =2 tiene cero, =3 un
número)
PY-TIPOREG numérico
1 (1=proyecto / 2=programa / 3=modificación)
PY-FECHAIMP numérico 8 (puede venir vacía
indicando que no se implementó)
PY-DESCRIP alfanum. 30
(describe el proyecto, o el programa o la modificación)
Programas: Contiene datos de cada programa. Inicialmente todos los
programas tienen "OK" en el campo PG-ESTADO.
Organización: secuencial indexado. Clave primaria PG-PROGRAMA + PG-ESTADO
Factibilidad: 0/1 por clave primaria
Diseño:
PG-PROGRAMA alfanum. 6 (código del
pprograma)
PG-ESTADO alfanum.
2 ("OK" o "AR" arreglado)
PG-FECHAESCR numérico 8 (fecha en que fue
escrito)
PG-OTROS
alfanum. 10 (otros datos del programa)
Se pide:
- Diagrama Jackson
- Pseudocódigo
- Codificación en ambos lenguajes de la rutina de acceso al archivo
PROYECTOS
- Indicación de los métodos de acceso utilizados con cada archivo
- Lote de prueba del archivo PROYECTOS
Nota: del diagrama de Jackson y pseudocódigo debe poder entenderse completamente el funcionamiento del programa pedido.
Responder y justificar las siguientes preguntas:
1) En un archivo indexado, ¿sólo accedo en forma dinámica si conozco parte
de la clave?
2) ¿En FoxPro, si se agrega un campo a un archivo, qué lugar del programa se
debe modificar?