[Php-avanzado] SRS y DER: Bibliotech

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Lun Ene 6 18:31:15 ART 2014


El mié, 01-01-2014 a las 02:27 -0300, Fernando Pehuén Borsani escribió:
> Hola profe!

Hola Pehuén,

> Le remito la SRS v6.4.1 y el diagrama con las relaciones entre entidades.
> 
> La SRS tiene solo correcciones menores, como alguna referencia sin su número
> correspondiente, más la inclusión de los empleados en las RF.

	Ok.
	La guardo como futura referencia.
	Como nota, los "permisos" siguen siendo una No-Funcionalidad, pero
dejalos así porque la idea no es perder tiempo en detalles irrelevantes.


> En el PDF está el primer boceto para incluir tablas que mantengan la
> consistencia. Agregué campos en AUTORES_LIBROS,

	Este me parece irrelevante, por eso de que el Libro y sus componentes
son "un dato vivo".

>  COMENTARIOS,

	Ok.

>  PRESTAMOS,

	No podés tener en Prestamos idUnidad como clave foránea, porque la DB
te va a impedir borrar Unidades que aparezcan en la tabla Préstamos, que
es justamente lo que se quiere permitir!!!
	El cambo sí va, pero no como FK.
	Y el título del libro???

> MANTENIMIENTOS 

	Lo mismo para las FK de acá.
	No entendí la explicación de arriba de que están dos veces los
idEmpleado, su nombre y apellido.
	Tienen que estar una sola vez estos 3 campos.
	Te faltan datos del Libro para reconocerlo...

> y ADQUISICIONES.

	También le falta referencias al Libro... y también a Extravíos y
Devoluciones, sino al borrar un Libro o una Unidad, no sabés que se
adquirió ni qué se extravió.

	No entiendo la referencia el Extravío al Préstamo. Esto se asumir que
solo se pueden extraviar libros prestados, lo cual es una situación
demasiado ideal...
	(eso, o seguís pensado que "un préstamos" viene a la biblioteca para
ser devuelto ;-) )


	Seguimos!


