You are on page 1of 65

20 de Mayo del 2013

SISTEMA DE
AUTOMATIZACIÓN PARA LA
MACROSYSTEMS
ADMINISTRACIÓN DE
TUTORÍAS

Tesina | MacroSystems S.C.


Índice
Introducción ....................................................................................................................... 3
Capítulo 1 | Generalidades del Proyecto ............................................................................ 4
Perfil del Cliente ............................................................................................................. 4
Planteamiento del Problema .......................................................................................... 4
Justificación del Proyecto ............................................................................................... 5
Objetivo del Proyecto ..................................................................................................... 6
Objetivos específicos ..................................................................................................... 6
Alcance del proyecto ...................................................................................................... 6
Antecedentes ................................................................................................................. 7
Capítulo 2 | Fundamento Teórico ....................................................................................... 8
Seguridad....................................................................................................................... 8
Distribución .................................................................................................................. 16
Tutorías ........................................................................................................................ 26
Capítulo 3 | Metodología de Desarrollo ............................................................................ 28
Metodología de Desarrollo ........................................................................................... 28
Fase de Análisis ........................................................................................................... 30
Planeación del Proyecto ........................................................................................... 30
Diagrama de Casos de Uso ...................................................................................... 31
Documento de Requerimientos................................................................................. 32
Fase de Diseño ............................................................................................................ 45
Modelado del Sistema .............................................................................................. 45
Diagrama de Clases ................................................................................................. 53
Look & Feel .............................................................................................................. 53
Mapa de Navegación ................................................................................................ 63
Diagrama Entidad – Relación ................................................................................... 64
Diagrama relacional ..................................................... Error! Bookmark not defined.
Diccionario de la base de datos ................................................................................ 65
Fase de Desarrollo ....................................................................................................... 65

2|Página
Introducción

Esta tesina se centra en el seguimiento del proyecto nombrado SAAT


(Sistema de Automatización para la Administración de Tutorías), diseñado y
codificado por la empresa desarrolladora de software MacroSystems S.C.

En concreto, en los siguientes capítulos se tiene como objetivo principal


exponer lo concerniente al desarrollo de software actual, utilizando como
esqueleto el proyecto titulado SAAT, para esto es pertinente aclarar que se hará
énfasis en los aspectos referentes a la ingeniería de software. En este trabajo
vamos a analizar desde el surgimiento de SAAT como idea, hasta la
implementación del mismo en el medio conocido como la web.

Para conseguir esos propósitos primero es necesario presentar los


aspectos básicos del panorama a priori del escenario. Acto a seguir, se optará por
describir los procesos de análisis que se llevaron a cabo a partir de la observación
del panorama, procediendo de esta manera al desarrollo abstracto de una
solución. Por último se hará una retrospectiva sobre la implementación del
producto de software, así como un análisis de los resultados obtenidos con
respecto a los resultados esperados del cliente.

Los métodos de análisis que se usarán en este trabajo son básicamente


reunir materiales como fundamento teórico para el desarrollo del sistema,
comparar varias fuentes de información con el fin de determinar diferencias y
coincidencias y establecer unas tesis general sobre la implementación del
producto en cuestión.

3|Página
Capítulo 1 | Generalidades del Proyecto

Perfil del Cliente


Nombre: Carmen Juárez Ramírez

Profesión: Licenciada en Relaciones Comerciales

Ocupación: Profesora de “Proyecto integrador” y “Administración” en el CECyT #9


“Juan de Dios Bátiz Paredes”.

Horarios de Atención: 7:00 am – 15:00 pm. De lunes a viernes en el primer


cubículo del área de programación.

Correo electrónico: cjuarezra@ipn.mx

Planteamiento del Problema


Dentro de las actividades del docente, se encuentra también la acción tutorial, en
la modalidad escolarizada existen espacio para dos programas para realizarla: 1)
el Programa Institucional de Tutorías (PIT), y el, 2) Sistema Maestro-Tutor,
coordinado por la Dirección de Servicios Estudiantiles del IPN.

En el CECyT Juan de Dios Bátiz, el profesor que lleva el PIT, también es el


Maestro –Tutor, en ambas situaciones tienen que llenar formatos preestablecidos
por cada uno de los programas, mismos que son solicitados por el Departamento
de Servicios Académicos.

Los problemas que se presentan son:

1. Se desconoce la diferencia entre cada uno de los programas de acción


tutorial.

4|Página
2. Los formatos entregados por el Departamento de Servicios Académicos
son copias fotostáticas, lo que su llenado es con lápiz o pluma y para
tener un respaldo electrónico se tiene que escanear.
3. En muchas de las veces se solicitan el llenado de los formatos en
calidad de urgente, porque su entrega es extemporánea.
4. No se cuenta con un seguimiento del grupo y mucho menos del alumno
para cumplir con la función de la acción tutorial, apoyar y orientar al
estudiante para mejorar su desempeño académico y su desarrollo
humano y personal.
5. Hay muy poca o no existe identificación entre el alumno y el maestro
tutor.

Justificación del Proyecto


El presente proyecto tiene el propósito de reconocer la trascendencia de la
acción tutorial.

Acompañar al alumno adolescente durante su trayectoria escolar, implica


establecer una estrecha comunicación con él, para motivar y estimular su
proceso de enseñanza aprendizaje, fortaleciendo sus valores, mejorando sus
actitudes y aprovechamiento académico. El proyecto SAAT ofrecerá el espacio
seguro y confiable para llevar a cabo la interacción entre el tutor y el alumno,
también permitirá el darle seguimiento, tener un registro y entregar los reportes
institucionales, como evidencia del trabajo de y alcance de las tutorías.

El proyecto SAAT ofrece un espacio también para la administración de las tutorías,


con el propósito de darle el seguimiento al alumno y al grupo no solo por un
semestre sino durante su trayectoria por el nivel medio superior, facilitando las
actividades a realizar por el tutor.

5|Página
Objetivo del Proyecto
Automatizar los procesos de registro, seguimiento y control de las actividades
inherentes a la acción tutorial, generando información que ayude al tutor a tomar
decisiones que guíen al estudiante a un mejor desempeño académico.

Objetivos específicos
 Desarrollar un sistema distribuido e implementarlo en el CECyT 9 “Juan de
Dios Bátíz” para la administración y manejo de la información del Programa
Institucional de Tutorías y del Programa Servicios Estudiantiles en forma
eficiente y ordenada.
 Proporcionar a los profesores una herramienta que facilite la acción tutorías,
sencillo e intuitivo para el usuario.

Alcance del proyecto


El Sistema de Apoyo a la Administración de Tutorías integrará:

 Un registro de alumnos y tutores.


 Acceso de alumnos a sus módulos correspondientes:
o Acceso al pre – registro para poder entrar a la página.
o Acceso a cuestionarios de registro y evaluación de tutores.
o Subir calificaciones para que el tutor las pueda ver.
o Podrá revisar y responder los comentarios que el tutor le proporcione
 Acceso de Tutores a sus módulos correspondientes:
o Visualizar los grupos asignados a cada tutor.
o En el módulo de grupos, visualizar la información de cada alumno
(registrada previamente en el pre-registro); así como sus
cuestionarios y calificaciones.
o Acceso a cuestionarios que el coordinador observará.
o Enviar comentarios a los alumnos.

6|Página
 Acceso del coordinador a sus módulos correspondientes:
o Acceso a la información de cada tutor y de cada alumno organizado
en grupos.
o Acceso a los cuestionarios resueltos por cada tutor.
o Dar de alta a los tutores
o Asignar tutores a los diferentes grupos.
 Acceso de administradores a sus módulos correspondientes:
o Dar de alta y baja tutores en el sistema.

