SlideShare una empresa de Scribd logo
1 de 65
20 de Mayo del 2013
Tesina | MacroSystems S.C.
MACROSYSTEMS
SISTEMA DE
AUTOMATIZACIÓN PARA LA
ADMINISTRACIÓN DE
TUTORÍAS
2 | P á g i n a
Í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
3 | P á g i n a
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.
4 | P á g i n a
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.
5 | P á g i n a
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.
6 | P á g i n a
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.
7 | P á g i n a
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.
8 | P á g i n a
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
9 | P á g i n a
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:
10 | P á g i n a
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
11 | 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
12 | 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.
13 | 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.
14 | 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á
15 | 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.
16 | 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.
17 | 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,
18 | 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.
19 | 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
20 | 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.
21 | 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
22 | 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.
23 | 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.
24 | 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.
25 | 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.
26 | 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
27 | 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
28 | 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
29 | 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.
30 | P á g i n a
Fase de Análisis
Planeación del Proyecto
Gráfica de Gantt
31 | P á g i n a
Diagrama de Casos de Uso
System
Tutor
Alumno
Administrador
Pre registrar Alumno
Registrar Tutor
Revisar Cuestionario
Resolver Cuestionario
Visualizar Perfil
Enviar Comentario
Actualizar Calificación
Registrar Alumno
Visualizar Comentario
SISTEMA ADMINISTRATIVO
AUTOMATIZADO DE TUTORIAS
Todos
Iniciar Sesion
32 | 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.
33 | 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.
34 | 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.
35 | 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).
36 | 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‖.
37 | 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.
38 | 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.
39 | 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.
40 | 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.
41 | 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.
42 | 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‖.
43 | 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])
44 | 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.
45 | P á g i n a
Fase de Diseño
Modelado del Sistema
Diagrama de Actividades
Diagrama de Secuencias
Inicio de Sesión – Todos
Flujo básico: Alumno
Sistema Base de Datos
: Todos
1 : Sistema solicita datos
2 : Usuario captura datos
3 : Verifica datos()
4 : Envia datos a DB()
5 : Verifica existencia()
6 : BD regresa datos
7 : Sistema confirma incio
Sistema Base de Datos
: Alumno
1 : Sistema muestra opciones
2 : Alumno selecciona opcion
3 : Sistema muestra opcion
46 | P á g i n a
Flujo Básico: Tutor
Flujo Básico: Administrador
Sistema Base de Datos
: Tutor
1 : Sistema muestra opciones
2 : Tutor selecciona opcion
3 : Sistema muestra opcion
Sistema Base de Datos
: Administrador
1 : Sistema muestra opciones
2 : Admin selecciona opcion
3 : Sistema muestra opcion
47 | P á g i n a
Flujo Secundario: Registro – Alumno
Flujo Secundario: Actualizar Calificaciones – Alumno
Sistema Base de Datos
: Alumno
1 : Alumno selecciona Pre-Registro
2 : Sistema solicita datos
3 : Alumno ingresa datos
4 : Verifica datos()
5 : Envia datos a BD()
6 : BD verifica existencia()
7 : BD regresa datos
8 : Sistema solicita nuevos datos
9 : Alumno ingresa datos
10 : Verifica datos()
11 : Envia datos a BD()
12 : Inserta datos()
13 : Regresa confirmacion
14 : Sistema confirma registro
Sistema Base de Datos
: Alumno
1 : Sistema solicita datos
2 : Alumno ingresa datos
3 : Verifica datos()
4 : Envia datos a BD()
5 : BD confirma registro
6 : Sistema confirma alta
48 | P á g i n a
Flujo Secundario: Visualizar Comentarios – Alumno
Flujo Secundario: Visualizar Perfil – Alumno
Sistema Base de Datos
: Alumno 1 : Sistema solicita datos a BD()
2 : BD devuelve datos hallados
3 : Sistema despliega datos
Sistema Base de Datos
: Alumno 1 : Sistema solicita datos del alumno()
2 : BD devuelve datos encontrados
3 : Sistema despliega datos
49 | P á g i n a
Flujo Secundario: Resolver Cuestionarios – Alumno
Flujo Secundario: Revisar Cuestionarios – Tutor
Sistema Base de Datos
: Alumno
1 : Sistema despliega menu
2 : Alumno selecciona opcion
3 : Sistema desplega opcion selec.
4 : Alumno ingresa datos
5 : Verifica datos()
6 : Envia datos a BD()
7 : Inserta datos()
8 : BD confirma insercion
9 : Sistema confirma operacion
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
50 | P á g i n a
Flujo Secundario: Visualizar Perfil – Tutor
Flujo Secundario: Enviar Comentario – 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
Sistema Base de Datos
: Tutor
1 : Sistema despliega grupos
2 : Tutor selecciona alumno
3 : Sistema solicita datos
4 : Tutor ingresa datos
5 : Sistema envia datos a BD()
6 : Ingresa datos()
7 : BD retorna datos hallados
8 : Sistema despliega datos
51 | P á g i n a
Flujo Secundario: Resolver Cuestionarios – Tutor
Flujo Secundario: Registrar Tutor – Administrador
Sistema Base de Datos
: Tutor
1 : Sistema despliega cuestionarios
2 : Tutor ingresa datos
3 : Verifica datos()
4 : Sistema envia datos a BD()
5 : Ingresa datos()
6 : BD confirma insercion
7 : Sistema confirma operacion
Sistema Base de Datos
: Administrador
1 : Sistema solicita datos
2 : Admin. ingresa datos
3 : Verifica datos()
4 : Sistema envia datos a BD()
5 : Ingresa datos()
6 : BD confirma alta
7 : Sistema confirma alta
52 | P á g i n a
Flujo Secundario: Pre Registrar Alumnos – Administrador
Flujo Secundario: Revisar Cuestionarios – Administrador
Sistema Base de Datos
: Administrador
1 : Sistema solicita datos
2 : Admin. ingresa archivo
3 : Verifica datos de excel()
4 : Sistema envia datos a BD()
5 : Ingresa datos()
6 : BD confirma la insercion
7 : Sistema confirma alta de archivo
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
53 | P á g i n a
Diagrama de Clases
Look & Feel
Pantalla de inicio
Administrador
Pre Registra Alumno
54 | P á g i n a
Ver Expediente
Asignar Tutores
55 | P á g i n a
Activar y/o Desactivar Cuestionarios
Tutor
Inicio Tutor
56 | P á g i n a
Grupos Tutor
Perfil de Alumno
57 | P á g i n a
Reporte de Intervención del Alumno
Revisar Cuestionario Evaluación de Tutor
58 | P á g i n a
Revisar Cuestionario Identificación del Tutorado
Informe Semestral
59 | P á g i n a
Evaluación Final
Cuestionario de Intervención del Grupo
60 | P á g i n a
Informe Final del Grupo
61 | P á g i n a
Alumno
Inicio
Cuestionario PIT Identificación del Tutorado
62 | P á g i n a
Perfil del Alumno
Comentario
63 | P á g i n a
Calificaciones
Mapa de Navegación
64 | P á g i n a
Diagrama Entidad – Relación
65 | P á g i n a
Diccionario de la base de datos
Fase de Desarrollo

