[Php-avanzado] Requerimientos Bibliotech v4

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Mie Oct 2 10:10:55 ART 2013


Hola Pehuén,

El mar, 01-10-2013 a las 15:50 -0700, Fernando Pehuén Borsani escribió:
> -----------------
> Aclaraciones:
> -----------------
> Género y subgénero:
> 
> PB> "[...]el género es gestionable: como hay una gran variedad de
> subgeneros[...]"
> 
> LT>>"Te referís acá a Subgéneros... es otra entidad o lo estás usando
> como sinónimo de Género?"
> Fui ambigüo al expresarme: quise decir que mi SRS define como
> "géneros" lo que en el plano literario son en realidad "subgéneros" (o
> sea, no es una nueva entidad, eran los términos equivalentes entre mi
> sistema y el universo).
> 
> Lo hice así porque:
> a) Los verdaderos géneros son "narrativo, lírico y dramático", y son
> tan generales que no servirían a mis propósitos.
> b) Los subgéneros tienen a su vez sub-subgéneros, lo que llega a
> ofuscar la claridad del dato representado.
> c) Es más directo separar como hace la Bibliteca Municipal: asignando
> un status parejo a cosas que un Licenciado en Letras dividiría en
> realidad en tres jerarquías diferentes.

	Ok. Te preguntaba porque al aparecer un término nuevo, podía significar
que había algo nuevo que tener en cuenta.

> _______________________
> 
> Gestión de préstamos:
> LT>"Te lo preguntaba porque existe el préstamo, pero no la
> devolución."
> 
> El préstamo tiene entre sus atributos los siguientes: fecha de
> vencimiento, fecha de devolución, estado (sin detallar aún cuales son,
> los añado en esta versión).
> 
> O sea que la gestión del préstamo incluye la devolución, porque el
> préstamo solo termina cuando se ingresa la "fecha de devolución".

	Lo asumía, pero por el tipo de sistema, le haría falta una
funcionalidad que describa la devolución.
	El sistema registra el prestamo de libros? Sí.
	El sistema registra la devolución de libros? No aparece como
funcionalidad.

> _____________________
> 
> Fecha de Vencimiento:
> LT> La fecha de vencimiento la decide el bibliotecario al prestar un
> libro? O todos los libros se prestan una cantidad de días fija? Esta
> cantidad de días puede cambiar?
> 
> El sistema asigna la fecha de vencimiento evaluando la confiabilidad
> del usuario. Actualizo la descripción de "confiabilidad" para que
> explique el cálculo.

	Ok.

> _______________________
> 
> ------------------
> Changelog v4:
> ------------------
> --Mejorada la señalización de atributos en el diccionario.
> 
> --Reemplazado "ejemplares" por "unidades", un término más específico.
> --Agregado a los atributos de stock de libros: "cantidad actualmente
> en prestamo".
> --Intercambiadas prioridades de RF16 y RF17, actualizadas las
> dependencias.
> --Reescrita la definición de confiabilidad para exponer los criterios
> de cálculo.
> --RF21, cambio de "gestionar" a "registrar".
> --Préstamo expone los cuatro estados del mismo: activo, anulado,
> devuelto en fecha, devuelto vencido.
> --Agregado "y su posterior devolución." en el diccionario de
> "Préstamo" para clarificar la gestión del mismo.
> --Agregada RF21.4: "El sistema debe actualizar la información de
> stock[14] disponible si se efectúa el prestamo."

	Gracias por el changelog: me facilita el seguimiento de la SRS.

	Te planteo abajo algunas dudas que me quedan:

> ---------------------------------------------------------
> Software Requirements Specification[SRS] v4
> ---------------------------------------------------------
> 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 unidades obtenidos de
> un libro a su stock correspondiente.

	Esta especificación de Stock implica que el sistema no te podría decir
hoy cuantos libros había en Agosto pasado.
	Si esto no es relevante para el problema, está bien expresado, si no,
hay que plantear el Movimiento de Stock.
	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.

> 15) El sistema debe mostrar tipos de documentos.
> 16) El sistema debe gestionar asociados con su sexo[05], rango de
> edad[06] y tipo de documento[15].
> 17) El sistema debe calcular la confiabilidad de los asociados[16].
> 18) El sistema debe mostrar los meses del año.
> 19) El sistema debe inscribir cuotas de asociados[16].

	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 nó 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...
	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?

> 20) El sistema debe informar al asociado del vencimiento de la
> cuota[19].
> 21) El sistema debe registrar préstamos de libros[04] a asociados[16].
>       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.
>       21.4) El sistema debe actualizar la información de stock[14]
> disponible si se efectúa el prestamo.
> 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 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, código bibliotecario, 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.
> Stock de libros: cantidad de unidades de un libro(identificado por
> ISBN) que posee la biblioteca, y cuantos están disponibles para
> préstamo.
> --Atributos: Libro(ISBN y título), cantidad en existencia, 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 prestamos 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 libros que el usuario devolvió a
> tiempo: 1) hasta 100 prestamos: 2 libros, 2 semanas. 2) entre 101 y
> 300: 2 libros, 3 semanas. 3) más de 301: 3 libros, 3 semanas.
> --Atributos: asociado, rango.
> Asociado: persona que paga un abono mensual y a cambio puede recibir
> libros 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 libros de la biblioteca al asociado, para que los
> lea en su hogar, y su posterior devolución. El préstamo tiene cuatro
> estados: activo, anulado, devuelto en fecha, devuelto vencido.
> --Atributos: Asociado, libro(ISBN), fecha de préstamo, fecha de
> vencimiento, fecha de devolución, estado.
> Stock Disponible: resta entre la cantidad de veces que existe el libro
> y la cantidad de unidades de ese libro que están prestados en ese
> momento.
> 
> Empleado: persona bajo sueldo que realiza funciones administrativas
> para el comprador de este software.
> --Atributos: nombre, puesto, zona, permiso.

	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.
	Si te parece, charlamos este punto mañana en clase, así lo resolvemos
más rápido.

	Como verás, más que nada tengo dudas que surgen de que la
especificación permite interpretar algunas cosas de más de una manera.
Las preguntas que te hago tienen como objetivo el determinar y
documentar de cuál de las maneras posibles se va a hacer algo.

	Saludos!

-- 
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