[Php-avanzado] Requerimientos Funcionales: Bibliotech v5

Fernando Pehuén Borsani fpborsani en yahoo.com.ar
Lun Oct 7 15:34:08 ART 2013


Hola profe! Le paso las aclaraciones, el registro de cambios y la SRSv5 para revisión.

-------------------
Aclaraciones
-------------------
LT>Por el tipo de sistema, le haría falta una funcionalidad que describa la devolución.

--Agrego mi propuesta de inclusión en la RF22.

LT>Esta especificación de Stock implica que el sistema no te podría decir hoy cuantos libros había en Agosto pasado.
LT>Si esto no es relevante para el problema, está bien expresado, si no, hay que plantear el Movimiento de Stock.
--No contemplaba incluir en el sistema de la biblioteca el stock histórico. ¿Cree que sería importante para una bibliteca?

LT>Tampoco estás previendo un mecanismo para dar de baja un libro, en caso de que se pierda, se rompa, o sea devuelto jamás, etc.
--¡Se me había pasado! Actualizo las RF para incluir tales posibilidades.
--También agrego la posiblidad de mantenimiento. Se considera que el asociado es “mantenimiento” y que el estado del préstamo es “mantenimiento” en ese caso.

LT>¿De dónde se saca el costo de la Cuota? Todos los asociados pagan la misma cuota? Acá hablás del registro de la cuota que debe abonar el asociado, pero no están especificados los valores de las cuotas vigentes... y no parece buena idea que el monto lo ingrese el cajero al momento de cobrar, porque permitiría arbitrariedades...
LT>También veo en el diccionario que la cuota no tiene como atributo el importe: es una omisión o este sistema registra solo que se tenga la cuota al día, sin reflejar información sobre el importe pagado?
--El sistema solo registra si la cuota está al día o no: no maneja contenido contable. Hay tres tipos de usuarios, clasificados por su confiabilidad, pero sus beneficios no son monetarios.

LT>Sigue sin estar resuelto, y es relevante para el tema del stock y de los préstamos, el manejo de las Unidades de cada Libro.
--Incluyo lo que me explicó en clase para proponer una solución a esta ambigüedad.

------------------------------
Registro de cambios
------------------------------
--Insertada RF5: Unidades de libro. Insertadas las dependencias (RF15, RF18, RF21).

--Agregado a "préstamo" dos nuevos estados: extraviado y mantenimiento.

--Agregada RF23: Devolución.

--Agregada RF24: Actualización de stock.


-------------------------------------------------------------------------------
Software Requirements Specification[SRS] Bibliotech v5
-------------------------------------------------------------------------------
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 los votos de los visitantes[08] a los comentarios[10].
12) El sistema debe registrar la popularidad del libro[04].
13) El sistema debe reportar la popularidad[12] de los libros[04] mensualmente.
14) El sistema debe buscar libros[04].
    14.1) Por ISBN
    14.2) Por Editorial[01].
    14.3) Por Autor[02].
    14.4) Por título.
    14.5) Por género[03].
15) El sistema debe gestionar el stock de unidades de libros[04].
    15.1) El sistema debe comprobar si ya existe un libro[04] cuando se de alta a unidades[05].
    15.2) El sistema debe aumentar las unidades[05] de un libro[04] en su cantidad correspondiente.
16) El sistema debe mostrar tipos de documentos.
17) El sistema debe gestionar asociados con su sexo[06], rango de edad[07] y tipo de documento[16].
18) El sistema debe calcular la confiabilidad de los asociados[17].
19) El sistema debe mostrar los meses del año.
20) El sistema debe inscribir cuotas de asociados[16].
21) El sistema debe informar al asociado del vencimiento de la cuota[20].
22) El sistema debe registrar el préstamo de unidades[05] a asociados[17].
    22.1) El sistema debe detener un nuevo préstamo[22] si excede la confiabilidad[18].
    22.2) El sistema debe detener un nuevo préstamo[22] si no está paga la cuota[20].
    22.3) El sistema debe detener un nuevo préstamo[22] si no hay stock[15] disponible.
23) El sistema debe modificar el estado del préstamo[22] para señalar su devolución o extravío.
24) El sistema debe actualizar el stock[15].
    24.1) El sistema debe actualizar el stock[15] si se efectúa el préstamo[22].
    24.2) El sistema debe actualizar el stock[15] al devolverse[23] el préstamo[22].
    24.3) El sistema debe actualizar el stock[15] si extravían[23] unidades[05].
    24.4) El sistema debe actualizar el stock[15] si se envían unidades[05] a mantenimiento.
    24.5) El sistema debe actualizar el stock[15] si se deterioran irreversiblemente unidades[05].
25) El sistema debe informar al asociado[17] del vencimiento del préstamo[22] un día antes del vencimiento.
26) El sistema debe mostrar al empleado los préstamos[22] vencidos hace más de una semana.

Requerimientos No Funcionales[RNF]:
- Gestionar a los empleados.


-----------------
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: isbn, editorial, autor, título, género, portada, resumen de la contracara.
--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, email, rango de edad, sexo.
--Votos: valoración positiva, valoración negativa.
  Atributo: valor.
--Comentarios: opinión que el visitante deja escrita sobre un libro específico.
  Atributos: autor, contenido, libro.
--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.
--Busqueda: Comprobación de existencia de un libro(por isbn o título), autor, editorial, y listado de los resultados.
  Atributos: término de búsqueda, coincidencias.
--Unidad de libro: copia de un libro que comparte todas las mismas propiedades que el original menos su código bibliotecario.
  Atributos: código bibliotecario, referencia al libro(#posiblemente isbn#), disponibilidad para préstamo.
--Stock de unidades de libros: cantidad de veces que un libro(identificado por ISBN) existe en la biblioteca, y cuantos están disponibles para préstamo.
  Atributos: unidades, cantidad actualmente en préstamo, cantidad disponible(cantidad en existencia menos cantidad actualmente en préstamo).
--Comprobar si ya existe un libro: verificar si el isbn de un libro ya existe en el sistema.
  Atributos: isbn 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. Los rangos dependen de la cantidad de unidades que el usuario devolvió a tiempo: 1) hasta 100 préstamos: 2 unidades, 2 semanas. 2) entre 101 y 300: 2 unidades, 3 semanas. 3) más de 301: 3 unidades, 3 semanas.
  Atributos: asociado, rango.
--Asociado: persona que paga un abono mensual y a cambio puede recibir unidades en préstamo.
  Atributos: 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.
  Atributos: asociado, último mes pago.
--Informar: enviar un correo electrónico con información de interés.
  Atributos: Asociado, tipo de informe, fecha.
--Préstamo: entrega de unidades de la biblioteca al asociado, para que los lea en su hogar, y su posterior devolución. El préstamo tiene seis estados: activo, anulado, devuelto en fecha, devuelto vencido, extraviado, mantenimiento
  Atributos: Asociado, libro(ISBN), fecha de préstamo, fecha de vencimiento, fecha de devolución, estado.
--Empleado: persona bajo sueldo que realiza funciones administrativas para el comprador de este software.

  Atributos: Nombre, puesto, zona, permiso.
---------------------


Ayer pensaba que somos muchos alumnos,  y debe de tomarle mucho tiempo corregir nuestras SRS, sobre todo porque en el proceso generamos muchas versiones.
¡Gracias por la dedicación Profe!


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