You are on page 1of 87

ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO

FACULTAD DE INFORMATICA Y ELECTRÓNICA

ESCUELA DE INGENIERIA EN SISTEMAS

PROYECTO INTEGRADOR II

SISTEMA PARA LA ASIGNACION DE HORARIOS PARA LOS DOCENTES DE LA CARRERA


DE INGENIERIA DE SOFTWARE DE LA ESCUELA SUPERIOR POLITECNICA DE
CHIMBORAZO”

Realizado por:

María José Quinatoa Guano (6216)

Brandon Alexander Tubón Usca (6214)

Darío Javier Janeta Paca (6026)

Dirigido por:

Ing. Lorena Aguirre

Periodo:

Octubre 2017-Febrero 2018


Contenido
INTRODUCCIÓN ..................................................................................................................... 2
1. ANÁLISIS .......................................................................................................................... 3
1.1 Problema...................................................................................................................... 3
1.2 Justificación ................................................................................................................. 4
1.3 Recursos Humanos ...................................................................................................... 5
1.4 Recursos Económicos ................................................................................................. 5
1.5 Recursos Técnicos ....................................................................................................... 6
1.6 Técnica de investigación ............................................................................................. 6
1.7 Requisitos de Software ................................................................................................ 6
1.8 Diagrama de casos de uso ........................................................................................... 6
1.9 Tablas de Casos de Usos ............................................................................................. 8
1.10 Diagramas de Clases ................................................................................................. 26
1.11 Diagramas de Objetos ............................................................................................... 27
1.12 Diagramas de Secuencia............................................................................................ 28
1.13 Diagramas de Comunicación .................................................................................... 48
1.14 Diagrama de Estado .................................................................................................. 52
1.15 Diagrama de Actividades .......................................................................................... 53
1.16 Diagrama de paquetes ............................................................................................... 54
1.17 Tabla de riesgos ......................................................................................................... 54
1.18 Modelo Físico ............................................................................................................ 57
1.19 Modelo Lógico .......................................................................................................... 58
ANEXOS ................................................................................................................................. 71
Anexo 1 ................................................................................................................................ 71
Anexo 2 ................................................................................................................................ 73

INTRODUCCIÓN
Los servicios Web, como la mayoría de servicios de Internet, están basados en el modelo
cliente-servidor. En este modelo existe un sistema servidor, denominado servidor Web,
que almacena páginas Web y que atiende las peticiones de los clientes. El cliente Web,
más conocido como navegador o “Web browser” es una aplicación que permite conectarse
a un servidor Web y descargar y visualizar las páginas almacenadas en éste.

En este documento se reúnen los requisitos pertinentes que se tuvieron en cuenta, para la
construcción del módulo de asignación de horarios docentes en la Facultad de Ingeniería
de Software de la Escuela Superior Politécnica de Chimborazo, el cual tiene como objeto
académico mejorar y fortalecer los procesos que se ejecutan en la Carrera de Ingeniería
entre ellos está la asignación y consulta de horarios Docentes la inscripción de materias,
consulta de notas, entre otros.

1. ANÁLISIS
1.1 Problema
En la actualidad la asignación de horarios de docentes se realiza de forma
manual (Mediante la aplicación de escritorio Excel), por tal motivo a pesar de
tener ya práctica en el asunto por el hecho de hacerlo de esta manera hace un
buen tiempo, aún se tienen limitaciones en el proceso, pues, para establecer una
carga laboral a un docente en específico se deben tomar en cuenta ciertas
consideraciones que no se pueden resolver de manera oportuna y muchas veces
se termina en conflictos constantes antes de llegar a un acuerdo entre las partes,
además de pérdida innecesaria de tiempo en la realización de la documentación
pertinente y en convocatorias a reuniones extraordinarias; asunto que empeora
al requerir de un proceso de reasignación. En fin, poca flexibilidad en un sistema
que no resulta conveniente a la medida en que aumentan las demandas de
profesores en asignaturas específicas.
¿Cómo implantar el módulo de asignación de horarios para los docentes en la
Facultad de Ingeniería de Software en la Escuela Superior Politécnica de
Chimborazo matriz Riobamba?

1.2 Justificación
Este proyecto encuentra su justificación en la necesidad que tiene la carrera de
Ingeniería de Software en la Escuela Superior Politécnica de Chimborazo de un
sistema que permita facilitar y agilizar sus procesos de asignación de carga
laboral a sus docentes.
La comunidad académica se verá beneficiada al disponer de un sistema
orientado a la Web que permita ahorrar tiempo y dinero en la realización de sus
procesos de asignación de carga laboral, de manera que la carrera de Ingeniería
de Software en la Escuela Superior Politécnica de Chimborazo estará a la
vanguardia de la mejores del país que ya cuentan con servicios web para la
atención de los requerimientos de su personal académico. El sistema será la base
para futuros desarrollos de software aplicados en procesos de asignación de
horarios a docentes de la Facultad de Ingeniería de Software, o de cualquiera
que la considere para el desarrollo de un proyecto similar.
En documento se describirá la aplicación, el diseño del proyecto ya que servirá
de guía a los estudiantes y docentes interesados.

1.3 Recursos Humanos

Recursos Humanos
Director Ing. Lorena Aguirre
Programador María José Quinatoa, Alexander Tubón, Darío Janeta

1.4 Recursos Económicos

Recursos Económico
Cantidad Descripción Valor Unitario Valor Total
3 Computadoras 1.200.00 3.600.00
1 Impresora 120.22 120.00
40 Internet 00.35 14.00
3 Flash Memory 10.00 20.00
75 Almuerzos 1.50 112.50
100 Transporte 1.25 125.00
1 Modem 75.00 75.00
2 Resma de Hojas 6.00 12.00
3 Cds 0.85 2.55
Total 4,081,05

1.5 Recursos Técnicos

Recursos Técnicos
Hardware Software
Computadoras Intel Graficadores
Core i5
Impresora Epson L210 SQL Server 2014
Pendrive Lenguaje HTML
Modem Lenguaje PHP

1.6 Técnica de investigación


Anexo 1 (Entrevista)

1.7 Requisitos de Software


Anexo 2 (Requisitos 830)

1.8 Diagrama de casos de uso


Administrador
Cliente
Visitante

1.9 Tablas de Casos de Usos


Nombre del caso de uso Mostrar datos de Periodos
Actor Administrador
Precondición Haber ingresado al sistema
Flujo normal 1. El sistema mostrará en pantalla
principal
2. Dar clic en la pestaña Listar
3. Se visualizara una pantalla con
diversas opciones para listar entre
ellas Periodo
4. Dar clic en Periodo
Flujo alternativo Si no existe periodos registrados nos
mostrara una pantalla solo con los
enunciados de periodo
Postcondición Lista datos de periodos ingresados

Nombre del caso de uso Mostrar datos de horarios


Actor Administrador
Precondición Haber ingresado al sistema
Flujo normal 1. El sistema mostrará en pantalla los
datos extraídos de la base de datos.
2. Si se desea se puede exportar dicha
información.
3. Si se desea se puede modificar
dichos datos.
Flujo alternativo 1. Si se escoge un período académico
anterior se mostrará mensaje de que
no se puede modificar.
Postcondición Salir a pantalla principal

Nombre del caso de uso Mostrar datos de asignatura


Actor Administrador
Precondición Haber ingresado al sistema
Flujo normal 1. El sistema mostrará en pantalla los
datos extraídos de la base de datos.
2. Si se desea se puede exportar dicha
información.
3. Si se desea se pueden modificar
dichos datos.
Flujo alternativo
Postcondición Salir a pantalla principal

Nombre del caso de uso Ingresar datos de primer ingreso


Actor Administrador
Precondición Dar clic en el botón Registrarse del sitio web
principal.
Flujo normal 1. Ingresar clave de autorización en el
campo respectivo.
2. Ingresar información básica de perfil.
3. Dar clic en el botón “Enviar”.
Flujo alternativo 1. En caso de no haber ingresado toda
la información requerida en los
campos, no se habilitará el botón
“Enviar”.
2. En caso de haber ingresado datos
erróneos se le comunicará mediante
un cuadro de mensaje.
3. En caso de haber repetición de datos
de ingreso se le comunicará mediante
un cuadro de mensaje.
4. En caso de no dar como válida la
clave de autorización se notificará.
Postcondición Ir a la página principal del sistema

Nombre del caso de uso Ingresar datos de docente