Antecedentes
En el Instituto Politécnico Nacional se lleva a cabo el Programa Institucional de
Tutorías PIT, con el propósito de (revisar este sitio http://www.tutorias.ipn.mx)
integrar los objetivos del programa

En la modalidad escolarizada el coordinador de la acción tutorial es el Lic.


Francisco Javier Cruz García, quién asigna a los grupos los tutores que guiaran
su proceso de aprendizaje durante el semestre correspondiente.

7|Página
Capítulo 2 | Fundamento Teórico

En este capítulo expondremos, mediante dos vertientes, 2 de las principales


características del sistema, una es la seguridad que se implementó para la
protección de la información personal de los usuarios, y la otra es su distribución
en la web.

Nosotros nos basamos en el siguiente sustento teórico para poder definir que
nuestro producto era seguro y además uno distribuido.

Seguridad

Definición de Seguridad Web

Iniciaremos dando una resumida definición de lo que es la seguridad web, o


también llamada generalmente seguridad informática, la cual es una disciplina que
se sumerge en el diseño de las normas, métodos y técnicas a seguir para lograr
que un software, en este caso un sistema distribuido, sea seguro y confiable
(Cisco Systems, Inc., 2001).

Mecanismos de Seguridad en Aplicaciones Web

Para lograr las medidas de seguridad necesarias en una aplicación Web, se deben
implementarlos siguientes mecanismos:
 Seguridad en la transmisión de la información.
 Seguridad en los servidores.
 Seguridad de los datos almacenados en discos o bases de datos.
Debido a que la transmisión de datos vía internet es completamente insegura,
deben de establecerse entonces protocolos que guíen la transferencia de datos de

8|Página
una manera más segura, meta que se alcanza cifrando el mensaje durante el
transcurso del viaje entre emisor y receptor (Aguilar & Navarro, 2006).

Algunos ejemplos de protocolos bastante utilizados son:


 SSH (Secure Shell): Provee de seguridad en sesiones remotas.
 SSL (Secure Socket Layer): Se utiliza principalmente en comunicaciones de
hipertexto con aplicaciones en otros protocolos.
 TSL (TrasnportLayerSecure):El cual provee de seguridad en la capa de
transporte del modelo OSI.
 HTTPS (HyperText Transfer ProtocolSecure): Es implementado para
ofrecer seguridad en el protocolo de HTTP.

Uso del Cifrado

Cabe destacar que solo por implementar normas a un sistema, no se convierte en


seguro, hay que utilizar también ciertas técnicas que nos permitan “esconder”,
“disfrazar” o “proteger”, el mensaje que se está enviando o el software en sí.

Dichas técnicas se conocen como métodos de encriptación o de cifración de


datos, los cuales consisten en modificar la información y de esa manera conseguir
confidencialidad para que solo pueda acceder a la información su legítimo
destinatario; también autentificación para que tanto el emisor como el receptor
puedan confirmar la identidad de la otra parte; además de integridad para que la
información no pueda ser alterada sin ser esto detectado (Aceituno Canal, 2004).

Su uso es imprescindible en el diseño de cualquier software que necesite manejar


comunicación vía internet, en otras palabras, cualquier “emisor” que tenga la
necesidad de comunicarse con un “receptor”, deberá utilizar la encriptación de la
información que estos se transmitan.

Algunos otros ejemplos en los que se tiene utilizar la encriptación son:

9|Página
 Encriptación de contraseñas en un loggueo.
 Encriptación del código de un software.
 Encriptación de información personal:
o Datos personales.
o Teléfonos.
o Número de seguro social.
o Correo electrónico confidencial.
 Encriptación de información fiscal.
 Encriptación de información bancaria.

Tipos de Cifrado

Ya dicho lo anterior ahondaremos en los tipos de cifrado que existen, en


específico una clasificación bastante manejada, que es la que se basa en el
producto del encriptado, que son las claves (Borghello, 2000-2009):

 Cifrado Simétrico.
 Cifrado Asimétrico.

El cifrado simétrico tiene como principal característica, la existencia de una sola


clave “secreta”, solo conocida por las dos partes, el emisor y el receptor. Consta
de un proceso en que el emisor genera el mensaje cifrado utilizando un algoritmo
de cifrado simétrico y la clave, y transmite el mensaje cifrado al receptor,
posteriormente el receptor con la misma clave y el algoritmo invertido desencripta
el mensaje y obtiene el texto claro (Paredes, 2006).

Sin embargo el uso del método simétrico genera algunas circunstancias


desfavorables:

 La clave debe ser comunicada entre emisor y receptor, pero nada asegura
que el canal que usen para hacerlo sea seguro, por lo tanto caben

10 | P á g i n a
posibilidades de que la clave sea interceptada y con ello se rompa la
seguridad del mensaje.
 Supongamos que en una gran empresa se emplea este algoritmo de
cifrado, donde existen 2000 empleados que a su vez desean comunicarse,
entonces se necesitarían 1000 claves secretas para el intercambio de
información, cuestión que hablando de practicidad se vuelve caótico y poco
viable.

Algunos ejemplos de tecnologías inventadas conforme a este modelo son:

 DES (Data Encryption Standard).


 Triple DES.
 AES (Advanced Encryption Standard).

En tanto al algoritmo de cifrado asimétrico, se caracteriza por manejar 2 tipos de


claves (Paredes, 2006):

 Clave pública.
 Clave privada.

Este par de claves únicas, funcionan de tal manera que lo que una cifra, la otra lo
descifra, y viceversa; sin embargo lo que una cifra no lo puede descifrar ella
misma.

Además en esta técnica de cifrado el emisor como el receptor poseen ambas


claves: una privada (conocida sólo por el) y una pública (conocida por cualquiera),
evitando de esta manera el intercambio de claves; siendo sólo necesarias un par
por persona.

Especificando la forma en la que se da la transmisión de información, el emisor


cifra el texto claro mediante un algoritmo de cifrado asimétrico con su clave pública

11 | P á g i n a
y el receptor descifra el mensaje con la clave privada que solo él posee para
obtener el texto claro, lo cual significa que aunque se sepa la clave pública del
emisor no se podrá descifrar porque no se tiene la clave privada del receptor.

Principalmente este método de cifrado se diseño para evitar los fallos que tenía el
cifrado simétrico, sin embargo no se descarta que sucedan otros, por ejemplo los
que estuvieran relacionados con la confidencialidad de las claves; básicamente la
seguridad que brinda este algoritmo se sustenta en que las claves privadas sean
justamente eso, privadas, por lo cual es necesario llevar a cabo ciertas normas
para mantener en secreto dicha clave, normas que recaen en el receptor del
mensaje.

Por otro lado también cuenta con ciertas desventajas:

 Para una misma longitud de clave y mensaje se necesita mayor tiempo de


proceso.
 Las claves deben ser de mayor tamaño que las simétricas.
 El mensaje cifrado ocupa más espacio que el original.

Amenazas y Ataques en la Seguridad Informática

Una amenaza en su definición más ambigua, es todo aquel anuncio de un mal o


peligro, que en este caso atenta contra la confidencialidad, integridad y
disponibilidad del emisor mensaje o del receptor.

Existen amenazas internas y externas, clasificándolas por su origen; de las


posibles amenazas internas destaca el hecho de que los involucrados en el
sistema lo conocen mejor que cualquier otro, tienen acceso aprobado al software y
también que los firewalls no protegen de dichas amenazas.

En tanto a las externas, son las que se originan fuera del sistema, por tanto el
atacante debe analizar a fondo para encontrar la manera de atacarla y triunfar.

12 | P á g i n a
Los ataques como materialización de las amenazas pueden enlistarse en los
siguientes más comunes:

 Ingeniería Social: Consiste en utilizar artilugios, tretas y otras técnicas para


el engaño de las personas logrando que revelen información de interés para
el atacante, como ser contraseñas de acceso. Se diferencia del resto de las
amenazas básicamente porque no se aprovecha de debilidades y
vulnerabilidades propias de un componente informático para la obtención
de información.
 Pishing: Consiste en el envío masivo de mensajes electrónicos que fingen
ser notificaciones oficiales de entidades/empresas legítimas con el fin de
obtener datos personales y bancarios de los usuarios.
 Escaneo de Puertos: Consiste en detectar qué servicios posee activos un
equipo, con el objeto de ser utilizados para los fines del atacante. De los
cuales los más comunes son:
o TCP “connect()” Scanning: consiste básicamente en usar la llamada
a sistema connect() del sistema operativo, si se logra establecer la
conexión con el puerto de la otra computadora entonces este puerto
está abierto.
o TCP SYN scanning: esta técnica es la llamada escaneo "half-open"
(o mitad-abierta), porque no establecemos una conexión TCP
completa.
o TCP FIN scanning: algunos firewalls y packetsfilters escuchan por
los paquetes SYN en algunos puertos, y programas como el
synlogger pueden detectar este tipo de escaneo. En cambio los
paquetes FIN pueden penetrar sin mayores problemas.
 Wardialers: Se trata de herramientas de software que utilizan el acceso
telefónico de una máquina para encontrar puntos de conexión telefónicos
en otros equipos o redes, con el objeto de lograr acceso o recabar
información.

13 | P á g i n a
 Código malicioso (Virus): Se define como todo programa o fragmento del
mismo que genera algún tipo de problema en el sistema en el cual se
ejecuta, interfiriendo de esta forma con el normal funcionamiento del
mismo. Su pueden dividir en algunos de los siguientes:
o Bombas lógicas: Normalmente, las bombas lógicas se utilizan para
lanzar ataques de denegación de servicio al sobrepasar la capacidad
de red de un sitio Web, un servicio en línea o una compañía.
o Trojans: Pueden utilizarse para la manipular el sistema a distancia de
manera legítima, o para penetrar en un sistema de manera
clandestina y sacar información de él.
o Worms: Estos tienen el poder de duplicarse dentro de un sistema,
causando efectos adversos en el mismo.
o Keyloggers: Es una aplicación que se encarga de registrar todas las
teclas que el usuario de un ordenador “clickea”.
o Spyware: Son aplicaciones que recolectan y envían información
sobre las páginas web que más frecuentemente visita un usuario.
o Malware: Es todo aquel software que se disfraza de uno legítimo
para ser instalado por el usuario y pueda de esta manera cumplir su
propósito predeterminado.

SAAT como un sistema seguro

En nuestro proyecto nos basamos en un algoritmo de cifrado conocido como


“UNIX Password Security”, pero implementado en PHP, que hace pasar las
contraseñas de los usuarios de un sistema por un algoritmo muy complejo
conocido como DES, desarrollado por IBM para el Buró nacional de estándares en
1979 (Stallings, 2004).

Con este algoritmo de cifrado DES, el atacante no tendrá muchas posibilidades de


lograr su cometido, por ser este un encriptado asimétrico, lo cual significa que es
además unidireccional, traducido en palabras más sencillas, el atacante a pesar
de lograr descubrir la lógica del cifrado y la contraseña cifrada, no podrá

14 | P á g i n a
descifrarla por la forma común, que sería invirtiendo el algoritmo y haciendo pasar
la contraseña cifrada e intentando con claves distintas.

Y bien explicando en palabras cortas, las contraseñas de los usuarios de SAAT


son encriptadas 25 veces seguidas por el mencionado algoritmo, la primera ronda
de DES usa una clave de 64 bits como entrada junto con la contraseña, se
encriptan utilizando una permutación aleatoria, dicha permutación usada se
codifica en 2 bytes y se agrega al “passwordfile” (contraseña encriptada), a este
código se le llama ‘salt’; tomando el dato de salida de la primer ronda como el de
entrada de la siguiente ronda de DES, se repite el proceso de cifrado con la misma
clave y permutación, esto hasta acabar las 25 rondas predeterminadas; al final el
producto es un código de 11 bytes que se adicionan al passwordfile junto con el
‘salt’ para dar como resultado un código de 13 bytes. Para una mejor ilustración
del tema se muestra el siguiente diagrama:

(Belgers, 2009)

En SAAT al utilizar un cifrado en las contraseñas que son registradas en la base


de datos, imposibilita al atacante de acceder a las cuentas de los usuarios sin
primero lograr descifrar dichas contraseñas, lo cual ya se convierte en algo muy
complicado, como ya pudimos especificar con anterioridad.

15 | P á g i n a
Por lo tanto podemos afirmar que SAAT es un sistema formidable con respecto a
los ataques de los cuales puede ser blanco, en especial aquellos en los cuales se
tratan de recoger información personal y privada de los usuarios de una aplicación
web (spyware).

Sin embargo existen otro tipo de ataques que quizás lograrían burlar la seguridad
de nuestro sistema, que serían los keyloggers, que no atacarían en si al sistema,
sino al ordenador desde donde se accede al software, haciendo que básicamente
las contraseñas sean interceptadas mucho antes de que se cifren.

Resumiendo, la seguridad con la cual se maneja la información en SAAT es de


una gran calidad, pues el algoritmo usado es de alta complejidad; pero para lograr
disminuir casi a cero las posibilidades de intrusión es necesario también
sustentarse en la misma seguridad con la que cuente el cliente en su hardware.

Distribución
De acuerdo a la definición, un sistema distribuido es un sistema en el que el
procesamiento de la información se distribuye sobre varios host en lugar de estar
confinado únicamente en un solo.

Aunado a la definición hay 3 características que deben cumplirse completamente,


para poder decir que un sistema es distribuido, estas características son las
siguientes:

 Concurrencia: En una red se pueden realizar diferentes procesos al mismo


tiempo y pueden actuar entre ellos sin afectar el rendimiento de
procedimientos en ejecución.
 Fallos independientes: El fallo en una computadora conectado a una red
no debe afectar a los demás, siendo este aislado para continuar la red en
funcionamiento con los demás computadores conectados.

16 | P á g i n a
 Inexistencia de un reloj global: La coordinación para la transferencia de
mensajes entre los diferentes componentes para la realización de una
tarea, no tienen una que tener una temporización general.

Algunas de las ventajas que podemos encontrar al desarrollar un sistema


distribuido son:

Compartición de recursos: Un sistema distribuido permite compartir recursos


hardware y software –como discos, impresoras, ficheros, etc.- que se asocian a
computadoras de una red.

Apertura: Los sistemas distribuidos son normalmente sistemas abiertos, lo que


significa que se diseñan sobre protocolos estándar que permite combinar
equipamiento y software de diferentes vendedores.(Summerville, 2005)

Hemos hablado de que nuestro proyecto es un sistema distribuido gracias a estar


posicionado en un host al cual se necesita acceder vía internet.

Pero llegamos a una pregunta ¿Cómo funciona internet?

Internet es un conglomerado de ordenadores de diferente tipo, marca y sistema


operativo, distribuidos por todo el mundo y unidos a través de enlaces de
comunicaciones muy diversos. Para esto emplean sofisticados protocolos de
comunicaciones.

El primer paso es lograr su interconexión física, para lo que se emplean sistemas


muy diversos: Redes de área local(LAN), por lo general basadas en el estándar
Ethernet. Son las más utilizadas en redes corporativas de empresas u
organizaciones, con extensiones menores de 2 Km.
Enlaces nacionales (WAN). Enlaces internacionales, proporcionados por
compañía de comunicaciones con implantación internacional. Pueden utilizar
cableado convencional, fibra óptica, satélites, enlaces por microondas, etc.

Todos los sistemas de comunicaciones mencionados producen una denominada


‘telaraña’ de cables, de ahí el denominado WWW (World Wide Web) que permite,

17 | P á g i n a
del mismo modo que en las comunicaciones telefónicas, disponer de un canal
virtual de comunicación entre dos ordenadores situados en diferentes lugares de
la red.

Según se ha visto, Internet está formada por sistemas de tipos muy diversos,
unidos por enlaces de comunicaciones variados, de los que se desconoce su
estructura y funcionamiento. Esto plantea dos problemas fundamentales:

1. Se necesita un sistema para localizar un ordenador dentro de Internet, con


independencia de su situación física y los enlaces de comunicaciones
necesarios para alcanzarlo.
2. Además, la gran variedad de ordenadores existentes obliga a disponer de
un lenguaje común de intercambio de información, entendido por todos
ellos, y que sea independiente de su estructura interna o sistema operativo.

La solución a este problema es el protocolo TCP/IP. Se trata de un lenguaje de


comunicación entre ordenadores, que permite la interconexión e intercambio de
información entre equipos muy diversos. Su característica principal es:

 Se encarga de localizar los equipos a través de la red, con independencia


de su situación o el camino a seguir para alcanzarlos.

Automáticamente resuelve los problemas que se presentan durante el intercambio


de datos: fallos en las líneas de comunicación, errores, pérdidas o duplicación de
datos.

El protocolo TCP/IP consta de tres niveles: IP, UDP y TCP. El nivel básico es el IP,
y permite enviar mensajes simples entre dos sistemas. TCP y UDP utilizan los
mensajes del nivel IP para construir un diálogo más complejo entre los
ordenadores.

18 | P á g i n a
El nivel IP

IP (Internet Protocol) es capaz de enviar mensajes de pequeño tamaño


(denominados datagramas) entre dos ordenadores conectados en red. No ofrece
garantías de que los mensajes alcancen su destino, debido a los posibles fallos de
las redes de comunicaciones. Es un mecanismo de comunicación entre
ordenadores, y no entre aplicaciones. Se debe añadir un nivel adicional (TCP o
UDP) para conseguir que dos programas informáticos puedan intercambiar datos.

Recibe la denominación de ‘protocolo entre-redes’, ya que se ocupa de todas las


gestiones necesarias para hacer llegar un mensaje a su destino, saltando entre
diferentes redes y enlaces de comunicaciones.

La asignación de direcciones IP sigue una estructura jerárquica, de forma que los


ordenadores de una red local tienen direcciones IP que son diferentes sólo en el
último de los números de su dirección.

Además, cada ordenador puede tener asignados uno o varios nombres de dominio
DNS (Domain Name System), identificadores descriptivos que permiten hacer
referencia al equipo, y equivalen a su dirección IP.

Los nombres DNS también se asignan de forma jerárquica, añadiendo a la


derecha del nombre propio del ordenador una serie de identificadores (separados
por puntos) que se corresponden con la organización o empresa a la que
pertenece el sistema.

El nombre propio del sistema (la parte más a la izquierda) suele hacer referencia
al servicio más importante que proporciona: WWW, ftp o gopher para los
correspondientes servicios de información.

La parte más a la derecha del nombre DNS informa sobre el país en que se
encuentra, o bien si se trata de un organismo educativo (edu), del ejército
americano (mil), del gobierno americano (gov), comercial (com), de organizaciones

19 | P á g i n a
generales (org) o de organismos encargados de la gestión y organización global
de la red (net). (Herrera, 2003)

Los niveles TCP y UDP

TCP (Transmission Control Protocol) y UDP (User Datagram Protocol) utilizan los
mensajes IP para lograr una transferencia de datos libre de errores. Ambos
establecen un diálogo con otro sistema a base de enviar sucesivos mensajes IP.

El contenido de estos mensajes incluye información de protocolo (que hace


funcionar a TCP y UDP) y datos (propios de las aplicaciones que se comunican).
UDP sirve para enviar mensajes cortos, añadiendo un pequeño nivel de seguridad
sobre la entrega correcta de los mensajes, frente a la inseguridad del nivel IP.
TCP es más parecido a las comunicaciones telefónicas. Una ‘llamada’ TCP implica
un proceso de establecimiento de llamada, otro de intercambio de datos y otro de
terminación de llamada. Durante el tiempo que dura el intercambio de datos, los
dos ordenadores implicados mantienen una relación que garantiza el éxito de la
transferencia.

TCP y UDP manejan un nuevo concepto denominado puerto. Cuando dos


programas intercambian datos, cada uno de ellos está conectado a un número de
puerto de su sistema. Una comunicación TCP o UDP está totalmente identificada
por las direcciones IP y los números de puerto asociados a los programas que
intercambian información.

La combinación de estos elementos tanto de hardware como de software, es como


se logra el intercambio de diversos tipos de información, entre la gran cantidad de
computadores que existen en todo el mundo a través de una red global.

Modelo Cliente-Servidor

Se puede definir la computación Cliente/Servidor como una arquitectura distribuida


que permite a los usuarios finales obtener acceso a la información en forma
transparente aún en entornos multiplataforma.

20 | P á g i n a
En el modelo cliente servidor, el primer elemento a destacar es el nodo cliente. El
nodo cliente está formado por el equipo computacional –Ya sea una PC
convencional, un portátil o un teléfono móvil—con su respectivo sistema operativo
y con capacidad de conectarse a través de una red. Cada nodo cliente debe
disponer de, al menos, una aplicación que es denominada aplicación cliente. Esta
aplicación es la responsable de solicitar el recurso o servicio deseado.

Del otro lado nos encontramos con el nodo servidor, en este caso se trata de un
equipo que posee el recurso hardware o software objeto del servicio. El servidor
deberá estar conectado de alguna forma conectado a la misma red que la del
cliente, en donde sobre él se ejecutara la aplicación servidor capaz de atender las
solicitudes del cliente y mediante su know-how, para acceder y gestionar dicho
recurso.

Entre ambos nodos encontramos la red de comunicación. Sea cual sea su


tecnología física, deberá emplear como protocolos de comunicación (niveles de
red y transporte del modelo OSI), el TCP/IP antes explicados.

En este modelo cliente servidor resulta imprescindible que ambas partes tengan
alguna forma de referenciarse. Un cliente debe poder invocar a un servidor, y este
servidor tendrá que ser capaz de devolver su solicitud.

Aunque una dirección IP o un nombre DNS permiten identificar al nodo de red de


manera univoca, todavía falta identificar la aplicación concreta, de entre todas las
que se están ejecutando sobre cada nodo, con la que nos queremos comunicar.
En este caso el protocolo como mecanismo un numero entero diferente a cada
aplicación en ejecución que desee acceder a la red. Este número se denomina
puerto. Por lo tanto, el par de dirección IP: puerto será el que identifique realmente
cliente y servicio.(Pérez, 2005)

Usualmente la mayoría del trabajo pesado se hace en el proceso llamado servidor


y el o los procesos cliente sólo se ocupan de la interacción con el usuario (aunque
esto puede variar). En otras palabras la arquitectura Cliente/Servidor es una

21 | P á g i n a
extensión de programación modular en la que la base fundamental es separar una
gran pieza de software en módulos con el fin de hacer más fácil el desarrollo y
mejorar su mantenimiento.

El cliente es el proceso que permite al usuario formular los requerimientos y


pasarlos al servidor, se le conoce con el término front-end. El Cliente
normalmente maneja todas las funciones relacionadas con la manipulación y
despliegue de datos, por lo que están desarrollados sobre plataformas que
permiten construir interfaces gráficas de usuario (GUI), además de acceder a los
servicios distribuidos en cualquier parte de una red.

Así es como llegamos a definir la parte más importante de un sistema distribuido,


que el servidor es el que realiza todo el procesamiento de la información y los
datos son insertados del lado del cliente para el procesamiento de ellos. Para
después de ello sea desplegado de forma estática en el browser del cliente.

Las funciones que lleva a cabo el proceso cliente se resumen en los siguientes
puntos:

• Administrar la interfaz de usuario.


• Interactuar con el usuario.
• Procesar la lógica de la aplicación y hacer validaciones locales.
• Generar requerimientos de bases de datos.
• Recibir resultados del servidor.
• Formatear resultados.

En el servidor es el encargado de atender a múltiples procesos de clientes que


hacen peticiones de algún recurso administrado por él. Al proceso servidor se le
conoce con el término back-end.

El servidor normalmente maneja todas las funciones relacionadas con la mayoría


de las reglas del negocio y los recursos de datos.

22 | P á g i n a
Las funciones que lleva a cabo el proceso servidor se resumen en los siguientes
puntos:

• Aceptar los requerimientos de bases de datos que hacen los clientes.


• Procesar requerimientos de bases de datos.
• Formatear datos para trasmitirlos a los clientes.
• Procesar la lógica de la aplicación y realizar validaciones a nivel de
bases de datos.

Finalmente, aunque los nodos de red cliente y servidor se comunican mediante el


protocolo de comunicaciones TCP/IP que les permite entenderse a nivel de red y
de transporte de datos, las aplicaciones cliente y servidor también deben poseer
un mecanismo que les permita hablar entre ellas, es lo que denominamos
protocoles de aplicación. Este protocolo suele ser de petición-respuesta. En la
mayor parte de los casos, el protocolo de aplicación es el que proporciona su
nombre al servicio: FTP, HTTP, telnet, etc. (Summerville, 2005)

Servicio HTTP

El servicio HTTP es un servicio basado en el modelo cliente servidor sobre


internet, donde el cliente es un navegador web y el servidor es un servidor web,
utilizando ambos para su entendimiento el protocolo de aplicación HTTP
(HyperText transfer protocol). En este caso el servidor se configura para escuchar
solicitudes en el puerto 80, de forma que cualquier cliente pueda encontrarlo
fácilmente. El recurso que se ofrecen lo constituyen documentos de texto
denominados paginas HTML (HyperText Markup Language), por ser este lenguaje
para su codificación.

Aunque las paginas o archivos de formato HTML, son los recursos mas solicitados
de un servicio Web, pueden requerir otros recursos adicionales para que el
navegador web, pueda mostrar todo su contenido, como por ejemplo una imagen
que se muestra ubicado en el servidor.

23 | P á g i n a
Por su puesto el navegador web tendrá que recuperar este archivo mediante una
nueva solicitud al servidor. El problema es que estos recursos suelen ser archivos
gráficos, de video o de sonido, que no se encuentran en formato de texto, que
para lo único que funciona el protocolo http. Para subsanar esta deficiencia, cada
archivo binario deberá ser convertido previamente a un archivo de texto mediante
un mecanismo de representación externa de datos denominado MIME
(Multipurpose Internet Mail Extension). Este mecanismo fue originalmente
concebido para poder adjuntar archivos en formato binario a los mensajes de
correo electrónico. (Herrera, 2003)

Modelo OSI

El principio de este modelado es de protocolo de capas. Mientras las capas


interactúan de manera “aparejada” y la interfaz entre la función de una capa y su
capa inmediata superior e inferior no se afecten, no es importante la forma como
se lleve a cabo la función de esa capa individual. OSI subdivide la función de
comunicación de datos en cierto número de subfunciones de capas, en total el
modelo contempla 7 capas.

Cada capa del modelo OSI se puede considerar como un programa o proceso en
una maquina que se comunica con el proceso correspondiente en otra maquina.

La trasferencia de datos entre una computadora y otra no es de forma horizontal


entre cada capa, si no que se transfiere verticalmente hacia abajo en la
computadora transmisora y verticalmente hacia arriba en la computadora
receptora. Solo en la capa 1 hay comunicación física entre maquinas, por ello del
nombre asociada a esta.

La funcionalidad de las capas individuales del modelo se define a continuación:

1) Capa física: Se encarga del establecimiento y la liberación del enlace físico


