0% encontró este documento útil (0 votos)
34 vistas65 páginas

Sistema de Gestión de Cursos

El documento describe un Sistema de Gestión de Cursos que permite a administradores, instructores y estudiantes interactuar en un entorno educativo en línea. Se detalla la arquitectura del sistema, incluyendo módulos específicos para cada rol, así como la metodología de desarrollo, análisis, diseño y mantenimiento del sistema. Además, se abordan aspectos técnicos como bases de datos relacionales, SQL, PL/SQL y el uso de Oracle como sistema de gestión de bases de datos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
34 vistas65 páginas

Sistema de Gestión de Cursos

El documento describe un Sistema de Gestión de Cursos que permite a administradores, instructores y estudiantes interactuar en un entorno educativo en línea. Se detalla la arquitectura del sistema, incluyendo módulos específicos para cada rol, así como la metodología de desarrollo, análisis, diseño y mantenimiento del sistema. Además, se abordan aspectos técnicos como bases de datos relacionales, SQL, PL/SQL y el uso de Oracle como sistema de gestión de bases de datos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

SISTEMA DE GESTIÓN DE CURSOS

CONTENIDO
1. INTRODUCCIÓN

2. SGBD, HERRAMIENTAS DE FRONT END Y VISIÓN GENERAL-

BASE DE DATOS RELACIONAL


SQL
PL/SQL
ORÁCULO
HERRAMIENTAS DE FRONT END (VISUAL 6.0)

3.METODOLOGÍA DE RECURSOS-

3.1 OBJETO DE ESTUDIO


3.2 REVISIÓN DE LA LITERATURA

4. ANÁLISIS DEL SISTEMA-

IDENTIFICACIÓN DEL PROBLEMA


SISTEMA PROPUESTO
ESTUDIO DE VIABILIDAD
CONVERSION DE RELACIONES
DISEÑO DEL SISTEMA EXISTENTE

5. DISEÑO DEL SISTEMA-

NORMALIZACIÓN
DICCIONARIO DE DATOS
DISEÑOS DE ENTRADA

6. CODIFICACIÓN, PRUEBAS, IMPLEMENTACIÓN Y MANTENIMIENTO-

PROGRAMACIÓN
PRUEBA
IMPLEMETACIÓN
MANTENIMIENTO

7. CONCLUSIÓN-
CONCLUSIÓN Y POSIBLES ESTUDIOS FUTUROS

GLOSARIO, BIBLIOGRAFÍA Y SITIOS DE INTERNET

1
SISTEMA DE GESTIÓN DE CURSOS

INTRODUCCIÓN

El proyecto del Sistema de Gestión de Cursos trata sobre el curso


gestión de estudiantes.
En el sistema propuesto, los profesores y los estudiantes pueden mantener
sus cursos en línea, en un entorno fácil y amigable para el usuario.

En este sistema hay diferentes módulos para diferentes trabajos.

Hay 3 Módulos para el Administrador, Instructor y Estudiantes


Respectivamente.

Módulo de Administración

El Administrador inicia sesión en el sistema, el Administrador puede crear estudiantes y

Instructores y Cursos y también pueden eliminarlos.

Módulo del Instructor :

El módulo del instructor tiene diferentes clases para diferentes trabajos.


i. Instructores inician sesión en el sistema.
ii. El instructor crea el curso y lo asigna a los estudiantes.
iii. El instructor revisa las tareas subidas y califica
Los estudiantes.

Módulo del Estudiante :

En el Módulo de Estudiante, el Estudiante inicia sesión en el Sistema, Verifica Por

Tareas que se le proporcionan a él/ella.

Luego completa su tarea y la sube.


Tarea.

Él/Ella también puede verificar las calificaciones proporcionadas por el instructor para

Su tarea.

2
SISTEMA DE GESTIÓN DE CURSOS

1.2 CONCLUSIÓN:-
El proyecto del portal de cursos en línea está desarrollado
en la plataforma Java. El objetivo principal de este sistema es implementar un
portal mayormente basado en línea con datos educativos que es capaz de
ser útil para estudiantes de facultad. La educación en línea es una de las
campo de rápido crecimiento en internet donde los usuarios resolverán directamente
problemas al visitar un sitio web sin la facilitación de académicos.
Este método había inflado el alcance de la educación en línea y en línea
cursos. en conjunto con cursos en línea este ordenador son
actualizado a menudo con datos alternativos como actualizaciones de empleo, en línea

detalles de comunicación
para enseñar.

2.1. MODELO RELACIONAL

El modelo relacional es hoy el principal


modelo de datos para aplicaciones de procesamiento de datos comerciales. Él
ha alcanzado su posición principal debido a su simplicidad,
lo que facilita el trabajo del programador, en comparación con
modelos de datos anteriores como el modelo de red. Un relacional
el modelo proporciona una forma muy simple pero poderosa de
representando datos.
Es un modelo de datos basado en registros. Una base de datos relacional
puede ser la colección de una o más de una tabla.
Generalmente, cada tabla es una relación. La relación es
considerado como una tabla de valores. La tabla tiene filas y
columnas. Cada fila en la tabla representa una colección de
valores de datos relacionados, y cada fila es un registro.
ESTUDIANTE
ROLAR NOMBRE CURSO
1 Smith CS
2 Negro Física
3 Marrón CS
4 Juan Química
5 Jorge Física

3
SISTEMA DE GESTIÓN DE CURSOS

En la tabla anterior, cada fila del estudiante corresponde a uno


estudiante.

2.1.1. TÉRMINOS DEL MODELO RELACIONAL:-


(1)DOMINIO: Un dominio tiene nombre, tipo de dato y
formato. Contiene los valores atómicos. En la tabla anterior de
el ROLL del estudiante es un dominio. Hablando con precisión, cada columna
en la tabla hay un dominio. Un dominio es un conjunto de valores de
cuáles son los valores actuales que aparecen en una columna dada
dibujo.
Por ejemplo,
Los valores que aparecen en la columna de lanzamiento de ambos
la tabla de estudiantes y marcas se extraen del dominio de todos
números de matrícula válidos.

(2) TUPLA: Las filas de cada tabla se conocen como una tupla. Es
un récord..
(3)ATRIBUTO: Las columnas suelen referirse como
atributos.
(4)RELACIÓN: Las tablas suelen denominarse relaciones.

2.1.2. CONSTRAINTS RELACIONALES:-


