[Php-avanzado] Bibliotech: SRS v6.4.2 y DER v1.3.1
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Jue Ene 16 20:29:43 ART 2014
Hola Pehúen,
El mar, 14-01-2014 a las 13:47 -0300, Fernando Pehuén Borsani escribió:
> Hola Profe!
>
> Le mando las últimas revisiones de las funcionalidades y las tablas.
Respecto a la SRS y casi como una maldad, te comento que ahora que los
Empleados son una Funcionalidad, sería tal vez útil registrar qué
empleado presta un libro y qué empleado lo recibe... permitiría hacer un
mejor seguimiento de los libros en relación con los empleados que los
manejan.
Guardo esta versión para futura referencia.
Vamos a las tablas:
- hay dibujada una relación inexistente entre Rangos y
Visitantes/Asociados. Qué quiere decir esa rayita? Si como supongo no
quiere decir nada a nivel del almacenamiento, sacala.
- en el RF23 los Préstamos tienen "estado" pero no está reflejado en el
almacenamiento.
- en el RF24 las Devoluciones tienen "estado" pero no está reflejado en
el almacenamiento.
- en el RF25 los Extravíos tienen "estado" pero no está reflejado en el
almacenamiento. (y no le encuentro mucho sentido que un Extravío tenga
también que estar en estado "extraviado")
- en el RF26 las Adquisiciones tienen "estado" pero no está reflejado en
el almacenamiento. Acabo de descubrir por qué siempre me sonó tan mal
esto: no son adquisiciones, porque la biblioteca no compra nada: son
Reposiciones, porque el asociado repone una unidad que no puede
devolver.
- el el RF27 está bien que haya "estados", pero la enumeración en el
diccionario tiene ahora cosas sin sentido.
Creo que hay "estados" de diferentes cosas en este problema, pero hasta
ahora se muestra todo junto. Fijate en el diccionario las veces que se
hace referencia a un "estado" y "activo o anulado" que son los estados
de un préstamo tiene sentido, pero no al lado de "destruida o en
mantenimiento", que creo que no deberían ser estados válidos de un
préstamo...
Antes de que me olvide: cuando terminemos la normalización, te digo los
RF que te voy a pedir que me entregues. El trabajo está quedando
demasiado grande, así que lo recortamos para la entrega. Igual, podemos
seguir viéndolo hasta dejarlo terminado, pero ya en calidad de egresado.
> Gracias!
Por nada!
> -----------------------------------------------------------
> Software Requirements Specification[SRS] Bibliotech v6.4.2
> -----------------------------------------------------------
>
> 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 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 inscribir 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.
> 21) El sistema debe gestionar puestos
> 22) El sistema debe gestionar a los empleados con su puesto[26].
> 23) El sistema debe registrar el préstamo de unidades[05] a asociados[15]
> con su estado[20] y empleado[22] que entrega la unidad.
> 23.1) El sistema debe detener un nuevo préstamo si excede la
> confiabilidad[16].
> 23.2) El sistema debe detener un nuevo préstamo si la cuota[18] es
> anterior al mes en curso.
> 23.3) El sistema debe detener un nuevo préstamo si no hay unidades[05]
> disponibles.
> 24) El sistema debe registrar devoluciones de unidades[05] por parte de los
> asociados[15] con su estado[20] y empleado[22] que recibe la unidad.
> 25) El sistema debe registrar extravíos de unidades[05] por parte de los
> asociados[15] con su estado[20] y empleado[22] que da de baja la unidad.
> 26) El sistema debe registrar adquisiciones de unidades[05] por parte de los
> asociados[15] con su estado[20] y empleado[22] que recibe la unidad.
> 27) El sistema debe registrar el mantenimiento de unidades[05] con su
> estado[20], empleado[22] que entrega la unidad y empleado[22] que recibe la
> unidad.
> 28) El sistema debe gestionar el stock de unidades[05].
> 28.1) El sistema debe comprobar si ya existe un libro[04] cuando se den
> de alta unidades[05].
> 28.2) El sistema debe sumar uno a stock:cantidad y stock:disponibles al
> efectuarse el alta de unidad[05].
> 28.3) El sistema debe restar uno a stock:disponibles al efectuarse un
> préstamo[23].
> 28.4) El sistema debe sumar uno a stock:disponibles por
> devoluciones[24].
> 28.5) El sistema debe restar uno a stock:cantidad por extravíos[25].
> 28.6) El sistema debe sumar uno a stock:cantidad y stock:disponibles por
> adquisiciones[26].
> 28.7) El sistema debe restar uno a stock:disponible al enviarse la
> unidad[05] a mantenimiento[27].
> 28.8) El sistema debe restar uno a stock:cantidad por destrucción de la
> unidad[05] en mantenimiento[27].
> 28.9) El sistema debe sumar uno al stock:disponible al volver la
> unidad[05] de mantenimiento[26].
> 29) El sistema debe informar al asociado[15] del vencimiento del
> préstamo[23] un día antes del vencimiento.
> 30) El sistema debe mostrar los préstamos[21] 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 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, Apellido, Apodo, 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 adquisició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: reflejan el movimiento de unidades: activo, anulado, devuelto en
> fecha, devuelto vencido, extraviado, adquirido, reparando, reparada,
> destruida.
> 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: activo o anulado.
> --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ó, 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, unidad, estado: extraviado.
> --Adquisición: cuando el usuario que efectuó un extravío entrega a la
> biblioteca una unidad comprada por él.
> Atributos: Asociado, unidad, estado: adquirido.
> --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.
> --Mantenimiento: mantenimiento recibe unidades dañadas e intenta repararlas.
> En caso que sea imposible, la destruirá.
> Atributos: unidad, empleado que entrega, empleado que recibe, 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: código identificador, cantidad, disponibles.
> _______________________________________________
> Lista de correo: Php-avanzado
> Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar
> Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe
--
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