y de transmisión de los datos sobre dicho enlace. La unidad de transmisión
en esta capa es el bit.

24 | P á g i n a
2) Capa de enlace: Se encarga de asegurar la confiabilidad de la transmisión
entre nodos adyacentes de los datos considerando un canal ruidoso, entre
sus principales funciones son: organizar los datos, que recibe la capa
superior en tramos, regular el tráfico, agregar banderas para marcar el
comienzo y fin de mensajes, empaquetar en tramos de bits que recibe de la
capa física.
3) Capa de red: Es responsable del establecimiento de conexiones a través
de una red determinando la combinación apropiado de enlaces individuales
que se necesita (función de enrutamiento) y controlando el flujo de
mensajes entre nodos. Sus funciones específicas son: establece rutas,
ensambla los mensajes que recibe la capa de transporte en paquetes y los
desensambla en otro extremo, etc.
4) Capa de transporte: Controla la integridad de un extremo al otro lado del
mensaje. Esto significa que al recibir el mensaje de la capa de red, la capa
4 verifica que la información este en el orden adecuado y revisa si existe
información duplicada o extraviada. Las capas de arriba de esta no
consideran los aspectos tecnológicos de la red. Las tres capas superiores
se enfocan a aspectos de aplicación de red, mientras que las tres capas
inferiores se enfocan a la transferencia de mensaje. Por lo tanto la capa de
transporte actúa como la interfaz entre las capas inferiores y superiores.
5) Capa de sesión: Se encarga de iniciar, mantener y terminar la conexión
llamada de sesión. Las funciones que realiza son las siguientes: controla el
dialogo entre dispositivos, sincronización, transmite la información del
usuario en una forma ordenada, reconocimiento de nombres.
6) Capa de presentación: Se encarga de negociar una técnica mutuamente
acorde para la codificación y puntuación de los datos, así como de
cualquier conversión que se necesite entre los formatos de código o arreglo
de datos para que la capa de aplicación reciba el tipo que reconoce. Sus
funciones primordiales: comprensión de datos, encriptado, transformación
sintáctica del conjunto de caracteres, formato de desplegado, etc.