Más contenido relacionado

La actualidad más candente

Fase planificación grupo h. fase
Fase planificación grupo h. faseFase planificación grupo h. fase
Fase planificación grupo h. faseAriTapia
 
Proyecto aplicando criterios y pautas de evaluación.
Proyecto aplicando criterios y pautas de evaluación.Proyecto aplicando criterios y pautas de evaluación.
Proyecto aplicando criterios y pautas de evaluación.Nelsymar Millán Moreno
 
Proyecto para certificación docente
Proyecto para certificación docenteProyecto para certificación docente
Proyecto para certificación docentenmmadrid76
 
Fase planificación MPC022011.Flata
Fase planificación MPC022011.FlataFase planificación MPC022011.Flata
Fase planificación MPC022011.FlataMarielaAlonso66
 
Fase planificación MPC022011.Flata
Fase planificación MPC022011.FlataFase planificación MPC022011.Flata
Fase planificación MPC022011.FlataMarielaAlonso66
 
F004 p006-gfpi guia de aprendizaje ie académico 10°(1)
F004 p006-gfpi guia de aprendizaje ie académico 10°(1)F004 p006-gfpi guia de aprendizaje ie académico 10°(1)
F004 p006-gfpi guia de aprendizaje ie académico 10°(1)marialeonornino
 