(1) Restricciones de dominio:- En una relación, el siguiente dominio
se siguen las restricciones:
El valor de cada atributo debe ser
atómico.
Los tipos de datos deben ser estándar
tipos de datos (entero, números reales,
longitud fija, etc.
Rango de valores para los dominios.

(2) Restricciones clave: -Bajo esto se encuentran:


(i) La clave primaria debe estar en
relación para identificar todas las entidades de manera única.
(ii) La clave candidata debe ser
si hay más de una clave.
(iii) Tiene que ser definido
si se permiten valores nulos o no. Si se permiten valores nulos
no se debe permitir, entonces debe definirse como NO NULO.

4
SISTEMA DE GESTIÓN DE CURSOS

(3) Restricciones de base de datos relacional (o) Datos relacionales


restricciones del esquema base:-Una base de datos contiene muchos
relaciones con cada relación teniendo múltiples tuplas y el
Las tuplas en la relación se relacionan de diversas maneras. Relación
se relacionan de diversas maneras. Integridad relacional
se mantienen restricciones entre las relaciones.
(4) Integridad de entidad, integridad referencial y foráneo
-
(i) Integridad de entidad: - No se puede tener un valor de clave primaria
ser nulo.
(ii) Llave foránea: - Supongamos que la relación de estudiantes es
teniendo el número de estudiante y utiliza el número de departamento para relacionarse con
la relación del departamento y el número de departamento es la clave principal del

departamento de relación. Entonces dept# es la relación Estudiante


la clave foránea para la relación estudiante.

P. ej.,
ESTUDIANTE DEPTO
NOMBRE DEL ESTUDIANTE# DEPTO# NÚMERO DE DEPTO
1 Xxx 10 10 Phy.
2 Yyy 10 20 Química.
3 Zzz 20 30 CS

(iii) Integridad referencial:- Esta restricción es


especificado entre dos relaciones y se utiliza para mantener el
consistencia entre las tuplas de las dos relaciones. Para referencial
la integridad de la clave foránea es obligatoria.

2.1.3. LENGUAJES DE BASE DE DATOS RELACIONALES:


Un lenguaje de base de datos relacional proporciona notaciones para derivar
información de las relaciones permanentes en una base de datos. Estas
hay muchos idiomas así disponibles. Pero la mayoría de ellos se basan
en uno de dos enfoques fundamentales:

1. Álgebra Relacional: En qué especializado


los operadores se aplican a las relaciones.

5
SISTEMA DE GESTIÓN DE CURSOS

2. Cálculo Relacional: Que se basa en predicado


cálculo y en el que las consultas se expresan especificando un
el predicado que debe especificar la tupla.
2.1.4. BASE DE DATOS RELACIONAL
Una base de datos relacional es un repositorio compartido de datos. Para hacer
datos de una base de datos relacional disponibles para los usuarios, tenemos que abordar
varios problemas. Uno es cómo los usuarios especifican la solicitud de datos: cuál de
¿los varios lenguajes de consulta que utilizan? El lenguaje de consulta más utilizado

el lenguaje es SQL (Lenguaje de Consulta Estructurada). Aparte de SQL, hay


hay dos otros lenguajes, QBE (Consulta por Ejemplo) y Datalog,
que ofrecen enfoques alternativos para consultar datos relacionales.
Otro problema es la integridad y seguridad de los datos; las bases de datos necesitan
proteger los datos de daños causados por acciones de los usuarios, ya sea intencionadas o no
intencional. El componente de mantenimiento de la integridad de una base de datos
asegura que las actualizaciones no violen las restricciones de integridad que tienen
ha sido especificado en los datos. El componente de seguridad de una base de datos
incluir autenticación de usuarios y control de acceso para restringir el
acciones permitidas para cada usuario.

2.2. SQL
Los lenguajes formales proporcionan una notación concisa para representar
consultas. Sin embargo, los sistemas de bases de datos comerciales requieren una consulta

un lenguaje que es más amigable para los usuarios. El más influyente


el lenguaje de consulta comercialmente comercializado es SQL. SQL es un no-
lenguaje procedural, es decir, el usuario describe la información deseada
sin proporcionar un procedimiento específico para obtener esa información.
SQL es una combinación de álgebra relacional y cálculo relacional
constructos. Aunque nos referimos al lenguaje SQL como una "consulta
lenguaje,” puede hacer mucho más que solo consultar una base de datos. Ella

puede definir la estructura de los datos, modificar datos en la base de datos,


y especificar restricciones de seguridad.
El lenguaje SQL tiene varias partes:
Lenguaje de definición de datos (DDL). El DDL de SQL proporciona
comandos para definir esquemas de relaciones, eliminar relaciones, y
modificando esquemas de relación.
Lenguaje de manipulación de datos interactivo (DML). El SQL
DML incluye un lenguaje de consulta basado tanto en álgebra relacional como en
el cálculo relacional de tuplas. También incluye comandos para insertar
tuplas dentro, eliminar tuplas de, y modificar tuplas en la base de datos.

6
SISTEMA DE GESTIÓN DE CURSOS

Definición de vista. El DDL de SQL proporciona comandos para definir


visitas.
Control de transacciones. SQL incluye comandos para
especificando el inicio y el final de una transacción.
Lenguaje de control de datos (DCL). El DCL de SQL proporciona
comandos para asegurar la base de datos.
2.2.1. ESTRUCTURA BÁSICA DE SQL
La estructura básica de SQL consta de tres cláusulas:
La cláusula SELECT corresponde a la operación de proyección de la
álgebra relacional. Se utiliza para listar los atributos deseados en el resultado
de la consulta.
La cláusula from corresponde a la operación de producto cartesiano
de la álgebra relacional. Enumera las relaciones que se deben escanear en el
evaluación de la expresión.
La cláusula WHERE corresponde al predicado de selección de la
álgebra relacional. Consiste en un predicado que involucra atributos de
las relaciones que aparecen en la cláusula from.

7
SISTEMA DE GESTIÓN DE CURSOS

Ejemplo:
Seleccionar A1, A2, …, An

DeT1,T2,…,Tm
DóndeP
Cada Aire representa un atributo, y cada Tire representa un
relación.Pis un predicado.

2.3. PL/SQL

PL/SQL es una extensión de SQL. Utiliza técnicas procedimentales.


como la copia y la ramificación para procesar los datos. Así, PL/SQL es
la combinación del poder de manipulación de datos de los lenguajes de programación procedimentales.

2.3.1. VENTAJAS DE PL/SQL:-


CAPACIDAD PROCEDIMENTAL: Bucles, asignaciones de ramificación, etc.
se utilizan en PL/SQL que se usa en la programación tradicional
idiomas.
MEJORA DE RENDIMIENTO: En lugar de enviar el SQL
declaraciones una por una, en PL/SQL los bloques enteros de
las declaraciones se pueden enviar al RDBMS a la vez.
PRODUCTIVIDAD MEJORADA: En lugar de utilizar múltiples disparadores
el desarrollador puede usar un bloque completo de PL/SQL como un
disparador.
PORTABILIDAD: PL/SQL es portable a cualquier hardware de computadora
y entorno del sistema operativo.
INTEGRACIÓN CON RDBMS: PL/SQL se integra con cualquier
Declaración de tipo de datos nativo en RDBMS.

2.3.2. ESTRUCTURA BÁSICA DEL BLOQUE PL/SQL


DECLARACIÓN
EJECUCIÓN DE DECLARACIONES
MANEJO DE ERRORES

8
SISTEMA DE GESTIÓN DE CURSOS

EJEMPLO:
declarar
número xyz (3);
comenzar
selecciona 12*12 en xyz
desde dual;
insertar en temp valores (xyz);
fin;
Aquí xyz es un entero declarado, dual es una tabla temporal, y temp es un
tabla existente.

2.4. ORACLE
Oracle es uno de los paquetes RDBMS.
2.4.1. BENEFICIOS DE USAR ORACLE:-
1. Bases de datos grandes y control de gestión del espacio:-
Oracle apoya el más grande de
Bases de datos.
2. Muchos usuarios concurrentes de la base de datos:

Soporta un gran número de concurrentes.


Los usuarios de la base de datos ejecutan una variedad de bases de datos

aplicación.
3. Ocultar el rendimiento del proceso de transacción:-
Los usuarios de bases de datos no sufren de
rendimiento de procesamiento lento.
4. Alta disponibilidad:-
En algunos sitios, Oracle trabaja por 24
horas por día y en operación normal del sistema tales datos
las bases de la ruptura y la falla parcial del sistema informático no
interrumpir el uso de la base de datos.

5. Disponibilidad controlada:-
Oracle puede controlar selectivamente el
disponibilidad de datos a nivel de base de datos y a nivel de subdatos.
6. Normas aceptadas por la industria:-
Satisface el estándar requerido para el
lenguajes de acceso a datos, interfaz de usuario del sistema operativo y
protocolos de comandos de red.

9
SISTEMA DE GESTIÓN DE CURSOS

7. Seguridad manejable:-
Para protegerse contra el acceso no autorizado
acceso y uso de la base de datos Oracle proporciona fallo y seguridad
característica de seguridad para limitar y monitorear el acceso a los datos.
8. La base de datos hace cumplir la integridad:
Garantiza la integridad de los datos, lo hace

soporta un entorno cliente-servidor.


9. Sistema de Base de Datos Distribuida:
Oracle combina los datos físicamente
ubicado en una computadora diferente a una base de datos lógica que
puede ser accedido por todos los usuarios de la base de datos. Sistema distribuido

tiene el mismo grado de transparencia y consistencia que en


sistema distribuido y recibir las ventajas de los datos locales
gestión de bases .
10. Portabilidad:-
Aplicación desarrollada para Oracle puede ser
demostrado en cualquier sistema operativo con poco o ningún
modificación.
Conectividad
Oracle permite diferentes tipos de computadoras
y sistema operativo para compartir información a través de redes.

Una base de datos Oracle tiene tanto la estructura lógica como la física.
2.4.2. Estructura física de la base de datos:
Una estructura física de base de datos Oracle determinada por el
Archivos del sistema operativo que constituyen la base de datos. Cada base de datos de Oracle es

compuesto por tres tipos de archivos.


1. Uno o más archivos de datos.
2. Archivos de registro de rehacer.

3. Uno o más archivos de control.

Los archivos de una base de datos proporcionan el almacenamiento físico real para
información de la base de datos.

2.4.3. Estructura lógica:


1. La estructura lógica de una base de datos Oracle está determinada por uno
o más espacios de tabla.
2. Los objetos del esquema de la base de datos.

Estos son clústeres, tablas, vistas, secuencias, procedimientos almacenados.

10
SISTEMA DE GESTIÓN DE CURSOS

Espacio de tabla:
Una base de datos se divide en unidades de almacenamiento lógicas llamadas
espacio de tabla. Una base de datos puede tener uno o más espacios de tabla.
Cada tabla de espacio tiene uno o más archivos de datos.
Mesa:
Una tabla es la unidad básica de almacenamiento de datos en un Oracle
base de datos. Las tablas de la base de datos contienen todos los usuarios
datos accesibles.
Vistas:
Una vista es una presentación personalizada de los datos en
una o más tablas. También se puede pensar como una consulta almacenada.
Secuencia:
Una secuencia simplifica el programa de aplicación al
generando una lista serial de números únicos para una columna numérica
en la base de datos.

3.1 OBJETO DE ESTUDIO


El objetivo principal de la metodología de investigación es habilitar el
desarrolladores para acceder a los sistemas originales que están siendo utilizados por el

usuarios en la realidad y hacer el sistema que sería


informatizado más eficiente, conveniente y fácil de entender
y trabajar en ello. A través de la metodología de investigación también podemos descubrir

las dificultades y obstáculos en el sistema original que se está utilizando


y también podemos encontrar la eficiencia del sistema computarizado
sistema en comparación con el sistema original. Por investigación
metodología también podemos descubrir el tipo de resultados que el usuario
quiere y en qué formato. La metodología de investigación ayuda
comprender el sistema existente y desarrollar un sistema eficiente.

3.2 REVISIÓN DE LA LITERATURA


En este capítulo aprendemos y experimentamos el
detalles del sistema existente antes de emprender cualquier proyecto
actividad. La información recopilada del usuario final es
se consideró para formar la base de la creación de la estrategia de diseño.
3.2.1 Investigación de Sistemas Existentes
Hicimos una encuesta preliminar de la Gestión del Curso
Sistema del colegio, es decir, cómo y qué información sobre un

11
SISTEMA DE GESTIÓN DEL CURSO

se almacena el estudiante, cuántos tipos diferentes de registros hay


mantenidos, de qué manera se mantienen y qué hacen
contener. Estudiamos todo el proceso existente a través de lo siguiente
métodos
3.2.1.1 Entrevistas
Primero que nada, descubrimos quiénes son todos los
el personal administrativo encargado de toda la información que tenemos
requerir. Luego obtuvimos el permiso de la administración para
que podamos entrevistar a los miembros del personal. Luego solicitamos su
tiempo y disponibilidad para que pudiéramos interactuar con ellos.
Las discusiones con el personal nos ayudaron a encontrar el alcance,
funcionalidad y objetivo del sistema. Una entrevista interactiva
con los empleados y su proceso de manejo de datos ayudó
nosotros encontramos sus requisitos y los problemas con el
sistema actual.

3.2.1.2 Revisión de Registros


Una variedad de diarios, informes y oficiales
se nos mostraron documentos para conocer el estado de lo existente
sistema. Los diferentes tipos de informes preparados por los empleados
donde también se estudió para visualizar y caracterizar el sistema, su
componentes integrados y uso operativo.
3.2.1.3 Observaciones
Las referencias y manuales del proyecto fueron
observado lo que ayudó a entender el sistema mejor
manera. También se nos dio la oportunidad de observar el tipo de informes que son
generados y las referencias realizadas para la generación de esas
informes. También observamos los problemas que enfrenta el personal
miembros en todas las áreas de este sistema.

4.1. Identificación del Problema


De todas las entrevistas, estudios sobre sistemas como
mantenimientos de registros, preparaciones de informes, etc. encontramos muchos
problemas que el personal estaba enfrentando. Son:
Pérdida de tiempo:
El personal estaba desperdiciando mucho tiempo en
ingresando los datos en los diferentes tipos de registros de todos
estudiantes.

12
SISTEMA DE GESTIÓN DE CURSOS

Desperdicio de papel:
Hay mucho desperdicio de papel porque
el personal utiliza muchos registros y libros para almacenar los datos de
cientos de estudiantes cada año.
Duplicación de datos:
Antes de ingresar cada registro, tienen que hacer
asegúrate de que el mismo registro no exista. Tienen que verificar el
lo mismo para cada registro al ingresar los datos en cada registro.
Datos dispersos:
Cuando todos los datos sobre un particular
se necesita estudiante, el empleado tiene que buscar todos los
registros dispersos que tardan mucho en recolectarse.
Seguridad de Datos:
Los datos almacenados en los registros y libros
no es seguro ya que cualquier persona no autorizada puede acceder a los datos en
en cualquier momento sin la voluntad y el permiso de la administración
personal.

Informes ineficientes:
El informe requerido por la dirección
no se puede obtener de inmediato y requiere un esfuerzo extenso
por el personal y los funcionarios para generar un informe simple, que es
a menudo propenso a errores.

Número de matrícula: El sistema de numeración de matrícula de un estudiante también es


no es conveniente ya que los números de rollo se repiten cada vez
tres años. Esto puede llevar a la confusión al recuperar el
datos sobre un estudiante en particular a menos que él mencione su año de
unirse. Si usamos este tipo de numeración de rollos incluso después de
la computarización de este Sistema de Gestión de Cursos entonces nosotros
enfrentará problemas por la unicidad del estudiante como número de matrícula
es la clave principal para la identificación del estudiante.

4.2. Sistema Informático Propuesto


La gestión eficaz del sistema requiere una coordinación adecuada
y un enfoque integrado hacia varios problemas con respecto
al sistema. Con el fin de lograr la máxima contribución a
la eficiencia y efectividad de la gestión del curso
Sistema (SIS) preparación de la PRESIDENCIA(A) Colegio

13
SISTEMA DE GESTIÓN DE CURSOS

Berhampur, todo tiene que ser informatizado. El propuesto


El sistema de gestión de cursos será capaz de realizar el
las siguientes funciones:
Rutinas de recolección de datos estandarizadas.
MódulosSISformateados, formulario de entrada de datos.
Flujo de información eficiente, flexibilidad para el sistema.
La gestión eficiente de decisiones está respaldada por la flexibilidad del sistema.
Base de datos eficiente, manejo de control y mantenimiento
Seguridad de datos efectiva y eficiente, coherencia, integridad,
y habilitar la no redundancia.
Generación de informes formateados y eficientes según el
requisitos del cliente.

4.3. Estudio de Viabilidad


Un resultado importante de la preliminar
la investigación es la determinación de si el sistema
se solicita si es factible o no. Se está realizando el estudio de viabilidad
a través de.

Viabilidad Técnica:
Ya sea que el trabajo para elSISproject pueda ser
hecho con el equipo actual, la tecnología de software existente
se requiere, ¿cuál es la probabilidad de que se desarrolle? Técnico
viabilidad en los puntos clave.
Software especificado
Hardware especificado
Disponibilidad de personal capacitado para operar el sistema
4.3.2. Viabilidad Económica:
Si hay suficientes beneficios en crear
el sistema para hacer que los costos sean aceptables o no y los costos de
no crear algo tan grande que el proyecto deba llevarse a cabo.
4.3.2.1. Viabilidad Operativa
Si el sistema se utilizará después
desarrollo e implementaciones si habrá
resistencia para los usuarios que socavarán lo posible
los beneficios de las aplicaciones La viabilidad operacional depende de la
puntos clave siguientes.

14
SISTEMA DE GESTIÓN DE CURSOS

Suficiente estímulo y apoyo por parte de la dirección


lado respecto al proyecto.
Usuarios finales entusiastas para utilizar el sistema computarizado.
El sistema propuesto se basa en la exactitud de lo actual
sistema.

4.4. CONVERSIONES DE RELACIONES

4.4.1. CONJUNTOS DE ENTIDADES:-

4.4.1.1 DETALLE DE STU


Número de rol
Número de Registro
Nacionalidad
Ocupación del padre
Admisión
4.4.1.2 ACADÉMICO:-
Número de registro
Escuela/Universidad aprobada
División, Estado, Año de Egreso.

4.4.1.3 ESPECIAL:-
Número de rollo
4.4.1.4 CURSO:-
C_id
4.4.1.5 CUOTAS:-
Número de matrícula
-
Número de matrícula
Días Presente.
4.4.1.7 EXAMEN
Número de registro
examen o no), Nombre del examen, C_id, Máximas calificaciones,
Marksec}.

