[Php-avanzado] Requerimientos-Tesina
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Sab Nov 10 18:30:34 ART 2012
Hola Cesar,
El sáb, 10-11-2012 a las 15:37 -0300, cesar andrada escribió:
> Hola leo disculpa la demora pero no sabia que hacer para la tesina
> ahora lo pense y voy hacer un sistema de registro de cursos, esto lo
> fui pensando de a poco y aca te mando la descripcion de la tesina.
Por mi no hay problema con la demora, pero si querés llegar a tiempo a
inscribirte en el curso de PHPOO, no tenés un minuto que perder.
> Tesina
>
> -Aclaro
>
> Lo que quise hacer es un sistema de registro de las cursadas, que
> profesor dicta la materia de la cursada y los alumnos que se inscriben
> en la cursada y en la cursada que nota se saco el alumno, gestionar
> primero las asignaturas y gestionar las materias con su asignatura,
> después de eso realizar los registros de las cursadas,
En la descripción que ponés más abajo esto queda claro.
> primero arme la base de datos para guiarme un poco mas sobre el tema.
Esto es "poner el carro adelante del caballo". No es que no se pueda
hacer, es que generalmente no te lleva a ningún lado :-(
Además, para "armar la base de datos" te hace falta conocer las
entidades a manejar y los atributos, es decir la SRS, ya sea escrita o
"en tu cabeza".
> -Descripción
>
> Se necesita tener un Registro de las Cursadas, de los alumnos y
> profesores de un instituto, los profesores organizan en que horario
> pueden dictar la materia y luego la registran en la cursada, luego el
> alumno se inscribe en la cursada con la materia que quiere cursar, se
> registra también la nota del alumno que se saco en la cursada. Los
> alumnos una vez ingresados al instituto se registra en que asignatura
> se inscribió.
>
>
>
> -Sistema de Registro de Cursadas.
>
>
> *Requerimientos Funcionales
>
> 1. El Sistema debe Gestionar Asignaturas.
>
> 2. El Sistema debe Gestionar Materias con su Asignatura [1].
Dos cosas: una es que "asignatura" y "materia" son en este contexto
sinónimos, así que o sobra una, o la "asignatura" es en realidad una
"carrera" o algo semejante.
La otra es que en el diccionario de Materia falta la Asignatura.
> 3. El Sistema debe Gestionar Alumnos.
Previo a esto tenés que especificar las Localidades, y a este RF
agregarle el "con su Localidad".
> 4. El Sistema debe Gestionar las Inscripciones con su Alumno [3] y
> Asignatura [1].
Posiblemente haya que rever esto por el comentario en el RF2.
> 5. El Sistema debe Gestionar Profesores.
Idem RF3
> 6. El Sistema debe Gestionar las Cursadas con su Profesor [4], Alumno
> [3] y Materia [2].
Mmm... el Alumno parece no ir acá. Veremos más adelante.
La cursada tiene que ser solo un día? No es posible que una materia se
curse los lunes y los jueves por ejemplo?
Si puede ser, el diccionario tiene que tener "diás" en plural... y
posiblemente afecte al horario, porque capaz que no tiene que ser a la
misma hora todos los días.
> 6.1. El Sistema debe Mostrar que Profesor [5] se registró
> en la cursada, con su Materia [2] que dicta.
Esto es parte del 6, porque convenimos en que "gestión" es alta, bajas,
modificaciones y presentación por pantalla.
> 6.2. El Sistema debe Mostrar que Alumno [3] se registró en
> la cursada, con su Materia [2] y Profesor [4] que cursa.
Parece que esto encubre una funcionalidad similar a la del RF4, pero
para la Cursada. Si es así, hay que ponerlo como un RF y no como un
subitem, al igual que el RF4.
> 6.3. El Sistema debe Registrar y Mostrar la Nota del
> Alumno [3], con su Materia [2] y Profesor [5] con quien dio la
> cursada.
Esto también sería un RF aparte.
Una materia puede tener una cantidad arbitraria de evaluaciones, o
solo son las 5 que tenés en el diccionario del Registro de Notas?
> *Requerimientos No Funcionales
>
> 1. El Sistema debe ser Web.
>
> 2. El Sistema debe pedir un login.
>
> 2.1. El Sistema debe tener permisos para dar de alta
> alumnos y profesores y realizar la gestión de cursos.
>
> (“cada usuario que entra al sistema tiene permisos para
> gestionar los alumnos, profesores y realizar el registro de cursos, lo
> demás que no tengan acceso pueden ver la agenda como de como esta
> organizado los profesores y alumnos”)
Esto no está tan claro, pero no importa, al menos por ahora.
> 3. El Motor que se usa para almacenar los datos debe ser MySQL.
>
>
>
> *Diccionario
>
> Asignatura: nombre.
>
> Materia: nombre.
>
> Localidad: Nombre, Código Postal.
>
> Alumno: documento, nombre, apellido, fecha de nacimiento, dirección,
> teléfono, mail, Localidad.
>
> Profesor: matricula, nombre, apellido, dirección, teléfono, mail,
> Localidad.
>
> Inscripciones: Fecha de Inscripción, Alumno, Asignatura.
>
> Cursadas: día (“lunes, martes, miércoles, jueves, viernes”), horario
> de inicio, horario finalizado, Alumno, Profesor, Materia.
>
> Registro de Notas: fecha, nota, descripción (“1º parcial, 2º parcial,
> 1º recupera torio, 2º recupera torio, Final”).
>
>
>
> //en la base de datos en Alumnos, Profesores, Asignaturas y Materias
> //les hago una baja lógica que los datos sigan estando
La Normalización de Bases de Datos no dice esto.
La Normalización dice que si un registro se da de baja, debe
desaparecer.
O te falta enunciar algún RF que haga necesario esto, o simplemente
estás aplicando mal la Normalización.
Por ahora solo esto.
Es una muy buena primer versión: la iremos puliendo juntos.
Seguimos!
--
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