Prototipo del Sistema de información de PROMECYS ____________________________________________________________________________

Universidad Nacional de Ingeniería Facultad de Ciencias y Sistemas T.Mon 025.04 S939 2008

“Propuesta de Prototipo de un Sistema de Información para el Proceso de Matricula e Inscripción de Asignaturas del Programa de Modalidad Especial de la Facultad de Ciencias y Sistemas de La Universidad Nacional de Ingeniería”.

Autores: Br. Marisol de los Angeles Suárez Fonseca.

Carnet 20-19800- 4.

Br. Maria Gabriela Lagos Pasos.

Carnet 2002-10348.

Br. Gusmara Griselda Quezada Bravo.

Carnet 2002-10456.

Tutor (a): Ing. Patricia Lacayo Cruz

Managua, Nicaragua 17 de Diciembre del 2008.

Prototipo del Sistema de información de PROMECYS ____________________________________________________________________________

ÍNDICE Pág. Objetivos……………………………………………………………………… Justificación………………………………………………………………….. Introducción………………………………………………………………….. Marco Teórico…………………………...…………………………………… Capitulo I: Modelo de Requerimientos Antecedentes de PROMECYS…….……………………….. Misión………………………………………………………….. Visión………………………….……………………………….. Objetivos de la Institución…………………………………. Estructura Organizacional…………………………………. Descripción del problema………………………………….. Descripción del sistema de negocio………...…………… Descripción del sistema informático…………………….. Requerimientos del Sistema Capitulo II: Análisis del Sistema Diagramas de actividad…………………………………….. Diagramas de casos de uso……………………………….. Plantillas de casos de uso…………………………………. Diagramas de secuencia y colaboración………………… Capitulo III: Diseño del Sistema Clases.…………………….…………………………………… Tipos de datos……………………………………………….. Diagrama de clases…………………………………………. Diagramas de estado……………………………………….. Seguridad de la base de datos……………………………. Modelo de datos………………..……………………………. Diccionario de datos………………………………………… Procedimientos Almacenados…………………………….. Funciones………………………..…………..………………... Vistas…………………………………………………………… Capitulo IV: Interfaz de Usuario Estructura de la Interfaz…………………………………….. Paquete de clases……………………………………………. Paquete de formularios……………………………………… Reportes……………………………………………………….. Detallado de la interfaz de Usuario………………………..

1 2 3 4

26 27 27 27 28 29 31 32 34 37 43 45 56

89 92 93 94 96 97 98 105 106 110 112

115 115 122 136 142 144 151 156

Prototipo del Sistema de información de PROMECYS ____________________________________________________________________________

Capitulo V: Análisis de la red para la implementación del sistema Recursos actuales…………………………………………… Requerimiento técnico..…………………………………….. Conclusiones…………………………………………………………………. Recomendaciones…………………………………………………………… Bibliografía……………………………………………………………………. Anexos………………………………………………………………………….

163 164 165 166 167 168

Prototipo del Sistema de información de PROMECYS ____________________________________________________________________________

AGRADECIMIENTO Le agradezco profundamente a Dios por regalarme sabiduría para culminar mi carrera y fortaleza para no dudar en lograrlo. A toda mi familia por confiar en mi, en especial a mis padres: mamá, gracias por tu amor, consejos e incondicional apoyo cada vez que lo necesite; papá, gracias por ser mi mentor, por enseñarme a creer en mi y comprender mi verdadero valor como persona. A mi amigo Rodolfo Carmona por su invaluable ayuda y sus certeros consejos durante la elaboración de este trabajo. Maria Gabriela Lagos Pasos

Agradezco a Dios por la sabiduría y fortaleza que me ha dado durante toda mi vida y por ayudarme a culminar una de las fases mas importante como lo es mi carrera, agradezco de todo corazón a mi familia y sobre todo a mis padres por confiar en mi y ayudarme a lograr mi meta, por darme los consejos que me motivaron para llegar al final del camino, también a quienes me brindaron su afecto, comprensión y cariño, agradezco a quienes contribuyeron en mi formación y aprendizaje, a Carmona por su ayuda incondicional. Marisol Suárez Fonseca

Agradezco a Dios por darme la vida, por las maravillas que ha hecho en mí. Por ayudarme día a día a salir adelante, por la fortaleza y permitir la culminación de mi carrera. A mi mamá, quien es la persona más importante de mi vida, por el amor y cariño, por tus consejos, por ser mi ejemplo a seguir, no se que haría sin ti. Te adoro mamá A mis tías y tíos, quienes me han estado conmigo en todo momento, gracias por quererme como una hija y brindarme su apoyo. A mi Abuelito Héctor Bravo quien es como un padre, Gracias por el amor, tú ayuda y tus oraciones. Gracias a mis Hermanos Maury, Gustavo, Gaby, por ser especiales, por el apoyo y cariño que me han dado. Gracias Familia los amo… Quiero agradecer a una persona muy especial mi novio Wilfredo Porta, quien me ha dado su amor y cariño, gracias por tus consejos y motivarme en mis estudios. Gracias por ayudarme y confiar en mí, Te quiero mi amor… Gracias a Kar, por tu ayuda incondicional y compartir este momento. Gusmara Quezada Bravo.

Prototipo del Sistema de información de PROMECYS ____________________________________________________________________________

DEDICATORIA Para todas las personas que creyeron en mí en todo momento, a mis padres, hermanas, tios… pero con un cariño muy especial: A MIS ABUELOS…! Maria Gabriela Lagos Pasos

Con mucho cariño a mis PADRES: Miguel Suárez y Moraima Fonseca por ser el pilar fundamental de mi vida y a todos los que me brindaron su apoyo. Marisol Suárez Fonseca

A Dios por darme la oportunidad de culminar mis estudios. A mi mamá Marlene Bravo, por el amor, cariño y apoyo que me ha brindado. A mis hermanos Maury, Gustavo, Gaby. Por todo el amor y cariño que me han dado. A mis tíos, quienes me han dado su ayuda incondicional…A una persona muy especial mi abuelito Héctor Bravo. A mi novio Wilfredo Porta, por el cariño y amor que me has dado, por brindarme tu apoyo… Gusmara Quezada Bravo

Prototipo del Sistema de Información de PROMECYS

OBJETIVOS OBJETIVO GENERAL:

Desarrollar un Prototipo de un Sistema de Información que ejecute los procesos de matricula e inscripción de asignaturas para Programa de Educación Especial de La Facultad de Ciencias y Sistemas de La Universidad Nacional de Ingeniería (PROMECYS).

OBJETIVOS ESPECIFICOS:

Definir los requerimientos del Sistema por medio del análisis de los procesos actuales de matricula e inscripción de asignaturas de PROMECYS, haciendo uso del lenguaje UML para el modelado. Diseñar una base de datos para el registro de información, a partir del análisis de requerimiento utilizando como gestor de la base de datos SQL Server 2000. Hacer uso del entorno de desarrollo de Netbeans para realizar las interfaces graficas, que permitirán al usuario tener interacción con el prototipo de sistema de información. Realizar un diseño de red que permita la conexión entre los equipos tomando en cuenta los requerimientos de hardware y software.

-1-

Prototipo del Sistema de Información de PROMECYS

JUSTIFICACION PROMECYS inicio como un programa pequeño creado para dar solución a las demandas de personas trabajadoras que deseaban estudiar una carrera universitaria, pero en los últimos años ha mantenido una demanda de estudiantes muy favorable motivo por el cual los procesos que hasta el momento se ha realizado de forma manual se han vuelto un problema, tanto para los trabajadores del programa como para los estudiantes que pertenecen en el mismo ya que el hecho de llevar la documentación de cada estudiante a mano, resulta más desordenado y lento al momento de querer realizar una matricula o una inscripción, incluso una simple búsqueda de un estudiante resulta problemático para el empleado. Por tal razón hemos elegido contribuir al desarrollo de nuestra universidad con la propuesta de un prototipo de Sistema de Información para PROMECYS. Este programa como centro de enseñanza oferta un servicio académico el cual debe brindarse de la manera más eficiente y confiable para los estudiantes quienes constituyen el eje de la institución. Los procesos donde más se requiere organización y rapidez en el programa son las Matriculas, Inscripciones y las solicitudes de cualquier tipo de certificado por parte de los estudiantes y la realización de éstas actividades actualmente se efectúan de forma manual lo que hace necesario la realizacion de un sistema de información que permita agilizar dichas actividades, que optimice recursos, ahorre tiempo y sobre todo que ofrezca todas las comodidades a los estudiantes. Se pretende colaborar con la misión de nuestra universidad brindando un Sistema de Información que contribuya a mejorar la calidad de atención y del trabajo en los procesos de matriculas e inscripciones de asignaturas en PROMECYS. Con este sistema no solo queremos percibir el ahorro de tiempo y el aumento en la calidad de los procesos del programa sino también se procura contribuir al aprovechamiento de los recursos y de los avances tecnológicos de la universidad en general. Además de ser provechoso para los estudiantes el Sistema de Información también contribuirá beneficiosamente con los empleados de PROMECYS porque todos los trámites que implican llevar acabo las matriculas e inscripciones se realizarán en menos tiempo y la pérdida de información o la incurrencia de errores serán mínimas. Es importante tomar en cuenta que con la ayuda del Sistema de Información la universidad tendrá un control exacto e inmediato de todo lo referido a PROMECYS por medio de reportes específicos, esto ayudará a tener una mejor visualización en cuanto al giro que toma el programa con respecto a la cantidad de estudiantes que maneja.

-2-

Prototipo del Sistema de Información de PROMECYS

INTRODUCCION En un mundo donde la información se ha convertido en uno de los recursos más importantes para el desarrollo de las empresas los Sistemas de Información son un recurso cada vez más indispensable no solo para las grandes empresas de negocios sino también para organizaciones de carácter social, político y educativo, debido a su gran adaptabilidad a cualquier tipo de procesos en las diferentes áreas de trabajo. Cada día se ven nuevos software, nuevos equipos, nuevas maneras de hacer las cosas y generalmente las universidades son las bases de estas innovaciones e investigaciones que en muchas ocasiones llegan a ser de gran ayuda para las empresas de carácter económico. La Universidad Nacional de Ingeniería es una de las universidades mas prestigiosas a nivel nacional y para dar crédito a su lema “líder en ciencia y tecnología” debe estar siempre un paso adelante de las demás, demostrando eficiencia no solo con una educación de calidad sino también en los procesos organizacionales y funcionales de cada uno de los programas, departamentos y servicios que brinda la misma. Es por esta razón que hemos diseñado un Prototipo de un Sistema de Información del proceso de Matricula e Inscripción de Asignaturas en el Programa de Modalidad Especial de La Facultad de Ciencias y Sistemas que ofrece la UNI que actualmente se lleva a cabo de forma manual lo que provoca atraso y pérdida de tiempo tanto para los empleados del mismo como para los estudiantes porque no se optimiza el tiempo del proceso que se realiza, además se tiende a cometer errores que conllevan a la pérdida de información valiosa, esto produce molestias al estudiante. En el documento se describe la problemática actual a partir de la cual se pueden visualizar las necesidades que permiten establecer los requerimientos necesarios para la automatización de los procesos, para lo cual se definió la estructura de la base de datos que es donde los datos están almacenados y además permite manipularlos. También se muestra el diseño de las interfaces que es con las que el usuario va a interactuar, para ello es necesario definir las pautas para luego programarlas y que funcionen de acuerdo a los requerimientos establecidos. Además se podrán emitir reportes a partir de la información que se encuentra almacenada en la base de datos.

-3-

Prototipo del Sistema de Información de PROMECYS

MARCO TEORICO El programa PROMECYS como parte de un centro de enseñanza superior debe estar a la vanguardia de la tecnología de modo que le permita brindar un servicio satisfactorio a su cliente, en este caso el estudiante, para lo cual se crea el prototipo del sistema de matricula e inscripción de asignaturas que brindara al programa la herramienta necesaria para llevar a cabo las actividades de una manera optima y eficiente. Para la creación del prototipo del sistema de matricula e inscripción de PROMECYS se hace necesario conocer los modelos de desarrollo de software los cuales permiten que el sistema cumpla con los requerimientos para lo cual está siendo creado. Estos modelos son: Modelo en Cascada: es el enfoque metodológico que ordena rigurosamente las etapas del ciclo de vida del software, de forma tal que el inicio de cada etapa debe esperar a la finalización de la inmediatamente anterior. Las etapas para el desarrollo en cascada son: Análisis de requisitos Diseño del Sistema Diseño del Programa Codificación Pruebas Implantación Variantes De esta forma, cualquier error de diseño detectado en la etapa de prueba conduce necesariamente al rediseño y nueva programación del código afectado, aumentando los costes del desarrollo. La palabra cascada sugiere, mediante la metáfora de la fuerza de la gravedad, el esfuerzo necesario para introducir un cambio en las fases más avanzadas de un proyecto. Si bien ha sido ampliamente criticado desde el ámbito académico y la industria, sigue siendo el paradigma más seguido al día de hoy. Modelo en Espiral: las actividades de este modelo son una espiral, cada bucle es una actividad. Las actividades no están fijadas a prioridad, sino que las siguientes se eligen en función del análisis de riesgo, comenzando por el bucle interior. Las etapas para llevar a cabo este modelo son: Determinar o fijar objetivos Planificar

-4-

Prototipo del Sistema de Información de PROMECYS

Análisis del riesgo. Desarrollar, verificar y validar. Mecanismos de control. Las ventajas que se presentan son el que el análisis de riesgo se hace de forma explícita y clara. Une los mejores elementos de los restantes modelos, reduce riesgos del proyecto, incorpora objetivos de calidad e integra el desarrollo con el mantenimiento. Por otra parte presenta desventajas como la generación de mucho tiempo en el desarrollo del sistema, el modelo es costoso, además requiere experiencia en la identificación de riesgos. Los Inconvenientes que se presentan es que genera mucho trabajo adicional y esto conlleva a que se generen muchos problemas sobre todo si la compañía que esta produciendo el software no es muy eficiente. Cuando un sistema falla se pierde tiempo y coste dentro de la empresa. Modelo en V: o método en v que define un procedimiento uniforme para el desarrollo de productos. Es un método de gestión de proyectos y describe tanto métodos para la gestión como para el desarrollo de sistemas. El Método-V describe las actividades y los resultados que se producen durante el desarrollo del software. Es una representación gráfica del ciclo de vida del desarrollo del sistema. Resume los pasos principales que hay que tomar en conjunción con las correspondientes entregas de los sistemas de validación. La parte izquierda de la V representa la corriente donde se definen las especificaciones del sistema. La parte derecha de la V representa la corriente donde se comprueba el sistema (contra las especificaciones definidas en la parte izquierda). La parte de abajo, donde se encuentran ambas partes, representa la corriente de desarrollo. La corriente de especificación consiste principalmente de especificaciones de requerimientos de usuario, especificaciones funcionales y de especificaciones de diseño. La corriente de pruebas, por su parte, suele consistir de calificación de instalación, calificación operacional y calificación de rendimiento. La corriente de desarrollo puede consistir (depende del tipo de sistema y del alcance del desarrollo) en personalización, configuración o codificación. Modelo de desarrollo incremental: es el proceso de construcción siempre incrementando subconjuntos de requerimientos del sistema. Típicamente, un documento de requerimientos es escrito al capturar todos los requerimientos para el sistema completo. El desarrollo incremental es 100% compatible con el modelo cascada. El desarrollo incremental no demanda una forma específica de observar el desarrollo de algún otro incremento. Así, el modelo cascada puede ser usado para administrar cada esfuerzo de desarrollo. El modelo de desarrollo incremental provee algunos beneficios significativos para los proyectos entre lo que tenemos construir un sistema pequeño es siempre menos riesgoso que construir un sistema grande. Al ir desarrollando -5-

Prototipo del Sistema de Información de PROMECYS

parte de las funcionalidades, es más fácil determinar si los requerimientos planeados para los niveles subsiguientes son correctos. Por otra parte si un error importante es realizado, sólo la última iteración necesita ser descartada. Al reducir el tiempo de desarrollo de un sistema (en este caso en incremento del sistema) decrecen las probabilidades que esos requerimientos de usuarios puedan cambiar durante el desarrollo. Si un error importante es realizado, el incremento previo puede ser usado. Los errores de desarrollo realizados en un incremento, pueden ser arreglados antes del comienzo del próximo incremento. Modelo de Desarrollo Evolutivo: es como el modelo de desarrollo incremental, el modelo de desarrollo evolutivo (algunas veces denominado como prototipo evolutivo) construye una serie de grandes versiones sucesivas de un producto. Sin embargo, mientras que la aproximación incremental presupone que el conjunto completo de requerimientos es conocido al comenzar, el modelo evolutivo asume que los requerimientos no son completamente conocidos al inicio del proyecto. En el modelo evolutivo, los requerimientos son cuidadosamente examinados, y sólo esos que son bien comprendidos son seleccionados para el primer incremento. Los desarrolladores construyen una implementación parcial del sistema que recibe sólo estos requerimientos. El sistema es entonces desarrollado, los usuarios lo usan, y proveen retroalimentación a los desarrolladores. Basada en esta retroalimentación, la especificación de requerimientos es actualizada, y una segunda versión del producto es desarrollada y desplegada. El proceso se repite indefinidamente. Modelo Concurrente: es como el modelo espiral, el modelo concurrente provee una meta-descripción del proceso software. Mientras que la contribución primaria del modelo espiral es en realidad que esas actividades del software ocurran repetidamente, la contribución del modelo concurrente es su capacidad de describir las múltiples actividades del software ocurriendo simultáneamente. Desarrollo por Etapas: es similar al modelo de prototipos ya que muestra al cliente el software en diferentes estados sucesivos de desarrollo, se diferencia en que las especificaciones no son conocidas en detalle al inicio del proyecto y por tanto se van desarrollando simultáneamente con las diferentes versiones del código. En el desarrollo por etapas de pueden distinguir las fases de especificación conceptual, análisis de requerimientos, el diseño inicial, el diseño detallado, codificación, depuración y liberación. Estas diferentes fases se van repitiendo en cada etapa del diseño. El siguiente modelo lo empleamos en PROMECYS, ya que como su nombre lo dice es para realizar un prototipo de lo que será el software una vez terminado y permite al cliente tener una visión de lo que el sistema de información va a realizar, además el cliente puede exponer sus ideas acerca del funcionamiento del mismo y así permitir lo que es la retroalimentación, es muy importante el uso de este modelo porque PROMECYS es un cliente difícil ya que no está

-6-

Prototipo del Sistema de Información de PROMECYS

seguro de lo que realmente desea y cambia de opinión constantemente. Para comprender mejor hacemos referencia a la teoría de este tipo de modelo. Modelo de Prototipos: se inicia con la definición de los objetivos globales para el software, luego se identifican los requisitos conocidos y las áreas del esquema en donde es necesaria más definición. Entonces se plantea con rapidez una iteración de construcción de prototipos y se presenta el modelado (en forma de un diseño rápido). El diseño rápido se centra en una representación de aquellos aspectos del software que serán visibles para el cliente o el usuario final. El diseño rápido conduce a la construcción de un prototipo, el cual es evaluado por el cliente o el usuario para una retroalimentación; gracias a ésta se refinan los requisitos del software que se desarrollará. La iteración ocurre cuando el prototipo se ajusta para satisfacer las necesidades del cliente. Esto permite que al mismo tiempo el desarrollador entienda mejor lo que se debe hacer y el cliente vea resultados a corto plazo. Las Ventajas que se presentan al hacer uso de este modelo es que es útil cuando el cliente conoce los objetivos generales para el software, pero no identifica los requisitos detallados de entrada, procesamiento o salida. También ofrece un mejor enfoque cuando el responsable del desarrollo del software está inseguro de la eficacia de un algoritmo, de la adaptabilidad de un sistema operativo o de la forma que debería tomar la interacción humano-máquina. La construcción de prototipos se puede utilizar como un modelo del proceso independiente, se emplea más comúnmente como una técnica susceptible de implementarse dentro del contexto de cualquiera de los modelos del proceso expuestos. Sin importar la forma en que éste se aplique, el paradigma de construcción de prototipos ayuda al desarrollador de software y al cliente a entender de mejor manera cuál será el resultado de la construcción cuando los requisitos estén satisfechos. Se puede concluir que a pesar de que tal vez surjan problemas, la construcción de prototipos puede ser un paradigma efectivo para la ingeniería del software. La clave es definir las reglas del juego desde el principio; es decir, el cliente y el desarrollador se deben poner de acuerdo en que el prototipo se construya y sirva como un mecanismo para la definición de requisitos, que se descarten partes del prototipo por decisión mutua del cliente y del que está desarrollando el prototipo. Después de tener un modelo de desarrollo de software se hace necesaria la utilización de un lenguaje que nos ayude a comprender gráficamente el comportamiento del sistema de información que estamos desarrollando. El Proceso Unificado Racional (Rational Unified Process en inglés, habitualmente resumido como RUP) es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado UML, constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos. El RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologías adaptables al contexto y necesidades de cada organización.

-7-

Prototipo del Sistema de Información de PROMECYS

El RUP está basado principios claves: Adaptar el proceso, el proceso deberá adaptarse a las características propias del proyecto u organización. El tamaño del mismo, así como su tipo o las regulaciones que lo condicionen, influirán en su diseño específico. También se deberá tener en cuenta el alcance del proyecto. Balancear prioridades, los requerimientos de los diversos inversores pueden ser diferentes, contradictorios o disputarse recursos limitados. Debe encontrarse un balance que satisfaga los deseos de todos. Demostrar valor iterativamente, los proyectos se entregan, aunque sea de un modo interno, en etapas iteradas. En cada iteración se analiza la opinión de los inversores, la estabilidad y calidad del producto, y se refina la dirección del proyecto así como también los riesgos involucrados. Elevar el nivel de abstracción, este principio dominante motiva el uso de conceptos reutilizables tales como patrón del software, lenguajes 4GL o esquemas (frameworks) por nombrar algunos. Esto previene a los ingenieros de software ir directamente de los requisitos a la codificación de software a la medida del cliente. Un nivel alto de abstracción también permite discusiones sobre diversos niveles arquitectónicos. Éstos se pueden acompañar por las representaciones visuales de la arquitectura, por ejemplo con UML. Enfocarse en la calidad, el control de calidad no debe realizarse al final de cada iteración, sino en todos los aspectos de la producción Ciclo de vida El ciclo de vida RUP es una implementación del Desarrollo en espiral. Fue creado ensamblando los elementos en secuencias semi-ordenadas. El ciclo de vida organiza las tareas en fases e iteraciones. El RUP divide el proceso de desarrollo en ciclos, teniendo un producto final al final de cada ciclo, cada ciclo se divide en fases que finalizan con un hito donde se debe tomar una decisión importante: Fase de concepción ó inicio, en esta fase se establece la oportunidad y alcance el proyecto. Se identifican todas las entidades externas con las que se trata (actores) y se define la interacción en un alto nivel de abstracción: se deben identificar todos los casos de uso, y se deben describir algunos en detalle. La oportunidad del negocio incluye: definir los criterios de éxito, identificación de riesgos, estimación de recursos necesarios, y plan de las fases. Los productos de esta fase son: · Un documento de visión general, que incluye los requerimientos generales del proyecto, las características principales, y las restricciones. · El modelo inicial de casos de uso (10% a 20 % listos).

-8-

Prototipo del Sistema de Información de PROMECYS

·El glosario. · Caso de negocio, donde se incluye el contexto, los criterios de éxito, y el pronóstico financiero. · Una identificación inicial de riesgos. · Un plan de proyecto. · Uno o más prototipos. Fase de Elaboración: Es la parte más crítica del proceso, al final toda la ingeniería “dura” está hecha, se puede decidir si vale la pena seguir adelante, a partir de aquí la arquitectura, los requerimientos y los planes de desarrollo son estables. Ya hay menos riesgos y se puede planificar el resto del proyecto con menor incertidumbre, se construye una arquitectura ejecutable que contemple: los casos de uso críticos y los riesgos identificados. Objetivos: Analizar el dominio del problema Establecer una arquitectura base sólida Desarrollar un plan de proyecto Eliminar los elementos de mayor riesgo para el desarrollo exitoso del proyecto Productos: Modelo de casos de uso (80% completo) con descripciones detalladas. Otros requerimientos no funcio-nales o no asociados a casos de uso. Descripción de la Arquitectura del Software. Un prototipo ejecutable de la arquitectura. Lista revisada de riesgos y del caso de negocio. • Plan de desarrollo para el resto del proyecto. • Un manual de usuario preliminar.

Fase de Construccion En esta fase todas las componentes restantes se desarrollan e incorporan al producto, todo es probado en profundidad, el énfasis está en la producción eficiente y no ya en la creación intelectual, puede hacerse construcción en paralelo, pero esto exige una planificación detallada y una arquitectura muy estable. Producto El producto de software integrado y corriendo en la plataforma adecuada. Manuales de usuario. Una descripción del “release” actual.

-9-

Prototipo del Sistema de Información de PROMECYS

Fase de transición El objetivo es traspasar el software desarrollado a la comunidad de usuarios. Una vez instalado surgirán nuevos elementos que implicarán nuevos desarrollos (ciclos). Incluye: Pruebas Beta para validar el producto con las expectativas del cliente Ejecución paralela con sistemas antiguos Conversión de datos Entrenamiento de usuarios Distribuir el producto Objetivo Obtener autosuficiencia de parte de los usuarios. Concordancia en los logros del producto de parte de las personas involucradas. Lograr el concenso cuanto antes para liberar el producto al mercado. Principales características Forma disciplinada de asignar tareas y responsabilidades (quién hace qué, cuándo y cómo) Pretende implementar las mejores prácticas en Ingeniería de Software Desarrollo iterativo Administración de requisitos Uso de arquitectura basada en componentes Control de cambios Modelado visual del software Verificación de la calidad del software El RUP es un producto de Rational (IBM). Se caracteriza por ser iterativo e incremental, estar centrado en la arquitectura y guiado por los casos de uso. Incluye artefactos (que son los productos tangibles del proceso como por ejemplo, el modelo de casos de uso, el código fuente, etc.) y roles (papel que desempeña una persona en un determinado momento, una persona puede desempeñar distintos roles a lo largo del proceso). Fases Establece oportunidad y alcance Identifica las entidades externas o actores con las que se trata Identifica los casos de uso