Fase II Planificación... Esmeire Aatencio
Fase II Planificación... Esmeire AatencioFase II Planificación... Esmeire Aatencio
Fase II Planificación... Esmeire AatencioEsmeire Atencio
 
Aa2 blackboard
Aa2 blackboardAa2 blackboard
Aa2 blackboardANDRES9226
 
Portafolio de infotecnologia, Marianela Marmolejos
Portafolio de infotecnologia, Marianela MarmolejosPortafolio de infotecnologia, Marianela Marmolejos
Portafolio de infotecnologia, Marianela MarmolejosMariamFlores2
 
Ejemplo de Guía Didáctica
Ejemplo de Guía DidácticaEjemplo de Guía Didáctica
Ejemplo de Guía DidácticaAnyLiss
 
Fase de planificacion grupo g
Fase de planificacion grupo gFase de planificacion grupo g
Fase de planificacion grupo gWashito Barragan
 
Metodologia PACIE Planificación
Metodologia PACIE PlanificaciónMetodologia PACIE Planificación
Metodologia PACIE PlanificaciónGladysRangel2011
 
FASE PLANIFICACION MPC072011 Nancy Vega
FASE PLANIFICACION MPC072011   Nancy VegaFASE PLANIFICACION MPC072011   Nancy Vega
FASE PLANIFICACION MPC072011 Nancy Veganancyvega1
 

La actualidad más candente (17)

Fase planificación grupo h. fase
Fase planificación grupo h. faseFase planificación grupo h. fase
Fase planificación grupo h. fase
 
Proyecto aplicando criterios y pautas de evaluación.
Proyecto aplicando criterios y pautas de evaluación.Proyecto aplicando criterios y pautas de evaluación.
Proyecto aplicando criterios y pautas de evaluación.
 
Proyecto para certificación docente
Proyecto para certificación docenteProyecto para certificación docente
Proyecto para certificación docente
 
Fase planificación MPC022011.Flata
Fase planificación MPC022011.FlataFase planificación MPC022011.Flata
Fase planificación MPC022011.Flata
 
Fase planificación MPC022011.Flata
Fase planificación MPC022011.FlataFase planificación MPC022011.Flata
Fase planificación MPC022011.Flata
 
gh #2
gh #2gh #2
gh #2
 
F004 p006-gfpi guia de aprendizaje ie académico 10°(1)
F004 p006-gfpi guia de aprendizaje ie académico 10°(1)F004 p006-gfpi guia de aprendizaje ie académico 10°(1)
F004 p006-gfpi guia de aprendizaje ie académico 10°(1)
 
Fase II Planificación... Esmeire Aatencio
Fase II Planificación... Esmeire AatencioFase II Planificación... Esmeire Aatencio
Fase II Planificación... Esmeire Aatencio
 
Aa2 blackboard
Aa2 blackboardAa2 blackboard
Aa2 blackboard
 
Guia docentes inicial (1)
Guia docentes inicial (1)Guia docentes inicial (1)
Guia docentes inicial (1)
 
Portafolio de infotecnologia, Marianela Marmolejos
Portafolio de infotecnologia, Marianela MarmolejosPortafolio de infotecnologia, Marianela Marmolejos
Portafolio de infotecnologia, Marianela Marmolejos
 
Ejemplo de Guía Didáctica
Ejemplo de Guía DidácticaEjemplo de Guía Didáctica
Ejemplo de Guía Didáctica
 
Fase de planificacion grupo g
Fase de planificacion grupo gFase de planificacion grupo g
Fase de planificacion grupo g
 
Fas
FasFas
Fas
 
F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2
 
Metodologia PACIE Planificación
Metodologia PACIE PlanificaciónMetodologia PACIE Planificación
Metodologia PACIE Planificación
 
