[Php-avanzado] Bibliotech
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Mar Ene 28 19:08:13 ART 2014
Yo creo que sí... en cualquier caso, juntarlas en una sola tabla podrá
ser una decisión de implementación, pero a nivel de la especificación,
seguro de que vale la pena documentar que cada cosa tiene su estado...
Luego a nivel de implementación, juntarlas en este caso particular puede
ser viable, pero se estaría violando el DER, porque son entidades
distintas.
El mar, 28-01-2014 a las 18:29 -0300, Fernando Pehuén Borsani escribió:
> Hola Profe!
> ¿Entonces lo correcto sería hacer una tabla de estados para cada
> funcionalidad (devoluciones, extravíos y reposiciones)?
>
> -----Mensaje original-----
> De: php-avanzado-bounces en pato2.fi.mdp.edu.ar
> [mailto:php-avanzado-bounces en pato2.fi.mdp.edu.ar] En nombre de Leonardo
> Tadei - Pegasus Tech Supply
> Enviado el: martes, 28 de enero de 2014 03:37 p.m.
> Para: Lista del curso de PHP Avanzado
> Asunto: Re: [Php-avanzado] Bibliotech
>
> Hola Pehúen,
>
> El vie, 24-01-2014 a las 19:54 -0300, Fernando Pehuén Borsani escribió:
> > LT> Con esta redefinición de Registrar [...] este sistema es tan
> > LT> 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.
>
> Más bien significa que, para no perder información, no hay que
> borrarla... al menos enunciado de manera más general.
>
> Simpático tu uso de "estados red": no hay nada más claro que usar
> una sigla que sea una palabra que signifique otra cosa!!!
> Después, cuando lo usás en los RF26, 27 y 28 se llaman "estados
> der", que también es una cosa, pero otra.
> Ponete de acuerdo!
>
> De todas formas, me parece superfluo a nivel de funcionalidad,
> porque podrías tener un estado más "anulado" en los actuales RF 20 y 22, a
> la vez que le agregás estados a la Devolución, Extravío y Reposición.
> Lo que vos proponés funciona bien, pero pareciera un concepto traído
> de los pelos al problema: un artificio.
> Pensá un rato en lo que te propongo: si bien son 3 tipos de estados
> más, quedan conceptualmente cada uno relacionado con la cosa a la que provee
> el estado, con lo que si a una cosa le aparece un estado nuevo (inventando,
> un extravío imposible porque el libro no está más a la venta, con lo que se
> puede pedir otra cosa como reemplazo) no se afectan las otras cosas; por
> otra parte, el código quedará mucho más homogéneo, y por ende más fácil de
> depurar y de mantener.
> No es que esté sesgando la SRS pensando en el código, es al ravés:
> ya sabemos que los artificios y los recursos más complicados de lo necesario
> en la SRS producen software innecesariamente más complicado.
> Como argumento adicional, y ya que estamos con los DER, un Estado de
> una Devolución debería ser una Entidad diferente a un Estado de un Extravío,
> porque son estados de cosas diferentes.
>
>
> Lo demás, la SRS y el DER está acorde con la especificación...
>
>
> Seguimos!
>
>
>
> > ----------------------------------------------------------------------
> > ---- 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.
> > _______________________________________________
> > 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
>
> _______________________________________________
> 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
>
> _______________________________________________
> 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