[Php-avanzado] Bibliotech: SRS v6.4.2 y DER v1.3.1

Fernando Pehuén Borsani fpborsani en yahoo.com.ar
Vie Ene 17 12:33:43 ART 2014


Hola Profe, tengo algunas consultas sobre su respuesta:

LT>ahora que los Empleados son una Funcionalidad, sería tal vez útil
registrar qué empleado presta un libro y qué empleado lo recibe...
LT>permitiría hacer un mejor seguimiento de los libros en relación con los
empleados que los manejan.

Las RF 24 a 27 terminan con las frases "empleado[22] que recibe la unidad "
o "empleado[22] que da de baja la unidad " en la versión que le envié.
¿Su comentaría significa entonces que debo desdoblarlas en nuevas
funcionalidades?

LT> Creo que hay "estados" de diferentes cosas en este problema, pero hasta
ahora se muestra todo junto. Fijate en el diccionario las veces que se hace
referencia a un "estado" y "activo o anulado" que son los estados de un
préstamo tiene sentido, pero no al lado de "destruida o en mantenimiento",
que creo que no deberían ser estados válidos de un préstamo...

Sobre la cuestión de los estados, discusión que ya tuvimos, yo quisiera
hacerlo de esta manera:
El préstamo tiene tres estados, que son "activo", "devuelto en fecha" y
"devuelto vencido". Esta descripción en la SRS implicaría que si se cargan
mal los datos y se quiere cancelar el tramite el sistema lo permite,
borrando el registro (el dato del préstamo anulado no tiene valor alguno, a
diferencia de lo que pasaría con una factura).
Las devoluciones, extravíos y reposiciones no deberían tener estado, porque
su mera existencia revela el estado en que se encuentran. Lo susodicho sobre
anulaciones también valdría aquí.
Mantenimiento tendría tres estados: "activo", "reparado" y "destruido".

Entonces me quedaría una relación así en la SRS:
23) El sistema debe registrar el préstamo de unidades[05] a asociados[15]
con su estado[20] y empleado[22] que entrega la unidad.
24) El sistema debe registrar devoluciones de unidades[05] por parte de los
asociados[15] con el empleado[22] que recibe la unidad.
25) El sistema debe registrar extravíos de unidades[05] por parte de los
asociados[15] con el empleado[22] que da de baja la unidad.
26) El sistema debe registrar reposiciones de unidades[05] por parte de los
asociados[15] con el empleado[22] que recibe la unidad.
27) El sistema debe registrar el mantenimiento de unidades[05] con su
estado[20], empleado[22] que entrega la unidad y empleado[22] que recibe la
unidad.
Diccionario:
Estado: refleja en que parte del proceso se encuentra la unidad entregada a
un asociado o a mantenimiento. Los estados pueden ser: activo, devuelto en
fecha, devuelto vencido, reparado, destruido.

Y la relación (resumida) entre tablas quedaría así
PRESTAMOS: idEstado <-- ESTADOS --> MANTENIMIENTO: idEstado

La ventaja más significativa de esta implementación de los estados es la
practicidad. Por ejemplo: si quiero que el sistema me muestre todos los
préstamos activos, entonces la query trae todos los préstamos con estado
"activo".
Pienso en esto porque una vez nos contó que no siempre es práctico
normalizar al 100%.

LT> Antes de que me olvide: cuando terminemos la normalización, te digo los
RF que te voy a pedir que me entregues.
Me alegro que mencione esto, porque significa que algún día vamos a terminar
la normalización ;-)

Me causó mucha gracia el comentario a Gabriel sobre la manzana lustrada para
el profesor. Le diría que cuando leo las correcciones a veces pienso "claro,
tiene sentido", a veces "bueno, si Tadei lo dice", y otras veces "Tadei
trata a mi biblioteca como si fuera un software de facturación."
¡Manzana con gusanito! jajaja



Más información sobre la lista de distribución Php-avanzado