[Php-avanzado] Bibliotech

Fernando Pehuén Borsani fpborsani en yahoo.com.ar
Vie Ene 24 19:54:44 ART 2014


LT> Con esta redefinición de Registrar [...] este sistema es tan confiable
como recordar de memoria lo que le pasa a los libros :-(
	
Eso significa entonces dos cosas:
1) No hay escapatoria a usar estados si no quiero perder información.
2) Registrar estaba bien definido como AML.

--------------------------------------------------------------------------
Software Requirements Specification[SRS] Bibliotech
--------------------------------------------------------------------------
Cambios:
-------------
* Revisada la definición de inscripción, registro y gestión de datos.
* Agregados los estados a devoluciones, extravíos y reposiciones para
permitir el estado anulado (RF21, RF25-27).
* Agregado el estado anulado en préstamos y mantenimientos.
* Agregados los atributos apodo y clave a visitantes (RF08) y empleados
(RF24).

--------------------------------------------
Definición de términos recurrentes:
--------------------------------------------
Gestionar: ABML (alta, baja, modificación y listado) de datos.
Registrar: AML (alta, modificación y listado) de datos.
Inscribir: AL (alta y listado) de datos.

------------------------------------------
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 inscribir 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 inscribir la popularidad del libro[04].
12) El sistema debe reportar la popularidad[12] de los libros[04]
mensualmente.
13) El sistema debe buscar libros[04].
    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 mostrar tipos de documentos.
15) El sistema debe gestionar asociados con su sexo[06], rango de edad[07] y
tipo de documento[15].
    15.1) El sistema debe impedir la baja de asociados que tengan
unidades[05] en su poder.
16) El sistema debe calcular la confiabilidad de los asociados[15].
17) El sistema debe mostrar los meses del año.
18) El sistema debe registrar cuotas de asociados[15] con su mes[17].
19) El sistema debe informar al asociado del vencimiento de la cuota[18].
20) El sistema debe mostrar los estados del préstamo.
21) El sistema debe mostrar los estados red.
22) El sistema debe mostrar los estados de mantenimiento.
23) El sistema debe gestionar puestos
24) El sistema debe gestionar a los empleados con su puesto[23].
25) El sistema debe registrar el préstamo de unidades[05] a asociados[15]
con su estado del préstamo[20] y empleado[24] que entrega la unidad[05].
26) El sistema debe registrar devoluciones de unidades[05] por asociados[15]
con su estado der[21] y empleado[24] que recibe la unidad[05].
27) El sistema debe registrar extravíos de unidades[05] por asociados[15]
con su estado der[21] y empleado[24] que da de baja la unidad[05].
28) El sistema debe registrar reposiciones de unidades[05] por asociados[15]
con su estado der[21] y empleado[24] que recibe la unidad[05].
29) El sistema debe registrar el mantenimiento de unidades[05] con su estado
de mantenimiento[22], empleado[24] que entrega la unidad[05] y empleado[24]
que recibe la unidad[05].
30) El sistema debe gestionar el stock de unidades[05].
    30.1) El sistema debe comprobar si ya existe un libro[04] cuando se den
de alta unidades[05].
    30.2) El sistema debe sumar uno a stock:cantidad y stock:disponibles al
efectuarse el alta de unidad[05].
    30.3) El sistema debe restar uno a stock:disponibles al efectuarse un
préstamo[25].
    30.4) El sistema debe sumar uno a stock:disponibles por
devoluciones[26].
    30.5) El sistema debe restar uno a stock:cantidad por extravíos[27].
    30.6) El sistema debe sumar uno a stock:cantidad y stock:disponibles por
reposiciones[28].
    30.7) El sistema debe restar uno a stock:disponible al enviarse la
unidad[05] a mantenimiento[29].
    30.8) El sistema debe restar uno a stock:cantidad por destrucción de la
unidad[05] en mantenimiento[29].
    30.9) El sistema debe sumar uno al stock:disponible al volver la