FASE PLANIFICACION MPC072011 Nancy Vega
FASE PLANIFICACION MPC072011   Nancy VegaFASE PLANIFICACION MPC072011   Nancy Vega
FASE PLANIFICACION MPC072011 Nancy Vega
 

Destacado

Crisis aº régimen_nuevo
Crisis  aº  régimen_nuevoCrisis  aº  régimen_nuevo
Crisis aº régimen_nuevoIñaki Asenjo
 
Dmb와lbs 김영훈 120314_v1.1
Dmb와lbs 김영훈 120314_v1.1Dmb와lbs 김영훈 120314_v1.1
Dmb와lbs 김영훈 120314_v1.1영훈 김
 
Madrid medieval diufaincasasnovas
Madrid medieval diufaincasasnovasMadrid medieval diufaincasasnovas
Madrid medieval diufaincasasnovasantonioalbareyes
 
萩高同窓会報寄稿(寄稿済み)
萩高同窓会報寄稿(寄稿済み)萩高同窓会報寄稿(寄稿済み)
萩高同窓会報寄稿(寄稿済み)Tetsusaburo Hori
 
Analysis of Emerging Molecular Diagnostics Tests And Strategic Profiles of Le...
Analysis of Emerging Molecular Diagnostics Tests And Strategic Profiles of Le...Analysis of Emerging Molecular Diagnostics Tests And Strategic Profiles of Le...
Analysis of Emerging Molecular Diagnostics Tests And Strategic Profiles of Le...ReportsnReports
 
Michigan Film Industry
Michigan Film IndustryMichigan Film Industry
Michigan Film Industryguestc6d34d
 
Gpc 23prof salud alcohol
Gpc 23prof salud alcohol Gpc 23prof salud alcohol
Gpc 23prof salud alcohol Carlos Mantilla
 
In what ways does your media product use
In what ways does your media product useIn what ways does your media product use
In what ways does your media product useBeckytristram
 
Autobiografía
AutobiografíaAutobiografía
Autobiografíachicha34
 
El procés d'orientació
El procés d'orientacióEl procés d'orientació
El procés d'orientacióPepeta2
 
"L'Evoluzione e la Virtualizzazione della Rete Agenziale"
"L'Evoluzione e la Virtualizzazione della Rete Agenziale""L'Evoluzione e la Virtualizzazione della Rete Agenziale"
"L'Evoluzione e la Virtualizzazione della Rete Agenziale"XEFFE
 
Corintios por sevillanas c
Corintios por sevillanas cCorintios por sevillanas c
Corintios por sevillanas cMADERAL
 
Sopo.it - la vita è troppo breve per il lavoro sbagliato
Sopo.it - la vita è troppo breve per il lavoro sbagliatoSopo.it - la vita è troppo breve per il lavoro sbagliato
Sopo.it - la vita è troppo breve per il lavoro sbagliatosopastro
 

Destacado (20)

Ucs presentation 2011
Ucs presentation 2011Ucs presentation 2011
Ucs presentation 2011
 
Briget jones
Briget jonesBriget jones
Briget jones
 
Violencia escolar
Violencia escolarViolencia escolar
Violencia escolar
 
Crisis aº régimen_nuevo
Crisis  aº  régimen_nuevoCrisis  aº  régimen_nuevo
Crisis aº régimen_nuevo
 
Dmb와lbs 김영훈 120314_v1.1
Dmb와lbs 김영훈 120314_v1.1Dmb와lbs 김영훈 120314_v1.1
Dmb와lbs 김영훈 120314_v1.1
 
Madrid medieval diufaincasasnovas
Madrid medieval diufaincasasnovasMadrid medieval diufaincasasnovas
Madrid medieval diufaincasasnovas
 
萩高同窓会報寄稿(寄稿済み)
萩高同窓会報寄稿(寄稿済み)萩高同窓会報寄稿(寄稿済み)
萩高同窓会報寄稿(寄稿済み)
 
Adolescencia
AdolescenciaAdolescencia
Adolescencia
 
Presentación alan brown
Presentación alan brownPresentación alan brown
Presentación alan brown
 