Actor Administrador
Precondición Dar clic en pestaña “Ingresar”
Flujo normal 1. Dar clic en la pestaña ingresar o
desplazarse hacia abajo y dar clic en
la opción Ingresar al módulo.
2. Se visualizará un formulario con
varias opciones entre ellas Docente.
3. Dar clic en la imagen de docente.
4. Se podrá ver el formulario de ingreso
con varios campos
5. Llenar los campos respectivamente.
6. Dar clic en Guardar
Flujo alternativo 1. En caso de haber ingresado datos
erróneos se le comunicará mediante
un cuadro de mensaje.
2. Antes de guardar al docente
aparecerá un mensaje para confirmar
la solicitud o cancelarla.
Postcondición Pantalla para ingresar otro docente
Nombre del caso de uso Ingresar datos de asignatura
Actor Administrador
Precondición Dar clic en pestaña “Ingresar”
Flujo normal 1. Dar clic en la pestaña ingresar o
desplazarse hacia abajo y dar clic en
la opción Ingresar al módulo.
2. Se visualizará un formulario con
varias opciones entre ellas
Asignatura.
3. Dar clic en la imagen de Asignatura.
4. Se podrá ver el formulario de ingreso
con varios campos
5. Llenar los campos respectivamente.
6. Dar clic en Guardar
Flujo alternativo 1. En caso de haber ingresado datos
erróneos se le comunicará mediante
un cuadro de mensaje.
2. Antes de guardar al docente
aparecerá un mensaje para confirmar
la solicitud o cancelarla.
Postcondición Pantalla para ingresar
Nombre del caso de uso Modificar datos de docente
Actor Administrador
Precondición Buscar docente
Flujo normal 1. Dar clic en la pestaña Modificar o
desplazarse hacia abajo y dar clic en
la opción Ingresar al módulo con la
opción de modificar.
2. Se visualizará un formulario con
varias opciones entre ellas Docente.
3. Dar clic en la imagen de Docente.
4. Se podrá ver el formulario donde se
visualizara todos los docentes y
espacios para poder buscar a un
docente determinado.
5. Elegir el tipo de búsqueda (cedula u
nombres)
6. Llenar los campos respectivamente.
7. Y a la derecha encontraremos la
opción de modificar
8. Dar clic en Modificar
Flujo alternativo 1. En caso de no haber ingresado toda
la información requerida en los
campos, no se habilitará el botón
“Enviar”.
2. En caso de haber ingresado datos
erróneos se le comunicará mediante
un cuadro de mensaje
Postcondición Actualizar datos de docente
Nombre del caso de uso Ingresar datos de curso
Actor Administrador
Precondición Dar clic en pestaña “Ingresar”
Flujo normal 1. Dar clic en la pestaña ingresar o
desplazarse hacia abajo y dar clic en
la opción Ingresar al módulo.
2. Se visualizará un formulario con
varias opciones entre ellas Curso.
3. Dar clic en la imagen de Curso.
4. Se podrá ver el formulario de ingreso
con varios campos
5. Llenar los campos respectivamente.
6. Dar clic en Guardar
Flujo alternativo 1. En caso de haber ingresado datos
erróneos se le comunicará mediante
un cuadro de mensaje.
2. Después de dar clic en guardar
aparecerá un mensaje para confirmar
la solicitud o cancelarla.
Postcondición Mostrará formulario de ingreso
Nombre del caso de uso Modificar datos de asignatura
Actor Administrador
Precondición Buscar asignatura
Flujo normal 1. Dar clic en la pestaña Modificar o
desplazarse hacia abajo y dar clic en
la opción Ingresar al módulo con la
opción de modificar.
2. Se visualizará un formulario con
varias opciones entre ellas
Asignatura.
3. Dar clic en la imagen de Asignatura.
4. Se podrá ver el formulario donde se
visualizara todos los docentes y
espacios para poder buscar una
Asignatura determinada.
5. Elegir el tipo de búsqueda (código,
nombre)
6. Llenar los campos respectivamente.
7. Y a la derecha encontraremos la
opción de modificar
8. Dar clic en Modificar
Flujo alternativo 1. En caso de no haber ingresado toda
la información requerida en los
campos, no se habilitará el botón
“Enviar”.
2. En caso de haber ingresado datos
erróneos se le comunicará mediante
un cuadro de mensaje.
Postcondición Actualizar datos de asignatura

Nombre del caso de uso Actualizar datos de asignatura


Actor Administrador
Precondición Modificar datos de asignatura
Flujo normal 1. Llevar información modificada del
formulario a la base de datos.
2. Ingresar en la base de datos.
3. Mostrar mensaje de confirmación de
actualización.
Flujo alternativo 1. En caso errores en la transacción se
notificará con un mensaje de error.
Postcondición Ir a página principal del sistema

Nombre del caso de uso Actualizar datos de docente


Actor Administrador
Precondición Modificar datos de docente
Flujo normal 1. Llevar información modificada del
formulario a la base de datos.
2. Ingresar en la base de datos.
3. Mostrar mensaje de confirmación de
actualización.
Flujo alternativo
Postcondición Ir a página principal del sistema

Nombre del caso de uso Actualizar datos de curso


Actor Administrador
Precondición Modificar datos de curso
Flujo normal 1. Llevar información modificada del
formulario a la base de datos.
2. Ingresar en la base de datos.
3. Mostrar mensaje de confirmación de
actualización.
Flujo alternativo 1. En caso errores en la transacción se
notificará con un mensaje de error.
Postcondición Ir a página principal del sistema

Nombre del caso de uso Modificar datos de curso


Actor Administrador
Precondición Buscar curso
Flujo normal 1. Dar clic en la pestaña Modificar o
desplazarse hacia abajo y dar clic en
la opción Ingresar al módulo con la
opción de modificar.
2. Se visualizará un formulario con
varias opciones entre ellas Curso.
3. Dar clic en la imagen de Curso.
4. Se podrá ver el formulario donde se
visualizara todos los Curso
5. Dar clic en Modificar
Flujo alternativo 1. En caso de no haber ingresado toda
la información requerida en los
campos, no se habilitará el botón
“Enviar”.
2. En caso de haber ingresado datos
erróneos se le comunicará mediante
un cuadro de mensaje.
Postcondición Actualizar datos de curso
Nombre del caso de uso Actualizar Datos de los Docentes
Actor Administrador
Precondición El usuario debe estar en el formulario
“Modificar Docentes”
Flujo normal 1. Se mostrara el formulario “Modificar
Docente”.
2. Después de haber llenado todos los
campos se presiona el botón
“Actualizar”
3. Aparecerá el mensaje de
confirmación “Datos Actualizados
Correctamente”
4.
Flujo alternativo 1. En caso de que haya sobre escrituras
de datos o algún error se mostrara un
mensaje de error.

Postcondición Ir a la página principal del sistema

Nombre del caso de uso Actualizar Datos de las asignaturas


Actor Administrador
Precondición El usuario debe estar en el formulario
“Modificar Asignaturas”
Flujo normal 1. Se mostrara el formulario “Modificar
Asignaturas”.
2. Después de haber llenado todos los
campos se presiona el botón
“Actualizar”
3. Aparecerá el mensaje de
confirmación: “Datos Actualizados
Correctamente”.
Flujo alternativo 2. En caso de que haya sobre escrituras
de datos o algún error se mostrara un
mensaje de error.

Postcondición Ir a la página principal del sistema


Nombre del caso de uso Actualizar Datos de las asignaturas
Actor Administrador
Precondición El usuario debe estar en el formulario
“Modificar Asignaturas”
Flujo normal 4. Se mostrara el formulario “Modificar
Asignaturas”.
5. Después de haber llenado todos los
campos se presiona el botón
“Actualizar”
6. Aparecerá el mensaje de
confirmación: “Datos Actualizados
Correctamente”.
Flujo alternativo 3. En caso de que haya sobre escrituras
de datos o algún error se mostrara un
mensaje de error.

Postcondición Ir a la página principal del sistema

Nombre del caso de uso Eliminar Docentes


Actor Administrador
Precondición Buscar Docente
Flujo normal 1. Dar clic en la pestaña Eliminar o
desplazarse hacia abajo y dar clic en
la opción Ingresar al módulo con la
opción Eliminar.
2. Se visualizará un formulario con
varias opciones entre ellas Docente.
3. Dar clic en la imagen de Docente.
4. Se podrá ver el formulario donde se
visualizara todos los docentes y
espacios para poder buscar un
Docente determinado.
5. Elegir el tipo de búsqueda (cedula,
nombre)
6. Llenar los campos respectivamente.
7. Y a la derecha encontraremos la
opción de Eliminar
8. Dar clic en Eliminar
Flujo alternativo 1. En caso de no haber ingresado toda
la información requerida en los
campos, no se habilitará el botón
“Buscar”.
2. En caso de haber ingresado datos
erróneos se le comunicará mediante
un cuadro de mensaje.
Postcondición Ir al formulario “Buscar Docente”
Nombre del caso de uso Eliminar Asignaturas
Actor Administrador
Precondición Buscar Asignaturas
Flujo normal 1. Dar clic en la pestaña Eliminar o
desplazarse hacia abajo y dar clic en
la opción Ingresar al módulo con la
opción Eliminar.
2. Se visualizará un formulario con
varias opciones entre ellas
Asignatura.
3. Dar clic en la imagen de Asignatura.
4. Se podrá ver el formulario donde se
visualizara todos los docentes y
espacios para poder buscar un
Docente determinado.
5. Elegir el tipo de búsqueda (código,
nombre)
6. Llenar los campos respectivamente.
7. Y a la derecha encontraremos la
opción de Eliminar
8. Dar clic en Eliminar
Flujo alternativo 1. En caso de no haber ingresado toda
la información requerida en los
campos, no se habilitará el botón
“Buscar”.
2. En caso de haber ingresado datos
erróneos se le comunicará mediante
un cuadro de mensaje.
Postcondición Ir al formulario “Buscar Asignatura”
Nombre del caso de uso Eliminar Cursos
Actor Administrador
Precondición Buscar Cursos
Flujo normal 1. Dar clic en la pestaña Eliminar o
desplazarse hacia abajo y dar clic en
la opción Ingresar al módulo con la
opción Eliminar.
2. Se visualizará un formulario con
varias opciones entre ellas Curso.
3. Dar clic en la imagen de Curso.
4. Se podrá ver el formulario donde se
visualizara todos los cursos.
5. Dar clic en Eliminar
Flujo alternativo 1. Aparecerá un mensaje de
confirmación para eliminar dicho
curso
Postcondición Ir al formulario “Buscar Curso”

