UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES
“UNIANDES”
FACULTAD DE SISTEMAS MERCANTILES
CARRERA DE SISTEMAS
PROYECTO INFORMÁTICO PREVIO A LA OPTENCIÓN DEL
TÍTULO DE INGENIERO/A EN SISTEMAS E INFORMÁTICA
TEMA:
“PORTAL WEB PARA EL COLEGIO NACIONAL CARLOS
MARTÍNEZ ACOSTA”
AUTORES: MERY GARRIDO M.
GALO FLORESL.ASESORA: Ing. Cathy Guevara.
I
CERTIFICACIÓN DE INFORME
Ibarra, 30 de marzo del 2012
Yo, Ingeniera Cathy Guevara asesora del proyecto informático cuyo tema dice: “PORTAL WEB PARA EL COLEGIO NACIONAL CARLOS MARTÍNEZ ACOSTA” manifiesto
que la presente investigación ha sido desarrollada por Mery Garrido y Galo Flores y
sometido a revisión, por lo tanto autorizo la presentación para su defensa.
II
DECLARACIÓN DE AUTORÁ DEL PROYECTO INFORMÁTICO
Nosotros, Mery Garrido con cédula de ciudadanía N° 0400940060 y Galo Flores con
cédula de ciudadanía N° 1002445854, declaramos que los resultados obtenidos en el
desarrollo del presente proyecto y todos los contenidos han sido desarrollados por los
autores por lo que son de exclusiva responsabilidad.
III
AGRADECIMIENTO
Nuestro agradecimiento y gratitud a la Ingeniera Cathy Guevara asesora del proyecto,
quien nos guió con el conocimiento necesario y su buena voluntad, agradecemos a las autoridades del Colegio Nacional “Carlos Martínez Acosta” por la apertura brindada al
facilitarnos la información requerida para el desarrollo del sistema de gestión académica.
IV
DEDICATORIA
Este proyecto es el resultado del esfuerzo conjunto de quienes hemos desarrollado el
trabajo, con cariño le dedico a mi hijo Mateo quien ha sido mi inspiración, a mis padres,
pilares fundamentales de mi vida, quienes han depositado su entera confianza en cada reto
que se me ha presentado.
V
DEDICATORIA
Este proyecto está dedicado con mucho cariño a mis padres por todo el apoyo emocional
brindado durante mi carrera estudiantil, a mis compañeros de aula que compartieron
conmigo sus experiencias y de manera especial a mi hijo Gerson ya que en el he logrado
obtener la fortaleza necesaria para culminar mi carrera.
1
CERTIFICACIÓN
DE
INFORME
………..……….………….….…..I
DECLARACIÓN
DE
AUTORÍA
DEL
PROYECTO
…….…...……….…..II
AGRADECIMIENTO
…...………..……….…...III
DEDICATORIA
………..………..……....IV
DEDICATORIA
……….……….…………....V
RESUMENEJECUTIVO ... 6
EXECUTIVE SUMMARY ... 8
1. INTRODUCCIÓN ... 10
1.1 ANTECEDENTES ... 11
1.2 OBJETIVOS... 13
1.2.1 Objetivo General... 13
1.2.2 Objetivos Específicos ... 13
1.3 METODOLOGÍA ... 13
1.3.1 Descriptiva ... 14
1.3.2 Campo ... 14
1.3.3 Métodos Generales ... 14
1.3.4 Métodos Particulares ... 14
1.3.5 Técnicas ... 15
1.3.6 Ciclo de Vida ... 17
1.4 RECURSOS ... 19
1.4.1 Humanos ... 19
1.4.2 Materiales ... 20
1.4.3 Económicos ... 20
1.4.4 Total Gastos ... 20
1.5 Cronograma ... 21
2. PROPUESTA(METODOLOGÍA) ... 22
2.1 Análisis ... 22
2.1.1Investigación Preliminar ... 22
2.1.2 Evaluación y Análisis del Procesamiento de Datos de la Institución ... 22
2.1.3 Análisis de Solución ... 23
2.1.4 Diagrama de Flujo de Datos ... 24
2.1.5 Diagrama de Flujo de Datos Nivel 0 ... 25
2.1.6 Diagrama de Flujo de Datos Nivel 1 ... 26
2.2 Diseño... 27
2.2.1 Modelo Lógico ... 27
2.2.2 Modelo Físico ... 28
2.2.3 Script de la Base de Datos ... 29
2.2.4 Base de Datos ... 38
2.2.5 Diccionario de Datos ... 39
2.3 Implementación ... 43
2.3.1. Conexión a la Base de Datos ... 43
2
2.3.3. Administración ... 60
2.4 Pruebas ... 65
2.4.1 Diseño de Interfaces ... 65
2.4.2 Prueba con Datos en Frío ... 71
3.ESTUDIODEVIABILIDAD ... 72
3.1VIABILIDAD TÉCNICA ... 72
3.2VIABILIDAD OPERATIVA ... 72
3.3VIABILIDAD ECONÓMICA ... 73
4.DOCUMENTACIÓN ... 74
4.1 Manual de Usuario ... 74
4.2. Manual Técnico ... 93
4.2.1 Visual Studio 2008 ... 93
4.2.2Instalación de SQL Server 2005 ... 98
4.2.3. Photoshop cs4 ... 103
4.2.3. Project 2007 ... 105
4.2.4 Internet explorer 9 ... 106
5.CONCLUSIONESYRECOMENDACIONES ... 108
5.1 Conclusiones ... 108
5.2 Recomendaciones ... 109
6. BIBLIOGRAFÍA Y LINCOGRAFÍA ... 110
6.2 Lincografía ... 111
ENCUESTAS ... 116
TABULACIÓN DE LAS ENCUESTAS ... 119
CONCLUSIONES DE LAS ENCUESTAS ... 123
3
INDICE DE TABLAS Y GRÁFICOS
Tabla 1: Personal que labora en el colegio carlos martínez acosta. ... 15
Tabla 2: Recursos humanos del sistema para el colegio carlos martínez acosta ... 19
Tabla 3: Gastos materiales del sistema para el colegio carlos martínez acosta... 20
Tabla 4: Gastos económicos del sistema para el colegio carlos martínez acosta ... 20
Tabla 5: Gastos totales del sistema para el colegio carlos martínez acosta... 20
Figura1: Cronograma de actividades... 21
Figura2: Diseño estructurado de procesos de información ... 24
Figura3: Diseño del proceso principal de la aplicación web y sus entidades. ... 25
Figura4: Diseño de los procesos que describen al proceso principal de la aplicación web ... 26
Figura5: Diseño modelo lógico con un nivel de abstracción cercano a la realidad ... 27
Figura6: Diseño modelo físico con descripción de la implementación de la base de datos ... 28
Figura7: Base de datos ... 38
DICCIONARIO DE DATOS Tabla1: Diccionario de datos tabla estudiante ... 39
Tabla2: Diccionario de datos tabla institución ... 40
Tabla3: Diccionario de datos tabla materias ... 40
Tabla4: Diccionario de datos tabla matrícula ... 41
Tabla5: Diccionario de datos tabla notas ... 41
Tabla6: Diccionario de datos tabla personal ... 42
DISEÑO DE INTERFACES Figura1:Pantalla principal del sistema ... 65
Figura2:Aautentificación de usuarios del sistema ... 65
Figura3: Opciones del administrador del sistema ... 66
Figura4: Visualización de los datos del colegio ... 66
Figura5: Muestra las asignaturas ... 66
Figura6: Aulas ... 67
Figura7: Secciones del colegio ... 67
Figura8: Fecha de ingreso de notas ... 67
Figura9: Búsqueda inteligente ... 68
Figura10: Inscripción de estudiantes ... 68
Figura11: Ingreso de matrículas ... 68
Figura12: Boletín de perdidos el año ... 69
4
Figura14: Carnet estudiantil ... 69
Figura15: Formulario de pase de año ... 70
Figura16: Formulario de estudiantes de cada curso ... 70
Figura17: Registro de notas... 70
Figura18: Promedio de los mejores estudiantes ... 71
Figura19: Ficha de todos los datos del estudiante ... 71
MANUAL DE USUARIO Figura1: Ventana principal del sistema ... 75
Figura2: Opción de acceso al sistema ... 75
Figura3: Ingreso de usuario y contraseña para ingresar al sistema ... 76
Figura4: Pantalla de ingreso de estudiante. ... 76
Figura5: Menú del estudiante. ... 77
Figura6: Cambiar clave y usuario. ... 77
Figura7: Ventana de ingreso de datos. ... 78
Figura8: Ventana de opciones del estudiante. ... 78
Figura9: Pantalla registro de notas. ... 78
Figura10: Menú de opciones docente... 79
Figura11: Pantalla ingreso de usuarios. ... 79
Figura12: Pantalla seleccionar curso. ... 79
Figura13: Pantalla de ingreso de calificaciones. ... 80
PANTALLAS DEL ADMINISTRADOR Figura1: Ventana de menú principal del administrador. ... 80
Figura2: Ventana de ingreso de datos ... 81
Figura3: Ingreso de matrícula. ... 81
Figura4: Botón de ingreso de matrícula ... 82
Figura5: Ventana directorio. ... 82
Figura6: Ventana selección de períodos. ... 83
Figura7: Ventana ingreso de notas. ... 83
Figura8: Ventana de personal. ... 83
Figura9: Ventana boletines... 84
Figura10: Ventana perdidos de año. ... 84
Figura11: Ventana supletorio. ... 84
Figura12: Ventana asistencia. ... 85
Figura13: Ventana certificados de asistencia. ... 85
5
Figura15: Ventana carnet estudiantil... 86
Figura16: Ventana reportes. ... 86
Figura17: Ventana lista estudiantes... 86
Figura18: Listado de docentes. ... 87
Figura19: Ficha del docente. ... 87
Figura20: Ventana utilidad bdd. ... 87
Figura21: Ventana menú definición. ... 88
Figura22: Ventana especialización... 88
Figura23: Ventana crear nueva especialización. ... 88
Figura24: Ventana institución proviene. ... 89
Figura25: Ventana actividad económica. ... 89
Figura26: Ventana parentesco. ... 90
Figura27: Ventana de ingreso nuevos usuarios. ... 90
Figura28: Ventana institución. ... 90
Figura29: Ventana pensum ... 91
Figura30: Ventana asignar pensum. ... 91
Figura31: Ventana ficha de ingreso de notas. ... 91
Figura32: Ventana ingreso de datos. ... 92
VISUAL STUDIO 2008 Figura1. Pantalla de inicio. ... 93
Figura2: Pantalla recopilación archivos. ... 93
Figura3: Pantalla asistente de instalación. ... 94
Figura4: Pantalla de licencia. ... 94
Figura5: Selección de características. ... 94
Figura6: Instalación de todos los componentes... 95
Figura7: Pantalla de fin de instalación. ... 95
Figura8: Mensaje de reinicio. ... 95
Figura9:Pantalla de creación de aplicación. ... 96
Figura10: Pantalla principal. ... 96
INSTALACION SQL SERVER 2005 Figura1: Pantalla de instalación ... 98
Figura2: Pantalla proceso de instalación ... 99
Figura3: Pantalla de componentes... 99
Figura4: Pantalla de cuentas para inicio de sesión ... 99
6
1. RESUMEN EJECUTIVO
El escenario del mundo actual, está caracterizado por los grandes avances de la ciencia y la
tecnología, por esta razón el Colegio Nacional Carlos Martínez Acosta que está ubicado en
la provincia del Carchi cantón Mira, consciente de la necesidad de estar al nivel de las
grandes instituciones, da lugar a la creación de un sitio en la red con la implementación de
una página web, la misma que tiene la finalidad de optimizar la gestión académica.
Introducción. Para esto se ha realizado una investigación exhaustiva y detallada del
funcionamiento de la situación, y al no contar con una plataforma web, los trámites son
ineficientes y de baja calidad, ya que todo el trabajo que realiza la institución lo hacen en
forma manual, con la consecuente causa de incomodidad, pérdida de tiempo, recursos
económicos y materiales.
En la propuesta metodológica, se hizo la selección del mejor lenguaje de programación que
permita cumplir con todos los objetivos planteados como son: Visual estudio 2008 para la
programación, SQL server 2005 como gestor de base de datos, y Photoshop cs4 para el diseño
de pantallas, también la apertura que proporcionaron las autoridades para recolectar los datos
necesarios para el desarrollo del proyecto.
Conocida la realidad del funcionamiento del colegio, la misma que perjudica no solo al
establecimiento sino también al cantón, se ha elaborado un proyecto de gestión académica
que ayude a mejorar el trabajo de todos los que forman la comunidad educativa.
Estudio de Vialidad. En esta fase se encuentra la vialidad técnica, operativa y económica;
cabe destacar que el colegio cuenta con el equipo necesario para que el sistema funcione de
acuerdo a los objetivos propuestos, el personal existente tiene conocimientos básicos de
computación, por lo tanto el manejo del sistema va hacer fácil y le darán la utilidad
necesaria, con la ayuda de los recursos que brinda el colegio los costes para el desarrollo del
7
Documentación. Aquí se sitúa el manual del usuario el mismo que servirá de guía para
conocer la organización y estructura del sistema, incluyendo base de datos y programación,
así mismo encuentra conceptos básicos del software utilizados y se explica todo el proceso
con la presentación de pantallas de cada uno de los menús.
Conclusiones y recomendaciones. Se concluye con algunas recomendaciones y conclusiones
las mismas que deberán ser tomadas en cuenta para el perfecto manejo del sistema, el
documento de ayuda está a disposición de todo el personal que desee utilizar correctamente el
sistema el mismo que impulsará para que el colegio siga creciendo con excelencia académica
y tecnológica.
Bibliografía. Se ubica la bibliografía y lincografía, done se lista un sinnúmero de títulos de
libros y direcciones web que sirven como medio de consulta.
En los Anexos existe ejemplos de los resultados obtenidos con el desarrollo del sistema,
como son reportes de calificaciones, de asistencia, entre otros, también están las encuestas y
los resultados tabulados de cada una de las preguntas realizadas a los estudiantes y docentes.
Para conocer las instalaciones y organización del colegio, debe ingresar a la página
webwww.cncma.edu.ec y observará una interfaz dinámica y de fácil acceso a todos los
8
EXECUTIVE SUMMARY
The current world scenario, is characterized by the great advances in science and technology,
for this reason the National Carlos Martinez Acosta School which is located in the province of
Carchi canton Mira, aware of the need to be at the level of large institutions, gives place to the
creation of a site on the network with the implementation of a web page the same that is
intended to optimize the academic management. Introduction. This has been done a thorough
and detailed investigation of the operation of the situation, and in the absence of a web
platform, procedures are inefficient and of poor quality, since all the work that makes the
institution make it manually with the consistent cause of discomfort, loss of time, money and
material and economic resources. In the methodological proposal, it is made the selection of
the best programming language that let to get all the objectives such as: Visual Studio 2008 to
the programming, SQL server 2005 as database and Photoshop 4 Manager to design screens,
also the opening provided by the authorities to collect the necessary data for the development
of the project.
Known the reality of the operation of the school, which hurts not only the establishment but
also the canton, it has been developed a project of academic management that helps to
improve the work of all those who form the educational community.
Feasibility study. This stage is the technical, operational and economic feasibility; it should be
noted that the school has with the necessary equipment to make the system work according to
the proposed objectives, the existing staff has basic computer skills, therefore the
management of the system will be easy and they will give the necessary utility, with the help
of resources provided by the school the costs for the development of the same have not been
so highand they are within the established budget. Documentation. Here is the user manual
9
database and programming, at the same way there are the basic concepts of the used software
and explains the entire process with the introduction of screens for each of the menus.
Conclusions and recommendations. It concludes with some recommendations and the same
conclusions that must be taken into account for the perfect management of the system, the
help document is available to all school staff who wish to operate the system properly which
will boost that the school continues to grow with academic and technological excellence.
Bibliography.In the bibliography and lincografia is listed a variety of titles of books and
websites that serve as a means of consultation.
In annexes exist examples of results obtained with the development of the system, such as
report cards, attendance, among others, there are also surveys and the results tabulated for
each one of the questions asked to students and teachers.
To know the facilities and organization of the school, you must enter to the web page
www.cncma.edu.ec and you will see a dynamic interface and easy access to all the services
10
1.
INTRODUCCIÓN
El Propósito de la elaboración del Portal Web académico es la de prestar servicio a la
comunidad educativa del cantón Mira, como es al Colegio Nacional Carlos Martínez
Acosta, con la implementación de este tipo de tecnología el colegio estará acorde con los
avances tecnológicos de actualidad, el mismo que ayudará a manejar la información con
confianza y seguridad, también dará a conocer las actividades que se desarrollan en la
institución.
En la actualidad las instituciones educativas comparten sus servicios por medio de la web,
haciendo de esta una forma de atraer al estudiantado para que sea parte de la institución y
con ello lograr el crecimiento del colegio.
En tal sentido, el presente proyecto está estructurado en algunos capítulos los mismos que
le servirán de guía para el manejo del portal Web Académico. Para el desarrollo del
mismo se trabajará con Visual Studio 2008, Photoshop cs4para el diseño de cabeceras,
Sql Server2005 como gestor de la base de datos.
Dentro de la aplicación se conocerá a todo el personal y estudiantes del colegio, el sistema
está dividido en secciones como: administradores y usuarios también encuentra menús y
submenús, dentro del menú existen todos los campos de los estudiantes, en usuario está el
administrador y tipo de personal, en institución esta las especialidades con que cuenta el
colegio, en estudiante encuentra los datos de todos los estudiantes matriculados, en
Personal puede ver las dirección del personal que labora en el colegio, en el menú
Certificados tendrá la opción que permitirá extender certificados de asistencia de los
estudiantes, en reportes puede imprimir y visualizar las notas, en ayuda existe un manual
de usuario y ayuda técnica. El diseño del sistema está bien estructurado y con toda la
11
gran facilidad, así mismo el administrador puede crear usuarios dar permisos a los
diferentes navegantes de la página, se le creará un nombre de usuario y se le asignará una
clave; se podrá modificar la información de los usuarios a través de la páginas. En el
menú docentes permite ingresar las notas en las fechas establecidas y activadas por la
secretaria, previo al ingreso de su contraseña y usuario; Con la implantación de esta
herramienta el padre de familia podrá controlar el rendimiento académico de sus hijos
revisando las notas que se publicarán trimestralmente de todas las asignaturas y de esta
manera el representante se evitará futuros contratiempos al finalizar el año lectivo.
Además podrá informarse acerca delos eventos más importantes que se desarrollan dentro
del colegio como son: actividades sociales culturales y deportivas.
La aspiración como profesionales de la informática es ayudar a la sociedad para que tenga
una mayor facilidad al momento de escoger una institución de prestigio y con un
excelente nivel de enseñanza-aprendizaje; formándoles como excelentes profesionales
para un mejor desenvolvimiento en las actividades futuras que ellos adoptaren.
1.1 ANTECEDENTES
El colegio Nacional Carlos Martínez Acosta se encuentra ubicado en la calle Leopoldo N
Chávez y Panamericana norte en la ciudad de Mira Provincia del Carchi, la institución fue
creada el 28 de septiembre del año 1970 por el Doctor Carlos Martínez Acosta, gracias a
la organización de un grupo de personas con una convicción humana y política diferente
que deseaban que sus hijos y las futuras generaciones tengan una educación libre, laica y
gratuita, con un pensamiento progresista, de transformación social y de trabajo desde
aquel entonces ha sido parte fundamental para el adelanto y progreso de la juventud del
12
El reto de la Institución es brindar educación de calidad que satisfaga las expectativas de
los estudiantes, padres de familia y público en general que contemple un trato noble,
cordial y respetuoso hacia los demás; buscando con esto crear una imagen positiva del
Colegio.
En la actualidad, todo el trabajo que tiene la institución lo desarrollan manualmente por
ejemplo el ingreso de los nuevos estudiantes la secretaria registra en un cuaderno los
nombres y direcciones de los aspirantes.
Para el registro de notas los docentes calculan los parciales en forma manual e ingresan el
promedio final de cada trimestre en un programa realizado en Excel, asimismo se hace
conocer a los padres de familia el rendimiento de sus representados con la entrega de los
reportes para lo cual se convoca a reuniones permanentes con el consiguiente malestar por
las continuas llamadas al colegio.
De la misma manera los estudiantes no tienen acceso fácil a sus notas por lo que tiene que
estar buscando al profesor de la cátedra que requiere.
El Colegio Nacional Carlos Martínez Acosta, al no contar actualmente con una plataforma
web, los tramites son ineficientes y de baja calidad, ya que todo lo hacen en forma
manual, con la consecuente causa de incomodidad, pérdida de tiempo y recursos como
son económicos y materiales, todos estos contratiempos conducen a que la institución
13
1.2 OBJETIVOS
1.2.1 Objetivo General
Implantar un portal web para el Colegio Nacional Carlos Martínez Acosta con la
finalidad de optimizar la gestión académica.
1.2.2 Objetivos Específicos
Fundamentar científicamente el proceso de la aplicación informática para el Colegio Carlos Martínez Acosta.
Diseñar la aplicación web académica para los distintos trámites que realiza el padre de familia en la inscripción del estudiante.
Desarrollar procesos para que el estudiante revise sus notas a tiempo.
Lograr beneficio para la institución, como ahorro de tiempo, recursos económicos y materiales.
Implementar el sistema de acuerdo a las necesidades de los usuarios.
Validar la propuesta.
1.3
METODOLOGÍADe acuerdo con los objetivos de estudio, el enfoque investigativo es el proyecto factible,
el cual consiste en la elaboración de una propuesta viable para dar solución a un problema
de tipo práctico para satisfacer necesidades de una institución o grupo social.
La investigación del proyecto es de tipo:
14
1.3.1 Descriptiva.- Porque permitió expresar cómo surgió la necesidad del diseño de la propuesta, describir el problema detectado y buscar las posibles soluciones a este, procurando
que sean parte, directivos, profesores, estudiantes y padres de familia.
1.3.2 Campo.- Porque la investigación se centró el trabajo en la institución en estudio, o sea
en el propio lugar de la aplicación de los proyectos, se dialogó con estudiantes profesores y
estudiantes del plantel para obtener una información real.
1.3.3 Métodos Generales
1.3.3.1 Inductivo.- Se empleó este método porque nos permite designar casos o hechos singulares para llegar a principios generales de todas las áreas mediante los datos de las
encuestas que se realizó al personal docente, administrativos y estudiantes. Los mismos que
nos ayudaron a obtener las respectivas conclusiones.
1.3.3.2Analítico.- Sirvió para analizar la problemática, para establecer las conclusiones, plantear las recomendaciones, en la aplicación de gestión académica, ya que le permitirá
mejorar el cumplimiento de sus labores.
1.3.3.3Método de la observación científica: Este método permite conocer el problema que tiene la institución siguiendo un proceso el mismo que permitió resolver la problemática sin
alterar las condiciones naturales del establecimiento.
1.3.4 Métodos Particulares
1.3.4.1Histórico.- este método permitió recoger información de la historia del colegio objeto
de la gestión académica.
1.3.4.2Descriptivo. Este método permitió describir el problema detectado, detallar el proyecto
15 1.3.5 Técnicas
1.3.5.1Información Primaria. Sirvió para observar documentos y otros aspectos.
1.3.5.2 La Encuesta. Fue empleada para aplicarla a los estudiantes, docentes y
administrativos seleccionados y así obtener la información necesaria.
1.3.5.3 Información Secundaria. Se obtuvo información en documentos institucionales,
internet.
1.3.5.4 Población y Muestra
1.3.5.4.1 Población.- Esta investigación se realiza en la provincia del Carchi Cantón Mira, en
el Colegio Carlos Martínez Acosta.
Durante la encuesta con profesores y estudiantes tenemos los siguientes datos.
FUNCIÓN NÚMERO
Docentes con nombramiento 45
Estudiantes 410
TOTAL 455
Tabla 1: Personal que labora en el Colegio Carlos Martínez Acosta.
1.3.5.4.2 Muestra
De la población de 45 profesores y 410 estudiantes del colegio encuestado y para esto se
aplicará la siguiente fórmula.
PQ*N n =
16 En donde:
N = Tamaño de la muestra
P.Q. = Varianza de la población valor constante (0.25)
N-1 = Corrección geométrica
E = Margen de error (0.02)
K = Coeficiente de corrección de error valor constante (2)
0.25*455 n=
0.05
(410 - 1) + 0.25
2
0.25*455 n =
454 0.02 +0.25 2
113.75
n = = 23.74
4.79
n = 23.74 muestra
Se ha sumado los 45 profesores y 410 estudiantes donde la población es de 455, aplicando la
fórmula el resultado de la muestra es de 23.74, lo que indica que las encuestas se realizará a
17 1.3.6 Ciclo de Vida
El modelo de ciclo de vida que se utilizará para el desarrollo de este sistema es el de
CASCADA, el cual está compuesto por siete fases:
Análisis de requerimientos
Diseño del Sistema
Diseño del Programa
Codificación
Pruebas
Implantación
Mantenimiento
1.3.6.1 Análisis de Requerimientos
En esta primera fase se analizan las necesidades de los usuarios finales del software para
determinar qué objetivos debe cubrir. De esta fase surge una memoria llamada SRD
(documento de especificación de requisitos), que contiene la especificación completa de lo
que debe hacer el sistema sin entrar en detalles internos.
Es importante señalar que en esta etapa se debe consensuar todo lo que se requiere del sistema
y será aquello lo que seguirá en las siguientes etapas, no pudiéndose requerir nuevos
resultados a mitad del proceso de elaboración del software.
1.3.6.2 Diseño del Sistema
Se descompone y organiza el sistema en elementos que puedan elaborarse por separado,
aprovechando las ventajas del desarrollo en equipo. Como resultado surge el SDD
18
global del sistema y la especificación de lo que debe hacer cada una de sus partes, así como la
manera en que se combinan unas con otras.
Es conveniente distinguir entre diseño de alto nivel o arquitectónico y diseño detallado. El
primero de ellos tiene como objetivo definir la estructura de la solución (una vez que la fase
de análisis ha descrito el problema) identificando grandes módulos (conjuntos de funciones
que van a estar asociadas) y sus relaciones. Con ello se define la arquitectura de la solución
elegida. El segundo define los algoritmos empleados y la organización del código para
comenzar la implementación.
1.3.6.3 Diseño del Programa
Es la fase en donde se realizan los algoritmos necesarios para el cumplimiento de los
requerimientos del usuario así como también los análisis necesarios para saber que
herramientas usar en la etapa de Codificación.
1.3.6.4 Codificación
Es la fase de programación o implementación. Se genera el código fuente, haciendo uso de
prototipos así como pruebas y ensayos para corregir errores.
Dependiendo del lenguaje de programación y su versión se crean las bibliotecas y
componentes reutilizables dentro del mismo proyecto para hacer que la programación sea un
proceso mucho más rápido.
1.3.6.5 Pruebas
Los elementos ya programados, se ensamblan para componer el sistema y se comprueba que
19 1.3.6.6 Implantación
El software obtenido se pone en producción. Se implantan los niveles software y hardware
que componen el proyecto. La implantación es la fase con más duración y con más cambios
en el ciclo de elaboración de un proyecto. Es una de las fases finales del proyecto.
Durante la explotación del sistema de software pueden surgir cambios, bien para corregir
errores o bien para introducir mejoras. Todo ello se recoge en los Documentos de Cambios.
1.3.6.7 Mantenimiento
En esta fase se establece un ciclo de mantenimiento, donde el software tendrá cambios
después que se entregue al cliente si es que el usuario a encontrado errores que pueden ser
por el sistema operativo o periféricos; para evitar estos contratiempos se debe verificar que el
sistema final esté libre de fallos, cumpliendo así los objetivos que se ha propuesto.
1.4 RECURSOS
1.4.1 Humanos
NOMBRES FUNCIÓN
Tlgo Galo Flores Tlga. Mery Garrido Lcdo. Segundo Garrido Lic. Isolina Rubio
Docentes con Nombramiento Estudiantes
Ing. Cathy Guevara
Programador Programadora Rector Secretaría Docentes Estudiantes Asesora
20 1.4.2 Materiales
DESCRIPCIÓN VALOR
HARDWARE
Flash Memory CD`s y DVD’s PC Intel i3 Impresora Cartuchos 20.00 5.00 1060.00 120.00 45.00 SOFTWARE
Visual Studio.net 2008 Sql Server 2005 Photoshop cs4 Internet Explorer 9
TOTAL 1250.00
Tabla 3: Gastos Materiales del Sistema para el Colegio Carlos Martínez Acosta
1.4.3 Económicos
DETALLE VALOR
Impresiones Copias Transporte
Alquiler de Internet Papel Bond Teléfono 60.00 20.00 40.00 20.00 5.00 15.00
TOTAL 160.00
Tabla 4: Gastos Económicos del Sistema para el Colegio Carlos Martínez Acosta
1.4.4 Total Gastos
ECONÓMICOS 160.00
MATERIALES 1250.00
TOTAL 1410.00
21 1.5 Cronograma
22
2.
PROPUESTA (METODOLOGÍA)
2.1 Análisis
Para el desarrollo del sistema informático, las herramientas que se utiliza son las más
apropiadas, ya que se las conoce y son de fácil uso, se detalla a continuación.
Visual Studio2008
SQL server 2000
Photoshop cs4
Internet Explorer 9
2.1.1Investigación Preliminar
Para el desarrollo de esta investigación se realizó a partir de la observación, la misma
que ayudó a tener la idea más clara de cómo se maneja la información en el Colegio
Nacional Carlos Martínez Acosta, ciclo que describió la forma de procesar la
información, características de los procesos, resultados que ofrecen las autoridades
personal administrativo y estudiantes.
2.1.2 Evaluación y Análisis del Procesamiento de Datos de la Institución
En el colegio los datos se registran manualmente, los mismos que causan
inconvenientes a la comunidad educativa.
Al momento de entregar la información el proceso es lento, ya que no cuentan con un
sistema para agilitar el servicio.
La secretaria ingresa las notas en forma manual, y demanda mucho tiempo para ser
23 2.1.3 Análisis de Solución
Una vez estudiado y analizado los problemas del manejo de la información se
concluyen que los siguientes procesos serán necesarios para el desarrollo del sistema.
Las inscripciones de ingreso realizará el interesado registrando todos los datos obligatorios.
Todos los estudiantes inscritos y favorecidos pasaran hacer matriculados y formar parte de la institución.
Cada estudiante pueda visualizar e imprimir las notas.
Los estudiantes podrán conocer el pensum de estudios en el respectivo año lectivo
Los docentes ingresaran las notas en cualquier ordenador que cuente con internet.
24 2.1.4 Diagrama de Flujo de Datos
Figura2: Diseño estructurado de procesos de información
“COLEGIO NACIONAL “CARLOS MARTÍNEZ ACOSTA”
DIAGRAMA DE FLUJO DE INFORMACIÓN
No
Si
Inicio del Proceso
Solicitud de Inscripción de Matrículas de estudiantes
Registro de
Datos Personales Inscribir estudiante
Matricular estudiante
Imprimir Matrícula
Recepción de Notas
Aprueba el Curso Repite el curso
Imprimir Notas
Aprobó el Curso
Fin
No
Si
No
25 2.1.5 Diagrama de Flujo de Datos Nivel 0
Figura3: Diseño del proceso principal de la aplicación Web y sus entidades.
SISTEMA INFORMÁTICO DE GESTIÓN ACADÉMICA DEL COLEGIO NACIONAL“CARLOS
MARTINEZ ACOSTA”, PARA AGILITAR EL PROCESO DE LA INFORMACIÓN ACADÉMICA
DE MANERA OPORTUNAY RÁPIDA ESTUDIANTE
DEPARTAMENTO DE SECRETARIA
DOCENTES
ADMINISTRADOR Datos Personales
Reporte de Notas
Documento Matrícula
Documento de Reporte de Notas
Datos del Estudiante
Docuemento Matrícula
Ingreso de Notas de Estudiantes
Datos de Usuarios y Password Permiso de Ingreso de Notas Curso, Periodos Académicos
COLEGIO NACIONAL “CARLOS MARTINEZ ACOSTA”
26 2.1.6 Diagrama de Flujo de Datos Nivel 1
Figura4: Diseño de todos los procesos que describen al proceso principal de la aplicación Web
Selecciona Curso
Permisos de ingresos de notas
Ursos, Períodos Académicos 9
27 2.2 Diseño
2.2.1 Modelo Lógico
83
Figura5: Diseño modelo lógico con un nivel de abstracción cercano a la realidad
COLEGIO NACIONAL “CARLOS MARTÍNEZ ACOSTA”
abarca
reune registra
obtiene reune
enseña
enseña
Asignaturas
Aulas
Periodos
matrículas
Estudiantes notas Docentes
28 2.2.2 Modelo Físico
Figura6: Diseño modelo físico que contiene la descripción de la implementación de la base de datos
COLEGIO NACIONAL “CARLOS MARTÍNEZ ACOSTA”
Abarca Encierra
registra
Obtiene Reune
Integra
Asume
Corresponde Consta
Asignaturas
Aulas
Períodos
Matriculas
Estudiantes Notas Docentes
29 2.2.3 Script de la Base de Datos
Base de datos: `USE [cncma]` USE [cncma]
GO
CREATE TABLE [dbo].[Notas](
[cod_nota] [int] IDENTITY(1,1) NOT NULL,
[cod_matricula] [int] NULL,
[cod_pensum] [int] NULL,
[n1] [float] NOT NULL CONSTRAINT [DF__Notas__n1__1AF3F935] DEFAULT
((0)),
[a1] [smallint] NULL CONSTRAINT [DF__Notas__a1__1BE81D6E] DEFAULT
((0)),
[n2] [float] NOT NULL CONSTRAINT [DF__Notas__n2__1CDC41A7] DEFAULT
((0)),
[a2] [smallint] NULL CONSTRAINT [DF__Notas__a2__1DD065E0] DEFAULT
((0)),
[n3] [float] NOT NULL CONSTRAINT [DF__Notas__n3__1EC48A19] DEFAULT
((0)),
[a3] [smallint] NULL CONSTRAINT [DF__Notas__a3__1FB8AE52] DEFAULT
((0)),
30
[suma] [float] NOT NULL CONSTRAINT [DF__Notas__suma__20ACD28B]
DEFAULT ((0)),
[promedio] [float] NOT NULL CONSTRAINT
[DF__Notas__promedio__21A0F6C4] DEFAULT ((0)),
[supletorio] [float] NULL CONSTRAINT [DF__Notas__supletori__22951AFD]
DEFAULT ((0)),
[promedioFinal] [float] NULL CONSTRAINT [DF__Notas__promedioF__23893F36]
DEFAULT ((0)),
[observacion] [bit] NOT NULL CONSTRAINT
[DF__Notas__observaci__247D636F] DEFAULT ((0)),
CONSTRAINT [PK__Notas__19FFD4FC] PRIMARY KEY CLUSTERED
(
[cod_nota] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
) ON [PRIMARY]
CREATE TABLE [dbo].[Materias](
[cod_materia] [smallint] IDENTITY(1,1) NOT NULL,
31
CONSTRAINT [PK_Materias_1] PRIMARY KEY CLUSTERED
(
[cod_materia] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
) ON [PRIMARY]
CREATE TABLE [dbo].[Institucion](
[cod_institucion] [char](1) NOT NULL,
[descripcion] [varchar](50) NULL,
[logo] [image] NULL,
[cod_registro] [varchar](7) NULL,
[cod_RUC] [varchar](14) NULL,
[telefono1] [varchar](11) NULL,
[telefono2] [varchar](11) NULL,
[fax] [varchar](11) NULL,
[fecha_creacion] [datetime] NULL,
[direccion] [varchar](70) NULL,
32 [cod_provincia] [smallint] NULL,
[cod_canton] [smallint] NULL,
[cod_parroquia] [smallint] NULL,
CONSTRAINT [PK_Institucion] PRIMARY KEY CLUSTERED
(
[cod_institucion] 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]
CREATE TABLE [dbo].[Estudiante](
[ced_alu] [varchar](11) NOT NULL,
[apellido_pat] [varchar](20) NULL,
[apellido_mat] [varchar](20) NULL,
[nombres] [varchar](25) NULL,
[fecha_nac] [varchar](10) NULL,
[cod_sexo] [varchar](10) NULL,
[libreta_militar] [varchar](15) NULL,
33 [telefono_dom] [varchar](9) NULL,
[telefono_cel] [varchar](9) NULL,
[e_mail] [varchar](40) NULL,
[foto] [image] NULL,
[cod_provinciavive] [smallint] NULL,
[cod_cantonvive] [smallint] NULL,
[cod_parroquiavive] [smallint] NULL,
[cod_provincia] [smallint] NULL,
[cod_canton] [smallint] NULL,
[cod_parroquia] [smallint] NULL,
[cod_pais] [char](3) NULL,
[cod_nacionalidad] [varchar](15) NULL,
[cod_institucion] [smallint] NULL,
[cod_condicionEconomica] [smallint] NULL,
[estatus] [bit] NULL,
[fecha_inscripcion] [datetime] NULL,
[observaciones] [varchar](200) NULL,
[ced_familiar] [varchar](11) NULL,
34 [cod_profesion] [smallint] NULL,
[cod_actividad] [smallint] NULL,
[cod_parentesco] [smallint] NULL,
[lugar_trabajo] [nvarchar](30) NULL,
[telefono_domF] [varchar](9) NULL,
[telefono_trabajo] [varchar](9) NULL,
[telefono_celF] [varchar](9) NULL,
[estatusF] [bit] NULL,
CONSTRAINT [PK_Estudiante] PRIMARY KEY CLUSTERED
(
[ced_alu] 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]
CREATE TABLE [dbo].[Personal](
[ced_personal] [varchar](11) NOT NULL,
[apellido_pat] [varchar](20) NULL,
35 [nombres] [varchar](25) NULL,
[fecha_nac] [datetime] NOT NULL,
[cod_sexo] [varchar](50) NULL,
[libreta_militar] [varchar](15) NULL,
[cod_estadoCivil] [smallint] NULL,
[direccion] [varchar](70) NULL,
[telefono_dom] [varchar](9) NULL,
[telefono_cel] [varchar](9) NULL,
[e_mail] [varchar](40) NULL,
[foto] [image] NULL,
[cod_provinciavive] [smallint] NULL,
[cod_cantonvive] [smallint] NULL,
[cod_parroquiavive] [smallint] NULL,
[cod_provincia] [smallint] NULL,
[cod_canton] [smallint] NULL,
[cod_parroquia] [smallint] NULL,
[cod_pais] [char](3) NULL,
[cod_nacionalidad] [varchar](15) NULL,
36 [cod_tipoPersonal] [smallint] NULL,
[cod_tituloProfesional] [smallint] NULL,
[cod_cargo] [smallint] NULL,
[iess] [varchar](15) NULL,
[estatus] [bit] NULL,
[fecha_ingreso] [datetime] NULL,
CONSTRAINT [PK_Personal] PRIMARY KEY CLUSTERED
(
[ced_personal] 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]
CREATE TABLE [dbo].[Matricula](
[cod_matricula] [int] IDENTITY(1,1) NOT NULL,
[ced_alu] [varchar](11) NOT NULL,
[cod_periodo] [int] NOT NULL,
[cod_aula] [int] NOT NULL,
37 [estado] [bit] NULL,
CONSTRAINT [PK_Matricula] PRIMARY KEY CLUSTERED
(
[cod_matricula] ASC,
[ced_alu] ASC,
[cod_periodo] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =
ON) ON [PRIMARY]
38 2.2.4 Base de Datos
COLEGIO NACIONAL “CARLOS MARTÍNEZ ACOSTA”
39 2.2.5 Diccionario de Datos
NOMBRE DE LA TABLA DESCRIPCIÓN
ESTUDIANTE
Crea los datos de ingreso del
estudiante
40
NOMBRE DE LA TABLA DESCRIPCIÓN
INSTITUCION
Crea los datos de la institución
Tabla2: Diccionario de datos tabla institución
NOMBRE DE LA TABLA DESCRIPCIÓN
MATERIAS
Crea los datos de materias
41
NOMBRE DE LA TABLA DESCRIPCIÓN
MATRICULAS
Crea los datos de matrícula del estudiante
Tabla4: Diccionario de datos tabla matrícula
NOMBRE DE LA TABLA DESCRIPCIÓN
NOTAS
Crea los datos de notas
42
NOMBRE DE LA TABLA DESCRIPCIÓN
PERSONAL
Crea los datos de identificación del personal de
la institución
43 2.3 Implementación
2.3.1. Conexión a la Base de Datos
Para conectar la base de datos se necesita de una clase, la cual llevará por nombre “conexión”,
la misma que está ubicada en la carpeta “appcode”, en ella están definidas todas las variables
a utilizar en el diseño del sistema de gestión académica, tanto las instrucciones sql, datasets, y
lo que es más importante la validación de todos los usuarios que van a utilizar el sistema, el
código es el siguiente:
using System.Collections;
using System.Data;
using System.Data.SqlClient;
using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
publicclassConexion
{
privateString scon =
ConfigurationManager.ConnectionStrings["sqlconexion"].ConnectionString;
public Conexion() { }
publicObject DlookUp(string sQL, ArrayList args)
{
SqlConnection cnn = newSqlConnection(scon);
SqlCommand cmd = newSqlCommand();
44 DataSet ds = newDataSet();
cmd.CommandText = sQL;
if (args != null)
{
for (int i = 0; i < args.Count; i++)
{
cmd.Parameters.Add(newSqlParameter("@" + (i + 1).ToString(),
args[i]));
}
}
cmd.Connection = cnn;
cnn.Open();
da.SelectCommand = cmd;
da.Fill(ds, "Tabla");
cnn.Close();
if (ds.Tables[0].Rows.Count == 0)
{
returnnull;
}
else
{
return ds.Tables[0].Rows[0][0];
}
}
45
publicvoid EjecutarSQL(String sQL)
{
SqlConnection cnn = newSqlConnection(scon);
SqlCommand cmd = newSqlCommand();
cmd.CommandText = sQL;
cmd.Connection = cnn;
cnn.Open();
cmd.ExecuteNonQuery();
cnn.Close();
}
publicvoid EjecutarSQL(String sQL, ArrayList args)
{
SqlConnection cnn = newSqlConnection(scon);
SqlCommand cmd = newSqlCommand();
cmd.CommandText = sQL;
//agregando parametros a mi comando
if (args != null)
{
for (int i = 0; i < args.Count; i++)
{
cmd.Parameters.Add(newSqlParameter("@" + (i + 1).ToString(),
args[i]));
}
}
46 cnn.Open();
cmd.ExecuteNonQuery();
cnn.Close();
}
#endregion
#region "Traer Datos"
// <valor a devolver><Nombre funcion><Parametros>
// void=no devuelve
// int=entero
// string=cadena
// ???=cualquier objeto
publicDataSet TraerDatos(String sQL)
{
SqlConnection cnn = newSqlConnection(scon);
SqlCommand cmd = newSqlCommand();
SqlDataAdapter da = newSqlDataAdapter();
DataSet ds = newDataSet();
cmd.CommandText = sQL;
cmd.Connection = cnn;
cnn.Open();
da.SelectCommand = cmd;
da.Fill(ds, "Tabla");
cnn.Close();
return ds;
47
publicDataSet TraerDatos(String sQL, ArrayList args)
{
SqlConnection cnn = newSqlConnection(scon);
SqlCommand cmd = newSqlCommand();
SqlDataAdapter da = newSqlDataAdapter();
DataSet ds = newDataSet();
cmd.CommandText = sQL;
if (args != null)
{
for (int i = 0; i < args.Count; i++)
{
cmd.Parameters.Add(newSqlParameter("@" + (i + 1).ToString(),
args[i]));
}
}
cmd.Connection = cnn;
cnn.Open();
da.SelectCommand = cmd;
da.Fill(ds, "Tabla");
cnn.Close();
return ds;
}
#endregion
#region "Transacciones"
48
privateSqlConnection cnnPers;
privateSqlTransaction Transaccion;
publicvoid IniciarTransaccion(){
cnnPers = newSqlConnection(scon);
cnnPers.Open();
Transaccion = cnnPers.BeginTransaction();
}
publicstring EjecutarTSQL(String sQL, ArrayList args)
{
SqlCommand cmd = newSqlCommand();
try
{
cmd.CommandText = sQL;
cmd.Transaction = Transaccion;
if (args != null)
{
for (int i = 0; i < args.Count; i++)
{
cmd.Parameters.Add(newSqlParameter("@" + (i + 1).ToString(),
args[i]));
}
}
cmd.Connection = cnnPers;
cmd.ExecuteNonQuery();
49 }
catch (Exception ex)
{
//System.Windows.Forms.MessageBox.Show(ex.Message);
Transaccion.Rollback();
cnnPers.Close();
return ex.Message;
}
}
publicstring EjecutarTSQL(String sQL)
{
SqlCommand cmd = newSqlCommand();
try
{
cmd.CommandText = sQL;
cmd.Transaction = Transaccion;
cmd.Connection = cnnPers;
cmd.ExecuteNonQuery();
return"";
}
catch (Exception ex)
{
//System.Windows.Forms.MessageBox.Show(ex.Message);
Transaccion.Rollback();
50
return ex.Message;
}
}
publicDataSet TraerTDatos(String sQL)
{
SqlCommand cmd = newSqlCommand();
SqlDataAdapter da = newSqlDataAdapter();
DataSet ds = newDataSet();
try
{
cmd.CommandText = sQL;
cmd.Transaction = Transaccion;
cmd.Connection = cnnPers;
da.SelectCommand = cmd;
da.Fill(ds, "Tabla");
return ds;
}
catch(Exception ex)
{
//System.Windows.Forms.MessageBox.Show(ex.Message);
Transaccion.Rollback();
cnnPers.Close();
//la linea de abajo es copiada
thrownewException("Error " + ex.Message);
51 }
}
publicDataSet TraerTDatos(String sQL, ArrayList args)
{
SqlCommand cmd = newSqlCommand();
SqlDataAdapter da = newSqlDataAdapter();
DataSet ds = newDataSet();
try{
cmd.CommandText = sQL;
cmd.Transaction = Transaccion;
if (args != null)
{
for (int i = 0; i < args.Count; i++)
{
cmd.Parameters.Add(newSqlParameter("@" + (i + 1).ToString(),
args[i]));
}
}
cmd.Connection = cnnPers;
da.SelectCommand = cmd;
da.Fill(ds, "Tabla");
return ds;
}
catch (Exception ex)
52
//System.Windows.Forms.MessageBox.Show(ex.Message);
Transaccion.Rollback();
cnnPers.Close();
thrownewException("Error " + ex.Message);
returnnull;
}
}
publicstring FinalizarTransaccion() {
try
{
Transaccion.Commit();
return"";
}
catch (Exception ex){
Transaccion.Rollback();
return ex.Message;
}
finally {
cnnPers.Close();
}
}
publicstring ReversarTransaccion()
{
try
53 Transaccion.Rollback();
return"";
}
catch (Exception ex)
{
return ex.Message;
}
finally
{
cnnPers.Close();
}
}
#endregion
/*VALIDACIÓN DE USUARIO*/
/*VALIDA ADMINISTRADORES*/
publicDataRow ValidaAdministrador(String UserName, String Password){
SqlConnection localcnn = newSqlConnection(scon);
DataSet localds = newDataSet();
localcnn.Open();
SqlDataAdapter localda = newSqlDataAdapter("select * from usuarios where
cod_tipoPersonal=4 and login='" + UserName + "' and password='" + Password + "'",
localcnn);
localda.Fill(localds,"Datos");
if (localds.Tables[0].Rows.Count > 0) {
54 }
localcnn.Close();
returnnull;
}
publicDataRow ValidaOperador(String UserName, String Password)
{
SqlConnection localcnn = newSqlConnection(scon);
DataSet localds = newDataSet();
localcnn.Open();
SqlDataAdapter localda = newSqlDataAdapter("select * from usuarios where
cod_tipoPersonal=3 and login='" + UserName + "' and password='" + Password + "'",
localcnn);
localda.Fill(localds, "Datos");
if (localds.Tables[0].Rows.Count > 0)
{
return localds.Tables[0].Rows[0];
}
localcnn.Close();
returnnull;
}
publicDataRow ValidaDocente(String UserName, String Password)
{
SqlConnection localcnn = newSqlConnection(scon);
DataSet localds = newDataSet();
55
SqlDataAdapter localda = newSqlDataAdapter("select * from usuarios where
cod_tipoPersonal=2 and login='" + UserName + "' and password='" + Password + "'",
localcnn);
localda.Fill(localds, "Datos");
if (localds.Tables[0].Rows.Count > 0)
{
return localds.Tables[0].Rows[0];
}
localcnn.Close();
returnnull;
}
publicDataRow ValidaEstudiante(String UserName, String Password)
{
SqlConnection localcnn = newSqlConnection(scon);
DataSet localds = newDataSet();
localcnn.Open();
SqlDataAdapter localda = newSqlDataAdapter("select * from usuarios where
cod_tipoPersonal=1 and login='" + UserName + "' and password='" + Password + "'",
localcnn);
localda.Fill(localds, "Datos");
if (localds.Tables[0].Rows.Count > 0)
{
return localds.Tables[0].Rows[0];
}
56
returnnull;
}
}
2.3.2 Validación de Datos
2.3.2.1. Campos Obligatorios
Permiten forzar el ingreso de datos imprescindibles, tales como usuario y contraseña antes
de abrir cualquier página que tenga como finalidad interactuar con la base de datos.
protectedvoid Page_Load(object sender, EventArgs e)
{
Object usuarioact = Session["logged"];
if (usuarioact == null)
{
Response.Redirect("../errorpage.aspx");
return;
}
Object nivelusuario = Session["IDR"];
if (nivelusuario == null)
{
Response.Redirect("../errorpage.aspx");
return;
}
else
{
57 {
Response.Redirect("../errorpage.aspx");
return;
}
}
if (!IsPostBack)
cargarMatricula();//es para que se carguen todos los botones
}
2.3.2.2. Eliminar Registro (Estudiantes)
Permite eliminar el estudiante, siempre y cuando sus datos no sean referenciados con la tabla
matrícula.
protectedvoid GrdTodos_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
id_elimina=this.GrdTodos.Rows[e.RowIndex].Cells[3].Text;
MsgBox1.ShowConfirmation("Seguro desea eliminar el registro?", "Eliminar", true, true);
}
protectedvoid MsgBox1_NoChoosed1(object sender, string Key)
{
MsgBox1.ShowMessage("Los datos no se eliminaron");
}
protectedvoid MsgBox1_YesChoosed1(object sender, string Key)
{
switch (Key)
58
case"Eliminar":
try
{
persistenciaEstudiante.delEstudiante(id_elimina);
cargarEstudiante();
}
catch (Exception ex)
{
MsgBox1.ShowMessage(ex.Message);
}
break;
}
}
2.3.2.3. Editar Registros (Estudiantes)
Permite editar el registro del estudiante.
protectedvoid GrdTodos_RowEditing(object sender, GridViewEditEventArgs e)
{
DataRow dt = datos.Rows[e.NewEditIndex];
this.TxtCedula.Enabled = false;
this.TxtCedula.Text = dt[0].ToString();
this.TxtApellidoPat.Text = dt[1].ToString();
this.TxtApellidoMat.Text = dt[2].ToString();
this.TxtNombres.Text = dt[3].ToString();
//this.TxtFecha_Nac.Text = ((DateTime)dt[4]).ToString("dd/MM/yyyy");
59
this.CmbSexo.SelectedValue = dt[5].ToString();
this.TxtLibretaMilitar.Text = dt[6].ToString();
this.TxtDireccion.Text = dt[7].ToString();
this.TxtTelefonoDom.Text = dt[8].ToString();
this.TxtTelefonoCel.Text = dt[9].ToString();
this.TxtEmail.Text = dt[10].ToString();
claseEstudiante = persistenciaEstudiante.SelEstudiante(dt[0].ToString());
if (claseEstudiante._Foto != null)
{
MemoryStream ms = newMemoryStream();
ms.Write(claseEstudiante._Foto, 0, claseEstudiante._Foto.Length);
Bitmap bmp;
bmp = null;
bmp = newBitmap(ms);
Session["ImageForm"] = bmp;
Image1.ImageUrl = "image.aspx";
}
Session["flack"] = 2;
Menu1.Items[0].Enabled = true ;
Menu1.Items[1].Enabled = false;
Menu1.Items[2].Enabled = true;
Menu1.Items[3].Enabled = false;
this.Image1.Visible = true;
this.TxtApellidoPat.Focus();
60 2.3.3. Administración
2.3.3.1. Código para Habilitar Fecha de Ingreso de Notas en el Sistema
El siguiente código va a permitir controlar las fechas de ingreso de notas por parte de los
docentes, las notas corresponden a todas las parciales, faltas, talleres y supletorios.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
publicpartialclassFechas_Ingreso_Notas_ingFechasNotas : System.Web.UI.Page
{
staticCfechas_ingNotas claseFechas = newCfechas_ingNotas();
staticPerFechas_ingNotas persistenciaFechas = newPerFechas_ingNotas();
Object usuarioact = Session["logged"];
if (usuarioact == null)
{
Response.Redirect("../errorpage.aspx");
return;
61
if (!IsPostBack)
cargarFechas();
}
privatevoid cargarFechas()
{
ArrayList args = newArrayList();
args.Add(Session["cod_periodo"].ToString());
this.MltFechas.ActiveViewIndex = 0;
datos = con.TraerDatos("Select * from Fechas_ingNotas where cod_periodo=@1",
args).Tables[0];
this.GrdTodos.DataSource =
persistenciaFechas.SelFechas_ingNotas(int.Parse(Session["cod_periodo"].ToString()));
this.GrdTodos.DataBind();
if (this.GrdTodos.Rows.Count == 0)
{
this.Menu1.Items[1].Enabled = true;
Menu1.Items[0].Enabled = false;
Menu1.Items[2].Enabled = false;
Menu1.Items[3].Enabled = true;
}
else
{
this.Menu1.Items[1].Enabled = false;
Menu1.Items[0].Enabled = false;
62 Menu1.Items[3].Enabled = true;
}
}
protectedvoid Menu1_MenuItemClick1(object sender, MenuEventArgs e)
{
switch (e.Item.Value)
{
case"Nuevo":
this.MltFechas.ActiveViewIndex = 1; //activo el view 2 posicion 1
Menu1.Items[0].Enabled = true;
Menu1.Items[1].Enabled = false;
Menu1.Items[2].Enabled = true;
Menu1.Items[3].Enabled = false;
Session["flack"] = 1; //creo un objeto session para usarlo cada vez que
escoja una opcion guardar, modificar
this.TxtFechaInicioB1.Text = "";
this.TxtFechaFin1.Text = "";
this.TxtFechaInicioB2.Text = "";
this.TxtFechaFin2.Text = "";
this.TxtFechaInicioB3.Text = "";
this.TxtFechaFin3.Text = "";
this.TxtFechaSupInicio.Text = "";
this.TxtFechaSupFin.Text = "";
this.TxtFechaInicioB1.Focus();
63
case"Guardar":
if (TxtFechaInicioB1.Text == "" || TxtFechaFin1.Text == "" || TxtFechaInicioB2.Text
== "" || TxtFechaFin2.Text == "" || TxtFechaInicioB3.Text == "" || TxtFechaFin3.Text
== "" || TxtFechaSupInicio.Text == "" || TxtFechaSupFin.Text == "")
{
try
{
cargarFechas();
}
catch (Exception ex)
{
thrownewException("Ingrese todos los datos solicitados" + ex.Message);
}
this.MsgBox1.ShowMessage("Registro vacio, no se guardará");
return;
ArrayList argtmp = newArrayList();
if (this.Session["flack"].ToString() == "1")
{
claseFechas._Cod_periodo = Int16.Parse(this.CmbPeriodo.SelectedValue);
claseFechas._Fechab1_inicio = DateTime.Parse(this.TxtFechaInicioB1.Text);
claseFechas._Fechab1_fin = DateTime.Parse(this.TxtFechaFin1.Text);
claseFechas._Fechab2_inicio = DateTime.Parse(this.TxtFechaInicioB1.Text);
claseFechas._Fechab2_fin = DateTime.Parse(this.TxtFechaFin1.Text);
claseFechas._Fechab3_inicio = DateTime.Parse(this.TxtFechaInicioB1.Text);
64
claseFechas._FechaSup_inicio = DateTime.Parse(this.TxtFechaSupInicio.Text);
claseFechas._FechaSup_fin = DateTime.Parse(this.TxtFechaSupFin.Text);
persistenciaFechas.NregFechas_ingNotas(claseFechas);
this.GrdTodos.DataSource =
persistenciaFechas.SelFechas_ingNotas(int.Parse(Session["cod_periodo"].ToString()));
this.GrdTodos.DataBind();
cargarFechas();
break;
}
case"Salir":
Response.Redirect("~/centro.htm");
break;
case"Deshacer":
this.MltFechas.ActiveViewIndex = 0;
Menu1.Items[0].Enabled = false;
Menu1.Items[1].Enabled = true;
Menu1.Items[2].Enabled = false;
Menu1.Items[3].Enabled = true;
break;
}
}
65
2.4 Pruebas
2.4.1 Diseño de Interfaces
Formulario de Presentación: Portada principal del sistema del “Colegio Nacional “Carlos Martínez Acosta”.
Figura1: Pantalla principal del sistema
Formulario Acceso de Usuarios: Permite el acceso a usuarios y tiene los siguientes campos:
Usuario y contraseña (Password).
66
Pantalla de Ingreso del Administrador: Muestra todas las opciones que puede realizar la Secretaria en el Sistema.
Figura3: Opciones del administrador del sistema
Formulario Datos de la Institución: Aquí podrá revisar e informarse de todos los datos del
colegio
Figura4: Visualización de los datos del colegio
Materias: Permite mostrar, editar, eliminar asignaturas las cuales están identificadas por un
código
.
67
Aula: Ayuda a verificar las aulas que dispone el colegio.
Figura6: Aulas
Secciones: Indica las secciones que cuenta el colegio matutina, vespertina o nocturna.
Figura7: Secciones del colegio
Fecha de Ingreso de Notas: Permite activar y bloquear las fechas para el ingreso de notas.
68
Búsqueda Inteligente de Estudiantes: Buscar todas las opciones que contenga la letra
ingresada.
Figura9: Búsqueda inteligente
Formulario de Inscripción de Estudiantes: Muestra la lista de los datos que debe ingresar
los que están con asterisco son obligatorios.
Figura10: Inscripción de estudiantes
Formulario de Matrícula del Estudiante: Aquí visualiza al estudiante que está matriculado
con su respectiva foto.
69
Boletín de Perdidos el Año: Permite ver las notas de los estudiantes que han perdido el año
con las asignaturas correspondientes.
Figura12: Boletín de perdidos el año
Certificado de Asistencia: Permite extender certificados de asistencia de los estudiantes.
Figura13: Certificados de asistencia
Carnet Estudiantil: Permite imprimir el carnet de identificación del estudiante donde consta
el año, curso, foto y número de cédula.
70
Pase de Nivel: Reporte de pase de nivel que lo puede imprimir con sus respectivos datos.
Figura15: Formulario de pase de año
Formulario Listado de Estudiantes: Permite ver a los estudiantes matriculados en un curso
determinado.
Figura16: Formulario de estudiantes de cada curso
Formulario de Registro de Notas: Permite que los docentes ingresen las notas en las fechas
indicadas por la secretaria.