[Php-avanzado] Requerimientos: Bibliotech v5
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Mar Oct 8 10:00:54 ART 2013
Hola Pehuén,
andá a saber por dónde anduvo tu mensaje... las maravillas del TCP/IP.
El lun, 07-10-2013 a las 19:13 -0300, Fernando Pehuén Borsani escribió:
> Hola profe! Le paso las aclaraciones, el registro de cambios y la SRSv5 para
> revisión.
>
> -----------------
> Aclaraciones
> -----------------
> LT>Por el tipo de sistema, le haría falta una funcionalidad que describa la
> devolución.
> --Agrego mi propuesta de inclusión en la RF22.
Ok.
Quedó en el RF23...
> LT>Esta especificación de Stock implica que el sistema no te podría decir
> hoy cuantos libros había en Agosto pasado.
> LT>Si esto no es relevante para el problema, está bien expresado, si no, hay
> que plantear el Movimiento de Stock.
> --No contemplaba incluir en el sistema de la biblioteca el stock histórico.
> ¿Cree que sería importante para una biblioteca?
Ni idea!
Mi única observación es sobre algo que basado en esta especificación,
el sistema no podrá calcular.
Si le hace falta a esta biblioteca, entonces le falta. Si no le hace
falta, entonces así está bien...
> LT>Tampoco estás previendo un mecanismo para dar de baja un libro, en caso
> de que se pierda, se rompa, o sea devuelto jamás, etc.
> --¡Se me había pasado! Actualizo las RF para incluir tales posibilidades.
> --También agrego la posibilidad de mantenimiento. Se considera que el
> asociado es “mantenimiento” y que el estado del préstamo es “mantenimiento”
> en ese caso.
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.
Estás generalizando como "mantenimiento" para evitar tener un estado
"prestado" por ejemplo? Si es así, es una economía extremadamente
costosa!
> LT>¿De dónde se saca el costo de la Cuota? Todos los asociados pagan la
> misma cuota? Acá hablás del registro de la cuota que debe abonar el
> asociado, pero no están especificados los valores de las cuotas vigentes...
> y no parece buena idea que el monto lo ingrese el cajero al momento de
> cobrar, porque permitiría arbitrariedades...
> LT>También veo en el diccionario que la cuota no tiene como atributo el
> importe: es una omisión o este sistema registra solo que se tenga la cuota
> al día, sin reflejar información sobre el importe pagado?
> --El sistema solo registra si la cuota está al día o no: no maneja contenido
> contable. Hay tres tipos de usuarios, clasificados por su confiabilidad,
> pero sus beneficios no son monetarios.
Lo de las cuotas lo entiendo. Lo de que "Hay tres tipos de usuarios"
no :-(
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.
> LT>Sigue sin estar resuelto, y es relevante para el tema del stock y de los
> préstamos, el manejo de las Unidades de cada Libro.
> --Incluyo lo que me explicó en clase para proponer una solución a esta
> ambigüedad.
No era una ambigüedad, era una incoherencia, en el sentido de que no se
podía hacer una cosa especificada con el resto de la descripción del
problema.
> --------------------------
> Registro de cambios
> --------------------------
> --Insertada RF5: Unidades de libro. Insertadas las dependencias (RF15, RF18,
> RF21).
> --Agregado a "préstamo" dos nuevos estados: extraviado y mantenimiento.
> --Agregada RF23: Devolución.
> --Agregada RF24: Actualización de stock.
>
> --------------------------------------------------------------------
> Software Requirements Specification[SRS] Bibliotech v5
> --------------------------------------------------------------------
> 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].
Ok. Esto especifica Libros.
> 05) El sistema debe gestionar unidades de libros[04].
Ok. Esto especifica Unidades.
> 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 gestionar el stock de unidades de libros[04].
Hacés referencia a Libros pero lo redactás igual que Unidades.
De qué es el Stock? De Unidades o de Libros?
Es decir, esto debe hacer referencia al RF 4 o al RF5 ???
> 15.1) El sistema debe comprobar si ya existe un libro[04] cuando se de
> alta a unidades[05].
> 15.2) El sistema debe aumentar las unidades[05] de un libro[04] en su
> cantidad correspondiente.
Y cuál es la "cantidad correspondiente"? Si esta cantidad es algo que
va a escribir un bibliotecario, sacá esa parte de la funcionalidad,
porque confunde mucho, ya que en ningún otro RF se hace referencia a lo
que alguien va a tipear (y no se hace porque no estamos especificando lo
que hará la gente que va a usar este sistema).
> 16) El sistema debe mostrar tipos de documentos.
> 17) El sistema debe gestionar asociados con su sexo[06], rango de edad[07] y
> tipo de documento[16].
> 18) El sistema debe calcular la confiabilidad de los asociados[17].
> 19) El sistema debe mostrar los meses del año.
> 20) El sistema debe inscribir cuotas de asociados[16].
> 21) El sistema debe informar al asociado del vencimiento de la cuota[20].
Para hacer esto, al diccionario de la cuota hay que agregarle el año
además del mes.
> 22) El sistema debe registrar el préstamo de unidades[05] a asociados[17].
> 22.1) El sistema debe detener un nuevo préstamo[22] si excede la
> confiabilidad[18].
> 22.2) El sistema debe detener un nuevo préstamo[22] si no está paga la
> cuota[20].
> 22.3) El sistema debe detener un nuevo préstamo[22] si no hay stock[15]
> disponible.
> 23) El sistema debe modificar el estado del préstamo[22] para señalar su
> devolución o extravío.
Falta especificar previamente a esto el Estado de Préstamo y luego
usarlo acá. Si como supongo el Estado de Préstamo solo se muestra, en la
entrada del diccionario enumerá los estados posibles de forma
exhaustiva. Ahora tenés eso mezclado con el propio Préstamo.
> 24) El sistema debe actualizar el stock[15].
Falta especificar sobre quién opera el stock... en realidad está puesto
como RF15, pero si no lo podés poner todo junto al manejo de stock,
aclará que esto también es sobre las Unidades o sobre los Libros.
> 24.1) El sistema debe actualizar el stock[15] si se efectúa el
> préstamo[22].
Especificá la forma de actualizarlo. En este caso supongo que la
actualización es que se resta 1
> 24.2) El sistema debe actualizar el stock[15] al devolverse[23] el
> préstamo[22].
Idem
> 24.3) El sistema debe actualizar el stock[15] si extravían[23]
> unidades[05].
Ibidem
> 24.4) El sistema debe actualizar el stock[15] si se envían unidades[05]
> a mantenimiento.
Ibibidem
> 24.5) El sistema debe actualizar el stock[15] si se deterioran
> irreversiblemente unidades[05].
Ibibibidem (me parece que esto en latín no existe ;-) )
> 25) El sistema debe informar al asociado[17] del vencimiento del
> préstamo[22] un día antes del vencimiento.
> 26) El sistema debe mostrar al empleado los préstamos[22] vencidos hace más
> de una semana.
A los efectos de la SRS funcional, no es relevante a quién se lo
muestra.
> 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.
> --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.
> --Unidad de libro: 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.
> --Stock de unidades de libros: cantidad de veces que un libro(identificado
> por ISBN) existe en la biblioteca, y cuantos están disponibles para
> préstamo.
> Atributos: unidades, cantidad actualmente en préstamo, cantidad
> disponible(cantidad en existencia menos cantidad actualmente en préstamo).
> --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. Los rangos
> dependen de la cantidad de unidades que el usuario devolvió a tiempo: 1)
> hasta 100 préstamos: 2 unidades, 2 semanas. 2) entre 101 y 300: 2 unidades,
> 3 semanas. 3) más de 301: 3 unidades, 3 semanas.
Con este cálculo de Confiabilidad, si por ejemplo devuelvo en fecha 101
libros, no importa lo que haga después, los que devuelva tarde o los que
no devuelva, siempre me van a prestar 2 unidades por 3 semanas...
> Atributos: asociado, 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 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, y su posterior devolución. El préstamo tiene seis estados:
> activo, anulado, devuelto en fecha, devuelto vencido, extraviado,
> mantenimiento
> Atributos: Asociado, libro(ISBN), fecha de préstamo, fecha de vencimiento,
> fecha de devolución, estado.
> --Empleado: persona bajo sueldo que realiza funciones administrativas para
> el comprador de este software.
> Atributos: Nombre, puesto, zona, permiso.
> ---------------------
>
>
> Ayer pensaba que somos muchos alumnos, y debe de tomarle mucho tiempo
> corregir nuestras SRS, sobre todo porque en el proceso generamos muchas
> versiones.
Es cierto... hay algunos problemas más divertidos que otros, pero en
general es una experiencia enriquecedora.
> ¡Gracias por la dedicación Profe!
Solo hago mi trabajo: espero a cambio que Uds hagan el suyo, que es
estudiar, practicar, consultar y aprender.
Saludos cordiales!
--
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