Sistema de Matricula AUV
-
Upload
alejandro-mesen -
Category
Documents
-
view
270 -
download
0
Transcript of Sistema de Matricula AUV
Sistema de Matricula AUV
Universidad del ValleTécnicas de ProgramaciónIng. Arturo Ulate Vargas
Eduardo Campos Alvarado304010699
Alejandro Mesén García110020999
Agosto 2010
Sistema de Matricula AUV
Índice
Introduccion 3
Objetivos 4
Detalle del proyecto 5
Diagramas del proceso 6
Entrevista al director de la Universidad 7
Diseño del sistema 12Diseño de bases de datos 12
Codificacion 18
Conclusiones 33
Página 2
Sistema de Matricula AUV
Introducción
El presente documento tiene como propósito detallar el análisis de requerimientos para el desarrollo del sistema de matrícula de la Universidad A.U.V.
Se espera brindar un detalle amplio de cada uno de los componentes y de la solución propuesta para este sistema. Se toman en cuenta aspectos tales como interfaz grafica, bases de datos, lenguaje de programación, etc.
Este documento a su vez funcionará como guía y documentación externa del sistema ya que incluye el detalle de los procesos y flujos de datos básicos para su correcto funcionamiento así como las posibles convenciones utilizadas en la codificación.
Página 3
Sistema de Matricula AUV
Objetivos
Objetivo General
Detallar las generalidades del desarrollo del sistema de matrícula para la Universidad A.U.V. Contemplando cada uno de los requisitos establecidos durante el análisis de las necesidades y procesos críticos del sistema
Objetivos Específicos
Diseñar los procesos a utilizar para el desarrollo del sistema
Diseñar la base de datos relacional y el modelo de datos a utilizar en el sitema.
Página 4
Sistema de Matricula AUV
Detalle del proyecto
Se debe desarrollar un sistema de matrícula para la Universidad A.U.V. quienes necesitan actualizar su sistema informático actual el cual ha dejado de ser práctico y ha generado muchas incongruencias en los registros.
Para el desarrollo de este sistema se facilitan las siguientes indicaciones o procesos:
Si una persona no es estudiante, no puede matricular.
Si la persona es estudiante pero tiene deudas, primero deberá liquidar sus deudas o de lo contrario no podrá matricular.
Un estudiante puede estar sólo en una carrera a la vez, por lo que no puede matricular materias de una carrera que no sea la suya.
Las materias se ganan con una nota superior o igual a 70.
Si una materia es ganada, entonces la misma no se podrá matricular nuevamente.
Si una materia x tiene como requisito haber ganado otra materia y, entonces el estudiante no podrá matricular la materia x al menos que haya ganado la materia y. Si existe una autorización del rector o del director de carrera, entonces se le permitirá la matricula de la materia x sin haber aprobado la materia y.
No se pueden matricular dos materias que coincidan en el mismo día y a la misma hora.
Cada estudiante debe de tener un identificador único que lo identifique dentro de la Universidad para fines administrativos.
Página 5
Sistema de Matricula AUV
El sistema debe de tener una lista de usuarios autorizados a utilizar el mismo, y cada uno de ellos con un rol específico (usuario administrativo, supervisor, rector, director de carrera, administrador del sistema).
Cuando el estudiante matricula, deberá pagar la sumatoria del monto correspondiente a la matricula y al costo de las materias deseadas. Una vez hecho el pago, el sistema le deberá imprimir un comprobante por dicho pago.
El sistema debe de imprimir los siguientes reportes:
Listado alfabético de estudiantes. Listado alfabético de profesores. Listado alfabético de directores. Programas de estudio por materia. Programas de estudio por carrera. Estudiantes con obligaciones económicas pendientes. Estudiantes por carrera o curso. Listado general de aranceles.
El sistema debe de contemplar todo tipo de validaciones, de forma que no permita a un usuario hacer algo que infrinja alguno de los puntos anteriores.
Cada uno de los cursos debe de tener una clase asignada.
Se utilizara la estructura en cascada para la realización del proyecto, debido a que es la forma más ordenada y rápida para la realización de este proyecto.
Página 6
Sistema de Matricula AUV
Entrevista al director de la Universidad: Ing. Arturo Ulate Vargas
Analista: Se necesita ingresar alumnos, usuarios y profesores al sistema?
Director: Si, es necesario que los usuarios de los sistemas puedan hacer ingresos de estudiantes nuevos, de profesores. Ademas se necesitan crear usuarios con distintos tipos de accesos, por ejemplo, los jefes o directores podrán sacar reportes, los usuarios de la administración podrán ingresar estudiantes nuevos, pero no podrán ser borrados.
Analista: Cual seria la capacidad máxima de un grupo?
Director: Eso dependerá del aula asignada, hay aulas de distintos tamaños, nosotros hacemos un estimado de los alumnos que matricularan y asi se sabra cuantos alumnos caben por aula, nosotros le suministramos la cantidad de alumnos por aula.
Analista: Como será el sistema de cobro?
Director: Se recibirá un monto de matricula, y por cada materia será otro monto, también hay que hacer una separación de materias llevadas por suficiencia.
Analista: Que métodos de pago se aceptaran?
Director: Se recibirán pagos en efectivo, tarjeta de crédito y el método de letra de cambio, el cual consiste en tres pagos en el transcurso del ciclo lectivo.
Página 7
Sistema de Matricula AUV
Análisis de requerimientos
Diagramas de procesos
A través del análisis de la solicitud, así como de las distintas consultas realizadas se ha logrado detallar los procesos que se utilizan actualmente en la realización de la matrícula de estudiantes, además se han hecho observaciones para mejorar ciertos aspectos las cuales fueron sometidas al criterio del solicitantes para ser incluidas en los diagramas de flujo de datos.
A continuación se detallan los procesos considerados de mayor importancia para el desarrollo del sistema.
Página 8
Sistema de Matricula AUV
Página 9
Sistema de Matricula AUV
Página 10
Sistema de Matricula AUV
Página 11
Sistema de Matricula AUV
Diseño del Sistema
Diseño de la base de datos
Posterior al levantamiento, desarrollo y entendimiento de los diferentes flujos de información del sistema se procede a diseñar un modelo de base de datos relacional que satisfaga las necesidades de cada proceso involucrado en la matrícula de estudiantes.
A continuación se detallan las tablas y campos de la base de datos creada para el sistema:
Definición de tablas
Tabla: ARANCELESNombre Tipo Tamaño
idArancel Entero largo 4
descripcion Texto 30
monto Entero largo 4
Tabla: AULANombre Tipo Tamaño
idAula Entero largo 4
descripcion Texto 20
pabellon Texto 1
cupo Entero 2
Tabla: CARRERANombre Tipo Tamaño
idCarrera Texto 6
descripcion Texto 70
Tabla: CONVENIOSNombre Tipo Tamaño
idConvenio Entero largo 4
entidad Texto 50
descuento Entero largo 4
Página 12
Sistema de Matricula AUV
Tabla: CUATRIMESTRENombre Tipo Tamaño
idCuatrimestre Entero 2
descripcion Texto 20
Tabla: CUENTAS_POR_COBRARNombre Tipo Tamaño
idCuenta Entero largo 4
idEstudiante Texto 6
monto Doble 8
estado Byte 1
Tabla: CURSONombre Tipo Tamaño
idCurso Texto 6
nombre Texto 50
contenido Texto 50
Tabla: CURSOS_POR_CUATRIMESTRENombre Tipo Tamaño
idCurso Texto 6
idAula Entero largo 4
idHorario Entero largo 4
idCuatrimestre Entero 2
anno Entero 2
estado Byte 1
idProfesor Texto 6
cupo Entero 2
Página 13
Sistema de Matricula AUV
Tabla: CURSOS_POR_ESTUDIANTENombre Tipo Tamaño
idEstudiante Texto 6
idCurso Texto 6
nota Decimal 16
anno Entero 2
idcuatrimestre Entero 2
estado Byte 1
idArancel Entero largo 4
idUsuario Texto 6
idAutoriza Texto 6
Tabla: ESTUDIANTENombre Tipo Tamaño
idEstudiante Texto 6
idCarrera Texto 6
cedula Texto 15
nombre Texto 20
apellido1 Texto 20
apellido2 Texto 20
direccion Texto 120
email Texto 40
telefonoFijo Texto 8
telefonoCelular Texto 8
fechaNacimiento Fecha/Hora 8
idconvenio Entero largo 4
Tabla: ESTUDIANTES_POR_CARRERANombre Tipo Tamaño
idEstudiante Texto 6
idCarrera Texto 6
estado Byte 1
Página 14
Sistema de Matricula AUV
Tabla: HORARIONombre Tipo Tamaño
idHorario Entero largo 4
dia Texto 10
inicio Fecha/Hora 8
fin Fecha/Hora 8
Tabla: PROFESORNombre Tipo Tamaño
idProfesor Texto 6
cedula Texto 15
nombre Texto 20
apellido1 Texto 20
apellido2 Texto 20
direccion Texto 120
email Texto 40
telefonoFijo Texto 8
telefonoCelular Texto 8
fechaNacimiento Fecha/Hora 8
Tabla: PROGRAMANombre Tipo Tamaño
idCarrera Texto 6
idCurso Texto 6
cuatrimestre Entero largo 4
estado Byte 1
Tabla: REQUISITOS_POR_CURSONombre Tipo Tamaño
idCurso Texto 6
idRequisito Texto 6
Página 15
Sistema de Matricula AUV
Tabla: USUARIONombre Tipo Tamaño
idUsuario Texto 6
puesto Texto 20
tipoUsuario Texto 20
contraseña Texto 15
estado Byte 1
cedula Texto 15
nombre Texto 20
apellido1 Texto 20
apellido2 Texto 20
direccion Texto 120
email Texto 40
telefonoFijo Texto 8
TelefonoCelular Texto 8
fechaNacimiento Fecha/Hora 8
idCarrera Texto 6
Página 16
Sistema de Matricula AUV
Diagrama de Entidad - Relación
Página 17
Sistema de Matricula AUV
Codificación
'------------------------------------------------------------------------------------------------------------------------------------------------------------------'Curso: Técnicas de programación'II Cuatrimestre 2010'Creado por: Eduardo Campos y Alejandro Mesén
'Clase para el manejo de conexiones a la base de datos y manipulación de información'------------------------------------------------------------------------------------------------------------------------------------------------------------------Public Class capa_Logica
'Estructura para el manejode información de cursos en la ventana de requisitos Public Structure Curso <VBFixedString(6)> Public idCurso As String <VBFixedString(50)> Public nombre As String End Structure
'Método utilizado para incluir en la BD la información de cursos Public Sub insertarCurso(ByVal idCurso, ByVal nombre, ByVal contenido)
Try Dim conn As OleDb.OleDbConnection
Dim strConnectString = "Provider= Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=C:\Universidad.accdb;Persist Security Info=false"
conn = New OleDb.OleDbConnection(strConnectString)
Dim st As String Dim cmd As OleDb.OleDbCommand
st = "INSERT INTO CURSO(idCurso,nombre,contenido) values('" + idCurso + "','" + nombre + "','" + contenido + "');"
cmd = New OleDb.OleDbCommand(st, conn)
'Abrir la conexion conn.Open()
'Ejecutar Dim respuesta As Integer respuesta = cmd.ExecuteNonQuery()
'CERRAR LA CONEXION conn.Close()
Página 18
Sistema de Matricula AUV
MessageBox.Show("El curso ha sido incluido correctamente", "Inclusión exitosa", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception MessageBox.Show(ex.Message) End Try
End Sub
'Método utilizado para modificar en la BD la información de cursos Public Sub modificarCurso(ByVal curso, ByVal nombre, ByVal contenido)
Dim conn As OleDb.OleDbConnection
Try Dim strConnectString = "Provider= Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=C:\Universidad.accdb;Persist Security Info=false"
conn = New OleDb.OleDbConnection(strConnectString)
Dim st As String Dim cmd As OleDb.OleDbCommand
st = "UPDATE CURSO SET nombre='" + nombre + "',contenido='" + contenido + "' WHERE idCurso ='" + curso + "';"
cmd = New OleDb.OleDbCommand(st, conn)
'Abrir la conexion conn.Open()
'Ejecutar
Dim respuesta As Integer respuesta = cmd.ExecuteNonQuery()
'CERRAR LA CONEXION conn.Close()
MessageBox.Show("El curso ha sido modificado correctamente", "Modificación exitosa", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception MessageBox.Show(ex.Message) conn.Close()
End Try End Sub
'Función utilizada para cargar en una lista el codigo y nombre de cada registro en la tabla de CURSOS de la BD Public Function cargarCursos() As List(Of Curso) Dim conn As OleDb.OleDbConnection Dim listaCursos As List(Of Curso) = New List(Of Curso)
Página 19
Sistema de Matricula AUV
Try Dim strConnectString = "Provider= Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=C:\Universidad.accdb;Persist Security Info=false"
conn = New OleDb.OleDbConnection(strConnectString)
Dim st As String Dim cmd As OleDb.OleDbCommand
st = "SELECT idCurso,nombre FROM CURSO;"
cmd = New OleDb.OleDbCommand(st, conn)
'Abrir la conexion conn.Open()
'Ejecutar
Dim reader As OleDb.OleDbDataReader reader = cmd.ExecuteReader()
While reader.Read() <> False Dim curso As Curso = New Curso()
curso.idCurso = reader.GetString(0) curso.nombre = reader.GetString(1)
listaCursos.Add(curso)
End While
'CERRAR EL READER reader.Close() 'CERRAR LA CONEXION conn.Close()
Catch ex As Exception MessageBox.Show(ex.Message) conn.Close()
End Try
Return listaCursos End Function
'Método utlizado para insertar el requisito de un curso en la BD Public Sub insertarRequisito(ByVal idCurso, ByVal idRequisito)
Try Dim conn As OleDb.OleDbConnection
Dim strConnectString = "Provider= Microsoft.ACE.OLEDB.12.0;" + _
Página 20
Sistema de Matricula AUV
"Data Source=C:\Universidad.accdb;Persist Security Info=false"
conn = New OleDb.OleDbConnection(strConnectString)
Dim st As String Dim cmd As OleDb.OleDbCommand
st = "INSERT INTO REQUISITOS_POR_CURSO(idCurso,idRequisito) values('" + idCurso + "','" + idRequisito + "');"
cmd = New OleDb.OleDbCommand(st, conn)
'Abrir la conexion conn.Open()
'Ejecutar Dim respuesta As Integer respuesta = cmd.ExecuteNonQuery()
'CERRAR LA CONEXION conn.Close()
MessageBox.Show("El requisito ha sido incluido correctamente", "Inclusión exitosa", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception MessageBox.Show(ex.Message) End Try
End Sub
'Método utilizado para modificar el requisito de un curso en la BD Public Sub modificarRequisito(ByVal curso, ByVal requisito)
Dim conn As OleDb.OleDbConnection
Try Dim strConnectString = "Provider= Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=C:\Universidad.accdb;Persist Security Info=false"
conn = New OleDb.OleDbConnection(strConnectString)
Dim st As String Dim cmd As OleDb.OleDbCommand
st = "UPDATE REQUISITOS_POR_CURSO SET idRequisito='" + requisito + "' WHERE idCurso ='" + curso + "';"
cmd = New OleDb.OleDbCommand(st, conn)
'Abrir la conexion conn.Open()
Página 21
Sistema de Matricula AUV
'Ejecutar
Dim respuesta As Integer respuesta = cmd.ExecuteNonQuery()
'CERRAR LA CONEXION conn.Close()
MessageBox.Show("El curso ha sido modificado correctamente", "Modificación exitosa", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception MessageBox.Show(ex.Message) conn.Close()
End Try End Sub
'Método utilizado para insertar la información de una carrera en la BD Public Sub insertarCarrera(ByVal idCarrera, ByVal descripcion)
Try Dim conn As OleDb.OleDbConnection
Dim strConnectString = "Provider= Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=C:\Universidad.accdb;Persist Security Info=false"
conn = New OleDb.OleDbConnection(strConnectString)
Dim st As String Dim cmd As OleDb.OleDbCommand
st = "INSERT INTO CARRERA(idCarrera,descripcion) values('" + idCarrera + "','" + descripcion + "');"
cmd = New OleDb.OleDbCommand(st, conn)
'Abrir la conexion conn.Open()
'Ejecutar Dim respuesta As Integer respuesta = cmd.ExecuteNonQuery()
'CERRAR LA CONEXION conn.Close()
MessageBox.Show("La carrera ha sido incluida correctamente", "Inclusión exitosa", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception MessageBox.Show(ex.Message) End Try
Página 22
Sistema de Matricula AUV
End Sub
'Método utilizado para insertar información de cuatrimestres en la BD Public Sub insertarCuatrimestre(ByVal idCuatrimestre, ByVal descripcion)
Try Dim conn As OleDb.OleDbConnection
Dim strConnectString = "Provider= Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=C:\Universidad.accdb;Persist Security Info=false"
conn = New OleDb.OleDbConnection(strConnectString)
Dim st As String Dim cmd As OleDb.OleDbCommand
st = "INSERT INTO CUATRIMESTRE(idCuatrimestre,descripcion) values(" + idCuatrimestre + ",'" + descripcion + "');"
cmd = New OleDb.OleDbCommand(st, conn)
'Abrir la conexion conn.Open()
'Ejecutar Dim respuesta As Integer respuesta = cmd.ExecuteNonQuery()
'CERRAR LA CONEXION conn.Close()
MessageBox.Show("El cuatrimestre ha sido incluido correctamente", "Inclusión exitosa", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception MessageBox.Show(ex.Message) End Try
End Sub
'Método utilizado para insertar información de convenios en la BD Public Sub insertarConvenio(ByVal idConvenio, ByVal entidad, ByVal descuento)
Try Dim conn As OleDb.OleDbConnection
Dim strConnectString = "Provider= Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=C:\Universidad.accdb;Persist Security Info=false"
conn = New OleDb.OleDbConnection(strConnectString)
Página 23
Sistema de Matricula AUV
Dim st As String Dim cmd As OleDb.OleDbCommand
st = "INSERT INTO CONVENIOS(idConvenio,entidad,descuento) values(" + idConvenio + ",'" + entidad + "'," + descuento + ");"
cmd = New OleDb.OleDbCommand(st, conn)
'Abrir la conexion conn.Open()
'Ejecutar Dim respuesta As Integer respuesta = cmd.ExecuteNonQuery()
'CERRAR LA CONEXION conn.Close()
MessageBox.Show("El convenio ha sido incluido correctamente", "Inclusión exitosa", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception MessageBox.Show(ex.Message) End Try
End Sub
'Método utilizado para modificar información de convenios Public Sub modificarConvenio(ByVal idConvenio, ByVal descuento)
Dim conn As OleDb.OleDbConnection
Try Dim strConnectString = "Provider= Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=C:\Universidad.accdb;Persist Security Info=false"
conn = New OleDb.OleDbConnection(strConnectString)
Dim st As String Dim cmd As OleDb.OleDbCommand
st = "UPDATE CONVENIOS SET descuento=" + descuento + " WHERE idConvenio =" + idConvenio + ";"
cmd = New OleDb.OleDbCommand(st, conn)
'Abrir la conexion conn.Open()
'Ejecutar
Dim respuesta As Integer respuesta = cmd.ExecuteNonQuery()
Página 24
Sistema de Matricula AUV
'CERRAR LA CONEXION conn.Close()
MessageBox.Show("El convenio ha sido modificado correctamente", "Modificación exitosa", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception MessageBox.Show(ex.Message) conn.Close()
End Try End Sub
'Función utilizada para cargar el id y descripcion de carreras en una lista de tipo String Public Function cargarCarreras() As List(Of String) Dim conn As OleDb.OleDbConnection Dim listaCarreras As List(Of String) = New List(Of String)
Try Dim strConnectString = "Provider= Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=C:\Universidad.accdb;Persist Security Info=false"
conn = New OleDb.OleDbConnection(strConnectString)
Dim st As String Dim cmd As OleDb.OleDbCommand
st = "SELECT idCarrera,descripcion FROM CARRERA;"
cmd = New OleDb.OleDbCommand(st, conn)
'Abrir la conexion conn.Open()
'Ejecutar
Dim reader As OleDb.OleDbDataReader reader = cmd.ExecuteReader()
While reader.Read() <> False Dim carrera As String = reader.GetString(0) + " " + reader.GetString(1)
listaCarreras.Add(carrera)
End While
'CERRAR EL READER reader.Close() 'CERRAR LA CONEXION conn.Close()
Catch ex As Exception
Página 25
Sistema de Matricula AUV
MessageBox.Show(ex.Message) conn.Close()
End Try
Return listaCarreras End Function
'Función utilizada para cargar el id y la entidad de convenios en una lista de tipo String Public Function cargarConvenios() As List(Of String) Dim conn As OleDb.OleDbConnection Dim listaConvenios As List(Of String) = New List(Of String)
Try Dim strConnectString = "Provider= Microsoft.ACE.OLEDB.12.0;" + _ "Data Source=C:\Universidad.accdb;Persist Security Info=false"
conn = New OleDb.OleDbConnection(strConnectString)
Dim st As String Dim cmd As OleDb.OleDbCommand
st = "SELECT idConvenio,entidad FROM CONVENIOS;"
cmd = New OleDb.OleDbCommand(st, conn)
'Abrir la conexion conn.Open()
'Ejecutar
Dim reader As OleDb.OleDbDataReader reader = cmd.ExecuteReader()
While reader.Read() <> False Dim convenio As String = reader.GetInt32(0).ToString() + " " + reader.GetString(1)
listaConvenios.Add(convenio)
End While
'CERRAR EL READER reader.Close() 'CERRAR LA CONEXION conn.Close()
Catch ex As Exception MessageBox.Show(ex.Message) conn.Close()
End Try
Return listaConvenios
Página 26
Sistema de Matricula AUV
End Function
End Class
Public Class ventanaAcerca
'Evento click del botón aceptar que se encarga de cerrar la ventana Private Sub btnAceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAceptar.Click Me.Dispose() Me.Close() End Sub
End Class
Public Class ventanaCarrera 'Evento click del botón Aceptar que se encarga de insertar los datos de la carrera en la BD Private Sub btnAceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAceptar.Click 'Instancia lógica para acceso a la BD Dim conexion As capa_Logica = New capa_Logica() conexion.insertarCarrera(txtCodigo.Text, txtNombre.Text) End Sub
'Evento click del botón cancelar para cerrar la ventana Private Sub btnCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancelar.Click Me.Dispose() Me.Close() End SubEnd Class
Public Class ventanaConvenio 'Evento click del botón cancelar para cerrar la ventana Private Sub btnCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancelar.Click Me.Dispose() Me.Close() End Sub
'Evento click del botón aceptar para crear o modificar un convenio Private Sub btnAceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAceptar.Click Dim conexion As capa_Logica = New capa_Logica()
If rbtCrearConvenio.Checked Then conexion.insertarConvenio(txtCodigo.Text, txtNombre.Text, txtDescuento.Text) Else conexion.modificarConvenio(txtCodigo.Text, txtDescuento.Text) End If
Página 27
Sistema de Matricula AUV
End SubEnd Class
Public Class ventanaCuatrimestre 'Método utilizado para limpiar los campos de texto en la ventana Private Sub limpiar() txtCodigo.Text = "" txtNombre.Text = "" End Sub 'Evento click del botón aceptar utilizado para lamacenar la información del cuatrimestre en la BD Private Sub btnAceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAceptar.Click 'Instancia lógica para acceso a la BD Dim conexion As capa_Logica = New capa_Logica() conexion.insertarCuatrimestre(txtCodigo.Text, txtNombre.Text) limpiar() End Sub
'Evento click del botón cancelar para cerrar la ventana Private Sub btnCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancelar.Click Me.Dispose() Me.Close() End SubEnd Class
Public Class ventanaCursos 'Método utilizado para limpiar los campos de texto de la ventana Private Sub limpiar() txtCodigo.Text = "" txtNombre.Text = "" txtContenido.Text = "C:\" End Sub
'Evento click del botón aceptar para insertar o modificar un curso en la BD Private Sub btnAceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAceptar.Click 'Instancia lógica para acceso a la BD Dim conexion As capa_Logica = New capa_Logica()
If rbtCrearCurso.Checked Then conexion.insertarCurso(txtCodigo.Text, txtNombre.Text, txtContenido.Text) limpiar() Else If rbtModificarCurso.Checked Then conexion.modificarCurso(txtCodigo.Text, txtNombre.Text, txtContenido.Text) limpiar() Else
Página 28
Sistema de Matricula AUV
MessageBox.Show("Debe seleccionar alguna acción.", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If End If End Sub
'Evento click del botón cancelar para cerrar la ventana Private Sub btnCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancelar.Click Me.Dispose() Me.Close() End SubEnd Class
Public Class ventanaEstudiantes 'lista para manejo de informacion de carreras Dim listaCarreras As List(Of String) = New List(Of String) 'lista para manejo de informacion de convenios Dim listaConvenios As List(Of String) = New List(Of String) 'Instancia logica para acceso a la BD Dim conexion As capa_Logica = New capa_Logica()
'Evento click del botón cancelar para cerrar la ventana Private Sub btnCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancelar.Click Me.Dispose() Me.Close() End Sub
'Evento load de la ventana encargado de cargar la informacion de carreras y convenios en los comboboxes Private Sub ventanaEstudiantes_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load listaCarreras = conexion.cargarCarreras() listaConvenios = conexion.cargarConvenios()
'cargar combobox de convenios For i As Integer = 0 To listaConvenios.Count - 1 cbConvenio.Items.Add(listaConvenios(i)) Next
'cargar combobox de carreras For i As Integer = 0 To listaCarreras.Count - 1 cbCarrera.Items.Add(listaCarreras(i)) Next
End Sub
End Class
Public Class ventanaRequisitos 'lista para manejo de informacion de cursos
Página 29
Sistema de Matricula AUV
Dim listaCursos As List(Of capa_Logica.Curso) = New List(Of capa_Logica.Curso) Dim conexion As capa_Logica = New capa_Logica()
Private Sub ventanaRequisitos_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load listaCursos = conexion.cargarCursos()
'cargar combobox de cursos y requisitos For Each curso As capa_Logica.Curso In listaCursos cbCurso.Items.Add(curso.idCurso) cbRequisito.Items.Add(curso.idCurso) Next
End Sub
'funcion encargada de buscar el nombre del curso por medio de su codigo Private Function buscarNombre(ByVal id As String) As String Dim nombre As String = ""
For i As Integer = 0 To listaCursos.Count()
If listaCursos(i).idCurso.Equals(id) Then nombre = listaCursos(i).nombre Exit For End If Next Return nombre End Function
Private Sub cbCurso_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbCurso.SelectedIndexChanged txtCurso.Text = buscarNombre(cbCurso.Text) End Sub
Private Sub cbRequisito_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbRequisito.SelectedIndexChanged txtRequisito.Text = buscarNombre(cbRequisito.Text) End Sub
Private Sub btnCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancelar.Click Me.Dispose() Me.Close() End Sub
Private Sub btnAceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAceptar.Click If rbtNuevoRequisito.Checked Then conexion.insertarRequisito(cbCurso.Text, cbRequisito.Text) Else conexion.modificarRequisito(cbCurso.Text, cbRequisito.Text) End If
Página 30
Sistema de Matricula AUV
End SubEnd Class
'------------------------------------------------------------------------------------------------------------------------------------------------------------------'Curso: Técnicas de programación'II Cuatrimestre 2010'Creado por: Eduardo Campos y Alejandro Mesén
'------------------------------------------------------------------------------------------------------------------------------------------------------------------
Public Class ventanaPrincipal
'Este módulo se utiliza para acceder a las diferentes pantallas del sistema. 'En cada item del men''u se utiliza una instancia llamada modulo para crear la nueva ventana según el item seleccionado en el menú 'Luego se utiliza la propieda visible para mostrar la nueva ventana Private Sub CrearCarreraToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CrearCarreraToolStripMenuItem.Click Dim modulo As ventanaCarrera = New ventanaCarrera() modulo.Visible = True End Sub
Private Sub CrearOModificarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CrearOModificarToolStripMenuItem.Click Dim modulo As ventanaCursos = New ventanaCursos() modulo.Visible = True End Sub
Private Sub CrearOModificarRequisitosToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CrearOModificarRequisitosToolStripMenuItem.Click Dim modulo As ventanaRequisitos = New ventanaRequisitos() modulo.Visible = True End Sub
Private Sub ConveniosToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ConveniosToolStripMenuItem.Click Dim modulo As ventanaConvenio = New ventanaConvenio() modulo.Visible = True End Sub
Private Sub CuatrimestresToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CuatrimestresToolStripMenuItem.Click Dim modulo As ventanaCuatrimestre = New ventanaCuatrimestre() modulo.Visible = True End Sub
Página 31
Sistema de Matricula AUV
Private Sub SalirToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SalirToolStripMenuItem1.Click Me.Dispose() Me.Close() End Sub
Private Sub lblAcerca_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles lblAcerca.LinkClicked Dim modulo As ventanaAcerca = New ventanaAcerca() modulo.Visible = True End Sub
Private Sub CrearOModificarEstudiantesToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CrearOModificarEstudiantesToolStripMenuItem.Click Dim modulo As ventanaEstudiantes = New ventanaEstudiantes() modulo.Visible = True End Sub
Private Sub ModificarEstudiantesToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ModificarEstudiantesToolStripMenuItem.Click Dim modulo As ventanaEstudiantes2 = New ventanaEstudiantes2() modulo.Visible = True End Sub
Private Sub CrearOModificarProfesoresToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CrearOModificarProfesoresToolStripMenuItem.Click Dim modulo As ventanaProfesores = New ventanaProfesores() modulo.Visible = True End Sub
Private Sub ModificarProfesoresToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ModificarProfesoresToolStripMenuItem.Click Dim modulo As ventanaProfesores2 = New ventanaProfesores2 modulo.Visible = True End SubEnd Class
Página 32
Sistema de Matricula AUV
Conclusiones
A pesar de que el sistema no es funcional actualmente se posee un diseño con el cual se puede llegar a desarrollar, ya que por factores de tiempo no fue posible su codificación completa.
La experiencia adquirida durante el desarrollo del proyecto ha sido de provecho ya que fue complementada con el curso de Análisis de Sistemas para lograr desarrollar un modelo de información satisfactorio. No obstante el sistema solicitado es un poco extenso por todas las variables que maneja y debe tomar en cuenta, razón por la cual no fue posible su implementación.
Se aplicaron las técnicas sugeridas en clase para el desarrollo de una buena codificación que sea entendible y bien estructurada.
El lenguaje seleccionado fue Visual Basic .Net ya que es el que mejor se conoce y permite por lo tanto realizar tareas con mayor facilidad, además de que su apartado gráfico de fácil programación.
El motor de base de datos utilizado ha sido Microsoft Access ya que al igual que el lenguaje es la herramienta que más se conoce y que mejor se puede manejar en relación a nuestro conocimiento.
Página 33