25 | P á g i n a
Capa de aplicación: Se encarga de suministrar servicios de transferencia de
datos al usuario, es decir al programa de aplicación. Protocolos de procedimientos
precisos que permiten a los usuario ejecutar los comandos relativos a sus propias
aplicaciones. Esta capa es la más alta de la jerarquía y funciona como el
administrador general de la red. La transferencia de archivos y acceso remoto a
archivos son sus aplicaciones más comunes. (Herrera, 2003)

Tutorías
1. Programa Institucional de tutorías PIT

Objetivo General:

El Programa Institucional de Tutorías (PIT) tiene por objetivo contribuir al


cumplimiento de los propósitos educativos tanto del estudiante como de la
Institución en los Niveles Medio Superior, Superior y Posgrado,
proporcionándole al alumno los apoyos académicos, medios y estímulos
necesarios para su formación integral a través de la atención personalizada
en la definición y durante su trayectoria escolar, revitalizando a través de su
ejercicio la práctica docente.

Objetivos Específicos:

Ofrecer un acompañamiento personalizado durante la trayectoria


escolar proponiendo avances y contenidos curriculares que le
permitan al estudiante construir su propia trayectoria escolar, así
como la intensidad de trabajo a través de una actividad planificada
Promover una formación integral, en aspectos científicos,
tecnológicos y humanísticos
Fomentar el cambio de actitudes y valores que lo identifiquen no solo
como profesionista, sino como politécnico
Orientar en los procesos educativos flexibles e innovadores