Nombre del caso de uso Crear Horario


Actor Administrador
Precondición El usuario deberá der clic en la pestaña
“Ingresar”
Flujo normal 1. Seleccionar la Opción Nuevo
horario.
2. Se mostrara un formulario en los
cuales se deberá llenar los campos
Semestre, Asignatura, Docente, Dia,
Hora inicio, Hora fin, de clases,
correspondiente a cada Dia, y por
ultimo deberá confirmar el ingreso
de datos.
3. Después de haber llenado todos los
datos se tendrá que presionar
Guardar.

Flujo alternativo 1. En caso de no haber llenado todos


los datos y haber confirmado el
ingreso de datos mediate la
utilización de un checkbox el botón
guardar no se habilitara.

Postcondición guardaran en la base de datos /Ir a la página


principal del sistema

Nombre del caso de uso Modificar Horario


Actor Administrador
Precondición Estar en formulario “Buscar Horario”
Flujo normal 5. Se mostrara el formulario modificar
horario de asignación donde se puede
modificar los campos Semestre,
Asignatura, Días, hora de Inicio y
hora de fin correspondiente a cada
día.
6. Se confirma la modificación
mediante el uso de un checkbox y se
presiona Actualizar.
Flujo alternativo 4. En caso de no haber llenado todos
los datos y haber confirmado la
modificacion de datos mediate la
utilización del checkbox el botón
“Actualizar” no se habilitara.

Postcondición guardara en la base de datos./Ir a la página


principal del sistema

Nombre del caso de uso Guardar Horario


Actor Administrador
Precondición El usuario deberá haber ingresado
previamente al formulario “Crear Horario”
Flujo normal 1. Después de Haber llenado todos los
campos correctamente presionar el
botón “Guardar”.
2. Todos los datos ingresados en el
formulario “Crear Horario” se
guardaran en la base de Datos.

Flujo alternativo 3. Si no se han llenado todos los datos


del formulario “Crear horario” el
botón “Guardar” permanecerá
deshabilitado.
Postcondición Ir a la página Principal del sistema

Nombre del caso de uso Ingresar periodo


Actor Administrador
Precondición Haber ingresado al sistema
Flujo normal 1. Dar clic en la pestaña ingresar o
desplazarse hacia abajo y dar clic en
la opción Ingresar al módulo.
2. Se visualizará un formulario con
varias opciones entre ellas periodo.
3. Dar clic en la imagen de Asignatura.
4. Se podrá ver el formulario de ingreso
con varios campos
5. Llenar los campos respectivamente.
Dar clic en Guardar
Flujo alternativo 1. En caso de no llenar los campos no
se podrá guardar los datos

Postcondición Ir a la página Principal del sistema

Nombre del caso de uso Eliminar Horario


Actor Administrador
Precondición El usuario deberá haber ingresado
previamente al formulario “Eliminar”.
Flujo normal 1. Dentro del Formulario “ Eliminar
Horario ” se da clic en el botón
“Eliminar”
2. Se mostrará el mensaje de
confirmación “? Esta seguro que
desea eliminar el Horario?”.
3. Se presiona el Botón “Aceptar” y se
habrá exportado correctamente el
documento.

Flujo alternativo
Postcondición Dar de baja de la base de datos/Pagina
Principal

Nombre del caso de uso Modificar Periodo


Actor Administrador
Precondición El usuario deberá estar en la página principal.
Flujo normal 1. Dar clic sobre la pestaña modificar.
2. Se mostrara varias opciones entre
ellas periodo
3. Dar clic en la imagen de periodo
4. Seleccionar modificar dar clic
Flujo alternativo En caso de no haber el periodo a
modificar no se mostrara dicho
periodo mostrando un mensaje de
que no se encontró el periodo.
Postcondición Ir a la Página Principal.

Nombre del caso de uso Autenticarse


Actor Cliente
Pre-condición NA
Flujo normal 1. Se visualizara la pantalla principal.
2. Dar clic en ingresar.
3. Se visualizará un formulario para el
ingreso de datos de autentificación.
4. Elegimos el tipo de ingreso.
(Administrador o Docente)
5. Ingresar datos de autentificación.
6. Dar clic en botón “Ingresar”
Flujo alternativo 1. En caso de haber ingresado datos
erróneos se le volverá a solicitar
ingresar nuevamente los datos
poniéndose en blanco los casilleros.
Post-condición Entrar a la página principal del sistema

Nombre del caso de uso Ver información de horarios asignados


Actor Cliente
Pre-condición Autentificarse
Flujo normal 1. Ir a pestaña “Ver asignación de
horarios”
2. Se visualizará una pantalla en el cual se
podrá observar todos los datos de su
respectivo horario.
Flujo alternativo 1. En caso de no haber de haber ingresado
a otra página tiene la opción de regresar
dando clic en “Atrás”
Post-condición Volver a la página principal

Nombre del caso de uso Ver información de los cursos


Actor Cliente
Pre-condición Autenticarse
Flujo normal 1. Ir a pestaña “Cursos”
2. Se visualizará la página de cursos.
3. Dar clic en el la flecha para poder
desplegar los cursos por medio de un
listbox.
4. Dar clic en botón en uno de los
cursos.
Flujo alternativo 1. En caso de no haber escogido ningún
curso no se mostrara información
requerida.
2. En caso de no haber escogido otro
curso podrá regresar para volver a
escoger un curso.
Post-condición Se visualizara la pantalla donde está la
información del curso buscado

Nombre del caso de uso Ver información de cargas laborales


Actor Cliente
Pre-condición Autentificarse
Flujo normal 1. Dar clic en el botón “Carga laboral”
Flujo alternativo 1. En caso de no haber información
sobre su carga laboral se emitirá un
mensaje.
Post-condición Se visualizara la pantalla con la información
de su carga laboral.

Nombre del caso de uso Filtrar información propia de horarios


asignados
Actor Cliente
Pre-condición Autenticarse
Flujo normal 1. Dar clic en el botón “Horarios
asignados”
Flujo alternativo 1. En caso de no tener horarios
asignados se mostrara un mensaje de
error.
Post-condición 1. Visualizar la información solicitada.
2. Exportar el documento en extensión
PDF.
3. Imprimir el documento con la
información requerida.

Nombre del caso de uso Filtrar información propia de los cursos


asignados
Actor Cliente
Pre-condición Autenticarse
Flujo normal 1. Dar clic en el botón “Cursos
asignados”
Flujo alternativo 1. En caso de no tener cursos asignados
se mostrara un mensaje de error.
Post-condición 1. Visualizar la información solicitada.
2. Exportar el documento en extensión
PDF.
3. Imprimir el documento con la
información requerida.

Nombre del caso de uso Filtrar información propia de carga laboral


Actor Cliente
Pre-condición Autenticarse
Flujo normal 1. Dar clic en el botón “Carga laboral”
Flujo alternativo 1. En caso de no tener carga laboral se
mostrara un mensaje de error.
Post-condición 1. Visualizar la información solicitada.
2. Exportar el documento en extensión
PDF.
3. Imprimir el documento con la
información requerida.

Nombre del caso de uso Revisar historial de conexiones de otros


clientes
Actor Cliente
Pre-condición Autenticarse
Flujo normal 1. En la parte derecha de la página se
podrá ver los nombres que los
clientes que han accedido
últimamente al sistema.
Flujo alternativo 1. En caso de no poder visualizar nada
recargar la página.
Post-condición Visualizar últimos accesos al sistema.

Nombre del caso de uso Recibir notificaciones


Actor Cliente
Pre-condición Autenticarse
Flujo normal 1. Se podrá recibir las notificaciones
respectivas
Flujo alternativo 1. En caso de no recibir notificación
enviar un mensaje al administrador
del sistema.
Post-condición Visualizar el mensaje recibido

Nombre del caso de uso Control de acceso


Actor Cliente
Pre-condición NA
Flujo normal 1. Para poder ingresar al sistema debe
tener una contraseña única el cual la
escribirá.
Flujo alternativo 1. En caso no tener una clave solicitar
una al administrador
2. En caso de olvidar su clave podrá
recuperarla.
Post-condición Tener acceso a su clave

Nombre del caso de uso Mostrar historial de actividades recientes


Actor Cliente
Pre-condición Autenticarse
Flujo normal 1. Dar clic en el botón actividad
reciente.
Flujo alternativo 1. En caso de no de ser su primer
acceso se mostrara lo que haga en
ese momento.
2. En caso de no visualizar nada
informar al administrador.
Post-condición Visualizar las actividades realizadas.

Nombre del caso de uso Ver pantalla principal


Actor Visitante
Pre-condición NA
Flujo normal 1. Navegar por la pantalla principal
Flujo alternativo 1. No podrá acceder a varios módulos
Post-condición Pantalla principal

Nombre del caso de uso Ver un video que permite informar acerca de
nosotros
Actor Visitante
Pre-condición NA
Flujo normal 1. Dar clic en el enlace del video.
Flujo alternativo 1. En caso de reproducirse el video se
enviara un mensaje de error al
administrador.
Post-condición 1. Visualizar el video

