[Php-avanzado] Requerimientos Bibliotech v3
Fernando Pehuén Borsani
fpborsani en yahoo.com.ar
Vie Sep 27 19:45:52 ART 2013
Hola profe!
Reescribí casi todos los requisitos para mejorarlos según sus correciones, y acá van algunas aclaraciones sobre la versión 3:
RF01 y RF02: ajusté el tema del código: ya no considera una numeración externa, era innecesario.
---
RF03: Los géneros los defino como excluyentes. De esta manera un cuento de ciencia ficción es catalogado como "ciencia ficción".
Esto atiende a que en una biblioteca las áreas temáticas están bien diferenciadas.
Además el género es gestionable: como hay una gran variedad de subgeneros, es muy posible que al entregar el software no se hayan cubierto todos.
---
RF04: El libro tiene su propio código (ISBN) pero ahora también tiene un identificador, que es el número que le agregan las bibliotecas (no es el ID de una tabla).
Agregué al libro su portada y el resumen que hay en la contracara. Cuando se accede a ESA información se produce un aumento de popularidad[12]. Actualicé el diccionario para reflejar esto.
---
RF13: Está bien expresar con subfuncionalidades las búsquedas?
---
RF14: Aquí me preguntó "si tengo dos ejemplares de un mismo libro, para este sistema serán 2 libros o uno solo con 2 ejemplares?".
El diccionario dice que Stock de libros es la cantidad de ejemplares de un libro que posee la biblioteca, y cuantos están disponibles para préstamo.
Creo que no hay ambigüedad: es un mismo libro con muchos ejemplares (mientras comparta la editorial).
Aquí también dijo "De qué manera se dará de alta o de baja un libro?"
Si se refiere a como se calcula la disponibilidad de stock, es la resta entre la cantidad de veces que existe el libro y la cantidad de ejemplares que están prestados en ese momento.
Para despejar dudas, lo incluyo en el diccionario en "stock disponible".
Si se refiere a como se carga la compra de un nuevo libro, el sistema sería así: el empleado le agrega al libro el código que utilizan ellos, en el sistema escribe el ISBN y el nuevo código.
Si el ISBN existe, simplemente termina ahí su tarea, y en la tabla de stock se suma a la existencia de ese libro.
Si no existe ese ISBN, el empleado carga todos los otros datos del libro. Incluyo como subfuncionalidades estas etapas.
---
RF16: eliminé "El sistema debe mostrar la confiabilidad", ya que ahora es un cálculo automático, y el "mostrar" es parte de la gestión del asociado.
---
RF21: Realmente sería mejor solo usar inscribir (AML)? Que pasa si se equivoca el empleado y le carga a la persona equivocada el préstamo?
Si entonces lo "arregla" poniendo que lo devolvió, no solo va a existir un dato falso: van a ser dos. Por eso utilizo gestionar (que incluye la baja de un préstamo).
---
Al final pregunta "Habrá visitantes que voten y miren detalles de los libros que no sean "asociados"?"
Me parece razonable pensar que sí, y creo que habría muchos más visitantes que asociados. (Un miembro de una familia puede estar asociado, y varios pueden opinar sobre los libros que trae a su casa).
¿Cree que sería más eficiente fusionar visitante y asociado? En ese caso los atributos de los visitantes tendrían que ser más exigentes, o los de los asociados más laxos.
Muchas gracias por la guía profe, creo que está mejorando el aspecto del SRS.
-----------------------------------------------------------------------
Software Requirements Specification[SRS]: Bibliotech v3
-----------------------------------------------------------------------
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 mostrar los sexos.
06) El sistema debe mostrar rangos de edad.
07) El sistema debe gestionar visitantes con su sexo[05] y rango de edad[06].
08) El sistema debe registrar los votos de los visitantes[07] a los libros[04].
09) El sistema debe gestionar comentarios de los visitantes[07] a los libros[04].
10) El sistema debe registrar los votos de los visitantes[07] a los comentarios[09].
11) El sistema debe registrar la popularidad del libro[04].
12) El sistema debe reportar la popularidad[11] de los libros[04] mensualmente.
13) El sistema debe buscar libros.
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 gestionar el stock de los libros[04].
14.1) El sistema debe comprobar si ya existe un libro[04] cuando se lo da de alta.
14.2) El sistema debe sumar la cantidad de ejemplares obtenidos de un libro a su stock correspondiente.
15) El sistema debe mostrar tipos de documentos.
16) El sistema debe calcular la confibilidad.
17) El sistema debe gestionar asociados con su sexo[05], rango de edad[06], tipo de documento[15] y confiabilidad[16].
18) El sistema debe mostrar los meses del año.
19) El sistema debe inscribir cuotas de asociados[17].
20) El sistema debe informar al asociado del vencimiento de la cuota[19].
21) El sistema debe gestionar préstamos de libros[04] a asociados [17].
21.1) El sistema debe detener un nuevo préstamos[21] si excede la confiabilidad[16].
21.2) El sistema debe detener un nuevo préstamo[21] si no está paga la cuota[19].
21.3) El sistema debe detener un nuevo préstamo[21] si no hay stock[14] disponible.
22) El sistema debe informar al asociado[16] del vencimiento del préstamo[20] un día antes del vencimiento.
23) El sistema debe mostrar al empleado los préstamos[21] vencidos hace más de una semana.
Requerimientos No Funcionales[RNF]:
- Gestionar a los visitantes y empleados.
Diccionario:
Editorial: nombre.
Autores: nombre(s) de la(s) persona(s) que escribe(n) el libro.
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.
Libro: isbn, código bibliotecario, editorial, autor, título, género, portada, resumen de la contracara.
Sexo: femenino o masculino.
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.
Visitante: persona externa a la empresa que ingresa al contenido web generado por este software. Nombre, email, rango de edad, sexo.
Votos: valoración positiva, valoración negativa.
Comentarios: opinión que el visitante deja escrita sobre un libro específico.
Popularidad: cantidad de personas que leen la información detallada de un libro(portada y resumen de contracara).
Reportar: crear un archivo con una lista decreciente de los libros y la cantidad de visitas que recibieron.
Busqueda: Comprobación de existencia de un libro(por isbn o título), autor(nombre o NI), editorial(nombre o NI), y listado de los resultados.
Stock de libros: cantidad de ejemplares de un libro que posee la biblioteca, y cuantos están disponibles para préstamo. Libro(ISBN y título), cantidad en existencia, cantidad disponible.
Comprobar si ya existe un libro: verificar si el isbn de un libro ya existe en el sistema.
Tipos de documentos: documento nacional de identidad(DNI), libreta de enrolamiento(LE), libreta cívica(LC), cédula de identidad(CI).
Confiabilidad: cantidad de libros en prestamo que puede tener el asociado en su poder, cantidad de días que puede retener el asociado los libro. Es función de la cantidad de libros devueltos en fecha.
Asociado: persona que recibe libros en préstamo. Nombre, 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. asociado, último mes pago.
Informar: enviar un correo electrónico con información de interés.
Préstamo: entrega de libros de la biblioteca al asociado para que los lea en su hogar. Asociado, libro(ISBN), fecha de préstamo, fecha de vencimiento, fecha de devolución.
Alertar: enviar al empleado una lista con los asociados que no han devuelto los libros antes de la fecha de vencimiento.
Stock Disponible: resta entre la cantidad de veces que existe el libro y la cantidad de ejemplares de ese libro que están prestados en ese momento.
Empleado: persona bajo sueldo que realiza funciones administrativas para el comprador de este software. Nombre, puesto, zona, permiso.
Más información sobre la lista de distribución Php-avanzado