Catalogo de cursos

2. Diseño

Tabla de contenidos

2.1. Análisis competitivo
2.2. API
2.3. Modelo de datos
2.4. Interfaz de usuario
2.5. Mejoras futuras
2.6. Historial de revisiones

Especificaciones del diseño

2.1. Análisis competitivo

La mayoría de los catálogos de cursos que existen no pasan de ser un simple listado alfabético de cursos sin categorización ninguna. Aunque si hay algunos que los jerarquizan por la titulación dentro de la que están siendo impartidos.

En algunos catálogos se ofrece cierta información del mismo, como los créditos, breve descripción; llegando unos pocos a ofrecer el temario impartido en la asignatura e incluso los contenidos. Aunque una buena parte de estos no pase del nombre del curso.

2.2. API

Se definirán una serie de funciones que obtendrán los datos en base a consultas a la base de datos.

  • Widget para el buscador de cursos

    html.widget edu_catalog_search_widget (group_type);
    group_type (string) nombre del tipo de grupo sobre el que se realizará la búsqueda;

Asignaturas

  • Lista de los cursos virtuales de una asignatura

    list[id title url] edu_class_list (subject_id, only_actuals);
    subject_id (integer) identificador de la asignatura ;
    only_actuals (boolean, optional, default 't') indica si los cursos están dentro del periodo actual o todos los cursos ;

  • Lista de asignaturas

    list[id title url] edu_subjets_list (grade_p);
    grade_p (boolean, optional) especifica si el tipo de enseñanza es reglada ('t') o es de enducación permanente ('f'); sino se recibe este parámetro se listan todos los cursos independientemente de su tipo de enseñanza ;

  • Lista de asignaturas de una facultad

    list[id title url] edu_faculty_subjets_list (faculty_id);
    faculty_id (integer) identificador de la facultad ;

  • Lista de asignaturas de un departamento

    list[id title url] edu_department_subjets_list (department_id);
    department_id (integer) identificador del departamento ;

Facultades

  • Lista de facultades

    list[id name url] edu_faculty_list

  • Información de la facultad

    list[list[etiqueta valor tipo_dato]] edu_get_faculty_info (faculty_id);
    faculty_id (integer) identificador de la facultad ;

Departamentos

  • Lista de los departamentos

    list[id name url] edu_department_list (faculty_id);
    faculty_id (integer, optional) identificador de la facultad; dependiendo de si se especifica o no devolverá una lista de los departamentos de una facultad o de todos los departamentos ;

  • Información del departamento

    list[list[etiqueta valor tipo_dato]] edu_get_department_info (department_id);
    department_id (integer) identificador del departamento ;

2.3. Modelo de datos

El modelo de datos para el catálogo de cursos comprende parte del modelo de educación: edu_faculty_info, edu_department_info, edu_department_faculty_map, edu_subject_department_map, edu_subjects, edu_class_info

Sacando los datos de las consultas a esas tablas sin ninguna operación de escritura. Este procedimiento se realizará a base de funciones que pediran los datos que les serán devueltos en forma de lista. Siendo cada lista un objeto, y los elementos de cada lista los atributos de dicho objeto.

Tabla 3. Tabla de información de facultades (EDU_FACULTY_INFO)

Nombre de la columna Tipo de dato Es Nulo Pk Fk Ak(c) Ak(i)
GROUP_ID integer not null (Pk) (Fk)    
DESCRIPTION varchar2(4000)          
PHONE_NUMBER varchar2(20)          
FAX_NUMBER varchar2(20)          
EXTERNAL_HOMEPAGE_URL varchar2(200)          
EMAIL varchar2(50)          
MAILING_ADDRESS varchar2(4000)          
PHONE_NUMBER2 varchar2(20)          
PHONE_NUMBER3 varchar2(20)          
PHONE_NUMBER4 varchar2(20)          
HOMEPAGE_INDEX varchar2(2000)          
PUBLIC_P char(1)          

Tabla 4. Tabla de información de departamentos (EDU_DEPARTMENT_INFO)

Nombre de la columna Tipo de dato Es Nulo Pk Fk Ak(c) Ak(i)
GROUP_ID integer not null (Pk) (Fk)    
DEPARTMENT_NUMBER varchar2(100)          
EXTERNAL_HOMEPAGE_URL varchar2(200)          
MAILING_ADDRESS varchar2(200)          
PHONE_NUMBER varchar2(20)          
FAX_NUMBER varchar2(20)          
INQUIRY_EMAIL varchar2(50)          
DESCRIPTION clob          
MISSION_STATEMENT clob          
LAST_MODIFIED date not null        
LAST_MODIFYING_USER integer     (Fk)    
MODIFIED_IP_ADDRESS varchar2(20)          
HOMEPAGE_INDEX varchar2(2000)          
PUBLIC_P char(1)          

