SlideShare ist ein Scribd-Unternehmen logo
1 von 169
Downloaden Sie, um offline zu lesen
Prototipo del Sistema de información de PROMECYS
____________________________________________________________________________
Universidad Nacional de Ingeniería
Facultad de Ciencias y Sistemas
“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.
T.Mon
025.04
S939
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
- 1 -
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.
Prototipo del Sistema de Información de PROMECYS
- 2 -
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.
Prototipo del Sistema de Información de PROMECYS
- 3 -
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.
Prototipo del Sistema de Información de PROMECYS
- 4 -
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
Prototipo del Sistema de Información de PROMECYS
- 5 -
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
Prototipo del Sistema de Información de PROMECYS
- 6 -
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á
Prototipo del Sistema de Información de PROMECYS
- 7 -
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.
Prototipo del Sistema de Información de PROMECYS
- 8 -
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).
Prototipo del Sistema de Información de PROMECYS
- 9 -
·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.
Prototipo del Sistema de Información de PROMECYS
- 10 -
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
Prototipo del Sistema de Información de PROMECYS
- 11 -
• 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
Prototipo del Sistema de Información de PROMECYS
- 12 -
• 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.
Prototipo del Sistema de Información de PROMECYS
- 13 -
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.
Prototipo del Sistema de Información de PROMECYS
- 14 -
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.
Prototipo del Sistema de Información de PROMECYS
- 15 -
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 uso-
caso 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.
Prototipo del Sistema de Información de PROMECYS
- 16 -
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 <<include>> 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 <<extend>> 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
Prototipo del Sistema de Información de PROMECYS
- 17 -
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
Prototipo del Sistema de Información de PROMECYS
- 18 -
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,
Prototipo del Sistema de Información de PROMECYS
- 19 -
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
Prototipo del Sistema de Información de PROMECYS
- 20 -
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.
Prototipo del Sistema de Información de PROMECYS
- 21 -
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
Prototipo del Sistema de Información de PROMECYS
- 22 -
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
Prototipo del Sistema de Información de PROMECYS
- 23 -
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
Prototipo del Sistema de Información de PROMECYS
- 24 -
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.
Prototipo del Sistema de Información de PROMECYS
- 25 -
CAPITULO I:
MODELO DE REQUERIMIENTOS
“El tiempo más rentable es el de Planificar y Preparar”
Prototipo del Sistema de Información de PROMECYS
- 26 -
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.
Prototipo del Sistema de Información de PROMECYS
- 27 -
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.
Prototipo del Sistema de Información de PROMECYS
- 28 -
ESTRUCTURA ORGANIZACIONAL
Prototipo del Sistema de Información de PROMECYS
- 29 -
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
Prototipo del Sistema de Información de PROMECYS
- 30 -
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.
Prototipo del Sistema de Información de PROMECYS
31
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.
Prototipo del Sistema de Información de PROMECYS
32
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
Prototipo del Sistema de Información de PROMECYS
33
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
Prototipo del Sistema de Información de PROMECYS
34
CAPITULO II:
ANALISIS DEL SISTEMA
“Si comienza a planificar, no te desanimes si te equivocas muchísimo.”
Prototipo del Sistema de Información de PROMECYS
35
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.
Prototipo del Sistema de Información de PROMECYS
36
ESTUDIANTE
Solicita Prematricula y entrega recibo
Revisa recibo prematricula
Llena hoja datos estudiantes
Registra nuevo estudiante
Recibe hoja prematricula
Agregar nueva prematricula
DIAGRAMAS DE ACTIVIDAD
Proceso Prematricula PROMECYS
TRABAJADOR
Prototipo del Sistema de Información de PROMECYS
37
Solicita matricula y entrega recibo Verifica recibo y datos prematricula
registra matricula
recibe hoja matricula
llena hoja datos estudiante registra nuevo estudiante
registra nueva matricula
recibe hoja matricula
revisa recibo prematricula
DIAGRAMA DE ACTIVIDAD
Proceso de Matricula PROMECYS
ESTUDIANTE EMPLEADO
Existe
prematricula
si no
Prototipo del Sistema de Información de PROMECYS
38
llena hoja inscripcion revisa inscripcion
registra inscripcionrecibe hoja de inscripcion
DIAGRAMA DE ACTIVIDAD
Proceso de Inscripción asignaturas PROMECYS
ESTUDIANTE EMPLEADO
Cumple con
prerrequisito y
precedencia
si
no
Prototipo del Sistema de Información de PROMECYS
39
ESTUDIANTE
Solicita notas verifica disponibilidad de notas
realizar certificado de notasrecibe certificado de notas
DIAGRAMA DE ACTIVIDAD
Proceso Imprimir Certificado de Notas PROMECYS
EMPLEADO
Notas
disponibles?
si
no
Prototipo del Sistema de Información de PROMECYS
40
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.
Prototipo del Sistema de Información de PROMECYS
41
Ingresar datos laborales
Modificar prematricula
Ingresar datos laboralesActualizar datos estudiantes
extend
Buscar estudiantes nuevo ingreso
Buscar estudiantes reingreso
Botar asignatura
Ingresar datos estudiantes
extend
Buscar estudiantes
prematriculados
extend
Buscar estudiante
Empleado
Registrar Prematricula
extend
extend
Registrar Matricula
extend
extend
extend
include
Registrar inscripcion
include
extend
extend
Registrar notas
include
extend
Imprimir hoja Prematricula
extend
Imprimir hoja matricula
extend
Imprimir hoja inscripcionextend
Estudiante
Imprimir certificado
extend
Imprimir reporte
Registrar prerequisito
Registrar precedencia
Imprimir pensum
Imprimir reporte
Registrar empleado
extend
Registrar asignatura
extend
extend
extend
Registrar grupo
Relacionar grupo_asignatura_
profesor
extend
buscar profesor
Imprimir reporte
Registrar profesor
extend
extend
Empleado
Prototipo del Sistema de Información de PROMECYS
42
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.
Prototipo del Sistema de Información de PROMECYS
43
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
NOMBRE DEFINICION
Empleado Empleado de PROMECYS que brinda atención al estudiante.
Estudiante
Persona interesada en pertenecer al programa para poder concluir una
carrera. Es quien solicita los servicios académicos que brinda la
Universidad.
ESCENARIO #1
Nombre : Agregar Prematricula sin inconvenientes
Pre-Condiciones :
-Recibo de Prematricula.
- Cumplir con requisitos de prematricula
Iniciado por : Empleado
Finalizado por : Empleado
Post-Condiciones : Hoja de Prematricula
Operaciones :
1. Activar interfaz registro de prematricula.
2. Registrar los datos del nuevo estudiante.
3. Guardar
ESCENARIO #2
Nombre : Prematricula de un registro existente
Pre-Condiciones :
-Recibo de Prematricula
-Cumplir con requisito de Prematricula
Iniciado por : Empleado
Finalizado por : Empleado
Post-Condiciones : Hoja de Prematricula
Operaciones :
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
Nombre : Imprimir hoja Prematricula
Pre-Condiciones :
-Prematricula exista
Iniciado por : Empleado
Finalizado por : Empleado
Post-Condiciones : ninguna
Operaciones :
1. Activar interfaz de registro de Prematricula
2. Buscar registro de prematricula y mostrar
3. Imprimir hoja prematricula
Prototipo del Sistema de Información de PROMECYS
44
CASO DE USO: : Registro de Matricula
DEFINICIÓN :
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.
PRIORIDAD : (1) Vital (2) Importante (3) Conveniente
URGENCIA : (1)Inmediata (2) Necesario (3) Puede Esperar
ACTORES
NOMBRE DEFINICION
Empleado Es la persona de PROMECYS que brinda atención al estudiante.
ESCENARIO #1
Nombre : Registro de Matricula de Primer ingreso
Pre-Condiciones :
- Recibo de matricula
- Cumplir con prematricula
Iniciado por : Empleado
Finalizado por : Empleado
Post-Condiciones : - Hoja de Matricula e inscripción
Operaciones
1. Activar interfaz de Matricula
2. Buscar datos prematricula
3. Ingresar datos matricula
4. Ingresar datos primera inscripción
5. Guardar
ESCENARIO #2
Nombre : Registro de Matricula de Reingreso
Pre-Condiciones : - Recibo de matricula
Iniciado por : Empleado
Finalizado por : Empleado
Post-Condiciones : - Hoja de Matricula e inscripción
Operaciones
1. Activar interfaz de Matricula
1. Buscar datos de estudiante
2. Registrar matricula
3. Registrar inscripción
6. Guardar
Prototipo del Sistema de Información de PROMECYS
45
ESCENARIO #3
Nombre : Actualizar datos Estudiante
Pre-Condiciones : - ninguna
Iniciado por : Empleado
Finalizado por : Empleado
Post-Condiciones : - ninguna
Operaciones
1. Activar interfaz de Matricula
2. Activar interfaz Datos estudiantes
3. Actualizar datos
4. Guardar
ESCENARIO #4
Nombre : Imprimir hoja matricula
Pre-Condiciones : - Matricula exista
Iniciado por : Empleado
Finalizado por : Empleado
Post-Condiciones : - ninguna
Operaciones
1. Activar interfaz de Matricula
5. Activar interfaz reporte matricula
6. Mostrar hoja matricula
7. Imprimir hoja matricula
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni

Weitere ähnliche Inhalte

Was ist angesagt?

Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionalesRequisitos funcionales y no funcionales
Requisitos funcionales y no funcionalesRene Guaman-Quinche
 
Sistema De Gestión De Base De Datos
Sistema De Gestión De Base De DatosSistema De Gestión De Base De Datos
Sistema De Gestión De Base De DatosGuillermo Chirinos
 
Equipo#2 wiki2-caso de uso- diagrama de caso de uso- uml
Equipo#2 wiki2-caso de uso- diagrama de caso de uso- umlEquipo#2 wiki2-caso de uso- diagrama de caso de uso- uml
Equipo#2 wiki2-caso de uso- diagrama de caso de uso- umlmarimallol
 
Base de datos colegio
Base de datos colegioBase de datos colegio
Base de datos colegioCarlos Buezo
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosSergio Sanchez
 
Requerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónRequerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónYare LoZada
 
Fase de implementación de sistemas de información
Fase de implementación de sistemas de informaciónFase de implementación de sistemas de información
Fase de implementación de sistemas de informaciónNAHAMA19
 
Ejemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rupEjemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rupXochitl Saucedo Muñoz
 
PROYECTO DE BASE DE DATOS
PROYECTO DE BASE DE DATOSPROYECTO DE BASE DE DATOS
PROYECTO DE BASE DE DATOSjaimeizq
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estadosstill01
 