26 | P á g i n a
Orientar sobre los procesos académicos-administrativos y de
situación escolar de acuerdo a la normatividad institucional
Propiciar una formación continua y permanente
Promover el aprendizaje autónomo y la toma de decisiones
responsables sobre su trayectoria académica
Fomentar una conciencia social, para que contribuya al desarrollo
sustentable de la nación propiciando su incorporación en un entorno
internacional y multicultural
Cumplir lo establecido en el convenio IPN-SEP (PRONABES) en
lo correspondiente a que todo estudiante con esa beca cuente
con un(a) tutor(a)
Contribuir al abatimiento de la deserción, la reprobación escolar
y elevar la eficiencia terminal

http://www.tutorias.ipn.mx

27 | P á g i n a
Capítulo 3 | Metodología de Desarrollo

Metodología de Desarrollo
Principalmente en nuestro proyecto utilizamos el método de desarrollo de software
conocido como Modelo en Cascada, pues se acomodaba a nuestras necesidades
como desarrolladores y también se ajustaba a las personalidades de los mismos.

En seguida se presenta un breve marco teórico sobre esta metodología.

Definición

El desarrollo en cascada es el enfoque metodológico que ordena rigurosamente


las etapas del ciclo de vida del software, de tal forma que el inicio de cada etapa
debe esperar a la finalización de la inmediatamente anterior. Para nosotros
representa la metodología ideal pues previene futuros percances debidos a fallos
sin precaver anteriormente.

Fases

28 | P á g i n a
Características

La principal característica de este modelo de desarrollo es que ofrece una visión


de desarrollo de software como una sucesión de etapas que producen productos
intermedios, sabiendo lo anterior cabe destacar que para obtener un éxito
aceptable es necesario cumplir al pie de la letra con cada etapa.

Al ser esta metodología un ciclo, las fases continúan hasta que los objetivos se
han cumplido, de lo contrario, de no cumplirse una etapa o se haya cambiado el
orden de las mismas, el producto final será de inferior calidad.

Implementación en el Proyecto

En SAAT la utilización de este modelo fue de suma importancia, pues su


implementación nos trajo buenos resultados, tales como:

 Buena organización de módulos.


 La calidad de nuestro producto fue alta.
 La comprensión por parte de nuestro cliente hacia el proceso fue
satisfactoria.
 Al tener bien planificados los requerimientos funcionales, el tiempo de
desarrollo se disminuyo significativamente.

29 | P á g i n a
Fase de Análisis

Planeación del Proyecto


Gráfica de Gantt

30 | P á g i n a
Diagrama de Casos de Uso

