[Php-avanzado] Requerimientos funcionales: Bibliotech v6
Fernando Pehuén Borsani
fpborsani en yahoo.com.ar
Jue Oct 10 17:25:11 ART 2013
----------------
Aclaraciones
----------------
LT>Entiendo que si estás reparando una
"unidad" digas que está en "mantenimiento". Lo que no le
encuentro es nada de sentido aplicarle "mantenimiento" a un préstamo
o a un asociado.
LT>Estás generalizando como "mantenimiento"
para evitar tener un estado "prestado" por ejemplo? Si es así, es una
economía extremadamente costosa!
--Al hacerse un préstamo el sistema asigna
automáticamente a este el estado "activo" y el ente que recibe el
préstamo es el "asociado".
--Al enviar unidades a mantenimiento su estado y ente
receptor es "mantenimiento". Es como un préstamo, porque la unidad es
entregada, pero sin un asociado(porque lo recibe un empleado).
LT>Me sigue resultando confuso que la cuota no
registre dinero, pero que su diccionario sea "suma de dinero que se abona
mensualmente ...". Es solo un comentario: no es para que lo cambies.
--Estaría bueno mejorar la definición para que no resulte
confuso, pero no se me ocurre como definir "cuota" sin mencionar el
pago metálico.
--Y es que la cuota es el pago de dinero. Pero al sistema
no le importa cuánto es, solo quiere saber si se pagó.
--------------------------
Registro de cambios
--------------------------
--reescrita la definición de confiabilidad.
--actualizada la definición de stock.
--actualizada la definición de cuota
--actualizadas RF21 a RF24
--movida la subfuncionalidad de aborto de préstamo por
falta de unidades desde RF21(préstamos) a RF24(stock) para evitar un fallo de
prioridades: la RF21 haría referencia a la RF23. Invertir estas dos RF no
parece una mejor solución porque el stock cambia según los eventos de los
préstamos.
---------------------------------------------------------------------
Software Requirements Specification[SRS] Bibliotech v6
---------------------------------------------------------------------
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 no está paga la cuota[19].
22) El sistema debe mostrar estados de préstamos[21]
23) El sistema debe modificar el estado[22] del préstamo
para señalar su devolución o extravío.
24) El sistema debe gestionar el stock de unidades[05].
24.1) El
sistema debe detener un nuevo préstamo si no hay unidades[05] disponibles.
24.2) El
sistema debe comprobar si ya existe un libro[04] cuando se den de alta
unidades[05].
24.3) El
sistema debe sumar uno al stock al efectuarse el alta de unidad[05].
24.4) El
sistema debe restar uno al stock disponible al efectuarse un préstamo[21].
24.5) El
sistema debe sumar uno al stock disponible al devolverse[23] el préstamo[21].
24.6) El
sistema debe restar uno al stock disponible por extravío[23] de unidad[05].
24.7) El
sistema debe restar uno al stock disponible al enviarse la unidad[05] a
mantenimiento.
24.8) El sistema
debe restar uno al stock disponible si se deteriora irreversiblemente la
unidad[05].
25) El sistema debe informar al asociado[16] del
vencimiento del préstamo[21] un día antes del vencimiento.
26) 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.
--Estados: activo, anulado, devuelto en fecha, devuelto
vencido, extraviado, mantenimiento, readquirido.
Atributos:
nombre.
--Préstamo: entrega de unidades de la biblioteca al
asociado, para que los lea en su hogar, y su posterior devolución.
Atributos:
Asociado, libro(ISBN), fecha de préstamo, fecha de vencimiento, fecha de
devolución, estado.
--Stock de unidades: 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 de unidades, cantidad disponibles para préstamo.
--Empleado: persona bajo sueldo que realiza funciones
administrativas para el comprador de este software.
Atributos:
Nombre, puesto, zona, permiso.
Gracias por la revisión profe.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://www3.fi.mdp.edu.ar/pipermail/php-avanzado/attachments/20131010/7fba94c2/attachment-0001.html>
Más información sobre la lista de distribución Php-avanzado