Diagrama de Flujo de Datos (DFD)
Diagrama de Flujo de Datos (DFD)Diagrama de Flujo de Datos (DFD)
Diagrama de Flujo de Datos (DFD)Yaskelly Yedra
 
mapa mental sobre ingeniería de requisitos.pdf
mapa mental sobre ingeniería de requisitos.pdfmapa mental sobre ingeniería de requisitos.pdf
mapa mental sobre ingeniería de requisitos.pdfCarlosEspinel10
 
MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)Yadith Miranda Silva
 

Was ist angesagt? (20)

Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionalesRequisitos funcionales y no funcionales
Requisitos funcionales y no funcionales
 
Sistema De Gestión De Base De Datos
Sistema De Gestión De Base De DatosSistema De Gestión De Base De Datos
Sistema De Gestión De Base De Datos
 
Equipo#2 wiki2-caso de uso- diagrama de caso de uso- uml
Equipo#2 wiki2-caso de uso- diagrama de caso de uso- umlEquipo#2 wiki2-caso de uso- diagrama de caso de uso- uml
Equipo#2 wiki2-caso de uso- diagrama de caso de uso- uml
 
Base de datos colegio
Base de datos colegioBase de datos colegio
Base de datos colegio
 
Ejemplo dfd
Ejemplo dfdEjemplo dfd
Ejemplo dfd
 
Metodologia orientada a objeto
Metodologia orientada a objetoMetodologia orientada a objeto
Metodologia orientada a objeto
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De Requerimientos
 
Requerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónRequerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicación
 
Fase de implementación de sistemas de información
Fase de implementación de sistemas de informaciónFase de implementación de sistemas de información
Fase de implementación de sistemas de información
 
Diagrama de Componentes
Diagrama de ComponentesDiagrama de Componentes
Diagrama de Componentes
 
22 ejercicios base de datos
22 ejercicios base de datos 22 ejercicios base de datos
22 ejercicios base de datos
 
Proyecto final de software
Proyecto final de softwareProyecto final de software
Proyecto final de software
 
Ejemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rupEjemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rup
 
