[Php-avanzado] Especificación de Requerimientos

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Vie Jun 1 18:42:09 ART 2012


Hola Antonela,

El vie, 01-06-2012 a las 16:13 -0300, Antonela Di Scala escribió:
> Hola Leo, gracias por contestar!!!
> Aca te mando la nueva versión:

	Veamos tus dudas: son interesantes porque nos van a ayudar a determinar
qué tiene que hacer exactamente este software (y para esto escribimos
SRSs!)

> RF01- El sistema debe gestionar Países
> RF02-El sistema debe gestionar Provincias con su País [1]
> RF03- El sistema debe gestionar Localidad con su Provincia[2] y su
> País[1]
> RF04-El sistema debe listar Estado Civil
> RF05-El sistema debe gestionar  Alumnos con su Estado Civil[4],
> Localidad[3], Provincia[2] y País [1]
> RF06-El sistema debe gestionar departamentos
> RF07-El sistema debe gestionar carreras con su departamento[6]
> RF08- El sistema debe gestionar planes de estudio
> RF09-El sistema debe registrar Inscripción a una carrera[7]de un
> determinado plan de estudios[8] de un alumno[5]y poder darlo de baja 
> RF10-El sistema debe gestionar materias con su
> carrera[9],departamento[6] y plan de estudio[8] y Materias [10]
> correlativas.
>  RF11-El sistema debe mostrar el estado de inscripción a una
> materia[10]
>  RF12-El sistema debe registrar inscripción a una materia [11] en
> estado[11] “cursando” de un alumno[5]y poder darlo de baja
> 
>   Duda: En el RF12 esta bien que haga referencia al 11 en la parte que
> dice "El sistema debe registrar inscripción a una materia[11]" ?? no
> iria haciendo referencia al 10?

	Pareciera que tiene que hacer referencia al RF10.
	Fijate que tenés acá tres cosas distintas, que si bien están
relacionadas (como todo en un sistema!) tienen roles diferentes y
funcionan de forma diferente.

	Por un lado tenés las Materias (RF10).
	Por otro lado tenés la Inscripción a una Materia (RF12)
	Fijate que la Materia es una cosa, y la Inscripción a una Materia es
otra cosa bien diferenciada, no solo por los atributos que son
distintos, sino porque cada RF expresa un concepto diferente.

	Vos redactás bien, y expresás en el RF11 que los estados que se
muestran son los de un "Inscripción a una Materia" y no los de una
"Materia".
	Lo que estás viendo y que te plantea la duda es que el RF12 hace
referencia a una Materia, a un Estado de Inscripción a Materia, y además
a un Alumno, etc, pero ahí está confuso a qué cosa exactamente hace
referencia esto.
	Creo que tu confusión surge porque en el diccionario de Inscripción a
Materia no tenés como atributo al "estado" (RF11)

	Esta confusión está clara en tu diccionario: le pusiste calificación a
Materia (RF10), pero el que tiene calificación es Inscripción a Materia
(RF12), es decir, la Materia a la que se inscribe el Alumno, y no la
Materia del Plan de Estudios.

	Acordate: hay que ponerle un nombre a cada cosa, y después usar
exactamente ese nombre en todas partes en dónde haga falta, para no
redactar ambigüedades, que son el origen de estas omisiones y mezclas.

>  RF13- El sistema debe cambiar el estado de una materia
>             RF13.1-El sistema debe cambiar automáticamente el estado
> de una materia, pasando ésta de estado “cursando” a estado “cursada
> sin final” cuando se ingrese la calificación obtenida por el alumno y
> ésta sea mayor a 4.
> 
>             RF13.2-El sistema debe cambiar automáticamente el estado
> de una materia, pasando ésta de estado “aprobada sin final” a estado
> “vencida” cuando el vencimiento de la materia tenga el valor “Si”
> 
>             RF13.3-El sistema debe cambiar automáticamente el estado
> de una materia, pasando ésta de estado “cursada sin final” a estado
> “aprobada” cuando se ingrese una calificación mayor  a 4 en el examen
> final de esa materia 
> 
> Dudas: Estan bien redactados asi?? cuando menciono "materia" como por
> ejemplo "El sistema debe cambiar el estado de una materia" ahi tendria
> que hacer referencia al RF10??

	No! Debe hacer referencia al RF12, por lo que estamos charlando más
