|
|
Propuesta:
10 días, Diseño base datos. Esta quizás es la parte más importante de un sistema de gestión ya que de su diseño dependera el 90% del desarrollo de la aplicación. Actualmente Bases de datos como MySQL soportan la integridad referencial usando el tipo de tablas innodb. Esta funcionalidad aseguraría que por ejemplo en la tabla MATRICULADOS, no puedan existir alumnos o cursos que no existan en las tablas ALUMNOS o CURSOS previamente. Si MySQL no soportara la integridad referencial no le recomendaría su uso para este tipo de aplicación. 5 días, Estructura del sistema. Otra parte importante a tener en cuenta es la estructura de direcctorios y archivo que contendrán los scripts de la aplicación. Un estructrura clara evita en gran medida los errores y es fundamental para su posterior ampliación o mantenimiento del código. NINGÚN PROGRAMA ESTA EXENTO DE ERRORES, si, esto es cierto pero ello no quiere decir que no se pueda crear una aplicación segura y con una jerarquía de permisos clara. 10 días, Programación de script acceso y consultas. Teniendo claro que información se va a almacenar y como, llega el momento de pensar en COMO se accede a esa información y que tipo de información se va a mostrar. Lo más usual en un caso como este sería partir del principio de los mínimos privilegios, "Un usuario en un sistema debe tener los mínimos privilegios para poder realilzar su tarea" Esto lo podemos hacer a traves de software y permisos en la base de datos. Atraves de software se trataría de crear un sistema de sesiones en php para que cada alumno sólo pudiera consultar su información sin ver la del resto de los alumnos, lo que requiere que al iniciar la sesión sea redireccionado a una página donde se muestren sus datos con una consulta SQL usando como parte de los parametros de la consulta las variables de sesión como por ejemplo $_SESSION['nombre'] $_SESSION ['dni'], ambas parte de claves primarias en las tablas. 10 días, Programación del panel de administración. Evidentemente sería necesario que se pudieran ingresar datos nuevos en la BD, los profesores deberían poder sólo ingresar datos de las notas y comentarios sin posibilidad de manipular la información referente a los alumnos. Todos los usuarios PROFESORES podrían modificar la nota únicamente de los alumnos que esten matriculados en sus materias, lo cual requerira una página donde se muestre la información de sus alumnos y un formulario de ingreso o modificación de las notas de estos. Los ingresos de nuevos alumnos, profesores, cursos sólo debería de poder hacerlo el administrador del sistema. 10 días, Seguridad. Es preferible dedicar unos días a crear algunas funciones que den algo de seguridad a la aplicación, como funciones de saneamiento de variables para evitar SQL Injection, reescritura de url para ocultar variables, registro de direcciones IPs para ver quien accede a la aplicación, comprobación de url de formularios internos, javascripts de control de formularios, etc... 5 días, Revisión de código. 10 días, Puesta apunto de la aplicación y css Un periodo aunque sea corto de prueba de la aplicación para ver si existen fisuras o fallos que indiquen si es necesaria alguna modificación del código y la creación de hojas de estilo para el formato en el que se muestran los datos.
|