unidad[05] de mantenimiento[29].
31) El sistema debe informar al asociado[15] del vencimiento del
préstamo[25] un día antes del vencimiento.
32) El sistema debe mostrar los préstamos[24] vencidos hace más de una
semana.

Requerimientos No Funcionales[RNF]:
-- El sistema debe gestionar permisos.

 
---------------
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: código identificador (isbn o equivalente previo a 1970),
editorial, autores, título, género, portada, resumen de la contracara.
--Unidad: copia de un libro que comparte todas los atributos con el
original, menos el código bibliotecario, propio de la unidad.
  Atributos: código bibliotecario.
--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 22 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, Apellido, Apodo, contraseña, email, rango de edad,
sexo.
--Votos: valoración positiva o negativa sobre el libro.
  Atributo: valor.
--Comentarios: opinión que el visitante deja escrita sobre un libro
específico.
  Atributos: autor, contenido, libro, fecha.
--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 código identificador
o título), autor, editorial, y listado de los resultados.
--Comprobar si ya existe un libro: verificar si el código identificador de
un libro ya existe en el sistema.
  Atributos: código identificador 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 efectúe
una reposición, 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, Apellido, 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. Hay dos
tipos: de vencimiento de cuota y de vencimiento de préstamo.
  Atributos: Asociado, tipo de informe, fecha, informe.
--Estados del préstamo: reflejan en que parte del proceso de préstamo se
encuentra la unidad: activo, devuelto en fecha, devuelto vencido, finalizado
por extravío, anulado.
  Atributo: nombre.
--Estados red: indica el estado de la reposición/extraivío/devolución:
activo o anulado.
  Atributo: nombre.
--Estados de mantenimiento: reflejan en que parte del proceso de
mantenimiento se encuentra la unidad: activo, reparando, destruido, anulado.
  Atributo: nombre.
--Préstamo: entrega de unidades de la biblioteca al asociado, para que los
lea en su hogar.
  Atributos: Asociado, unidad, fecha de préstamo, fecha de vencimiento,
estado del préstamo.
--Devolución: cese del préstamo porque el asociado entregó de vuelta la
unidad a la biblioteca.
  Atributos: Asociado, unidad, fecha en que se devolvió.
--Extravío: pérdida de la unidad porque el asociado no la devolvió a la
biblioteca.
  Atributos: Asociado, unidad.
--Reposición: cuando el usuario que efectuó un extravío entrega a la
biblioteca una unidad comprada por él.
  Atributos: Asociado, unidad nueva.
--Puesto: departamento en el que trabaja el empleado. Ej: infantil,
escolares, histórico.
--Permiso: nivel de acceso. El cero representa acceso nulo. A mayor número,
mayor cantidad de funcionalidades disponibles.
--Empleado: persona bajo sueldo que realiza tareas para el comprador de este
software.
  Atributos: nombre, apellido, puesto, permiso, apodo, clave.
--Mantenimiento: mantenimiento recibe unidades dañadas e intenta repararlas.
En caso que sea imposible, la destruirá.
  Atributos: unidad, empleado que entrega, empleado que recibe, estado de
mantenimiento.
--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: código identificador, cantidad, disponibles.

----------------------------------
Diagrama Entidad Relación
----------------------------------
Cambios:
------------
* Agregada la tabla "estadosRED".
* Agregados los atributos apodo y clave en "visitantes" y "empleados".

Profe: por favor no se olvide de decirme hasta cual RF tengo que programar
para poder entregar el trabajo, porque cada vez lo veo más grande, y tengo
que empezar a escribir o no llego (y no estuve escribiendo porque pensaba
hacerlo antes de terminar la SRS/DER).

Gracias por la asistencia.
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: bibliotech2.pdf
Type: application/pdf
Size: 9722 bytes
Desc: no disponible
URL: <http://www3.fi.mdp.edu.ar/pipermail/php-avanzado/attachments/20140124/9c8008d8/attachment-0001.pdf>


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