40
Sistema de Matricula AUV Universidad del Valle Técnicas de Programación Ing. Arturo Ulate Vargas Eduardo Campos Alvarado 304010699 Alejandro Mesén García 110020999 Agosto 2010

Sistema de Matricula AUV

Embed Size (px)

Citation preview

Page 1: 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

Page 2: Sistema de Matricula AUV

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

Page 3: Sistema de Matricula AUV

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

Page 4: Sistema de Matricula AUV

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

Page 5: Sistema de Matricula AUV

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

Page 6: Sistema de Matricula AUV

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

Page 7: Sistema de Matricula AUV

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

Page 8: Sistema de Matricula AUV

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

Page 9: Sistema de Matricula AUV

Sistema de Matricula AUV

Página 9

Page 10: Sistema de Matricula AUV

Sistema de Matricula AUV

Página 10

Page 11: Sistema de Matricula AUV

Sistema de Matricula AUV

Página 11

Page 12: Sistema de Matricula AUV

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

Page 13: Sistema de Matricula AUV

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

Page 14: Sistema de Matricula AUV

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

Page 15: Sistema de Matricula AUV

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

Page 16: Sistema de Matricula AUV

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

Page 17: Sistema de Matricula AUV

Sistema de Matricula AUV

Diagrama de Entidad - Relación

Página 17

Page 18: Sistema de Matricula AUV

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

Page 19: Sistema de Matricula AUV

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

Page 20: Sistema de Matricula AUV

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

Page 21: Sistema de Matricula AUV

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

Page 22: Sistema de Matricula AUV

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

Page 23: Sistema de Matricula AUV

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

Page 24: Sistema de Matricula AUV

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

Page 25: Sistema de Matricula AUV

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

Page 26: Sistema de Matricula AUV

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

Page 27: Sistema de Matricula AUV

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

Page 28: Sistema de Matricula AUV

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

Page 29: Sistema de Matricula AUV

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

Page 30: Sistema de Matricula AUV

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

Page 31: Sistema de Matricula AUV

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

Page 32: Sistema de Matricula AUV

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

Page 33: Sistema de Matricula AUV

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