4.4.2. CONJUNTOS DE RELACIONES:-


4.4.2.1 CON:-
Es una relación de uno a muchos que se asocia con la entidad
establecer ESTUDIANTE y el conjunto de entidades HISTORIA ACADÉMICA.

15
SISTEMA DE GESTIÓN DE CURSOS

4.4.2.2. PUEDE TENER:-


Es una relación de uno a muchos que asocia el conjunto de entidades
ESTUDIANTE y el conjunto de entidades RENDIMIENTO ESPECIAL.
4.4.2.3. Teniendo:-
Es una relación de uno a muchos que asocia el conjunto de entidades
ESTUDIANTE y el conjunto de entidades DETALLES DE EXAMEN.
4.4.2.4. TOMANDO:-
Es una relación de uno a muchos que asocia el conjunto de entidades
ESTUDIANTE y el conjunto de entidades CURSO.
4.4.2.5. TIENE:-
Es un conjunto de relaciones uno a uno que asocia el conjunto de entidades
ESTUDIANTE y el conjunto de entidades ASISTENCIA.

4.4.2.6. PAGO:-
Es un conjunto de relaciones de uno a muchos que asocia el conjunto de entidades
ESTUDIANTE y el conjunto de entidades DIAS.

4.4.2.7. CONSISTE EN:-


Es un conjunto de relaciones uno a muchos que asocia el
conjunto de entidades DETALLES DE EXAMEN y el conjunto de entidades CURSO.

dieciséis
SISTEMA DE GESTIÓN DE CURSOS

4.4.3 Diagrama E-R

DIAGRAMA DE FLUJO DE DATOS

17
SISTEMA DE GESTIÓN DE CURSOS

4.5.Diseño del sistema existente


El proyecto del Sistema de Gestión de Cursos trata sobre el general
detalles del estudiante después de la admisión. Una vez que un estudiante obtiene

admitió que la universidad mantiene cinco registros diferentes para tener


sus datos, son—(i) Registro de admisión (ii) Registro de lista larga
Registro de control de tarifas
registro. Estos registros están relacionados entre sí por los estudiantes.
número de registro. Este sistema contiene los detalles del estudiante, académicos
history of the student
y detalle del examen.
4.5.1. Student Detail: Necessary information of the student
es mantenido o almacenado por la universidad. Al referirse a este registro
se puede obtener la información completa del estudiante.
4.5.2. Historial Académico: La universidad mantiene el académico
historia de los exámenes aprobados por el estudiante. Un estudiante puede tener
más de una historia académica según la clase.
4.5.3. Curso: La universidad ofrece diferentes combinaciones de
cursos para diferentes ramas - Artes/Ciencias/Comercio y alas
+2/+3/P.G.
4.5.4. Cuotas: El registro de control de tarifas se ocupa de las cuotas de
el estudiante. Esto muestra el estado de clearance del estudiante. Esto
el permiso de autorización permite a un estudiante presentarse al examen.

4.5.5. Rendimiento Especial: Las actividades extracurriculares de


un estudiante está almacenado en este registro. Ellos son si el estudiante tenía
participado en NCC, NSS, deportes u otras actividades culturales.
4.5.6.Asistencia: La asistencia de un estudiante que muestra
se mantiene la regularidad del estudiante en la asistencia
registrar.
4.5.7.Detalles del examen: Un informe de detalles del examen de cada estudiante
se mantiene, esto muestra el estado de examen del estudiante.
Esto incluye el nombre del examen, el ID del curso, si aparecieron

18
SISTEMA DE GESTIÓN DE CURSOS

el examen o no, la nota máxima del examen y la nota


asegurado por el estudiante.

5.1 NORMALIZACIÓN
5.1.1
Antes de la normalización, la tabla STUDETAIL era la siguiente:-
5.1.1.1 DETALLE DE ESTU

NÚMERO DE ROL
NOMBRE
Fecha de nacimiento
REGDNO
SEXO
RELIGIÓN
CATEGORÍA
NACIÓN
MS
DOA
MTONGUE
TCNO
NOMBRE
OCUPACIÓN
QUEDANDO CON
DIRECCIÓN ACTUAL
PERMANENTE
DIRECCIÓN
CURSO TOMADO

1NF

La relación STUDETAIL no está en primera forma normal


porque el atributo CURSO TOMADO es multivalorado
atributo. En cuanto a 1NF, el atributo de la relación debe ser
elementos de datos atómicos. Así que al hacer CURSO REALIZADO en atómico
los elementos de datos la relación se puede convertir en 1NF.
Entonces la tabla será la siguiente:-
5.1.1.2.STUDETAIL

19
SISTEMA DE GESTIÓN DE CURSOS

NÚMERO DE ROL
NOMBRE
Fecha de nacimiento
REGDNO
SEXO
RELIGIÓN
CATEGORÍA
NACIÓN
MS
DOA
MTONGUE
TCNO
NOMBRE
OCUPACIÓN
QUEDARSE CON
PRESENTE
DIRECCIÓN
PERMANENTE
DIRECCIÓN
OBLIGATORIO 1
OBLIGATORIO 2
OPCIONAL 1
OPCIONAL 2
OPCIONAL 3
CUARTA OPCIONAL
OBLIGATORIO 1
OBLIGATORIO 2
OBLIGATORIO 3
OBLIGATORIO 4
ELECTIVA PRINCIPAL
ELECTIVA MENOR
CURSO BÁSICO 1
CURSO BÁSICO 2
CURSO BÁSICO 3
CURSO BÁSICO 4
ESTADO

2NF
La relación STUDETAIL ya está en 2NF ya que está en 1NF.
y todos los atributos no clave dependen del atributo clave
NÚMERO DE ROL.

20
SISTEMA DE GESTIÓN DE CURSOS

3NF
En esta relación, cuando el registro de un estudiante de +2 es
ingresado, luego el Obligatorio 1, Obligatorio 2, Opcional 1,
Los campos Opcional 2, Opcional 3 y Cuarto Opcional están completados
y todos los demás campos permanecen vacíos. De manera similar para +3 algunos
otros campos están llenos y todos los demás campos permanecen en blanco.
Como resultado, se observa que la mayoría de los nombres de las columnas permanecen
en blanco para un registro específico.
Por lo tanto, la relación STUDETAIL se divide en el
siguiendo relaciones:-
(I) ESTUDIANTE
(II) ESTUDIANTE_SECUNDARIA_SUPERIOR
(III) ESTUDIANTE-CALIFICACIÓN
Por lo tanto, el STUDETAIL
la relación se divide en tres tablas diferentes por las cuales se
en 3NF y las relaciones son las siguientes:-

5.1.1.3(a) ESTUDIANTE-

NÚMERO DE ROL
NOMBRE
Fecha de nacimiento
REGDNO
SEXO
RELIGIÓN
CATEGORÍA
NACIÓN
MS
DOA
MTONGUE
TCNO
NOMBRE
OCUPACIÓN
QUEDÁNDOME CON
DIRECCIÓN ACTUAL
PERMANENTE
DIRECCIÓN

5.1.1.3(b) ESTUDIANTE-SECUNDARIA-ALTA-

21
SISTEMA DE GESTIÓN DE CURSOS

NÚMERO DE ROL
OBLIGATORIO 1
OBLIGATORIO 2
OPCIONAL 1
OPCIONAL 2
OPCIONAL 3
CUARTO
OPCIONAL

5.1.1.3(c) ESTUDIANTE-TÍTULO

NÚMERO DE ROL
ESTADO
HONORES
OBLIGATORIO 1
OBLIGATORIO 2
OBLIGATORIO 3
OBLIGATORIO 4
ELECTIVA PRINCIPAL
ELECTIVA MENOR
CURSO BÁSICO 1
CURSO BÁSICO 2
CURSO BÁSICO 3

-
Antes de la normalización, la tabla CURSO
era el siguiente:-

5.1.2.1. CURSO

C-ID
C_NAM
E