Nombre del caso de uso Ver información de contacto


Actor Visitante
Pre-condición NA
Flujo normal 1. Dar clic en la opción “Contacto”
Flujo alternativo 2. En caso de no poder acceder al video
recargar la página.
Post-condición Se visualizará una pantalla con todos los
contactos del administrador.
Nombre del caso de uso Ver información de la tecnología utilizada
para el desarrollo del sistema
Actor Visitante
Pre-condición NA
Flujo normal 1. Dar clic en la opción “Desarrollo
sistema”
Flujo alternativo 1. En caso de no poder acceder a la
página ponerse en contacto con el
administrador.
Post-condición Se visualizará una pantalla con la
información de las tecnologías utilizadas para
el desarrollo del sistema.

1.10 Diagramas de Clases


1.11 Diagramas de Objetos
CL_ASIGNATURA:Obj_asignatura CL_CURSO:Obj_Curso

#CodAsignatura: FF1S001 -Nivel: 1


-NomAsignatura: Matemática 1 * -Paralelo: C
-Creditos: 6 * -NumEstudiantes: 40
CL_ASIGNATURA_CURSO:Obj_curso_asignatura +IdCurso: 3

#IdCurso: 3
#CodAsignatura: FF1S001
-Hora_inicio: 09:00
-Hora_fin: 11:00

CL_HORARIO

#IdHorario: 1
-Periodo: Agosto 2015- Marzo2016
-IdCurso: 3
-CodAsignatura: FF1S001: String
+CodDocente: 1206

*
*

1
1
CL_ASIGNATURA_CURSO
CL_DOCENTE
#IdCurso: 3
#CodAsignatura: FF1S001 -Usuario: Alex95121
-Hora_inicio: 09:00 +Contraseña: centos2000new
-Hora_fin: 11:00 -Nivel Académico: 4
-Perfil Academico: Docente en cátedra Álgebra Superior - Escuela Ing. Mecánica
#CodDocente: 1206

CL_DOCENTE:Obj_docente

-Usuario: Alex95121
-Contraseña: centos2000new
-Nivel Académico: 4
+Perfil Academico: Docente en cátedra Álgebra Superior - Escuela Ing. Mecánica
#CodDocente: 1206

CL_PERSONA:Obj_persona

#CI: 0605132406
-Nombres: Iván Alexander
-Apellidos: Ramirez Córdova
-Correo: alex95121@hotmail

1.12 Diagramas de Secuencia

Diagrama de secuencia Autentificarse


Diagrama de Consultar Horario
Diagrama de Consultar Docente
Diagrama de Consultar Asignatura

Diagrama de Mostrar Docente


Diagrama de Mostrar Horario

Diagrama de Mostrar Asignatura


Diagrama de primer Ingreso
Diagrama de Ingresar Docente
Diagrama de Ingresar Asignatura
Diagrama de Secuencia Ingreso del Curso
Diagrama de Secuencia Modificar Docente
Diagrama de Secuencia Modificar Asignatura
Diagrama de Secuencia Modificar Cursos
Diagrama de Secuencia Actualizar Docente

Actualizar Asignatura
Actualizar Datos de Curso

Crear Horario
Eliminar Asignatura

Eliminar Curso
Eliminar Docente

Eliminar Horario
Ingresar Datos de Periodo
Listar Datos de Periodo

Eliminar Periodo
Guardar Horario Modificar

Modificar Horario
1.13 Diagramas de Comunicación

Crear Horario

Actualizar Docente

Autentificarse

Consultar Asignatura
Consultar Docente

Consultar Horario

Primer Ingreso

Ingresar Asignatura

Ingresar Docente
Modificar Asignatura

Modificar Curso

Modificar Docente

Modificar Asignatura
Mostrar Docente

Mostrar Horario

Eliminar Asignatura

Modificar Horario
1.14 Diagrama de Estado

Ingreso de datos Docente

Autentificarse

Listar Datos asignatura


1.15 Diagrama de Actividades

Registro de Docentes

Autentificarse
1.16 Diagrama de paquetes

1.17 Tabla de riesgos


1.18 Modelo Físico
1.19 Modelo Lógico
Implementación
-- Mi proyecto
if db_id('DB_WORKLOAD') IS NOT NULL
begin
use master
drop database DB_WORKLOAD
end

-- Crear la Base de datos


create database DB_WORKLOAD
on primary (
name = 'DB_WORKLOAD_MDF',
filename='C:\EjerciciosBD\Proyecto\DB_WORKLOAD.MDF',
size=10mb,
maxsize=250mb,
filegrowth=10mb)

log on (
name='DB_WORKLOAD_LOG',
filename='C:\EjerciciosBD\Proyecto\DB_WORKLOAD.LDF',
size=4mb,
maxsize=200mb,
filegrowth=10%
)
go

--activar la base de datos


use DB_WORKLOAD
go

-- ********************** CREACION DE TABLAS ********************************


--creacion de la tabla Persona
create table PERSONA (
CI_Persona char (10) not null primary key,
Nombres_Persona varchar (30) not null,
Apellidos_Persona varchar (30) not null,
Correo_Persona varchar (50) not null unique,
Fecha_Nacimiento date not null,
Telefono_Persona varchar(10) null
)
go

--creacion de la DOCENTE
create table DOCENTE(
Cod_Docente int not null primary key,
CI_Persona char (10) not null ,
Contrasenia varchar (25) not null,
Nivel_Academico varchar(30) not null
)
go
--creacion de la tabla Administrador
create table ADMINISTRADOR (
CI_Persona char (10) not null primary key,
Contrasenia varchar (20) not null
)
go
--creacion de la TITULO
create table TITULO (
Id_Titulo int not null primary key,
Descripcion_Titulo varchar (60) not null
)
go
--creacion de la ESCUELA
create table ESCUELA (
Id_Escuela int not null primary key,
Descripcion_Escuela varchar (70) not null
)
go
--creacion de la TIPO_ASIGNATURA
create table TIPO_ASIGNATURA (
Id_TipoAsignatura int not null primary key,
Descripcion_TipoAsignatura varchar (25) not null
)
go
--creacion de la tabla Asignatura
create table ASIGNATURA (
Cod_Asignatura char (10) not null primary key,
Nombre_Asignatura varchar(50) not null,
Numero_Horas_Teoricas int not null,
Numero_Horas_Practicas int not null,
Numero_Creditos int not null,
Cod_AsignaturaPreRequisitos char (10) not null,
Cod_AsignaturaCoRequisitos char (10) not null,
Id_TipoAsignatura int not null,
foreign key (Id_TipoAsignatura ) references TIPO_ASIGNATURA (Id_TipoAsignatura)
)
go
--creacion de la PERIODO
create table PERIODO(
Id_Periodo int not null primary key,
Descripcion_Periodo varchar (30) not null
)
go
--creacion de la CURSO
create table CURSO (
Nivel int not null,
Paralelo char(1) not null ,
Numero_Estudiantes int not null,
primary key (Nivel, Paralelo)
)
go

--creacion de la HORA
create table HORA (
Id_Hora int not null primary key,
Descripcion_Hora varchar (25) not null
)
go
--Creacion de la tabla DOCENTE_HORA
create table DOCENTE_HORA(
Cod_Docente int not null,
Id_Hora int not null,
foreign key (Cod_Docente) references DOCENTE (Cod_Docente),
foreign key (Id_Hora) references HORA (Id_Hora),
primary key (Cod_Docente, Id_Hora)
)
go
-- ************Creacion de la tabla DOCENTE_TITULO *****************
create table DOCENTE_TITULO(
Cod_Docente int not null,
Id_Titulo int not null,
foreign key (Cod_Docente) references DOCENTE (Cod_Docente),
foreign key (Id_Titulo) references TITULO (Id_Titulo),
primary key (Cod_Docente, Id_Titulo)
)
go
-- Creacion de la tabla DOCENTE_ESCUELA
create table DOCENTE_ESCUELA(
Cod_Docente int not null,
Id_Escuela int not null,
foreign key (Cod_Docente) references DOCENTE (Cod_Docente),
foreign key (Id_Escuela) references ESCUELA (Id_Escuela),
primary key (Cod_Docente, Id_Escuela)
)
go
-- Creacion de la tabla DOCENTE_ASIGNATURA
create table DOCENTE_ASIGNATURA(
Cod_Docente int not null,
Cod_Asignatura char (10) not null,
/*foreign key (Cod_Docente) references DOCENTE (Cod_Docente),
foreign key (Cod_Asignatura) references ASIGNATURA (Cod_Asignatura),
*/primary key (Cod_Docente, Cod_Asignatura)
)
go
--creacion de la HORARIO
create table HORARIO (
Cod_Asignatura char (10) not null,
Nivel int not null,
Paralelo char(1) not null,
Id_Hora int not null,
Id_Periodo int not null,
Dia varchar (15) not null,
/* foreign key (Cod_Asignatura) references ASIGNATURA (Cod_Asignatura),
foreign key (Nivel, Paralelo) references CURSO (Nivel, Paralelo),
foreign key (Id_Hora) references HORA (Id_Hora),
foreign key (Id_Periodo) references PERIODO (Id_Periodo),
*/primary key (Cod_Asignatura, Nivel, Paralelo, Id_Hora,Id_Periodo)
)
go
--****************** CLAVES FORANEAS ***************
-- TABLA HORARIO
-- Relacion entre la tabla HORARIO_ASIGNATURA
alter table HORARIO
add constraint fk_HORARIO_ASIGNATURA
foreign key (Cod_Asignatura) references ASIGNATURA (Cod_Asignatura)
go
-- Relacion entre la tabla HORARIO_CURSO
alter table HORARIO
add constraint fk_HORARIO_CURSO
foreign key (Nivel, Paralelo) references CURSO (Nivel,Paralelo)
go