Tabla 5. Tabla de información de relación facultad-departamento (EDU_DEPARTMENT_FACULTY_MAP)

Nombre de la columna Tipo de dato Es Nulo Pk Fk Ak(c) Ak(i)
DEPARTMENT_ID integer not null Pk Fk Ak(c)  
FACULTY_ID integer not null Pk Fk    

Tabla 6. Tabla de información de relación departamento-asignatura (EDU_SUBJECT_DEPARTMENT_MAP)

Nombre de la columna Tipo de dato Es Nulo Pk Fk Ak(c) Ak(i)
DEPARTMENT_ID integer not null (Pk) (Fk)    
SUBJECT_ID integer not null (Pk) (Fk)    
SUBJECT_NUMBER varchar2(20)          
GRAD_P char(1)          

Tabla 7. Tabla de información de asignaturas (EDU_SUBJECT_INFO)

Nombre de la columna Tipo de dato Es Nulo Pk Fk Ak(c) Ak(i)
SUBJECT_ID integer not null (Pk)      
SUBJECT_NAME varchar2(100) not null        
DESCRIPTION varchar2(4000)          
APPROVE_P char(1)          
CREDIT_HOURS varchar2(50)          
LONG_DESCRIPTION clob          
LONG_DESCRIPTION_HTML_P char(1)          
PREREQUISITES varchar2(4000)          
PROFESSORS_IN_CHARGE varchar2(200)          
LAST_MODIFIED date not null        
LAST_MODIFYING_USER integer not null   (Fk)    
MODIFIED_IP_ADDRESS varchar2(20) not null        
EXTERNAL_HOMEPAGE_URL varchar2(200)          

Tabla 8. Modificaciones de la Tabla de información de asignaturas (EDU_SUBJECTS)

Nombre de la columna Tipo de dato Es Nulo Pk Fk Ak(c) Ak(i)
GRAD_P char(1)          

Tabla 9. Tabla de información de cursos (EDU_CLASS_INFO)

Nombre de la columna Tipo de dato Es Nulo Pk Fk Ak(c) Ak(i)
GROUP_ID integer not null (Pk) (Fk)    
TERM_ID integer     (Fk)    
SUBJECT_ID integer     (Fk)    
START_DATE date          
END_DATE date          
DESCRIPTION varchar2(4000)          
WHERE_AND_WHEN varchar2(4000)          
SYLLABUS_ID integer     (Fk)    
ROOT_FOLDER_ID integer     (Fk)    
ASSIGNMENTS_FOLDER_ID integer     (Fk)    
PROJECTS_FOLDER_ID integer     (Fk)    
LECTURE_NOTES_FOLDER_ID integer     (Fk)    
HANDOUTS_FOLDER_ID integer     (Fk)    
EXAMS_FOLDER_ID integer     (Fk)    
PUBLIC_P char(1)          
TEAMS_P char(1)          
EXAMS_P char(1)          
FINAL_EXAM_P char(1)          
LAST_MODIFIED date not null        
LAST_MODIFYING_USER integer     (Fk)    
MODIFIED_IP_ADDRESS varchar2(20)          
HOMEPAGE_INDEX varchar2(2000)          

Tabla 10. Tabla de información de Períodos (EDU_TERMS)

Nombre de la columna Tipo de dato Es Nulo Pk Fk Ak(c) Ak(i)
TERM_ID integer not null (Pk)      
TERM_NAME varchar2(100) not null        
SHORT_NAME varchar2(100)       (AKc)  
START_DATE date not null        
END_DATE date not null        

Tabla 11. Tabla de información de Titulaciones (EDU_DEGREE_INFO)

Nombre de la columna Tipo de dato Es Nulo Pk Fk Ak(c) Ak(i)
GROUP_ID integer not null (Pk) (Fk)    
DESCRIPTION varchar(4000)          
CREDIT_HOURS varchar2(50)          
EXTERNAL_HOMEPAGE_URL varchar(200)          
DEGREE_NUMBER varchar2(20)          
PUBLIC_P char(1)          
HOMEPAGE_INDEX varchar2(2000)          

Tabla 12. Tabla de relación entre titulaciones-facultades (EDU_FACULTY_DEGREE_INFO)

Nombre de la columna Tipo de dato Es Nulo Pk Fk Ak(c) Ak(i)
degree_id integer not null Pk Fk    
faculty_id integer not null Pk Fk    