1NF
La relación CURSO está en 1NF ya que todos sus atributos son
elementos de datos atómicos.

2NF:

22
SISTEMA DE GESTIÓN DE CURSOS

Ya está en 2NF ya que ya está en 1NF y la no clave


el atributo C_NAME depende del atributo clave C_ID.
3NF
Ya está en la 3NF ya que ya está en 2NF y no clave
el atributo C_NAME es independiente.

Por lo tanto, después de la normalización, la tabla permanecerá sin cambios y


será como sigue:-

5.1.2.2 CURSO:-

C-ID
C_NAM
E

-
Antes de la normalización la tabla
fue el siguiente:-

ASISTENCIA:-

NÚMERO DE ROL
AÑO
MES
NO. DE TRABAJANDO
DÍAS(AHORA)
1NF
NO. DE DÍAS PRESENTES (NODP)
El
la relación ASISTENCIA está en 1NF ya que todos los valores de sus atributos
son elementos de datos atómicos.

2NF:
La relación ya está en 2NF. Porque ya está en
1Nf y atributos no clave NÚMERO DE DÍAS PRESENTE (NODP),
NÚMERO DE DÍAS LABORABLES (NDL) y MES están completamente
dependiente funcional de los atributos clave ROLLNO y
AÑO.
3NF:
Ya está en 3NF. Porque ya está en 2NF y todo
atributos no clave MES, NÚMERO DE DÍAS PRESENTES (NODP)
son independientes entre sí. Por lo tanto, está en 3NF.

23
SISTEMA DE GESTIÓN DE CURSOS

Entonces, después de la normalización, la relación

permanece sin cambios y será como sigue:-


5.1.3.2 ASISTENCIA:-

NÚMERO DE ROL
AÑO
MES
NO. DE TRABAJANDO
DÍAS(NOWD)
NÚMERO DE DÍAS PRESENTES (NODP)

5.1.4 DUES
Antes de la normalización, la relación DUES es como
sigue:

5.1.4.1 CUOTAS:

ROLLN
O
AÑO
TARIFAS
MULTAS

1NF
La relación DUES está en 1NF. Como todos los valores de los atributos
son elementos de datos atómicos.

2NF
La relación ya está en 2NF. Porque ya está en 1NF.
y todos los atributos no clave, tarifas y multas son completamente funcionales
dependiente de ROLLNO.
3NF
La relación ya está en 3NF. Porque ya está en 2NF.
y todos los atributos no clave, tarifas y multas son independientes entre sí
otro.
Por lo tanto, después de

la normalización de la relación será la siguiente:-


5.1.4.2 CUOTAS:-

ROLLN
O

24
SISTEMA DE GESTIÓN DE CURSOS

AÑO
CARGOS
MULTAS

5.1.5 RENDIMIENTO ESPECIAL:-


Antes de la normalización
la tabla era la siguiente:-

5.1.5.1 ESPECIAL:-

NÚMERO DE MATRÍCULA
NCC
NSS
DEPORTES
CULTURAL

1NF:
La relación está en 1NF. Ya que todos los valores de sus atributos son
elementos de datos atómicos.

2NF
Ya está en 2NF. Porque ya está en 1NF y todos sus
los atributos no clave NCC, NSS, DEPORTES, CULTURAL están completamente
dependiente de ROLLNO.
3NF
Ya está en 3NF. Como está en 2NF y todas las no clave
los atributos NCC, NSS, DEPORTES, CULTURAL son independientes de
el uno al otro.

Por lo tanto, después de la normalización la

la relación será la siguiente:-

-
Antes de la normalización, el
la tabla era la siguiente:-

5.1.6.1 ACADÉMICO

NÚMERO DE ROL
CLASE

25
SISTEMA DE GESTIÓN DE CURSOS

NOMBRE DE JUNTA/UNIVERSIDAD
APROBADO (NOBU)
NOMBRE DE ESCUELA/COLLEGE
APROBADO (NOSC)
ANUAL/SUPLEMENTARIO (ESTATUS)
MÁXIMO DE PUNTOS (MAXPOINTS)
MARKSECURED (MARKSEC)
DIVISIÓN
AÑO DE GRADUACIÓN (YOG)

1NF
Ya está en 1NF. Como todos los valores de los atributos son atómicos.
elementos de datos.

2NF:
Ya está en 2NF. Como está en 1NF y todas las no clave
los atributos son completamente dependientes funcionalmente del atributo clave
NÚMERO DE ROL.
3NF:
Ya está en 3NF. Como está en 2NF y todas las no clave
los atributos son independientes entre sí.
Por lo tanto, después de la normalización, la relación será como

sigue:-

5.1.6.2 ACADÉMICO

NÚMERO DE ROL
CLASE
NOMBRE DE JUNTA/UNIVERSIDAD
APROBADO (NOBU)
NOMBRE DE ESCUELA/COLLEGIO
APROBADO (NOSC)
ANUAL/SUPLEMENTARIA (ESTATUS)
MÁXIMA PUNTUACIÓN (MAXMARKS)
MARKSECURED (MARKSEC)
DIVISIÓN
AÑO DE EGRESO (YOP)

5.1.7. DETALLES DEL EXAMEN:-


Antes de la normalización la
la tabla era la siguiente:-

26
SISTEMA DE GESTIÓN DE CURSOS

5.1.7.1 EXAMEN:-

NÚMERO DE ROLL
AÑO
MES
C_ID
NOMBRE DEL EXAMEN (ENAME)
ESTADO DE EXAMEN
MARCA MÁXIMA (MAXMARKS)
MARCA SEGURO (MARKSEC)

1NF
Ya está en 1NF. Como todos los valores de los atributos son atómicos.
elementos de datos.

2NF:
Está en 1NF. Pero los atributos no clave MES,
NOMBRE DEL EXAMEN
(ESTATUS) son totalmente funcionales y dependen de atributos clave
ROLLNO y AÑO. Por otro lado, los atributos no clave
MES
(MARKSEC) dependen completamente de todos los atributos clave
ROLLNO, AÑO, C_ID.C_ID, MAXMARKS y MARKSEC son
elementos de datos multivaluados. Por lo tanto, al hacer dos relaciones la
la relación se puede hacer en 2NF.
Entonces, después de 2NF, la relación será la siguiente:-

(I) EXAMEN
DETALLE
(II) DETALLES DE CALIFICAIONES

5.1.7.2. DETALLE DE EXAMEN:

NÚMERO DE ROL
AÑO
MES
NOMBRE DEL EXAMEN (ENAME)
EXAMEN ESTADO
(ESTATUS)

5.1.7.3 DETALLE DE MARCAS:-

27
SISTEMA DE GESTIÓN DE CURSOS

NÚMERO DE ROLL
AÑO
MES
C_ID
MÁXIMAS NOTAS (MAXMARKS)
MARCA ASEGURADA (MARKSEC)

3NF
Ya está en 3NF. Como está en 2NF y todos los no clave
los atributos son independientes entre sí.
Por lo tanto, después de la normalización, la relación será como

sigue:-

5.1.7.4 DETALLE DEL EXAMEN:-

NÚMERO DE ROL
AÑO
MES
NOMBRE DEL EXAMEN (ENAME)
ESTATUS DE EXAMEN

5.1.7.5 DETALLE DE MARCAS:-

NÚMERO DE ROL
AÑO
MES
C_ID
MÁXIMAS PUNTUACIONES (MAXPUNTOS)
MARCA ASEGURADA (MARKSEC)

DICCIONARIO DE DATOS

5.2.1. DETALLE DEL ESTUDIANTE:

ELEMENTO DE DATOS
NÚMERO DE ROL
NÚMERO 7 Identifica un único
estudiante.

28
SISTEMA DE GESTIÓN DE CURSOS

NOMBRE CARÁCTER 30 Muestra el nombre del


R estudiante.
Fecha de nacimiento
FECHA 7 Muestra la fecha de nacimiento de
el estudiante.
REGDNO VARCHAR2 10 Identifica una única
estudiante por su
número de registro.
SEXO CARÁCTER 1 Identifica el sexo del
R estudiante ya sea masculino (M)
o femenina (F).
RELIGIÓN CARÁCTE 10 Muestra la religión del
R estudiante si él/ella es
Hindu/Musulmán/Cristiano/
Otro, etc.
CATEGORÍA CARÁCTE 3 Identifica la categoría de
R el estudiante al que
él/ella pertenece a, es decir,
ya sea él/ella es
SC/ST/OBC/GEN.
NACIÓN CARÁCTE 10 Muestra a qué país
R el estudiante pertenece a, es decir,
ya sea indio/otros.
MS PERSONAJE 1 Muestra si el
R el estudiante está casado (M) o
Soltero (U).
DOA FECHA 7 Muestra en qué fecha el
estudiante tenía tomado
admisión en la universidad.
CARÁCTER MTONGUE 10 Muestra en qué idioma
R el estudiante solía hablar
con otro en casa/otro
lugares en general como

u etc.
TCNO VARCHAR2 10 Es el certificado de transferencia
número del estudiante. A
el estudiante es un estudiante activo
del colegio hasta él/ella
tomando TC.
NOMBRE CARACTER 30 Se muestra el nombre del

29
SISTEMA DE GESTIÓN DE CURSOS

R padre del estudiante.

FOCCUPATI- CARÁCTER 20 Muestra la designación de


EN R el padre del estudiante.

PERMANECIENDOWI- CARACTER 19 Muestra con quién y


TH R ¿Dónde vive el estudiante?
mientras estudiaba en el
colegio.
PERSONAJE PRESTAMO 20 Muestra el estado presente
R nombre del estudiante donde
él/ella se está quedando actualmente
mientras estudiaba en el
colegio.
PRECIDAD CARÁCTER 20 Muestra la ciudad actual
R nombre del estudiante donde
él/ella se está quedando actualmente
mientras estudiaba en el
colegio.
TELÉFONO VARCHAR2 10 Muestra el contacto
número del estudiante si
él/ella tiene el teléfono
instalación.
PRESTREET CARÁCTE 20 Muestra la calle actual
R nombre del estudiante donde
él/ella se está quedando actualmente
mientras estudiaba en el
universidad.
PREPIN NÚMERO 6 Muestra la ciudad actual
código o número de pin del
estudiante donde él/ella está
permaneciendo presente mientras
estudiando en la universidad.
CARÁCTER PERSTREET 20 Muestra lo permanente
R nombre de la calle del estudiante
dónde se está quedando
permanentemente mientras estudio
en la universidad.
PERCITY CARACTER 20 Muestra la ciudad permanente
R nombre del estudiante donde

30
SISTEMA DE GESTIÓN DE CURSOS

él/ella es quedándose
permanentemente mientras estudias
en la universidad.
CARÁCTER PERSTATE 20 Muestra lo permanente
R indique el nombre del estudiante
donde se está quedando
permanentemente mientras estudias
en la universidad.
PERPIN NÚMERO 6 Muestra lo permanente
código o número de PIN de la ciudad de
el estudiante donde él/ella
está quedándose permanentemente
mientras estudiaba en el
universidad