Analisis y diseño diagrama de contexto
Analisis y diseño diagrama de contextoAnalisis y diseño diagrama de contexto
Analisis y diseño diagrama de contexto
 
PROYECTO DE BASE DE DATOS
PROYECTO DE BASE DE DATOSPROYECTO DE BASE DE DATOS
PROYECTO DE BASE DE DATOS
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estados
 
Diagrama de Flujo de Datos (DFD)
Diagrama de Flujo de Datos (DFD)Diagrama de Flujo de Datos (DFD)
Diagrama de Flujo de Datos (DFD)
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
mapa mental sobre ingeniería de requisitos.pdf
mapa mental sobre ingeniería de requisitos.pdfmapa mental sobre ingeniería de requisitos.pdf
mapa mental sobre ingeniería de requisitos.pdf
 
MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)
 

Ähnlich wie Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni

1686239938500_Nataly González 5to año Mercadeo - CAPITULO I y II (2).docx
1686239938500_Nataly González 5to año Mercadeo - CAPITULO I y II (2).docx1686239938500_Nataly González 5to año Mercadeo - CAPITULO I y II (2).docx
1686239938500_Nataly González 5to año Mercadeo - CAPITULO I y II (2).docxLopezYeni
 
BaseProyectoSCR.pdf
BaseProyectoSCR.pdfBaseProyectoSCR.pdf
BaseProyectoSCR.pdfMaraColibr
 
Taller recursos multimedia_omar_olguinl
Taller recursos multimedia_omar_olguinlTaller recursos multimedia_omar_olguinl
Taller recursos multimedia_omar_olguinlomar olguin luna
 
Jose fernando vegavasquez_actividad1
Jose fernando vegavasquez_actividad1Jose fernando vegavasquez_actividad1
Jose fernando vegavasquez_actividad1joferve2603
 
Modelo de planeación estratégica de tecnologías de la información en pequeñas...
Modelo de planeación estratégica de tecnologías de la información en pequeñas...Modelo de planeación estratégica de tecnologías de la información en pequeñas...
Modelo de planeación estratégica de tecnologías de la información en pequeñas...Jorge Iván Pincay Ponce
 
16 tesis.idc009 s82
16 tesis.idc009 s8216 tesis.idc009 s82
16 tesis.idc009 s82Fuxion Force
 
Ii mipe-2010-cervecera123
Ii mipe-2010-cervecera123Ii mipe-2010-cervecera123
Ii mipe-2010-cervecera123jjyoberhenry
 
ESCUELA NORMAL SUPERIOR SANTA CLARA
ESCUELA NORMAL SUPERIOR SANTA CLARAESCUELA NORMAL SUPERIOR SANTA CLARA
ESCUELA NORMAL SUPERIOR SANTA CLARAguesta1f07d1
 
DISENO_E_IMPLEMENTACION_DE_UN_SISTEMA_DE.pdf
DISENO_E_IMPLEMENTACION_DE_UN_SISTEMA_DE.pdfDISENO_E_IMPLEMENTACION_DE_UN_SISTEMA_DE.pdf
DISENO_E_IMPLEMENTACION_DE_UN_SISTEMA_DE.pdfWilbertRicardoFalcon1
 
Romero galindo raul_sistema_informacion_educacion_especial
Romero galindo raul_sistema_informacion_educacion_especialRomero galindo raul_sistema_informacion_educacion_especial
Romero galindo raul_sistema_informacion_educacion_especialLizbeth Jimenez Hernnadez
 
TESIS+Aplicación Modelo+Incremental+Para+el+Desarrollo+del.pdf
TESIS+Aplicación Modelo+Incremental+Para+el+Desarrollo+del.pdfTESIS+Aplicación Modelo+Incremental+Para+el+Desarrollo+del.pdf
TESIS+Aplicación Modelo+Incremental+Para+el+Desarrollo+del.pdfPedroCalero11
 

Ähnlich wie Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni (20)

1686239938500_Nataly González 5to año Mercadeo - CAPITULO I y II (2).docx
1686239938500_Nataly González 5to año Mercadeo - CAPITULO I y II (2).docx1686239938500_Nataly González 5to año Mercadeo - CAPITULO I y II (2).docx
1686239938500_Nataly González 5to año Mercadeo - CAPITULO I y II (2).docx
 
BaseProyectoSCR.pdf
BaseProyectoSCR.pdfBaseProyectoSCR.pdf
BaseProyectoSCR.pdf
 