-- Relacion entre la tabla HORARIO_HORA


alter table HORARIO
add constraint fk_HORARIO_HORA
foreign key (Id_Hora) references HORA (Id_Hora)
go
-- Relacion entre la tabla HORARIO_PERIODO
alter table HORARIO
add constraint fk_HORARIO_PERIODO
foreign key (Id_Periodo) references PERIODO (Id_Periodo)
go

-- Relacion entre la tabla DOCENTE_ASIGNATURA


alter table DOCENTE_ASIGNATURA
add constraint fk_DOCENTE_ASIGNATURA
foreign key (Cod_Docente) references DOCENTE (Cod_Docente),
foreign key (Cod_Asignatura) references ASIGNATURA (Cod_Asignatura)
go
-- Relacion entre la tabla DOCENTE_PERSONA
alter table DOCENTE
add constraint fk_DOCENTE_PERSONA
foreign key (CI_Persona) references PERSONA (CI_Persona)
go
-- Relacion entre la tabla ADMINISTRADOR_PERSONA
alter table ADMINISTRADOR
add constraint fk_ADMINISTRADOR_PERSONA
foreign key (CI_Persona) references PERSONA (CI_Persona)
go

select * from ADMINISTRADOR


select * from ASIGNATURA
select * from CURSO
select * from DOCENTE
select * from ESCUELA
select * from HORA
select * from HORARIO
select * from PERIODO
select * from PERSONA
select * from TIPO_ASIGNATURA
select * from TITULO

-- LENGUAJE DE MANIPULACION DE DATOS DML