6.2 Pruebas
Todo software desarrollado debe ser probado por su eficiencia
y consistencia. Hay dos tipos de prueba. A saber:
Pruebas unitarias y
Pruebas integradas
6.2.1Pruebas unitarias

31
SISTEMA DE GESTIÓN DE CURSOS

Las pruebas unitarias se utilizan para alimentar la funcionalidad y la fiabilidad.


de módulos individuales desarrollados por separado. Esta prueba evita
errores y bugs fáciles. El problema de compilación está aislado.
6.2.3 Pruebas Integradas
Después de que se prueben por separado los diferentes módulos
todos los módulos probados están compilados e integrados como un todo entonces
todo el sistema se prueba con datos reales/ficticios.
En su conjunto, el sistema integrado
es luego probado por los funcionarios que se ocupan de este tipo de sistema
en realidad, para descubrir si el software desarrollado es eficiente,
consistentes y útiles en su forma de actuar o no. Después de todo, el
los contratiempos en el desarrollo del software han terminado, el software está
entonces está todo listo para la implementación.

6.3 IMPLEMENTACIÓN

Después de que toda la codificación y las pruebas hayan terminado por parte de los usuarios finales y

funcionarios, el siguiente paso es la implementación del sistema. Sistema


la implementación contiene:
Manual del sistema
Manual del usuario
6.3.1 Manual del Sistema:
Esto tiene toda la información sobre hardware y
requisitos de software y cómo se instalará el sistema.
Algunas de las características más destacadas del proyecto son:

Altamente amigable para el usuario

Altamente interactivo
Datos Protegidos
Entrada de Usuario Autorizado
Cambiar la propia contraseña
Privilegios de Administrador
Sistema de respaldo y recuperación de datos
Altamente flexible para múltiples consultas

Captura de errores eficiente


Mejor instalación de informes

Requisitos:

32
SISTEMA DE GESTIÓN DE CURSOS

Requisitos de hardware:
La máquina y los accesorios están usados.
Máquina – Pentium – III
Procesador - 733 MHz
Almacenamiento Principal - 69MB

Disco Duro – 20GB


Impresora
Requisitos de Software:

El software utilizado es -
Sistema Operativo – Windows XP
Frontend – HTML y JSP
Back End – Oracle10g
6.3.2 Configuración de DSN:

Para instalar o ejecutar la aplicación, el DSN (Nombre de la Fuente de Datos


El nombre) debe configurarse correctamente. Para establecer el DSN, siga lo siguiente
pasos.
i. Abre el panel de control.
ii. Haga clic -> Fuentes de datos ODBC (32 bits)
iii. Haga clic en la pestaña DSN de usuario.
iv. Haz clic en Agregar
v. En la siguiente ventana selecciona el controlador

vi. 'Microsoft ODBC para Oracle'


vii. Haga clic en Terminar

viii. En la siguiente ventana


ix. Escriba 'oracle' en el campo Nombre de origen de datos
x. Haga clic en Aceptar

Otra cosa en la configuración regional de su formato de fecha del sistema


debería ser dd/mm/yyyy.

Instalación:
Para instalar el proyecto del Sistema de Gestión de Cursos
ve a la carpetaPackage y ábrela. Habrá un archivo llamado
setup.exe solo haz doble clic en él para ejecutar el programa de instalación. El
el proyecto se instalará automáticamente.

33
SISTEMA DE GESTIÓN DE CURSOS

Después de la exitosa instalación del proyecto, nosotros


encontrará el Sistema de Gestión de Cursos bajo programas en
menú de inicio.
6.3.3 Manual del usuario:
El Sistema de Gestión de Cursos (SIS) es un usuario
proyecto amigable e interactivo basado en Interfaz Gráfica de Usuario
sistema.
Permite dos tipos de personas autorizadas. A saber
Usuarios y
Administrador
Usuarios:
Estas son las personas autorizadas que pueden iniciar sesión y hacer el
los siguientes trabajos:

Entrada de datos
Modificación de datos
Generación de informes
Administrador
Él es la autoridad principal del proyecto. Él puede realizar los trabajos
de un usuario así como los siguientes trabajos:
Eliminar usuario
Eliminar datos
Crear Nuevo Usuario
Importar y Exportar Datos
Inicio de sesión de usuario

Antes de iniciar sesión, el usuario ve una pantalla con dos comandos.


botonessaliryniciar.Después de hacer clic en el botón de inicio, el
el usuario recibe un formulario de inicio de sesión con nombre de usuario y contraseña. Para ingresar

el usuario tiene que entonces proporcionar su nombre de usuario y


contraseña. Después de que el usuario haya iniciado sesión en el sistema con éxito
él obtendrá la pantalla principal, donde encontrará diferentes opciones
a lo que está autorizado. Entonces puede hacer el trabajo de su
requisito. Incluso puede cambiar su propia contraseña. Después del
el trabajo ha terminado, él puede cerrar sesión exitosamente haciendo clic en salir o en
usando las teclas de acceso rápido Ctrl+X.

Administrador Iniciar sesión


El administrador también puede iniciar sesión en el sistema como lo hace el
usuario, con su nombre de usuario y contraseña. También recibe entonces el

34
SISTEMA DE GESTIÓN DE CURSOS

pantalla principal con todos los privilegios. Entonces puede hacerlo con éxito
su propio trabajo y salir en el estilo que el usuario hace.
6.3.3.1 Manual Operativo:
El usuario después de entrar en la pantalla principal puede la
los siguientes trabajos de las siguientes maneras:

Entrada de Datos:
Para la entrada de datos, el usuario debe proporcionar el
número de matrícula del estudiante en cada formulario ya que es la clave primaria
para la identificación de un estudiante en particular. Si el usuario ingresa cualquier
tipo de datos peculiares o datos inválidos que el sistema produce un
mensaje de error y guía al usuario para la entrada de datos correcta.

Generación de informes:
Aquí, primero el usuario tiene que hacer clic en un
cuadro combinado sobre el tipo de informe que desea y luego haga clic en el
botón de comando de informe. Luego obtiene un diálogo común
cuadro para hacer que el usuario seleccione el tipo de archivo para la salida donde
la salida puede ser almacenada.
Modificación de Datos:
Aquí el usuario puede modificar los datos si
supongamos que él piensa que ha ingresado algún dato incorrecto.
6.4 MANTENIMIENTO:
El aspecto principal del mantenimiento es proporcionar
Copia de seguridad y recuperación de bases de datos, Importar y Exportar.

6.4.1 Respaldo y recuperación de bases de datos:


Un SGBD debe proporcionar la capacidad de recuperarse de
fallos de hardware o software. La copia de seguridad y la recuperación
el subsistema del DBMS es responsable de la recuperación. Para
Ejemplo, si el sistema informático falla en medio de un
programa de actualización complejo, el subsistema de recuperación es
responsable de asegurarse de que la base de datos esté almacenada en
el estado en el que se encontraba antes de que el programa comenzara a ejecutarse.

Alternativamente, el subsistema de recuperación podría asegurar que el


el programa se reanuda desde el punto en el que estaba
interrumpido para que su efecto completo se registre en la base de datos.
6.4.2 Importación y Exportación:
En esta aplicación, como estamos utilizando Oracle como el
para el almacenamiento de datos, utilizamos las facilidades de importación y exportación

35
SISTEMA DE GESTIÓN DE CURSOS

proporcionado por el producto de Oracle. Esto se implementa mediante un lote


archivo que contiene el comando.

¿Por qué es importante JAVA para Internet?

Internet ayudó a catapultar JAVA al frente de


la programación, y JAVA, a su vez, ha tenido un profundo efecto en la
internet. La razón es bastante simple: JAVA expande el universo de
los objetos pueden moverse libremente en el ciberespacio. En una red, dos muy
categorías amplias de objetos se transmiten entre el servidor y
cliente: información pasiva y dinámica, programas activos. Para
Ejemplo: cuando leemos nuestro correo electrónico, estamos viendo datos pasivos.
Sin embargo, un segundo tipo de objeto puede ser transmitido al cliente.
la computadora aún es iniciada por el servidor. Por ejemplo, un programa podría
ser proporcionado por el servidor para mostrar correctamente los datos que el servidor
está enviando.

APÉNDICE - B: SERVIDOR WEB

Un usuario ingresa un Localizador Uniforme de Recursos (URL) en un navegador. El


el navegador genera una solicitud HTTP al servidor web apropiado. El
el servidor web asigna esta solicitud a un archivo específico.

Hay dos tipos de servidores web:


Servidor web independiente.
Servidor web integrado

Hay dos tipos de arquitecturas del servidor web:


Arquitectura de 2 capas
Arquitectura de 3 capas

B.1: Arquitectura de 2 Niveles

En la arquitectura tradicional de 2 niveles, solo existía el servidor y


el cliente. En la mayoría de los casos, el servidor era solo un servidor de base de datos que
solo puedo ofrecer datos. Por lo tanto, la mayoría de la lógica de negocios es decir,
las validaciones, etc. tenían que ser colocadas en el sistema de los clientes. Esto hace
mantenimiento caro. A estos clientes se les llama 'clientes pesados'. Esto
también significa que cada cliente tiene que ser capacitado sobre cómo usar el
aplicación.

36
SISTEMA DE GESTIÓN DE CURSOS

Figura B.1 Arquitectura de 2 niveles

B.2: Arquitectura de 3 niveles

Para superar las desventajas de la arquitectura de 2 capas, la arquitectura de 3 capas


se propone un modelo. Una aplicación se divide en tres partes separadas
capas lógicas, cada una con un conjunto de interfaces bien definidas. El primer nivel es
conocida como la capa de presentación y normalmente consiste en un
interfaz gráfica de usuario de algún tipo. La capa intermedia, o negocio
capa, consiste en la lógica de aplicación o negocio y el tercer nivel-
la capa de datos: contiene los datos necesarios para la aplicación.
a continuación se presentan las ventajas del servidor web.
Separación clara del control de la interfaz de usuario y la presentación de datos
a través de la lógica de aplicación. A través de esta separación, más clientes son
capaz de tener acceso a una amplia variedad de aplicaciones de servidor. El
dos ventajas principales para las aplicaciones del cliente son claras: más rápido
desarrollo a través de la reutilización de lógica de negocio preconstruida
componentes y una fase de prueba más corta, porque el servidor-
los componentes ya han sido probados.
La redefinición de la estrategia de almacenamiento no influirá en los clientes.
Los RDBMS ofrecen una cierta independencia de los detalles de almacenamiento para
los clientes. Sin embargo, casos como cambiar los atributos de la tabla hacen
es necesario adaptar la aplicación del cliente. En el futuro, incluso
cambios radicales, como digamos, cambiar de un RDBMS a un
OODBS no influirá en el cliente. En sistemas bien diseñados,
el cliente aún accede a los datos a través de una conexión estable y bien diseñada
interfaz que encapsula todos los detalles de almacenamiento.
Los objetos de negocio y el almacenamiento de datos deben acercarse lo más posible.
juntos en la medida de lo posible, idealmente deberían estar juntos físicamente
en el mismo servidor. De esta manera - especialmente con accesos complejos
- se elimina la carga de la red. El cliente solo recibe los resultados
de un cálculo - a través del objeto de negocio, por supuesto.
En contraste con el modelo de 2 niveles, donde solo se puede acceder a los datos.
el público, objetos de negocio pueden colocar lógica de aplicaciones o
"servicios" en la red. Como ejemplo, un número de inventario tiene