CICLOS DE RUP Requerimientos Los desarrolladores y clientes deben acordar qué es lo que el sistema debe hacer: • Relevar requerimientos

- 10 -

Prototipo del Sistema de Información de PROMECYS

• • • • • •

Documentar funcionalidad y restricciones Documentar decisiones Identificar actores Identificar casos de uso Los casos de uso describen la funcionalidad. Los requerimientos no funcionales se incluyen en una especificación complementaria.

Analisis y Diseño Descripción de cómo se implementará el sistema: un plano Debe: Ejecutar las tareas y funciones descritas en los casos de uso Satisfacer todos los requerimientos Flexible a cambios El modelo de diseño consta de Clases estructuradas en paquetes Diseños de subsistemas con interfaces definidas (componentes) Forma de colaboración entre las clases. Implementacion Definir la organización del código Implementar clases y objetos en forma de componentes (fuente, ejecutables, etc.) Probar las componentes desarrolladas Integrar las componentes en un sistema ejecutable Pruebas Propósito: Verificar la interacción entre los objetos Verificar la integración apropiada de componentes Verificar que se satisfacen los requerimientos Identificar los defectos y c Las pruebas de regresión son importantes en desarrollos iterativos, Rational tiene herramientas para automatizar algunas pruebas. orregirlos antes de la instalación RUP describe como planear y ejecutar estas pruebas, propone probar las componentes desde el principio con respecto a la confiabilidad, funcionalidad y performance. Distribucion Producir un producto y hacerlo llegar a sus usuarios finales, incluye varias actividades: • Producir un “release” • Empaquetar el software

- 11 -

Prototipo del Sistema de Información de PROMECYS

• Distribuir el software • Instalar el software • Apoyar a los usuarios A veces también incluye: • Realizar pruebas beta • Migración de datos • Aceptación formal La mayor parte de la distribución ocurre durante la transición, este es uno de los flujos de trabajo menos documentados en RUP. Para llevar a cabo esto tomamos como referencia UML, Lenguaje Unificado de Modelado (UML) que es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad. Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema de software. UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocios y funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y componentes de software reutilizables. UML es la herramienta para realizar el análisis y diseño del sistema de información. Es importante resaltar que UML es un "lenguaje" para especificar y no para describir métodos o procesos. Se utiliza para definir un sistema de software, para detallar los artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que está descrito el modelo. Se puede aplicar en una gran variedad de formas para dar soporte a una metodología de desarrollo de software. UML cuenta con varios tipos de diagramas, los cuales muestran diferentes aspectos de las entidades representadas. En UML encontramos una variedad de diagramas que se clasifican en: Diagramas de Estructura: que enfatizan los elementos que deben existir en el sistema modelado. Entre los diagramas de estructura tenemos el diagrama de clases, diagrama de componentes, diagrama de objetos, diagrama de despliegue, diagrama de paquetes. Diagrama de clases: es un tipo de diagrama estático que describe la estructura de un sistema mostrando sus clases, atributos y las relaciones entre ellos. Los diagramas de clases son utilizados durante el proceso de análisis y diseño de los sistemas informáticos donde se crea el diseño conceptual de la información que se manejará en el sistema, y los componentes que se encargaran del funcionamiento y la relación entre uno y otro. El diagrama de clases contempla una serie de elementos que forman al mismo, como lo son: Atributos:, son valores que corresponden a un objeto, como color, material, cantidad, ubicación. Generalmente se conoce como la información detallada del objeto. Suponiendo que el objeto es una puerta, sus propiedades serían: la marca, tamaño, color y peso.

- 12 -

Prototipo del Sistema de Información de PROMECYS

Operaciones son aquellas actividades o verbos que se pueden realizar con/para este objeto, como por ejemplo abrir, cerrar, buscar, cancelar, acreditar, cargar. De la misma manera que el nombre de un atributo, el nombre de una operación se escribe con minúsculas si consta de una sola palabra. Si el nombre contiene más de una palabra, cada palabra será unida a la anterior y comenzará con una letra mayúscula, a excepción de la primera palabra que comenzará en minúscula. Por ejemplo: abrirPuerta, cerrarPuerta, buscarPuerta, etc. Interfaz es un conjunto de operaciones y/o propiedades que permiten a un objeto comportarse de cierta manera, por lo que define los requerimientos mínimos del objeto. Herencia se define como la reutilización de un objeto padre ya definido para poder extender la funcionalidad en un objeto hijo. Los objetos hijos heredan todas las operaciones y/o propiedades de un objeto padre. Por ejemplo: Una persona puede subdividirse en Proveedores, Acreedores, Clientes, Accionistas, Empleados; todos comparten datos básicos como una persona, pero además tendrá información adicional que depende del tipo de persona, como saldo del cliente, total de inversión del accionista, salario del empleado, etc. Al diseñar una clase se debe pensar en cómo se puede identificar un objeto real, como una persona, un transporte, un documento o un paquete. Estos ejemplos de clases de objetos reales, es sobre lo que un sistema se diseña. Durante el proceso del diseño de las clases se toman las propiedades que identifican como único al objeto y otras propiedades adicionales como datos que corresponden al objeto.

Diagrama de componentes: representa la separación de un sistema de software en componentes físicos (por ejemplo archivos, cabeceras, módulos, paquetes, etc.) y muestra las dependencias entre estos componentes. Diagramas de objetos: son utilizados durante el proceso de Análisis y Diseño de los sistemas informáticos en la metodología UML. Se puede considerar un caso especial de un diagrama de clases en el que se muestran instancias específicas de clases (objetos) en un momento particular del sistema. Los diagramas de objetos utilizan un subconjunto de los elementos de un diagrama de clase. Los diagramas de objetos no muestran la multiplicidad ni los roles, aunque su notación es similar a los diagramas de clase. Una diferencia con los diagramas de clase es que el compartimiento de arriba va en la forma, Nombre de objeto: Nombre de clase. Diagrama de despliegue: es un tipo de diagrama del lenguaje unificado de modelado que se utiliza para modelar el hardware utilizado en la implementación de sistemas y las relaciones entre sus componentes. Los elementos usados por este tipo de diagrama son nodos (representados como un prisma), componentes (representados como una caja rectangular con dos protuberancias del lado izquierdo) y asociaciones.

- 13 -

Prototipo del Sistema de Información de PROMECYS

Contiene los nodos y las conexiones que muestran la arquitectura del sistema en tiempo de ejecución a través de procesadores, dispositivos y los componentes de software que se ejecutan en esta arquitectura. Esta es la última descripción física de la topología del sistema, describiendo la estructura de las unidades de hardware y el software que se ejecuta en cada unidad. Los nodos se representan con cubos en tres dimensiones con su nombre en el interior. Si el nodo representa a una instancia en lugar de una clase, el nombre va subrayado. Las conexiones se representan con líneas continuas y contienen el nombre y el estereotipo de la conexión. El nombre es el identificador de la misma y el estereotipo indica el protocolo de comunicaciones entre los dos nodos implicados. Diagrama de paquetes: muestra como un sistema está dividido en agrupaciones lógicas mostrando las dependencias entre esas agrupaciones. Dado que normalmente un paquete está pensado como un directorio, los diagramas de paquetes suministran una descomposición de la jerarquía lógica de un sistema. Los Paquetes están normalmente organizados para maximizar la coherencia interna dentro de cada paquete y minimizar el acoplamiento externo entre los paquetes. Con estas líneas maestras sobre la mesa, los paquetes son buenos elementos de gestión. Cada paquete puede asignarse a un individuo o a un equipo, y las dependencias entre ellos pueden indicar el orden de desarrollo requerido. Un paquete es una parte de un modelo. Cada parte del modelo debe pertenecer a un paquete. Pero para ser funcional, la asignación debe seguir un cierto principio racional, tal como funcionalidad común, implementación relacionada y punto de vista común. UML no impone una regla para componer los paquetes. Los paquetes contienen elementos del modelo al más alto nivel, tales como clases y sus relaciones, máquinas de estado, diagramas de casos de uso, interacciones y colaboraciones; atributos, operaciones, estados, líneas de vida y mensajes están contenidos en otros elementos y no aparecen como contenido directo de los paquetes.

Diagramas de actividad representa los flujos de trabajo paso a paso de negocio y operacionales de los componentes en un sistema. También muestra el flujo de control general. Un diagrama de actividad es utilizado en conjunción con un diagrama de caso de uso para auxiliar a los miembros del equipo de desarrollo a entender como es utilizado el sistema y cómo reacciona en determinados eventos. Lo anterior, en contraste con un diagrama de flujo que ayuda a un programador a desarrollar código a través de una descripción lógica de un proceso. Se pudiera considerar que un diagrama de actividad describe el problema, mientras un diagrama de flujo describe la solución. Existe una variedad de elementos que componen un diagrama de actividad: Inicio es representado por un círculo de color negro sólido.

- 14 -

Prototipo del Sistema de Información de PROMECYS

Actividad representa la acción que será realizada por el sistema la cual es representada dentro de un ovalo. Transición ocurre cuando se lleva acabo el cambio de una actividad a otra, es representada simplemente por una línea con una flecha en su terminación para indicar dirección. Ramificación ocurre cuando existe la posibilidad que ocurra más de una transición (resultado) al terminar determinada actividad. Este elemento es representado a través de un rombo. Unión ocurre al fusionar dos o más transiciones en una sola transición o actividad. Este elemento también es representado a través de un rombo. Expresiones Resguardadas es utilizada para indicar una descripción explicita acerca de una transición. Este tipo de expresión es representada mediante corchetesy es colocada sobre la línea de transición. Fork representa una necesidad de ramificar una transición en más de una posibilidad. Aunque similar a una ramificación (Branch) la diferencia radica en que un fork representa más de una ramificación obligada, esto es, la actividad debe proceder por ambos o más caminos, mientras que una ramificación (Branch) representa una transición u otra para la actividad (como una condicional). Diagrama de Caso de uso describe lo que hace un sistema desde el punto de vista de un observador externo, debido a esto, un diagrama de este tipo generalmente es de los más sencillos de interpretar en UML, ya que su razón de ser se concentra en un Que hace el sistema, a diferencia de otros diagramas UML que intentan dar respuesta a un Como logra su comportamiento el sistema. Un caso de uso está muy relacionado con lo que pudiera ser considerado un escenario en el sistema. Un caso de uso es empleado con más frecuencia en alguna de las siguientes etapas: Determinación de Requerimientos: Por lo general nuevos requerimientos de sistema generan nuevos casos de uso, conforme es analizado y diseñado el sistema. Comunicación con el Cliente: Debido a la sencillez de este tipo de diagramas, son fáciles de emplear para comunicarse con el cliente final del proyecto. Generación de pruebas de Sistemas: A través de los diagramas usocaso se pueden generar una serie de pruebas de sistema. Los elementos que son parte del diagrama de caso de uso son: Actor: representa quien o que inicia una acción dentro del sistema, en otras palabras, es simplemente un rol que es llevado a cabo por una persona o cosa. Un Actor en un diagrama caso de uso es representado por una figura en forma de persona. Caso de uso: El caso de uso en sí es representado por un ovalo que describe la funcionalidad a grosso modo que se requiere por el sistema. - 15 -

Prototipo del Sistema de Información de PROMECYS

Comunicación: Este elemento representa la relación que existe entre un caso de uso y un Actor, dicho elemento es representado simplemente por una línea recta que se extiende de la figura del actor hacia el ovalo del uso-caso. Limite de Sistema (System Boundry): Empleado para delimitar los límites del sistema, y representado por un rectángulo con color de fondo distintivo. Generalización: indica que un caso de uso (ovalo) es un caso especial de otro caso, en otros términos, representa una relación padre-hijo, donde el hijo puede ser suplido directamente por el padre en cualquier momento. Este elemento es representado por una línea con flecha que se extiende del caso de uso hijo hacia el caso de uso padre (general). Inclusión: es utilizada para indicar que un caso de uso depende de otro caso. Este elemento es representado por una línea punteada con flecha y comentario <> que se extiende del caso de uso base hacia el caso de uso de inclusión. Extensión: representa una variación de un caso de uso a otro, aunque similar a una generalización, una extensión representa una dependencia especifica, mientras una generalización no implica que los casos de uso dependen uno del otro. Este elemento es representado por una línea punteada con flecha y comentario <> que origina del caso de uso base hacia el caso de uso de extensión. Diagrama de Estados muestra la secuencia de estados por los que pasa bien un caso de uso, bien un objeto a lo largo de su vida, o bien todo el sistema. En él se indican qué eventos hacen que se pase de un estado a otro y cuáles son las respuestas y acciones que genera..

En cuanto a la representación, un diagrama de estados es un gráfico cuyos nodos son estados y cuyos arcos dirigidos son transiciones etiquetadas con los nombres de los eventos. Un estado se representa como una caja redondeada con el nombre del estado en su interior. Una transición se representa como una flecha desde el estado origen al estado destino. Un diagrama de estados puede representar ciclos continuos o bien una vida finita, en la que hay un estado inicial de creación y un estado final de destrucción (finalización del caso de uso o destrucción del objeto). El estado inicial se muestra como un círculo sólido y el estado final como un círculo sólido rodeado de otro círculo. En realidad, los estados inicial y final son pseudoestados, pues un objeto no puede “estar” en esos estados, pero nos sirven para saber cuáles son las transiciones iniciales y finales. Diagramas de Interacción: que son un subtipo de diagramas de comportamiento, que enfatiza sobre el flujo de control y de datos entre los elementos del sistema modelado. Los diagramas que forman parte de este grupo son los diagramas de secuencia y diagramas de colaboración. Diagramas de secuencia es uno de los diagramas más efectivos para modelar interacción entre objetos en un sistema. Un diagrama de secuencia muestra la - 16 -

Prototipo del Sistema de Información de PROMECYS

interacción de un conjunto de objetos en una aplicación a través del tiempo y se modela para cada caso de uso. Mientras que el diagrama de caso de uso permite el modelado de una vista del escenario, el diagrama de secuencia contiene detalles de implementación del escenario, incluyendo los objetos y clases que se usan para implementar el escenario, y mensajes pasados entre los objetos. Típicamente uno examina la descripción de un caso de uso para determinar qué objetos son necesarios para la implementación del escenario. Un diagrama de secuencia muestra los objetos que intervienen en el escenario con líneas discontinuas verticales, y los mensajes pasados entre los objetos como vectores horizontales. Los mensajes se dibujan cronológicamente desde la parte superior del diagrama a la parte inferior; la distribución horizontal de los objetos es arbitraria. Durante el análisis inicial, el modelador típicamente coloca el nombre 'business' de un mensaje en la línea del mensaje. Más tarde, durante el diseño, el nombre 'business' es reemplazado con el nombre del método que está siendo llamado por un objeto en el otro. El método llamado, o invocado, pertenece a la definición de la case instanciada por el objeto en la recepción final del mensaje. Diagramas de colaboración muestran explícitamente las relaciones de los roles. Por otra parte, un diagrama de colaboración no muestra el tiempo como una dimensión aparte, por lo que resulta necesario etiquetar con números de secuencia tanto la secuencia de mensajes como los hilos concurrentes. Un diagrama de colaboración es también un diagrama de clases que contiene roles de clasificador y roles de asociación en lugar de sólo clasificadores y asociaciones. Los roles de clasificador y los de asociación describen la configuración de los objetos y de los enlaces que pueden ocurrir cuando se ejecuta una instancia de la colaboración. Cuando se instancia una colaboración, los objetos están ligados a los roles de clasificador y los enlaces a los roles de asociación. El rol de asociación puede ser desempeñado por varios tipos de enlaces temporales, tales como argumentos de procedimiento o variables locales del procedimiento. Los símbolos de enlace pueden llevar estereotipos para indicar enlaces temporales. Un uso de un diagrama de colaboración es mostrar la implementación de una operación. La colaboración muestra los parámetros y las variables locales de la operación, así como asociaciones más permanentes. Cuando se implementa el comportamiento, la secuencia de los mensajes corresponde a la estructura de llamadas anidadas y el paso de señales del programa. Un diagrama de secuencia muestra secuencias en el tiempo como dimensión geométrica, pero las relaciones son implícitas. Un diagrama de colaboración muestra relaciones entre roles geométricamente y relaciona los mensajes con las relaciones, pero las secuencias temporales están menos claras. Como otros diagramas, el diagrama de colaboración también se compone de elementos como lo son: Mensajes: los mensajes se muestran como flechas etiquetadas unidas a los enlaces. Cada mensaje tiene un número de secuencia, una lista

- 17 -

Prototipo del Sistema de Información de PROMECYS

opcional de mensajes precedentes, una condición opcional de guarda, un nombre y una lista de argumentos y un nombre de valor de retorno opcional. El nombre de serie incluye el nombre (opcional) de un hilo. Todos los mensajes del mismo hilo se ordenan secuencialmente. Los mensajes de diversos hilos son concurrentes a menos que haya una dependencia secuencial explícita. Flujos: Generalmente, un diagrama de colaboración contiene un símbolo para un objeto durante una operación completa. Sin embargo, a veces, un objeto contiene diferentes estados que se deban hacer explícitos. Por ejemplo, un objeto pudo cambiar de localización o sus asociaciones pudieron diferenciarse. Los diferentes símbolos de objeto que representan un objeto se pueden conectar usando flujos "become" o "conversión". Un flujo "become" es una transición, a partir de un estado de un objeto a otro. Se dibuja como una flecha de línea discontinua con el estereotipo "become" o "conversión" y puede ser etiquetado con un número de serie para mostrar cuando ocurre. Un flujo de conversión también se utiliza para mostrar la migración de un objeto a partir de una localización a otra distinta. Una vez que se realiza el análisis y diseño con la herramienta UML, ya se tiene una visión de los requerimientos del sistema de información, entonces se debe crear la base de datos donde se almacenara la información para posteriormente acceder a los datos de forma rápida y estructurada, para ello se hizo uso del sistema gestor de bases de datos SQL server 2000 que es un potente motor de bases de datos de alto rendimiento capaz de soportar grandes cantidades de registros. SQL Server instala por defecto seis bases de datos, cuatro de sistema que utiliza SQL Server que son master (guarda información de todas las bases de datos, gestiona usuarios, permisos y parámetros de configuración), model (es la plantilla para crear nuevas bases de datos), tempdb (es un espacio de trabajo temporal para procesar consultas y procesar tareas de SQL Server) y la ultima que es msdb (utilizada por el agente de SQL, mantiene datos de alertas, trabajos, notificaciones y tareas programadas) y dos de ejemplos para poder realizar pruebas. El funcionamiento de este se inicia cuando se necesita recuperar datos de la base de datos se utiliza el lenguaje SQL para efectuar la petición, el sistema gestor de la base de datos procesa la petición SQL, recupera los datos solicitados y los devuelve. SQL se utiliza para controlar todas las funciones que un sistema gestor de base de datos proporciona a los usuarios, incluyendo entre ellos la definición de datos (permite al usuario definir la estructura y organización de los datos almacenados y de las relaciones entre ellos), la recuperación de datos (SQL permite al usuario o a un programa de aplicación recuperar los datos almacenados de la base de datos y utilizarlos), la manipulación de datos (que permite al o programa usuario o programa de aplicación actualizar la base de datos añadiendo nuevos datos, suprimiendo datos antiguos o modificando datos previamente almacenados), Compartición de datos (SQL se utiliza para coordinar la compartición de datos por parte de usuarios concurrentes, - 18 -

Prototipo del Sistema de Información de PROMECYS

asegurando que no interfieran unos con otros) y por último la integridad de datos (SQL define restricciones de integridad en la base de datos, protegiéndola así contra corrupción debidas a actualizaciones inconsistentes o fallas del sistema). Por tanto SQL es un lenguaje completo de control e interacción con un sistema de gestión de base de datos. SQL juega papeles muy importantes, tales como: SQL es un lenguaje de consultas interactivas, ya que los usuarios escriben ordenes SQL en un programa SQL interactivo para recuperar datos y mostrarlos en la pantalla, proporcionando una herramienta conveniente y fácil de usar para consultas en la base de datos. SQL es un lenguaje de programación de base de datos, los programadores insertan ordenes SQL en sus programas de aplicación para acceder a los datos de la base de datos. Tanto como en los programas escritos por el usuario como los programas de utilidad de la base de datos (tales como los escritores de informes y las herramientas de entrada de datos). SQL es un lenguaje de administración de base de datos, el administrador de la base de datos responsable de gestionar una base de datos en un computador utiliza SQL para definir la estructura de la base de datos y para controlar el acceso a los datos almacenados. SQL es un lenguaje cliente / servidor, se utiliza esta arquitectura para minimizar el tráfico por la red, además permite tanto a las PCs como a los servidores que efectúen mejor su trabajo. SQL es un base de datos distribuidas, los sistemas de gestión de base de datos distribuidos utilizan SQL para ayudar a distribuir datos a través agraves de muchos sistemas de información conectados. El software de gestión de base de datos de cada sistema utiliza SQL para comunicarse con otros sistemas, enviando peticiones para acceso de datos. SQL es un lenguaje de pasarela de base de datos, en una red informática con mezcla de diferentes productos DBMS, SQL se utiliza a menudo en una pasarela (gateway) que permite que nuestro producto DBMS se comunique con otro producto. SQL proporciona comandos del Lenguaje de Definición de Datos (DDL) y el Lenguaje de Manipulación de Datos (DML). Los comandos DDL permiten crear y definir nuevas bases de datos, campos e índices, mientras que los comandos DML permiten crear consultas para ordenar, filtrar y extraer datos de la base de datos. Las Operaciones DDL o lenguaje de definición de datos incluyen una serie de comandos que pueda utilizar para crear tablas e índices y para modificar tablas agregando o quitando columnas e índices. Los identificadores o nombres de campos, índices o tablas no tienen restricción alguna en cuanto a la forma en que se digiten, lo único que hay que tomar en cuenta son los espacios en blanco o acentos deben ir entre corchetes. Las Operaciones DML o lenguaje de manipulación de datos se utilizan para recuperar, actualizaros agregar o eliminar registros de tablas. Para estas tareas

- 19 -

Prototipo del Sistema de Información de PROMECYS