PROYECTO DE AULA
PROYECTO DE AULAPROYECTO DE AULA
PROYECTO DE AULA
 
PROYECTO DE AULA
PROYECTO DE AULAPROYECTO DE AULA
PROYECTO DE AULA
 
Taller recursos multimedia_omar_olguinl
Taller recursos multimedia_omar_olguinlTaller recursos multimedia_omar_olguinl
Taller recursos multimedia_omar_olguinl
 
PROYECTO DE AULA
PROYECTO DE AULAPROYECTO DE AULA
PROYECTO DE AULA
 
PROYECTO DE AULA
PROYECTO DE AULAPROYECTO DE AULA
PROYECTO DE AULA
 
24373266
2437326624373266
24373266
 
Jose fernando vegavasquez_actividad1
Jose fernando vegavasquez_actividad1Jose fernando vegavasquez_actividad1
Jose fernando vegavasquez_actividad1
 
Modelo de planeación estratégica de tecnologías de la información en pequeñas...
Modelo de planeación estratégica de tecnologías de la información en pequeñas...Modelo de planeación estratégica de tecnologías de la información en pequeñas...
Modelo de planeación estratégica de tecnologías de la información en pequeñas...
 
16 tesis.idc009 s82
16 tesis.idc009 s8216 tesis.idc009 s82
16 tesis.idc009 s82
 
Sistema de Matricula.doc
Sistema de Matricula.docSistema de Matricula.doc
Sistema de Matricula.doc
 
Manejo de las tics en la cun
Manejo de las tics en la cunManejo de las tics en la cun
Manejo de las tics en la cun
 
Ii mipe-2010-cervecera123
Ii mipe-2010-cervecera123Ii mipe-2010-cervecera123
Ii mipe-2010-cervecera123
 
Diseño del sistema de información y atencion al usuario “siau” para la clinic...
Diseño del sistema de información y atencion al usuario “siau” para la clinic...Diseño del sistema de información y atencion al usuario “siau” para la clinic...
Diseño del sistema de información y atencion al usuario “siau” para la clinic...
 
ESCUELA NORMAL SUPERIOR SANTA CLARA
ESCUELA NORMAL SUPERIOR SANTA CLARAESCUELA NORMAL SUPERIOR SANTA CLARA
ESCUELA NORMAL SUPERIOR SANTA CLARA
 
Sistema seguimientoeg
Sistema seguimientoegSistema seguimientoeg
Sistema seguimientoeg
 
DISENO_E_IMPLEMENTACION_DE_UN_SISTEMA_DE.pdf
DISENO_E_IMPLEMENTACION_DE_UN_SISTEMA_DE.pdfDISENO_E_IMPLEMENTACION_DE_UN_SISTEMA_DE.pdf
DISENO_E_IMPLEMENTACION_DE_UN_SISTEMA_DE.pdf
 
Romero galindo raul_sistema_informacion_educacion_especial
Romero galindo raul_sistema_informacion_educacion_especialRomero galindo raul_sistema_informacion_educacion_especial
Romero galindo raul_sistema_informacion_educacion_especial
 
TESIS+Aplicación Modelo+Incremental+Para+el+Desarrollo+del.pdf
TESIS+Aplicación Modelo+Incremental+Para+el+Desarrollo+del.pdfTESIS+Aplicación Modelo+Incremental+Para+el+Desarrollo+del.pdf
TESIS+Aplicación Modelo+Incremental+Para+el+Desarrollo+del.pdf
 

Kürzlich hochgeladen

Mapa conceptual de el hardware y software
Mapa conceptual de el hardware y softwareMapa conceptual de el hardware y software
Mapa conceptual de el hardware y softwarejorgeadrianoropezame
 
PRESENTACION SISTEMAS OPERATIVOS MOVILES_20240424_235225_0000.pdf
PRESENTACION SISTEMAS OPERATIVOS MOVILES_20240424_235225_0000.pdfPRESENTACION SISTEMAS OPERATIVOS MOVILES_20240424_235225_0000.pdf
PRESENTACION SISTEMAS OPERATIVOS MOVILES_20240424_235225_0000.pdfSuleimaJimnez
 
La busqueda de la relevancia en la economia (Harberger).pptx
La busqueda de la relevancia en la economia (Harberger).pptxLa busqueda de la relevancia en la economia (Harberger).pptx
La busqueda de la relevancia en la economia (Harberger).pptxPEPONLU
 