37
SISTEMA DE GESTIÓN DE CURSOS

un "dígito de prueba", y el cálculo de ese dígito se puede realizar


disponible en el servidor.
Como regla general, los servidores son sistemas "confiables". Su autorización es
más simple que el de miles de PC-clients "no confiables". Datos
la protección y la seguridad son más simples de obtener. Por lo tanto, hace
sentido para ejecutar procesos comerciales críticos que trabajen con seguridad
datos sensibles, en el servidor.
Balanceo de carga dinámico: si hay cuellos de botella en términos de rendimiento
ocurrir, el proceso del servidor se puede mover a otros servidores en
tiempo de ejecución.
Gestión del cambio: es fácil - y más rápido - intercambiar un
componente en el servidor que suministra numerosos PC con
nuevas versiones del programa.

Interfaz de usuario

Lógica de aplicación

XML
documentos

Figura B.2 Arquitectura de 3 niveles

38
SISTEMA DE GESTIÓN DE CURSOS

APÉNDICE - C: JSP (PÁGINAS DEL SERVIDOR JAVA)

La tecnología de JavaServer Pages (JSP) te permite crear fácilmente un


Contenido web que tiene componentes tanto estáticos como dinámicos. JSP
la tecnología pone a disposición todas las capacidades dinámicas de JAVA
tecnología de servlets pero proporcionó un enfoque más natural para crear
contenidos estáticos.

Acerca de la página JSP

Una página JSP es un documento de texto que contiene dos tipos de texto: Estático
datos, que pueden expresarse en cualquier formato basado en texto (como
HTML, SVG, WML y XML) y elementos JSP, que construyen
contenido dinámico.

La extensión de archivo recomendada para el archivo fuente de una página JSP es


.jsp. La página puede estar compuesta por un archivo superior que incluye otros archivos
que contenga ya sea una página JSP completa o un fragmento de una página JSP.
Los elementos JSP en una página JSP se pueden expresar en dos sintaxis—
estándar y XML---- a través de cualquier archivo dado solo se puede usar uno
sintaxis. Una página JSP en sintaxis XML es un documento XML y puede ser
manipulado por herramientas y APIs para documentos XML.

Ventaja de JSP

ASP es una tecnología similar de MS. Las ventajas de JSP son dobles.
Primero, la parte dinámica está escrita en JAVA, no en VB ni en otros específicos de MS.
idioma, por lo que es más poderoso y fácil de usar. En segundo lugar, es
portable a otros sistemas operativos y servidores web que no son de Microsoft. Las principales características de

La tecnología JSP es la siguiente:


Un lenguaje para desarrollar páginas JSP, que son basadas en texto
documentos que describen cómo procesar una solicitud y
construir una respuesta.
Un lenguaje de expresión para acceder a objetos del lado del servidor.
Mecanismos para definir extensiones al lenguaje.

La tecnología JSP también contiene una API que es utilizada por los desarrolladores de Web
contenedores.

39
SISTEMA DE GESTIÓN DE CURSOS

C.3: Arquitectura de JSP

Un JSP es un archivo de texto simple que consiste en contenido HTML junto con JAVA
código conocido como elementos JSP. Cuando un cliente solicita una página JSP de la
servidor web y no se ha ejecutado antes, la página se pasa primero a
el motor JSP que compila la página a un servlet, lo ejecuta y
devuelve el contenido resultante al cliente. A partir de ahí, la Web
el motor de servlets del servidor ejecutará la página compilada. La primera vez que tú
al acceder a una página JSP, es posible que notes que tarda un corto tiempo en
responde. Este es el tiempo necesario para que el servidor cree y compile el
servlet en segundo plano. Las solicitudes posteriores serían más rápidas porque el
el servidor puede reutilizar el servlet. La única excepción es cuando los archivos .jsp
cambios en los cuales el servidor nota y recompila uno nuevo
servlet de fondo. Si hay incluso un error en la compilación, puedes
espera que el servidor informe el problema de alguna manera, usualmente en la página
devuelto al cliente.

C.4: El Ciclo de Vida de una Página JSP

Una página JSP atiende solicitudes como un servlet. Así que el ciclo de vida y
muchas de las capacidades de las páginas JSP (en particular el dinámico
los aspectos) están determinados por la tecnología de servlets JAVA. Notarás
que muchas secciones de este capítulo se refieren a clases y métodos como
sigue:

La interfaz javax.servlet.jsp.JspPage contiene 2 métodos:


Métodos Uso
Public void jsplnit() Esto se invoca cuando el JSP es
inicializado. Esto es similar a
servletinit()
Pública void jspDestruir() Esto se invoca cuando el JSP está
a punto de ser destruido por
contenedor.

La interfaz javax.servlet.jsp.HttpJspPage contiene un método:


Métodos Uso
public void-jspService Este método corresponde al
(HttpServletRequest req, cuerpo de la página JSP y se utiliza
HttpServletResponse res) lanza para el procesamiento de solicitudes en hilo,

ServletException, IOException. al igual que el método service () en


los servlets.

40
SISTEMA DE GESTIÓN DE CURSOS

C.5 Elementos JSP

Los elementos JSP son la parte de la página JSP que se procesa en el


servidor. Los elementos se pueden clasificar en las categorías:
Scriptlets.
Expresiones.
Declaraciones.
Directrices.
Acciones Estándar.

Los scriptlets, expresiones y declaraciones se llaman generalmente scripting.


elementos.

APÉNDICE - D: VALIDACIÓN DEL LADO DEL CLIENTE

Para la validación del lado del cliente, estamos utilizando JavaScript y HTML en nuestro

programa.

D.1 JavaScript

JavaScript es un lenguaje de scripting que se ejecuta únicamente en un JavaScript


navegador compatible, es decir: Netscape e Internet Explorer. Se diferencia
la mayoría de los otros lenguajes de programación en que es relativamente fácil de
maestro, incluso para personas que no tienen absolutamente ninguna programación
experiencia en absoluto. Su función principal es mejorar las páginas web,
aunque ha crecido como NS4.0 e ie4.0 entregados a un más poderoso
herramienta capaz de crear aplicaciones completas.

D.1.1 ¿Por qué aprender JavaScript?

Con HTML estás restringido a crear sitios web estáticos y no interactivos.


páginas. Esto, según los estándares de internet actuales, es inaceptable. Con
JavaScript, puedes cambiar eso. Añadir interactividad a un sitio web es
no limitado a programas del lado del servidor. El lado del cliente de la web, el
el navegador, generalmente puede ejecutar código en forma de secuencias de comandos. Para
Escritores de HTML, la forma más fácil de comenzar a añadir aspectos dinámicos a un
la página web se ejecuta mediante scripting del lado del cliente usando JavaScript o

VBScript.

41
SISTEMA DE GESTIÓN DE CURSOS

D.1.2 ¿Qué puede hacer JAVA Script?

Páginas Web Dinámicas: JavaScript puede realizar acciones como


generando código HTML que afecta la visualización o el contenido de
el documento en el Navegador. También estableció el atributo o
propiedades de los elementos de la página web, applets JAVA y otros objetos
presente en el navegador.
Manejo de eventos: las capacidades de manejo de eventos de JavaScript
proporcionar un mayor control sobre la interfaz de usuario que solo HTML.
Con JavaScript, los desarrolladores pueden crear funciones (es decir, Evento
Manejador) para ser activado en relación a acciones del usuario como botones
clic, clic del ratón, seleccionar una opción o enviar un formulario.
Objetos incorporados: JavaScript proporciona varios objetos incorporados
(como String, Date, etc.) y funciones para validar los inputs utilizados,
cambiar el contenido o la apariencia de un documento etc. JavaScript
es útil para trabajos pequeños, como verificar datos de formularios; añadiendo
pequeños fragmentos de código HTML en una página sobre la marcha; y realizando
navegador, tiempo y cálculo específico del usuario. JavaScript también es
es un medio poderoso para controlar eventos en el navegador y
accediendo al Modelo de Objetos del Documento (DOM) para programación
DHTML.

D.1.3 JavaScript del lado del cliente

El JavaScript del lado del cliente (o JavaScript de Navigator) abarca el


lenguaje base más extras como los objetos predefinidos solo relevantes
para ejecutar JavaScript en un navegador. JavaScript del lado del cliente es
incrustado directamente en páginas HTML y es interpretado por el navegador
completamente en tiempo de ejecución.

D.2 HTML (Lenguaje de Marcado de Hipertexto)

El Lenguaje de Marcado de Hipertexto (HTML) es el lenguaje de marcado de texto


actualmente utilizado para crear documentos de hipertexto que son portátiles desde
una plataforma a otra en la WWW. Un documento HTML es simplemente un
archivo de texto que contiene información que deseas publicar. HTML
los documentos son archivos de texto plano (también conocidos como ASCII) que pueden ser
creado utilizando cualquier editor de texto (por ejemplo).

42
SISTEMA DE GESTIÓN DE CURSOS

D.2.1 Fortalezas de los estándares HTML

La fortaleza de HTML proviene de su combinación con el nivel de máquina SGML


constructos (las etiquetas y elementos que le indican a un espectador el propósito de
texto del documento) y notación de marcado de texto en inglés estándar.

Conclusión:
Este sistema está desarrollado para cumplir con los requisitos de
los usuarios finales que van a usar este sistema. Este sistema puede
puede ser utilizado por cualquier universidad si todas siguen el mismo procedimiento.
Algunas de las características más destacadas de este sistema son:

Alta facilidad de uso


Alta Interactividad
Datos Asegurados
Entrada de Usuario Autorizado
Cambiando la propia contraseña
Privilegios de Administrador
Sistema de respaldo y recuperación de datos
Altamente flexible en múltiples consultas

Captura de errores eficiente


Mejor instalación de reportes

Este sistema también se puede desarrollar más al agregar incluso


Sistema de Admisión de Estudiantes para ello y generando el rol
números a los estudiantes por método computarizado. Haciendo lo cual
el sistema habría sido más eficiente de lo que son
ahora. Otro campo para el desarrollo es la generación de informes
lo que podría formatearse aún más de una manera mucho más mejorada
manera.

cuarenta y tres
SISTEMA DE GESTIÓN DE CURSOS

Capturas de pantalla :

Pantalla de Inicio de Sesión

Inicio de sesión de administrador

Menú Principal de Administrador

Creación de cursos

44
SISTEMA DE GESTIÓN DE CURSOS

Creación de Estudiantes

Crear Instructor

Inicio de sesión del estudiante

45
SISTEMA DE GESTIÓN DE CURSOS

Menú Estudiantil

Ver Cursos

Menú Principal del Instructor

Subir tarea