Analysis of Emerging Molecular Diagnostics Tests And Strategic Profiles of Le...
Analysis of Emerging Molecular Diagnostics Tests And Strategic Profiles of Le...Analysis of Emerging Molecular Diagnostics Tests And Strategic Profiles of Le...
Analysis of Emerging Molecular Diagnostics Tests And Strategic Profiles of Le...
 
Michigan Film Industry
Michigan Film IndustryMichigan Film Industry
Michigan Film Industry
 
Revelacion
RevelacionRevelacion
Revelacion
 
Gpc 23prof salud alcohol
Gpc 23prof salud alcohol Gpc 23prof salud alcohol
Gpc 23prof salud alcohol
 
In what ways does your media product use
In what ways does your media product useIn what ways does your media product use
In what ways does your media product use
 
Autobiografía
AutobiografíaAutobiografía
Autobiografía
 
El procés d'orientació
El procés d'orientacióEl procés d'orientació
El procés d'orientació
 
"L'Evoluzione e la Virtualizzazione della Rete Agenziale"
"L'Evoluzione e la Virtualizzazione della Rete Agenziale""L'Evoluzione e la Virtualizzazione della Rete Agenziale"
"L'Evoluzione e la Virtualizzazione della Rete Agenziale"
 
Corintios por sevillanas c
Corintios por sevillanas cCorintios por sevillanas c
Corintios por sevillanas c
 
Sopo.it - la vita è troppo breve per il lavoro sbagliato
Sopo.it - la vita è troppo breve per il lavoro sbagliatoSopo.it - la vita è troppo breve per il lavoro sbagliato
Sopo.it - la vita è troppo breve per il lavoro sbagliato
 
2007용
2007용2007용
2007용
 

Similar a Tesina

Informe -de-los-procesos-de-validacion-y-evaluacion-de-dos-modulos-a-traves-d...
Informe -de-los-procesos-de-validacion-y-evaluacion-de-dos-modulos-a-traves-d...Informe -de-los-procesos-de-validacion-y-evaluacion-de-dos-modulos-a-traves-d...
Informe -de-los-procesos-de-validacion-y-evaluacion-de-dos-modulos-a-traves-d...Monica Pozo
 
Plataforma DEComp
Plataforma DECompPlataforma DEComp
Plataforma DECompgon405
 
Sistema de Evaluación
Sistema de EvaluaciónSistema de Evaluación
Sistema de Evaluaciónnanied
 
Propuesta para cruz roja
Propuesta para cruz rojaPropuesta para cruz roja
Propuesta para cruz rojaDuvan Aguilera
 
Síntesis Planificación y Evaluación. 2017-1
Síntesis Planificación y Evaluación. 2017-1 Síntesis Planificación y Evaluación. 2017-1
Síntesis Planificación y Evaluación. 2017-1 perezaguige
 
SINTESIS PLANIFICACION Y EVALUACION FIDA 2017-1
SINTESIS PLANIFICACION Y EVALUACION  FIDA 2017-1SINTESIS PLANIFICACION Y EVALUACION  FIDA 2017-1
SINTESIS PLANIFICACION Y EVALUACION FIDA 2017-1perezaguige
 
1. Síntesis Planificación de FIDA.
1. Síntesis Planificación de FIDA.1. Síntesis Planificación de FIDA.
1. Síntesis Planificación de FIDA.Gerardo Perez
 
Plan de gestión para el uso educativo de
Plan de gestión para el uso educativo dePlan de gestión para el uso educativo de
Plan de gestión para el uso educativo deDianalucia Bravomercado
 
Plan de Curso 335
Plan de Curso 335Plan de Curso 335
Plan de Curso 335rbrosabelen
 
Desarrollo de una_red_socialacademicadentro_de_la_universidad
Desarrollo de una_red_socialacademicadentro_de_la_universidadDesarrollo de una_red_socialacademicadentro_de_la_universidad
Desarrollo de una_red_socialacademicadentro_de_la_universidadDi G
 
