[Php-avanzado] Especificación de Requerimientos
Antonela Di Scala
apdiscala en gmail.com
Vie Jun 15 16:30:00 ART 2012
Leo:
Te mando la lista de requerimientos y el diccionario de datos pasados en
limpio, con las correcciones que me habias marcado.
*Requerimientos Funcionales*
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 Estados de Materia.
RF12- El sistema debe registrar inscripción a una Materia [10] con su
Estado de Materia [11] para un Alumno [05], de entre las Materias [10] de
su Plan de Estudios [08] siempre que las Materias [10] correlativas se
encuentren en Estado de Materia [11] "cursada sin final" o "aprobada" y
poder darlo de baja.
RF13- El sistema debe cambiar el estado de una materia [12]
RF13.1-El sistema debe cambiar automáticamente el Estado de Materia [11]
de una materia [12], 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 Materia [11]
de una materia [12], pasando ésta de estado “aprobada sin final” a estado
“vencida” cuando el vencimiento de la materia [12] tenga el valor “Si”
RF13.3-El sistema debe cambiar automáticamente el Estado de Materia [11]
de una materia [12], 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 [12]
RF14-El sistema debe mostrar la historia académica del alumno [5]
RF15-El sistema debe mostrar la cantidad de materias [12] en Estado de
Materia [11] “cursada sin final” del alumno [5]
RF16-El sistema debe mostrar la cantidad de materias [12] en Estado de
Materia “aprobadas” del alumno [5]
RF17-El sistema debe mostrar los aplazos que el alumno [5] posee
RF18-El sistema debe calcular y mostrar el promedio con aplazos del alumno
[5]
RF19-El sistema debe calcular y mostrar el promedio sin aplazos del alumno
[5]
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
Estado Materia: cursando/vencida / aprobada /cursada sin final
Vencimiento: Si / No
Inscripción Materia: Año, Cuatrimestre, Materia, Vencimiento, Alumno,
Calificacion, Estado Materia, Calificacion
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: Inscripcion Materia, Año, Cuatrimestre, Calificación,
Fecha, Docentes, Acta, Alumno
Aplazos: Calificación <4
Materia Correlativa: Materia necesaria para poder cursar una determinada
Materia.
Con respecto a esto:
Estás mezclando otra vez!
Las Materias tendrán correlatividades o no dependiendo de como se
definan para ese Plan de Estudios, y nunca por lo que se haya Inscripto
un Alumno !
Lo que tenés que hacer, y es así como lo especificás en el RF10. al
definir una Materia permitir agregar una lista de cero o más Materias
como sus correlativas. Las primeras no tendrán correlatividades, las
siguientes tendrán como correlativas a cero, una o más de las primeras,
y así sucesivamente.
Con esto lo que armás es el Plan de Estudios: una lista de Materias
con
sus respectivas correlatividades.
Luego, cuando se va a registrar la Inscripción a una Materia, lo que
hay que revisar es que tenga en el Estado de Materia correcto todas las
que figuran en su lista de correlativas... a nivel de interfaz, podrías
solamente mostrar las Materias que cumplen con este requisito para
ofrecer en la pantalla.
Se entiende? Qué te parece?
Me parece copada la idea, asique bueno, quedo a la espera de las
correcciones que tengas para hacerme de esto que te estoy mandando.
Muchas gracias por todo y por tanto detalle!!
Saludos!!
Antonela.
El 12 de junio de 2012 22:31, Leonardo Tadei - Pegasus Tech Supply <
leonardot en pegasusnet.com.ar> escribió:
> Hola Antonela,
>
> El mar, 12-06-2012 a las 15:30 -0300, Antonela Di Scala escribió:
> > Hola Leo,
> > Ante todo mil gracias.
>
> Al contrario: es un placer que estés trabajando con esto.
>
> > Corregi todo lo que me dijiste y anote un par de dudas, ambas cosas
> > las puse con letra mas oscura y resaltadas:
>
> Veamos:
>
> Como preámbulo y resumen de cómo vamos: estabas mezclando las
> Materias
> con la Inscripción a una Materia.
> Son dos conceptos distintos. Tal vez te clarifique un poco (a mi me
> sirvió) pensar que unas son las "Materias de la Carrera" y las otras son
> las "Materias a las que está Inscripto un Alumno"
>
> En tu SRS estás llamando a estas cosas as:
>
> RF10 Materias <-> Materias de la Carrera
> RF12 Inscripción a una Materia <-> Materia a las que está Inscripto un
> Alumno
>
> Tus nombres son correctos, no te digo esto para que los cambies,
> sino
> para darle más sentido semántico a las cosas.
>
> Luego tenés los estados posibles de una "Inscripción a una
> Materia" (RF11) Esto es otro concepto y será usado como atributo en el
> RF12... pero acá tenés que pensar en el "Estado" como un atributo de la
> "Inscripción", con lo que no tiene (casi) nada que ver con la "Materia".
>
>
> > 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] de la carrera[9] que el alumno[5] se encuentra
> > cursando
>
> Acá pareciera que tenés la mezcla: el "Estado" es de una
> "Inscripción a
> Materia", es decir, del RF12 y no del RF10 !
>
> Para que no te quede una especificación que hace referencia a algo
> no
> definido, el RF11 podría ser simplemente así:
>
> RF11: el sistema debe mostrar Estados de Cursada.
>
> > > RF12-El sistema debe registrar inscripción a una materia
> > [11] en
> > > estado[11] “cursando” de un alumno[5]y poder darlo de baja,
> > siempre que las Materias [11] Correlativas se encuentren en
> > estado "cursada sin final" o "aprobada"
>
> Y acá te quedaría:
>
> RF12: El sistema debe registrar inscripción a una Materia [10] con su
> Estado de Cursada [11] para un Alumno [05], de entre las Materias [10]
> de su Plan de Estudios [08] siempre que las Materias [10] correlativas
> se encuentren en Estado de Cursada [11] "cursada sin final" o
> "aprobada".
>
> Cómo los vez ahí? Es consistente con el problema que tenés en mente?
>
>
> > > 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)
> >
> > Agregue Estado Materia en Inscripcion Materia, es asi?
>
> Sí: así está puesto más arriba.
>
>
> > 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 [12]
> >
> >
> > Duda: El [12] lo pongo solamente en el requerimiento o en los
> > subrequerimientos tambien??
>
>
> Poné el [12] al lado de cada vez que hagas referencia al la
> Inscripción
> a Materias. Más vale ser repetitivo que parezca que se habla de otra
> cosa :(
>
>
> > > 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, Calificacion, Estado Materia
>
>
> Ok!
>
>
> > 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
> >
> > Duda: Aca iria Inscripcion Materia en lugar de
> > Materia??, Es decir, Historia academica seria asi:
> > Historia academica: Año, Cuatrimestre, Estado Materia, Calificacion,
> > Fecha, Docentes, Acta, Alumno, Inscripcion Materia
>
>
> Correcto! Las Materias que no cursó, por más que sean del Plan no
> serán
> parte de la Historia académica.
>
> Cuando la Materia a la que se inscribió el Alumno esté aprobada o
> cursada, es como que el nombre "Inscripción Materia" tiene menos
> sentido... pero no se me ocurre un nombre mejor para darle.
> Sigamos así teniendo mucho cuidado de no hacer referencia el RF
> correcto con su nombre completo, así no hay confusión.
>
>
> > > 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 ;-)
> >
> > Duda: Cómo seria exactamente lo de la parte de las
> > correlativas que me sugeris que haga?? Seria mostrar el listado de
> > todas las materias del alumno y en qué estado estan o hacer un listado
> > por cada materia y mostrar sus correlativas??? o ambas??
>
> Estás mezclando otra vez!
> Las Materias tendrán correlatividades o no dependiendo de como se
> definan para ese Plan de Estudios, y nunca por lo que se haya Inscripto
> un Alumno !
>
> Lo que tenés que hacer, y es así como lo especificás en el RF10. al
> definir una Materia permitir agregar una lista de cero o más Materias
> como sus correlativas. Las primeras no tendrán correlatividades, las
> siguientes tendrán como correlativas a cero, una o más de las primeras,
> y así sucesivamente.
>
> Con esto lo que armás es el Plan de Estudios: una lista de Materias
> con
> sus respectivas correlatividades.
>
> Luego, cuando se va a registrar la Inscripción a una Materia, lo que
> hay que revisar es que tenga en el Estado de Materia correcto todas las
> que figuran en su lista de correlativas... a nivel de interfaz, podrías
> solamente mostrar las Materias que cumplen con este requisito para
> ofrecer en la pantalla.
>
> Se entiende? Qué te parece?
>
>
> > 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.
> >
> >
> >
> > Desde ya muchas gracias!!!
> >
> >
> > Saludos!!
>
>
> =mente!
>
> --
> Leonardo Tadei
> leonardot en pegasusnet.com.ar
> Blog: http://blog.pegasusnet.com.ar
> Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
>
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://www3.fi.mdp.edu.ar/pipermail/php-avanzado/attachments/20120615/549a3d1e/attachment-0001.html>
Más información sobre la lista de distribución Php-avanzado