se admiten diversas instrucciones pero la mayoría de ellas utilizan la estructura de consulta SELECT. Una vez realizada la base de datos se procede a elegir el lenguaje de programación que se va a utilizar, en este caso se utiliza Java que es un lenguaje de programación orientado a objetos , con el propósito de crear un lenguaje que pudiera funcionar en redes computacionales heterogéneas ( redes de computadoras formadas por más de un tipo de computadora, ya sean PC, MAC's, estaciones de trabajo, etc.),y que fuera independiente de la plataforma en la que se vaya a ejecutar. Esto significa que un programa de Java puede ejecutarse en cualquier máquina o plataforma. Java es toda una tecnología orientada a la programación de software con el cual podemos realizar cualquier tipo de programas. Hoy en día, la tecnología Java ha cobrado mucha importancia en el ámbito de Internet gracias a su plataforma. La tecnología Java está compuesta básicamente por 2 elementos: el lenguaje Java y su plataforma. Como plataforma nos referimos a la máquina virtual de Java (Java Virtual Machine). Una de las principales características que favoreció el crecimiento y difusión del lenguaje Java es su capacidad de que el código fuente funcione sobre cualquier plataforma de software y hardware, es decir, un mismo programa puede ejecutarse en varios sistemas sin tocar el código fuente. El lenguaje fue diseñado con las siguientes características: Simple: Elimina la complejidad de los lenguajes como "C" y da paso al contexto de los lenguajes modernos orientados a objetos. La filosofía de programación orientada a objetos es diferente a la programación convencional. Familiar: Como la mayoría de los programadores están acostumbrados a programar en C o en C++, la sintaxis de Java es muy similar al de estos. Robusto: El sistema de Java maneja la memoria de la computadora. No hay que preocuparse por apuntadores, memoria que no se esté utilizando, etc. Java realiza todo esto sin necesidad de que uno se lo indique. Seguro. El sistema de Java tiene ciertas políticas que evitan se puedan codificar virus con este lenguaje. Existen muchas restricciones, especialmente para los applets, que limitan lo que se puede y no puede hacer con los recursos críticos de una computadora. Portable. Como el código compilado de Java (conocido como byte code) es interpretado, un programa compilado de Java puede ser utilizado por cualquier computadora que tenga implementado el interprete de Java. Independiente a la arquitectura. Al compilar un programa en Java, el código resultante un tipo de código binario conocido como byte code. Este código es interpretado por diferentes computadoras de igual manera, solamente hay que implementar un intérprete para cada plataforma. De esa manera Java logra ser un lenguaje que no depende de una arquitectura computacional definida. Multithreaded. Un lenguaje que soporta múltiples threads es un lenguaje que puede ejecutar diferentes líneas de código al mismo tiempo. nterpretado. Java corre en máquina virtual, por lo tanto es interpretado. - 20 -

Prototipo del Sistema de Información de PROMECYS

Dinámico. Java no requiere que compiles todas las clases de un programa para que este funcione. Si realizas una modificación a una clase Java se encarga de realizar un Dynamic Bynding o un Dynamic Loading para encontrar las clases. Entre las ventajas de utilizar Java están que no se debe volver a escribir el código si se quiere ejecutar el programa en otra máquina, un solo código funciona para todos los browsers compatibles con Java o donde se tenga una Máquina Virtual de java. Además es un lenguaje de programación orientado a objetos y tiene todos los beneficios que ofrece esta metodología de programación. Otra ventaja es que un browser compatible de java deberá ejecutar cualquier programa hecho en java, esto ahorra a los usuarios tener que insertar plug – ins y demás programas que a veces quitan tiempo y espacio en disco. Java es un lenguaje y por lo tanto puede hacer todas las cosas que puede hacer un lenguaje de programación como cálculos matemáticos, procesadores de palabras, bases de datos, aplicaciones graficas, animaciones, sonido, hojas de cálculo, etc. Por último si lo que nos interesa son las páginas web, estas ya no tienen que ser estáticas ya que se les puede poner toda clase de elementos multimedia y permiten un alto nivel de interactividad sin tener que gastar en paquetes de multimedia. Entre las limitantes que java posee están la velocidad, los programas en java no tienden a ser rápidos, java es un lenguaje de programación y esta es una gran limitante y aunque es orientado a objetos no es fácil de aprender sobre todo para los que no son programadores, como java es nuevo no se conocen bien todas sus capacidades. Para realizar las interfaces utilizaremos Netbeans que permite que las aplicaciones sean desarrolladas a partir de un conjunto de componentes de software llamados módulos. Un módulo es un archivo Java que contiene clases de java escritas para interactuar con las APIs de NetBeans y un archivo especial (manifest file) que lo identifica como módulo. Las aplicaciones construidas a partir de módulos pueden ser extendidas agregándole nuevos módulos. Debido a que los módulos pueden ser desarrollados independientemente, las aplicaciones basadas en la plataforma NetBeans pueden ser extendidas fácilmente por otros desarrolladores de software. NetBeans está escrito en Java - pero puede servir para cualquier otro lenguaje de programación La Plataforma NetBeans es una base modular y extensible usada como una estructura de integración para crear aplicaciones de escritorio grandes. Empresas independientes asociadas, especializadas en desarrollo de software, proporcionan extensiones adicionales que se integran fácilmente en la plataforma y que pueden también utilizarse para desarrollar sus propias herramientas y soluciones. La plataforma ofrece servicios comunes a las aplicaciones de escritrio, permitiéndole al desarrollador enfocarse en la lógica específica de su aplicación. Entre las características de la plataforma están: Administración de las interfaces de usuario (ej. menús y barras de herramientas), Administración de las configuraciones del usuario, Administración del almacenamiento (guardando y cargando cualquier tipo de

- 21 -

Prototipo del Sistema de Información de PROMECYS

dato), Administración de ventanas, Framework basado en asistentes (diálogos paso a paso). NetBeans contiene todos los módulos necesarios para el desarrollo de aplicaciones Java en una sola descarga, permitiéndole al usuario comenzar a trabajar inmediatamente. Netbeans permite diseñar interfaces de usuario swing de manera intuitiva arrastrando componentes de interfaz de una paleta al área de interfaz, también puede usar el generador GUI para mostrar prototipos de interfaz a los clientes. NetBeans incluye funciones de localización y accesibilidad de interfaces de usuario. Permite crear páginas JSF totalmente funcionales para manipular datos de una base de datos. Compatible con JavaServer Faces (JSF), JavaServer Pages (JSP), unidades de persistencia, Struts y JavaServer Pages Standard Tag Library (JSTL). Incluye un editor visual para los descriptores de ejecución y un supervisor HTTP para depurar aplicaciones web. Con el modelado UML de NetBeans, los diseñadores pueden centrarse en el diseño de la aplicación, y los desarrolladores, en el código. Primero, los diseñadores y analistas diseñan aplicaciones con UML, un lenguaje de modelado estándar, después, los desarrolladores generan código fuente a partir del modelo UML. También funciona en sentido inverso: es posible actualizar el modelo a partir de cambios realizados en el código fuente. Netbeans tiene diferentes ventanas del generador de interfaces graficas de usuario que incluyen: La interfaz grafica de usuario: los botones adicionales de la barra de herramientas permiten acceder cómodamente a los comandos habitual. Inspector: proporciona una representación, tanto visual como no visual, de todos los componentes de la aplicación en forma de jerarquía de árbol. El inspector también permite visualizar el componente del árbol que se está editando en el generador de interfaces gráficas de usuario, así como organizar los componentes en los paneles disponibles. Paleta, lista personalizable de los componentes disponibles que contiene fichas para los componentes de JavaBeans, JFC/Swing y AWT, así como administradores de diseño. Además, puede crear, eliminar y reorganizar las categorías que se muestran en la paleta utilizando el personalizador. Ventana de propiedades: muestra las propiedades del componente seleccionado en el generador de interfaces gráficas de usuario y las ventanas Inspector, Proyectos o Archivos. El enfoque de NetBeans incorpora las mejores características, a fin de garantizar que las aplicaciones creadas con el IDE se adhieran a los estándares de la industria. NetBeans posee numerosas características que hacen que el IDE sea atractivo para cualquier desarrollador, incluyendo la amplia integración de las características específicas de la tecnología Java que no se encuentran disponibles en otros conjuntos de herramientas de aplicaciones multiplataforma. Las características de NetBeans de flexibilidad entre plataformas, el cumplimiento de UML y la capacidad de administrar la complejidad ayudan a garantizar que las aplicaciones cumplan con los requerimientos específicos del negocio. La nueva velocidad de desarrollo

- 22 -

Prototipo del Sistema de Información de PROMECYS

requiere también la visibilidad y confiabilidad del código abierto, conjuntamente con las capacidades de Java. Para la creación de informes se utiliza JasperReport que es la mejor herramienta de código libre en java para generar reportes. Esta completamente escrita en java y se puede utilizar en una gran variedad de aplicaciones java incluyendo aplicaciones web, para generar contenido dinámico. JasperReport trabaja en forma similar a un compilador y a un intérprete, el usuario diseña el reporte codificándolo en XML de acuerdo a las etiquetas y atributos definidos en un archivo llamado jasperreports.dtd (parte de JasperReport). Usando XML el usuario define completamente el reporte, describiendo donde debe colocar el texto, imágenes, líneas, rectángulos, como adquirir los datos, como realizar ciertos cálculos, etc. Este archivo fuente XML debe ser compilado para obtener un reporte real. La versión compilada del fuente es nombrada “archivo jasper” (este termina con .jasper). un archivo jasper es el compilado de un código fuente. Cuando tenemos un archivo jasper, necesitamos los datos para producir un reporte. Se puede utilizar la librería JasperReport para llenar el reporte en varios entornos como una aplicación web. Jasper tiene disponible un visualizador especial para desplegar la vista previa de un reporte, diseñado para aplicaciones tradicionales de Java basadas en Swing. iReport es un diseñador visual de código libre para JasperReport escrito en Java. Es un programa que ayuda a los usuarios y desarrolladores que usan la librería JasperReport para diseñar reportes visualmente. A través de una interfaz simple de usar, iReport provee las funciones más importantes para crear reportes en poco tiempo. iReport es de mucha ayuda para los que no conocen la sintaxis XML para generar reportes de JasperReport. iReport provee a los usuarios de JasperReport una interfaz visual para construir reportes, generar archivos “jasper” y “print” de prueba. iReport nació como una herramienta de desarrollo, pero puede utilizarse como una herramienta de oficina para adquirir datos almacenados en una base de datos, sin pasar a través de alguna otra aplicación. iReport puede leer y modificar ambos tipos de archivo, XML y jasper. A través de JasperReport, es capaz de compilar XML a archivos jasper y “ejecutar reportes” para llenarlos usando varios tipos de fuentes de datos (JRDataSource) y exportar el resultado a PDF, HTML, XLS, CSV. Para que los datos se puedan visualizar en el reporte es necesario descargar las librerías de JasperReport y de iReport, para esto es necesario tener instalado el Jdk 1.4 o superior, no basta con tener instalado el J2RE. Además de ello se debe establecer la conexión entre iReport y la base de datos para lo que se debe proporcionar el driver JDBC correspondiente. Las secciones que componen a un reporte en iReport son title, el título de nuestro reporte debe escribirse en está sección. Solo se mostrará en la primera página del reporte. PageHeader, aparece en la parte superior de cada página. Puede contener información adicional del reporte, descripciones, etc. ColumnHeader, en esta sección se muestran los nombres de los campos que se van a presentar. Detail, en esta sección se despliegan los valores

- 23 -

Prototipo del Sistema de Información de PROMECYS

correspondientes a los nombres de los campos definidos en la sección anterior. ColumnFooter, puede presentar información de totales para algunos de los campos de la sección detail. PageFooter, aparece en la parte inferior de cada página. Este parte puede presentar, la fecha, número de página del reporte. Summar, esta sección puede presentar totales de campos de la sección detail, si se desea incluir algún gráfico en el reporte, debe hacerse en esta sección. JasperReports no maneja directamente gráficos, estos deben crearse independientemente como imágenes, incluso utilizando una de las numerosas librerías de código libre disponibles para la creación de gráficos. La imagen producida será mostrada usando un componente de imagen. La idea es realmente simple, pero la creación de un gráfico en tiempo de ejecución requiere de un buen conocimiento de la programación de JasperReports, y muchas veces es necesario utilizar scriptlets capaces de colectar los datos que se mostrarán en el gráfico.

- 24 -

Prototipo del Sistema de Información de PROMECYS

CAPITULO I: MODELO DE REQUERIMIENTOS “El tiempo más rentable es el de Planificar y Preparar”

- 25 -

Prototipo del Sistema de Información de PROMECYS

ENTORNO DE LA EMPRESA: ANTECEDENTES PROMECYS es un programa de modalidad especial dentro de la facultad de ciencias y sistemas de la Universidad Nacional de Ingeniería, el cual brinda la oportunidad de cursar la carrera de ingeniería de Sistemas a bachilleres, técnicos o profesionales del área administrativa e informática que laboran en alguna empresa o poseen su propio negocio. Este programa se origino en el año 1997, con el propósito de dar respuesta a una creciente demanda de profesionalización en una gran parte de la población laboral, así como aminorar la brecha existente entre los bachilleres que ingresan a las universidades estatales como también a los que quedan fuera del sistema regular universitario. La carrera consta de cinco años sin incluir la culminación de estudios, para esto el estudiante tiene la opción de realizar monografía o bien cursos de titilación clasificados en Mercadotecnia, Sistemas de Información y Calidad. En esta modalidad el año académico está dividido en cuatrimestres, cada cuatrimestre tiene una duración de 14 semanas con derecho a llevar 4 asignaturas por cuatrimestre. El pensum de estudio consta de 57 asignaturas, impartidas con un promedio de 12 asignaturas por cada año académico. PROMECYS brinda servicios adicionales como: programas de becas, orientados para aquellos alumnos de escasos recursos económicos y que alcancen un promedio mayor a 70% en cada asignatura. Para la mayor comodidad para nuestros alumnos, la facultad de ciencias y sistemas cuenta con cinco salas para laboratorio, la mayoría con acceso a Internet. El acceso libre a los laboratorios se da a través de tarjetas con precios módicos. Por las características que presenta esta modalidad es de vital importancia la elaboración de módulos de estudio por asignatura para la consolidación de los conocimientos adquiridos por los estudiantes durante los encuentros. También se impulsa a los estudiantes a desarrollar sus habilidades artísticas de los estudiantes mediante grupos de folklore, cultura y deportes.

- 26 -

Prototipo del Sistema de Información de PROMECYS

Por ultimo se contribuye a consolidar y actualizar los conocimientos de los estudiantes en el área informática, se sirven cursos libres en los siguientes campos: SQL Server Internet Visual Basic Técnicas en diseño grafico Diseño de paginas Web Windows 98 y 2000 Office Mantenimiento preventivo y correctivo de computadoras El lema es “Formando para la era del Conocimiento”.

MISION PROMECYS La facultad de ciencias y sistemas es una entidad de la Universidad Nacional de Ingeniería, con excelencia académica, dedicada a la formación de profesionales altamente calificados en Ingeniería de Sistemas brindando una sólida preparación básica-científica-humanística a los estudiantes de Ingeniería y arquitectura, capaces de enfrentar las demandas del desarrollo social y tecnológico del país y la región.

VISION PROMECYS Ser una facultad con excelencia académica, promotora de investigación científica y tecnológica, permitiendo intercambiar experiencias con las facultades y el sector productivo del país y la región.

OBJETIVOS DE PROMECYS Atender las demandas de profesionales en las empresas que deseen continuar profesionalizándose. Dar respuesta a la demanda de bachilleres que no tienen acceso a las universidades vía examen de admisión. Atender la demanda de estudiantes de Ingeniería que son trabajadores y necesitan culminar sus estudios.

- 27 -

Prototipo del Sistema de Información de PROMECYS

ESTRUCTURA ORGANIZACIONAL

- 28 -

Prototipo del Sistema de Información de PROMECYS

DESCRIPCION DEL PROBLEMA Actualmente el Programa de Modalidad Especial de La Facultad de Ciencias y Sistemas (PROMECYS) realiza sus procesos de forma manual, al ser este un programa de carácter educativo implica el manejo de abundante información de los estudiantes que forman parte del mismo, esto deja en evidencia el manejo inadecuado que se le da a la información ya que no se tiene un control exacto sobre la valiosa información que el programa manipula como los datos de los estudiantes, de los trabajadores, las notas que obtienen los estudiantes, datos de los profesores, etc. Uno de los procesos importantes que se llevan a cabo es el proceso de matricula que se realiza también de forma manual lo que provoca que dicho proceso sea lento, además de ello se tienden a cometer errores en la escritura ya que por la rapidez del proceso pueden ocurrir equivocaciones en el llenado de la hoja de matricula que es uno de los requisitos a cumplir, también se puede dar el caso de que la letra con que se ha llenado dicha hoja no sea legible o entendible lo que provoca atraso ya que se tiene que recurrir a la persona que la llenó para verificar los datos o información plasmada. La realización del proceso de matricula de forma manual resulta incomoda para el estudiante así como también para el empleado de PROMECYS por que provoca pérdida de tiempo al llevar a cabo la misma. Debido a la forma en que se lleva a cabo el proceso de matricula no se puede tener con exactitud el registro de alumnos que tiene este programa, ya que resulta difícil y trabajoso contar el total de estudiantes que tiene PROMECYS, cuantos hay de primer ingreso, cuantos son traslados, cuantos provienen directamente de la secundaria, cuantos están cursando su segunda carrera, cuantos son varones y cuantos mujeres, no hay control de cuantos estudiantes desertan y cuantos egresan de la carrera, todos estos datos son de suma importancia para el programa por que les permite tener datos estadísticos exactos en cuanto al programa se refiere. Al igual que el proceso de matricula la realización del proceso de inscripción de asignaturas se lleva a cabo de forma manual lo que significa atraso ya que para que el estudiante pueda llevar una asignatura el trabajador de PROMECYS debe verificar si se cumple con el prerrequisito y la precedencia de la asignatura a inscribir lo que se verifica con el pensum de la carrera y a la vez se revisan las notas de cada uno de los estudiantes que también se registran de forma manual lo que conlleva a realizar dicho proceso de manera lenta y tediosa para el trabajador de PROMECYS así como incomoda para los estudiantes por el tiempo que se toma realizar este proceso. Al llevar a cabo los procesos de forma manual se tienden a cometer errores en todos los aspectos los registros corren el riesgo de perderse o dañarse, es común que en la manipulación de la información las notas se pierdan o confundan esto perjudica en gran manera al estudiante por que las notas son consideradas información delicada y son el indicio o pasaporte que

- 29 -

Prototipo del Sistema de Información de PROMECYS

permite inscribir o no las asignaturas establecidas de acuerdo al año que cursen los estudiantes. Otra dificultad que se presenta en PROMECYS es la realización de reportes ya que la recopilación de la información es tardada, para realizar constancias de notas o historiales académicos el tiempo de entrega es extenso debido a lo difícil que se hace la búsqueda de la información por alumno. PROMECYS como un programa que ofrece sus servicios a los estudiantes considera de suma importancia que se facilite el acceso al mismo desde las diferentes perspectivas para el estudiante, quién busca un servicio optimo y preciso sin pérdidas de tiempo de modo que maximice el mismo y asegure la calidad del servicio brindando de este modo satisfacción en la atención a los estudiantes, lo que se puede obtener a través de un sistema que permita acortar los tiempos del proceso, disminuir errores y evitar molestias al estudiante y atrasos innecesarios a los funcionarios del programa logrando de este modo un trabajo en conjunto satisfactorio para ambas partes y optimizando así tiempo y recursos disponibles. PROMECYS presenta debilidades en el proceso de matricula debido a que esta es realizada también de forma manual por lo tanto los tiempos de atención son mas extensos y se tiende a cometer errores lo que contribuye a la lentitud del proceso de matricula e inscripción, esta debilidad se da a nivel de dirección ya que esta no se ha preocupado por la creación de un software que facilite el proceso y mas aun que haga de este una herramienta que le permite optimizar el tiempo, además de no contar con el proceso de matricula e inscripción de asignaturas automatizados hace de PROMECYS un programa atrasado y por ende provoca inconformidad entre algunos estudiantes debido a las molestias por las que se tiene que pasar para poder ser parte del programa. Para erradicar la inconformidad del cliente (estudiante) es preciso hacer uso de la tecnología de modo que permita agilizar el proceso de matricula e inscripción de asignaturas, ahorrando tiempo y optimizando los recursos que como programa debe aprovechar para dar mayor confiabilidad y credibilidad a los estudiantes acerca de la información que PROMECYS maneja, esto se logra con la implementación de un sistema de información que registre el proceso de matricula e inscripción de asignaturas, el registro de las asignaturas, registro de notas, registro de profesores, registro de trabajadores, etc evitando así atrasos e inconformidad a los estudiantes. Cuando se oferta un servicio como es el caso de PROMECYS es indispensable que este sea optimo, permitiendo así la satisfacción de los estudiantes para evitar que estos busquen otras opciones, por lo que se deben ofrecer todas las comodidades posibles de acuerdo a las necesidades que demandan los estudiantes de este modo se permitirá una mayor atención de los mismos obteniendo así resultados exitosos que son de gran beneficio para el programa.

- 30 -

Prototipo del Sistema de Información de PROMECYS

DESCRIPCION DEL SISTEMA DE NEGOCIOS Para ingresar al Programa de Modalidad Especial de la Facultad de Ciencias y Sistemas el estudiante debe realizar ciertas actividades durante el proceso de matrícula. La información recopilada en dichas actividades se registran en documentos es decir se lleva un control manual. El proceso inicia con la prematrícula, en el cual el estudiante debe presentar el recibo de pago de prematrícula, seguidamente se debe llenar sus datos en una hoja de formato, luego el empleado de PROMECYS debe entregar una constancia que indica que la prematricula se ha realizado, esta actividad la realizan solamente los estudiantes de primer ingreso. Una vez que se ha finalizado la prematrícula se envía la lista de estudiantes a Registro Central de la UNI para obtener los números de carnet que se asignaran a cada uno de los estudiantes de PROMECYS. La siguiente actividad a realizar es la matrícula en la que se hace oficial el ingreso del estudiante, para ello, se debe presentar el recibo de pago de matrícula, se llenan los datos en el formato el cual contiene los ítems de datos personales y datos generales además del tercer ítem Inscripción de clases. La matricula se realiza una vez por año y la inscripción tres veces al años en cada inicio de cuatrimestre. Dentro de los datos personales se deben especificar los nombres y apellidos, estado civil, sexo, lugar, fecha de nacimiento, nacionalidad, departamento, municipio, dirección habitual, numero de teléfono, e-mail, fax, celular. Luego se llenan los datos de la información general, tales como: centro de estudio de secundaria, tipo de centro (estatal, autónomo, privado y subvencionado), el tipo de estudiante que puede ser ordinario, becario y trabajador, también se debe especificar la situación escolar que indica si el estudiante es de nuevo ingreso, reingreso, traslado interno, traslado externo, si esta continuando la carrera o si es su segunda carrera, son datos importantes para el programa de modo que se maneje un control con la información concerniente a cada uno de los estudiantes que integran el mismo. Seguidamente se deben indicar las asignaturas a inscribir aquí el empleado verifica si la asignatura solicitada por el estudiante cumple con los requisitos y precedencia del pensum de la carrera, si la asignatura no cumple con dichos requerimientos el estudiante no podrá inscribir las asignaturas. En caso de primer ingreso se inscriben todas las asignaturas del primer cuatrimestre. Cuando se realizan las inscripciones se van contabilizando la cantidad de alumnos asignados a cada grupo especificado de acuerdo a las asignaturas inscritas, una vez que un grupo ha llegado al limite de alumnos se crea otro para ubicar a los demás para que no quede ninguno sin ubicación. El registro de notas se realiza en hojas que contienen un formato, en la cual el profesor indica las notas que obtuvo cada estudiante, luego este formato es entregado al empleado de PROMECYS quien se encarga de guardarlo. Además se realizan registro de los profesores que imparten las asignaturas de esta modalidad.

31

Prototipo del Sistema de Información de PROMECYS

DESCRIPCIÓN DEL SISTEMA INFORMÁTICO Con el propósito de ahorrar tiempo y brindar satisfacción al estudiante supliendo todas sus necesidades se propone la implementación de un sistema de información que controle las matriculas e inscripción de asignaturas. Dentro de las funciones que se necesita que realice el sistema de información está almacenar todas las prematrículas realizadas, en donde se introducirán la información de los estudiantes, es decir datos personales, datos laborales, para los estudiantes que trabajan. El registro de matrícula es otra de las actividades que se realizarán, previo a la matrícula se debe tener registrado la prematrícula de cada estudiante a ingresar a PROMECYS, entre los datos que ingresan en esta actividad están el año de curso, cuatrimestre y la inscripción de asignaturas. Cabe agregar que no siempre que se realice matrícula se deben inscribir las asignaturas, esta actividad de inscripción se puede realizar por aparte, además permite actualizar datos de los estudiantes. La inscripción de asignaturas también estará comprendida en el sistema, éste proceso introducirá las materias que el estudiante llevará en el cuatrimestre además mostrará cuales son las asignaturas que el estudiante puede inscribir. En caso de las asignaturas reprobadas, no se permitirá la inscripción de la asignatura posterior. Esta actividad también permite actualizar los datos de los estudiantes. Las asignaturas que conforman la carrera se podrá visualizar en el sistema, por lo que será más fácil el acceso del usuario, ya que también se especificará la precedencia y el requisito, es decir que al momento de inscribir el usuario podrá consultar las asignaturas que corresponden en cada cuatrimestre teniendo como referencia el pensum de la carrera. Se llevará registro de docentes que laboran para PROMECYS donde se indicará las asignaturas que imparten, como también el estado del docente si está actualmente laborando o no. De igual manera se almacenará los datos de los empleados, especificando el cargo que ocupan, de esta manera se puede tener a la disposición de los empleados del programa para cualquier consulta. También se podrá consultar notas ya que al finalizar cada cuatrimestre se deben introducir las notas de los estudiantes los cuales han sido registrados durante el proceso de matrícula. El sistema también será capaz de generar reportes como: Hoja de prematrícula por estudiante Hoja de matrícula por estudiante Estudiantes Prematriculados Estudiantes Matriculados Grupos de la carrera Estudiantes Becados Datos de Profesor Datos de empleado 32

Prototipo del Sistema de Información de PROMECYS

Asignaturas impartidas por grupos Notas de los estudiantes Hoja de Inscripción Estudiantes trabajadores Estudiantes sin Carnet Estudiantes Hombres Estudiantes Mujeres Notas por cuatrimestre Estudiantes por año

33

Prototipo del Sistema de Información de PROMECYS

CAPITULO II: ANALISIS DEL SISTEMA “Si comienza a planificar, no te desanimes si te equivocas muchísimo.”

34

Prototipo del Sistema de Información de PROMECYS

DIAGRAMAS DE ACTIVIDAD Los diagramas de actividad representan el modelo actual que sigue PROMECYS, el cual es llevado a cabo de forma manual para realizar los procesos que componen el funcionamiento del mismo. Los diagramas de actividad que representan los procesos principales de PROMECYS son el de prematricula, matricula, inscripción y solicitud del certificado de notas. En todos los procesos se realiza una interacción entre el estudiante y el empleado. Estos diagramas permiten al programador tener una visión de cómo funciona actualmente PROMECYS para luego poder crear un modelo a seguir que sea más eficiente de modo que permita agilizar los procesos y estos se puedan realizar en menor tiempo. En el funcionamiento actual podemos distinguir a través de los diagramas que se realiza trabajo innecesario. En el diagrama de prematricula se registra la prematricula y se llena una hoja con todos los datos del estudiante y en el diagrama de matricula se verifica si la prematricula existe para poder realizar la matricula y de nuevo se vuelve a llenar la hoja con todos los datos del estudiante, esto se da para actualizar los datos del mismo, pero se realiza dos veces en un periodo corto de tiempo este es un problema porque se almacena información redundante. El diagrama de actividad del proceso inscripción refleja que para poder inscribir es necesario cumplir con el pensum, pero esto se hace complejo porque al hacerlo manual, si una de las asignaturas a inscribir no cumple los requerimientos no puede inscribir la asignatura y el empleado debe revisar el pensum para indicarle que otras asignaturas puede llevar y para esto se toma su tiempo porque le toca comparar con los registros de notas. El proceso para la solicitud del certificado de notas es demorado porque cuando el estudiante llega a solicitarlo el empleado debe verificar que las notas hayan sido registradas, entonces el empleado recaba todas las notas que han sido solicitadas por el estudiante para luego realizar el certificado. Con los diagramas de actividad se pueden visualizar las dificultades por las que pasa PROMECYS para poder realizar las actividades que a menudo se llevan a cabo, ya que estas se hacen en un tiempo prolongado y se puede percibir que no satisfacen las necesidades inmediatas de los estudiantes.

35

Prototipo del Sistema de Información de PROMECYS

DIAGRAMAS DE ACTIVIDAD Proceso Prematricula PROMECYS

ESTUDIANTE

TRABAJADOR

Revisa recibo prematricula

Solicita Prematricula y entrega recibo

Llena hoja datos estudiantes Registra nuevo estudiante

Recibe hoja prematricula

Agregar nueva prematricula

36

Prototipo del Sistema de Información de PROMECYS

DIAGRAMA DE ACTIVIDAD Proceso de Matricula PROMECYS

ESTUDIANTE

EMPLEADO

Solicita matricula y entrega recibo

Verifica recibo y datos prematricula

si

no Existe prematricula

registra matricula

recibe hoja matricula

revis a recibo prematricula

registra nuevo estudiante

llena hoja datos estudiante

registra nueva matricula

recibe hoja matricula

37

Prototipo del Sistema de Información de PROMECYS

DIAGRAMA DE ACTIVIDAD Proceso de Inscripción asignaturas PROMECYS

ESTUDIANTE

EMPLEADO

revisa inscripcion

llena hoja inscripcion

Cumple con prerrequisito y precedencia

si

recibe hoja de inscripcion

registra inscripcion

38

no

Prototipo del Sistema de Información de PROMECYS

DIAGRAMA DE ACTIVIDAD Proceso Imprimir Certificado de Notas PROMECYS

EMPLEADO

ESTUDIANTE

Solicita notas

verifica disponibilidad de notas

Notas disponibles?

no

si

realizar certificado de notas

recibe certificado de notas

39

Prototipo del Sistema de Información de PROMECYS

DIAGRAMA DE CASO DE USO El diagrama de caso de uso se realiza para mostrar el funcionamiento del sistema de información que estamos proponiendo para dar solución a las dificultades que PROMECYS se está enfrentando. Este diagrama muestra que el único que tendrá interacción con el sistema es el empleado y que el estudiante únicamente recibirá lo que el sistema devuelve como las hojas de prematricula, de matrícula y las de inscripción. Al implementar el sistema de información los procesos se podrán realizar de manera rápida y eficiente y se beneficiaran tanto los empleados porque realizan más trabajo en menos tiempo, como los estudiantes porque las respuestas a sus solicitudes serán dadas en un tiempo mínimo. A través de los casos de uso que componen el diagrama podemos ver la secuencia de las acciones que se llevan a cabo en determinado momento. En el diagrama se reflejan los procesos que el sistema podrá llevar a cabo, entre estos está el de prematricula aquí se puede ver la lista de personas que han realizado este proceso, los datos almacenados pueden ser modificados, también se toman los datos de los posibles estudiantes, cuando ya se hace la matricula estas personas pasan a ser estudiantes y los datos de los pre matriculados pasan a la matricula, es entonces que pasan a ser estudiantes, también está la posibilidad de actualizar los datos del estudiante pero aquí los datos solo se modificaran de modo que la información almacenada no sea repetida. El proceso de inscripción es mucho más fácil ya que solo se indicara el año y cuatrimestre a cursar y al cargar la inscripción el sistema podrá mostrar las asignaturas que pueden ser inscritas. En el caso de las notas se facilitara la búsqueda, ya que estas están disponibles de forma rápida, la entrega certificados será en un tiempo mínimo. Hay información que es relevante para PROMECYS por la frecuencia con la que son solicitadas por sus estudiantes tal es el caso de los profesores que ya sea para consultas o reclamos los estudiantes siempre piden información de estos. También es relevante tener a la brevedad posible toda la información de las asignaturas (es decir pensum) que conforman la carrera que se oferta ya que también es solicitada. Por otra parte para manejar un mejor control dentro de PROMECYS es necesario contar con la información de los empleados, de la cantidad de grupos que tiene el programa y de que profesores imparten que asignaturas en que grupos. Como podemos darnos cuenta un sistema de información facilita en gran manera la realización de los procesos en PROMECYS, y hace de esta un programa competitivo y eficiente a la altura de cualquier centro de educación superior.

40

Prototipo del Sistema de Información de PROMECYS extend Ingresar datos estudiantes

Ingresar datos laborales

extend extend

extend Registrar Prematricula

Buscar estudiantes prematriculados

Modificar prematricula

extend

Imprimir hoja Prematricula

include

Buscar estudiantes reingreso extend extend Registrar Matricula

Buscar estudiantes nuevo ingreso extend

Estudiante

extend Imprimir hoja matricula Empleado extend

include Actualizar datos estudiantes

Ingresar datos laborales

Imprimir hoja inscripcion

extend

extend Registrar inscripcion

Botar asignatura

extend

include

Buscar estudiante extend extend

Registrar notas

Imprimir certificado extend

Registrar empleado

Imprimir reporte extend

buscar profesor Registrar profesor

extend

Imprimir reporte extend Empleado Registrar asignatura

extend

Registrar prerequisito

extend Registrar precedencia

Registrar grupo Imprimir pensum

extend

Relacionar grupo_asignatura_ profesor

Imprimir reporte

41

Prototipo del Sistema de Información de PROMECYS

PLANTILLAS, DIAGRAMAS DE SECUENCIA Y DIAGRAMAS DE COLABORACION

Cuando se identifican los casos de uso se deben describir de forma contextual a través de plantillas, se definen los actores que interactúan y en estas también se mencionan los escenarios de cada caso de uso, los escenarios son las posibles situaciones por las que puede pasar un caso de uso, en las plantillas está la información de todos los casos de uso principales y de los escenarios que cada uno de estos casos de uso tiene, en todos los escenarios el único actor que interactúa con el sistema es el empleado. Una vez que definimos todas las plantillas se continúa con la creación de los diagramas de secuencia que se realizan en correspondencia a cada escenario de cada caso de uso que ha sido definido, los diagramas de secuencia muestran de una manera clara la funcionalidad del prototipo que ha sido creado. Los diagramas de secuencia muestran desde que el empleado ingresa los datos hasta el camino que estos recorren para llegar hacia donde serán almacenados, de igual manera pasa cuando los datos son consultados y modificados. También se puede visualizar que el empleado interactúa solo con las interfaces del sistema en dependencia de los procesos que desea utilizar (de ahí la información busca el camino indicado según las instrucciones establecidas), la interfaces se relacionan con los registros que es donde la información esta almacenada. Los diagramas de secuencia nos permiten explicarle al cliente como funcionara el sistema ya que son sencillos y fáciles de entender y así este (Promecys) nos ha exteriorizado sus sugerencias con respecto a lo que desea. Para cada diagrama de secuencia que ha sido creado, corresponde un diagrama de colaboración que se crea a partir del mismo, este diagrama es mas explicito ya que muestra la secuencia de los mensajes enumerados para poder ver las acciones de forma consecutiva que se realizan entre los objetos y el empleado de PROMECYS.

42

Prototipo del Sistema de Información de PROMECYS

CASO DE USO:

:

Registro de Prematricula

DEFINICIÓN

:

Es el proceso que permite a un estudiante asegurar el cupo en la universidad y es el primer paso que se debe llevar a cabo para formar parte de la universidad.

PRIORIDAD

:

(1) Vital

(2) Importante

(3) Conveniente

URGENCIA

:

(1)Inmediata

(2) Necesario

(3) Puede Esperar

ACTORES DEFINICION Empleado de PROMECYS que brinda atención al estudiante. Persona interesada en pertenecer al programa para poder concluir una carrera. Es quien solicita los servicios académicos que brinda la Estudiante Universidad. ESCENARIO #1 Nombre : Agregar Prematricula sin inconvenientes -Recibo de Prematricula. Pre-Condiciones : - Cumplir con requisitos de prematricula Iniciado por : Empleado Finalizado por : Empleado Post-Condiciones : Hoja de Prematricula NOMBRE Empleado

Operaciones

:

1. Activar interfaz registro de prematricula. 2. Registrar los datos del nuevo estudiante. 3. Guardar ESCENARIO #2

Nombre

:

Pre-Condiciones

:

Iniciado por Finalizado por Post-Condiciones

: : :

Operaciones

:

Nombre

:

Pre-Condiciones

:

Iniciado por Finalizado por Post-Condiciones

: : :

Operaciones

:

Prematricula de un registro existente -Recibo de Prematricula -Cumplir con requisito de Prematricula Empleado Empleado Hoja de Prematricula 1. Activar interfaz registro de Prematricula. 2. Buscar registro de estudiante. 3. Actualizar datos estudiante y prematricula. 4. Registrar la inscripción y guardar. ESCENARIO #3 Imprimir hoja Prematricula -Prematricula exista Empleado Empleado ninguna 1. Activar interfaz de registro de Prematricula 2. Buscar registro de prematricula y mostrar 3. Imprimir hoja prematricula

43

Prototipo del Sistema de Información de PROMECYS

CASO DE USO:

DEFINICIÓN

PRIORIDAD URGENCIA

NOMBRE Empleado

: Registro de Matricula Es el proceso que permite al estudiante formar parte del : programa y se realiza después de la prematricula, este proceso se lleva a cabo una vez al año. : (1) Vital

(2) Importante

(3) Conveniente

: (1)Inmediata

(2) Necesario

(3) Puede Esperar

ACTORES DEFINICION Es la persona de PROMECYS que brinda atención al estudiante. ESCENARIO #1 Nombre

Pre-Condiciones Iniciado por Finalizado por Post-Condiciones

Operaciones

: Registro de Matricula de Primer ingreso - Recibo de matricula - Cumplir con prematricula : Empleado : Empleado : - Hoja de Matricula e inscripción 1. Activar interfaz de Matricula 2. Buscar datos prematricula 3. Ingresar datos matricula 4. Ingresar datos primera inscripción 5. Guardar :

ESCENARIO #2 Nombre Pre-Condiciones Iniciado por Finalizado por Post-Condiciones

Operaciones

: Registro de Matricula de Reingreso : - Recibo de matricula : Empleado : Empleado : - Hoja de Matricula e inscripción 1. Activar interfaz de Matricula 1. Buscar datos de estudiante 2. Registrar matricula 3. Registrar inscripción 6. Guardar

44

Prototipo del Sistema de Información de PROMECYS

ESCENARIO #3 Nombre Pre-Condiciones Iniciado por Finalizado por Post-Condiciones

Operaciones

: Actualizar datos Estudiante : - ninguna : Empleado : Empleado : - ninguna 1. Activar interfaz de Matricula 2. Activar interfaz Datos estudiantes 3. Actualizar datos 4. Guardar ESCENARIO #4

Nombre Pre-Condiciones Iniciado por Finalizado por Post-Condiciones

Operaciones

: Imprimir hoja matricula : - Matricula exista : Empleado : Empleado : - ninguna 1. Activar interfaz de Matricula 5. Activar interfaz reporte matricula 6. Mostrar hoja matricula 7. Imprimir hoja matricula

45

Prototipo del Sistema de Información de PROMECYS

CASO DE USO: DEFINICIÓN PRIORIDAD URGENCIA

: Registro de Inscripción Permite registrar las inscripciones que se hacen : cuatrimestre en correspondencia a cada matricula

cada

: (1) Vital

(2) Importante

(3) Conveniente

: (1)Inmediata

(2) Necesario

(3) Puede Esperar

ACTORES NOMBRE DEFINICION es el que brinda atención al estudiante y permite llevar a cabo los Empleado procesos que comprende el programa ESCENARIO #1 Nombre : Inscripción sin inconvenientes Pre-Condiciones : Recibo de arancel del mes en curso Iniciado por : Empleado Finalizado por : Empleado Post-Condiciones : Hoja de Inscripción 1. Activar interfaz de Inscripción 2. Buscar datos de estudiantes Operaciones : 3. Introducir datos de inscripción 4. Guardar registro de inscripción ESCENARIO #2 Nombre Pre-Condiciones Iniciado por Finalizado por Post-Condiciones

Operaciones

Nombre Pre-Condiciones Iniciado por Finalizado por Post-Condiciones Operaciones

: Botar asignatura inscrita : : : :

Tener previa Inscripción Empleado Empleado Hoja de inscripción 1. Activar la interfaz registro de inscripción 2. Buscar datos estudiantes e inscripción : 3. Modificar datos inscripción 4. Guardar ESCENARIO #3 Imprimir hoja inscripción Inscripción exista Empleado Empleado ninguna 1. Activar interfaz de Inscripción 2. Activar interfaz de reporte inscripción : 3. Mostrar hoja inscripción 4. Imprimir hoja inscripción : : : : :

46

Prototipo del Sistema de Información de PROMECYS

CASO DE USO: DEFINICIÓN PRIORIDAD URGENCIA

NOMBRE Empleado

: Registro de Notas :

Permite almacenar las notas de las asignaturas que van cursando los alumnos de Promecys

: (1) Vital

(2) Importante

(3) Conveniente

: (1)Inmediata

(2) Necesario

(3) Puede Esperar

ACTORES DEFINICION Es el que lleva a cabo todos los procesos en Promecys ESCENARIO #1 Nombre : Ingresar notas

Pre-Condiciones Iniciado por Finalizado por Post-Condiciones Operaciones

Nombre Pre-Condiciones Iniciado por Finalizado por Post_Condiciones

Operaciones

: Haber inscrito la asignatura : Empleado : Empleado : ninguna 1. Activar interfaz registro nota 2. Buscar datos estudiante : 3. Introducir datos notas 3. Guardar registro ESCENARIO #2 : Imprimir Certificado de notas : : : :

ninguna Empleado Empleado ninguna 1. Activar interfaz de Notas 2. Buscar datos notas : 3. Activar interfaz reporte de notas 4. Mostrar reporte de notas 5. Imprimir reporte de notas

47

Prototipo del Sistema de Información de PROMECYS

CASO DE USO: DEFINICIÓN PRIORIDAD URGENCIA

NOMBRE Empleado

: Registro Asignatura :

Permite almacenar los datos de las asignaturas que forman parte de la carrera

: (1) Vital

(2) Importante

(3) Conveniente

: (1)Inmediata

(2) Necesario

(3) Puede Esperar

ACTORES DEFINICION Es el que lleva a cabo todos los procesos en Promecys ESCENARIO #1 Nombre : Asignar prerrequisito

Pre-Condiciones Iniciado por Finalizado por Post-Condiciones Operaciones

Nombre Pre-Condiciones Iniciado por Finalizado por Post_Condiciones

Operaciones

Nombre Pre-Condiciones Iniciado por Finalizado por Post-Condiciones

Operaciones

: ninguna : Empleado : Empleado : ninguna 1. Activar interfaz Asignatura 2. Buscar datos de asignatura : 3. Activar interfaz prerrequisito y seleccionar dato 3. Guardar registro ESCENARIO #2 : Asignar precedencia : : : :

ninguna Empleado Empleado ninguna 1. Activar interfaz asignatura 2. Buscar datos asignatura : 3. Activar interfaz precedencia y seleccionar dato 4. Guardar registro ESCENARIO #3 : Imprimir pensum : ninguna : Empleado : Empleado : ninguna 1. Activar interfaz Asignatura 2. Activar interfaz reporte asignaturas (pensum) : 3. Mostrar reporte de asignaturas (pensum) 4. Imprimir reporte

48

Prototipo del Sistema de Información de PROMECYS

CASO DE USO: DEFINICIÓN PRIORIDAD URGENCIA

NOMBRE Empleado

: Registrar grupo :

Permite tener registros de los grupos que asignados de acuerdo a la cantidad de alumnos

han

: (1) Vital

(2) Importante

(3) Conveniente

: (1)Inmediata

(2) Necesario

(3) Puede Esperar

ACTORES DEFINICION Es el encargado de llevar a cabo todos los procesos de Promecys. ESCENARIO UNICO Nombre

sido

: Registrar grupo

Pre-Condiciones Iniciado por Finalizado por Post-Condiciones

: : : :

Operaciones

:

Ninguna Empleado Empleado ninguna 1. Activar interfaz Grupo 2. Registrar grupo 3. Guardar registro

49

Prototipo del Sistema de Información de PROMECYS

CASO DE USO: DEFINICIÓN PRIORIDAD URGENCIA NOMBRE Empleado

: Registro de Profesor :

Permite almacenar los datos de los docentes de imparten clase a los diferentes grupos de Promecys.

: (1) Vital

(2) Importante

(3) Conveniente

: (1)Inmediata

(2) Necesario

(3) Puede Esperar

ACTORES DEFINICION Es el que lleva a cabo todos los procesos en Promecys ESCENARIO #1 Nombre : Ingresar datos nuevo Profesor

Pre-Condiciones

: ninguna

Iniciado por Finalizado por Post-Condiciones

: Empleado : Empleado : ninguna

Operaciones

:

Nombre Pre-Condiciones Iniciado por Finalizado por Post_Condiciones

: : : : :

Operaciones

:

1. Activar interfaz registro de Profesor 2. Introducir datos de profesor 3. Guardar registro ESCENARIO #2 Imprimir reporte de registro Profesor ninguna Empleado empleado ninguna 1. 2. 3. 4.

Activar interfaz Registro de Profesor Activar interfaz reporte Profesor Mostrar reporte profesor Imprimir reporte profesor

50

Prototipo del Sistema de Información de PROMECYS

CASO DE USO:

DEFINICIÓN PRIORIDAD URGENCIA NOMBRE Empleado

: Registro Empleados Permite registrar los empleados que forman parte del : programa para llevar un mejor control de la información de los mismos. : (1) Vital

(2) Importante

(3) Conveniente

: (1)Inmediata

(2) Necesario

(3) Puede Esperar

ACTORES DEFINICION Es el encargado de llevar a cabo todos los procesos de Promecys. ESCENARIO #1 Nombre

: Ingresar datos nuevo empleado

Pre-Condiciones Iniciado por Finalizado por Post-Condiciones

: : : :

Operaciones

:

Nombre Pre-Condiciones Iniciado por Finalizado por Post_Condiciones

: : : : :

Operaciones

:

Ninguna Empleado Empleado ninguna 1. Activar la interfaz Registro de empleado 2. Ingresar datos empleado 3. Guardar registro ESCENARIO #2 Imprimir reporte empleados ninguna Empleado Empleado ninguna 1. Activar la interfaz Registro de empleados 2. Activar interfaz reporte de empleados 3. Mostrar reporte empleados 4. Imprimir reporte empleados

51

Prototipo del Sistema de Información de PROMECYS

CASO DE USO: DEFINICIÓN PRIORIDAD URGENCIA

NOMBRE Empleado

: Relación profesor_grupo_asignaturas Permite tener conocimiento de que profesores : determinadas asignaturas en grupos determinados

imparten

: (1) Vital

(2) Importante

(3) Conveniente

: (1)Inmediata

(2) Necesario

(3) Puede Esperar

ACTORES DEFINICION Es el encargado de llevar a cabo todos los procesos de Promecys. ESCENARIO #1 Nombre

: Registrar relación profesor_grupo_asignatura

Pre-Condiciones Iniciado por Finalizado por Post-Condiciones

: : : :

Operaciones

:

Ninguna Empleado Empleado ninguna 1. Activar interfaz vinculo profesor_grupo_asignatura 2. Asignar relaciones 3. Guardar registro ESCENARIO #2

Nombre Pre-Condiciones Iniciado por Finalizado por Post-Condiciones Operaciones

: Imprimir reporte relación profesor_grupo_asignatura : : : :

ninguno Empleado Empleado ninguno 1. Activar interfaz vinculo profesor_grupo_asignatura 1. Activar interfaz reporte profesor_grupo_asignatura : 2. Mostrar reporte 3. Imprimir reporte

52

Prototipo del Sistema de Información de PROMECYS

DIAGRAMAS DE SECUENCIA Y COLABORACION Caso de Uso: Prematricula Escena 1: Agregar Prematricula sin inconvenientes Diagrama de Secuencia

Interfaz Prematricula

: Empleado

Registro Prematricula

ingresar datos guardar datos

buscar datos busca datos no encontrados guardar datos guarda datos guardados

Diagrama de Colaboración

1: ingresar datos 2: guardar datos Interfaz Prematricula : Empleado 5: datos no encontrados 8: datos guardados

3: buscar datos 6: guardar datos

4: busca 7: guarda Registro Prematricula

53

Prototipo del Sistema de Información de PROMECYS

Caso de Uso: Prematricula Escena 2: Prematricula de un registro existente Diagrama de Secuencia Interfaz Prematricula

Registro Prematricula

: Empleado ingresar datos guardar datos ()

buscar datos () busca "datos encontrados" muestra datos

actualiza datos prematricula guardar datos ()

guardar datos () guarda "datos guardados"

Diagrama de Colaboración 1: ingresar datos 2: guardar datos () 7: actualiza datos prematricula 8: guardar datos () Interfaz Prematricula

: Empleado

5: "datos encontrados" 6: muestra datos 11: "datos guardados"

3: buscar datos () 9: guardar datos ()

4: busca 10: guarda Registro Prematricula

54

Prototipo del Sistema de Información de PROMECYS

Caso de Uso: Prematricula Escena 3: Imprimir hoja prematricula Diagrama de Colaboración

Interfaz Prematricula

: Empleado

imprimir hoja prematricula ()

Reporte Prematricula

mostrar reporte prematricula despliega reporte

muestra reporte prematricula aceptar impresion reporte impreso

Diagrama de Colaboración 1: imprimir hoja prematricula () Interfaz Prematricula : Empleado 5: aceptar impresion 2: mostrar reporte prematricula

4: muestra reporte prematricula 6: reporte impreso

3: despliega reporte

Reporte Prematricula

55

Prototipo del Sistema de Información de PROMECYS

Caso de Uso: Matricula Escena 1: Registrar matricula de primer ingreso Diagrama de Colaboración

Interfaz Matricula

: Empleado

Registro Prematricula

Registro Asignatura

Registro Maticula

Registro Inscripcion

Registro Estudiante

Registro Notas

buscar datos estudiante() buscar datos estudiante() busca muestra datos

buscar asignaturas a inscribir() busca "muestra asignaturas a inscribir" "introduce datos matricula" "introduce datos inscrpción" Guardar datos()

guardar datos() guarda "datos guardados" guardar datos() guarda "datos guardados" guardar datos() guarda "datos guardados"

guardar datos() guarda "datos guardados"

56

Prototipo del Sistema de Información de PROMECYS

Diagrama de Colaboración

3: busca

21: guarda Registro Notas

Registro Prematricula

20: guardar datos()

2: buscar datos estudiante() 4: muestra datos 1: buscar datos estudiante() 8: "introduce datos matricula" 9: "introduce datos inscrpción" 10: Guardar datos()

22: "datos guardados"

6: busca

5: buscar asignaturas a inscribir() Interfaz Matricula

Registro Asignatura 7: "muestra asignaturas a inscribir"

: Empleado 13: "datos guardados"

12: guarda

16: "datos guardados" 11: guardar datos()

17: guardar datos()

14: guardar datos() 19: "datos guardados"

Registro Maticula 15: guarda Registro Inscripcion

57

18: guarda

Registro Estudiante

Prototipo del Sistema de Información de PROMECYS

Caso de Uso: Matricula Escena 2: Registrar matricula de reingreso Diagrama de Colaboración Interfaz Matricula

Registro Estudiante

Registro Asignatura

Registro Notas

Registro Inscripcion

Registro Matricula

: Empleado buscar datos estudiantes ()

buscar datos ()

busca

"muestra datos" introduce datos matricula cargar datos inscripcion buscar asignaturas a inscribir () busca

compara asignaturas compara asignaturas filtradas muestra asignaturas

guardar datos () guardar datos ()

guarda

"datos guardados" guardar datos () guarda "datos guardados" guardar datos ()

guarda

"datos guardados" guardar datos () guarda "datos guardados"

58

Prototipo del Sistema de Información de PROMECYS

Diagrama de Colaboración

22: guarda

3: busca 16: guarda

Registro Inscripcion

21: guardar datos ()

Registro Estudiante

23: "datos guardados" 2: buscar datos () 15: guardar datos ()

1: buscar datos estudiantes () 5: introduce datos matricula 6: cargar datos inscripcion 14: guardar datos ()

4: "muestra datos" 17: "datos guardados"

Interfaz Matricula 24: guardar datos () : Empleado

26: "datos guardados" 12: muestra asignaturas 20: "datos guardados" 18: guardar datos ()

8: busca 13:

7: buscar asignaturas a inscribir () 10: compara 19: guarda 9: compara asignaturas

Registro Asignatura

Registro Notas 11: asignaturas filtradas

59

25: guarda

Registro Matricula

Prototipo del Sistema de Información de PROMECYS

Caso de Uso: Matricula Escena 3: Actualizar datos estudiantes Diagrama de Secuencia

Interfaz Matricula

: Empleado

actualizar datos estudiantes ()

Interfaz actualizar datos estduante

Regsitro Estudiante

desplegar interfaz despliega y muestra datos

actualizar y guardar () guardar datos () guarda "datos guardados"

"datos guardados"

Diagrama de Colaboración

1: actualizar datos estudiantes () Interfaz Matricula : Empleado

4: actualizar y guardar ()

2: desplegar interfaz 6: guarda

8: "datos guardados"

3: despliega y muestra datos 5: guardar datos () Interfaz actualizar datos estduante

Regsitro Estudiante 7: "datos guardados"

60

Prototipo del Sistema de Información de PROMECYS

Caso de Uso: Matricula Escena 4: Imprimir hoja matricula Diagrama de Secuencia

Interfaz Matricula

: Empleado

imprimir hoja matricula ()

Reporte Matricula

mostrar reporte prematricula despliega reporte

muestra reporte matricula aceptar impresion reporte impreso

Diagrama de Colaboración

1: imprimir hoja matricula () Interfaz Matricula : Empleado 5: aceptar impresion 2: mostrar reporte matricula

4: muestra reporte matricula 6: reporte impreso

3: despliega reporte

Reporte Matricula

61

Prototipo del Sistema de Información de PROMECYS

Caso de Uso: Inscripción Escena 1: Inscripción sin inconvenientes Diagrama de Secuencia

Interfaz Inscripcion

: Empleado

buscar datos estudiante ()

Registro Estudiante

Registro Asignatura

Registro Notas

Registro Inscripcion

buscar datos estudiantes () busca muestra datos

cargar datos inscripcion buscar asignaturas a inscribir () busca

comparar asignaturas compara asignaturas filtradas

muestra asignaturas selecciona datos inscripcion

guardar datos ()

guardar datos inscripcion () guarda "datos guardados"

guardar datos () guarda "datos guardados"

62

Prototipo del Sistema de Información de PROMECYS

Diagrama de Colaboración 3: busca

Registro Estudiante 2: buscar datos estudiantes () 4: muestra datos 1: buscar datos estudiante () 5: cargar datos inscripcion 12: selecciona datos inscripcion 13: guardar datos ()

18: guarda

17: guardar datos () Interfaz Inscripcion

Registro Inscripcion 19: "datos guardados"

: Empleado

11: muestra asignaturas 14: guardar datos inscripcion () 16: "datos guardados"

7: busca 6: buscar asignaturas a inscribir () 9: compara 15: guarda 8: comparar asignaturas Registro Asignatura

Registro Notas 10: asignaturas filtradas

63

Prototipo del Sistema de Información de PROMECYS

Caso de Uso: Inscripción Escena 2: Botar asignatura inscrita Diagrama de Secuencia

Interfaz Inscripcion

: Empleado

buscar datos estudiante ()

Registro Estudiante

Registro Matricula

Registro Inscripcion

Registro Notas

buscar datos estudiante () busca muestra datos estudiante

buscar matricula () busca buscar inscripcion () busca

buscar datos inscripcion () busca botar asignatura ()

muestra datos inscripcion

guardar datos ()

guardar datos () guarda "datos guardados"

64

Prototipo del Sistema de Información de PROMECYS

Diagrama de Colaboración

3: busca 1: buscar datos estudiante () 12: botar asignatura () 13: guardar datos ()

2: buscar datos estudiante () Interfaz Inscripcion

Registro Estudiante 4: muestra datos estudiante

: Empleado 11: muestra datos inscripcion 16: "datos guardados" 10: busca 15: guarda

5: buscar matricula ()

8: busca

6: busca

Registro Inscripcion

Registro Matricula

14: guardar datos ()

Registro Notas 9: buscar datos inscripcion ()

7: buscar inscripcion ()

65

Prototipo del Sistema de Información de PROMECYS

Caso de Uso: Inscripción Escena 3: Imprimir hoja inscripción Diagrama de Secuencia

Interfaz Inscripcion

: Empleado

Reporte Inscripcion

imprimir hoja inscripcion () mostrar reporte inscripcion despliega reporte

muestra reporte inscripcion aceptar impresion reporte impreso

Diagrama de Colaboración 1: imprimir hoja inscripcion () Interfaz Inscripcion : Empleado 5: aceptar impresion 2: mostrar reporte inscripcion

3: despliega reporte 4: muestra reporte inscripcion 6: reporte impreso

Reporte Inscripcion

66

Prototipo del Sistema de Información de PROMECYS

Caso de Uso: Notas Escena 1: Ingresar notas Diagrama de Secuencia

Interfaz Notas

Registro Estudiante

Registro Notas

: Empleado buscar datos estudiante ()

buscar datos () busca muestra datos

buscar asignaturas inscritas () busca muestra datos asignaturas ingresa notas guardar datos ()

guardar datos () guarda "datos guardados"

Diagrama de Colaboración 3: busca 1: buscar datos estudiante () 8: ingresa notas 9: guardar datos ()

2: buscar datos () Interfaz Notas

Registro Estudiante 4: muestra datos

: Empleado 7: muestra datos asignaturas 12: "datos guardados"

5: buscar asignaturas inscritas () 10: guardar datos ()

6: busca 11: guarda Registro Notas

67

Prototipo del Sistema de Información de PROMECYS

Caso de Uso: Notas Escena 2: Imprimir certificado de notas Diagrama de Secuencia

Interfaz Notas

Registro Estudiante

: Empleado

Registro Notas

Reporte Notas

buscar datos estudiante () buscar datos estudiante ()

busca

muestra datos estudiante buscar datos notas () buscar datos notas ()

busca

muestra datos notas imprimir certificado de notas () mostrar reporte notas despliega reporte

muestra reporte notas aceptar impresion reporte impreso

68

Prototipo del Sistema de Información de PROMECYS

Diagrama de colaboración

3: busca

Registro Estudiante

4: muestra datos estudiante

2: buscar datos estudiante ()

7: busca 1: buscar datos estudiante () 5: buscar datos notas () 9: imprimir certificado de notas ()

6: buscar datos notas () Interfaz Notas

Registro Notas 8: muestra datos notas

: Empleado 13: aceptar impresion

10: mostrar reporte notas

12: muestra reporte notas 14: reporte impreso

11: despliega reporte

Reporte Notas

69

Prototipo del Sistema de Información de PROMECYS

Caso de uso: Registro Asignatura Escena 1: Asignar precedencia Diagrama de Secuencia

: Empleado

Interfaz Asignatura

buscar asignatura ()

Registro Asignatura

Interfaz Precedencia

Registro Precedencia

buscar asignatura () busca muestra asignatura

asignar precedencia activar interfaz

activa interfaz

buscar datos precedencia () busca datos () busca muestra datos

muestra datos precedencia selecciona precedencia guardar datos precedencia ()

guardar datos () guarda "datos guardados"

"datos guardados"

70

Prototipo del Sistema de Información de PROMECYS

Diagrama de Colaboración

3: busca 10: busca

1: buscar asignatura () 5: asignar precedencia

2: buscar asignatura () Interfaz Asignatura

: Empleado

Registro Asignatura 4: muestra asignatura

8: buscar datos precedencia () 13: selecciona precedencia 14: guardar datos precedencia ()

9: busca datos () 11: muestra datos 6: activar interfaz

12: muestra datos precedencia 18: "datos guardados"

7: activa interfaz

16: guarda

15: guardar datos () Interfaz Precedencia

Registro Precedencia 17: "datos guardados"

71

Prototipo del Sistema de Información de PROMECYS

Caso de Uso: Registro Asignatura Escena 2: Asignar prerrequisito Diagrama de Secuencia

: Empleado

Interfaz Asignatura

buscar asignatura ()

Registro Asignatura

Interfaz Prerrequisito

Registro Prerrequisito

buscar asignatura () busca muestra asignatura

asignar prerrequisito activar interfaz

activa interfaz

buscar datos prerrequisito () busca datos () busca muestra datos

muestra datos prerrequisito selecciona prerrequisito guardar datos prerrequisito ()

guardar datos () guarda "datos guardados"

"datos guardados"

72

Prototipo del Sistema de Información de PROMECYS

Diagrama de Colaboración 3: busca 10: busca

1: buscar asignatura () 5: asignar prerrequisito

2: buscar asignatura () Interfaz Asignatura

: Empleado

Registro Asignatura 4: muestra asignatura

8: buscar datos prerrequisito () 13: selecciona prerrequisito 14: guardar datos prerrequisito ()

9: busca datos () 11: muestra datos 6: activar interfaz

12: muestra datos prerrequisito 18: "datos guardados"

7: activa interfaz

16: guarda

15: guardar datos () Interfaz Prerrequisito

Registro Prerrequisito 17: "datos guardados"

73

Prototipo del Sistema de Información de PROMECYS

Caso de Uso: Registro Asignatura Escena 3: Imprimir Pensum Diagrama de Secuencia

: Empleado

Interfaz Asignatura

buscar datos pensum ()

Registro Asignatura

Registro Precedencia

Registro Prerrequisito

Reporte Pensum

buscar datos pensum () busca

buscar precedencias () busca muestra precedencias

buscar prerrequisitos () busca muestra prerrequisitos muestra datos pensum imprimir pensum ()

mostrar reporte pensum despliega reporte

muestra reporte pensum aceptar impresion reporte impreso

74

Prototipo del Sistema de Información de PROMECYS

Diagrama de Colaboración

3: busca

1: buscar datos pensum () 11: imprimir pensum ()

2: buscar datos pensum () Interfaz Asignatura

Registro Asignatura 10: muestra datos pensum

: Empleado 4: buscar precedencias () 15: aceptar impresion 9: muestra prerrequisitos

14: muestra reporte pensum 16: reporte impreso

5: busca

13: despliega reporte 12: mostrar reporte pensum

8: busca

6: muestra precedencias

7: buscar prerrequisitos () Reporte Pensum

Registro Prerrequisito

75

Registro Precedencia

Prototipo del Sistema de Información de PROMECYS

Caso de Uso: Registro Grupo Escenario único: registrar grupo Diagrama de Secuencia

Interfaz Grupo

Registro Grupo

: Empleado introducir datos grupo guardar datos grupo ()

guardar datos grupo () guarda datos guardados

Diagrama de Colaboración 1: introducir datos grupo 2: guardar datos grupo () Interfaz Grupo : Empleado

3: guardar datos grupo () 5: datos guardados 4: guarda

Registro Grupo

76

Prototipo del Sistema de Información de PROMECYS

Caso de Uso: Registro Profesor Escena 1: Registrar nuevo profesor Diagrama de Secuencia

Interfaz Profesor

: Empleado

Registro Profesor

ingresar datos profesor guardar datos profesor ()

guardar datos profesor () guarda "datos guardados"

Diagrama de Colaboración

1: ingresar datos profesor 2: guardar datos profesor () Interfaz Profesor 3: guardar datos profesor () : Empleado

5: "datos guardados"

4: guarda

Registro Profesor

77

Prototipo del Sistema de Información de PROMECYS

Caso de Uso: Registro Profesor Escena 2: Imprimir reporte registro profesor Diagrama de Secuencia

Interfaz Profesor

: Empleado

Registro Profesor

buscar registros profesor ()

Interfaz Reporte Profesor

buscar registros () busca muestra registros profesor

imprimir reporte profesor () mostrar reporte profesor despliega reporte

muestra reporte profesor aceptar "reporte impreso"

Diagrama de Colaboración 3: busca

1: buscar registros profesor () 5: imprimir reporte profesor ()

2: buscar registros () Interfaz Profesor

Registro Profesor 4: muestra registros profesor

: Empleado 9: aceptar

8: muestra reporte profesor 10: "reporte impreso"

6: mostrar reporte profesor

7: despliega reporte

Interfaz Reporte Profesor

78

Prototipo del Sistema de Información de PROMECYS

Caso de Uso: Registro Empleados Escena 1: Ingresar datos nuevo empleado Diagrama de Secuencia

Interfaz Empleado

: Empleado

Registro Empleado

ingresar datos empleados guardar datos()

guardar registro()

guarda

"registro guardado"

Diagrama de Colaboración

1: ingresar datos empleados 2: guardar datos() Interfaz Empleado : Empleado 3: guardar registro() 5: "registro guardado"

4: guarda

Registro Empleado 79

Prototipo del Sistema de Información de PROMECYS

Caso de Uso: Registro Empleados Escena 2: Imprimir reporte empleados Diagrama de Secuencia

Interfaz Empleado

Registro Empleado

Interfaz Reporte Empleado

: Empleado buscar datos empleados ()

buscar datos empleados () busca muestra registros empleados ()

imprimir reportes empleados () mostrar reporte empleados despliega reporte

muestra reporte empleados aceptar "reporte impreso"

Diagrama de Colaboración

3: busca

1: buscar datos empleados () 5: imprimir reportes empleados ()

2: buscar datos empleados () Interfaz Empleado

Registro Empleado 4: muestra registros empleados ()

: Empleado 9: aceptar 6: mostrar reporte empleados

8: muestra reporte empleados 10: "reporte impreso"

7: despliega reporte Interfaz Reporte Empleado

80

Prototipo del Sistema de Información de PROMECYS

Caso de Uso: Relación profesor_gupo_asignaturas Escena 1: Registrar relación profesor_grupo_asignatura Diagrama de Secuencia

Interfaz Relacion profesor _grupo_asigantura

Registro Profesor

Registro Asignatura

Registro Grupo

Registro asig_prof_ grupo

: Empleado buscar datos () buscar datos profesor () busca mostrar datos profesor

buscar datos asignaturas ()

busca

muestra datos asignaturas

busca datos grupo () busca muestra datos grupo seleccionar relaciones guardar relaciones ()

guardar relaciones () guarda "relaciones guardadas"

81

Prototipo del Sistema de Información de PROMECYS

Diagrama de Colaboración

Registro Profesor

2: buscar datos profesor ()

14: guarda

4: mostrar datos profesor

1: buscar datos () 11: seleccionar relaciones 12: guardar relaciones ()

13: guardar relaciones () Interfaz Relacion profesor _grupo_asigantura

Registro asig_ prof_grupo 15: "relaciones guardadas"

: Empleado 10: muestra datos grupo 5: buscar datos asignaturas () 9: busca

8: busca datos grupo () 6: busca

7: muestra datos asignaturas Registro Grupo

Registro Asignatura

82

Prototipo del Sistema de Información de PROMECYS

Caso de Uso: Relación profesor_gupo_asignaturas Escena 2: Imprimir reporte relación profesor_grupo_asignatura Diagrama de Secuencia

Interfaz Relacion profesor_ grupo_asignatura

: Empleado

Registro asig_prof _grupo

Interfaz Reporte asi g_profesor_grupo

buscar relaciones profesor_asignatura_grupo () buscar relaciones () busca muestra relaciones imprimir reporte () mostrar reporte de relaciones despliega reporte

muestra reporte aceptar "reporte impreso"

83

Prototipo del Sistema de Información de PROMECYS

Diagrama de Colaboración

3: busca

1: buscar relaciones profesor_asignatura_grupo () 5: imprimir reporte ()

2: buscar relaciones () Interfaz Relacion profesor _grupo_asignatura

Registro asig_ prof_grupo 4: muestra relaciones

: Empleado

9: aceptar 6: mostrar reporte de relaciones 8: muestra reporte 10: "reporte impreso"

7: despliega reporte

Interfaz Reporte asig_prof_grupo

84

Prototipo del Sistema de Información de PROMECYS

CAPITULO III: DISEÑO DE LA BASE DE DATOS DEL SISTEMA “Si evalúas siempre que terminas, poco a poco irás planificando cada vez mejor.”

85

Prototipo del Sistema de Información de PROMECYS

CLASES Para lograr una visión sencilla y funcional de los objetos involucrados en el sistema de matrículas e inscripciones de PROMECYS es necesario diseñar un modelo de clases que refleje el entorno que estamos estudiando, además con este se podrán visualizar de forma mas simple las relaciones que existen entre las clases involucradas en el sistema. Tomando en cuenta la descripción del sistema actual y guiándose por medio de los casos de uso y los escenarios que estos presentan, logramos identificar las siguientes clases: Estudiante, Empleado, Prematrícula, Matrícula, Inscripción, Nota, Asignatura, Profesor. Estudiante: Es una de las clases mas importantes ya que representa el principal involucrado en las actividades del sistema, por medio de esta clase se puede accesar a los datos de cada uno de los estudiantes que pertenecen al programa tomando como atributo de identificación es Idestudiante. Los métodos que se realizaran en esta clase son: Agregar, Buscar, Modificar. Es importante señalar las relaciones que tiene la clase estudiante con el resto de las clases involucradas con el sistema. Estudiante

1 +Posee

1 +Tiene

1

* Matricula

Prematricula

-

La relación de Estudiante con Prematrícula se da por asociación, donde 1 estudiante posee 1 prematrícula. La relación Estudiante con Matrícula se da por composición, donde 1 estudiante tiene muchas matrículas.

Empleado: Representa el registro de empleados de PROMECYS que pueden tener acceso al sistema o que llevan a cabo una funcionalidad en el mismo. Los métodos de esta clase representan la posibilidad de de Agregar un nuevo empleado, buscar y modificar datos de empleado, el atributo que lo identifica es código de empleado (Idempleado). La relación de esta clase se detalla a continuación:

86

Prototipo del Sistema de Información de PROMECYS Empleado

1 +Ingresa

1 +Ingresa *

* Prematricula

-

Matricula

La relación de Empleado con Prematrícula se da por agregación, donde 1 empleado ingresa muchas Prematrículas. La relación de Empleado con Matrícula se da por agregación, donde 1 empleado ingresa muchas Matrículas, Matrícula: Representa todas las matrículas que se han hecho en el programa, identificado por medio de un número de matrícula (Idmatrícula), conteniendo la fecha en que se emite. Los métodos utilizados en esta clase son: Agregar, Buscar y Retirar Matrícula. Esta clase se relaciona con las clases Prematrícula e Inscripción.

Matricula 1

1

+Tiene

+Requiere

3

1 Prematricula

Inscripcion

- La relación de Matrícula con Prematrícula se da por asociación, donde 1 matrícula requiere de 1 prematrícula. - La relación de Matrícula con Inscripción se da por composición, donde 1 matrícula tiene 3 inscripciones. Prematrícula: Representa todas las prematrículas que se han hecho en el programa, el cual contiene la fecha en que se emite. Los métodos a utilizar en esta clase son: Agregar y Buscar Prematrícula.

87

Prototipo del Sistema de Información de PROMECYS

Inscripción: Son todas las inscripciones de asignaturas que realizan los estudiantes en cada cuatrimestre, esta clase se identifica con un código de inscripción (Idinscripción), contiene datos como el cuatrimestre, beca y fecha en que se emite la inscripción. Los métodos que pertenecen a esta clase son: Agregar, Modificar, Buscar inscripción y Botar Asignatura,

Inscripcion

-

1

1..4

+Le Corresponde

Nota

La relación de Inscripción con Nota se da por composición, donde 1 inscripción le corresponde de 1-4 notas.

Asignatura: Representa todas la asignaturas que se sirven durante la carrera es identificada por un código de asignatura, en esta clase se describe el nombre de la asignatura, el año y e cuatrimestre al que pertenece. Los métodos que se utilizaran en esta clase son: Modificar y Agregar asignatura. Esta clase se relaciona con Inscripción, tal relación es: 1

Asignatura

-

+Esta en

*

Inscripcion

La relación de Asignatura con Inscripción se da por composición, donde 1 Asignatura está en muchas inscripciones.

Profesor: Esta clase permite identificar el registro de profesores con los que cuenta el programa ya que son un pilar muy importante para llevar a cabo el mismo, además es importante contar con esta información ya que forma parte del registro. Para esta clase se han definido atributos y métodos tales como: Agregar Profesor, Buscar y Modificar datos de profesor. La relación que se puede establecer con esta clase es la siguiente: Profesor

*

+Imparten

*

Asignatura

- La relación de Profesor con Asignatura esta dada por asociación, donde muchos profesores imparten muchas asignaturas. Nota: Esta clase contiene las notas de las asignaturas inscritas por medio de las cuales el empleado (usuario), verifica la calificación de las asignaturas que pueden ser aprobado o reprobado el cual se refleja en la solicitud del certificado de notas. Los métodos utilizados en esta clase son: Agregar, Buscar y Modificar.

88

Prototipo del Sistema de Información de PROMECYS

TIPOS DE DATOS Atributos: Los atributos o características de una clase pueden ser de tres tipos, los que definen el grado de comunicación y visibilidad de ellos con el entorno, estos son: Publico: Indica que el atributo será visible tanto dentro como fuera de la clase, es decir, es accesible desde todos lados. Privado: Indica que el método solo será accesible desde dentro de la clase (solo sus métodos lo pueden accesar). Protegido: Indica que el atributo no será accesible desde fuera de la clase, pero si podrá ser accesado por métodos de la clase además de métodos de las subclases que se deriven. En las clases que se han creado el tipo de dato para el atributo identificador de cada clase público, ya que a través de este se relacionan con las demás clases. Los demás atributos de las clases son de tipo privado, de modo que solo los métodos que pertenecen a la clase pueden accesar a ellos (atributos). Métodos: Los métodos u operaciones de una clase son la forma en como ésta interactúa con su entorno, estos pueden ser: Publico: Indica que el método será visible tanto dentro como fuera de la clase, es decir, es accesible desde todos lados. Privado: Indica que el método solo será accesible desde dentro de la clase (solo otros métodos de la clase lo pueden accesar). Protegido: Indica que el método no será accesible desde fuera de la clase, pero si podrá ser accesado por métodos de la clase además de métodos de las subclases que se deriven. El tipo de dato de algunos de los métodos es público, ya que se puede accesar a ellos de todos lados, otro tipo de datos asignados a los métodos es privado, ya que este solamente se puede accesar los métodos de la misma clase. En la clase Matrícula el método RetirarMatrícula es de tipo Privado, ya que solo los métodos de la clase pueden accesar al mismo, en la clase inscripción el método BotarAsignatura es privado por tanto no se puede accesar desde fuera de la clase.

89

Prototipo del Sistema de Información de PROMECYS

DIAGRAMA DE CLASES PROMECYS Matricula Idmatricula : long Idestudiante : long Recibo : int Anio : int Fecha : Date Becado : int

*

* Agregar() Buscar() RetirarMatrícula()

+Ingresa Empleado Idempleado : int PrimerNombre : String SegundoNombre : String PrimerApellido : String SegundoApellido : String Direccion : String Cargo : String Sexo : int Telefono : String Celular : String Agregar() Modificar() Buscar()

1

1

1

+Tiene 3

1

Nota Idinscripcion : long Idasignatura : String Idgrupo : String Nota : Float Calificacion : int

+Corresponde 1..4

Agregar() Buscar() Modificar()

Agregar() Modificar() Buscar() BotarAsignatura() *

+Requiere +Esta en

1 1 1

+Ingresa

Prematricula Idestudiante : long Recibo : int Fecha : Date Empleado : int

1 * Estudiante Idestudiante : Long Carnet : String PrimerNombre : String SegundoNombre : String PrimerApellido : String SegundoApellido : String EstadoCivil : int Sexo : int Fechanac : Datetime Lugarnac : String Nacionalidad : String Departamento : String Municipio : String Direccion : String Centro_Ensenanza : String Cedula : String Telefono : String Celular : String Correo : String Lugar : String Cargo : String DireccionT : String TelefonoT : String Fax : String

Inscripcion IdInscripcion : long Idmatricula : long Cuatrimestre : int Idempleado : int Fecha : Date Becado : int

1

Agregar() Buscar()

Asignatura Idasignatura : String Descripcion : String Cuatrimestre : int Creditos : int Anio : int Modificar() Agregar()

*

+Imparten

*

Profesor Idprofesor : int PrimerNombre : String SegundoNombre : String PrimerApellido : String SegundoApellido : String Sexo : int Direccion : String Especialidad : String Tipo : int Telefono : String Celular : String Fecha : Date Estado : int Agregar() Modificar() Buscar()

+Posee

1

Agregar() Modificar() Buscar()

90

Prototipo del Sistema de Información de PROMECYS

DIAGRAMAS DE ESTADO Los diagramas de estado, nos muestran la secuencia de estados por los que pasan las clases matricula, estudiante y profesor. La matricula pasa por dos estados, cuando esta se realiza esta vigente y tiene que ser renovada sigue en el mismo estado (vigente), pero se da el caso en que se retira y su estado inmediatamente es retirada. Cuando un estudiante realiza una matrícula se dice que está activo, si la matricula se reanuda sigue siendo activo, cuando la matricula de suspende pasa a ser un estudiante retirado, y el ultimo estado por el que pasa el estudiante es cuando culmina el pensum y entonces se convierte en estudiante egresado. El ultimo diagrama de estado que se muestra es el de profesor que pasa también por dos estados que es activo cuando firma un contrato e imparte una o varias asignaturas, si se le renueva el contrato sigue siendo activo, pero una vez que el contrato es cancelado su estado pasa a inactivo

DIAGRAMA DE ESTADO Clase: Estudiante

reanudar matricula

matricularse

Activo

culmina pensum

suspende matricula

Retirado

91

Egresado

Prototipo del Sistema de Información de PROMECYS

DIAGRAMA DE ESTADO Clase: Matricula

renovar matricula

realiza matricula

Vigente

retira metricula

Retirada

DIAGRAMA DE ESTADO Clase: Profesor

renovar contrato

imparte asignatura

Activo

cancela contrato

Inactivo

92

Prototipo del Sistema de Información de PROMECYS

ESTRUCTURA DE LA BD SEGURIDAD Una base de datos no es más que una colección de objetos interrelacionados entre sí que sirven para almacenar, recuperar y manipular información, y permiten crear reportes a partir de la misma. La base de datos que almacenará la información de todos los procesos que se llevan acabo en PROMECYS estará diseñada en SQL Server 2000. SQL que es una herramienta para organizar, gestionar y recuperar datos almacenados. Es de suma importancia que los datos que se manipulan en PROMECYS sean almacenados de forma segura y eficiente, lo que se logra a través de SQL Server 2000 ya que éste permite crear consultas a través de la herramienta Query Analyzer que implementa las cláusulas pertinentes para crear una base de datos por medio de código puro. Lo primero que debemos tomar en cuenta al diseñar una base de datos es que ésta sea lo suficientemente segura y confiable ya que almacenará datos muy importantes de la institución y cualquier flujo de información podría representar un problema bastante serio. Para ello nos apoyamos de las cuentas de usuarios, las cuales restringen el acceso a la base de datos por medio de contraseña, se creó una cuenta de acceso para la base de datos en el Query con la siguiente estructura: SP_ADDLOGIN ‘ADMINISTRADOR’,’ADMIN’,`DBPROMECYS` Para mantener un orden en la estructura de la base de datos, tomamos en cuenta la uniformidad en los nombres de los componentes, y definimos lo más claro posible los procesos y convenciones que utilizamos para el manejo de la misma. TABLAS: Los nombres de las tablas en la base de datos serán escritos con su primera letra en mayúscula representando cada una al objeto o actividad a la que pertenece. Los atributos de cada tabla serán escritos todos en letras minúsculas, especificando sus llaves de identificación con el prefijo “id” seguido del nombre de la tabla. Los atributos que representan valores booleanos serán de tipo bit donde el valor 0 (cero) significa No, Masculino, Reprobado, Inactivo y 1 (uno) significa Sí, Femenino, Aprobado y Activo según la tabla a la que pertenece el atributo.

93

Prototipo del Sistema de Información de PROMECYS

MODELO DE DATOS

94

Prototipo del Sistema de Información de PROMECYS

DICCIONARIO DE DATOS Aquí definimos como están compuestas cada una de la tablas de la base de datos, especificando la funcionalidad de sus atributos: Asignatura: Contiene el registro de las asignaturas de la carrera.

Nombre del atributo

Reque rido

Idasignatura

si

Descripcion Cuatrimestre

si si

Tipo de dato

Tamaño

Definición

4

Llave principal, identificador único de la asignatura

4 4

Nombre de la asignatura Cuatrimestre en el que se imparte la asignatura Representan la cantidad limite de veces que se puede llevar la asignatura Representa el anio escolar al que pertenece la asignatura

Varchar

Varchar Int

4 Credito

si

Int

Anio

si

Int

4

Formato, formula o Comentario Formato: 0000, XXX, XXX0 No puede excederse de 3 --

--

AsigGrupoProf: Es el control de las asignaturas que imparten los profesores y los grupos en donde se imparten las mismas

Nombre del atributo

Requ erido

Idasignatura

si

Idgrupo

si

idprofesor

si

Fecha

si

Tipo de dato Varchar

Tamaño

Definición

4

Varchar

4

Es el código de la asignatura que se imparte Representa el grupo en que se impartió la asignatura Es el código de los profesores que imparten determinada asignatura Representa la fecha en que determinado profesor impartió la asignatura

int

4

Datetime

8

95

Formato, formula o Comentario Formato asig: 0000, XXX, XXX0

Todos los atributos de la tabla en conjunto representa su llave primaria

Prototipo del Sistema de Información de PROMECYS

Departamento: Contiene el registro de los departamentos de los estudiantes

Nombre del atributo idepartamento

Reque rido si

Tipo de dato Varchar

Tamaño

Definición

4

Llave principal, es el nombre del departamento

Formato, formula o Comentario --

Empleado: Contiene el registro de la información personal y laboral de los empleados

Nombre del atributo

Requ erido

Tipo de dato

Tamaño

Definición

Idempleado

si

Int

4

si

Varchar

4

Llave principal, identificador unico del empleado Numero de cedula del empleado

Cedula

primernombre

si

Varchar

4

segundonombre

no

Varchar

4

Primerapellido

si

Varchar

4

Segundoapellido

no

Varchar

4

Direccion

si

Varchar

4

Cargo Sexo Telefono

si si no

Varchar Bit Varchar

4 1 4

Primer nombre del empleado Segundo nombre del empleado Primer apellido del empleado Segundo apellido del empleado Direccion domiciliar del empleado Cargo que desempeña Sexo del empleado Telefono convencional

Celular

no

Varchar

4

Telefono celular

96

Formato, formula o Comentario --

Formato: 000-0000000000X -------Formato: 000-0000 Formato: 000-0000

Prototipo del Sistema de Información de PROMECYS

Estudiante: Contiene la información personal y general de los Estudiantes, en donde se controla las actualizaciones de datos de los mismos Nombre del atributo

Requ erido

Tipo de dato

Tamaño

Definición

si

Bigint

8

Llave primaria, identificador único del estudiante

Idestudiante

carnet

no

Varchar

4

Primernombre

si

Varchar

4

Segundonombre

no

Varchar

4

Primerapellido

si

Varchar

4

Segundoapellido

no

Varchar

4

Estadocivil

si

Tinyint

1

Sexo Fechanac

si si

Bit Datetime

1 8

lugarnac

si

Varchar

4

departamento

si

Varchar

4

municipio

si

Varchar

4

direccion

si

Varchar

4

centroenseñanza

si

Varchar

4

tipocentro

si no

Int Varchar

4 4

telefono

no

Varchar

4

celular

no

Varchar

4

correo

no

Varchar

4

Representa el número de carnet que posee el estudiante

Primer nombre del estudiante Segundo nombre del estudiante Primer apellido del estudiante Segundo apellido del estudiante Estado civil del estudiante Sexo del estudiante Fecha de nacimiento del estudiante Lugar de nacimiento del estudiante Departamento al que pertenece el estudiante Municipio al que pertenece el estudiante Direccion domiciliar del estudiante Centro de proveniencia del estudiante Tipo de centro Numero de cedula

cedula

97

Numero de telefono convencional Numero de celular Correo electronico del estudiante

Formato, formula o Comentario --

Formatos: 0000-00000, 00-00000-0 No pueden haber dos números de carnet iguales; es nulo por que se puede matricular un estudiante que todavía no tenga carnet ------Formato: dd/mm/aa ------

Formato: 000-0000000000X Formato: 000-0000 Formato: 000-0000 --

Prototipo del Sistema de Información de PROMECYS

Grupo: Es el registro de los grupos que conforman la carrera Nombre del atributo

Requ erido

Tipo de dato Varchar

Tamaño

Definición

Idgrupo

si

4

si

int

4

Ubicación

si

Varchar

4

Aula

si

int

4

Llave principal, identificador único del grupo Año escolar al que pertenece el grupo Edificio donde se ubica al grupo Numero de aula donde recibe clases al grupo

Anio

Formato, formula o Comentario Formato: XX0, XX0-0 ----

Inscripción: Es el registro de las inscripciones que realizan los estudiantes Nombre del atributo

Reque rido

Tipo de dato

Tamaño

Idinscripcion

Si

Bigint

8

idmatricula

Si

Bigint

8

idempleado

Si

Int

4

cuatrimestre

Si

Int

fecha

Si

Datetime

beca

Si

bit

Definición Llave principal, representa el numero de las inscripciones de cada estudiante Llave foránea, representa el número de matrícula del estudiante Llave foránea, representa el numero del empleado que hizo la inscripción Representa el cuatrimestre que cursa el estudiante Representa la fecha en que fue realizada la inscripción Indica si el estudiante tiene beca

4

8

1

Formato, formula o Comentario Las inscripciones no pueden ser mas de tres por cada matricula -

-

No puede exceder de 3 Formato: dd/mm/aa -

Laboral: Contiene el registro de la información laboral de los estudiantes Nombre del atributo Idestudiante

Reque rido si

Tipo de dato Bigint

Tamaño

Definición

8

Lugar

si

Varchar

4

Dirección

si

Varchar

4

Cargo

si

Varchar

4

Teléfono

si

Varchar

4

fax

no

Varchar

4

Llave principal, representa al estudiante que trabaja Representa el nombre de la empresa donde trabaja el estudiante Es la dirección del lugar de trabajo del estudiante Cargo q desempeña el estudiante en su trabajo Numero telefónico del lugar de trabajo Numero de fax del lugar de trabajo

98

Formato, formula o Comentario El idestudiante no se puede repetir en esta tabla --

--Formato: 000-0000 Formato: 000-0000

Prototipo del Sistema de Información de PROMECYS

Matricula: Es el registro de la matricula de los estudiantes. Nombre del atributo

Reque rido

Tipo de dato

Tamaño

Idmatricula

Si

Bigint

8

idestudiante

si

recibo

Si

Int

4

Anio

Si

Int

4

fecha

Si

Datetime

8

Definición Llave principal, representa el número de matrícula de un estudiante Llave foránea, identifica a un estudiante especifico Numero de recibo de matrícula Anio que cursa el estudiante Representa la fecha en que se realiza a matricula

Bigint 8

Formato, formula o Comentario Solo puede haber una matrícula por anio para cada estudiante Formato: 00000 No excede de 5 Formato: dd/mm/aa

Municipio: Contiene el registro de los municipios de los estudiantes Nombre del atributo Idmunicipio

Reque rido si

Tipo de dato Varchar

Tamaño

Definición

4

idepartamento

si

Varchar

4

Llave principal, es el nombre del municipio de determinado departamento Llave foránea, nombre del departamento

Formato, formula o Comentario --

--

Nota: Es el registro de las notas obtenidas por los estudiantes en las asignaturas inscritas Nombre del atributo

Requ erido

Tipo de dato

Tamaño

Idinscripcion

si

Bigint

8

Idasignatura

Llave foránea, representa el código de inscripción al que pertenecen las diferentes asignaturas Llave foránea, representa el código de las asignaturas que se inscribieron

4

si

Varchar

si

Varchar

no

Float

16

no

bit

1

4 Idgrupo

Nota

Definición

Llave foránea, representa el código del grupo donde se recibirán las asignaturas Representa la nota de las asignaturas inscritas Representa la calificación Aprobada o Reprobada de las asignaturas inscritas

Calificación

99

Formato, formula o Comentario --

Formato: 0000, XXX, XXX0; No pueden haber mas de 4 asignaturas por cada inscripción El año de la asignatura debe coincidir con el año del grupo ---

Prototipo del Sistema de Información de PROMECYS

Precedencia: Contiene el registro de las precedencia de las asignaturas Nombre del atributo idprecedencia

Requ erido si

Tipo de dato Varchar

Tamaño

Definición

4

idasignatura

si

Varchar

4

Llave primaria, representa una asignatura que es precedencia de otra Llave primaria, representa una asignatura que posee precedencia

Formato, formula o Comentario Formato: 0000, XXX. XXX0 0000, XXX, XXX0

Prematricula: Es el registro de la prematrícula de los estudiantes Nombre del atributo

Reque rido

Tipo de dato

Tamaño

idestudiante

si

Bigint

8

recibo

Si

Int

4

Fecha

si

Datetime

8

Idempleado

si

Int

4

Definición Llave principal, representa que estudiante tiene pre matrícula Es el numero de recibo de la prematricula Representa la fecha en que el estudiante se pre matriculó Llave foránea, representa el numero del empleado que hizo la pre matrícula

Formato, formula o Comentario Cada estudiante solo puede tener una pre matrícula, aquí se genera el idestudiante Sin recibo no se hace la prematricula Formato: dd/mm/aa --

Requisito: Contiene el registro de los requisitos de las asignaturas Nombre del atributo idrequisito

idasignatura

Reque rido si

Tipo de dato Varchar

Tamaño

Definición

4

si

Varchar

4

Llave primaria, representa una asignatura que es prerrequisito de otra Llave primaria, representa una asignatura que posee prerrequisito

100

Formato, formula o Comentario Formato: 0000, XXX. XXX0 0000, XXX, XXX0

Prototipo del Sistema de Información de PROMECYS

Profesor: Contiene el registro de la información personal y laboral de los profesores que imparten asignaturas en promecys Nombre del atributo

Reque rido

Tipo de dato Int

Tamaño

Definición

Idprofesor

si

4

si

Varchar

4

Primernombre

si

Varchar

4

Segundonombre

no

Varchar

4

Primerapellido

si

Varchar

4

Segundoapellido

no

Varchar

4

Sexo Dirección

si si

Bit Varchar

1 4

Especialidad

si

Varchar

4

Tipo Teléfono

si no

Bit Varchar

1 4

Llave principal, identificador único del profesor Numero de cedula del profesor Primer nombre del profesor Segundo nombre del profesor Primer apellido del profesor Segundo apellido del profesor Sexo del profesor Dirección domiciliar del profesor Especialidad en la que se desempeña Tipo de profesor Teléfono convencional

Cedula

Celular

no

Varchar

4

Teléfono celular

Fecha

si

Datetime

8

Estado

si

Bit

1

Fecha en que el profesor entra a impartir clases Describe si el profesor esta o no impartiendo clases en la universidad

101

Formato, formula o Comentario --

Formato: 000-000000-0000X --------Formato: 000-0000 Formato: 000-0000 Formato: dd/mm/aa --

Prototipo del Sistema de Información de PROMECYS

PROCEDIMIENTOS ALMACENADOS: Un procedimiento almacenado (stored procedure) es un programa el cual es almacenado físicamente la base de datos. La ventaja de un procedimiento almacenado es que al ser ejecutado, en respuesta a una petición de usuario, es ejecutado directamente en el motor de bases de datos y como tal, posee acceso directo a los datos que necesita manipular y solo necesita enviar sus resultados de regreso al usuario, deshaciéndose de la sobrecarga resultante de comunicar grandes cantidades de datos salientes y entrantes. Los procedimientos almacenados de la base de datos del Sistema del Información de PROMECYS son utilizados en su mayoría para ejercer las funciones de Agregar, Obtener (Ver) y Actualizar los registros de las diferentes tablas de la misma, ya sean directamente de las tablas o por medio de vistas o funciones. Para poder acceder a cualquier procedimiento desde la interfaz siempre es necesaria una llave de entrada (Requerimiento), esta será la variable o variables que representan los atributos de las tablas que se necesitaran para que se lleve a cabo el funcionamiento de los mismos. El nombre del procedimiento debe empezar con el nombre de la tabla o vista que estamos utilizando seguido por el sufijo que representa la función del procedimiento “Obtener”, “Actualizar”, “Agregar”. Las variables que se necesitaran el procedimiento deberán llevar el mismo nombre, tipo y tamaño que el del atributo de la tabla o tablas que estamos utilizando.

102

Prototipo del Sistema de Información de PROMECYS

PROCEDIMIENTOS ALMACENADOS: Procedimientos Almacenados Obtener: Estos procedimientos se utilizan en la base de datos cuando sea necesario obtener registros existentes de los diferentes registros de las tablas. Este tipo de procedimientos son los mas complicados de la base de datos ya que generalmente requieren mostrar datos de varias tablas, para lo cual es necesario implementar la utilización de vistas y así facilitar la manipulación de los datos cuando la información que se busca esta distribuida en tablas diferentes. Por Ejemplo: Un ejemplo sencillo de un procedimiento que muestra los datos de una única tabla es el siguiente: Nombre del Procedimiento

EstudianteObtener

Requerimiento Descripción o Propósito

dbo.Estudiante Se encarga de mostrar los datos generales de determinado Estudiante

Variables

@Idestudiante

Código: CREATE PROCEDURE EstudianteObtener @IDESTUDIANTE BIGINT AS SET DATEFORMAT ymd SELECT Carnet, Primernombre, Segundonombre, Primerapellido, Segundoapellido, Estadocivil, Sexo, Fechanac, Lugarnac, Nacionalidad, Departamento, Municipio, Direccion, Centroensenanza, TipoCentro, Cedula, Telefono, Celular, Correo FROM Estudiante WHERE Idestudiante LIKE @IDESTUDIANTE

103

Prototipo del Sistema de Información de PROMECYS

Ejemplo 2: También se pueden obtener por medio de un procedimiento almacenado las asignaturas que un estudiante podrá inscribir en un determinado cuatrimestre, para ello se necesita la ayuda de vistas que harán una revisión minuciosa en la base de datos. Nombre del Procedimiento

AsignaturaQuePuedeInscribirObtener

Requerimiento

Asignatura sqlClasesConPcyRqInscribir, sqlClasesReprobadas, sqlClaseSinPcyRqNoInscritas Se encarga de mostrar las Asignaturas que puede inscribir determinado estudiante, tomando en cuenta restricciones de precedencia, requisito, inscripción y cuatrimestre. @Idestudiante, @Cuatrimestre, @Anio

Descripción o Propósito

Variables Codigo:

CREATE PROCEDURE AsignaturasQuePuedeInscribir @IDESTUDIANTE BIGINT, @CUATRIMESTRE INT, @ANIO INT AS SELECT LTRIM(RTRIM (A.IDASIGNATURA)) AS IDASIGNATURA, LTRIM(RTRIM(DESCRIPCION)) AS DESCRIPCION, ANIO FROM ASIGNATURA A WHERE A.IDASIGNATURA IN (SELECT IDASIGNATURA FROM SQLCLASESCONPCYRQINSCRIBIR WHERE IDESTUDIANTE LIKE @IDESTUDIANTE AND CUATRIMESTRE LIKE @CUATRIMESTRE) OR A.IDASIGNATURA IN (SELECT IDASIGNATURA FROM SQLCLASESREPROBADAS WHERE IDESTUDIANTE LIKE @IDESTUDIANTE AND CUATRIMESTRE LIKE @CUATRIMESTRE) OR A.IDASIGNATURA IN (SELECT IDASIGNATURA FROM SQLCLASESINPCYRQNOINSCRITAS WHERE IDESTUDIANTE LIKE @IDESTUDIANTE AND CUATRIMESTRE LIKE @CUATRIMESTRE) AND ANIO <= @ANIO

104

Prototipo del Sistema de Información de PROMECYS

Procedimientos Almacenados Agregar: Son mas sencillos de comprender y crear ya que su función solo es de agregar registros en las diferentes tablas de la base de datos, actividad para la cual no es necesaria la utilización de funciones o vistas. En estos procedimientos solo se verá involucrada una tabla por cada uno. Por Ejemplo: Nombre del Procedimiento

AsignaturaAgregar

Requerimiento Descripción o Propósito

dbo.Asignatura Se encarga de guardar los diferentes datos de una asignatura que se registra desde la interface. @Idasignatura, @Descripcion, @Cuatrimestre, @Credito, @Anio

Variables

Código: CREATE PROCEDURE AsignaturaAgregar @Idasignatura VARCHAR(10), @Descripcion VARCHAR(100), @Cuatrimestre INT, @Credito INT, @Anio INT AS INSERT INTO Asignatura VALUES (@Idasignatura, @Descripcion, @Cuatrimestre, @Credito, @Anio) Procedimientos Almacenados Actualizar: También son sencillos de comprender ya que solo requieren del manejo de una tabla a la vez, se encargan de actualizar los registros existentes de las diferentes tablas de la base de datos por medio de la interfase. Por Ejemplo: Nombre del Procedimiento

DocenteActualizar

Requerimiento Descripción o Propósito

dbo.Profesor Se encarga de actualizar los datos de un determinado Profesor.

Variables

@Iddocente , @Cedula, @Primernombre,@Segundonombre, @Primerapellido,@Segundoapellido , @Sexo,@Direccion,@Especialidad, @Tipo,@Telefono,@Celular,@Fecha, @Estado

105

Prototipo del Sistema de Información de PROMECYS

Codigo: CREATE PROCEDURE DocenteActualizar @Iddocente INT, @Cedula VARCHAR (16), @Primernombre VARCHAR (50), @Segundonombre VARCHAR (50), @Primerapellido VARCHAR (50), @Segundoapellido VARCHAR (50), @Sexo INT, @Direccion VARCHAR (100), @Especialidad VARCHAR (100), @Tipo INT, @Telefono VARCHAR (8), @Celular VARCHAR (8), @FECHA VARCHAR (10), @Estado INT AS DECLARE @MYDATE AS DATETIME; SET @MYDATE = dbo.fn_myDate(@FECHA); UPDATE Profesor SET Cedula= @Cedula, Primernombre= @Primernombre, Segundonombre= @Segundonombre, Primerapellido= @Primerapellido, Segundoapellido= @Segundoapellido, Direccion= @Direccion, Especialidad= @Especialidad, Tipo= @Tipo, Estado= @Estado, Sexo= @Sexo, Celular= @Celular, Fecha= @MYDATE WHERE Profesor.Idprofesor= @Iddocente

Otros Procedimientos Almacenados: Los Procedimientos Almacenados también son utilizados para llamar a las vistas para reportes, o para llamar una función que tengamos que utilizar en algún momento que interactuamos con la interfase, estos son mas que todos Procedimientos de Obtener.

106

Prototipo del Sistema de Información de PROMECYS

FUNCIONES: Una función es un bloque de código que tiene las mismas características que un procedimiento almacenado. La diferencia es que una función devuelve un valor al retornar. Al devolver un valor puede ser llamada como parte de una expresión. En la base de datos de PROMECYS las funciones las utilizaremos para retornar los significados de los atributos booleanos cuando sean requeridos en este caso por la interfaz de usuario, para convertir una cadena string enviada por la interfaz a un tipo fecha en la base de datos y para retornar un conteo total de atributos de determinadas tablas. Para distinguir una función antepondremos en su nombre el prefijo “fn_” seguido por el nombre de la misma. Algunos ejemplos de las funciones que son necesarias en la base de datos de PROMECYS son: Funciones de Conteo: Nombre de la Función

fn_EstMatCount

Requerimiento Descripción o Propósito

dbo.Matricula Se encarga de contar la cantidad de Estudiantes Matriculados y retorna el total. @Idestudiante

Variables Código:

CREATE FUNCTION dbo.fn_EstMatCount (@IDESTUDIANTE AS BIGINT) RETURNS INT AS BEGIN DECLARE @COUNT AS INT; SELECT @COUNT = COUNT(Idestudiante) FROM Matricula WHERE Idestudiante = @IDESTUDIANTE; RETURN @COUNT END

107

Prototipo del Sistema de Información de PROMECYS

Funciones de fecha: Nombre de la Función

fn_myDate

Requerimiento Descripción o Propósito

Una cadena de caracteres Se encarga de convertir una cadena de caracteres a una fecha, y retorna la fecha. @MyDate

Variables Codigo:

CREATE FUNCTION dbo.fn_myDate (@MYDATE AS VARCHAR(10)) RETURNS DATETIME AS BEGIN DECLARE @AUX AS VARCHAR(10); SET @AUX = SUBSTRING(@MYDATE, 1,4); SET @AUX = @AUX + SUBSTRING(@MYDATE, 6,2); SET @AUX = @AUX + SUBSTRING(@MYDATE, 9,2); DECLARE @RTN AS DATETIME; SET @RTN = CAST(@AUX AS DATETIME); RETURN @RTN END Funciones para atributos booleanos: Nombre de la Función

fn_Sexo

Requerimiento Descripción o Propósito

Atributo de tipo bit Se encarga de retornar el significado que se ha determinado para los registros que tengan el atributo sexo @MyDate

Variables Codigo:

CREATE FUNCTION dbo.fn_Sexo (@SEXO AS BIT) RETURNS VARCHAR(9) AS BEGIN IF (@SEXO = 0) BEGIN RETURN 'Femenino' END RETURN 'Masculino' END

108

Prototipo del Sistema de Información de PROMECYS

VISTAS: Una vista en SQL es el resultado de una consulta de varias entidades utilizadas para visualizar los registros que necesitamos de las tablas relacionadas sin la necesidad de crear una nueva. En nuestra base de datos las principales vistas son las que se crearon para el proceso de inscripción ya que éstas se encargaran de mostrar la asignaturas que un determinado estudiante puede inscribir durante un cuatrimestre, tomando en cuenta las precedencias, prerrequisitos, inscripciones anteriores y si puede adelantar clases; el resto de las vistas en su mayoría representan los reportes que se necesitan en el sistema, . El nombre de las vistas está representado por el prefijo “sql” seguido del nombre de la vista. Las principales vistas de la base de datos de PROMECYS: Nombre de la Vista

sqlAsigEstudiante

Requerimiento

Dbo.Estudiante, dboMatricula, dboInscripcion, dboNota, dbo.Asignatura, Se encarga de mostrar las notas de las asignaturas que han inscrito los estudiantes. Idestudiante, idasignatura, descripción, nota, calificación, cuatrimestre, anio

Descripción o Propósito

Resultado

Código: CREATE VIEW dbo.sqlAsigEstudiante AS SELECT dbo.Estudiante. Idestudiante, dbo.Nota.Idasignatura, dbo.Asignatura.Descripcion, dbo.Nota.Nota, dbo.Nota.Calificacion, dbo.Inscripcion.Cuatrimestre, dbo.Matricula.Anio FROM dbo.Estudiante INNER JOIN dbo.Matricula ON dbo.Estudiante.Idestudiante = dbo.Matricula.Idestudiante INNER JOIN dbo.Inscripcion ON dbo.Matricula.Idmatricula = dbo.Inscripcion.Idmatricula INNER JOIN dbo.Nota ON dbo.Inscripcion.Idinscripcion = dbo.Nota.Idinscripcion INNER JOIN dbo.Asignatura ON dbo.Nota.Idasignatura = dbo.Asignatura.Idasignatura

109

Prototipo del Sistema de Información de PROMECYS

Nombre de la Vista

sqlAsigEstReprobadas

Requerimiento Descripción o Propósito

dbo.sqlAsigEstudiante Se encarga de mostrar todas las asignaturas que un estudiante ha reprobado y la cantidad de veces que la ha dejado. Idestudiante, Idasignatura, Cantidad

Resultado Codigo:

CREATE VIEW dbo.sqlAsigEstReprobadas AS SELECT Idestudiante, Idasignatura, COUNT(Idasignatura) AS Cantidad FROM dbo.sqlAsigEstudiante WHERE (Nota < 60) GROUP BY Idasignatura, Idestudiante Nombre de la Vista

sqlClaseSinPcyRqNoInscritas

Requerimiento

dbo.Asignatura, dbo.Estudiante, dbo.Requisito, dbo.Precedencia, dbo.Matricula, dbo.Inscripcion, dbo.Nota Se encarga de mostrar las asignaturas que no tienen precedencias ni prerrequisitos y que además no hayan sido inscritas por el estudiante. Idestudiante, idasignatura, cuatrimestre

Descripción o Propósito

Resultado

CREATE VIEW sqlClaseSinPcyRqNoInscritas as SELECT E.IDESTUDIANTE, A.IDASIGNATURA, A.CUATRIMESTRE FROM ASIGNATURA A, ESTUDIANTE E WHERE A.IDASIGNATURA NOT IN (SELECT IDASIGNATURA FROM REQUISITO) AND A.IDASIGNATURA NOT IN (SELECT IDASIGNATURA FROM PRECEDENCIA) AND A.IDASIGNATURA NOT IN (SELECT N.IDASIGNATURA FROM MATRICULA M, INSCRIPCION I, NOTA N WHERE M.IDMATRICULA = I.IDMATRICULA AND I.IDINSCRIPCION = N.IDINSCRIPCION AND E.IDESTUDIANTE = M.IDESTUDIANTE)

110

Prototipo del Sistema de Información de PROMECYS

CAPITULO IV: INTERFAZ DE USUARIO

111

Prototipo del Sistema de Información de PROMECYS

ESTRUCTURA DE LA INTERFAZ DEL SISTEMA Para realizar el diseño de la interfaz de usuario del sistema de información de PROMECYS utilizamos el lenguaje Java por medio de la plataforma de programación Netbeans el cual nos brinda muchas ventajas al momento de desarrollar nuestra aplicación ya que además de escribir, compilar, depurar y ejecutar programas puede servir para cualquier otro lenguaje de programación y nos facilita el trabajo al momento de conectarnos con la base de datos de SQL Server 2000. Estructura de las clases del sistema: En java todo forma parte de una clase, es una clase o describe como funciona una clase, y nuestro sistema no es la excepción, podemos decir que las clases son la parte fundamental de la aplicación ya que de ellas depende la buena funcionalidad y comunicación tanto con el mismo sistema como con la base de datos. Todas las clases del sistema son públicas, lo que quiere decir que pueden ser accedidas desde cualquier clase del paquete o de otros paquetes utilizando únicamente la palabra import. Para mantener un manejo mas ordenado de la funcionalidad de las diferentes clases del sistema, las subdividimos en paquetes, el paquete Clases que representa las tablas y métodos de la base de datos y el paquete Formularios que como su mismo nombre lo dice representa los formularios de la interfaz, también existe el paquete Reportes, aquí se guardan los reportes que genera el sistema. PAQUETE CLASES: Al nombre de la clase se le antepone el prefijo “cs” (a excepción de la clase ProConexion), seguido del nombre de la tabla de la base de datos a la que ésta representa. Los métodos de cada una de las clases también son públicos y serán nombrados de acuerdo a la función que queremos que realice. En la mayoría de las clases “cs” existen los siguientes métodos: Agregar(ProConexion ) retorna boolean Esta función indica que si se realizó la operación Agregar getDB(ProConexion ) retorna bolean Esta función indica que si se realizó la operación Obtener Actualizar(ProConexion) retorna boolean Esta función indica que si se realizó la operación Actualizar 112

Prototipo del Sistema de Información de PROMECYS

Todas las clases “cs” a excepción de “ProConexion”, poseen atributos de datos simples que tienen su equivalente en la base de datos. Los atributos podrán ser modificados de forma directa. No se están utilizando las funciones get o set puesto que no se determinó el uso de interfaces para su implementación. Ciertas clases poseen funciones static para su utilización sin necesidad de instanciar la clase, esto para hacer verificaciones en la base de datos de forma directa, este es el caso de: csAsignaturas public static String getPrimerGrupo(ProConexion con, String idAsig) csEstudiante public static long getSigId(ProConexion con) public static long ExisteCarnet(ProConexion con, String id) public static boolean MismoAnio(ProConexion con, long id, String fecha) public static boolean TieneMatricula(ProConexion con, long id) public static long PuedeInscribir(ProConexion con, long id, String fecha) csGrupo public String

static boolean grp,

getGrupAsig(ProConexion con, String asig)

113

Prototipo del Sistema de Información de PROMECYS

Estructura de las clases “CS” Nombre de la Clase

Descripción

Variables

Métodos

Paquetes que necesita

csAsignatura

Representa la tabla Asignatura, por medio de ella se puede acceder y manipular los datos de esta tabla.

String ID_Asig String Descripción Int Cuatrimestre Int Creditos Int Anio

Guardar(): se utiliza para guardar los datos de una nueva asignatura en la BD. Actualizar(): se utiliza para actualizar los datos de una asignatura ya existente en la BD. getBD(): obtiene todos los datos de una determinada asignatura de la BD.

java.sql.CallableStatement; java.sql.ResultSet;

csEmpleado

Representa la tabla Empleado, por medio de ella se puede accesar y manipular los datos de esta tabla

Int ID String Cedula String Nombre1 String Nombre2 String Apellido1 String Apellido2 String Direccion String Cargo Int Sexo String Celular String Telefono

Guardar(): se utiliza para guardar los datos de un nuevo empleado en la BD

java.sql.CallableStatement java.sql.ResultSe

Actualizar(): Se utiliza para actualizar los datos de un empleado existente en la BD ObtenerIdEmpleado(): Obtiene el Idempleado apartir de los datos que le son enviados.

114

Prototipo del Sistema de Información de PROMECYS

Nombre de la Clase csEstudiante

Descripción

Variables

Metodos

Representa la tabla Estudiante, por medio de ella se puede accesar y manipular los datos de esta tabla

Long ID; String Carnet String Nombre1 String Nombre2 String Apellido1 String Apellido2 int Estado_Civil int Sexo java.sql.Date Fecha_Nac; String Lugar_Nac String Nacionalidad String Departamento String Municipio String Direccion String Centro_Ense int Centro_Tipo String Cedula String Telefono String Celular String Correo csPrematricula datos_premat csLaboral datos_laboral

getFechaString(): transforma la fecha del formato de la BD al formato dd/mm/aa. getFecha(): transforma la fecha dd/mm/aa al formato de fecha de la BD. Guardar(): se utiliza para guardar los datos de un nuevo estudiante en la BD Actualizar():Se utiliza para actualizar los datos de un estudiante existente en la BD getDB():obtiene todos los datos de un determinado estudiante de la BD. getsigId(): método utilizado para incrementar el numero del Idestudiante cada vez que ingresa uno nuevo. ExisteCarnet(): método para validar que el numero de carnet no se repita. getLaboralCount(): método utilizado para validar que un estudiante tenga solo una información laboral. MismoAnio(): método para validar que existan un maximo de tres inscripciones por año. TieneMatricula(): metodo para validar que no existan dos matriculas el mismo año.

115

Paquetes que necesita java.sql.CallableStatement java.sql.ResultSet

Prototipo del Sistema de Información de PROMECYS

Nombre de la Clase

Descripción

Variables

Métodos

Paquetes que necesita

csGrupo

Representa la tabla Grupo, por medio de ella se puede accesar y manipular los datos de esta tabla

String Id int anio String ubicacion Int aula

Guardar(): se utiliza para guardar los datos de un nuevo Grupo en la BD Actualizar():Se utiliza para actualizar los datos de un grupo existente en la BD getDB():obtiene todos los datos de un determinado grupo de la BD getGrupAsig(): obtiene las asignaturas y los grupos en las que se imparten

java.sql.CallableStatement java.sql.ResultSet

csInscripcion

Representa la tabla Inscripcion, por medio de ella se puede accesar y manipular los datos de esta tabla

Guardar():se utiliza para guardar los datos de una nueva Inscripción en la BD InsertId():

java.sql.CallableStatement java.sql.ResultSet

csLaboral

Representa la tabla Laboral, por medio de ella se puede accesar y manipular los datos de esta tabla

Long Id; Long id_matricula Int cuatrimestre Int id_empleado java.sql.Date fecha Int becado Long Id String lugar String direccion String cargo String telefono String fax

Guardar(): se utiliza para guardar los datos de un nuevo estudiante trabajador en la BD

java.sql.CallableStatement java.sql.ResultSet

getBD: obtiene todos los dato determinado estudiante trabajador de la BD Actualizar():Se utiliza para actualizar los datos de un estudiante trabajador existente en la BD

116

Prototipo del Sistema de Información de PROMECYS

csMatricula

Representa la tabla Matrícula por medio de ella se puede accesar y manipular los datos de esta tabla.

csNota

Representa la tabla Nota por medio de ella se puede accesar y manipular los datos de esta tabla.

csPrecedencia

Representa la tabla Precedencia por medio de ella se puede accesar y manipular los datos de esta tabla Representa la tabla Prematrícula por medio de ella se puede accesar y manipular los datos de esta tabla

csPrematricula

Long ID Long id_estudiante Int recibo Int anio java.sql.Date fecha Int becado Long id_inscripcion String id_asig String id_grupo Float nota Int calificacion

String asig String preced

Long id Int recibo Date fecha_pre Int empleado_id

117

Guardar(): se utiliza para guardar los datos de una nueva matrícula en la BD. getInsertId(): se utiliza para incrementar el numero de matricula. Guardar(): se utiliza para guardar los datos de una nueva nota. getBD: obtiene todos los dato determinada nota existente en la BD Actualizar():Se utiliza para actualizar los datos de una nota determinada existente en la BD Guardar(): Se utiliza para guardar los datos de una nueva precedencia.

java.sql.CallableStatement java.sql.ResultSet

Guardar(): Se utiliza para guardar los datos de una nueva prematrícula. getBD: obtiene todos los dato determinada prematrícula existente en la BD Actualizar():Se utiliza para actualizar los datos de una determinada prematrícula existente en la BD getFechaString(): transforma la fecha del formato de la BD al formato dd/mm/aa. getRecibo() metodo que valida que el numero de recibo sea int.

java.sql.CallableStatement java.sql.ResultSet java.util.Date

java.sql.CallableStatement java.sql.ResultSet

clases.ProConexion

Prototipo del Sistema de Información de PROMECYS

csPrerrequisito

csProfesor

csAsigGrpçupProf

Representa la tabla Requisito por medio de ella se puede accesar y manipular los datos de esta tabla Representa la tabla Profesor por medio de ella se puede accesar y manipular los datos de esta tabla

String asig String prereq

Guardar(): Se utiliza para guardar los datos de una nueva prerrequisito

clases.ProConexion

Int Id String cedula String nombre1 String nombre2 String apellido1 String apellido2 Int sexo String direccion String especialidad Int tipo; String telefono String celular Date fecha Int estado

Guardar(): Se utiliza para guardar los datos de un nuevo profesor. getBD: obtiene todos los dato determinado profesor existente en la BD Actualizar():Se utiliza para actualizar los datos de un determinado profesor existente en la BD. getFechaString(): transforma la fecha del formato de la BD al formato dd/mm/aa. getFecha(): transforma la fecha dd/mm/aa al formato de fecha de la BD.

java.sql.CallableStatement java.sql.ResultSet java.util.Date

Representa la tabla AsigProfGrupo por medio de ella se puede accesar y manipular los datos de esta tabla

String asignatura String grupo Int profeso java.sql.Date fecha

Guardar(): Se utiliza para guardar los datos de un nuevo registro de profesor con su grupo y asignatura que imparte getBD: obtiene todos los datos de un determinado registro de profesor con su grupo y asignatura que imparte, existente en la BD Actualizar():Se utiliza para actualizar los datos de un determinado registro de profesor con su grupo y asignatura que imparte existente en la BD

java.sql.CallableStatement java.sql.ResultSet

118

Prototipo del Sistema de Información de PROMECYS

PAQUETE DE FORMULARIOS: El paquete de formularios del sistema de información de PROMECYS representa todas las interfaces y las funciones que se realizan en ellas, en otras palabras podemos decir que es el puente de conexión con los usuarios del sistema y el sistema mismo ya que por medio de éstos es que la información llegará al mismo. Para distinguir las clases que pertenecen a este paquete las nombraremos con el prefijo “frm” seguido por el nombre de la actividad que se realizará en el éste. En los formularios frm existen funciones que no retornan ningún tipo de valor (void), por lo cual son sencillamente procedimientos que utilizan otras funciones, aunque los métodos que mayormente encontramos en estos formularios son las que nos serán útiles para mostrar información obtenida directamente de la base de datos (en su mayoría para llenar las grid) o por medio de las clases “cs”.

119

Prototipo del Sistema de Información de PROMECYS

Nombre del Formulario fmrPrincipal

fmrPrematricula

Descripción

Variables

Métodos

Paquetes que necesita

Representa el menú principal, desde aquí se mandan a llamar a todos los formularios del sistema.

private ProConexionmyConexion private boolean flagConexion;

mnuSalir_ArchivoActionPerformed: salir del sistema mnuEmp_ConfigActionPerformed: llama al formulario Empleado mnuPrematricula_ProcesoActionPerformed: llama al formulario Prematricula mnuEst_ConfigActionPerformed: llama al formulario Estudiante mnuProf_ConfigActionPerformed: llama al formulario Profesor mnuAsig_ConfigActionPerformed llama al formulario Asignatura mnuGroup_ConfigActionPerformed llama al formulario Grupo mnuAGP_ConfigActionPerformed llama al formulario AsignaturaGrupoProfesor mnuMatricula_ProcesoActionPerformed llama al formulario Matricula mnuNotas_ProcesoActionPerformed llama al formulario Notas

clases.*; java.util.HashMap; java.util.Map; javax.swing.JOptionPane; net.sf.jasperreports.

Es el formulario que representa el proceso de prematrícula del estudiante.

private ProConexion myConexion; private long modificando; private Vector vEst; private csEstudiante est;

getFechaActual(): Toma la fecha actual del calendario LlenarDepartamento(): Muestra la lista de departamento que contiene el combo. LlenarMunicipio(): Muestra la lista de municipio que contiene el combo LlenarComboEmp(): Toma los datos de la tabla empleado para mostrarlos.

clases.*; java.sql.*; java.util.Vector; java.util.Calendar; java.util.HashMap; java.util.Map; javax.swing.JOptionPane; javax.swing.table.DefaultTableModel; javax.swing.text.MaskFormatter; jasperreport.*;

120

Prototipo del Sistema de Información de PROMECYS

LlenarGrid(): Llena una tabla con la lista de estudiantes prematriculados getMunicipio(): Selecciona un municipio de la lista que se despliega en el combo getRecibo(): Toma el número de recibo. getEmpleadoId(): Toma el valor del id del empleado getTelefono() Verifica si cumple con el formato de telefono getCelular(): Verifica si cumple con el formato de celular CargarEstudiante(): Carga los datos del estudiante para mostrarlos en la pantalla GuardarDatos(): Guarda el ingreso de datos en el formulario. ModificarDatos(): Permite realizar modificaciones en los datos que se ingresan en el formulario de prematrícula LimpiarFormulario(): Limpia o Vacía los texto del formulario LlenarFormulario(): Muestra los datos del formulario prematricula luego de realizar una búsqueda BuscarDatosGrid(): Busca los datos que contienen las tablas filtrando según los datos que digite el usuario. Mod_Deshabilitar(): Deshabilita los campos que contiene el formulario prematrícula. Mod_Habilitar(): Habilita los campos que contiene el formulario.

121

Prototipo del Sistema de Información de PROMECYS

fmrMatricula

Es el formulario que representa el proceso de matrícula del estudiante

private csEstudiante est; private ProConexion myConexion; private int codigo; private boolean modificado;

btnModificarMouseClicked(): Muestra los datos que se desea modificar al dar click btnBuscarMouseClicked(): Muestra los datos que se desea buscar al dar click alPresionarEnterBusqueda(): Realizar busqueda al presionar enter btnLimpiarMouseClicked(): Limpia los campos al dar click btnLaboralMouseClicked(): Muestra el formulario laboral al dar click btnGuardarMouseClicked(): Guarda los datos al dar click cmbDeptoItemStateChanged(): Filtra los municipios del departamento seleccionado btnSalirMouseClicked(): Salir del formulario prematrícula. jbtnReporteActionPerformed(): Imprime reporte getFechaActual(): Toma la fecha actual del calendario getEmpleadoId(): LlenarComboEmp(): Muestra el nombre del empleado VerificarCarnet(): Verifica el valor y la longitud del numero de carnet LimpiarGrid_Inscripcion(): Limpia los datos de la tabla inscripción VerificarMatricula(): Verifica los datos introducidos en los campos del formulario. LlenarGrid_Inscripcion(): Llena la tabla con los datos introducidos en la

122

jasperreport.*; clases.*; java.sql.*; java.util.Vector; java.util.Calendar; java.util.HashMap; java.util.Map; javax.swing.JOptionPane; javax.swing.table.DefaultTableModel

Prototipo del Sistema de Información de PROMECYS

inscripción de asignaturas LlenarGrid_NuevoIngreso(): Llena la tabla con los datos del estudiante LlenarGrid_Reingreso(): Llena la tabla con los datos del estudiante CargarMatricula(): Carga los datos para mostrarlos FormularioEstado(): Verifica si los campos del formulario tienen datos VerificarGrupos(): Verifica datos introducidos en grupo jbtnImprimirReporteActionPerformed(): Imprime Reporte jbtnReporteActionPerformed(): Imprime Reporte btnReing_BusMouseClicked(): Realiza busqueda al dar click btnNuevo_BusMouseClicked(): Realiza busqueda al dar click Buscar_NuevoIngreso(): Realiza busqueda de nuevo ingreso btnMatricular_InscMouseClicked(): Muestra los datos del estudiante que se desea matricular btnMatricular_ReiMouseClicked(): Muestra los datos del estudiante que se desea matricular btnGuardarMouseClicked(): Guarda datos de matricula txtCuatrimestreKeyPressed(): _Verifica si tiene algún valor cuatrimestre txtAnioKeyPressed(): Verifica si tiene algún valor anio btnCargarInscripcionMouseClicked(): Muestra las asignaturas a inscribir

123

Prototipo del Sistema de Información de PROMECYS

btnCancelarMouseClicked(): Cancela la matrícula txtCarnetKeyPressed(): Verifica si el carnet es válido btnSalirMouseClicked(): Salir del formulario jButton1MouseClicked(): Muestra el formulario Actualizar Estudiante

fmrInscripcion

Es el formulario que representa el proceso de Inscripción del estudiante

csEstudiante est; ProConexion myConexion; boolean modificado;

getFechaActual(): Toma la fecha actual del calendario LlenarComboEmp(): Muestra el nombre del empleado VerificarCarnet(): Verifica el valor del carnet LimpiarGrid_Inscripcion(): Limpia los valores de la tabla inscripción VerificarMatricula(): Verifica el valor de cuatrimestre anio y recibo LlenarGrid_Inscripcion(): Llena la tabla con los datos introducidos en la inscripción de asignaturas LlenarGrid_Reingreso(): Llena la tabla con los datos del estudiante CargarMatricula(): Carga los datos para mostrarlos FormularioEstado(): Verifica si los campos del formulario tienen datos VerificarGrupos(): Verifica dato introducido en grupo chkBecadoMouseClicked():

124

clases.*; java.sql.*; java.util.Calendar; javax.swing.JOptionPane; java.util.Vector; javax.swing.table.DefaultTableModel; javax.swing.text.MaskFormatter; jasperreport.*;

Prototipo del Sistema de Información de PROMECYS

frmAsigGrupProf

Representa el formulario que contiene los datos de los profesores con las asignaturas que imparten y los grupos asignados

private ProConexion myConexion; private boolean modificando;

Indica si tiene algún valor beca btnCargarInscripcionMouseClicked(): Muestra las asignaturas a inscribir txtCuatrimestreKeyPressed(): Indica si tiene algún valor Cuatrimestre txtAnioKeyPressed(): Verifica si tiene algun valor anio jButton1MouseClicked(): Muestra el formulario Actualizar Estudiante txtCarnetKeyPressed(): Verifica si el carnet es válido btnBuscarMouseClicked(): Realiza busqueda txtBus_Nom2Buscar_Reingreso(): Compara los textos con los campos de la BD txtBus_Nom1Buscar_Reingreso(): Compara los textos con los campos de la BD txtBus_Ape2Buscar_Reingreso(): Compara los textos con los campos de la BD txtBus_Ape1Buscar_Reingreso() Compara los textos con los campos de la BD btnSalirMouseClicked(): Salir del formulario inscripción getFechaActual(): Toma la fecha actual del calendario LlenarComboAsig(): Muetsra nombre de las asignaturas LlenarComboProfesores(): Muestra el nombre de los profesores LlenarComboGrupos(): Muestra el nombre de los grupos LlenarFiltroGrupos(): Muestra los datos del filtro por grupo LlenarFiltroProfesores(): Muestra los datos del filtro por Profesor

125

clases.*; java.sql.*; java.util.Calendar; javax.swing.JOptionPane; java.util.Vector; javax.swing.table.DefaultTableModel; javax.swing.text.MaskFormatter; jasperreport.*;

Prototipo del Sistema de Información de PROMECYS

LlenarFiltroAsignaturas(): Muetra los datos del filtro por Asignaturas LlenarComboFiltro(): Muestra el tipo de filtro LlenarGridPrincipal(): Muestra los datos seleccionados String strFiltroGrupo(): Establece el tipo de filtro grupo String strFiltroAsignatura(): Establece el tipo de filtro asignatura strFiltroProf esor(): Establece un tipo de filtro Profesor getFiltro(): define valor interno para cada tipo de filtro getIdGrupo(): Toma el valor del grupo seleccionado getIdAsignatura(): Toma el valor de la asignatura seleccionada getIdProfesor(): Toma el valor del profesor seleccionado getFechaSql(): btnFiltrarMouseClicked(): Muestra los datos al dar click btnGuardarMouseClicked(): Guarda los datos que se han digitados btnSalirMouseClicked(): Salir del formulario AsigGrupProf fmrAsigPre

Es el formulario donde se ingresan las precedencia de las asignaturas

private ProConexion myConexion; private Vector vPre; private Vector colNames;

ObtenerIdCombo(): Obtiene el valor del dato seleccionado en el combo. LlenarComboAsig(): Muestra nombre de las asignaturas ObtenerIndexGridPrecedencia(): Verifica si la asignatura tiene precedencia

126

clases.*; java.sql.ResultSet; java.util.Vector; javax.swing.JOptionPane; javax.swing.table.DefaultTableModel;

Prototipo del Sistema de Información de PROMECYS

EliminarPrecedenciaVector(): Elimina precedencia de la asignatura btnSalirMouseClicked(): Salir del formulario AsigPre btnEliminarMouseClicked(): Llama al metodo eliminarprededenciavector al dar click. btnAgregarMouseClicked(): Agrega nueva precedencia de la asignatura fmrAsignatura

Representa el formulario que contiene el registro de asignaturas de la carrera

private ProConexion myConexion; private boolean modificando; private csAsignatura asig; private Vector vPrereq; private Vector vPreced;

ObtenerIdGridAsignaturas(): Toma el valor de la asignatura seleccionada en la grid LlenarGridAsig(): llena la gid asignatura con los datos de estas EliminarPrerequisitosDB(): Elimina prerrequisito de una asignatura determinada EliminarPrecedenciasDB(): Elimina precedencia de una asignatura determinada GuardarPrerequisitos(): Guarda nuevo prerrequisito de la asignatura GuardarPrecedencias(): Guarda nueva precedencia de la asignatura LimpiarFormulario(): Limpia o vacía los campos del formulario CargarFormulario(): btnModificarMouseClicked(): muestra datos de la asignatura seleccionada para modificarse btnCancelarModifMouseClicked(): Cancela modificación de asignatura btnPrecedMouseClicked(): muestra precedencia de una determinada asignatura

127

clases.*; java.sql.*; java.util.Calendar; javax.swing.JOptionPane; java.util.Vector; javax.swing.table.DefaultTableModel; javax.swing.text.MaskFormatter;

Prototipo del Sistema de Información de PROMECYS

fmrEmpleado

Representa el formulario que contiene el registro de los Empleados

private ProConexion myConexion; private int modificando; private Vector vEmp;

btnGuardarMouseClicked(): Guarda datos de asignatura btnPrereqMouseClicked(): muestra prerrequisito de una determinada asignatura btnSalirMouseClicked(): Salir del formulario Asignatura VerificarDatosFormulario(): confirma que todos los datos requeridos del formulario esten llenos LlenarGrid(): llena la grid de empleados con los datos de la BD BuscarDatos(): Busca los datos que se desean mostrar LimpiarDatos(): Limpia o Vacia los campos LlenarFormulario(): llena el formulario de Empleado con los datos de un empleado que se ha seleccionado. ObtenerIdGrid(): Toma los datos del empleado GuardarDatos(): Verifica si los datos a guardar son correctos ModificarDatos(): se encarga de guardar la modificación de los datos de un empleado existente jbtnImprimirRempleadosActionPerformed(): Imprime Reporte btnModificarMouseClicked(): Muestra los datos del empleado que se desea modificar btnGuardarMouseClicked(): Guarda los datos de los textos del formulario Empleado.

128

clases.*; java.sql.*; java.util.HashMap; java.util.Map; java.util.Vector; javax.swing.JOptionPane; javax.swing.table.DefaultTableModel;

Prototipo del Sistema de Información de PROMECYS

txtBuscarApellido1KeyPressed(): compara los datos de la tabla del formulario con los datos q contiene la BD btnBuscarMouseClicked(): Llama al método buscar datos al dar click btnCancelarEditMouseClicked(): llama al metodo limpiar() btnSalirMouseClicked(): Salir del formulario Empleado FmrEstudiante Actualizar

Es El formulario por medio del cual se actualizan los datos del estudiante

csEstudiante est; ProConexion myConexion;

FmrEstudiante Datos

Es el formulario por medio del cual se pueden modificar los datos del estudiante

private csEstudiante est; private ProConexion myConexion; private boolean valido; private Vector vEst; private Vector vAsig;

LlenarDepartamento(): Muestra la lista de los departamentos LlenarMunicipio(): Muestra la lista de los municipios LlenarDatos(): Guarda los datos ingresados en el formulario cmbDeptoItemStateChanged(): Muetra la lista de municipio btnSalirMouseClicked(): Salir del formulario VerificarCarnet(): verifica si el numero de carnet es valido LlenarGrid_Reingreso(): muestra la gris con los datos de prematricula LlenarGrid_Notas(): muestra en la grid de notas las clases que ha inscrito el estudiante LimpiarGrid_Notas(): limpia la gris motas cuando esta tiene datos Button1MouseClicked(): Muestra el formulario ActualizarEstudiante al dar clic btnAsignarMouseClicked(): se encarga de guardar la asignación de los números de carnet btnBuscar1MouseClicked(): busca un estudiante en la BD btnSalirMouseClicked(): salir del formulario

129

clases.*; java.sql.ResultSet; javax.swing.text.MaskFormatter;

clases.*; java.sql.ResultSet; java.util.Vector;

Prototipo del Sistema de Información de PROMECYS

FmrLaboral

Es el formulario donde se hace el registro laboral de los estudiantes

FmrNotas

Representa el formulario de las notas de los estudiantes

private csEstudiante est; private ProConexion myConexion; private Vector vNotas; private Vector vAsig;

LlenarDatos(): muestra la información laboral del estudiante getTelefono(): valida el numero de telefono getFax(): valida el numero de celular guardarMouseClicked(): Guarda datos al dar click btnSalirMouseClicked(): Salir del formulario

clases.*; javax.swing.JOptionPane; javax.swing.text.MaskFormatter;

getFechaActual(): Toma la fecha actual del calendario LlenarGrid_Reingreso(): Llena la tabla con los datos del estudiante VerificarCarnet(): Verifica el valor del carnet FormularioEstado(): Verifica si los campos del formulario tienen datos CargarMatricula(): Carga los datos para mostrarlos LlenarGrid_Notas(): llena la grid con los datos de las asignaturas de la BD LimpiarGrid_Notas(): Limpia o vacía tabla del formulario nota ValidarNotas(): Verifica el valor ingresado de la nota LimpiarFormulario(): Limpia o vacía los campos del formulario btnCancelarMouseClicked(): Cancela operación btnGuardarMouseClicked(): Guarda datos jButton1MouseClicked(): Muestra el formulario ActualizarEstudiante al dar click

clases.*; java.sql.*; java.util.Calendar; javax.swing.JOptionPane; java.util.Vector; javax.swing.table.DefaultTableModel; javax.swing.text.MaskFormatter;

130

Prototipo del Sistema de Información de PROMECYS

txtCarnetKeyPressed(): Verifica si el carnet es válido btnSalirMouseClicked(): Salir del formulario btnAsignarMouseClicked(): Muestra los datos del estudiante en el formulario para asignar notas. btnBuscarMouseClicked(): Muestra datos del estudiante seleccionado txtBus_Nom2Buscar_Reingreso(): compara los datos de la tabla del formulario con los datos q contiene la BD txtBus_Nom1Buscar_Reingreso(): compara los datos de la tabla del formulario con los datos q contiene la BD txtBus_Ape2Buscar_Reingreso(): compara los datos de la tabla del formulario con los datos q contiene la BD txtBus_Ape1Buscar_Reingreso(): compara los datos de la tabla del formulario con los datos q contiene la BD FrmProfesor

Es el formulario por medio del cual se guardan los registros de los Profesores

private ProConexion myConexion; private int err; private int codigo;

getFechaActual(): Toma la fecha actual del calendario LlenarGrid(): LimpiarDatos(): Limpia o vacía los campos del formulario Profesor btnModificarMouseClicked(): Muestra los datos del Profesor al dar click btnSalirMouseClicked(): Salir del formulario Profesor btnGuardarMouseClicked(): Guarda los datos ingresados del profesor

131

clases.*; java.sql.ResultSet; java.util.Calendar; java.util.Vector; javax.swing.JOptionPane; javax.swing.table.DefaultTableModel; jasperreport*.

Prototipo del Sistema de Información de PROMECYS

FrmBotar

Es el formulario que representa las asignaturas que el estudiante desea botar

private csEstudiante est; private csMatricula mat; private csInscripcion ins; private ProConexion myConexion;

getFechaSql(): getFechaActual(): Toma la fecha actual del calendario LimpiarGrids(): Limpia o vacia los datos de la tabla

132

clases.*; java.sql.*; java.util.Calendar; javax.swing.JOptionPane; java.util.Vector; javax.swing.table.DefaultTableModel; javax.swing.text.MaskFormatter;

Prototipo del Sistema de Información de PROMECYS

REPORTES DE PROMECYS La herramienta utilizada para generar reportes dentro de la aplicación es el jasperreport , la cual es una herramienta de código libre en java que facilita diversidad de presentaciones en pantallas, o diseños en impresoras, o para archivar archivos en formato PDF, HTML, RTF, XLS, CSv y XML. Los reportes facilitan al usuario visualizar la información almacenada tanto en los procesos de prematrícula, matrícula, inscripción de clases, ingreso de notas así como también la información de los empleados y docentes que laboran para PROMECYS. Además se podrá acceder fácilmente a la ubicación de los grupos de clases, asignaturas que conforman la carrera. Con el uso del jaspereport el usuario no solo se ahorrará tiempo sino que también tendrá mayor eficiencia en su trabajo puesto que no tendrá que llenar los formatos de prematrícula y matrícula de forma manual lo que evita posibles errores en la escritura En el proceso de prematricula el usuario podrá imprimir la hoja de prematricula por estudiantes, una lista de estudiantes prematriculados, cabe agregar que en el proceso de matrícula también se podrán visualizar los mismos reportes. Cabe agregar que se incluirán reportes que brinden al usuario información necesaria para el desempeño de las actividades diarias de PROMECYS, tales reportes son: 1. Hoja de Prematrícula por Estudiante Nombre del Reporte Hoja de Prematrícula Requerimientos del dbo.Estudiante, dbo,Prematricula Reporte Descripción/Propósito Muestra los detalles de la prematrícula de cada estudiante Campos Llaves Idestudiante Modo de impresión Vertical Total -Orden dbo.Estudiante(* Todos los atributos excepto Idestudiante), dbo.Prematrícula (* Todos los atributos excepto Idprematricula)

133

Prototipo del Sistema de Información de PROMECYS

2. Hoja de Matricula por Estudiante Nombre del Reporte Requerimientos del Reporte Descripción/Propósito Campos Llaves Modo de impresión Total Orden

Hoja de Matrícula dbo.Matrícula, dbo.Estudiante Muestra los detalles de la matrícula de cada estudiante Idestudiante, Idmatrícula Vertical -dbo.Estudiante(* Todos los atributos), dbo,Matrícula(* Todos los atributos)

3. Estudiantes Prematriculados Nombre del Reporte Estudiantes Prematriculados Requerimientos del dbo.Estudiante, dbo.Prematricula Reporte Descripción/Propósito Muestra la lista de todos los estudiantes prematriculados Campos Llaves Idestudiante, Idprematrícula Modo de impresión Vertical Total Total de Estudiantes Prematriculados Orden dbo.Estudiante(Primernombre, Segundonombre, Primerapellido, Segundoapellido) 4. Estudiantes Matriculados Nombre del Reporte Requerimientos del Reporte Descripción/Propósito Campos Llaves Modo de impresión Total Orden

Estudiantes Matriculados dbo.Estudiante, dbo,Matrícula Muestra la lista de los estudiantes matriculados Idestudiante, Idmatricula Vertical Total de Estudiantes Matriculados dbo.Idestudiante (Primernombre, Segundonombre, Primerapellido, Segundoapellido)

5. Grupos de la Carrera Nombre del Reporte Requerimientos del Reporte Descripción/Propósito Campos Llaves Modo de impresión Total Orden

Grupos de la carrera dbo.Grupo Muestra la ubicación geográfica de los grupos Idgrupo Vertical -dbo.Grupo(Idgrupo, Anio, Aula, Ubicacion)

6. Estudiantes Becados

134

Prototipo del Sistema de Información de PROMECYS

Nombre del Reporte Requerimientos del Reporte Descripción/Propósito Campos Llaves Modo de impresión Total Orden

Estudiantes Becados dbo.Inscripcion, dbo.Estudiante, dbo.Matricula Muestra la lista de los estudiantes becados IdInscripcion, Idmatricula, Idestudiante Vertical Total Estudiantes Becados dbo.Estudiante(Carnet, Primernombre, Segundonombre, Primerapellido, Segundoapellido)

7. Datos de Profesor Nombre del Reporte Datos de Profesor Requerimientos del dbo.Profesor Reporte Descripción/Propósito Muestra los datos personales y laborales de los docentes contratados en promecys Campos Llaves Idprofesor Modo de impresión Vertical Total -Orden Dbo.Profesor (Primernombre, Segundonombre,Primerapellido, Segundoapellido, Especialidad, Telefono, Celular) 8. Datos de Empleado Nombre del Reporte Datos de Empleado Requerimientos del dbo.Empleado Reporte Descripción/Propósito Muestra los datos personales de los empleados de promecys, así como también el cargo q ocupan Campos Llaves Idempleado Modo de impresión Vertical Total -Orden dbo.Empleado (* Todos los atributos)

9. Asignaturas impartidas por grupos

135

Prototipo del Sistema de Información de PROMECYS

Nombre del Reporte Asignaturas impartidas por grupos Requerimientos del dbo.AsigProfGrupo, dbo.Profesor dbo.grupo, Reporte dbo.Asignatura Descripción/Propósito Muestra los grupos donde se imparten las asignaturas de la carrera Campos Llaves Idgrupo, Idasignatura, Idprofesor,Idgrupo Modo de impresión Vertical Total -Orden dbo.AsigProfGrupo (Todos los atributos), dbo.Profesor(Primernombre,Segundonombre Primerapellido, Segundoapellido, Telefono, Celular ) 10. Notas de los Estudiantes Nombre del Reporte Requerimientos del Reporte Descripción/Propósi to Campos Llaves Modo de impresión Total Orden

Notas de los Estudiantes dbo.Asignatura, dbo.Matricula, dbo.Nota, dbo.Inscripcion dbo.Estudiante Muestra el nombre de los Estudiantes y las notas obtenidas de todas las asignaturas inscritas IdAsignatura, Idmatricula, Idinscripcion, Idestudiante Vertical -dbo.Estudiante(Primernombre,Segundonombre,Primerap ellido, Segundoapellido), dbo.Asignatura(Idasignatura),dbo.Nota(nota, Calificacion)

11. Hoja de Inscripción Nombre del Reporte Requerimientos del Reporte Descripción/Propósi to Campos Llaves Modo de impresión Total Orden

Hoja de Inscripción dbo.Matricula, dbo.Inscripcion, dbo.Estudiante,dbo.Notas, dbo.Asignatura Muestra las asignaturas inscritas por cada estudiante Idmatrícula, IdInscripcion, Idestudiante Vertical -dbo.Estudiante(Primernombre,Segundonombre,Primerap ellido, Segundoapellido), dbo.Inscripcion (Cuatrimestre), , dbo.Asignatura(Idasignatura,Descripcion)

12. Estudiantes Trabajadores

136

Prototipo del Sistema de Información de PROMECYS

Nombre del Reporte Estudiantes Trabajadores Requerimientos del dbo.Estudiante, dbo.Laboral Reporte Descripción/Propósito Muestra el nombre del estudiante y los datos del centro de trabajo Campos Llaves Idestudiante Modo de impresión Vertical Total -Orden dbo.Estudiante(Primerapellido, Segundonombre, Primerapellido, Segundoapellido, Carnet), dbo.Laboral(Todos los atributos excepto Idestudiante) 13. Estudiantes sin carnet Nombre del Reporte Estudiantes sin carnet Requerimientos del dbo.Estudiante Reporte Descripción/Propósito Muestra la lista de los Estudiantes que no se les ha asignado carnet Campos Llaves Idestudiante Modo de impresión Vertical Total Total de Estudiantes sin carnet Orden dbo.Estudiante (Primernombre, Segundonombre Primerapellido, Segundoapellido) 14. Estudiantes Hombres Nombre del Reporte Requerimientos del Reporte Descripción/Propósito Campos Llaves Modo de impresión Total Orden

Estudiantes Hombres dbo.Estudiante Muestra la cantidad de estudiantes de sexo masculino. Idestudiante Vertical Total de Estudiantes Hombres dbo.Estudiante (Carnet,Primernombre, Segundonombre Primerapellido, Segundoapellido)

15. Estudiantes Mujeres

137

Prototipo del Sistema de Información de PROMECYS

Nombre del Reporte Requerimientos del Reporte Descripción/Propósito Campos Llaves Modo de impresión Total Orden

Estudiantes Mujeres dbo.Estudiante Muestra la cantidad de estudiantes de sexo femenino Idestudiante Vertical Total de Estudiantes Mujeres dbo.Estudiante (Carnet,Primernombre, Segundonombre Primerapellido, Segundoapellido)

16. Notas por Cuatrimestre Nombre del Reporte Requerimientos del Reporte Descripción/Propósito Campos Llaves Modo de impresión Total Orden

Notas por Cuatrimestre dbo.Asignatura, dbo.Matricula, dbo.Nota, dbo.Inscripcion Muestra las notas del estudiante de las asignaturas inscritas por cuatrimestre IdAsignatura, Idmatricula, Idinscripcion, Idestudiante Vertical -dbo.Estudiante(Carnet,Primernombre, Segundonombre Primerapellido, Segundoapellido), dbo.Asignaturas(Idasignatura,Descripcion), dbo.Nota(nota, Calificacion)

17. Estudiantes matriculados por año Nombre del Reporte Estudiantes matriculados por año Requerimientos del dbo.Matricula, dbo.Estudiante Reporte Descripción/Propósito Muestra la lista de los estudiantes matriculados por cada año de la carrera Campos Llaves Idmatrícula, Idestudiante Modo de impresión Vertical Total Total de estudiantes matriculados por año Orden Dbo.Estudiante (Carnet,Primernombre, Segundonombre Primerapellido, Segundoapellido), dbo.Matricula (Anio)

INTERFAZ DE USUARIO

138

Prototipo del Sistema de Información de PROMECYS

Para mantener la seguridad en el sistema, es necesario que éste confirme que la persona que está entrando en sistema sea un usuario existente en el mismo. Para ello, al entrar en el sistema éste pide el nombre del usuario y la contraseña que éste posee por medio del siguiente formulario:

Para tener una mejor visión del funcionamiento del prototipo del sistema de matricula e inscripción de PROMECYS se presentan las pantallas que conforman el funcionamiento del mismo. La pantalla que se observa a continuación es la principal que es desde donde el usuario podrá seleccionar la opción que desea para realizar un determinado proceso.

Pantalla Principal

139

Prototipo del Sistema de Información de PROMECYS

En la pantalla siguiente se visualiza que se puede configurar los datos de los empleados, los datos de profesores, de las asignaturas, los grupos, actualizar los datos de los estudiantes y además se puede conocer el vínculo que existe entre asignatura, grupo y profesor.

Pantalla Principal

El formulario Empleados permite ingresar los datos de las personas que laboran en PROMECYS, también permite modificar los datos almacenados así como consultarlos. La interfaz presenta dos pestañas una de ellas es para buscar los datos y la otra es para ingresar, modificar y guardar los datos de los empleados.

Interfaz Empleados

140

Prototipo del Sistema de Información de PROMECYS

El formulario de Docentes permite ingresar los datos de los profesores que imparten las clases en PROMECYS. Estos datos una vez que han sido almacenados pueden ser consultados y modificados, una vez que se hacen los cambios necesarios se puede guardar la información.

Interfaz Docentes

141

Prototipo del Sistema de Información de PROMECYS

El formulario Asignatura permite ingresar los datos de una nueva asignatura, también permite visualizar las asignaturas que han sido almacenadas. Algunas asignaturas tienen prerrequisitos, otras precedencias, algunas veces tiene ambas y hay algunas que no tienen ni prerrequisitos, ni precedencias; esto se puede registrar desde la interfaz Asignaturas para ello el usuario debe ingresar los datos de la asignatura y después lo selecciona y activa la interfaz de precedencia o prerrequisito en dependencia de la necesidad que se tenga.

Interfaz Asignaturas

La pantalla para ingresar la precedencia y el prerrequisito son similares, solo se selecciona la asignatura deseada y se guarda como precedencia o prerrequisito. Interfaz precedencia Nota: la interfaz prerrequisito es igual a la de precedencia

142

Prototipo del Sistema de Información de PROMECYS

En el formulario de Grupos se ingresa la información del grupo: el código, la ubicación, el año y el número de aula, también se puede visualizar la información de los grupos que han sido almacenados.

Interfaz Grupos

143

Prototipo del Sistema de Información de PROMECYS

Por medio de este formulario, se podrá asignar los números de carnet a los estudiantes que todavía no lo tengan, teniendo una lista de todos los estudiantes para hacer la búsqueda más fácil, además se podrán actualizar los datos del mismo.

144

Prototipo del Sistema de Información de PROMECYS

Aquí después de asignado el carnet se puede buscar al estudiante con su número de carnet y actualizar los datos si se desea:

145

Prototipo del Sistema de Información de PROMECYS

La interfaz vínculo de grupos, asignaturas y profesores permite ver la relación que existe entre estos tres registros, también se pueden registrar relaciones nuevas y guardarlas. En esta interfaz se puede seleccionar el grupo y de acuerdo a la selección se pueden ver las asignaturas que el grupo puede llevar, también muestra la lista de los profesores que pueden impartir dichas asignaturas. Además aparece una lista que muestra el vínculo de los mismos, esta se puede filtrar por grupo, profesor y asignatura.

Interfaz relación grupos, asignaturas y profesores

146

Prototipo del Sistema de Información de PROMECYS

Desde la interfaz principal se pueden seleccionar las interfaces para llevar a cabo los procesos de Prematricula, Matricula, Inscripción, el ingreso de las notas y también botar asignaturas inscritas. Pantalla principal

El primer proceso que se realiza para formar parte de PROMECYS es la prematricula, esta interfaz tiene dos pestañas, desde la primera se puede agregar una nueva prematricula en la que se introducen los datos de las personas que se llegan a prematricular, y en la segunda pestaña se puede buscar la lista de las personas que se han prematriculado. Esta es la vista de la pestaña principal, donde se introducen los datos de los prematricula dos

Interfaz Prematricula

147

Prototipo del Sistema de Información de PROMECYS

Esta pantalla muestra la segunda pestaña de la interfaz prematricula que es donde se buscan los datos de las personas que han realizado una prematricula. Para modificar los datos almacenados es necesario primeramente hacer la búsqueda para después guardar los cambios.

Interfaz Prematricula

148

Prototipo del Sistema de Información de PROMECYS

Una vez que se ha llevado a cabo la prematricula, el siguiente paso es llevar a cabo el proceso de matricula, esta interfaz esta compuesta por tres pestañas, en la primera se ingresan los datos de la matricula, para lleva a cabo la misma es preciso buscar los datos de los estudiantes, estas listas están en las otras dos pestañas una corresponde a la de los estudiantes de reingreso y la otra a los de primer ingreso que corresponde a loo prematriculados. Para registrar la matricula es necesario buscar primero los datos de los estudiantes y después se ingresan los datos de la matricula para después ser guardada.

[Formulario de Matricula]

Interfaz Matricula

149

Prototipo del Sistema de Información de PROMECYS

Cuando se lleva a cabo la matricula generalmente se actualizan los datos de los estudiantes, esto se hace a través de la interfaz actualizar información del estudiante, en esta se pueden modificar los datos generales del estudiante, esto se lleva a cabo porque algunas veces se cambia el numero de teléfono y la dirección.

Interfaz actualizar información del estudiante

Entre los datos de los estudiantes esta la información laboral que también puede ser modificada cada vez que se lleva a cabo la matricula, que se realiza una vez al año.

Interfaz datos laborales

150

Prototipo del Sistema de Información de PROMECYS

Después de haber llevado a cabo la matricula se puede realizar el proceso de inscripción de asignaturas, esta se hace tres veces al año, lo que significa que son tres inscripciones por cada matricula. La interfaz de inscripción tiene dos pestañas una para hacer la inscripción y la otra permite buscar los datos del estudiante. Para realizar la inscripción se debe buscar los datos de estudiante y después cargar la inscripción para posteriormente guardarla. Cuando se introducen los datos de la inscripción, se introduce el año y el cuatrimestre y cuando se da en cargar inscripción se muestran las asignaturas que se pueden cursar en ese año y cuatrimestre y luego se guarda la inscripción.

Interfaz Inscripción

151

Prototipo del Sistema de Información de PROMECYS

Cuando se realiza una inscripción, el estudiante tiene la opción de botar alguna de las asignaturas que ya ha inscrito. Para ello debe buscar los datos del estudiante para que se muestre la última inscripción se selecciona la asignatura que se desea botar, además se muestran otras opciones asignaturas que pueden ser inscritas ya sea que se adelanten o que se deban, después de haber seleccionado se guardan los cambios.

Formulario botar e inscribir asignaturas

152

Prototipo del Sistema de Información de PROMECYS

Se pueden realizar reportes de los diferentes procesos que se llevan a cabo en PROMECYS. Los reportes muestran los datos almacenados de cada uno de los procesos, estos son mandados a llamar a través de las vistas que se realizan en SQL. Algunos de los reportes son:

Reporte de estudiantes prematriculados

153

Prototipo del Sistema de Información de PROMECYS

Reporte de estudiantes becados

154

Prototipo del Sistema de Información de PROMECYS

Reporte de estudiantes matriculados

155

Prototipo del Sistema de Información de PROMECYS

Reporte datos de grupo

156

Prototipo del Sistema de Información de PROMECYS

Reporte detalles de prematricula

157

Prototipo del Sistema de Información de PROMECYS

Reporte hoja de matricula

158

Prototipo del Sistema de Información de PROMECYS

CAPITULO V: ANALISIS DE LA RED PARA LA IMPLEMENTACION DEL SISTEMA

159

Prototipo del Sistema de Información de PROMECYS

RECURSOS ACTUALES Actualmente PROMECYS cuenta con dos computadoras, las cuales no son están conectadas en red ni son utilizadas en las labores que se realizan en el proceso de matrícula e inscripción de estudiantes ya que estos se realizan de forma manual. Solo se cuenta con un pequeño registro de datos del estudiante que no tiene ningún tipo de conexión con los sistemas pertenecientes a la universidad. Por lo que se puede decir que el diagrama de despliegue actual es el siguiente:

Asistente

Director (a)

El sistema estará implementado en 2 computadoras, las cuales pertenecen a los usuarios de PROMECYS, es decir quienes atenderán a los estudiantes que pertenecen al mismo. Una de las computadoras será utilizada como servidor y estará conectada en red con la otra computadora, a través de un switch utilizando cable UTP categoría 5, de tal manera que ambas podrán realizar los procesos del sistema y accesar a la información sin inconvenientes. La topología en que se clasifica la conexión de red de los equipos es la topología estrella, ya que las estaciones de trabajo estarán conectadas a un punto central (Switch) y las comunicaciones se harán posibles a partir de este. El diagrama de despliegue propuesto es el siguiente:

Switch

Director (a)

Impresora

160

Asistente

Prototipo del Sistema de Información de PROMECYS

FACTIBILIDAD TÉCNICA Es importante realizar un estudio de factibilidad para determinar la infraestructura tecnológica y la capacidad técnica que implica la implementación del sistema. Por lo que se debe evaluar si el equipo (hardware) y software están disponibles y si tienen las capacidades técnicas requeridas para la aplicación. Requerimientos de Hardware. Es importante contar con los requerimientos de hardware adecuados para la implementación del sistema. Requerimientos Actuales Componente Procesador Memoria Ram Disco Duro Monitor Teclado Mouse Altavoces Tarjeta de Red

Requerimientos Recomendados

Características P4 1.80 Ghz 128 MB 40 GB 15’’ CRT Si Si No 10/100 Mbps

Componente Procesador Memoria Ram Disco Duro Monitor Teclado Mouse Altavoces Tarjeta de Red

Características P4 3.0 Ghz 1 GB 80 GB 17’’ LCD Si Si No 10/100 Mbps

Requerimientos de Software. Para el desarrollo de la aplicación utilizaremos java jdk1.6, que es un entorno de desarrollo eficaz, que permite programar cualquier tipo de aplicación, tanto para escritorio como para entornos web. Algunos de los requerimientos de software a considerar para el sistema se detallan a continuación: Paquete Sistema Operativo Software Antivirus Entorno de Desarrollo Procesador de Varchar Gestor de Base de Datos

Software Microsoft Windows XP Profesional Service Pack 2 Antivir Personal Edition Classic

No. Licencia 55274-640-775642423428 0000149996-ADJIE0001

Java jdk1.6

Gratuita

Microsoft Word 2007

89388-707-044186565873

Microsoft SQL Server 2000

$ 400

CONCLUSIONES 161

Prototipo del Sistema de Información de PROMECYS

Se realizó el análisis de requerimientos para definir la problemática actual y poder brindar una propuesta para la automatización de los procesos, encontrando 30 casos de usos que serán necesarios. Se analizó el diagrama de clases lo cual permitió reconocer 14 tablas relacionadas y normalizadas que se describen en el modelo de datos. Se ha diseñado un prototipo del sistema de información, tomando en cuenta las actividades que realizan los usuarios en los diferentes procesos, mostrando 30 pantallas con 17 reportes disponibles en su prototipo. Se diseño una topología en estrella para la interconexión de la red a utilizar en el sistema, debido a la cantidad de maquinas existentes y la ubicación geográfica de las oficinas.

162

Prototipo del Sistema de Información de PROMECYS

RECOMENDACIONES

Se recomienda continuar con el desarrollo de la propuesta del prototipo de sistemas de información, para los procesos de Matrícula e Inscripción de asignaturas y así mismo agilizar las actividades e incrementar la eficiencia.

Se recomienda la adquisición de nuevos equipos para ser reemplazados en la oficina de PROMECYS, ya que las características actuales no son suficientes para la demanda del sistema.

163

Prototipo del Sistema de Información de PROMECYS

BIBLIOGRAFIA Libros Programación en Java 2. Estructura de datos y Programación orientada a objetos. Luis Joyanes Aguilar e Ignacio Zahonero Martínez 1ra ed. México McGraw Hill. Aprenda Programación en SQL Server 2000. Rebecca M Riordan. Mc Graw Hill

Documentación De Cursos de Titulación.

Patricia Lacayo Cruz. Análisis Diseño e implementación de Sistema de información. Curso de Titulación. Módulo I [Marzo 2007] Universidad Nacional de Ingeniería. Evelyn Espinoza. Administración de base de datos Curso de Titulación. Modulo II [Junio 2007]. Universidad Nacional de Ingeniería. Marvin Parrales. Programación Orientada a Objeto. Curso de Titulación. Modulo III [Julio 2007]. Universidad Nacional de Ingeniería.

164

prototipo-de-sistema-para-matricula-e-inscripcion-de ...

prototipo-de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni.pdf. prototipo-de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni.pdf. Open.

1MB Sizes 0 Downloads 236 Views

Recommend Documents

No documents