[Php-avanzado] Bibliotech: SRS v6.4.5 - DER v 1.4.1

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Jue Ene 30 15:22:38 ART 2014


Hola Pehuén,

	La SRS creo que describe bien y de forma consistente el problema.
	Guardo esta versión para futura referencia.

	Como detalles que no hace falta que mejores:

SRS:
----
Unidad: el el diccionario lo correcto es enumerar todos los datos que
tiene, en vez de decir que repite los de otra cosa.

Comentario: en el diccionario figura "autor", pero debería ser
"visitante", ya que en esta SRS el autor es otra cosa.

Búsquedas: dice "buscar por ISBN"  pero el atributo se llama "código
identificador".

DER:
----
Géneros: el campo con el nombre debe estar en singular.

Rangos: la tabla se llama "rengos" ;-) Es tabla no debería tener como
forma id, límite inferior, límite superior y nombre del rango ???
Podrías ahorrarte uno de los límites (pero no es fácil porque el primer
es "menor de" y el último es "mayor de"), pero me parece que el nombre
no.

Asociados: el campo "nacimiento" queda ambiguo (lugar de nacimiento?
fecha de nacimiento? sexo de nacimiento?) sería más claro
"fechaNacimiento".

Préstamos: no tiene relación con Empleados. Los campos etán bien, pero
la raya que une las entidades sobra.

Devoluciones: idem.

Extravíos: ibidem.

Reposiciones: ib ibidem.

Mantenimientos: ib ib ibidem.


	Respecto a qué cosas implementar para la entrega, creo que lo más
interesante es el subsistema de préstamos y stock, es decir, no hacer la
parte de los comentarios, los votos y la popularidad.
	Serían los RF 1, 2, 3, 4, 5, 6, 13, 14, 15, 17, 18, 21, 22, 23, 24, 25,
26, 27, 28, 32, 34.
	Son 21 RF y si no veo mal, queda un sistema de préstamos de libros
funcional.

	Seguimos!



El mar, 28-01-2014 a las 20:58 -0300, Fernando Pehuén Borsani escribió:
> Profe:
> 
> Le envío la última revisión de la SRS y DER para mi proyecto.
> 
> Comencé a escribir el código necesario para el RF8 (visitantes) para ir
> ganando tiempo. Cuando pueda dígame hasta que RF tengo que escribir para
> poder entregar los archivos el 27 de febrero.
> 
> Muchas gracias por las revisiones.
> 
> 
> ------------
> Cambios:
> ------------
> SRS - Incorporados los RF 22, 23 y 24 (estados de devolución, extravío y
> reposición) y sus descripciones en el diccionario.
> DER - Incorporadas las entidades correspondientes a los cambios de la SRS.
> 
> -------------------------------------------------------------------------
> Software Requirements Specification[SRS] Bibliotech v6.4.5
> -------------------------------------------------------------------------
> 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 gestionar puestos
> 21) El sistema debe gestionar a los empleados con su puesto[20].
> 22) El sistema debe mostrar los estados de préstamo.
> 23) El sistema debe mostrar los estados de devolución.
> 24) El sistema debe mostrar los estados de extravío.
> 25) El sistema debe mostrar los estados de reposición.
> 26) El sistema debe mostrar los estados de mantenimiento.
> 27) El sistema debe registrar el préstamo de unidades[05] a asociados[15]
> con su estado de préstamo[22] y empleado[21] que entrega la unidad[05].
> 28) El sistema debe registrar devoluciones de unidades[05] por asociados[15]
> con su estado de devolución[23] y empleado[21] que recibe la unidad[05].
> 29) El sistema debe registrar extravíos de unidades[05] por asociados[15]
> con su estado de extravío[24] y empleado[21] que da de baja la unidad[05].
> 30) El sistema debe registrar reposiciones de unidades[05] por asociados[15]
> con su estado de reposición[25] y empleado[21] que recibe la unidad[05].
> 31) El sistema debe registrar el mantenimiento de unidades[05] con su estado
> de mantenimiento[26], empleado[21] que entrega la unidad[05] y empleado[21]
> que recibe la unidad[05].
> 32) El sistema debe gestionar el stock de unidades[05].
>     32.1) El sistema debe comprobar si ya existe un libro[04] cuando se den
> de alta unidades[05].
>     32.2) El sistema debe sumar uno a stock:cantidad y stock:disponibles al
> efectuarse el alta de unidad[05].
>     32.3) El sistema debe restar uno a stock:disponibles al efectuarse un
> préstamo[27].
>     32.4) El sistema debe sumar uno a stock:disponibles por
> devoluciones[28].
>     32.5) El sistema debe restar uno a stock:cantidad por extravíos[29].
>     32.6) El sistema debe sumar uno a stock:cantidad y stock:disponibles por
> reposiciones[30].
>     32.7) El sistema debe restar uno a stock:disponible al enviarse la
> unidad[05] a mantenimiento[31].
>     32.8) El sistema debe restar uno a stock:cantidad por destrucción de la
> unidad[05] en mantenimiento[31].
>     32.9) El sistema debe sumar uno al stock:disponible al volver la
> unidad[05] de mantenimiento[31].
> 33) El sistema debe informar al asociado[15] del vencimiento del
> préstamo[27] un día antes del vencimiento.
> 34) 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 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 de 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 de devolución: indica el estado de la devolución: activo o
> anulado.
>   Atributo: nombre.
> --Estados de extravío: indica el estado del extravío: activo o anulado.
>   Atributo: nombre.
> --Estados de reposición: indica el estado de la reposició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.
> _______________________________________________
> 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