SISTEMA ADMINISTRATIVO System


AUTOMATIZADO DE TUTORIAS

Pre registrar Alumno

Registrar Tutor

Administrador

Revisar Cuestionario

Resolver Cuestionario

Visualizar Perfil
Tutor

Enviar Comentario

Actualizar Calificación
Alumno

Registrar Alumno

Visualizar Comentario

Todos
Iniciar Sesion

31 | P á g i n a
Documento de Requerimientos
Mediante el siguiente documento se tiene como propósito exponer los acuerdos, metas y
características que se plantearon y planificaron en las sesiones donde el equipo de
trabajo tuvo contacto con el cliente.

Tiene como principal meta este apartado ofrecer un panorama sólido que cimiente las
bases para un adecuado diseño y posterior desarrollo del producto a tratar.

Alcance del proyecto

 El Sistema de Apoyo a la Administración de Tutorías integrará:


o Un registro de alumnos y tutores
o Acceso de alumnos a sus módulos correspondientes:
 Acceso al pre – registro para poder entrar a la página.
 Acceso a cuestionarios de registro y evaluación de tutores.
 Subir calificaciones para que el tutor las pueda ver.
 Podrá revisar y responder los comentarios que el tutor le
proporcione
o Acceso de Tutores a sus módulos correspondientes:
 Visualizar los grupos asignados a cada tutor.
 En el módulo de grupos, visualizar la información de cada
alumno (registrada previamente en el pre-registro); así como
sus cuestionarios y calificaciones.
 Acceso a cuestionarios que el coordinador observará.
 Enviar comentarios a los alumnos.
o Acceso del coordinador a sus módulos correspondientes:
 Acceso a la información de cada tutor y de cada alumno
organizado en grupos.
 Acceso a los cuestionarios resueltos por cada tutor.
 Dar de alta a los tutores
 Asignar tutores a los diferentes grupos.
o Acceso de administradores a sus módulos correspondientes:
 Dar de alta y baja tutores en el sistema.

32 | P á g i n a
Requerimientos Funcionales

1. El alumno podrá registrar al usuario dentro del sistema.


2. El alumno podrá actualizar sus calificaciones en el sistema.
3. El alumno podrá visualizar los comentarios enviados por su tutor.
4. El alumno podrá visualizar su perfil de usuario.
5. El alumno podrá resolver cuestionarios dentro del sistema.
6. El tutor podrá revisar cuestionarios resueltos por el alumno.
7. El tutor podrá resolver cuestionarios dentro del sistema.
8. El tutor podrá visualizar el perfil de los alumnos.
9. El tutor podrá enviar comentarios al alumno.
10. El administrador podrá registrar los usuarios de los tutores dentro del
sistema.
11. El administrador podrá realizar un pre registro de los usuarios de los
alumnos dentro del sistema.
12. El administrador podrá revisar cuestionarios resueltos por el tutor.
13. Todos los usuarios podrán iniciar sesión en el sistema.

Requerimientos No Funcionales

 Disponibilidad: El sistema estará disponible las 24 horas del día para que el
usuario pueda usar el sistema cuando lo desee ya que se procurará evitar
fallos en la codificación del software que tendrá el servidor principal, dejando
así un margen de error menor con respecto a caídas de sistema.
 Mantenibilidad: Debido a que cuenta con la facilidad de extender, modificar o
corregir errores en el sistema.
 Usabilidad: Puesto a que el software hace óptimo el uso de los recursos del
sistema. Está indicado por los siguientes suba tributos:
o Facilidad de comprensión.
o Facilidad de aprendizaje.
o Operatividad.

33 | P á g i n a
 Portabilidad: Dado a que el sistema funciona en la mayoría de los
exploradores y sistemas operativos (60%).
 Confiabilidad: ISO 9126 Confiabilidad (reliability) Es la capacidad del software
para mantener su nivel de rendimiento bajo condiciones conocidas por unidad
de tiempo. Siguiendo esta norma nosotros podemos decir que nuestro sistema
cumple con algunos aspectos de esta que son:

o Madurez: Ya que en el tiempo que se ha estado poniendo bajo prueba el


sistema ha presentado un número muy bajo de fallas en periodos de
tiempo extensos y el tiempo que nos lleva corregirlo va de acuerdo con lo
estimado.
o Tolerancia a Fallas: Las fallas que se han presentado han sido
controladas para mantener un nivel especificado de rendimiento.
o Recuperación: Dado a que al momento de encontrar una falla se analiza
y se corrige lo más pronto posible para que mantenga su nivel de
rendimiento.

Requerimientos del Sistema

Software

 Versiones posteriores a Windows XP (Windows Vista, Windows 7, etc.).


 1 GB de RAM para el software.
 Acceso a internet.

Hardware

 CPU con 10 GB mínimo de memoria en unidad sólida.


 Monitor.
 Teclado y mouse.
 Conexión alámbrica o en su defecto inalámbrica para conectarse al servidor
vía LAN, WLAN, etc.

34 | P á g i n a
Especificación de Requerimientos Funcionales

SISTEMA ADMINISTRATIVO AUTOMATIZADO DE TUTORIAS


Precondiciones:
1. Los usuarios ingresan al sistema
2. Los usuarios estén registrados en el sistema

FLUJO BASICO – TODOS


1. El sistema solicita datos
 Usuario(alfanumérico[45])
 Contraseña(alfanumérico[8])
2. El usuario captura datos y envía al sistema
3. El sistema verifica datos y envía a la base de datos
De lo contrario ejecutar flujo alterno “Datos Incorrectos”
4. La base de datos verifica existencia del usuario
De lo contrario ejecutar flujo alterno “Usuario Inexistente”
5. La base de datos retorna datos del usuario al sistema
6. El sistema confirma inicio de sesión al usuario

FLUJOS ALTERNOS TODOS

DATOS INCORRECTOS
1. El sistema despliega mensaje de error y solicitara datos al usuario

USUARIOINEXISTENTE
1. La base de datos envía mensaje de error al sistema.
2. El sistema despliega mensaje de error (El usuario no se ha encontrado o no
existe) al usuario.
Precondiciones:
1. Haber ingresado al sistema.
2. Haber iniciado sesión (excepto para el flujo alterno registrar alumno).

35 | P á g i n a
3. Haber sido pre registrado por el administrador (solo para el flujo alterno
registrar alumno).

FLUJO BASICO ALUMNO


1. El sistema muestra página principal de alumno con menú de opciones al
alumno:
a. Cuestionarios PIT.
b. Mi Perfil.
c. Comentarios.
d. Calificaciones.
2. El alumno selecciona la opción y envía al sistema.
3. Si el alumno selecciona:
a) Cuestionarios PIT ejecutar flujo secundario “Resolver cuestionario”.
b) Mi Perfil ejecutar flujo secundario “Visualizar Perfil”.
c) Comentarios ejecutar flujo secundario “Visualizar Comentario”.
d) Calificaciones ejecutar flujo secundario “Actualizar Calificaciones”.

FLUJOS ALTERNOS ALUMNO

REGISTRAR ALUMNO
1. El alumno selecciona la opción de pre registro y envía al sistema.
2. El sistema solicita datos al alumno:
 Boleta (numérico[10]).
 Nombre (alfanumérico[45]).
3. El alumno captura datos y envía al sistema.
4. El sistema verifica los datos y envía a la base de datos. De lo contrario
ejecutar flujo alterno “Datos incorrectos”.
5. La base de datos verifica el pre- registro con anterioridad por el
coordinador. De lo contrario ejecutar flujo alterno “Alumno sin pre registrar”.
6. La base de datos verifica inexistencia del alumno y envía mensaje al
sistema. De lo contrario ejecutar flujo alterno “Alumno Existente”.

36 | P á g i n a
7. El sistema solicita datos al alumno:
 Usuario (alfanumérico[30]).
 Contraseña (alfanumérico[8]).
 Fecha de Nacimiento (numérico[6]).
 Edad (numérico[2]).
 Sexo (alfanumérico[9]).
 Calle (alfanumérico[45]).
 No. Exterior ([5]).
 Colonia (alfanumérico[30]).
 Código Postal (numérico[5]).
 Delegación/Municipio (alfanumérico[30]).
 Estado (alfanumérico[30]).
 Teléfono (numérico[10]).
 Correo Electrónico (alfanumérico[45]).