Diseño. Actividad 2. Indice Proyecto Educagale
Diseño. Actividad 2. Indice Proyecto EducagaleDiseño. Actividad 2. Indice Proyecto Educagale
Diseño. Actividad 2. Indice Proyecto EducagaleMARIACETINA
 
Didáscalo Manual De Usuario
Didáscalo Manual De UsuarioDidáscalo Manual De Usuario
Didáscalo Manual De Usuarioguest2c5face
 
MPC102011 catedráticos fase planificación
MPC102011 catedráticos fase planificaciónMPC102011 catedráticos fase planificación
MPC102011 catedráticos fase planificaciónRosa Elena Cabrera
 
Fase evaluación grupo h
Fase evaluación   grupo hFase evaluación   grupo h
Fase evaluación grupo hHelen
 

Similar a Tesina (20)

Informe -de-los-procesos-de-validacion-y-evaluacion-de-dos-modulos-a-traves-d...
Informe -de-los-procesos-de-validacion-y-evaluacion-de-dos-modulos-a-traves-d...Informe -de-los-procesos-de-validacion-y-evaluacion-de-dos-modulos-a-traves-d...
Informe -de-los-procesos-de-validacion-y-evaluacion-de-dos-modulos-a-traves-d...
 
Plataforma DEComp
Plataforma DECompPlataforma DEComp
Plataforma DEComp
 
Taller metodologia competencias genericas
Taller metodologia competencias genericasTaller metodologia competencias genericas
Taller metodologia competencias genericas
 
Mod00 egob2
Mod00 egob2Mod00 egob2
Mod00 egob2
 
Sistema de Evaluación
Sistema de EvaluaciónSistema de Evaluación
Sistema de Evaluación
 
Propuesta para cruz roja
Propuesta para cruz rojaPropuesta para cruz roja
Propuesta para cruz roja
 
Perfiltp2 expo
Perfiltp2 expoPerfiltp2 expo
Perfiltp2 expo
 
Síntesis Planificación y Evaluación. 2017-1
Síntesis Planificación y Evaluación. 2017-1 Síntesis Planificación y Evaluación. 2017-1
Síntesis Planificación y Evaluación. 2017-1
 
SINTESIS PLANIFICACION Y EVALUACION FIDA 2017-1
SINTESIS PLANIFICACION Y EVALUACION  FIDA 2017-1SINTESIS PLANIFICACION Y EVALUACION  FIDA 2017-1
SINTESIS PLANIFICACION Y EVALUACION FIDA 2017-1
 
1. Síntesis Planificación de FIDA.
1. Síntesis Planificación de FIDA.1. Síntesis Planificación de FIDA.
1. Síntesis Planificación de FIDA.
 
Mod00 web 2.0
Mod00  web 2.0Mod00  web 2.0
Mod00 web 2.0
 
Plan de gestión para el uso educativo de
Plan de gestión para el uso educativo dePlan de gestión para el uso educativo de
Plan de gestión para el uso educativo de
 
Plan de Curso 335
Plan de Curso 335Plan de Curso 335
Plan de Curso 335
 
Desarrollo de una_red_socialacademicadentro_de_la_universidad
Desarrollo de una_red_socialacademicadentro_de_la_universidadDesarrollo de una_red_socialacademicadentro_de_la_universidad
Desarrollo de una_red_socialacademicadentro_de_la_universidad
 
Diseño. Actividad 2. Indice Proyecto Educagale
Diseño. Actividad 2. Indice Proyecto EducagaleDiseño. Actividad 2. Indice Proyecto Educagale
Diseño. Actividad 2. Indice Proyecto Educagale
 
Didáscalo Manual De Usuario
Didáscalo Manual De UsuarioDidáscalo Manual De Usuario
Didáscalo Manual De Usuario
 
MPC102011 catedráticos fase planificación
MPC102011 catedráticos fase planificaciónMPC102011 catedráticos fase planificación
MPC102011 catedráticos fase planificación
 
Fase evaluación grupo h
Fase evaluación   grupo hFase evaluación   grupo h
Fase evaluación grupo h
 
MANUAL ABP Guia 2 (2).pdf
MANUAL ABP Guia 2 (2).pdfMANUAL ABP Guia 2 (2).pdf
MANUAL ABP Guia 2 (2).pdf
 
