DISEÑO DE UN SISTEMA DE INFORMACIÓN QUE UTILIZA SERVICIOS WEB PARA LA GESTIÓN DE LOS PROCESOS ACADÉMICOS DE LA INSTITUCIÓN
EDUCATIVA MANUELA AYALA DE GAITÁN
ERICK RECAMAN
RAFAEL LANCHEROS LAGOS
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERÍA
Contenido
1. ALCANCE ... 2
2. MARCO TEÓRICO ... 3
2.1. Sistema de Información: ... 3
2.2. Tipos de Sistemas de Información ... 4
2.3. Ciclo de Vida del software: ... 5
2.4. Servicios Web: ... 5
2.5. Bases de Datos relacionales: ... 5
3. ESTADO DEL ARTE ... 6
3.1. Antecedentes ... 6
3.1.1. Sistema Cóndor Universidad Distrital ... 6
3.1.2. Sistema Colweb. ... 7
4. CRONOGRAMA ... 9
5. LEVANTAMIENTO DE INFORMACIÓN Y REQUERIMIENTOS ... 11
5.1. Conclusiones del levantamiento de información: ... 11
6. REQUISITOS FUNCIONALES ... 11
7. REQUISITOS NO FUNCIONALES ... 13
8. LEVANTAMIENTO DE INFORMACIÓN DENTRO DE LA INSTITUCIÓN EDUCATIVA MANUELA AYALA DE GAITÁN... 15
9. MODELO RELACIONAL DE LA BASE DE DATOS ... 17
10. CÓDIGO SQL DE LA BASE DE DATOS ... 17
1. ALCANCE
La solución de software a implementar consiste en el diseño de un sistema de información que utilice servicios web para la gestión de los procesos académicos de la institución educativa Manuela Ayala de Gaitán. Se pretende además que dicho sistema sea accesible desde cualquier dispositivo que cuente con conexión a internet, bien sea un computador o un equipo móvil. Para ello, el diseño web se realizará utilizando tecnologías “responsive”
De acuerdo a lo anterior, se espera que, con la implementación de este sistema, se optimicen los procesos académicos de la institución, haciendo que la información se encuentre disponible y organizada, de acuerdo al rol de cada uno de los miembros de la institución. Por ello, el sistema cuenta con accesos para tres tipos de usuarios: Los administrativos, los profesores y los estudiantes.
2. MARCO TEÓRICO
2.1. Sistema de Información:
Un sistema de información es un conjunto de elementos que interactúan entre sí con el fin de apoyar las actividades de una empresa o negocio.
El equipo computacional: el hardware necesario para que el sistema de información pueda operar.
El recurso humano que interactúa con el Sistema de Información, el cual está formado por las personas que utilizan el sistema.
Un sistema de información realiza cuatro actividades básicas: entrada, almacenamiento, procesamiento y salida de información. [1]
Entrada de Información: Es el proceso mediante el cual el Sistema de Información toma los datos que requiere para procesar la información. Las entradas pueden ser manuales o automáticas. Las manuales son aquellas que se proporcionan en forma directa por el usuario, mientras que las automáticas son datos o información que provienen o son tomados de otros sistemas o módulos. Esto último se denomina interfaces automáticas. [1]
Las unidades típicas de entrada de datos a las computadoras son las terminales, las cintas magnéticas, las unidades de diskette, los códigos de barras, el escáner, la voz, los monitores sensibles al tacto, el teclado y el mouse, entre otras. [1]
• Almacenamiento de información: El almacenamiento es una de las actividades o capacidades más importantes que tiene una computadora, ya que a través de esta propiedad el sistema puede recordar la información guardada en la sección o proceso anterior. Esta información suele ser almacenada en estructuras de información denominadas archivos. La unidad típica de almacenamiento son los discos magnéticos o discos duros, los discos flexibles o diskettes y los discos compactos (CD-ROM).
• Procesamiento de Información: Es la capacidad del Sistema de Información para efectuar cálculos de acuerdo con una secuencia de operaciones prestablecida. Estos cálculos pueden efectuarse con datos introducidos recientemente en el sistema o bien con datos que están almacenados. Esta característica de los sistemas permite la transformación de datos fuente en información que puede ser utilizada para la toma de decisiones, lo que hace posible, entre otras cosas, que un tomador de decisiones genere una proyección financiera a partir de los datos que contiene un estado de resultados o un balance general de un año base.
otros. Es importante aclarar que la salida de un Sistema de Información puede constituir la entrada a otro Sistema de Información o módulo. En este caso, también existe una interface automática de salida. Por ejemplo, el Sistema de Control de Clientes tiene una interface automática de salida con el Sistema de Contabilidad, ya que genera las pólizas contables de los movimientos procesales de los clientes. [1]
2.2. Tipos de Sistemas de Información
Durante los próximos años, los Sistemas de Información cumplirán tres objetivos básicos dentro de las organizaciones:
• Automatización de procesos operativos.
• Proporcionar información que sirva de apoyo al proceso de toma de decisiones.
• Lograr ventajas competitivas a través de su implantación y uso.
Figura No. 1. Funcionamiento de un sistema de información. [1]
2.3. Ciclo de Vida del software:
El ciclo de vida del software es el proceso que se sigue para construir, entregar y hacer evolucionar el software, desde la concepción de una idea hasta la entrega y retiro del sistema. Se definen las distintas fases intermedias que se requieren para validar el desarrollo de un software, es decir, para garantizar que el software cumpla los requisitos para la aplicación y verificación de los procedimientos de desarrollo, se asegura de que los métodos utilizados son apropiados. [2]
2.4. Servicios Web:
Un “web service” es una vía de intercomunicación e interoperabilidad entre máquinas conectadas en Red. En el mundo de Internet se han popularizado enormemente, ya se trate de web services públicos o privados. Generalmente, la interacción se basa en el envío de solicitudes y respuestas entre un cliente y un servidor, que incluyen datos. El cliente solicita información, enviando a veces datos al servidor para que pueda procesar su solicitud. El servidor genera una respuesta que envía de vuelta al cliente, adjuntando otra serie de datos que forman parte de esa respuesta. Por tanto, podemos entender un servicio web como un tráfico de mensajes entre dos máquinas. [3]
Figura No. 2, funcionamiento de un servicio web. [3]
2.5. Bases de Datos relacionales:
relacionarse con claves extranjeras. Se puede obtener acceso a estos datos de muchas formas distintas sin reorganizar las propias tablas de la base de datos. [4]
3. ESTADO DEL ARTE
3.1. Antecedentes
En los últimos años, la utilización de sistemas de información por parte de instituciones educativas y, en general, de todas las organizaciones que requieren optimizar sus procesos de manejo de información, ha ido en aumento, ello debido a la necesidad que tienen dichas organizaciones de que su información este siempre disponible, sea exacta y se encuentre almacenada de forma segura, objetivos que son alcanzables mediante el uso de sistemas de información. [5]
En el caso específico de las instituciones educativas, resulta importante tener un manejo sistematizado de todos los procesos académicos que se realicen y, dependiendo de dichos procesos, el sistema de información a implementar tendrá diferentes funcionalidades, en el entendido de que los procesos académicos que se llevan a cabo en una universidad, no son los mismos que se llevan a cabo en un colegio. Sin embargo, los sistemas utilizados por las universidades, que son más complejos, sirven como punto de referencia para los sistemas que pueden llegar a utilizar los colegios.
A continuación, se muestran algunos ejemplos de implementación de sistemas de información en instituciones educativas:
3.1.1. Sistema Cóndor Universidad Distrital
El sistema de gestión académica de la universidad distrital francisco José de Caldas, conocido como Cóndor, es un sistema de información web que permite a todos los miembros de la comunidad educativa de la universidad, tener acceso a información actual e histórica de los procesos académicos. [5]
Los servicios que cóndor ofrece, dependen el tipo de usuario con el que se cuente, que, a su vez, depende del rol que se cumpla dentro de la comunidad educativa. Dichos roles se detallan a continuación:
• Admisiones. • Aspirantes. • Asesores.
• Docentes. • Estudiantes.
• Funcionarios (Activos y Pensionados). • Rector y Vicerrector.
Algunos de los servicios más importantes que ofrece el sistema Cóndor son:
• Registro y consulta de calificaciones • Gestión de recibos de pago
• Gestión de carga académica para docentes
• Adición y cancelación de asignaturas para estudiantes • Subsistema de Evaluación Docente
• Gestión de datos personales de usuario • Consulta de histórico de asignaturas
Estas y otras funciones adicionales, que han ido agregándose conforme se realizan actualizaciones al sistema, lo convierten en una robusta herramienta que constituye un apoyo incondicional a la gestión de los procesos de la universidad. [5]
3.1.2. Sistema Colweb.
El sistema Colweb es un sistema de información web dirigido a los colegios. Este sistema fue diseñado por la empresa Credisoft de Colombia S.A.S la cual, según su página web, cuenta con más de 10 años de experiencia en el desarrollo de aplicaciones, siendo Colweb la aplicación Bandera.
Los principales objetivos de este sistema son:
• Mejorar la comunicación de toda la comunidad educativa.
• Intensificar el seguimiento a los estudiantes Una significativa disminución de costos y de esfuerzos administrativos.
• Disminuir a cero los tiempos para entrega de boletines y demás informes académicos.
• Reducir significativamente la posibilidad de errores.
• Herramienta de apoyo para el control y seguimiento de los sistemas de calidad.
independiente de la institución educativa, van dirigidos a Administrativos, Docentes, Padres de Familia y Estudiantes. Algunas de sus funciones más relevantes:
• Consulta de calificaciones por parte de padres y estudiantes • Mensajería directa entre padres y estudiantes
• Boletines cien por ciento digitales
• Gestión de actividades en casa (Tareas) • Gestión de actividades adicionales
• Manejo de todos los procesos administrativos consagrados en el PEI • Obtención de estadísticas
5. LEVANTAMIENTO DE INFORMACIÓN Y REQUERIMIENTOS
5.1. Conclusiones del levantamiento de información:
De acuerdo a la entrevista aplicada, se puede concluir que el colegio maneja sus procesos académicos de forma totalmente manual, acudiendo a planillas de todo tipo con el fin de consignar calificaciones, inasistencias y observaciones. El uso de estas planillas genera gastos enormes de tiempo, sobre todo si de las calificaciones se trata. Además, al estar adscrito a una secretaría de educación municipal, puede entregar a esta sus reportes en medios físicos, sin necesidad de subirlos a ningún sistema.
De la entrevista aplicada y del análisis y observación realizados por parte del entrevistador, se deducen los siguientes requisitos, tanto funcionales como no funcionales, para el sistema que se espera desarrollar
6. REQUISITOS FUNCIONALES
Tabla 1.
CODIGO REQUISITOS FUNCIONALES
RQF001
Nombre: iniciar sesion
Descripción:
El sistema permitirá validar las credenciales de autenticación de cada usuario con el fin de permitirle iniciar sesión.
Usuarios: AdminAcademico, Profesor, Estudiante
Tabla 2.
CODIGO REQUISITOS FUNCIONALES
RQF002
Nombre: Gestionar usuarios
Descripción:
El sistema permitirá la gestión de usuarios(profesor, estudiante, AdminAcademico) Al AdminAcadémico se le permitirá realizar las operaciones de consulta, registro, modificación y eliminación
Tabla 3.
CODIGO REQUISITOS FUNCIONALES
RQF003
Nombre: Gestionar calificación
Descripción:
El sistema permitirá la gestión de calificaciones. Al AdminAcadémico y al profesor se les permitirá realizar las operaciones de consulta y modificación mientras que el estudiante sólo podrá consultar sus calificaciones
Usuarios: AdminAcademico, Profesor, Estudiante
Tabla 4.
CODIGO REQUISITOS FUNCIONALES
RQF004
Nombre: Gestionar inasistencia
Descripción:
El sistema permitirá la gestión de inasistencias. Al AdminAcadémico y al profesor se les permitirá realizar las operaciones de consulta y registro mientras que el estudiante sólo podrá consultar sus inasistencias
Usuarios: AdminAcademico, Profesor, Estudiante
Tabla 5.
CODIGO REQUISITOS FUNCIONALES
RQF005
Nombre: Gestionar Observación
Descripción:
El sistema permitirá la gestión de observaciones. Al AdminAcadémico se le permitirá realizar las operaciones de consulta, registro y modificación; al profesor se le permitirá realizar la consulta y el registro de observaciones mientras que el estudiante sólo podrá consultar sus observaciones.
Tabla 6.
CODIGO REQUISITOS FUNCIONALES
RQF006
Nombre: Gestionar Carga Académica
Descripción:
El sistema permitirá la gestión de carga académica (consultar, registrar, modificar, eliminar) al AdminAcadémico
Usuarios: AdminAcademico
Tabla 7.
CODIGO REQUISITOS FUNCIONALES
RQF008
Nombre: Generar Reportes
Descripción:
El sistema permitirá generar reportes de calificaciones por estudiante y por curso y materia
Usuarios: AdminAcademico, Profesor, Estudiante
Tabla 8.
CODIGO REQUISITOS FUNCIONALES
RQF008
Nombre: Gestionar Cursos
Descripción:
El sistema permitirá administrar la información de los cursos a los usuarios. Al AdminAcademico el registro, la consulta y la eliminación y al profesor sólo la consulta
Usuarios: AdminAcademico, Profesor
7. REQUISITOS NO FUNCIONALES
Tabla 9.
CODIGO REQUISITOS NO FUNCIONALES
RQNF001
Nombre: Conexión a Internet
Tabla 10.
CODIGO REQUISITOS NO FUNCIONALES
RQNF002
Nombre: Dominio y Hosting
Descripción: El sistema debe ser almacenado en un hosting y debe contar con un nombre de dominio público con el fin de acceder a él
Tabla 11.
CODIGO REQUISITOS NO FUNCIONALES
RQNF003
Nombre: Interfaz gráfica intuitiva
Descripción: El diseño de la interfaz gráfica debe ser intuitivo con el fin de facilitar su uso a los usuarios
Tabla 12.
CODIGO REQUISITOS NO FUNCIONALES
RQNF004
Nombre: Seguridad en la Información
Descripción: El sistema debe garantizar que el acceso solo se concede a usuarios con credenciales de autenticación.
Tabla 13.
CODIGO REQUISITOS NO FUNCIONALES
RQNF005
Nombre: Eficiencia
8. LEVANTAMIENTO DE INFORMACIÓN DENTRO DE LA INSTITUCIÓN EDUCATIVA MANUELA AYALA DE GAITÁN
Método: Entrevista
Entrevistador: Erick Felipe Recaman, estudiante de la especialización en teleinformática
Entrevistada: Asistente de la rectora FRANCY ESPERANZA CHAVEZ JAIME Fecha: 28/03/2019
Preguntas y respuestas:
1. ¿Podría listar a los actores que componen a la comunidad educativa?
Bien, como en toda institución educativa, en el proceso intervienen estudiantes, acudientes, docentes y personal administrativo.
2. ¿Cuántos estudiantes hay en cada curso?
Al ser un colegio público, tenemos cursos hasta un máximo de 40 estudiantes
3. ¿Cómo se gestiona el proceso de registro de calificaciones y generación de boletines?
A cada docente se le entrega una planilla que contiene los espacios para la consignación de una calificación por periodo, independientemente de las calificaciones que éste maneje, sólo se debe consignar una en la planilla. En total son 4 períodos académicos durante el año
4. ¿Quiénes son los encargados de dicho proceso, podría describir sus funciones?
Los docentes de cada área consigan las calificaciones en la planilla que mencioné anteriormente. Además, el director de cada curso recolecta las planillas y es el encargado de realizar el consolidado de calificaciones por estudiante, eso ha generado inconvenientes cuando las calificaciones no corresponden pero nos ha ayudado a mejorar el cumplimiento con el registro de las mismas
5. ¿Cuánto tiempo tarda realizar el proceso de la manera en que lo realizan?
Aproximadamente una semana en lo que se recolectan las planillas y se realizan los reportes de calificaciones para cada estudiante, para este proceso los docentes usan combinación de correspondencia en Excel y Word. A decir verdad, es mucho el tiempo invertido en esta labor
La secretaría de educación del municipio así lo solicita, así que una vez registradas las calificaciones de todos los estudiantes, se imprimen los archivos generados a través de la combinación de correspondencia
7. ¿Cómo se gestiona el proceso de registro de inasistencias?
En una planilla destinada para tal fin, esta planilla se maneja mensual
8. ¿Quiénes son los encargados de dicho proceso?
Los directores de cada curso son los encargados de manejar el consolidado de inasistencias
9. ¿Qué implicaciones tienen las constantes inasistencias de un estudiante?
El colegio se comunica con los acudientes cuando suceden 3 inasistencias seguidas por parte de un estudiante, con el fin de indagar las causas, si éstas no son muy claras o si no se logra la comunicación, el caso debe ser reportado al bienestar familiar
10. ¿Se generan reportes impresos de inasistencias?
Sólo cuando el caso se va a escalar al bienestar familiar, se genera un consolidado de inasistencias para el estudiante en específico
11. ¿Cómo se gestiona el proceso de registro de observaciones?
Cada curso cuenta con una carpeta AZ donde se encuentran las hojas del observador de cada estudiante.
12. ¿Quiénes son los encargados de dicho proceso?
Los docentes pueden solicitar la carpeta cada vez que requieran registrar una observación
13. ¿Las observaciones se clasifican de alguna manera?
Académicas y disciplinarias
14. ¿Cómo se gestionan los datos de los estudiantes?
Los datos de cada estudiante se encuentran en su hoja del observador
15. ¿Quién se encarga de la gestión de esos datos?
El apoyo administrativo almacena las carpetas de los estudiantes, adicionalmente se tienen los datos en Excel, durante el período de matrículas se sistematizan
16. ¿Cómo se asigna la carga académica de los docentes?
máxima de 20 horas semanales por docente. Este proceso lo manejan los coordinadores
17. ¿Cómo se determina a qué curso va a pertenecer un estudiante?
Es totalmente aleatorio, en el caso de ser nuevo, en el caso de los antiguos permanecen en los mismos cursos, a no ser que se solicite cambio por disciplina o rendimiento académico
9. MODELO RELACIONAL DE LA BASE DE DATOS
Figura No 4. Diagrama de clases a ser implementado dentro de la aplicación.
10. CÓDIGO SQL DE LA BASE DE DATOS
USE [master] GO
/****** Object: Database [Academico] Script Date: 28/01/2020 3:32:12 p. m. ******/
CREATE DATABASE [Academico] CONTAINMENT = NONE
ON PRIMARY
( NAME = N'Academico', FILENAME = N'c:\Program Files\Microsoft SQL
Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\Academico.mdf' , SIZE = 4160KB , MAXSIZE =
UNLIMITED, FILEGROWTH = 1024KB )
( NAME = N'Academico_log', FILENAME = N'c:\Program Files\Microsoft SQL
Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\Academico_log.ldf' , SIZE = 1040KB , MAXSIZE =
2048GB , FILEGROWTH = 10%)
GO
ALTER DATABASE [Academico] SET COMPATIBILITY_LEVEL = 110 GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [Academico].[dbo].[sp_fulltext_database] @action = 'enable'
end GO
ALTER DATABASE [Academico] SET ANSI_NULL_DEFAULT OFF GO
ALTER DATABASE [Academico] SET ANSI_NULLS OFF GO
ALTER DATABASE [Academico] SET ANSI_PADDING OFF GO
ALTER DATABASE [Academico] SET ANSI_WARNINGS OFF GO
ALTER DATABASE [Academico] SET ARITHABORT OFF GO
ALTER DATABASE [Academico] SET AUTO_CLOSE ON GO
ALTER DATABASE [Academico] SET AUTO_CREATE_STATISTICS ON GO
ALTER DATABASE [Academico] SET AUTO_SHRINK OFF GO
ALTER DATABASE [Academico] SET AUTO_UPDATE_STATISTICS ON GO
ALTER DATABASE [Academico] SET CURSOR_CLOSE_ON_COMMIT OFF GO
ALTER DATABASE [Academico] SET CURSOR_DEFAULT GLOBAL GO
ALTER DATABASE [Academico] SET CONCAT_NULL_YIELDS_NULL OFF GO
ALTER DATABASE [Academico] SET NUMERIC_ROUNDABORT OFF GO
ALTER DATABASE [Academico] SET QUOTED_IDENTIFIER OFF GO
ALTER DATABASE [Academico] SET RECURSIVE_TRIGGERS OFF GO
ALTER DATABASE [Academico] SET ENABLE_BROKER GO
ALTER DATABASE [Academico] SET AUTO_UPDATE_STATISTICS_ASYNC OFF GO
ALTER DATABASE [Academico] SET DATE_CORRELATION_OPTIMIZATION OFF GO
ALTER DATABASE [Academico] SET TRUSTWORTHY OFF GO
ALTER DATABASE [Academico] SET ALLOW_SNAPSHOT_ISOLATION OFF GO
ALTER DATABASE [Academico] SET PARAMETERIZATION SIMPLE GO
ALTER DATABASE [Academico] SET READ_COMMITTED_SNAPSHOT OFF GO
ALTER DATABASE [Academico] SET HONOR_BROKER_PRIORITY OFF GO
GO
ALTER DATABASE [Academico] SET MULTI_USER GO
ALTER DATABASE [Academico] SET PAGE_VERIFY CHECKSUM GO
ALTER DATABASE [Academico] SET DB_CHAINING OFF GO
ALTER DATABASE [Academico] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF ) GO
ALTER DATABASE [Academico] SET TARGET_RECOVERY_TIME = 0 SECONDS GO
USE [Academico] GO
/****** Object: Table [dbo].[AdminAcademico] Script Date: 28/01/2020 3:32:13 p. m. ******/
SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
SET ANSI_PADDING ON GO
CREATE TABLE [dbo].[AdminAcademico](
[admi_codigo] [int] IDENTITY(1,1) NOT NULL,
[admi_nombre] [varchar](50) NOT NULL,
[admi_apellido] [varchar](50) NOT NULL,
[admi_tipoDoc] [varchar](15) NOT NULL,
[admi_numDoc] [varchar](25) NOT NULL,
[admi_fechaNacimiento] [date] NOT NULL,
[admi_celular] [varchar](15) NOT NULL,
[admi_direccion] [varchar](50) NOT NULL,
[usua_codigo] [int] NOT NULL,
PRIMARY KEY CLUSTERED
(
[admi_codigo] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF GO
/****** Object: Table [dbo].[AsignacionCarga] Script Date: 28/01/2020 3:32:13 p. m. ******/
SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
SET ANSI_PADDING ON GO
CREATE TABLE [dbo].[AsignacionCarga](
[asig_codigo] [int] IDENTITY(1,1) NOT NULL,
[prof_codigo] [int] NOT NULL,
[mate_codigo] [int] NOT NULL,
[asig_curso] [varchar](20) NULL,
PRIMARY KEY CLUSTERED
(
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF GO
/****** Object: Table [dbo].[Calificacion] Script Date: 28/01/2020 3:32:13 p. m. ******/
SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
CREATE TABLE [dbo].[Calificacion](
[cali_codigo] [int] IDENTITY(1,1) NOT NULL,
[cali_primerNota] [float] NULL,
[cali_segundaNota] [float] NULL,
[cali_terceraNota] [float] NULL,
[cali_cuartaNota] [float] NULL,
[cali_notaFinal] [float] NULL,
[cali_fechaRegistro] [date] NOT NULL,
[estu_codigo] [int] NOT NULL,
[asig_codigo] [int] NOT NULL,
PRIMARY KEY CLUSTERED
(
[cali_codigo] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Curso] Script Date: 28/01/2020 3:32:13 p. m. ******/
SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
SET ANSI_PADDING ON GO
CREATE TABLE [dbo].[Curso](
[curs_codigo] [int] IDENTITY(1,1) NOT NULL,
[curs_identificador] [varchar](10) NOT NULL,
PRIMARY KEY CLUSTERED
(
[curs_codigo] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF GO
/****** Object: Table [dbo].[Estudiante] Script Date: 28/01/2020 3:32:13 p. m. ******/
SET ANSI_NULLS ON GO
SET ANSI_PADDING ON GO
CREATE TABLE [dbo].[Estudiante](
[estu_codigo] [int] IDENTITY(1,1) NOT NULL,
[estu_nombre] [varchar](50) NOT NULL,
[estu_apellido] [varchar](50) NOT NULL,
[estu_tipoDoc] [varchar](15) NOT NULL,
[estu_numDoc] [varchar](25) NOT NULL,
[estu_fechaNacimiento] [date] NOT NULL,
[estu_celular] [varchar](15) NOT NULL,
[estu_direccion] [varchar](50) NOT NULL,
[curs_codigo] [int] NOT NULL,
[usua_codigo] [int] NOT NULL,
PRIMARY KEY CLUSTERED
(
[estu_codigo] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF GO
/****** Object: Table [dbo].[Inasistencia] Script Date: 28/01/2020 3:32:13 p. m. ******/
SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
CREATE TABLE [dbo].[Inasistencia](
[inas_codigo] [int] NOT NULL,
[inas_fecha] [date] NOT NULL,
[prof_codigo] [int] NOT NULL,
[estu_codigo] [int] NOT NULL,
PRIMARY KEY CLUSTERED
(
[inas_codigo] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Materia] Script Date: 28/01/2020 3:32:13 p. m. ******/
SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
SET ANSI_PADDING ON GO
CREATE TABLE [dbo].[Materia](
[mate_codigo] [int] IDENTITY(1,1) NOT NULL,
[mate_nombre] [varchar](50) NOT NULL,
PRIMARY KEY CLUSTERED
(
[mate_codigo] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF GO
/****** Object: Table [dbo].[Observacion] Script Date: 28/01/2020 3:32:13 p. m. ******/
SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
CREATE TABLE [dbo].[Observacion](
[obse_codigo] [int] NOT NULL,
[obse_fecha] [date] NOT NULL,
[obse_descripcion] [text] NULL,
[obse_descargos] [text] NULL,
[prof_codigo] [int] NOT NULL,
[estu_codigo] [int] NOT NULL,
PRIMARY KEY CLUSTERED
(
[obse_codigo] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
/****** Object: Table [dbo].[Profesor] Script Date: 28/01/2020 3:32:13 p. m. ******/
SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
SET ANSI_PADDING ON GO
CREATE TABLE [dbo].[Profesor](
[prof_codigo] [int] IDENTITY(1,1) NOT NULL,
[prof_nombre] [varchar](50) NOT NULL,
[prof_apellido] [varchar](50) NOT NULL,
[prof_tipoDoc] [varchar](15) NOT NULL,
[prof_numDoc] [varchar](25) NOT NULL,
[prof_fechaNacimiento] [date] NOT NULL,
[prof_celular] [varchar](15) NOT NULL,
[prof_direccion] [varchar](50) NOT NULL,
[prof_especialidad] [varchar](50) NOT NULL,
[usua_codigo] [int] NOT NULL,
PRIMARY KEY CLUSTERED
(
[prof_codigo] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF GO
/****** Object: Table [dbo].[Usuario] Script Date: 28/01/2020 3:32:13 p. m. ******/
GO
SET QUOTED_IDENTIFIER ON GO
SET ANSI_PADDING ON GO
CREATE TABLE [dbo].[Usuario](
[usua_codigo] [int] IDENTITY(1,1) NOT NULL,
[usua_nombre] [varchar](32) NOT NULL,
[usua_clave] [varchar](32) NOT NULL,
[usua_cargo] [varchar](32) NULL,
PRIMARY KEY CLUSTERED
(
[usua_codigo] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF GO
ALTER TABLE [dbo].[AdminAcademico] WITH CHECK ADD CONSTRAINT [fk_Admin_Usuario] FOREIGN KEY([usua_codigo])
REFERENCES [dbo].[Usuario] ([usua_codigo])
GO
ALTER TABLE [dbo].[AdminAcademico] CHECK CONSTRAINT [fk_Admin_Usuario] GO
ALTER TABLE [dbo].[AsignacionCarga] WITH CHECK ADD CONSTRAINT [fk_Asignacion_Materia] FOREIGN KEY([mate_codigo])
REFERENCES [dbo].[Materia] ([mate_codigo])
GO
ALTER TABLE [dbo].[AsignacionCarga] CHECK CONSTRAINT [fk_Asignacion_Materia] GO
ALTER TABLE [dbo].[AsignacionCarga] WITH CHECK ADD CONSTRAINT [fk_Asignacion_Profesor] FOREIGN KEY([prof_codigo])
REFERENCES [dbo].[Profesor] ([prof_codigo])
GO
ALTER TABLE [dbo].[AsignacionCarga] CHECK CONSTRAINT [fk_Asignacion_Profesor] GO
ALTER TABLE [dbo].[Calificacion] WITH CHECK ADD CONSTRAINT [fk_Calificacion_Asignacion] FOREIGN KEY([asig_codigo])
REFERENCES [dbo].[AsignacionCarga] ([asig_codigo])
GO
ALTER TABLE [dbo].[Calificacion] CHECK CONSTRAINT [fk_Calificacion_Asignacion] GO
ALTER TABLE [dbo].[Calificacion] WITH CHECK ADD CONSTRAINT [fk_Calificacion_Estudiante] FOREIGN KEY([estu_codigo])
REFERENCES [dbo].[Estudiante] ([estu_codigo])
GO
ALTER TABLE [dbo].[Calificacion] CHECK CONSTRAINT [fk_Calificacion_Estudiante] GO
ALTER TABLE [dbo].[Estudiante] WITH CHECK ADD CONSTRAINT [fk_Estudiante_Curso] FOREIGN KEY([curs_codigo])
REFERENCES [dbo].[Curso] ([curs_codigo])
GO
ALTER TABLE [dbo].[Estudiante] CHECK CONSTRAINT [fk_Estudiante_Curso] GO
REFERENCES [dbo].[Usuario] ([usua_codigo])
GO
ALTER TABLE [dbo].[Estudiante] CHECK CONSTRAINT [fk_Estudiante_Usuario] GO
ALTER TABLE [dbo].[Inasistencia] WITH CHECK ADD CONSTRAINT [fk_Inasistencia_Estudiante] FOREIGN KEY([estu_codigo])
REFERENCES [dbo].[Estudiante] ([estu_codigo])
GO
ALTER TABLE [dbo].[Inasistencia] CHECK CONSTRAINT [fk_Inasistencia_Estudiante] GO
ALTER TABLE [dbo].[Inasistencia] WITH CHECK ADD CONSTRAINT [fk_Inasistencia_Profesor] FOREIGN KEY([prof_codigo])
REFERENCES [dbo].[Profesor] ([prof_codigo])
GO
ALTER TABLE [dbo].[Inasistencia] CHECK CONSTRAINT [fk_Inasistencia_Profesor] GO
ALTER TABLE [dbo].[Observacion] WITH CHECK ADD CONSTRAINT [fk_Observacion_Estudiante] FOREIGN KEY([estu_codigo])
REFERENCES [dbo].[Estudiante] ([estu_codigo])
GO
ALTER TABLE [dbo].[Observacion] CHECK CONSTRAINT [fk_Observacion_Estudiante] GO
ALTER TABLE [dbo].[Observacion] WITH CHECK ADD CONSTRAINT [fk_Observacion_Profesor] FOREIGN KEY([prof_codigo])
REFERENCES [dbo].[Profesor] ([prof_codigo])
GO
ALTER TABLE [dbo].[Observacion] CHECK CONSTRAINT [fk_Observacion_Profesor] GO
ALTER TABLE [dbo].[Profesor] WITH CHECK ADD CONSTRAINT [fk_Profesor_Usuario] FOREIGN KEY([usua_codigo])
REFERENCES [dbo].[Usuario] ([usua_codigo])
GO
ALTER TABLE [dbo].[Profesor] CHECK CONSTRAINT [fk_Profesor_Usuario] GO
USE [master] GO
ALTER DATABASE [Academico] SET READ_WRITE GO
11. Referencias
[1] ECURED, Ciclo de vida del Software, [En línea]. Consultado en febrero de 2019. Disponible en: https://www.ecured.cu/Ciclo_de_vida_del_software
[2] ARSYS, Servicios Web, [En línea]. Consultado en febrero de 2019.
Disponible en: https://www.arsys.es/blog/programacion/diseno-web/web-services-desarrollo/ [3] Funcionamiento de un servicio web. [En línea]. Disponible en:
https://www.researchgate.net/profile/Roberto_Jacome/publication/301301481
[4] AMAZON WEB SERVICES, Bases de Datos Relacionales, [En línea]. Consultado en febrero de 2019. Disponible en: https://aws.amazon.com/es/relational-database/
[5] Sistema Cóndor, Servicios del sistema Cóndor, [En línea]. Consultado en marzo de 2019. Disponible en: https://estudiantes.portaloas.udistrital.edu.co/appserv/generales/inf_condor.html