Chequeo de Tareas del Estudiante

46
SISTEMA DE GESTIÓN DE CURSOS

Subir tarea

El instructor asigna la calificación

47
SISTEMA DE GESTIÓN DE CURSOS

CODIFICACIÓN

índice.html

<?xml version='1.0' encoding='UTF-8' ?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
<h:head>
Título de Facelet
</h:head>
<h:body>
Hola desde Facelets
</h:body>
</html>

Página de inicio.html

<!DOCTYPE html>
<html>
<head>
Página Principal
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
</cabeza>
<cuerpo>
<h3>¡BlackBoard Super Lite!</h3>
<form>
<table border="1" width="100%" cellpadding="3">
cellspacing="3">
<tr>
<td><a href="studentServlet">Estudiante</a></td>
<td><a
href="InstructorLoginPage.jsp">Instructor</a></td>
<td><a
href="PáginaDeInicioDeSesiónDelAdministrador.xhtml">Administrador</a></td>
</tr>
</table>

</form>
</cuerpo>
</html>

PáginaDeInicioDeSesiónDelInstructor.jsp

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Tipo de contenido" content="text/html;
charset=UTF-8"

48
SISTEMA DE GESTIÓN DE CURSOS

Iniciar sesión como instructor


</cabeza>
<cuerpo>
<h1>Iniciar sesión como instructor:</h1>
<form method="post" action = "InstructorValidation.jsp">
<table border="0" width="300" cellpadding="3">
cellspacing="3">
<tr>
<td>Nombre de usuario:</td>
<td><input type = "text" name = "nombredeusuario" size =
20"> </br></td>
</tr>
<tr>
<td>Contraseña:</td>
<td><input type = "text" name = "contraseña" size =
20
</tr>
<tr>
<td></td>
<td><input type="submit" value="Confirm" ></td>
</tr>
</table>

</form>
</cuerpo>
</html>

InstructorValidación.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>


<%@ página importar = "accounts.InstructorAccount" %>
<jsp:useBean id="instructor" class="accounts.InstructorAccount"
scope="sesión" >
</jsp:useBean>

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Tipo de Contenido" content="text/html;
charset=UTF-8">
Página de Validación del Instructor
</cabeza>
<cuerpo>

<% String userName = request.getParameter("nombreUsuario");


String contraseña = request.getParameter("contraseña");

si (userName.equals("") || password.equals("")) {
Se requiere nombre de usuario y contraseña
} else {
instructor.establecerInfoDeInicioDeSesión(nombreDeUsuario, contraseña);

si (instructor.estáEnLaBaseDeDatos()) {

49
SISTEMA DE GESTIÓN DE CURSOS

<table border="0"
estilo="color de fondo:" ancho="100%" cellpadding="3"
cellspacing="3">
<tr>
<td>Bienvenido
instructor.getFirstName() + " " + instructor.getLastName() +
</td>
</tr>
<tr>
<td><a
href="InstructorCoursePage.jsp">Asignar Hw</a></td>
</tr>
<tr>
<td><a
href="InstructorGradePage.jsp">Asignar Calificación</a></td>
</tr>
</table>

} else {
Por favor, contacte a su instructor para
asegúrate de estar en el sistema
<p><form method="get" action=
InstructorLoginPage.jsp>
<p><input type="submit" value="Ir
Atrás" >
</form>
}

}
%>
</cuerpo>
</html>

InstructorAsignarHW.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>


<%@ página importar = "accounts.InstructorAccount" %>
<jsp:useBean id="instructor" class="accounts.InstructorAccount"
scope="session" >
</jsp:useBean>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Tipo de Contenido" content="text/html;
charset=UTF-8
Asignar Tarea
</cabeza>
<cuerpo>
<%
String curso = request.getParameter("cursoInstructIn");
homeworkAssignment
request.getParameter("tareaDeClase");

50
SISTEMA DE GESTIÓN DE CURSOS

Creando archivo hw
instructor.asignarTarea(curso, tareaAsignada);
<br/>
<a href="InstructorCoursePage.jsp">Ir a
Menú Principal del Instructor</a>
%>
</cuerpo>
</html>

InstructorChooseHW.jsp

<!DOCTYPE html>
<html>
<cabeza>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
Página JSP
</cabeza>
<cuerpo>
<h1>Elige la tarea para calificar</h1>
<% String estudiante =
request.getParameter("estudianteInstruyendo");
session.setAttribute("estudiante", estudiante);
(String) session.getAttribute("course");

out.print("Estudiante = " + estudiante);

<form method="post" action


= "InstructorSubmitGrade.jsp">
<select name = "hwChoosen" size = "1">
for (int i = 0; i < instructor.getHwNumberFromDb(course);
i++) {
<option value = HW
(i + 1) + "</opción>" );
}
</select>

<input type="text" name="hwgrade">

<input type="submit" value="Asignar Nota"


>");
%>
</body>
</html>

InstructorCoursePage.jsp

<!DOCTYPE html>
<html>
<cabeza>
<meta http-equiv="Tipo de Contenido" content="texto/html;
charset=UTF-8">

51
SISTEMA DE GESTIÓN DE CURSOS

Cursos de Instructor
</head>
<cuerpo>
<H3><u>Menú de tareas para instructores</u></H3>
<%
ArrayList<String> cursos = instructor.getCursos();
<form method="post" action
= "InstructorAssignHW.jsp">

<p> Cursos que estoy enseñando actualmente:


<select name = "courseInstructIn" size
= "1">
for (int i = 0; i < cursos.size(); i++) {
<option value =
courses.get(i) + "</option>";
}
</select>
%>

</br>
Por favor, introduzca su texto:
</br>
<textarea name="tareaDeHogar" rows="5"></textarea>
</br>

<%
<input type="submit" value="Elegir Curso"
>");
%>
</cuerpo>
</html>

InstructorGradePage.jsp

<!DOCTYPE html>
<html>
<cabeza>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
Elegir Curso
</cabeza>
<cuerpo>
<h3>Elija el curso para asignar calificaciones</h3>
<%
ArrayList<String> cursos = instructor.getCursos();
<form method="post" action
= "InstructorAsignarNotaPágina.jsp">

<p>Cursos que estoy enseñando actualmente:


<select name = "courseInstructIn" size
= "1">";
for (int i = 0; i < cursos.size(); i++) {

52
SISTEMA DE GESTIÓN DE CURSOS

out.print("<option value = " + courses.get(i) + ">" +


courses.get(i) + "</option>";
}
</select>

<input type="submit" value="Curso Seleccionado"


>");
%>
</cuerpo>
</html>

InstructorAsignarCalificacionPagina.jsp

<!DOCTYPE html>
<html>
<cabeza>
<meta http-equiv="Tipo de Contenido" content="text/html;
charset=UTF-8">
Seleccionar Estudiante
</cabeza>
<cuerpo>
<h1>¡Elige un estudiante para calificar!</h1>
<%
String curso = request.getParameter("cursoInstructIn");
session.setAttribute("curso", curso);
ArrayList<String> estudiantes =
instructor.obtenerEstudiantes(curso);
<form method="post" action
= "InstructorChooseHw.jsp">

<p>Estudiantes que actualmente están instruyendo


<select name = "studentInstructing" size
= "1">
for (int i = 0; i < estudiantes.size(); i++) {
<option value =
students.get(i).substring(0, 4) + ">" + students.get(i) +
</opción>
}
</select>

<input type="submit" value="Asignar Calificación"


>");
%>
</body>
</html>

InstructorConfirmGrade.jsp

<!DOCTYPE html>
<html>
<cabeza>

53
SISTEMA DE GESTIÓN DE CURSOS

<meta http-equiv="Content-Type" content="text/html;"


charset=UTF-8
Página JSP
</cabeza>
<cuerpo>
<h1>La calificación ha sido enviada</h1>
<a href="InstructorGradePage.jsp">Ir a Inicio</a>
</cuerpo>
</html>

InstructorSubmitGrade.jsp

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8
Página JSP
</cabeza>
<cuerpo>
<h1>Confirmar</h1>
<%
String estudiante = (String)
session.getAttribute("estudiante");
(String) session.getAttribute("course");
String hwNumber = request.getParameter("hwChoosen");
String grado = request.getParameter("hwgrade");

<form method="post" action


= "InstructorConfirmGrade.jsp">

instructor.establecerCalificacionEnDB(estudiante, curso, numeroDeTarea,


grado);

<input type="submit" value="Asignar Calificación"


>");

%>
</cuerpo>
</html>

PáginaDeInicioDeSesiónDelAdministrador.xhtml

<?xml version='1.0' encoding='UTF-8' ?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
<html xmlns="http://www.w3.org/1999/xhtml">
xmlns:h="http://java.sun.com/jsf/html"
<h:head>
Título de Facelet
</h:head>
<h:body>

54
SISTEMA DE GESTIÓN DE CURSOS

<h:form>
<h:panelGrid columnas="3">
Nombre de usuario:
<h:inputText id="nombreDeUsuario"
#{account.userName}
</h:inputText>
<h:message for="nameInputText" style="color:red"/>

Contraseña:
<h:inputText id="contraseña"
#{cuenta.contraseña}
</h:inputText>
<h:message for="nameInputText" style="color:red"/>
</h:panelGrid>

<h:commandButton value="Enviar"
#{cuenta.validarAdministrador}
</h:form>
</h:body>
</html>

PáginaAdministradorNoEncontrada.xhtml

<?xml version='1.0' encoding='UTF-8' ?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
<html xmlns="http://www.w3.org/1999/xhtml">
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
Administrador no encontrado
</h:head>
<h:body>
Administrador no encontrado en la base de datos
</h:body>
</html>

AdministradorNoValidarPagina.xhtml

<?xml version='1.0' encoding='UTF-8' ?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
<html xmlns="http://www.w3.org/1999/xhtml">
xmlns:h="http://java.sun.com/jsf/html"
<h:head>
Título de Facelet
</h:head>
<h:body>
Se requiere nombre de usuario y contraseña
</h:body>
</html>

55
SISTEMA DE GESTIÓN DE CURSOS

Página de Validación del Administrador.xhtml

<?xml version='1.0' encoding='UTF-8' ?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
<h:head>
Página Maestra de Administrador
</h:head>
<h:body>
<h:form>
Hola
<h:outputText value="# {cuenta.nombre}"/>
value
#{account.lastName}
<br/>
<br/>
<h:commandLink id="enlaceCuentaEstudiante"
PáginaCrearCuentaEstudiante
Crear cuenta de estudiante
</h:commandLink>

<br/>
<h:commandLink id="instructorAccountLink"
action="InstructorCreateAccountPage"
Crear cuenta de instructor
</h:commandLink>

<br/>

<h:commandLink id="courseLink" action="CourseCreatePage">


Crear Cursos
</h:commandLink>
</h:form>

</h:body>
</html>

PáginaCursoCreado.xhtml

http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
<html xmlns="http://www.w3.org/1999/xhtml">
xmlns:h="http://java.sun.com/jsf/html"
<h:head>
<title>Título de Facelet</title>
</h:head>
<h:body>
Curso insertado exitosamente en el sistema.

<h:form>

56
SISTEMA DE GESTIÓN DE CURSOS

<br/>

<h:commandLink id="studentAccountLink"
PaginaCrearCuentaEstudiante
Crear cuenta de estudiante
</h:commandLink>

<br/>

<h:commandLink id="instructorAccountLink"
PáginaCrearCuentaInstructor
Crear Cuenta de Instructor
</h:commandLink>

<br/>

<h:commandLink id="courseLink" action="CourseCreatePage">


Crear Cursos
</h:commandLink>

</h:form>
</h:body>
</html>

CourseCreatePage.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
<html xmlns="http://www.w3.org/1999/xhtml">
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
<h:head>
Crea Cursos Aquí
</h:head>
<h:body>
<h:form>
Nombre del Curso:
<h:inputText id="nombre"
#{course.name}
<br/>

ID del curso:
h:inputText
#{curso.id}
<br/>

Seleccionar Instructores:
<h:selectManyMenu
instructors_selectManyMenu
#{curso.seleccionarInstructores}
<f:selectItems
#{course.instructorslist}

57
SISTEMA DE GESTIÓN DE CURSOS

</h:selectManyMenu>
<br/>
Seleccione Estudiantes:
<h:selectManyMenu
seleccionarEstudiantesMenu
#{course.selectStudents}
<f:selectItems
#{course.studentsList}
</h:selectManyMenu>
<br/>
Enviar
#{course.courseCreationProcess}
</h:form>
</h:body>
</html>

CourseCreationerrorPage.xhtml

http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
<h:head>
ERROR
</h:head>
<h:body>
Error al crear el curso
<h:form
<br/>
<h:commandLink id="back" action="CourseCreatePage">
Regresar
</h:commandLink>
</h:form>
</h:body>
</html>

InstructorCreateAccountPage.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
<html xmlns="http://www.w3.org/1999/xhtml">
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
<h:head>
Creación de Cuenta de Instructor
</h:head>
<h:body>
<h:form>
<h:panelGrid columns="3">
<h:outputLabel value="Nombre de usuario:"/>
<h:inputText id="nombreDeUsuario" requerido="true"
Se requiere nombre de usuario

58
SISTEMA DE GESTIÓN DE CURSOS

El nombre debe tener de 1 a 10


chars

#{tempInsructorAccount.userName}
<f:validateLength minimum="1" maximum="10" />
</h:inputText>
<h:message for="username" style="color:red"/>

<h:outputLabel value="Confirmar nombre de usuario:"/>


<h:inputText id="confirmusername" required="true"
Se requiere nombre de usuario
El nombre debe tener de 1 a 10
chars

#{tempInsructorAccount.confirmUserName}
<f:validateLength minimum="1" maximum="10" />

<h:message for="confirmusername" style="color:red"/>

Contraseña:
<h:inputText id="contraseña" requerido="true"
Se requiere contraseña
la contraseña debe tener 1
a 10 caracteres

#{tempInsructorAccount.password}
<f:validarLongitud mínimo="1" máximo="10" />
</h:inputText>
<h:message for="password" style="color:red"/>

Confirmar contraseña:
<h:inputText id="confirmpassword" requerido="true"
Se requiere una contraseña
la contraseña debe tener 1
a 10 caracteres

#{tempInsructorAccount.confirmarContraseña}
<f:validarLongitud minimo="1" maximo="10" />
</h:inputText>
<h:message for="confirmpassword" style="color:red"/>

Nombre:
<h:inputText id="firstname" required="true"
Se requiere el nombre
El nombre debe tener 1
hasta 20 caracteres
#{tempInsructorAccount.firstName}
<f:validateLength minimum="1" maximum="20" />
</h:inputText>
<h:message for="firstname" style="color:red"/>

<h:outputLabel value="Apellido:"/>

59
SISTEMA DE GESTIÓN DE CURSOS

<h:inputText id="apellido" requerido="true"


El apellido es obligatorio
El apellido debe tener 1
hasta 20 caracteres
#{tempInsructorAccount.lastName}
<f:validateLength mínimo="1" máximo="20" />
</h:inputText>
<h:message for="lastname" style="color:red"/>

<h:outputLabel value="ID:"/>
<h:inputText id="idcode" required="true"
Se requiere ID
El ID debe tener 4 caracteres
#{tempInsructorAccount.id}
<f:validateLength minimum="4" maximum="4" />
</h:inputText>
<h:message for="idcode" style="color:red"/>
</h:panelGrid>
<h:commandButton value="Enviar"
#{tempInsructorAccount.procesoDeRegistro()}
</h:form>
</h:body>
</html>

InstructorCreatedPage.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
<html xmlns="http://www.w3.org/1999/xhtml">
xmlns:h="http://java.sun.com/jsf/html"
<h:head>
Instructor ingresado en el sistema
</h:head>
<h:body>
Instructor insertado exitosamente en el sistema.
<h:form>
<br/>
<h:commandLink id="studentAccountLink"
PáginaCrearCuentaEstudiante
Crear cuenta de estudiante
</h:commandLink>
<br/>
<h:commandLink id="instructorAccountLink"
PáginaCrearCuentaInstructor
Crear cuenta de instructor
</h:commandLink>
<br/>
<h:commandLink id="courseLink" action="CourseCreatePage">
Crear Cursos
</h:commandLink>
</h:form>
</h:body>
</html>

60
SISTEMA DE GESTIÓN DE CURSOS

PáginaDeErrorDeCreaciónDeInstructor.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
<html xmlns="http://www.w3.org/1999/xhtml">
xmlns:h="http://java.sun.com/jsf/html"
<h:head>
ERROR
</h:head>
<h:body>
Error al crear estudiante
<h:form>
<br/>
<h:commandLink id="back"
PáginaCrearCuentaEstudiante
Regresar
</h:commandLink>
</h:form>
</h:body>
</html>

PáginaCrearCuentaEstudiante.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
<html xmlns="http://www.w3.org/1999/xhtml">
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
Creación de Cuenta de Estudiante
</h:head>
<h:body>
<h:form>
<h:panelGrid columnas="3">
Usuario:
<h:inputText id="nombreDeUsuario" requerido="true"
Se requiere el nombre de usuario
El nombre debe tener de 1 a 10
chars
#{tempStudentAccount.userName}
<f:validateLength minimum="1" maximum="10" />
</h:inputText>
<h:message for="username" style="color:red"/>

<h:outputLabel value="Confirmar nombre de usuario:"/>


<h:inputText id="confirmusername" required="true"
Se requiere el nombre de usuario
El nombre debe tener entre 1 y 10 caracteres
chars
#{tempStudentAccount.confirmUserName}
<f:validateLength minimo="1" máximo="10" />

61
SISTEMA DE GESTIÓN DE CURSOS

</h:inputText>
<h:message for="confirmusername" style="color:red"/>

Contraseña:
<h:inputText id="password" required="true"
Se requiere una contraseña
la contraseña debe tener 1
a 10 caracteres
#{tempStudentAccount.password}
<f:validarLongitud minimo="1" maximo="10" />
</h:inputText>
<h:message for="password" style="color:red"/>

Confirmar contraseña:
<h:inputText id="confirmpassword" required="true"
Se requiere contraseña
la contraseña debe tener 1
a 10 caracteres

#{tempStudentAccount.confirmPassword}
<f:validarLongitud minimo="1" maximo="10" />
</h:inputText>
<h:message for="confirmpassword" style="color:red"/>

Nombre:
<h:inputText id="firstname" required="true"
Se requiere el nombre
El nombre debe tener 1
a 20 caracteres
#{tempStudentAccount.firstName}
<f:validateLength minimum="1" maximum="20" />
</h:inputText>
<h:message for="firstname" style="color:red"/>

Apellido:
<h:inputText id="lastname" required="true"
El apellido es obligatorio
El apellido debe tener 1
a 20 caracteres
#{tempStudentAccount.apellido}
f:validateLength mínimo="1" máximo="20"
</h:inputText>
<h:message for="lastname" style="color:red"/>

<h:outputLabel value="ID:"/>
<h:inputText id="idcode" required="true"
Se requiere ID
El ID debe tener 4 caracteres
#{tempStudentAccount.id}
<f:validateLength minimum="4" maximum="4" />
</h:inputText>
<h:message for="idcode" style="color:red"/>

62
SISTEMA DE GESTIÓN DE CURSOS

</h:panelGrid>

<h:commandButton value="Enviar"
#{tempStudentAccount.registrationProcess()}
</h:form>
</h:body>
</html>

PáginaEstudianteCreada.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
<html xmlns="http://www.w3.org/1999/xhtml">
xmlns:h="http://java.sun.com/jsf/html"
<h:head>
Título de Facelet
</h:head>
<h:body>
Estudiante insertado con éxito en el sistema.
<h:form>
<br/>
<h:commandLink id="studentAccountLink"
PáginaCrearCuentaEstudiante
Crear cuenta de estudiante
</h:commandLink>
<br/>
<h:commandLink id="instructorAccountLink"
action="InstructorCreateAccountPage"
Crear cuenta de instructor
</h:commandLink>
<br/>
<h:commandLink id="courseLink" action="CourseCreatePage">
Crear Cursos
</h:commandLink>
</h:form>
</h:body>
</html>

63
SISTEMA DE GESTIÓN DE CURSOS

BIBLIOGRAFÍA

[1] http://www.merucabs.com
[2] http://www.irctc.co.in
[3] Bayross I., “SQL, PL/SQL: El Lenguaje de Programación de Oracle”, 3rd
Ed., BPB Publicaciones: Nueva Delhi, 2002.
[4] Navathe, Gupta, “Fundamentos de Sistemas de Bases de Datos”, 4thEd.,
Pearson Education Pvt. Ltd.: Nueva Delhi, 2007.
[5] Xavier C., “Tecnología y Diseño Web”, 3rdEd., Nueva Era
International Pvt. Ltd. : Nueva Delhi, 2005;
[6] Shiran Y y T., “Aprender Programación Avanzada en JavaScript”, 2ndEd.
BPB Publicaciones: Nueva Delhi, 2000.

64
SISTEMA DE GESTIÓN DE CURSOS

CONCLUSIÓN

El "Sistema de Gestión de Cursos" ha sido exitosamente


completado. El objetivo del sistema se ha alcanzado y los problemas
se resuelven. El paquete se desarrolla de una manera que es
amigable y se proporciona ayuda requerida en diferentes
niveles.

El proyecto puede ser fácilmente utilizado en el proceso de


toma de decisiones. Se pueden clasificar diferentes tipos de informes.
generados que ayudan a la gestión a tomar decisiones correctas
decisión y reducir el retraso de tiempo que automáticamente
aumenta los estándares de trabajo de la empresa así como el
estado económico de la empresa.

Este sistema nunca reduce la mano de obra, sino que ayuda


el desarrollo de la mano de obra disponible y optimiza el
mano de obra según los estándares y capacidades de la empresa
puede escalarse a dimensiones superiores.

65

También podría gustarte