sistemas y tecnologías de méxico s.a. de...
TRANSCRIPT
Sistemas y Tecnologías de México S.A. de C.V.
“Sistema de Inscripción Virtual”
SIV DISEÑO
Centro de Investigación y de Estudios Avanzados del Instituto Politécnico Nacional
CINVESTAV-IPN
“Departamento de Computación”
Alumno: Franco Martínez Edgardo Adrián Materia: Ingeniería de Software
Profesor: Dr. Pedro Mejía Álvarez Septiembre-Diciembre 2008
97 UNIDAD 3 Diseño del sistema
3.1 Diseño arquitectural En esta sección, identificaremos todos los subsistemas que se encuentran dentro del sistema
SIV como unidades independientes pero que interactúan entre sí, y establecemos un marco de
trabajo para el control y comunicación de los subsistemas. También definimos las interfaces de
usuarios y los componentes del sistema, así como los servicios que se identifican dentro de cada
componente y las estructuras que son usadas en el diseño como los algoritmos que son usados
para el funcionamiento de SIV.
Figura 26 "Diagrama básico del sistema"
3.1.1 Estructuración del sistema De acuerdo con el proceso de diseño, se descompuso el sistema en un conjunto de subsistemas
donde se tiene una vista de la operación del sistema a un nivel de abstracción de componentes.
En el diagrama de la figura 27, cada bloque es un subsistema que se relaciona con otro
mediante líneas con puntas de flechas señalando el intercambio de servicios.
98
Repositorio del Sistema SIV
Sistema de
registro,
modificación y
eliminación de
cursos
Sistema de
inscripción a
cursos
Sistema de
generación de
reportes
Sistema de
control interno
del sistema
Sistema de registro,
modificación y
control de periodos
de inscripción y
cuatrimestres
Sistema de
Notificaciones
Automaticas
Servidor SIV
Cliente 1 Cliente 2 Cliente n
Internet
Sistema de Acceso a Usuarios
Sistema de modificación y
generación de usuarios y
contraseñas
Sistema de registro, modificación, eliminación y consulta
de Alumnos, Personal Administrativo, Profesores y
Coordinadores Administrativos
Sistema de control
de cupo de cursos
y estadísticas de
inscripción
Figura 27 "Arquitectura del sistema SIV"
La arquitectura anterior es un modelo cliente-servidor esto porque el cliente es el que
introduce los datos a través de una interfaz gráfica, y el servidor realizara todas las operaciones
indicadas por el cliente (el cliente únicamente podrá tener una interfaz gráfica para que el
servidor proporcione los servicios deseados), la arquitectura del lado del servidor está basada
en un modelo de repositorio debido a que los sistemas que conforman al sistema SIV deberán
de intercambiar información de los alumnos, cursos, profesores, etc. Esta información será
almacenada y administrada en el repositorio del sistema.
3.1.2 Modelo cliente-servidor del sistema
El modelo del sistema SIV es un modelo de tipo cliente-servidor, donde esta arquitectura
consiste básicamente en que un programa -el cliente- que realiza peticiones a otro programa -el
servidor- que le da respuesta.
99
En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores,
aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la
gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el
diseño del sistema.
Cliente 1 Cliente 2 Cliente n
Internet
Sistema de Acceso a Usuarios
Servidor de Hipertexto
(server-side scripting)
Subsistemas SIV
Interacción con
el sistema SIV
Figura 3.1.28 “Modelo Cliente-Servidor del sistema”
El concepto de cliente-servidor proporciona una forma eficiente de utilizar todos estos recursos
de máquina de tal forma que la seguridad y fiabilidad que proporcionan los entornos mainframe
se traspasa a la red. A esto hay que añadir la ventaja de la potencia y simplicidad de los
ordenadores personales.
La arquitectura cliente-servidor es un modelo para el desarrollo de sistemas de información en
el que las transacciones se dividen en procesos independientes que cooperan entre sí para
intercambiar información, servicios o recursos. Se denomina cliente al proceso que inicia el
diálogo o solicita los recursos y servidor al proceso que responde a las solicitudes.
En este modelo las aplicaciones se dividen de forma que el servidor contiene la parte que debe
ser compartida por varios usuarios, y en el cliente permanece sólo lo particular de cada usuario.
El cliente realiza las siguientes funciones:
Manejo de la interfaz de usuario
100
Captura de los datos de entrada
Generación de consultas e informes sobre las bases de datos
Siempre que un cliente requiera un servicio lo solicita al servidor y éste le responde
proporcionándolo.
Entre las principales características de la arquitectura cliente-servidor se pueden destacar las
siguientes:
1. El servidor presenta a todos sus clientes una interfaz única y bien definida.
2. El cliente no necesita conocer la lógica del servidor, sólo su interfaz externa.
3. El cliente no depende de la ubicación física del servidor, ni del tipo de equipo físico en el que se
encuentra, ni de su sistema operativo.
4. Los cambios en el servidor implican pocos o ningún cambio en el cliente.
Descripción de los elementos
Subsistema Descripción
1 Cliente El cliente es una aplicación informática que se utiliza para acceder a los
servicios que ofrece un servidor, normalmente a través de una red de
telecomunicaciones.
2 Internet Red de Cobertura Mundial que hace posible el
funcionamiento del sistema, así como la interacción
con los usuarios del sistema (aplicaciones clientes)
3 Servidor de Hipertexto Un servidor web o de hipertexto es un programa que implementa el
protocolo HTTP (hypertext transfer protocol). Este protocolo pertenece
a la capa de aplicación del modelo OSI y está diseñado para transferir lo
que llamamos hipertextos, páginas web o páginas HTML (hypertext
markup language): textos complejos con enlaces, figuras, formularios,
botones y objetos incrustados como animaciones o reproductores de
música.
En el caso del sistema SIV este servidor permite que la aplicación y
ejecución de SIV sea del lado del servidor: el servidor web ejecuta la
aplicación; ésta, una vez ejecutada, genera cierto código HTML; el
servidor toma este código recién creado y lo envía al cliente por medio
del protocolo HTTP.
101
3.1.2 Modelo del repositorio del sistema (Servidor SIV) Es claro que la arquitectura principal del sistema es del tipo cliente – servidor, debido a que los
usuarios del sistema son clientes que se conectan a través de internet, se autentifican y logran
acceder a los servicios que ofrecen los subsistemas internos del servidor SIV.
Pero el segundo modelo importante del sistema es el del servidor el cuál es diseñado con base
en un modelo de repositorio.
Repositorio del Sistema SIV
Sistema de
registro,
modificación y
eliminación de
cursos
Sistema de
inscripción a
cursos
Sistema de
generación de
reportes
Sistema de
control interno
del sistema
Sistema de registro,
modificación y
control de periodos
de inscripción y
cuatrimestres
Sistema de
Notificaciones
Automaticas
Servidor SIV
Sistema de Acceso a Usuarios
Sistema de modificación y
generación de usuarios y
contraseñas
Sistema de registro, modificación, eliminación y consulta
de Alumnos, Personal Administrativo, Profesores y
Coordinadores Administrativos
Sistema de control
de cupo de cursos
y estadísticas de
inscripción
Figura 29"Modelo de repositorio SIV (Modelo del servidor)"
Puntos a resaltar sobre la arquitectura del servidor (modelo de repositorio):
1. Es una forma eficiente de compartir grandes cantidades de datos. No hay necesidad de
transmitir datos explícitamente de un subsistema a otro.
2. Los subsistemas que producen datos no necesitan conocer cómo se utilizan sus datos por otros
subsistemas.
102
3. Las actividades tales como copias de seguridad, protección control de acceso y recuperación de
errores están centralizadas.
4. El modelo de compartición es visible a través del esquema del repositorio. Las nuevas
herramientas o sistemas que se integren al sistema podrán hacerlo de forma directa puesto que
éstas serán fácilmente compatibles con el modelo de datos acordado.
Descripción de los elementos
Subsistema Descripción
1 Sistema de acceso a
usuarios
Mostrara a los usuarios una pantalla de bienvenida, que permitirá
que introduzcan sus datos para accesar sistema, además de con ellos
poder identificar las funciones a las que podrá accesar, según el tipo
de usuario que sea.
2 Sistema de registro,
modificación y eliminación
de Alumnos, Personal
Administrativo, Profesores
y Coordinadores
Administrativos
Este subsistema muestra una interfaz, que permitirá registrar,
modificar o eliminar los datos de todos los tipos de usuarios del
sistema, dependiendo del tipo de usuario los datos a registrar serán
diferentes y este subsistema se encargara de almacenar esta
información en el repositorio del sistema.
3 Sistema de generación de
reportes
Permitirá mostrar una serie de reportes, para los profesores, los
coordinadores registrados y los auxiliares administrativos.
Proporcionara un interfaz gráfica que permita al usuario elegir entre
cada uno de los reportes posibles e introducir los datos necesarios
para generarlo.
Los datos de los reportes provienen de consultas al repositorio del
sistema SIV.
4 Sistema de control de cupo
de cursos y estadísticas de
inscripción
Muestra una interfaz gráfica para que se consulten los datos de los
cursos y horarios registrados en el repositorio. Además de las
estadísticas de inscripción y el cupo de cada uno de los cursos.
5 Sistema de notificaciones
automáticas
Cuenta con funciones necesarias para enviar una serie de
notificaciones según suceda un acontecimiento en otros sistemas,
por ejemplo, cuando un alumno termine su inscripción, entonces
este subsistema será requerido por el modulo de inscripción para
que envié una notificación por correo electrónico a el alumno y al
coordinador notificando el suceso.
6 Sistema de control interno
del sistema
Administra el correcto funcionamiento del sistema y permite
modificar parámetros de funcionamiento del mismo. Administra los
errores y ofrece los procedimientos necesarios para controlarlos.
7 Sistema de modificación y
generación de usuarios y
contraseñas.
Muestra una interfaz gráfica que permitirá generar y asignar un
nombre de usuario y contraseña a cada uno de los usuarios
registrados previamente en el repositorio, así como modificarlos.
8 Sistema de registro
modificación y control de
Proporciona una interfaz gráfica que le permite al coordinador
registrar los periodos y cuatrimestres programados en el
103
periodos de inscripción y
cuatrimestres
departamento, o su modificación, validando los periodos y fechas
registrándolos en el repositorio del sistema.
9 Sistema de registro,
modificación y eliminación
de cursos.
Proporciona una interfaz gráfica para distintas operaciones con
respecto a los cursos del departamento, registra los datos y periodos
de los mismos, modificarlos o eliminarlos del sistema.
10 Sistema de inscripción a
cursos
Da una interfaz gráfica a los alumnos del departamento para poder
seleccionar los cursos de su preferencia y ser inscritos a estos, dar de
baja o alta materias, según sea permitido, todos estos datos se
colocan en el repositorio del sistema.
11 Repositorio del sistema Esta parte del sistema SIV, es una de las partes principales, que
permite almacenar la información de los usuarios, cursos, fechas,
etc. Este repositorio y su control no se requieren construir, ya que
se usara un manejador de bases de datos comercial.
Un repositorio, depósito o archivo es un sitio centralizado donde se almacena y mantiene
información digital, habitualmente bases de datos o archivos informáticos. En el caso del
sistema SIV, se tiene una base de datos central como el repositorio a partir del cual el sistema
SIV podrá guardar, modificar, borrar o agregar nueva información importante acerca del
proceso de inscripción de los alumnos. Por consiguiente si nos referimos al modelo del
repositorio, nos referimos al modelo de la base de datos.
La base de datos del sistema SIV, fue concebida bajo el principio de entidad-relación, debido a
que la tecnología que usaremos soporta este tipo de modelo, un modelo entidad-relación (E-R),
es una herramienta para el modelado de datos de un sistema de información. Estos modelos
expresan entidades relevantes para un sistema de información, sus inter-relaciones y
propiedades.
En este modelo una entidad representa una “cosa” u "objeto" del mundo real con existencia
independiente, es decir, se diferencia unívocamente de cualquier otro objeto o cosa, incluso
siendo del mismo tipo.
Un conjunto de entidades, es una colección de entidades que comparten los mismos atributos o
características.
Una relación describe cierta dependencia entre entidades o permite la asociación de las
mismas.
El modelo del repositorio del sistema SIV es el siguiente:
104
Figura 3.30 "Modelo Relacional de la base de datos (repositorio) del sistema SIV"
3.1.3 Descomposición modular Primeramente si vemos en la figura que muestra a la arquitectura el sistema es dividido en
subsistemas, a cada uno de estos lo mostramos en el siguiente diagrama como un paquete, que
posteriormente descompondremos en módulos funcionales.
Figura 3.31 "Descomposición en paquetes y componentes del sistema SIV"
105
Una vez que se ha mostrado la arquitectura general del sistema, se descompone a cada uno de
los subsistemas en módulos, estos componentes son mucho más pequeños que los subsistemas
que forman a SIV, lo cual permite que cada uno de los subsistemas tenga una arquitectura con
estilos diferentes.
Existen dos estrategias principales que se pueden usar para descomponer al sistema en
módulos:
1. Descomposición orientada a objetos (Se descompone a un sistema en un conjunto de objetos que
se comunican).
2. Descomposición orientada a flujos de funciones (Se descompone a un sistema en módulos
funcionales que aceptan datos y los transforman en datos de salida).
Los siguientes diagramas de objetos muestran la descomposición de cada paquete del sistema SIV.
Object Diagram 1 "Login de usuarios"
Object Diagram 2 "Usuarios"
106
Object Diagram 3 "Registro y modificación de curso"
Object Diagram 4 "Generación de reportes"
Object Diagram 5 "Registro y modificación de cursos"
107
Object Diagram 6 "Notificaciones automáticas"
Object Diagram 7 "Control de periodos y cuatrimestres"
Object Diagram 8 "Inscripción"
108
3.1.4 Modelos de control Los modelos para estructurar un sistema están relacionados con la forma en que un sistema se
descompone en subsistemas. Para trabajar como un sistema, los subsistemas deben de ser
controlados, los modelos de control, están relacionados con el flujo de control entre los
subsistemas.
Existen dos estilos de control genéricos que se usan en un sistema de software:
1. Control centralizado. Un subsistema tiene toda la responsabilidad para controlar y detener a
otros subsistemas. También puede devolver el control a otro subsistema, pero esperará que le
sea devuelta la responsabilidad del control. Dentro de este modelo de control existen dos
modelos ampliamente usados.
a. El modelo de llamada-retorno. Es el modelo usual de subrutina descendente en donde el
control, comienza al inicio de una jerarquía de subrutinas y, a través de las llamadas a
subrutinas, el control pasa a los niveles inferiores en el árbol de la jerarquía. Este modelo
es aplicable solamente en sistemas secuenciales.
b. Es aplicable a sistemas concurrentes. Un componente del sistema se diseña como un
gestor del sistema y controla el inicio, parada y coordinador del resto de los procesos del
sistema.
2. Control basado en eventos. En lugar de que la información de control esté embebida en un
subsistema, cada subsistema puede responder a eventos generados externamente. Estos
eventos podrán provenir de otros subsistemas o del entorno del sistema.
El modelo de control que utilizarnos en el sistema SIV, es centralizado, usando el modelo de
llamada retorno en el cual se utilizará un subsistema que controlará todas las operaciones de los
otros subsistemas, donde el control inicia en la parte superior de una jerarquía que hace
llamadas a subrutinas y se mueve hasta los niveles inferiores del árbol.
Control Interno Acceso al sistema
Registro de
UsuariosCursos
Generación de
reportesControl de
cursos Inscripciones
Notificaciones
Proceso 1 Proceso 2 Proceso n
Más
Procesos ...
Más
Procesos ...Más
Procesos ...Más
Procesos ...
Login de
usuarios
Control de
periodos y
cuatrimestres
Figura 32 "Modelo de control del sistema SIV"
109
3.2 Especificación abstracta En esta etapa del diseño especificamos los servicios que ofrecen los componentes o subsistemas
encontrados en la etapa del diseño arquitectural, podemos observar que los niveles de
abstracción son muy altos, solo indicaremos dichos servicios.
Subsistema Descripción Servicio
1 Sistema de
acceso a
usuarios
Permite el acceso al sistema SIV (Cliente-
Servidor), mostrara a los usuarios una
pantalla de bienvenida en el navegador
web de su preferencia, que les permitirá
que introduzcan sus datos para accesar
sistema, además de con ellos poder
identificar las funciones a las que podrá
accesar, según el tipo de usuario que sea.
(Interfaz gráfica de acceso personalizada
según el tipo de usuario, la cual llama a
los subsistemas internos permitidos a
dicho tipo de usuario)
Interfaz de acceso y validación
del mismo, de acuerdo al perfil
del usuario se tendrán los
siguientes accesos: Público en
general, alumno, coordinador
académico, profesor o auxiliar
administrativo.
Una vez validado el acceso
proporción de interfaz gráfica
de usuario adecuada al tipo de
usuario
2 Sistema de
registro,
modificación y
eliminación de
Alumnos,
Personal
Administrativo,
Profesores y
Coordinadores
Administrativos
Este subsistema muestra una interfaz,
que permitirá registrar, modificar o
eliminar los datos de todos los tipos de
usuarios del sistema, dependiendo del
tipo de usuario los datos a registrar o
modificar serán diferentes y este
subsistema se encargara de almacenar
esta información en el repositorio del
sistema.
Registro de Alumnos
Registro de Auxiliares
administrativos
Registro de coordinadores
académicos
Registro de profesores
Modificación de alumnos
Modificación de auxiliares
administrativos
Modificación de coordinadores
académicos
Modificación de profesores
Eliminar usuarios
*Cada uno de los servicios anteriores proporcionan una interfaz gráfica distinta.
3 Sistema de
generación de
reportes
Permitirá mostrar una serie de reportes,
para los profesores, los coordinadores
registrados y los auxiliares
administrativos.
Proporcionara un interfaz gráfica que
permita al usuario elegir entre cada uno
de los reportes posibles e introducir los
Solicita valores de búsqueda
Búsqueda de datos en el
repositorio
Generación de reporte visual
Impresión de reportes
110
datos necesarios para generarlo.
Los datos de los reportes provienen de
consultas al repositorio del sistema SIV.
4 Sistema de
control de cupo
de cursos y
estadísticas de
inscripción
Muestra una interfaz gráfica para que se
consulten los datos de los cursos y
horarios registrados en el repositorio.
Además de las estadísticas de inscripción
y el cupo de cada uno de los cursos.
Consultar el cupo por curso
Consultar estadísticas de
inscripción
Restringir las inscripciones a un
alumno
5 Sistema de
notificaciones
automáticas
Cuenta con funciones necesarias para
enviar una serie de notificaciones según
suceda un acontecimiento en otros
sistemas, por ejemplo, cuando un
alumno termine su inscripción, entonces
este subsistema será requerido por el
modulo de inscripción para que envié
una notificación por correo electrónico a
el alumno y al coordinador notificando el
suceso.
Notificar inscripción
completada
Notificar cupo de curso
alcanzado
6 Sistema de
control interno
del sistema
Administra el correcto funcionamiento
del sistema y permite modificar
parámetros de funcionamiento del
mismo. Administra los errores y ofrece
los procedimientos necesarios para
controlarlos.
Autorizar inscripción de un
curso
Validar periodos y
cuatrimestres
Solicitar envió de notificación
7 Sistema de
modificación y
generación de
usuarios y
contraseñas.
Muestra una interfaz gráfica que
permitirá generar y asignar un nombre
de usuario y contraseña a cada uno de
los usuarios registrados previamente en
el repositorio, así como modificarlos.
Generar usuario y contraseña
Modificar usuario y contraseña
Consultar usuario y contraseña
8 Sistema de
registro
modificación y
control de
periodos de
inscripción y
cuatrimestres
Proporciona una interfaz gráfica que le
permite al coordinador registrar los
periodos y cuatrimestres programados
en el departamento, o su modificación,
validando los periodos y fechas
registrándolos en el repositorio del
sistema.
Registrar periodos y
cuatrimestres
Modificar periodos y
cuatrimestres
Consultar periodos y
cuatrimestres
9 Sistema de
registro,
modificación y
eliminación de
cursos.
Proporciona una interfaz gráfica para
distintas operaciones con respecto a los
cursos del departamento, registra los
datos y periodos de los mismos,
modificarlos o eliminarlos del sistema.
Registrar curso
Modificar curso
Eliminar curso
10 Sistema de Da una interfaz gráfica a los alumnos del Inscribir curso
111
inscripción a
cursos
departamento para poder seleccionar los
cursos de su preferencia y ser inscritos a
estos, dar de baja o alta materias, según
sea permitido, todos estos datos se
colocan en el repositorio del sistema.
Dar de baja curso
Consultar cursos inscritos
11 Repositorio del
sistema
Esta parte del sistema SIV, es una de las
partes principales, que permite
almacenar la información de los usuarios,
cursos, fechas, etc. Este repositorio y su
control no se requieren construir, ya que
se usara un manejador de bases de datos
comercial.
Responder a consultas de
información
Registrar información
Modificar información
Almacenamiento de la
información
Seguridad de acceso a la
información
3.3 Diseño de interfaces Las interfaces de usuario del sistema SIV basado en WEB se basan en el soporte proporcionado
por HTML o XHTML junto con otros lenguajes como PHP, los cuales pueden asociar acciones con
los componentes de las páginas web.
Debido a que el sistema SIV se basa en el registro, modificación y consulta de datos, la mayoría
de las interfaces están basadas en formularios.
En esta sección se muestran los formularios del sistema SIV, aún sin aplicar una mejora visual,
sino solo se muestra la base funcional de los mismos. Una vez que el sistema sea funcional, se
agregará un CCS (Cascading Style Sheets) a la interfaz gráfica.
Las hojas de estilo en cascada (CSS) son un lenguaje formal usado para definir la presentación
de un documento estructurado escrito en HTML o XML (y por extensión en XHTML). El W3C
(World Wide Web Consortium) es el encargado de formular la especificación de las hojas de
estilo que servirán de estándar para los agentes de usuario o navegadores.
La idea que se encuentra detrás del desarrollo de CSS es separar la estructura de un documento
de su presentación.
112
3.3.1 Acceso al sistema Estructura de la interfaz de acceso al sistema SIV, recordar que aún no es el diseño gráfico final,
solo la estructura del documento.
Interfaz 1 "Acceso al sistema"
3.3.2 Sección de cursos La sección de cursos permite el introducir la información de cada uno de los cursos, así como la
temática y las observaciones del mismo. Es muy importante haber registrado a los profesores
antes de registrar un curso, ya que los profesores de los mismos deberán ser agregados de los
previamente registrados en la base de datos.
Recordemos que por default se configura una cuenta de coordinador SIV, a partir de la cual se
podrá comenzar a registrar cada uno de los cursos del departamento, sin dejar de mencionar
que se podrá registrar a otros coordinadores o modificar al coordinador de default del sistema.
113
Formulario para el registro de cursos
Interfaz 2 "Registro de cursos"
Cursos Registrados
Interfaz 3 "Cursos registrados"
114
Reporte por curso
Interfaz 4 "Reporte por curso"
3.3.3 Sección del público en general
Interfaz 5 "Publico en general"
El público en general no tiene acceso a las principales funciones de SIV, únicamente podrá ver
los cursos que se encuentran registrados, las temáticas y sus horarios de los mismos. Con el
único fin informativo de cada uno de ellos.
115
3.3.4 Sección del coordinador El coordinador es el único usuario capaz de tener acceso a todas las funciones del sistema SIV.
Es por ello que se estructura un entorno de trabajo como el que se muestra abajo en la imagen.
Interfaz 6 "Ventana del coordinador"
Todas las opciones de los siguientes menús están disponibles para uso del coordinador.
Interfaz 7 "Funciones servicios por menú"
116
3.3.5 Sección del auxiliar administrativo El auxiliar administrativo tendrá únicamente disponibles el menú de “Reportes” y el de
“consulta de datos del alumno”, para poder ayudar a los alumnos en caso de error en su
inscripción y también podrá generar reportes de los cursos y alumnos.
3.3.6 Sección de alumnos El alumno podrá únicamente tener acceso a la pantalla donde se muestran los cursos y es visible
al público en general, así como a al menú de “Inscripciones a cursos”.
3.3.7 Sección del profesor El profesor solo tiene acceso a las estadísticas de cursos, a la sección de modificación de datos
del curso que imparte y a la sección de reportes para poder obtener el reporte de un alumno,
de un curso o su relación de alumnos inscritos.
3.3.8 Estructura de algunas interfaces
Interfaz 8 "Registro de auxiliar administrativo"
Interfaz 9 "Registro de un coordinador"
117
Interfaz 10 "Registro de un profesor"
3.4 Diseño de componentes La base para el diseño de los componentes es la descomposición modular que se ha hecho
anteriormente, y va muy de la mano con la interfaz que deseamos dar al usuario.
De acuerdo al punto anterior, podemos establecer el diseño al nivel de componentes para el
software, define estructura de datos para todos los objetos de datos locales, así como el detalle
algorítmico para todo el procesamiento que ocurre dentro de un componente y una interfaz
que permite el acceso a todas las operaciones de los componentes (comportamiento).
El objetivo es traducir el modelo de diseño en un software operacional. Pero el grado de
abstracción del modelo de diseño existente es relativamente muy alto, y el programa
operacional muy bajo. La traducción llega a ser desafiante, abriendo la puerta al ingreso de
errores sutiles que resultan muy difíciles de encontrar y corregir en etapas posteriores del
proceso de software.
Componentes del sistema SIV
Subsistema Componentes del subsistema Funciones
1 Sistema de
acceso a
usuarios
1. Interfaz grafica de acceso
2. Conexión al repositorio
3. Interfaz de rechazo
4. Selección de interfaz autorizada
5. Interfaz grafica de usuario
1. Mostrar pantalla de acceso al
sistema.
2. Establecer consulta para validar
los datos de acceso
3. Cancelar el inicio de sesión y
mostrar pantalla de error
4. Seleccionar una interfaz de
118
usuario adecuada al tipo de
usuario, y llamarla.
5. Cargar la interfaz grafica de
usuario una vez iniciada la
sesión
2 Sistema de
registro,
modificación y
eliminación de
Alumnos,
Personal
Administrativo,
Profesores y
Coordinadores
Administrativos
1. Interfaz de registro
Alumno
Auxiliar Administrativo
Coordinador académico
Profesor
2. Interfaz de modificación
Alumno
Auxiliar Administrativo
Coordinador académico
Profesor
3. Interfaz de eliminación de usuarios
4. Comunicación con el repositorio
1. Mostrar una interfaz web para
Registro de Alumnos
Registro de Auxiliares
administrativos
Registro de coordinadores
académicos
Registro de profesores
2. Mostrar una interfaz para
Modificación de alumnos
Modificación de auxiliares
administrativos
Modificación de
coordinadores académicos
Modificación de profesores
3. Mostrar una interfaz para
buscar un usuario y eliminarlo
4. Realizar la consulta con el
repositorio SIV
3 Sistema de
generación de
reportes
1. Interfaz para captar el tipo de reporte
2. Consultar datos
3. Interfaz gráfica de respuesta
4. Interfaz de impresión
1. Solicita valores de búsqueda
2. Búsqueda de datos en el
repositorio
3. Generación de reporte visual
4. Impresión de reportes
4 Sistema de
control de cupo
de cursos y
estadísticas de
inscripción
1. Interfaz de consulta de curso
2. Interfaz visual para las estadísticas de
inscripción
3. Validación y restricción de
inscripciones
1. Consultar el cupo por curso
2. Consultar estadísticas de
inscripción
3. Autorizar ó Restringir las
inscripciones a un alumno
5 Sistema de
notificaciones
automáticas
1. Envía correo
2. Notificación
3. Consulta dirección e-mail
1. Enviar un e-mail
2. Notifica
Notificar inscripción
completada
Notificar cupo de curso
alcanzado
119
3. Solicitar e-mail de coordinador
o profesor.
6 Sistema de
control interno
del sistema
1. Valida inscripción
2. Valida periodo y cuatrimestre
3. Solicitar envió de notificación
1. Autorizar inscripción de un
curso, si dicho curso cumple
con el cupo y con los periodos
iguales a los del alumno.
2. Validar periodos y
cuatrimestres con los
registrados en el repositorio
3. Comunicarse con el
componente para enviar
notificaciones y colocarle una
notificación y un usuario valido.
7 Sistema de
modificación y
generación de
usuarios y
contraseñas.
1. Interfaz Generadora de usuarios y
contraseñas
2. Interfaz de modificación de usuario y
contraseñas
3. Interfaz de consulta de usuarios y
contraseñas
4. Conector al repositorio
1. Generar usuario y contraseña
2. Modificar usuario y contraseña
3. Consultar usuario y contraseña
4. Guardar, modificar y consultar
datos en el repositorio
8 Sistema de
registro
modificación y
control de
periodos de
inscripción y
cuatrimestres
1. Interfaz para el registro de periodos y
cuatrimestres
2. Interfaz de modificación de periodos
y cuatrimestres
3. Interfaz de consulta de periodos y
cuatrimestres
4. Conector al repositorio
1. Registrar periodos y
cuatrimestres
2. Modificar periodos y
cuatrimestres
3. Consultar periodos y
cuatrimestres
4. Guardar, modificar y consultar
datos en el repositorio
9 Sistema de
registro,
modificación y
eliminación de
cursos.
1. Interfaz para el registro de cursos
2. Interfaz para la modificación de
cursos
3. Interfaz para la eliminación de cursos
4. Conector al repositorio
1. Registrar curso
2. Modificar curso
3. Eliminar curso
4. Guardar, modificar y consultar
datos en el repositorio
10 Sistema de
inscripción a
cursos
1. Interfaz de inscripción de cursos
2. Interfaz para dar de baja un curso
3. Interfaz para consultar cursos
inscritos
4. Conector al repositorio
1. Inscribir cursos
2. Dar de baja un curso inscrito
3. Consultar cursos inscritos
4. Guardar, modificar y consultar
datos en el repositorio
120
11 Repositorio del
sistema
1. Manejador de bases de datos MYSQL
2. Lenguaje de consulta SQL
1. Manejador DMBS
Registrar información
Modificar información
Almacenamiento de la
información
Seguridad de acceso a la
información
2. Responder a consultas
estandarizadas
3.5 Diseño de la estructura de datos Con base en el modelo de entidad-relación del repositorio del sistema SIV, podremos definir
cada una de las estructuras de datos a utilizar para cada tipo de información que se maneja de o
hacia el sistema. Cada uno de ellos está bien identificado por el componente que ara usos de los
datos.
Figura 33 "Modelo entidad-relación de la base de datos del sistema SIV"
121
3.5.1 Descripciones de las entidades de datos
Alumnos Campo Alias Tipo de dato Descripción
Identificación del
alumno (Llave
Primaria)
idAlumnos Entero Clave única de
identificación en la
base de datos del
sistema SIV
Identificación del
usuario (Llave
Foránea)
Usuarios_IdUsuario Char Clave única de
identificación
(username) como
usuario del sistema
SIV y llave de la tabla
Usuarios.
Nombre o nombres
del alumno
Nombre(s) Char Nombre o nombres
del alumno
Apellido Paterno del
alumno
ApellidoPaterno Char Apellido Paterno del
alumno
Apellido Materno del
alumno
ApellidoMaterno Char Apellido Materno del
alumno
Dirección del alumno Direccion Char Dirección del alumno
completa (Calle,
número, colonia,
ciudad, estado y C.P.)
Teléfono del alumno Telefono Char Teléfono del alumno
Número del teléfono
móvil del alumno
Celular Char Número del teléfono
móvil del alumno
E-MAIL del alumno e-mail Char E-MAIL del alumno
Nombre de la escuela
de egreso del alumno
EscuelaProcedencia Char Nombre de la escuela
de egreso del alumno
Nombre del título
anteriormente
logrado.
Titulo Char Nombre del título
anteriormente
logrado.
Especialidad del
alumno (Si la tiene)
Especialidad Char Especialidad del
alumno (Si la tiene)
Promedio alcanzado
en la evaluación final
de su licenciatura
PromedioLicenciatura Entero Promedio alcanzado
en la evaluación final
de su licenciatura
122
Áreas de interés del
alumno
Intereses Char Áreas de interés del
alumno
Nombre del profesor
tutor asignado
NombreProfesorTutor Char Nombre del profesor
tutor asignado
Estatus del alumno en
el departamento de
computación
StatusAlumno Char Estatus del alumno en
el departamento de
computación
(Inscrito, Baja
Temporal, Baja
Definitiva o
Desconocido)
Estatus de su proceso
de inscripción
StatusInscripcion Char Estatus de su proceso
de inscripción (No
inscrito, materias
incompletas,
inscripción completa)
Cuatrimestre que está
o estaba cursando.
Cuatrimestre Entero Cuatrimestre que está
cursando el alumno o
si no se encuentra
inscrito el último
cuatrimestre que
alcanzo en el
departamento.
Observaciones de
importancia sobre el
alumno
Observaciones Char Observaciones
relevantes para el
coordinador o los
profesores sobre el
alumno. (Por ejemplo:
No cuenta con beca
Conacyt).
Coordinadores Campo Alias Tipo de dato Descripción
Identificación del
coordinador (Llave
Primaria)
idCoordinadores Entero Clave única de
identificación del
coordinador en la
base de datos del
123
sistema SIV
Identificación del
usuario (Llave
Foránea)
Usuarios_IdUsuario Char Clave única de
identificación
(username) como
usuario del sistema
SIV y llave de la tabla
Usuarios.
Nombre o nombres
del coordinador
académico
Nombre(s) Char Nombre o nombres
del coordinador
académico
Apellido Paterno del
coordinador
académico
ApellidoPaterno Char Apellido Paterno del
coordinador
académico
Apellido Materno del
coordinador
académico
ApellidoMaterno Char Apellido Materno del
coordinador
académico
E-MAIL del
coordinador
e-mail Char E-MAIL del
coordinador
Observaciones de
importancia sobre el
coordinador
Observaciones Char Observaciones
relevantes para el
coordinador o los
profesores sobre el
alumno. (Por ejemplo:
Coordinador temporal
de Julio-Mayo09).
Profesores Campo Alias Tipo de dato Descripción
Identificación del
profesor (Llave
Primaria)
idProfesor Entero Clave única de
identificación del
profesor en la base de
datos del sistema SIV
Identificación del
usuario (Llave
Foránea)
Usuarios_IdUsuario Char Clave única de
identificación
(username) como
usuario del sistema
SIV y llave de la tabla
124
Usuarios.
Identificación de los
cursos que imparte
(Llave Foránea)
Cursos_IdCurso Entero Clave única de los
cursos que imparte
en el departamento.
Nombre o nombres
del profesor
Nombre(s) Char Nombre o nombres
del profesor
Apellido Paterno del
profesor
ApellidoPaterno Char Apellido Paterno del
profesor
Apellido Materno del
profesor
ApellidoMaterno Char Apellido Materno del
profesor
E-MAIL del profesor e-mail Char E-MAIL del profesor
Teléfono del profesor Telefono Char Teléfono del profesor
Número del teléfono
móvil del profesor
Celular Char Número del teléfono
móvil del profesor
Observaciones de
importancia sobre el
profesor
Observaciones Char Observaciones
relevantes para el
coordinador sobre el
profesor. (Por
ejemplo: Profesor
visitante).
Auxiliar Administrativo Campo Alias Tipo de dato Descripción
Identificación del
auxiliar
administrativo
(Llave Primaria)
idAuxiliar Entero Clave única de
identificación del
auxiliar
administrativo en la
base de datos del
sistema SIV
Identificación del
usuario
(Llave Foránea)
Usuarios_IdUsuario Char Clave única de
identificación
(username) como
usuario del sistema
SIV y llave de la tabla
Usuarios.
Nombre o nombres
del auxiliar
Nombre(s) Char Nombre o nombres
del auxiliar
125
administrativo administrativo
Apellido Paterno del
auxiliar
administrativo
ApellidoPaterno Char Apellido Paterno del
auxiliar
administrativo
Apellido Materno del
auxiliar
administrativo
ApellidoMaterno Char Apellido Materno del
auxiliar
administrativo
Teléfono del auxiliar
administrativo
Telefono Char Teléfono del auxiliar
administrativo
Número del teléfono
móvil del auxiliar
administrativo
Celular Char Número del teléfono
móvil del auxiliar
administrativo
E-MAIL del auxiliar
administrativo
e-mail Char E-MAIL del auxiliar
administrativo
Observaciones de
importancia sobre el
auxiliar
administrativo
Observaciones Char Observaciones
relevantes para el
coordinador sobre el
auxiliar
administrativo. (Por
ejemplo: Auxiliar
temporal Jun-Jul09).
Cursos Campo Alias Tipo de dato Descripción
Identificación del
curso
(Llave Primaria)
idCurso Entero Clave única de
identificación del
curso en la base de
datos del sistema
SIV
Identificación del
usuario
(Llave Foránea)
Usuarios_IdUsuario Char Clave única de
identificación
(username) como
usuario del sistema
SIV y llave de la
tabla Usuarios.
Identificación del
profesor que lo
imparte
Usuarios_IdProfesor Entero Clave única de
identificación del
profesor que
126
(Llave Foránea) imparte la materia.
Cuatrimestre en él
se impartirá
(Llave Foránea)
Cuatrimestre_IdCuatrimestre Char Id del Cuatrimestre
en él se impartirá
dicho curso
Nombre del curso Nombre Char Nombre del curso
Horario del curso Horario Char Horario del curso
(Por ejemplo: 08:00
– 10:00 hrs.)
Días del curso Dias Char Dias del curso (Por
ejemplo: lunes,
miércoles, viernes).
Cupo máximo de
alumnos en el curso
CupoMaximo Entero
Cupo máximo de
alumnos en el curso
Alumnos Inscritos
en el curso
AlumnosIncritos Entero
Cantidad de
alumnos que han
registrado esta
materia en su
proceso de
inscripción.
Temática del curso Tematica Char Texto con la
temática del curso.
Observaciones de
importancia sobre
el curso
Observaciones Char Observaciones
relevantes para el
coordinador sobre
el auxiliar
administrativo. (Por
ejemplo: Para tomar
este curso se
requiere
previamente haber
tomado el curso
de…).
Cursos Inscritos Campo Alias Tipo de dato Descripción
Identificación del
Alumno
Alumnos_idAlumnos Entero Clave única de
identificación del
127
(Llave Primaria) alumno en la base de
datos del sistema SIV
Identificación del
usuario
(Llave Foránea)
Cursos_IdCurso Entero Clave única de
identificación del
curso en la base de
datos del sistema SIV
Identificación del
usuario
(Llave Foránea)
Usuarios_IdUsuario Char Clave única de
identificación
(username) como
usuario del sistema
SIV y llave de la tabla
Usuarios.
Identificación del
profesor que lo
imparte
(Llave Foránea)
Usuarios_IdProfesor Entero Clave única de
identificación del
profesor que imparte
la materia.
Cuatrimestre en él se
impartirá
(Llave Foránea)
Cuatrimestre_IdCuatrimest
re
Char Id del Cuatrimestre en
él se impartirá dicho
curso
Observaciones sobre
el desempeño del
alumno en el curso
Observaciones Char Observaciones
relevantes para el
coordinador sobre el
desempeño del
alumno en el curso.
(Por ejemplo: Es un
alumno irregular e
irrespetuoso).
Cuatrimestres Campo Alias Tipo de dato Descripción
Identificación del
Cuatrimestre
(Llave Primaria)
idCuatrimestre Entero Clave única de
identificación del
cuatrimestre
Periodo Periodo Char Nombre del periodo
Año Año Int Año del periodo
Observaciones Observaciones Char Observaciones
relevantes sobre el
cuatrimestre
128
Fecha de inicio de
inscripciones
InicianInscripciones Date Fecha en que inicia el
periodo de
inscripciones del
cuatrimestre
Fecha que terminan
inscripciones
TerminanInscripciones Date Fecha en que termina
el periodo de
inscripciones del
cuatrimestre
Fecha límite de
cambios
FechaLimiteCambios Date Fecha límite de
cambios en los cursos
inscritos
Fecha límite de bajas FechaLimiteBajas Date Fecha límite para dar
de baja ciertas
materias.
Usuarios Campo Alias Tipo de dato Descripción
Identificación del
Usuario (Llave
Primaria)
IdUsuario Char Nombre de usuario
único de
identificación en la
base de datos del
sistema SIV
Contraseña del
usuario
Pass Char Clave de entrada para
el usuario del sistema
SIV
Identifica el tipo de
usuario del que se
trata.
Tipo_Usuario Char
Identifica el tipo de
usuario del que se
trata. (Por ejemplo:
Coordinador)