Tabla 13. Tabla de relación entre titulaciones-deparmatmentos (EDU_DEPARTMENT_DEGREE_INFO)

Nombre de la columna Tipo de dato Es Nulo Pk Fk Ak(c) Ak(i)
degree_id integer not null Pk Fk    
department_id integer not null Pk Fk    

2.4. Interfaz de usuario

2.4.1. Paquete Education

La interfaz de usuario del catálogo de cursos dentro del paquete será de acuerdo con las normas de visualización de la plataforma.

Se compondrá de entre 3 a 5 vistas que describiremos a continuación.

2.4.1.1. Vista de selección (o inicial)

Como especificamos en Organización de la estructura del catálogo la vista inicial del catálogo de cursos será un menú de selección donde se elegirá una de las categorías (Educación permanente y Titulaciones) y la posibilidad de realizar una búsqueda de cursos.

Dentro de cada categoría se podrá elegir entre los cursos de una facultad determinada, los cursos de un departamento concreto ó todos los cursos de ese tipo de enseñanza.

Figura 4. Vista inicial

2.4.1.2. Vista de la lista de facultades o departamentos

Esta vista es una vista que permite seguir acotando el listado de los cursos sobre la facultad o el departamento seleccionado. Mostrando una lista de las facultades ó los departamentos con cursos. Esta vista es opcional, ya que se puede ver el listado de los cursos sobre las dos categorías pricipales: Educación permanente y Titulaciones.

Figura 5. Vista de facultades

Figura 6. Vista de departamentos

2.4.1.3. Vista de la lista de cursos ó asignaturas

Muestra un listado de las asignaturas según uno de los criterios de selección escogido: Tipo de enseñanza, Facultad, Departamento, Búsqueda. Si el usuario está interesado en alguna asignatura podrá consultar su información pública seleccionando dicha asignatura. De igual forma podrá acceder a la información pública de la facultad ó departamento seleccionado.

2.4.1.3.1. Tipo de enseñanza

Será un simple listado de los cursos de educación permanente ó las asignaturas de las titulaciones.

Figura 7. Vista de cursos

Figura 8. Vista de asignaturas

2.4.1.3.2. Facultad

Mostrará la información de la facultad ( nombre, url, dirección postal, telefono, fax, correo electrónico, descripción ) y las asignaturas o cursos de la facultad (pudiendose alternar las vistas; que corresponden a las secciones de titulaciones y educación permanente, respectivamente).

Figura 9. Vista de las asignaturas de una facultad

2.4.1.3.3. Departamento

Mostrará la información del departamento ( nombre, url, dirección postal, telefono, fax, correo electrónico, descripción ) y las asignaturas o cursos del departamento (pudiendose alternar las vistas; que corresponden a las secciones de titulaciones y educación permanente, respectivamente).

Figura 10. Vista de los cursos de un departamento

2.4.1.4. Información de una asignatura

Muestra la información pública de una asignatura e indicará los cursos virtuales asociados a dicha asignatura.

La información pública constará de:

nombre de la asignatura
descripción
créditos
prerrequisitos
profesor titular
código de la asignatura
departamento que la imparte


Figura 11. Vista de la asignatura

NOTA

En caso de que la asignatura sólo tuviera un curso virtual se mostrará la información de la asignatura junto con la del curso virtual. Como se muestra en el apartado Información del curso virtual



2.4.1.5. Información del curso virtual

Se mostrará la información pública de la asignatura y del curso virtual seleccionado. Y dependiendo de las políticas de privacidad de la información del curso virtual se podrá dar las opciones de ver la guía del curso; dar o solicitar, el alta en el curso, ó si el usuario es miembro del curso, acceder al mismo.

La información pública de la asignatura constará de:

código de la asignatura
nombre de la asignatura
descripción
créditos
prerrequisitos


La información pública del cursos constará de:

nombre del curso
descripción
período
equipo docente


Figura 12. Vista del curso virtual

NOTA

Debido a que en varios cursos de educación permanente (enseñanza abierta) no es pública la guía del curso habrá que comprobar que ésta es pública para poder mostrar el enlace a la guía del curso.



2.5. Mejoras futuras

2.6. Historial de revisiones

Revisión Comentario Fecha Autor
0.1 Creación 05 May 2004 Alberto Pesquera Martín
0.2 Ampliación de la API y de la Interfaz de usuario 31 May 2004 Alberto Pesquera Martín
0.3 Se amplian los valores devueltos en las funciones de la API 5 Nov 2004 Alberto Pesquera Martín
$Id: catalogo-cursos-dsn.html,v 1.4 2004/07/02 11:28:36 apm Exp $