HIDRAULICA PRINCIPIOS FISICOS , LEY DE PASCAL Y FUNDAMENTOS video.pptx
HIDRAULICA PRINCIPIOS FISICOS , LEY DE PASCAL Y FUNDAMENTOS video.pptxHIDRAULICA PRINCIPIOS FISICOS , LEY DE PASCAL Y FUNDAMENTOS video.pptx
HIDRAULICA PRINCIPIOS FISICOS , LEY DE PASCAL Y FUNDAMENTOS video.pptxFranckRussellFlorGue
 
Vision de asignatura ESTRUCTURA DE DATOS.pptx
Vision de asignatura ESTRUCTURA DE DATOS.pptxVision de asignatura ESTRUCTURA DE DATOS.pptx
Vision de asignatura ESTRUCTURA DE DATOS.pptxjmatheus74
 
477407774-EMBRIOLOGIA-DEL-SISTEMA-NERVIOSO.pptx
477407774-EMBRIOLOGIA-DEL-SISTEMA-NERVIOSO.pptx477407774-EMBRIOLOGIA-DEL-SISTEMA-NERVIOSO.pptx
477407774-EMBRIOLOGIA-DEL-SISTEMA-NERVIOSO.pptxAndreaSoto281274
 

Kürzlich hochgeladen (6)

Mapa conceptual de el hardware y software
Mapa conceptual de el hardware y softwareMapa conceptual de el hardware y software
Mapa conceptual de el hardware y software
 
PRESENTACION SISTEMAS OPERATIVOS MOVILES_20240424_235225_0000.pdf
PRESENTACION SISTEMAS OPERATIVOS MOVILES_20240424_235225_0000.pdfPRESENTACION SISTEMAS OPERATIVOS MOVILES_20240424_235225_0000.pdf
PRESENTACION SISTEMAS OPERATIVOS MOVILES_20240424_235225_0000.pdf
 
La busqueda de la relevancia en la economia (Harberger).pptx
La busqueda de la relevancia en la economia (Harberger).pptxLa busqueda de la relevancia en la economia (Harberger).pptx
La busqueda de la relevancia en la economia (Harberger).pptx
 
HIDRAULICA PRINCIPIOS FISICOS , LEY DE PASCAL Y FUNDAMENTOS video.pptx
HIDRAULICA PRINCIPIOS FISICOS , LEY DE PASCAL Y FUNDAMENTOS video.pptxHIDRAULICA PRINCIPIOS FISICOS , LEY DE PASCAL Y FUNDAMENTOS video.pptx
HIDRAULICA PRINCIPIOS FISICOS , LEY DE PASCAL Y FUNDAMENTOS video.pptx
 
Vision de asignatura ESTRUCTURA DE DATOS.pptx
Vision de asignatura ESTRUCTURA DE DATOS.pptxVision de asignatura ESTRUCTURA DE DATOS.pptx
Vision de asignatura ESTRUCTURA DE DATOS.pptx
 