8. El alumno captura información y envía al sistema.
9. El sistema verifica los datos y envía a la base de datos. De lo contrario
ejecutar flujo alterno “Datos incorrectos”.
10. La base de datos confirma ingreso de datos al sistema.
11. El sistema muestra confirmación de ingreso al alumno.

ACTUALIZAR CALIFICACIONES
1. El sistema solicita datos al alumno:
 Calificación Primer Parcial (numérica[2]).
 Calificación Segundo Parcial (numérica[2]).
 Calificación Tercer Parcial (numérica[2]).
2. El alumno captura la información y envía al sistema.
3. El sistema verifica los datos y envía a la base de datos. De lo contrario
ejecutar flujo alterno “Datos incorrectos”.
4. La base de datos confirma ingreso de datos al sistema.
5. El sistema muestra confirmación de registro de calificaciones al alumno.

37 | P á g i n a
VISUALIZAR COMENTARIOS
1. El sistema solicita datos de ese alumno a la base de datos. De lo contrario
ejecutar flujo alterno “Sin comentarios”.
2. La base de datos retorna los datos que corresponden a ese alumno al
sistema.
3. El sistema despliega los datos en pantalla al alumno.

VISUALIZAR PERFIL
1. El sistema solicita datos de ese alumno a la base de datos.
2. La base de datos retorna los datos que corresponden a ese alumno al
sistema.
3. El sistema despliega datos en pantalla al alumno.

RESOLVER CUESTIONARIO
1. El sistema despliega menú de opciones al alumno:
a. Evaluación del Tutor.
b. Identificación del Tutorado.
2. El alumno selecciona la opción que desee y envía al sistema.
3. El sistema despliega el cuestionario correspondiente y solicita datos al
alumno.
4. El alumno captura información y envía al sistema.
5. El sistema verifica formato de datos y envía a la base de datos. De lo
contrario ejecutar flujo alterno “Datos incorrectos”.
6. La base de datos verifica la inexistencia de datos del cuestionario resuelto
por el alumno e ingresa la información. De lo contrario ejecutar flujo alterno
“Cuestionario Previamente Resuelto”.
7. La base de datos confirma ingreso de datos al sistema.
8. El sistema muestra confirmación de ingreso de datos al alumno.

38 | P á g i n a
FLUJOS ALTERNOS

DATOS INCORRECTOS
1. El sistema despliega mensaje de error y solicitara datos al alumno.

ALUMNO SIN PRE REGISTRAR


1. La base de datos envía mensaje de error al sistema.
2. El sistema despliega mensaje de error (El usuario no existe o no ha sido pre
registrado aun) al alumno.
ALUMNO EXISTENTE
1. La base de datos envía mensaje de error al sistema.
2. El sistema despliega mensaje de error (El usuario ya ha sido registrado) al
alumno.

SIN COMENTARIOS
1. La base de datos envía mensaje de error al sistema.
2. El sistema despliega mensaje de error (No tienes ningún comentario) al
alumno.

CUESTIONARIO PREVIAMENTE RESUELTO


1. La base de datos envía mensaje de error al sistema.
2. El sistema despliega mensaje de error (El cuestionario ya ha sido resuelto
previamente) al alumno.
Precondiciones:
1. Haber ingresado al sistema.
2. Haber iniciado sesión.

FLUJO BASICO TUTOR


1. El sistema muestra página principal de tutor con menú de opciones al tutor:
a. Grupos.
b. Informe Semestral.

39 | P á g i n a
c. Evaluación Final.
d. Intervención.
e. Informe Final.
2. El alumno selecciona la opción y envía al sistema.
3. Si el alumno selecciona:
a) Grupos ejecutar uno de los siguientes flujos secundarios:
 Ejecutar flujo secundario “Revisar cuestionario”.
 Ejecutar flujo secundario “Visualizar Perfil”.
 Ejecutar flujo secundario “Enviar Comentario”.
b) Informe Semestral ejecutar flujo secundario “Resolver Cuestionario”.
c) Evaluación Final ejecutar flujo secundario “Resolver Cuestionario”.
d) Intervención ejecutar flujo secundario “Resolver Cuestionario”.
e) Informe Final ejecutar flujo secundario “Resolver Cuestionario”.

FLUJOS SECUNDARIOS TUTOR

REVISAR CUESTIONARIO
1. El sistema despliega los grupos que le pertenecientes al tutor.
2. El tutor selecciona en la opción cuestionarios el cuestionario que desea
visualizar del alumno correspondiente y envía al sistema.
3. El sistema solicita datos correspondientes al alumno, tutor y cuestionario
seleccionado a la base de datos.
4. La base de datos verifica la existencia de datos del cuestionario. De lo
contrario ejecutar flujo alterno “Cuestionario sin resolver”.
5. La base de datos retorna los datos correspondientes al sistema.
6. El sistema despliega datos en pantalla al tutor.

VISUALIZAR PERFIL
1. El sistema despliega los grupos que le pertenecientes al tutor.
2. El tutor selecciona la opción ver perfil del alumno que desea y envía al
sistema.

40 | P á g i n a
3. El sistema solicita datos correspondientes al alumno a la base de datos.
4. La base de datos retorna los datos correspondientes al sistema.
5. El sistema despliega datos en pantalla al tutor.

ENVIAR COMENTARIO
1. El sistema despliega los grupos que le pertenecientes al tutor.
2. El tutor selecciona la opción ver perfil del alumno que desea y envía al
sistema.
3. El sistema solicita datos al tutor:
 Motivo (alfanumérico[30]).
 Comentario (alfanumérico[70]).
4. El tutor captura información y envía al sistema.
5. El sistema envía datos a la base de datos.
6. La base de datos ingresa la información y confirma ingreso de datos al
sistema.
7. El sistema muestra confirmación de ingreso de datos al tutor.

RESOLVER CUESTIONARIO
1. El sistema despliega el cuestionario correspondiente y solicita datos al tutor.
2. El tutor captura información y envía al sistema.
3. El sistema verifica formato de datos y envía a la base de datos. De lo
contrario ejecutar flujo alterno “Datos incorrectos”.
4. La base de datos verifica la inexistencia de datos del cuestionario resuelto
por el tutor e ingresa la información. De lo contrario ejecutar flujo alterno
“Cuestionario Previamente Resuelto”.
5. La base de datos confirma ingreso de datos al sistema.
6. El sistema muestra confirmación de ingreso de datos al tutor.

41 | P á g i n a
FLUJOS ALTERNOS

CUESTIONARIO SIN RESOLVER


1. La base de datos envía mensaje de error al sistema.
2. El sistema despliega mensaje de error (El cuestionario no ha sido resuelto
por el alumno) al tutor.

CUESTIONARIO PREVIAMENTE RESUELTO


1. La base de datos envía mensaje de error al sistema.
2. El sistema despliega mensaje de error (El cuestionario ya ha sido resuelto
previamente) al tutor.

DATOS INCORRECTOS
1. El sistema despliega mensaje de error y solicitara datos al tutor
Precondiciones:
1. Haber ingresado al sistema.
2. Haber iniciado sesión (excepto para el flujo alterno registrar alumno).

FLUJO PRIMARIO ADMINISTRADOR

1. El sistema muestra página principal de administrador con menú de


opciones al administrador:
a. Pre-Registro de Alumnos.
b. Ver Expedientes.
c. Asignar Tutores.
2. El administrador selecciona la opción y envía al sistema.
3. Si el administrador selecciona:
a) Pre –Registro de Alumnos ejecutar flujo secundario “Pre registrar
alumno”.
b) Ver Expedientes ejecutar flujo secundario “Revisar Cuestionario”.
c) Asignar Tutores ejecutar flujo secundario “Registro Tutor”.

42 | P á g i n a
REGISTRO TUTOR
1. El sistema solicita datos al administrador:
 No. de empleado (numérico[8]).
 Nombre (alfanumérico[40]).
 Nombre de usuario (alfanumérico[45]).
 Contraseña (alfanumérico[8]).
 Grupo (alfanumérico[4]).
