[Php-avanzado] Requerimientos funcionales: Bibliotech v6.1

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Lun Oct 21 14:33:13 ART 2013


Hola Pehúen,

El dom, 20-10-2013 a las 10:06 -0700, Fernando Pehuén Borsani escribió:
> Hola Profe! Le paso la versión actualizada de los requerimientos funcionales.
> 
> -------------------
> Comentarios
> -------------------
> -- Es necesario tener en mente que la RNF "gestionar empleados" incluye a los empleados de mantenimiento.

	En realidad, esto incluye a todos los operadores humanos del subsistema
de préstamos (a.k.a interfaz administrativa) ... no me doy cuenta por
qué hacés esta aclaración.

> -- Los estados ya no se muestran porque son manejados automáticamente por el sistema. Simplemente según las acciones del empleado el sistema asignará los estados.
>      Ejemplos:
>      Cuando se hace el préstamo o se envía algo a mantenimiento solo se cargan los datos y se le da aceptar, el empleado no marca el estado como "activo".
>      Cuando se devuelve un préstamo o una unidad desde mantenimiento el empleado solo señala la devolución, los estados(3 posibilidades) los asignará el sistema.
>      Aunque cuando ocurren anulaciones, destrucciones-extravíos o readquisiciones el empleado hará click en los botones correspondientes, estos son detalles de diseño.
>    Por lo tanto ya no es válido decir que los estados se muestran.

	Ok. Entonces si estoy viendo un ejemplar en un listado por ejemplo, no
se puede saber en qué estado estará en ese momento?

> ------------------------------
> Registro de cambios
> ------------------------------
> -- Reescrita la RF 21.2 para no hablar de "cuota paga".
> 
> -- Se han distribuidos los estados a través de préstamo, devolución,
> extravío y mantenimiento.
> -- Las devoluciones y extravíos son ahora las RF22 y RF23.
> -- Creadas las entradas de diccionario correspondientes a las RF22 y
> RF23.
> -- Agregada la RF24 y su diccionario.
> -- Actualizadas las subfuncionalidades de la RF25.
> 
> ---------------------------------------------------------------------------------
> Software Requirements Specification[SRS] Bibliotech v6.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 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 mostrar tipos de documentos.
> 16) El sistema debe gestionar asociados con su sexo[06], rango de edad[07] 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].
> 20) El sistema debe informar al asociado del vencimiento de la cuota[19].
> 21) El sistema debe registrar el préstamo de unidades[05] a asociados[16].
>     21.1) El sistema debe detener un nuevo préstamo si excede la confiabilidad[17].
>     21.2) El sistema debe detener un nuevo préstamo si la cuota[19] no corresponde al mes en curso.

	Si no te entendí mal como se registran las cuotas, en la que vale la
última, esto tiene que expresarse como si "la cuota es anterior al mes
en curso.".
	Si pago hoy hasta diciembre 2013, cuando retiro un libro en Noviembre,
no aparecerá cuota de ese mes registrada...

	Estás seguro de que todos los libros de esta biblioteca tienen
ISBN ??? Es una cosa bastante reciente el ISBN y suele ser necesario
reconocer un libro por  un código interno (que de existir el ISBN puede
ser perfectamente ese)

> 22) El sistema debe registrar devoluciones.

	La devolución hace referencia a un Préstamo en vez de a un Ejemplar y a
un Socio???
	Qué complicado!!!

	Te falta como atributo de la Devolución la fecha en que debía
devolverse esa Unidad. Es necesaria para saber si se devuelve en fecha o
no.

> 23) El sistema debe registrar extravíos.

	Idem RF22.

>     23.1) El sistema debe registrar readquisiciones.

	No estoy seguro de entender esto: si un asociado repone una unidad que
perdió, no debería tener un número nuevo de unidad

> 24) El sistema debe registrar el mantenimiento de unidades[05].

	Qué es el atributo "nombre" en el diccionario de los Mantenimientos?

> 25) El sistema debe gestionar el stock de unidades[05].
>     25.1) El sistema debe detener un nuevo préstamo si no hay unidades[05] disponibles.

	El 25.1 me parece que iría como proceso del Préstamo...

>     25.2) El sistema debe comprobar si ya existe un libro[04] cuando se den de alta unidades[05].
>     25.3) El sistema debe sumar uno a stock:cantidad y stock:disponibles al efectuarse el alta de unidad[05].
>     25.4) El sistema debe restar uno a stock:disponibles al efectuarse un préstamo[21].
>     25.5) El sistema debe sumar uno a stock:disponibles por devoluciones[22].
>     25.6) El sistema debe restar uno a stock:cantidad por extravíos[23].
>     25.7) El sistema debe sumar uno a stock:cantidad y stock:disponibles por readquisiciones[23.1].
>     25.8) El sistema debe restar uno a stock:disponible al enviarse la unidad[05] a mantenimiento[24].
>     25.9) El sistema debe restar uno a stock:cantidad por destrucción de la unidad[05] en mantenimiento[24].
>     25.10) El sistema debe sumar uno al stock:disponible al volver la unidad[05] de mantenimiento[24].
> 26) El sistema debe informar al asociado[16] del vencimiento del préstamo[21] un día antes del vencimiento.
> 27) El sistema debe mostrar 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, editorial, autor, título, género, portada, resumen de la contracara.
> --Unidad: 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.
> --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.
> --Búsqueda: 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.
> --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.
>   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 reponga el ejemplar extraviado, 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, 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.
>   Atributos: Asociado, tipo de informe, fecha.
> --Préstamo: entrega de unidades de la biblioteca al asociado, para que los lea en su hogar.
>   Atributos: Asociado, libro(ISBN), fecha de préstamo, fecha de vencimiento, fecha de devolución, estado: activo o anulado.
> --Devolución: cese del préstamo porque el asociado entregó de vuelta la unidad a la biblioteca.
>   Atributos: Asociado, préstamo, 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, préstamo, estado: extraviado.
> --Readquisición: cuando el usuario que efectuó un extravío reemplaza la unidad perdida por otra comprada por él.
>   Atributos: Asociado, extravío, estado: readquirido.
> --Mantenimiento: mantenimiento recibe unidades dañadas e intenta repararlas. En caso que sea imposible, la destruirá.
>   Atributos: nombre, unidad, 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: isbn, cantidad, disponibles.
> --Empleado: persona bajo sueldo que realiza tareas para el comprador de este software.
>   Atributos: Nombre, puesto, zona, permiso.

	Qué es la "zona" que aparece acá???


	Vamos que falta poquítisimo!

-- 

Leonardo Tadei
leonardot en pegasusnet.com.ar
Pegasus Tech Supply
Tel: (+54)(+223) 471-2880
La Salle 1131 - Mar del Plata - Argentina
http://www.pegasusnet.com.ar
http://www.grupopegasus.com
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key



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