[Php-objetos] Jorge Re: Tesis - Requerimientos
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Vie Feb 27 20:02:39 ARST 2009
Hola Jorge,
Te sumaste a la movida en titular "el sistema debe" y debajo poner los
tópicos. Copiar y pegar no es tanto en documentos digitales, y para tu
próxima entrega y para las de los demás, por favor que toda frase
empiece con "El sistema debe...".
El vie, 27-02-2009 a las 20:49 -0300, Jorge Castorina escribió:
> Aqui va un intento de escribir requerimientos para un sistema de biblioteca.
> Saludos, Jorge
Es un muy buen primer borrador de la especificación.
Te marco unas cosas y mañana en clase lo terminamos de acomodar.
> ================================================================================
>
> El sistema se construye para implementar el control de circulación de una
> biblioteca.
Ok. Esto es lo macro de la intención del sistema. Acá abajo tiene que
estar detallada la naturaleza de este control:
> El sistema debe:
>
> - Gestionar usuarios de la biblioteca
Perfecto. En el diccionario más abajo está el Usuario. Lo paso acá
arriba para comentar el diccionario en el contexto de este
requerimiento:
-----
> Usuario
>
> Persona que puede registrar transacciones en el sistema.
"Transacción" es vocabulario de bases de datos... toda cosa que pase,
pensada así, será una transacción!!!
La idea es determinar cual es el problema a resolver, el sistema a
construir, en términos del dominio del problema.
> Se requieren procedimientos de alta, modificación y baja de los mismos.
La frase "Gestión de" hace referencia justamente a las ABM... fijate
que si vas por este camino, tendrías que nombrar el AMB de todo, lo cual
es superfluo.
> Estados posibles: sin préstamos, con préstamos, moroso, suspendido,
> inhabilitado.
Que el usuario tenga estados es parte del requerimiento, no del
diccionario. En el diccionario deben ir solo definiciones de términos y
no cosas funcionales.
> Categorías posibles docente, alumno, graduado, empleado (según la categoría
> se establece las cantidades máximas de ítems a prestar y días de préstamo)
-----
Si enumerás ejemplos de categorías... pero no hay un requerimiento que
diga que el sistema debe manejar categorías...
En mi caso "usuario" me resultó algo confuso, porque pensé que eran
usuarios del sistema, como operadores. En el diccionario me hubiera
servido más ver qué era el usuario.
Por otra parte, no figura en el diccionario qué datos definen al
usuario de la biblioteca (nombre, apellido...)
> - Gestionar el inventario (ítems) la colección
Los estados y categorías de los items forman parte del requerimiento,
no del diccionario. No figuran los datos que definen los Items... tal
vez requieran una entrada en el diccionario.
> - Gestionar las transacciones ocurridas durante las operaciones diarias
En el diccionario ponés: "Tipos de transacciones posibles son:
préstamo, devolución, renovación, reserva, sanción, levantar sanción."
Llegado a esta altura me pregunto: no sería mejor expresar los
requerimientos de la forma
- El sistema debe registrar el préstamo de items por los usuarios...
- El sistema debe aceptar la devolución de items...
- El sistema debe tener un mecanismo para la renovación de un prestamos.
- El sistema debe permitir reservar items para un usuario.
- El sistema debe determinar las sanciones a los usuarios en caso de no
devolución y mora.
Fijate como así estamos hablando del modelo, del "sistema biblioteca" y
sus procesos en lugar de hablar de un programa de computadoras...
> - Gestionar operadores del sistema
Todo es multiusuario hoy... esto es superfluo.
> - Gestionar las variables operativas del sistema
Esto es diseño!!!
El sistema debe administrar los días de sanción para cada categoría de
usuario.
Etc, etc.
> - Permitir cambios globales
No dice nada... un requerimiento sería:
El sistema debe permitir cambiar todas las fechas de devolución en caso
de feriados o cierre el edificio. El corrimiento de fechas no es
automático.
> - Emitir listados de control
De control de qué?
> - Emitir comprobantes de préstamo y devolución
Esto se puede juntar al requerimiento de que "el sistema debe registrar
el préstamo"...
[..]
No pretendo que la SRS sea perfecta ni mucho menos, sino que obtengan
un buen listado de lo que debe hacer, para después poder modelar algo
razonable.
Seguimos!
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-objetos