2. El administrador captura datos y envía al sistema.
3. El sistema verifica formato de datos y envía a la base de datos. De lo
contrario ejecutar flujo alterno “Datos incorrectos”.
4. La base de datos verifica la inexistencia del tutor e ingresa la
información. De lo contrario ejecutar flujo alterno “Tutor existente”.
5. La base de datos confirma ingreso de datos al sistema.
6. El sistema muestra confirmación de ingreso al administrador.

PRE REGISTRAR ALUMNO


1. El sistema solicita datos al administrador:
 Archivo tipo Excel formato .xls (alfanumérico[50])
2. El administrador captura datos y envía al sistema.
3. El sistema verifica formato de datos y envía a la base de datos. De lo
contrario ejecutar flujo alterno “Datos incorrectos”.
4. La base de datos verifica la inexistencia del alumno e ingresa la
información. De lo contrario ejecutar flujo alterno “Alumno Existente”.
5. La base de datos confirma el ingreso de datos al sistema.
6. El sistema muestra confirmación de ingreso al administrador.

REVISAR CUESTIONARIO
1. El sistema solicita datos al administrador:
 Grupo(alfanumérico[4])
 Nombre del Cuestionario(alfanumérico[30])

43 | P á g i n a
2. El administrador captura datos y envía al sistema.
3. El sistema solicita datos correspondientes al grupo y cuestionario a la
base de datos.
4. La base de datos verifica la existencia de datos. De lo contrario ejecutar
flujo alterno “Cuestionario sin resolver”.
5. La base de datos retorna los datos correspondientes al sistema.
6. El sistema despliega los datos en pantalla al administrador.

FLUJOS ALTERNOS

CUESTIONARIO SIN RESOLVER


1. La base de datos envía mensaje de error al sistema.
2. El sistema despliega mensaje de error (El cuestionario no ha sido resuelto
por el alumno) al administrador.

DATOS INCORRECTOS
2. El sistema despliega mensaje de error y solicitara datos al administrador.

TUTOR EXISTENTE
3. La base de datos envía mensaje de error al sistema.
4. El sistema despliega mensaje de error(El tutor ya había sido registrado) al
administrador.

44 | P á g i n a
Fase de Diseño

Modelado del Sistema


Diagrama de Actividades

Diagrama de Secuencias

Inicio de Sesión – Todos

Sistema Base de Datos

: Todos

1 : Sistema solicita datos

3 : Verifica datos()
2 : Usuario captura datos

4 : Envia datos a DB()

5 : Verifica existencia()

6 : BD regresa datos
7 : Sistema confirma incio

Flujo básico: Alumno

Sistema Base de Datos

: Alumno

1 : Sistema muestra opciones

2 : Alumno selecciona opcion

3 : Sistema muestra opcion

45 | P á g i n a
Flujo Básico: Tutor

Sistema Base de Datos

: Tutor

1 : Sistema muestra opciones

2 : Tutor selecciona opcion

3 : Sistema muestra opcion

Flujo Básico: Administrador

Sistema Base de Datos

: Administrador

1 : Sistema muestra opciones

2 : Admin selecciona opcion

3 : Sistema muestra opcion

46 | P á g i n a
Flujo Secundario: Registro – Alumno

Sistema Base de Datos

: Alumno

1 : Alumno selecciona Pre-Registro

2 : Sistema solicita datos

4 : Verifica datos()
3 : Alumno ingresa datos

5 : Envia datos a BD()

6 : BD verifica existencia()

7 : BD regresa datos
8 : Sistema solicita nuevos datos
10 : Verifica datos()
9 : Alumno ingresa datos

11 : Envia datos a BD()

12 : Inserta datos()

13 : Regresa confirmacion
14 : Sistema confirma registro

Flujo Secundario: Actualizar Calificaciones – Alumno

Sistema Base de Datos

: Alumno

1 : Sistema solicita datos

3 : Verifica datos()
2 : Alumno ingresa datos

4 : Envia datos a BD()

5 : BD confirma registro
6 : Sistema confirma alta

47 | P á g i n a
Flujo Secundario: Visualizar Comentarios – Alumno

Sistema Base de Datos

: Alumno 1 : Sistema solicita datos a BD()

2 : BD devuelve datos hallados

3 : Sistema despliega datos

Flujo Secundario: Visualizar Perfil – Alumno

Sistema Base de Datos

: Alumno 1 : Sistema solicita datos del alumno()

2 : BD devuelve datos encontrados

3 : Sistema despliega datos

48 | P á g i n a
Flujo Secundario: Resolver Cuestionarios – Alumno

Sistema Base de Datos

: Alumno

1 : Sistema despliega menu

2 : Alumno selecciona opcion

3 : Sistema desplega opcion selec.

5 : Verifica datos()
4 : Alumno ingresa datos

6 : Envia datos a BD()

7 : Inserta datos()

8 : BD confirma insercion
9 : Sistema confirma operacion

Flujo Secundario: Revisar Cuestionarios – Tutor

Sistema Base de Datos

: Tutor

1 : Sistema despliega grupos

2 : Tutor envia opcion y datos


3 : Sistema solicita datos a BD()

4 : BD verifica existencia()

5 : BD retorna datos hallados

6 : Sistema despliega datos

49 | P á g i n a
Flujo Secundario: Visualizar Perfil – Tutor

Sistema Base de Datos

: Tutor

1 : Sistema despliega grupos

2 : Tutor selecciona alumno


3 : Sistema solicita datos a BD()

4 : BD retorna datos hallados

5 : Sistema despliega datos

Flujo Secundario: Enviar Comentario – Tutor

Sistema Base de Datos

: Tutor

1 : Sistema despliega grupos

2 : Tutor selecciona alumno

3 : Sistema solicita datos

5 : Sistema envia datos a BD()


4 : Tutor ingresa datos

6 : Ingresa datos()

7 : BD retorna datos hallados


8 : Sistema despliega datos

50 | P á g i n a
Flujo Secundario: Resolver Cuestionarios – Tutor

Sistema Base de Datos

: Tutor

1 : Sistema despliega cuestionarios

3 : Verifica datos()
2 : Tutor ingresa datos

4 : Sistema envia datos a BD()

5 : Ingresa datos()

6 : BD confirma insercion
7 : Sistema confirma operacion

Flujo Secundario: Registrar Tutor – Administrador

Sistema Base de Datos

: Administrador

1 : Sistema solicita datos


3 : Verifica datos()
2 : Admin. ingresa datos

4 : Sistema envia datos a BD()

5 : Ingresa datos()

6 : BD confirma alta

7 : Sistema confirma alta

51 | P á g i n a
Flujo Secundario: Pre Registrar Alumnos – Administrador

Sistema Base de Datos

: Administrador

1 : Sistema solicita datos

3 : Verifica datos de excel()


2 : Admin. ingresa archivo

4 : Sistema envia datos a BD()

5 : Ingresa datos()

6 : BD confirma la insercion

7 : Sistema confirma alta de archivo

Flujo Secundario: Revisar Cuestionarios – Administrador

Sistema Base de Datos

: Administrador

1 : Sistema solicita datos

2 : Admin. ingresa datos

3 : Sistema solicita datos a BD()

4 : Verificar existencia()

5 : BD regresa datos hallados

6 : Sistema despliega datos

52 | P á g i n a
Diagrama de Clases

Look & Feel


Pantalla de inicio

Administrador

Pre Registra Alumno

53 | P á g i n a
Ver Expediente

Asignar Tutores

54 | P á g i n a
Activar y/o Desactivar Cuestionarios

Tutor

Inicio Tutor

55 | P á g i n a
Grupos Tutor

Perfil de Alumno

56 | P á g i n a
Reporte de Intervención del Alumno

Revisar Cuestionario Evaluación de Tutor

57 | P á g i n a
Revisar Cuestionario Identificación del Tutorado

Informe Semestral

58 | P á g i n a
Evaluación Final

Cuestionario de Intervención del Grupo

59 | P á g i n a
Informe Final del Grupo

60 | P á g i n a
Alumno

Inicio

Cuestionario PIT Identificación del Tutorado

61 | P á g i n a
Perfil del Alumno

Comentario

62 | P á g i n a
Calificaciones

Mapa de Navegación

63 | P á g i n a
Diagrama Entidad – Relación

64 | P á g i n a
Diccionario de la base de datos

Fase de Desarrollo

65 | P á g i n a