arriba!


>  RF14-El sistema debe mostrar la historia académica del alumno [5]
>  RF15-El sistema debe listar las materias aprobadas sin final del
> alumno [5]
>  RF16-El sistema debe listar las materias aprobadas con final del
> alumno [5]
>  RF17-El sistema debe mostrar los aplazos que el alumno posee
>  RF18-El sistema debe calcular y mostrar el promedio con aplazos del
> alumno
>  RF19-El sistema debe calcular y mostrar el promedio sin aplazos del
> alumno
>  RF20-El sistema debe listar las materias correlativas de una materia
> dada. En caso de que la materia no tenga correlativas, no mostrará
> nada. 
> 
>  RF21-El sistema debe listar las materias que el alumno se encuentra
> cursando 
> 
> 
> 
> Diccionario de datos:
> 
> 
> 
>  Estado Civil: soltero/casado/viudo/divorciado/separado
>  País: Nombre
>  Provincia: Nombre + País
> Localidad: Nombre + Provincia + País
> Alumno: Nombre, Apellido, Matricula, DNI, Dirección, Teléfono,
> FechaNac, EstadoCivil, Localidad, Provincia, País, Email
> Departamento: Nombre
> Carrera: Nombre, Departamento
> Plan de estudios: Nombre
> Materia: Cod, Nombre, Carrera, Materias Correlativas, Plan de
> Estudios, Calificación

	La Materia no tiene "calificación": es la Inscripción a Materia la que
la tiene...

> Estado Materia: cursando/vencida / aprobada /cursada sin final
> Vencimiento: Si / No
> Inscripción Materia: Año, Cuatrimestre, Materia, Vencimiento, Alumno

	Acá va la calificación!

> Baja Carrera: Fecha, Carrera, Alumno, Plan de Estudios
> Plan de Estudio Vigente: Si / No
> Baja Materia: Fecha, Año, Cuatrimestre, Materia, Alumno
> Inscripción Carrera: Fecha, Carrera, Plan de Estudio Vigente, Alumno
> Historia académica: Materia, Año, Cuatrimestre, Estado Materia,
> Calificación, Fecha, Docentes, Acta, Alumno
> Aplazos: Calificación <4
> Materia Correlativa: Materia necesaria para poder cursar una
> determinada Materia.
> 
> 
> Mi duda es en Historia académica deberia poner "Calificación" si ya la
> agregue como atributo en Materia?

	Está bien que esté acá, porque la calificación es un dato global de las
calificaciones de las materias en las que se haya inscripto el alumno.
	Cuando normalices, ya veremos en dónde queda esto.

	
	Sabés lo que falta? una aclaración en el RF11 de que la Inscripción a
una Materia debe ser de la Carrera en que está Inscripto el Alumno.
	Ya sé que es obvio, pero especificado así, lo que estás diciendo es que
puede inscribirse a cualquier Materia cargada en el software.

	También te hace falta especificar la restricción de inscribirse a
Materias solo si se tienen en ciertos estados las correlativas.

> Muchas gracias de nuevo!!!

	Por nada!

	Veamos como queda esto todo completo: tal vez luego de especificarlo lo
achiquemos a un subsistema para la aprobación del curso, porque está
quedando un poco grande... la parte de las materias correlativas es
divertida ;-)

	Después vos seguilo y seguí consultando por la lista, no hay problema
con esto, pero la idea es que puedas egresar del curso en los "pocos"
días que quedan para que se venza la cursada.

-- 
Leonardo Tadei
leonardot en pegasusnet.com.ar
Blog: 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-avanzado