> -----------------------------------------------------------
> Software Requirements Specification[SRS] Bibliotech v6.4.1
> -----------------------------------------------------------
> 
> Requerimientos Funcionales[RF]:
> 
> 01) El sistema debe gestionar editoriales.
> 02) El sistema debe gestionar autores.
> 03) El sistema debe gestionar géneros.
> 04) El sistema debe gestionar libros con su editorial[01], su(s)
> autor(es)[02] y su género[03].
> 05) El sistema debe gestionar unidades de libros[04].
> 06) El sistema debe mostrar los sexos.
> 07) El sistema debe mostrar rangos de edad.
> 08) El sistema debe gestionar visitantes con su sexo[06] y rango de
> edad[07].
> 09) El sistema debe registrar los votos de los visitantes[08] a los
> libros[04].
> 10) El sistema debe gestionar comentarios de los visitantes[08] a los
> libros[04].
> 11) El sistema debe registrar la popularidad del libro[04].
> 12) El sistema debe reportar la popularidad[12] de los libros[04]
> mensualmente.
> 13) El sistema debe buscar libros[04].
>     13.1) Por ISBN
>     13.2) Por Editorial[01].
>     13.3) Por Autor[02].
>     13.4) Por título.
>     13.5) Por género[03].
> 14) El sistema debe mostrar tipos de documentos.
> 15) El sistema debe gestionar asociados con su sexo[06], rango de edad[07] y
> tipo de documento[15].
> 16) El sistema debe calcular la confiabilidad de los asociados[15].
> 17) El sistema debe mostrar los meses del año.
> 18) El sistema debe inscribir cuotas de asociados[15] con su mes[17].
> 19) El sistema debe informar al asociado del vencimiento de la cuota[18].
> 20) El sistema debe mostrar los estados.
> 21) El sistema debe registrar el préstamo de unidades[05] a asociados[15]
> con su estado[20].
>     21.1) El sistema debe detener un nuevo préstamo si excede la
> confiabilidad[16].
>     21.2) El sistema debe detener un nuevo préstamo si la cuota[18] es
> anterior al mes en curso.
>     21.3) El sistema debe detener un nuevo préstamo si no hay unidades[05]
> disponibles.
> 22) El sistema debe registrar devoluciones de unidades[05] por parte de los
> asociados[15] con su estado[20].
> 23) El sistema debe registrar extravíos  de unidades[05] por parte de los
> asociados[15] con su estado[20].
> 24) El sistema debe registrar adquisiciones de unidades[05] por parte de los
> asociados[15] con su estado[20].
> 25) El sistema debe gestionar puestos
> 26) El sistema debe gestionar permisos
> 27) El sistema debe gestionar a los empleados con su puesto[25] y
> permiso[26].
> 28) El sistema debe registrar el mantenimiento de unidades[05] con su
> estado[20] y empleados[27].
> 29) El sistema debe gestionar el stock de unidades[05].
>     29.1) El sistema debe comprobar si ya existe un libro[04] cuando se den
> de alta unidades[05].
>     29.2) El sistema debe sumar uno a stock:cantidad y stock:disponibles al
> efectuarse el alta de unidad[05].
>     29.3) El sistema debe restar uno a stock:disponibles al efectuarse un
> préstamo[21].
>     29.4) El sistema debe sumar uno a stock:disponibles por
> devoluciones[22].
>     29.5) El sistema debe restar uno a stock:cantidad por extravíos[23].
>     29.6) El sistema debe sumar uno a stock:cantidad y stock:disponibles por
> adquisiciones[24].
>     29.7) El sistema debe restar uno a stock:disponible al enviarse la
> unidad[05] a mantenimiento[28].
>     29.8) El sistema debe restar uno a stock:cantidad por destrucción de la
> unidad[05] en mantenimiento[28].
>     29.9) El sistema debe sumar uno al stock:disponible al volver la
> unidad[05] de mantenimiento[24].
> 30) El sistema debe informar al asociado[15] del vencimiento del
> préstamo[21] un día antes del vencimiento.
> 31) El sistema debe mostrar los préstamos[21] vencidos hace más de una
> semana.
> 
>  
> -------------
> Diccionario:
> -------------
> --Editorial: Casa editora.
>   Atributos: nombre.
> --Autores: nombre(s) de la(s) persona(s) que escribe(n) el libro. Un libro
> puede tener varios autores.
>   Atributos: nombre.
> --Género: categorías en que clasificar de forma excluyente las obras
> literarias atendiendo a su contenido. Algunos de ellos son: poesía, ciencia
> ficción, cuento.
>   Atributos: nombre.
> --Libro: Obra de extensión suficiente para formar un volumen, en soporte
> físico.
>   Atributos: código identificador (isbn o equivalente previo a 1970),
> editorial, autores, título, género, portada, resumen de la contracara.
> --Unidad: copia de un libro que comparte todas los atributos con el
> original, menos el código bibliotecario, propio de la unidad.
>   Atributos: código bibliotecario.
> --Sexo: femenino o masculino.
>   Atributo: nombre.
> --Rango de edad: hasta 15 años, de 15 a 18 años, de 18 a 22 años, de 23 a 30
> años, de 30 a 40 años, de 40 a 60 años, mayor de 60 años.
>   Atributo: rango.
> --Visitante: persona externa a la empresa que ingresa al contenido web
> generado por este software.
>   Atributos: Nombre, Apellido, Apodo, email, rango de edad, sexo.
> --Votos: valoración positiva o negativa sobre el libro.
>   Atributo: valor.
> --Comentarios: opinión que el visitante deja escrita sobre un libro
> específico.
>   Atributos: autor, contenido, libro, fecha.
> --Popularidad: cantidad de personas que leen la información detallada de un
> libro(portada y resumen de contracara).
>   Atributos: libro, cantidad.
> --Reportar: crear un archivo con una lista decreciente de los libros y la
> cantidad de visitas que recibieron.
>   Atributos: ranking, fecha.
> --Búsqueda: Comprobación de existencia de un libro(por código identificador
> o título), autor, editorial, y listado de los resultados.
> --Comprobar si ya existe un libro: verificar si el código identificador de
> un libro ya existe en el sistema.
>   Atributos: código identificador ingresado, resultado.
> --Tipos de documentos: documento nacional de identidad(DNI), libreta de
> enrolamiento(LE), libreta cívica(LC), cédula de identidad(CI).
>   Atributo: tipo.
> --Confiabilidad: cantidad de préstamos activos simultáneos que puede tener
> un asociado, cantidad de días hasta el vencimiento del préstamo.
>   Cálculo de puntos: devuelto antes del vencimiento, +1 punto. Devuelto tras
> el vencimiento, -10 puntos por día vencido y cambio temporal a rango
> suspendido. Extraviado: inhibe de por vida al asociado a no ser que efectúe
> una adquisición, en cuyo caso lo restablece como rango 1 con 0 puntos.
>   Rangos: (1) hasta 100 puntos: 2 unidades, 2 semanas. (2) desde 101 hasta
> 300: 2 unidades, 3 semanas. (3) desde 301: 3 unidades, 3 semanas.
> (Suspendido) 0 libros, los días suspendido se calculan así: Penalización = 5
> * cantidad de días de atraso * cantidad de veces que el asociado devolvió
> tarde un préstamo. Tras este período el asociado recupera su rango de
> confiabilidad del 1 al 3 según sus puntos almacenados.
>   Atributos: asociado, puntaje, rango.
> --Asociado: persona que paga un abono mensual y a cambio puede recibir
> unidades en préstamo.
>   Atributos: Nombre, Apellido, tipo de documento, número de documento, fecha
> de registro, email, teléfono, celular, dirección, rango de edad, sexo,
> confiabilidad.
> --Cuota: suma de dinero que se abona mensualmente para poder recibir los
> servicios de la institución.
>   Atributos: asociado, último mes(con su año correspondiente) pago.
> --Informar: enviar un correo electrónico con información de interés. Hay dos
> tipos: de vencimiento de cuota y de vencimiento de préstamo.
>   Atributos: Asociado, tipo de informe, fecha, informe.
> --Estados: reflejan el movimiento de unidades: activo, anulado, devuelto en
> fecha, devuelto vencido, extraviado, adquirido, reparando, reparada,
> destruida.
>   Atributo: nombre.
> --Préstamo: entrega de unidades de la biblioteca al asociado, para que los
> lea en su hogar.
>   Atributos: Asociado, unidad, fecha de préstamo, fecha de vencimiento,
> estado: activo o anulado.
> --Devolución: cese del préstamo porque el asociado entregó de vuelta la
> unidad a la biblioteca.
>   Atributos: Asociado, unidad, fecha en que se devolvió, estado: devuelto en
> fecha o devuelto vencido.
> --Extravío: pérdida de la unidad porque el asociado no la devolvió a la
> biblioteca.
>   Atributos: Asociado, unidad, estado: extraviado.
> --Adquisición: cuando el usuario que efectuó un extravío entrega a la
> biblioteca una unidad comprada por él.
>   Atributos: Asociado, unidad, estado: adquirido.
> --Puesto: departamento en el que trabaja el empleado. Ej: infantil,
> escolares, histórico.
> --Permiso: nivel de acceso. El cero representa acceso nulo. A mayor número,
> mayor cantidad de funcionalidades disponibles.
> --Empleado: persona bajo sueldo que realiza tareas para el comprador de este
> software.
>   Atributos: Nombre, Apellido, puesto, permiso.
> --Mantenimiento: mantenimiento recibe unidades dañadas e intenta repararlas.
> En caso que sea imposible, la destruirá.
>   Atributos: unidad, empleado que entrega, empleado que recibe, estados:
> reparando, anulado, reparada, destruida.
> --Stock: suma de las unidades que corresponden al mismo libro, y cuantos de
> esas unidades no están prestadas, extraviadas, destruidas o en
> mantenimiento.
>   Atributos: código identificador, cantidad, disponibles.
> _______________________________________________
> Lista de correo: Php-avanzado
> Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar
> Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe

-- 
Leonardo Tadei
leonardot en pegasusnet.com.ar
Web: http://leonardo.tadei.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key



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