Tesis computacion e informatica unsa
Tesis computacion e informatica unsaTesis computacion e informatica unsa
Tesis computacion e informatica unsa
 

Tesina

  • 1. 20 de Mayo del 2013 Tesina | MacroSystems S.C. MACROSYSTEMS SISTEMA DE AUTOMATIZACIÓN PARA LA ADMINISTRACIÓN DE TUTORÍAS
  • 2. 2 | P á g i n a Í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
  • 3. 3 | P á g i n a 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.
  • 4. 4 | P á g i n a 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.
  • 5. 5 | P á g i n a 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.
  • 6. 6 | P á g i n a 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.
  • 7. 7 | P á g i n a 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.
  • 8. 8 | P á g i n a 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
  • 9. 9 | P á g i n a 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:
  • 10. 10 | P á g i n a 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
  • 11. 11 | 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
  • 12. 12 | 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.
  • 13. 13 | 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.
  • 14. 14 | 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á
  • 15. 15 | 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.
  • 16. 16 | 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.
  • 17. 17 | 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,
  • 18. 18 | 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.
  • 19. 19 | 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
  • 20. 20 | 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.
  • 21. 21 | 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
  • 22. 22 | 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.
  • 23. 23 | 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.
  • 24. 24 | 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.
  • 25. 25 | 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.
  • 26. 26 | 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
  • 27. 27 | 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
  • 28. 28 | 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
  • 29. 29 | 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.
  • 30. 30 | P á g i n a Fase de Análisis Planeación del Proyecto Gráfica de Gantt
  • 31. 31 | P á g i n a Diagrama de Casos de Uso System Tutor Alumno Administrador Pre registrar Alumno Registrar Tutor Revisar Cuestionario Resolver Cuestionario Visualizar Perfil Enviar Comentario Actualizar Calificación Registrar Alumno Visualizar Comentario SISTEMA ADMINISTRATIVO AUTOMATIZADO DE TUTORIAS Todos Iniciar Sesion
  • 32. 32 | 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.
  • 33. 33 | 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.
  • 34. 34 | 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.
  • 35. 35 | 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).
  • 36. 36 | 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‖.
  • 37. 37 | 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.
  • 38. 38 | 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.
  • 39. 39 | 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.
  • 40. 40 | 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.
  • 41. 41 | 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.
  • 42. 42 | 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‖.
  • 43. 43 | 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])
  • 44. 44 | 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.
  • 45. 45 | P á g i n a Fase de Diseño Modelado del Sistema Diagrama de Actividades Diagrama de Secuencias Inicio de Sesión – Todos Flujo básico: Alumno Sistema Base de Datos : Todos 1 : Sistema solicita datos 2 : Usuario captura datos 3 : Verifica datos() 4 : Envia datos a DB() 5 : Verifica existencia() 6 : BD regresa datos 7 : Sistema confirma incio Sistema Base de Datos : Alumno 1 : Sistema muestra opciones 2 : Alumno selecciona opcion 3 : Sistema muestra opcion
  • 46. 46 | P á g i n a Flujo Básico: Tutor Flujo Básico: Administrador Sistema Base de Datos : Tutor 1 : Sistema muestra opciones 2 : Tutor selecciona opcion 3 : Sistema muestra opcion Sistema Base de Datos : Administrador 1 : Sistema muestra opciones 2 : Admin selecciona opcion 3 : Sistema muestra opcion
  • 47. 47 | P á g i n a Flujo Secundario: Registro – Alumno Flujo Secundario: Actualizar Calificaciones – Alumno Sistema Base de Datos : Alumno 1 : Alumno selecciona Pre-Registro 2 : Sistema solicita datos 3 : Alumno ingresa datos 4 : Verifica datos() 5 : Envia datos a BD() 6 : BD verifica existencia() 7 : BD regresa datos 8 : Sistema solicita nuevos datos 9 : Alumno ingresa datos 10 : Verifica datos() 11 : Envia datos a BD() 12 : Inserta datos() 13 : Regresa confirmacion 14 : Sistema confirma registro Sistema Base de Datos : Alumno 1 : Sistema solicita datos 2 : Alumno ingresa datos 3 : Verifica datos() 4 : Envia datos a BD() 5 : BD confirma registro 6 : Sistema confirma alta
  • 48. 48 | P á g i n a Flujo Secundario: Visualizar Comentarios – Alumno Flujo Secundario: Visualizar Perfil – Alumno Sistema Base de Datos : Alumno 1 : Sistema solicita datos a BD() 2 : BD devuelve datos hallados 3 : Sistema despliega datos Sistema Base de Datos : Alumno 1 : Sistema solicita datos del alumno() 2 : BD devuelve datos encontrados 3 : Sistema despliega datos
  • 49. 49 | P á g i n a Flujo Secundario: Resolver Cuestionarios – Alumno Flujo Secundario: Revisar Cuestionarios – Tutor Sistema Base de Datos : Alumno 1 : Sistema despliega menu 2 : Alumno selecciona opcion 3 : Sistema desplega opcion selec. 4 : Alumno ingresa datos 5 : Verifica datos() 6 : Envia datos a BD() 7 : Inserta datos() 8 : BD confirma insercion 9 : Sistema confirma operacion 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
  • 50. 50 | P á g i n a Flujo Secundario: Visualizar Perfil – Tutor Flujo Secundario: Enviar Comentario – 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 Sistema Base de Datos : Tutor 1 : Sistema despliega grupos 2 : Tutor selecciona alumno 3 : Sistema solicita datos 4 : Tutor ingresa datos 5 : Sistema envia datos a BD() 6 : Ingresa datos() 7 : BD retorna datos hallados 8 : Sistema despliega datos
  • 51. 51 | P á g i n a Flujo Secundario: Resolver Cuestionarios – Tutor Flujo Secundario: Registrar Tutor – Administrador Sistema Base de Datos : Tutor 1 : Sistema despliega cuestionarios 2 : Tutor ingresa datos 3 : Verifica datos() 4 : Sistema envia datos a BD() 5 : Ingresa datos() 6 : BD confirma insercion 7 : Sistema confirma operacion Sistema Base de Datos : Administrador 1 : Sistema solicita datos 2 : Admin. ingresa datos 3 : Verifica datos() 4 : Sistema envia datos a BD() 5 : Ingresa datos() 6 : BD confirma alta 7 : Sistema confirma alta
  • 52. 52 | P á g i n a Flujo Secundario: Pre Registrar Alumnos – Administrador Flujo Secundario: Revisar Cuestionarios – Administrador Sistema Base de Datos : Administrador 1 : Sistema solicita datos 2 : Admin. ingresa archivo 3 : Verifica datos de excel() 4 : Sistema envia datos a BD() 5 : Ingresa datos() 6 : BD confirma la insercion 7 : Sistema confirma alta de archivo 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
  • 53. 53 | P á g i n a Diagrama de Clases Look & Feel Pantalla de inicio Administrador Pre Registra Alumno
  • 54. 54 | P á g i n a Ver Expediente Asignar Tutores
  • 55. 55 | P á g i n a Activar y/o Desactivar Cuestionarios Tutor Inicio Tutor
  • 56. 56 | P á g i n a Grupos Tutor Perfil de Alumno
  • 57. 57 | P á g i n a Reporte de Intervención del Alumno Revisar Cuestionario Evaluación de Tutor
  • 58. 58 | P á g i n a Revisar Cuestionario Identificación del Tutorado Informe Semestral
  • 59. 59 | P á g i n a Evaluación Final Cuestionario de Intervención del Grupo
  • 60. 60 | P á g i n a Informe Final del Grupo
  • 61. 61 | P á g i n a Alumno Inicio Cuestionario PIT Identificación del Tutorado
  • 62. 62 | P á g i n a Perfil del Alumno Comentario
  • 63. 63 | P á g i n a Calificaciones Mapa de Navegación
  • 64. 64 | P á g i n a Diagrama Entidad – Relación
  • 65. 65 | P á g i n a Diccionario de la base de datos Fase de Desarrollo