-- **************************** INSERTAR DATOS A LAS TABLAS
****************************************
-- ingresar datos en la tabla PERSONA
insert into PERSONA( CI_Persona,Nombres_Persona, Apellidos_Persona,
Correo_Persona, Fecha_Nacimiento,Telefono_Persona)
values ('0604090911','MIRIAN ELENA', 'PEREZ NAULA',
'mirianp@gmail.com', '1989-02-25','0987564893'),
('0604090912','JUAN JOSE', 'GONZALES TRUJILLO',
'juang23@hotmail.com', '1972-05-12','0984756213'),
('0604090913','LUZ MARIA', ' PAREDES CASTILLO',
'luzmary53@yahoo.com', '1978-06-07','0987689218'),
('0604090914','WILSON EDUARDO', 'REINOSO ALBAN',
'wreinoso@hotmail.com', '1979-03-28','0951439872'),
('0604090915','ERIK JESUS', 'ASTUDILLO ROSERO',
'jrosero33@gmail.com', '1980-10-19','0988697421'),
('0604090916','LILIANA KATERINE', 'SILVA COBOS',
'lilisilva@hotmail.com', '1985-12-24','0986743958')
go
select * from PERSONA
-- ingresar datos en la tabla DOCENTE
insert into DOCENTE (Cod_Docente, CI_Persona,Contrasenia,
Nivel_Academico)
values ('1','0604090911', 'maria1989', 'Magister'),
('2','0604090916', 'lili58', 'Ingeniera'),
('3','0604090912', 'jgonzales5', 'Magister'),
('4','0604090915', 'erik33', 'Ingeniero')
go
select * from DOCENTE
-- ingresar datos en la tabla ADMINISTRADOR
insert into ADMINISTRADOR (CI_Persona,Contrasenia)
values ('0604090915','erik1980')
go
select * from ADMINISTRADOR
-- ingresar datos en la tabla TITULO
insert into TITULO (Id_Titulo,Descripcion_Titulo)
values ('1','Ingeniero/a en Sistemas Informaticos'),
('2','Ingeniero/a en Software'),
('3','Ingeniero en Electronica y Computacion'),
('4','Ingeniero en Electronica, Telecomunicaciones y
Redes'),
('5','Ingeniero en Diseño Gráfico')
go
select * from TITULO
-- ingresar datos en la tabla ESCUELA
insert into ESCUELA (Id_Escuela, Descripcion_Escuela)
values ('1','Escuela de Diseño Gráfico'),
('2', 'Escuela de Ingeniería Electrónica en Control y
Redes Industriales'),
('3', 'Escuela de Ingeniería Electrónica en
Telecomunicaciones y Redes'),
('4', 'Escuela de Ingeniería en Sistemas')
go
select * from ESCUELA

-- ingresar datos en la tabla TIPO_ASIGNATURA


insert into TIPO_ASIGNATURA (Id_TipoAsignatura,
Descripcion_TipoAsignatura)
values ('1','Obligatoria'),
('2', 'Optativa')
go
select * from TIPO_ASIGNATURA

-- ingresar datos en la tabla ASIGNATURA


insert into ASIGNATURA (Cod_Asignatura,
Nombre_Asignatura,Numero_Horas_Teoricas,Numero_Horas_Practicas,Numero_Creditos,Cod_Asi
gnaturaPreRequisitos,Cod_AsignaturaCoRequisitos,Id_TipoAsignatura)
values ('IS11120','TECNICAS DE ESTUDIO',2,4,2,'','','1'),
('IS11128','EMPRENDIMIENTO',8,4,4,'','','1'),
('IS13132','ELECTRONICA',8,4,4,'','IS13122','1'),
('IS15152','PROYECTO
INTEGRADOR',8,4,4,'IS11121','IS14142','1')
go
select * from ASIGNATURA
-- ingresar datos en la tabla CURSO
insert into CURSO (Nivel, Paralelo, Numero_Estudiantes)
values ('1', 'A',45),
('1', 'B',40),
('2', 'A',40),
('3', 'A',35),
('4', 'A',30),
('5', 'A',35),
('6', 'A',37),
('7', 'A',30),
('8', 'A',20),
('9', 'A',20),
('10', 'A',15)
go
select * from CURSO
-- ingresar datos en la tabla HORA
insert into HORA (Id_Hora,Descripcion_Hora)
values (1,'7:00 - 9:00'),
(2,'9:00 - 11:00'),
(3,'11:00 - 13:00'),
(4,'13:00 - 15:00'),
(5,'15:00 - 17:00')
go
select * from HORA
-- ingresar datos en la tabla periodo
insert into PERIODO(Id_Periodo,Descripcion_Periodo)
values (1,'10 OCTUBRE 2015-15 MARZO 2016'),
(2,'4 ABRIL - 31 AGOSTO 2016'),
(3,'10 OCTUBRE 2016-15 MARZO 2017'),
(4,'4 ABRIL - 31 AGOSTO 2017'),
(5,'10 OCTUBRE 2017-15 MARZO 2018')
go
select * from HORA
-- ingresar datos en la tabla DOCENTE_ASIGNATURA
insert into DOCENTE_ASIGNATURA(Cod_Docente,Cod_Asignatura)
values (1,'IS11120'),
(2,'IS11128'),
(2,'IS11120'),
(3,'IS15152')
go
select * from DOCENTE_ASIGNATURA
-- ingresar datos en la tabla DOCENTE_ESCUELA
insert into DOCENTE_ESCUELA(Cod_Docente,Id_Escuela)
values (1,1),
(2,2),
(2,1),
(3,2)
go
select * from DOCENTE_ESCUELA
-- ingresar datos en la tabla DOCENTE_HORA
insert into DOCENTE_HORA(Cod_Docente,Id_Hora)
values (1,2),
(2,2),
(2,1),
(3,2)
go
select * from DOCENTE_HORA
-- ingresar datos en la tabla DOCENTE_TITULO
insert into DOCENTE_TITULO(Cod_Docente,Id_Titulo)
values (1,1),
(2,3),
(2,1),
(3,4),
(1,3)
go
select * from DOCENTE_TITULO
-- ingresar datos en la tabla HORARIO
insert into HORARIO(Cod_Asignatura,Nivel, Paralelo,Id_Hora,
Id_Periodo,Dia)
values --('IS11120',1,'A',1,2,'Lunes'),
--('IS11128',8,'A',2,2,'Jueves'),
('IS11128',8,'A',1,2,'Martes')
go
select * from HORARIO

--******************************* PROCEDIMIENTOS ALMACENADOS


****************************************
-- Proc Almacenado del sistema que muestre las BD del servidor activo
sp_databases
-- Proc Almacenado del sistema que muestra las caracteristicas de nuestro
servidor activo
sp_server_info
-- Proc Almacenado que muestre las columnas de cada tabla
sp_columns ASIGNATURA
sp_columns DOCENTE
sp_columns HORARIO
sp_columns PERIODO
sp_columns CURSO
sp_columns PERSONA
-- Proc Almacenado del sistema que muestra los privilegios de las columnas de las
tabla
sp_column_privileges PERSONA
sp_column_privileges DOCENTE
sp_column_privileges HORARIO
sp_column_privileges ASIGNATURA

-- Proc Almacenado del sistema que muestra donde se hace referencia a la tabla
sp_fkeys PERSONA
sp_fkeys ASIGNATURA
sp_fkeys DOCENTE
sp_fkeys HORARIO

-- Proc Almacenado del sistema que muestra la llave primaria de la tabla


sp_pkeys PERSONA
sp_pkeys HORARIO

---------------------------- CREACION DE PROCEDIMIENTOS ALMACENADOS ------------------


-------------
--Procedimiento almacenado que muestra el horario de clases de un determinado docente
--Paso 1. Verificar si existe el procedimiento
if OBJECT_ID('horario_docente') is not null
begin
drop procedure horario_docente
end
go
-- Paso 2. Implementamos el Proced Almacenado
create proc horario_docente
@cod_Docente int -- parametro de entrada
as
select do.Cod_Docente,p.Nombres_Persona,p.Apellidos_Persona,
h.dia, h.Cod_Asignatura,a.Nombre_Asignatura,h.Nivel,Paralelo,
ho.Descripcion_Hora,pr.Descripcion_Periodo
from HORARIO h inner join ASIGNATURA a
on h.Cod_Asignatura=a.Cod_Asignatura inner join
DOCENTE_ASIGNATURA da
on a.Cod_Asignatura=da.Cod_Asignatura inner join DOCENTE do
on da.Cod_Docente=do.Cod_Docente inner join PERSONA p
on p.CI_Persona=do.CI_Persona inner join HORA ho
on h.Id_Hora=ho.Id_Hora inner join PERIODO pr
on h.Id_Periodo=pr.Id_Periodo

where da.Cod_Docente=(select Cod_Docente from DOCENTE where


Cod_Docente=@cod_Docente)--Subconsulta ()
go
-- Paso 3. Ejecutamos el Procedimiento almacenado
exec horario_docente '2'
select * from docente
select * from horario

--Procedimiento almacenado que muestra las asignaturas que se impartan a una misma
hora específica con su información más básica.
--Paso 1. Verificar si existe el procedimiento
if OBJECT_ID('asignatura_hora') is not null
begin
drop procedure asignatura_hora
end
go
-- Paso 2. Implementamos el Proced Almacenado
create proc asignatura_hora
@hora_ini int -- parametro de entrada
as
select asi.Cod_Asignatura,
asi.Nombre_Asignatura,h.Descripcion_Hora,p.Apellidos_Persona as [Ap. Docente],
p.Nombres_Persona as [Nom. Docente]
from HORA h inner join HORARIO ho
on h.Id_Hora=ho.Id_Hora inner join ASIGNATURA asi
on ho.Cod_Asignatura=asi.Cod_Asignatura inner join
DOCENTE_ASIGNATURA da
on asi.Cod_Asignatura=da.Cod_Asignatura inner join DOCENTE do
on da.Cod_Docente=do.Cod_Docente inner join PERSONA p
on do.CI_Persona=p.CI_Persona

where h.Id_Hora=(select Id_Hora FROM HORA where HORA.Id_Hora like


@hora_ini)--Subconsulta ()
go
-- Paso 3. Ejecutamos el Procedimiento almacenado
exec asignatura_hora '1'
select * from horario
select * from PERIODO

--Procedimiento almacenado que muestra todos los registros de un periodo academico


especifico
--Paso 1. Verificar si existe el procedimiento
if OBJECT_ID('periodo_registro') is not null
begin
drop procedure periodo_registro
end
go
-- Paso 2. Implementamos el Proced Almacenado
create proc periodo_registro
@dperiodo int -- parametro de entrada
as
select * from HORARIO ho
where ho.Id_Periodo=(select Id_Periodo from HORARIO
where Id_Periodo like @dperiodo)--Subconsulta ()
go
-- Paso 3. Ejecutamos el Procedimiento almacenado
exec horario_docente '2'
select * from horario
select * from PERIODO

--Funcion que permite transformar la fecha de nacimiento de los profesores en su


edad
--Paso 1. Verificar si existe la funcion
if OBJECT_ID('fecnac_edad') is not null
begin
drop function fecnac_edad
end
go
-- Paso 2. Implementamos la funcion
create function fecnac_edad(@fecnac date)
returns int
as
begin
declare @edad int
set @edad=cast(datediff(dd,@fecnac,GETDATE()) / 365.25 as int)
return @edad
end;
-- Paso 3. Ejecutamos la funcion

select dbo.fecnac_edad(p.Fecha_Nacimiento) from PERSONA p inner join


DOCENTE d
on p.CI_Persona=d.CI_Persona

select * from PERSONA


SELECT * FROM DOCENTE

--Funcion que permite listar el código de todos los docentes que trabajen de 9:00 a
11:00 en otra carrera
--Paso 1. Verificar si existe la funcion
if OBJECT_ID('listar_doc') is not null
begin
drop function listar_doc
end
go
-- Paso 2. Implementamos la funcion
create function listar_doc(@hora int)
returns table
as
return (select h.Cod_Docente from DOCENTE_HORA h
where h.Id_Hora=@hora)

-- Paso 3. Ejecutamos la funcion

select * from dbo.listar_doc(2);


SELECT * FROM DOCENTE
SELECT * FROM DOCENTE_HORA

--Funcion que permite listar todas las asignaturas que tengan más de n horas
teóricas
--Paso 1. Verificar si existe la funcion
if OBJECT_ID('listar_asi') is not null
begin
drop function listar_asi
end
go
-- Paso 2. Implementamos la funcion
create function listar_asi(@num int)
returns table
as
return (select * from ASIGNATURA asig
where asig.Numero_Horas_Teoricas>@num)

-- Paso 3. Ejecutamos la funcion

select * from dbo.listar_asi(2);


SELECT * FROM ASIGNATURA
-- TRIGGERS
-- 1. T. que permite mostrar un mensaje cada vez que se inserte un
registro de la tabla DOCENTE

--Implementacion del Trigger

create trigger trmensaje_insercion


on DOCENTE --tabla donde se ejecuta el trigger
for insert
as
print 'Docente REGISTRADO'
go
--Probar el trigger

insert into DOCENTE (Cod_Docente, CI_Persona,Contrasenia,


Nivel_Academico)
values ('5','0604090914', 'wiledu', 'Magister')
go

select * from DOCENTE


select * from PERSONA

-- 2. T. que permite mostrar un mensaje cada vez que se actualice un


registro de la tabla DOCENTE

--Implementacion del Trigger

create trigger trmensaje_actualizacion


on DOCENTE --tabla donde se ejecuta el trigger
for update
as
print 'Datos de docente ACTUALIZADOS'
go

--Probar el trigger

update DOCENTE
set Contrasenia='wiledu2018'
where Cod_Docente=5

select * from DOCENTE

-- 1. T. que permite mostrar un mensaje cada vez que se elimine un


registro de la tabla DOCENTE

--Implementacion del Trigger

create trigger trmensaje_eliminacion


on DOCENTE --tabla donde se ejecuta el trigger
for delete
as
print 'Docente ELIMINADO'
go

--Probar el trigger

delete from DOCENTE


where Cod_Docente=5
select * from DOCENTE

--Vistas
--1. verificar si existe
if object_id('v_listadocente') is not null
drop view v_listadocente;

-- 2. Crear una vista que liste 3 campos de docentes

create view v_listadocente


as
select do.Cod_Docente, pe.CI_Persona, do.Nivel_Academico
from DOCENTE do inner join PERSONA pe on do.CI_Persona = pe.CI_Persona
go
--3. ara ejecutar la vista se hace lo siguiente

select * from v_listadocente


go

--Ver información de horarios


--1. verificar si existe
if object_id('v_v_Horarios') is not null
drop view v_Horarios;

--2.
create view v_Horarios
as
select asi.Cod_Asignatura, ho.Nivel, ho.Paralelo, ho.Dia
from HORARIO ho inner join ASIGNATURA asi on ho.Cod_Asignatura =
asi.Cod_Asignatura
go

--3. ara ejecutar la vista se hace lo siguiente

select * from v_Horarios


go

--Ver información de titulos-docente


--1. verificar si existe
if object_id('v_TDocente') is not null
drop view v_TDocente;

--2.
create view v_TDocente
as
select dt.Id_Titulo, ti.Descripcion_Titulo, do.Cod_Docente,
pe.Apellidos_Persona
from PERSONA pe inner join DOCENTE do on pe.CI_Persona = do.CI_Persona
inner join DOCENTE_TITULO dt on do.Cod_Docente = dt.Cod_Docente
inner join TITULO ti on dt.Id_Titulo =ti.Id_Titulo
go

--3. Para ejecutar la vista se hace lo siguiente

select * from v_TDocente


go
Conclusiones y recomendaciones
Conclusiones
o Realizar el análisis de los requerimientos de cada una de las necesidades del usuario
para la elaboración del desarrollo del sistema de asignación de horarios.
o La función principal del sistema es la asignación de horarios a docentes de la ESPOCH.

Recomendaciones
o Obtener más información acerca de las metodologías de software que existen para
implementar en el proyecto, ya que se lo realizo de manera empírica.
o Tener cuidado al aplicar los requerimientos ya que son parte muy importante de nuestro
sistema.
ANEXOS
Anexo 1

Entrevista

ESCUELA SUPERIOR POLITÉCNICA DE CHIMBORAZO


FACULTAD DE INFORMÁTICA Y ELECTONICA
ESCUELA DE INGENIERÍA EN SISTEMAS
PROYECTO INTEGRADOR II
ENTREVISTA
Tema: Aplicación para asignar materias a docentes con números de horas dependiendo del título que
tienen.
Lugar de la entrevista: FIE (Facultad de Informática y Electrónica)
Fecha de la entrevista: 09/11/2017

1. ¿Con cuántos docentes se dispone para la carrera de Ingeniería de Software?


5-10
10-15
15-20
20 en adelante
______

2. ¿Cuántos docentes son de Contrato?


1-5
5-10
10-15
15 en adelante
______

3. ¿Cuántos docentes son de Nombramiento?


1-5
5-10
10-15
15 en adelante
______

4. ¿Cómo califica la calidad de atención en los servicios en la asignación de horarios docentes que
actualmente presta la Facultad de Ingeniería de Software?
Muy buena
Buena
Regular
Mala
_______________________________________________________________
_______________________________________________________________.

5. ¿Cree usted que es necesario una aplicación que facilite la asignación de horarios Docentes en
la Facultad de Ingeniería de software, de la Escuela Superior Politécnica de Chimborazo?

No
_______________________________________________________________
_______________________________________________________________.

6. ¿Usted con qué frecuencia utilizaría la aplicación para la asignación de horarios de los docentes
de la Escuela Superior Politécnica de Chimborazo sede Riobamba?
Muy frecuentemente
Frecuentemente
Poco frecuente
Nada
_______________________________________________________________
_______________________________________________________________.

7. ¿Usted con qué frecuencia cree que los docentes necesiten visualizar sus horarios en el portal
web?
Muy frecuentemente
Frecuentemente
Poco frecuente
Nada
_______________________________________________________________
_______________________________________________________________.

Anexo 2

FORMATO REQUISITOS 830

Especificación de requisitos de software

Proyecto: SISTEMA PARA LA ASIGNACION DE


HORARIOS PARA LOS DOCENTES DE LA
CARRERA DE INGENIERIA DE SOFTWARE DE
LA ESCUELA SUPERIOR POLITECNICA DE
CHIMBORAZO”
noviembre de 2017

Ficha del Documento

Fecha Revisión Autor Verificado dep. Calidad.

Alexander Tubón
18/11/2017
María José Quinatoa
Darío Janeta

Documento validado por las partes en fecha:

Por la comunidad Por la universidad

Centro de Formación Socialista “Metalminero Universidad Politécnica Territorial de Aragua


de la Victoria.” Doct. Federico Brito Figueroa
Contenido

FICHA DEL DOCUMENTO ............................................................................................................. 3

CONTENIDO ..................................................................................................................................... 4

1 INTRODUCCIÓN ............................................................................................................................ 6

1.1 Propósito ........................................................................................................................................ 6

1.2 Alcance .......................................................................................................................................... 6

1.3 Personal involucrado...................................................................................................................... 6

1.4 Definiciones, acrónimos y abreviaturas ......................................................................................... 7

1.5 Referencias..................................................................................................................................... 7

1.6 Resumen......................................................................................................................................... 7

2 DESCRIPCIÓN GENERAL ............................................................................................................. 7

2.1 Perspectiva del producto ................................................................................................................ 7

2.2 Funcionalidad del producto............................................................................................................ 8

2.3 Características de los usuarios ....................................................................................................... 8

2.4 Restricciones .................................................................................................................................. 9

2.5 Suposiciones y dependencias ......................................................................................................... 9

3 REQUISITOS ESPECÍFICOS.......................................................................................................... 9

3.1 Requisitos comunes de las interfaces ........................................................................................... 17


3.1.1 Interfaces de usuario ............................................................................................................. 17
3.1.2 Interfaces de hardware .......................................................................................................... 17
3.1.3 Interfaces de software ........................................................................................................... 17
3.1.4 Interfaces de comunicación .................................................................................................. 17
3.2 Requisitos funcionales ................................................................................................................. 17
3.2.1 Requisito funcional 1 ............................................................................................................ 17
3.2.2 Requisito funcional 2 ............................................................................................................ 18
3.2.3 Requisito funcional 3 ............................................................................................................ 18
3.2.4 Requisito funcional 4 ............................................................................................................ 18
3.2.5 Requisito funcional 5 ............................................................................................................ 18
3.2.6 Requisito funcional 6 ............................................................................................................ 19
3.2.7 Requisito funcional 7 ............................................................................................................ 19

3.2.8 Requisito funcional 8 ............................................................................................................ 19


3.2.9 Requisito funcional 9 ............................................................................................................ 19

3.3 Requisitos no funcionales ............................................................................................................ 20


3.3.1 Requisitos de rendimiento .................................................................................................... 20
3.3.2 Seguridad .............................................................................................................................. 20
3.3.3 Fiabilidad .............................................................................................................................. 20
3.3.4 Disponibilidad ...................................................................................................................... 20
3.3.5 Mantenibilidad...................................................................................................................... 20
3.3.6 Portabilidad .......................................................................................................................... 20
1 Introducción

Este documento es una Especificación de Requisitos Software (ERS) para el Sistema


de información para la gestión de procesos y control de inventarios. Esta especificación
se ha estructurado basándose en las directrices dadas por el estándar IEEE.
1.1 Propósito
El propósito del proyecto es proveer una herramienta que facilite el proceso de
asignación de horarios a los docentes de la facultad de Ingeniería en Sistemas
acorde con las necesidades y requerimientos del Director de Escuela.

1.2 Alcance
El alcance de este proyecto es implantar el módulo de asignación de horarios
docentes en el portal de servicios de la Facultad de Ingeniería de Software en la
Escuela Superior Politécnica de Chimborazo.

1.3 Personal involucrado


Nombre Alexander Tubón
Rol Analista, diseñador y programador
Categoría Profesional Estudiante
Responsabilidad Análisis de información, diseño y programación
Información de contacto alex95121@hotmail.com

Nombre María José Quinatoa


Rol Analista, diseñador y programador
Categoría Profesional Estudiante
Responsabilidad Análisis de información, diseño y programación
Información de contacto majo.quinatoa@yahoo.es

Nombre Darío Janeta


Rol Analista, diseñador y programador
Categoría Profesional Estudiante
Responsabilidad Análisis de información, diseño y programación
Información de contacto darday1980@gmail.com
1.4 Definiciones, acrónimos y abreviaturas

Nombr e Descripción

Usuario Persona que usará el sistema para gestionar procesos


IEEE Sistema de Información Web para la Gestión de Procesos
Administrativos y Académicos
Cliente Persona que utiliza los servicios
RF Requerimiento Funcional
WWW World Wide Web (red informática mundial)
FTP Protocolo de Transferencia de Archivos

1.5 Referencias

Título del Documento Referencia


Standard IEEE 830 - 1998 IEEE

2 Descripción general

2.1 Perspectiva del producto


El sistema será un producto diseñado para trabajar en entornos WEB, lo que
permitirá su utilización de forma rápida, amigable, interactiva, accesible y
eficaz, además le permitirá al administrador, docentes, y estudiantes ingresar,
buscar, modificar, eliminar datos respectivamente.

2.2 Funcionalidad del producto

2.3 Características de los usuarios

Tipo de usuario Administrador


Formación Ingeniería
Actividades Control y manejo del sistema en general

Tipo de usuario Cliente


Formación NA
Actividades Modificar, listar
Tipo de usuario Visitante
Formación NA
Actividades Observara promociones, comentar

2.4 Restricciones
 Lenguajes y tecnologías en uso: HTML, JAVA.
 Los servidores deben ser capaces de atender consultas concurrentemente.
 El sistema se diseñará según un modelo cliente/servidor.
3 Requisitos específicos

3.1 Requisitos comunes de las interfaces

3.1.1 Interfaces de usuario


Figura 1. Formulario Menú Principal

Figura 2. Formulario de Autenticación del Usuario


Figura 3. Formulario de Consulta Docente

Figura 4. Formulario de Asignación de Horario al Docente

Figura 5. Formulario de Listado de Asignaturas


Figura 6. Formulario de Listado de Docentes

Figura 7. Formulario de Insertar Nuevo Docente

Figura 8. Reporte de Asignación Académica por Docente


3.1.2 Interfaces de hardware
Será necesario disponer de equipos de cómputos en
perfecto estado con las siguientes características:
 Adaptadores de red.
 Procesador de 1.66GHz o superior.
 Memoria mínima de 256Mb.
 Mouse.
 Teclado.
 Impresora
3.1.3 Interfaces de software

 Sistema Operativo: Windows 7 o superior.


 Explorador: Mozilla o Chrome.
 Internet
3.1.4 Interfaces de comunicación
Los servidores, clientes y aplicaciones se comunicarán entre sí,
mediante protocolos estándares en internet, siempre que sea
posible. Por ejemplo, para transferir archivos o documentos
deberán utilizarse protocolos existentes (FTP u otros
convenientes).
3.2 Requisitos funcionales

3.2.1 Requisito funcional 1 - Autentificarse: El sistema permitirá al


Administrador ingresar a su entorno de trabajo de forma segura
mediante un sistema de autentificación de usuario.

3.2.2 Requisito funcional 2 - Consultar información de horario de


período académico previo: Consulta en la base de datos la
información histórica de los períodos académicos junto con sus
reparticiones finales y aprobadas de carga laboral.

3.2.3 Requisito funcional 3 - Consultar información de docente:


Consulta en la base de datos la información de los docentes tales
como: datos de los mismos, datos de su carga laboral actual, estados
de sus contratos o de sus actividades extracurriculares dentro de su
competencia correspondientemente.

3.2.4 Requisito funcional 4 – Consultar información de asignatura:


El sistema permitirá al administrador consultar información de una
asignatura específica.

3.2.5 Requisito funcional 5 – Mostrar datos de docente: El sistema


permitirá al administrador mostrar datos de un docente en
específico.

3.2.6 Requisito funcional 6 - Mostrar datos de horario: El sistema


permitirá al administrador mostrar un horario previamente
aprobado y guardado de un período académico específico
almacenados en el sistema.

3.2.7 Requisito funcional 7 - Mostrar datos de asignatura: El sistema


permitirá al administrador mostrar datos de una asignatura
específica.

3.2.8 Requisito funcional 8 – Ingresar datos de primer acceso: El


sistema le indicará al administrador que ingrese su nombre de
usuario y su contraseña para guardarlo y utilizarlo como
credenciales de autentificación.

3.2.9 Requisito funcional 9 - Ingresar dato de docentes: El sistema


permitirá al administrador ingresar todos los datos
correspondientes a los docentes.

3.2.10 Requisito funcional 10 - Ingresar datos de las asignaturas: El


sistema permitirá al administrador ingresar todos los datos
correspondientes a las asignaturas.

3.2.11 Requisito funcional 11 - Ingresar datos de los cursos: El sistema


permitirá al administrador ingresar datos del curso como: su nivel,
paralelo y su número máximo de estudiantes.

3.2.12 Requisito funcional 12 - Modificar datos de los docentes: El


sistema permitirá al administrador modificar todos los datos
correspondientes a los docentes.

3.2.13 Requisito funcional 13 - Modificar datos de las asignaturas: El


sistema permitirá al administrador modificar todos los datos
correspondientes a las asignaturas.

3.2.14 Requisito funcional 14 - Modificar datos de los cursos: El


sistema permitirá al administrador modificar datos del curso como:
su nivel, paralelo y su número máximo de estudiantes.

3.2.15 Requisito funcional 15 - Actualizar datos de los docentes: El


sistema permitirá al administrador actualizar todos los datos
correspondientes a los docentes.

3.2.16 Requisito funcional 16 - Actualizar datos de las asignaturas: El


sistema permitirá al administrador actualizar todos los datos
correspondientes a las asignaturas.

3.2.17 Requisito funcional 17 - Actualizar datos de los cursos: El


sistema permitirá al administrador actualizar datos del curso como:
su nivel, paralelo y su número máximo de estudiantes.

3.2.18 Requisito funcional 18 - Eliminar docentes: El sistema permitirá


al administrador eliminar docentes del sistema.

3.2.19 Requisito funcional 19 - Eliminar asignaturas: El sistema


permitirá al administrador eliminar asignaturas.

3.2.20 Requisito funcional 20 - Eliminar cursos: El sistema permitirá al


administrador eliminar cursos.

3.2.21 Requisito funcional 21 - Ingresar datos de periodo: El sistema


permitirá al administrador exportar datos de los docentes para
cualquier operación que considere pertinente.

3.2.22 Requisito funcional 22 – Modificar datos de periodo: El sistema


permitirá al administrador exportar datos de las asignaturas para
cualquier operación que considere pertinente.

3.2.23 Requisito funcional 23 – Eliminar datos de periodo: El sistema


permitirá al administrador exportar datos de los cursos para
cualquier operación que considere pertinente.

3.2.24 Requisito funcional 24 - Crear horario: El sistema permitirá al


administrador crear un nuevo horario de asignación para su
correspondiente construcción.

3.2.25 Requisito funcional 25 - Modificar horario: El sistema permitirá


al administrador modificar la información de los horarios de
asignación que se hayan ingresado.

3.2.26 Requisito funcional 26 – Mostrar datos de periodo: El sistema


permitirá al administrador al pulsar un botón en pantalla, resetear
la información ingresada en el horario.

3.2.27 Requisito funcional 27 - Guardar horario: El sistema permitirá


al administrador al pulsar un botón en pantalla, guardar la
información de dicho horario sobre el cual se esté trabajando en la
base de datos.

3.2.28 Requisito funcional 28 – Guardar Periodo: El sistema permitirá


al administrador exportar horarios que se hayan guardado.

3.2.29 Requisito funcional 29 - Eliminar horario: El sistema permitirá


al administrador eliminar el horario seleccionado.

3.2.30 Requisito funcional 30 - Registrar actividad: El sistema


permitirá al administrador registrar sus actividades más recientes
en un historial de sus actividades dentro del sistema.

3.2.31 Requisito funcional 31 - Autenticarse: El sistema permitirá al


cliente que puede ser un docente, autenticarse para ingresar a sus
contenidos.

3.2.32 Requisito funcional 32 - Ver información de horarios


asignados: El sistema permitirá al cliente revisar la información de
los horarios.

3.2.33 Requisito funcional 33 - Ver información de los cursos: El


sistema permitirá al cliente revisar la información de los cursos.

3.2.34 Requisito funcional 34 - Ver información de cargas laborales:


El sistema permitirá al cliente revisar información de la carga
laboral de cada uno de los docentes.

3.2.35 Requisito funcional 35 - Filtrar información propia de horarios


asignados: El sistema permitirá al cliente revisar la información de
sus propios horarios asignados al momento, mediante un filtro de
búsqueda.

3.2.36 Requisito funcional 36 - Filtrar información propia de los


cursos asignados: El sistema permitirá al cliente revisar la
información de sus propios cursos asignados al momento, mediante
un filtro de búsqueda.

3.2.37 Requisito funcional 37 - Filtrar información propia de carga


laboral: El sistema permitirá al cliente revisar la información de su
propia carga laboral asignada al momento, mediante un filtro de
búsqueda.

3.2.38 Requisito funcional 38 - Exportar datos de horarios: El sistema


permitirá al cliente exportar datos los horarios designados para el
período académico correspondiente.

3.2.39 Requisito funcional 39 - Revisar historial de conexiones de


otros clientes: El sistema permitirá al cliente revisar los últimos
accesos de los clientes al sistema.

3.2.40 Requisito funcional 40 - Recibir notificaciones: El sistema


permitirá al cliente informar mediante notificaciones de errores
comunes que puedan suceder dentro del mismo.

3.2.41 Requisito funcional 41 - Control de acceso: El sistema permitirá


al cliente ingresar mediante una clave única y otorgada por el
administrador del sistema.

3.2.42 Requisito funcional 42 - Mostrar historial de actividades


recientes: El sistema permitirá al cliente mostrar la información de
las actividades recientes del administrador.

3.2.43 Requisito funcional 43 - Autentificarse: El sistema permitirá al


visitante autentificarse mediante un mensaje que le enseñará como
hacerlo.

3.2.44 Requisito funcional 44 - Ver un video que permite informar de


las actividades del sistema: El sistema permitirá al visitante ver
un video que permite informar de las actividades del sistema.

3.2.45 Requisito funcional 45 - Ver información de contacto: El


sistema permitirá al visitante ver informaciones de contacto al
máster del sistema para una posible vinculación al mismo.

3.2.46 Requisito funcional 46 - Ver información de la tecnología


utilizada para el desarrollo del sistema: El sistema permitirá al
visitante saber la tecnología con la que fue diseñado el sistema.

3.2.47 Requisito funcional 47 - Ver un plugin de hora y fecha: El


sistema permitirá al visitante ver la hora y fecha actual mediante un
widget preconfigurado dentro de la página principal del sistema.

3.3 Requisitos no funcionales

3.3.1 Requisitos de rendimiento

La aplicación se podrá ejecutar desde cualquier dispositivo con


acceso a internet y funcionara con cualquier navegador lo que lo
hace accesible en todo momento, y al estar funcionando en
internet está disponible en cualquier parte del mundo.
3.3.2 Seguridad

Para garantizar la seguridad de la información que los usuarios


ingresan en la aplicación se solicita su Nombre de Usuario y
Contraseña, mediante esto solo los usuarios que estén registrados
pueden tener acceso para modificar sus datos, mientras que otros
usuarios como por ejemplo visitantes podrán acceder a la
aplicación sin necesidad de llenar estos campos, pero no podrán
hacer ninguna modificación de datos.

3.3.3 Fiabilidad

Al contar con campos de usuario y contraseña la información de los


usuarios estará segura ya que nadie más que dichos usuarios podrá
modificarla.

3.3.4 Disponibilidad

La aplicación al estar realizada en una plataforma tan grande e


internacional como es internet estará disponible los 7 días de la
semana, las 24 horas del día, en cualquier lugar y dispositivo con
acceso a internet.

3.3.5 Mantenibilidad

Para la mantenibilidad de la aplicación se contara con un video de


forma tutorial en la que se indicara detalladamente el uso de la
aplicación. Mientras que la programación estará en un documento
dentro de la aplicación, disponible para que el administrador lo
descargue en cualquier momento que él lo desee.

3.3.6 Portabilidad

La aplicación al ser realizada en internet se podrá acceder a esta


desde cualquier navegador de internet como por ejemplo Mozilla
Firefox, Google Chrome, Internet Explorer y muchos más.

You might also like