477407774-EMBRIOLOGIA-DEL-SISTEMA-NERVIOSO.pptx
477407774-EMBRIOLOGIA-DEL-SISTEMA-NERVIOSO.pptx477407774-EMBRIOLOGIA-DEL-SISTEMA-NERVIOSO.pptx
477407774-EMBRIOLOGIA-DEL-SISTEMA-NERVIOSO.pptx
 

Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni

  • 1. Prototipo del Sistema de información de PROMECYS ____________________________________________________________________________ Universidad Nacional de Ingeniería Facultad de Ciencias y Sistemas “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. T.Mon 025.04 S939 2008
  • 2. 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
  • 3. 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
  • 4. 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.
  • 5. 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
  • 6. Prototipo del Sistema de Información de PROMECYS - 1 - 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.
  • 7. Prototipo del Sistema de Información de PROMECYS - 2 - 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.
  • 8. Prototipo del Sistema de Información de PROMECYS - 3 - 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.
  • 9. Prototipo del Sistema de Información de PROMECYS - 4 - 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
  • 10. Prototipo del Sistema de Información de PROMECYS - 5 - 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
  • 11. Prototipo del Sistema de Información de PROMECYS - 6 - 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á
  • 12. Prototipo del Sistema de Información de PROMECYS - 7 - 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.
  • 13. Prototipo del Sistema de Información de PROMECYS - 8 - 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).
  • 14. Prototipo del Sistema de Información de PROMECYS - 9 - ·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.
  • 15. Prototipo del Sistema de Información de PROMECYS - 10 - 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
  • 16. Prototipo del Sistema de Información de PROMECYS - 11 - • 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
  • 17. Prototipo del Sistema de Información de PROMECYS - 12 - • 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.
  • 18. Prototipo del Sistema de Información de PROMECYS - 13 - 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.
  • 19. Prototipo del Sistema de Información de PROMECYS - 14 - 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.
  • 20. Prototipo del Sistema de Información de PROMECYS - 15 - 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 uso- caso 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.
  • 21. Prototipo del Sistema de Información de PROMECYS - 16 - 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 <<include>> 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 <<extend>> 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
  • 22. Prototipo del Sistema de Información de PROMECYS - 17 - 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
  • 23. Prototipo del Sistema de Información de PROMECYS - 18 - 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,
  • 24. Prototipo del Sistema de Información de PROMECYS - 19 - 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
  • 25. Prototipo del Sistema de Información de PROMECYS - 20 - 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.
  • 26. Prototipo del Sistema de Información de PROMECYS - 21 - 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
  • 27. Prototipo del Sistema de Información de PROMECYS - 22 - 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
  • 28. Prototipo del Sistema de Información de PROMECYS - 23 - 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
  • 29. Prototipo del Sistema de Información de PROMECYS - 24 - 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.
  • 30. Prototipo del Sistema de Información de PROMECYS - 25 - CAPITULO I: MODELO DE REQUERIMIENTOS “El tiempo más rentable es el de Planificar y Preparar”
  • 31. Prototipo del Sistema de Información de PROMECYS - 26 - 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.
  • 32. Prototipo del Sistema de Información de PROMECYS - 27 - 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.
  • 33. Prototipo del Sistema de Información de PROMECYS - 28 - ESTRUCTURA ORGANIZACIONAL
  • 34. Prototipo del Sistema de Información de PROMECYS - 29 - 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
  • 35. Prototipo del Sistema de Información de PROMECYS - 30 - 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.
  • 36. Prototipo del Sistema de Información de PROMECYS 31 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.
  • 37. Prototipo del Sistema de Información de PROMECYS 32 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
  • 38. Prototipo del Sistema de Información de PROMECYS 33 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
  • 39. Prototipo del Sistema de Información de PROMECYS 34 CAPITULO II: ANALISIS DEL SISTEMA “Si comienza a planificar, no te desanimes si te equivocas muchísimo.”
  • 40. Prototipo del Sistema de Información de PROMECYS 35 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.
  • 41. Prototipo del Sistema de Información de PROMECYS 36 ESTUDIANTE Solicita Prematricula y entrega recibo Revisa recibo prematricula Llena hoja datos estudiantes Registra nuevo estudiante Recibe hoja prematricula Agregar nueva prematricula DIAGRAMAS DE ACTIVIDAD Proceso Prematricula PROMECYS TRABAJADOR
  • 42. Prototipo del Sistema de Información de PROMECYS 37 Solicita matricula y entrega recibo Verifica recibo y datos prematricula registra matricula recibe hoja matricula llena hoja datos estudiante registra nuevo estudiante registra nueva matricula recibe hoja matricula revisa recibo prematricula DIAGRAMA DE ACTIVIDAD Proceso de Matricula PROMECYS ESTUDIANTE EMPLEADO Existe prematricula si no
  • 43. Prototipo del Sistema de Información de PROMECYS 38 llena hoja inscripcion revisa inscripcion registra inscripcionrecibe hoja de inscripcion DIAGRAMA DE ACTIVIDAD Proceso de Inscripción asignaturas PROMECYS ESTUDIANTE EMPLEADO Cumple con prerrequisito y precedencia si no
  • 44. Prototipo del Sistema de Información de PROMECYS 39 ESTUDIANTE Solicita notas verifica disponibilidad de notas realizar certificado de notasrecibe certificado de notas DIAGRAMA DE ACTIVIDAD Proceso Imprimir Certificado de Notas PROMECYS EMPLEADO Notas disponibles? si no
  • 45. Prototipo del Sistema de Información de PROMECYS 40 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.
  • 46. Prototipo del Sistema de Información de PROMECYS 41 Ingresar datos laborales Modificar prematricula Ingresar datos laboralesActualizar datos estudiantes extend Buscar estudiantes nuevo ingreso Buscar estudiantes reingreso Botar asignatura Ingresar datos estudiantes extend Buscar estudiantes prematriculados extend Buscar estudiante Empleado Registrar Prematricula extend extend Registrar Matricula extend extend extend include Registrar inscripcion include extend extend Registrar notas include extend Imprimir hoja Prematricula extend Imprimir hoja matricula extend Imprimir hoja inscripcionextend Estudiante Imprimir certificado extend Imprimir reporte Registrar prerequisito Registrar precedencia Imprimir pensum Imprimir reporte Registrar empleado extend Registrar asignatura extend extend extend Registrar grupo Relacionar grupo_asignatura_ profesor extend buscar profesor Imprimir reporte Registrar profesor extend extend Empleado
  • 47. Prototipo del Sistema de Información de PROMECYS 42 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.
  • 48. Prototipo del Sistema de Información de PROMECYS 43 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 NOMBRE DEFINICION Empleado Empleado de PROMECYS que brinda atención al estudiante. Estudiante Persona interesada en pertenecer al programa para poder concluir una carrera. Es quien solicita los servicios académicos que brinda la Universidad. ESCENARIO #1 Nombre : Agregar Prematricula sin inconvenientes Pre-Condiciones : -Recibo de Prematricula. - Cumplir con requisitos de prematricula Iniciado por : Empleado Finalizado por : Empleado Post-Condiciones : Hoja de Prematricula Operaciones : 1. Activar interfaz registro de prematricula. 2. Registrar los datos del nuevo estudiante. 3. Guardar ESCENARIO #2 Nombre : Prematricula de un registro existente Pre-Condiciones : -Recibo de Prematricula -Cumplir con requisito de Prematricula Iniciado por : Empleado Finalizado por : Empleado Post-Condiciones : Hoja de Prematricula Operaciones : 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 Nombre : Imprimir hoja Prematricula Pre-Condiciones : -Prematricula exista Iniciado por : Empleado Finalizado por : Empleado Post-Condiciones : ninguna Operaciones : 1. Activar interfaz de registro de Prematricula 2. Buscar registro de prematricula y mostrar 3. Imprimir hoja prematricula
  • 49. Prototipo del Sistema de Información de PROMECYS 44 CASO DE USO: : Registro de Matricula DEFINICIÓN : 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. PRIORIDAD : (1) Vital (2) Importante (3) Conveniente URGENCIA : (1)Inmediata (2) Necesario (3) Puede Esperar ACTORES NOMBRE DEFINICION Empleado Es la persona de PROMECYS que brinda atención al estudiante. ESCENARIO #1 Nombre : Registro de Matricula de Primer ingreso Pre-Condiciones : - Recibo de matricula - Cumplir con prematricula Iniciado por : Empleado Finalizado por : Empleado Post-Condiciones : - Hoja de Matricula e inscripción Operaciones 1. Activar interfaz de Matricula 2. Buscar datos prematricula 3. Ingresar datos matricula 4. Ingresar datos primera inscripción 5. Guardar ESCENARIO #2 Nombre : Registro de Matricula de Reingreso Pre-Condiciones : - Recibo de matricula Iniciado por : Empleado Finalizado por : Empleado Post-Condiciones : - Hoja de Matricula e inscripción Operaciones 1. Activar interfaz de Matricula 1. Buscar datos de estudiante 2. Registrar matricula 3. Registrar inscripción 6. Guardar
  • 50. Prototipo del Sistema de Información de PROMECYS 45 ESCENARIO #3 Nombre : Actualizar datos Estudiante Pre-Condiciones : - ninguna Iniciado por : Empleado Finalizado por : Empleado Post-Condiciones : - ninguna Operaciones 1. Activar interfaz de Matricula 2. Activar interfaz Datos estudiantes 3. Actualizar datos 4. Guardar ESCENARIO #4 Nombre : Imprimir hoja matricula Pre-Condiciones : - Matricula exista Iniciado por : Empleado Finalizado por : Empleado Post-Condiciones : - ninguna Operaciones 1. Activar interfaz de Matricula 5. Activar interfaz reporte matricula 6. Mostrar hoja matricula 7. Imprimir hoja matricula