Вы находитесь на странице: 1из 59

ADMINISTRACION DE ANCHO DE BANDA

INDICE
INDICE.............................................................................................................1 PARTE I............................................................................................................2 DESCRIPCIN DEL PROBLEMA.........................................................................2 1.1 situacion problemtica ...........................................................................3 1.2 situacion deseada ..................................................................................4 1.3 Objetivos ................................................................................................4 1.3.1 Objetivo general................................................................................4 1.3.2 Objetivo especficos..........................................................................4 1.4 Metodologa ............................................................................................4 2 APLICACIONES WEB.......................................................................................6 2.1 SMARTY...................................................................................................7 2.2 ADODB....................................................................................................9
2.2.1.1.1 Caractersticas del manejador de sesiones de ADOdb.....................9
Tecnol oga Web

1 Introduccin ..................................................................................................3

2.2.2 Configuracin..................................................................................10 2.3 JPGRAFH................................................................................................10 2.3.1 Qu es JpGraph? ..........................................................................10 2.3.2 Cmo usar JpGraph? .....................................................................11 3. Disciplinas de colas (qdiscs) para gestin del ancho de banda................16 4 identificar caso de uso y actores ................................................................24 2.4 Identificar actores ................................................................................24 2.5 Identificar caso de uso .........................................................................24 2.6 Priorizar casos de uso............................................................................25 2.7 Especificacin de caso de uso...............................................................25 2.8 Diagrama general de caso de uso ........................................................31 5.1. Anlisis de la arquitectura ...................................................................33

4 6

ADMINISTRACION DE ANCHO DE BANDA

Tecnol oga Web

PARTE I
DESCRIPCIN DEL PROBLEMA

4 6

ADMINISTRACION DE ANCHO DE BANDA

Tecnol oga Web

CAPTULO I PERFIL
1 INTRODUCCIN En la actualidad la informtica ha llegado a ser un complemento indispensable que ayuda y agiliza la ejecucin de ciertas tareas en la vida diaria. El Internet con la ayuda del correo electrnico ha hecho posible que las personas realicen sus actividades de una manera rpida y confiable, sin tener que desplazarse a diferentes lugares. Con el avance de la tecnologa, el manejo y el control de la informacin se ha convertido en un aspecto de gran importancia que se debe tener en cuenta en todas las organizaciones, empresas, e instituciones, para la oportuna adquisicin de la informacin de manera exacta y confiable. Es as como surge la necesidad de desarrollar un Sistema de Informacin va Email, que permita conocer el perfil las informaciones de la administracin del ancho de banda El presente Documento describe el proceso de desarrollo del software, incluyendo las metodologas y herramientas utilizadas para la elaboracin del Sistema. 1.1 SITUACION PROBLEMTICA

La Universidad Autnoma Gabriel Ren Moreno consta de unos varios laboratorios de cmputo, centrndonos en el laboratorio de Ing. Informtica la cual no cuenta con una debida administracin del ancho de banda en las redes. Por lo tanto se necesita de una aplicacin que le permita realizar el proceso de administracin del ancho de banda.

4 6

ADMINISTRACION DE ANCHO DE BANDA


1.2 SITUACION DESEADA

Disponer de un adecuado control de la administracin de ancho de banda para las redes va web.
Tecnol oga Web

1.3 1.3.1

OBJETIVOS OBJETIVO GENERAL

Desarrollar Sistema de Va Web para la Administracin de Ancho de Banda para los laboratorios de la carrera de Ingeniera Informtica de la Universidad Autnoma Gabriel Ren Moreno.
1.3.2 OBJETIVO ESPECFICOS

Realizar el estudio de la situacin problemtica. Realizar la captura de requisitos, y realizar la priorizacin de cada uno de ellos. Realizar un anlisis de todos los requerimientos para el desarrollo del sistema. A travs de la elaboracin de casos de uso, para una mejor comprensin de los requerimientos y de esta forma refinar y estructurar los requisitos. Disear la estructura de los archivos a manejar de manera que se contemple las funciones del software. Disear la arquitectura de la aplicacin tomando como base el anlisis de los requerimientos. Disear protocolos que sean fcilmente entendible por el usuario del sistema.
1.4 METODOLOGA

La metodologa que se llegara a utilizar para el desarrollo del presente proyecto ser PROCESO UNIFICADO DE DESARROLLO DE SOFWTWARE (P.U.D.S.), para realizar los diferentes diagramas se utiliza el Lenguaje Unificado de Modelado (UML), porque es un proceso dirigido por casos

4 6

ADMINISTRACION DE ANCHO DE BANDA


de uso definidos en cada fase, centrado en la arquitectura, donde se puede visualizar el comportamiento del proyecto. Ya que el PUDS es iterativo e incremental, lo que permite dividir el proyecto en diferentes fases, donde cada incremento aumenta la funcionalidad del proyecto. Est centrada en la arquitectura, es decir, en la estructura del sistema. Las fases que se desarrollarn del Proceso Unificado son: Inicio, Elaboracin y Construccin. La fase de transicin no se tomar en cuenta, puesto que el proyecto a realizar no est centrado a un caso de estudio especfico.
Tecnol oga Web

PARTE II 4 6

ADMINISTRACION DE ANCHO DE BANDA

MARCO REFERENCIAL
Tecnol oga Web

CAPITULO II. MARCO TERICO


2 APLICACIONES WEB

La idea fundamental es que los navegadores, browsers, presentan documentos escritos en HTML que han obtenido de un servidor Web. Estos documentos HTML habitualmente presentan informacin de forma esttica, sin ms posibilidad de interaccin con ellos. El modo de crear los documentos HTML ha variado a lo largo de la corta vida de las tecnologas Web pasando desde las primeras pginas escritas en HTML almacenadas en un fichero en el servidor Web hasta aquellas que se generan al vuelo como respuesta a una accin del cliente y cuyo contenido vara segn las circunstancias. Adems, el modo de generar pginas dinmicas ha evolucionado, desde la utilizacin del CGI, Common Gateway Interface, hasta los servlets pasando por tecnologas tipo JavaServer Pages. Todas estas tecnologas se encuadran dentro de aquellas conocidas como Server Side, ya que se ejecutan en el servidor web. Otro aspecto que completa (complica?) el panorama son las inclusiones del lado del cliente, Client Side, que se refieren a las posibilidades de que las pginas lleven incrustado cdigo que se ejecuta en el cliente, como por ejemplo JavaScript y programas Java.

4 6

ADMINISTRACION DE ANCHO DE BANDA El esquema general de la situacin se puede ver en la Figura siguiente, donde se muestran cada tipo de tecnologa involucrada en la generacin e interaccin de documentos Web.

Tecnol oga Web

Figura: Esquema general de las tecnologas Web. A continuacin se va a intentar describir las principales caractersticas y funcionalidades de las diferentes tecnologas involucradas en el Web, aunque hay que ser consciente de lo vano del intento, ya que las posibilidades son grandes, la evolucin en este tema es constante y el riesgo de quedarse obsoleto muy grande. Antes de entrar en detalle, presentaremos las caractersticas del World Wide Web y del protocolo que lo sustenta, el HTTP. [WWW1]
2.1 SMARTY

Smarty es un motor de plantillas para PHP. Ms especficamente, esta herramienta facilita la manera de separar la aplicacin lgica y el contenido en la presentacin. La mejor descripcin est en una situacin donde la aplicacin del programador y la plantilla del diseador juegan diferentes roles, o en la mayora de los casos no la misma persona. El encabezado del artculo, el rotulo, el autor y el cuerpo son elementos del contenido, estos no contiene informacin de cmo quieren ser presentados. Estos son pasados por la aplicacin Smarty, donde el diseador edita la plantilla, y usa una combinacin de etiquetas HTML y etiquetas de plantilla

4 6

ADMINISTRACION DE ANCHO DE BANDA para formatear la presentacin de estos elementos (HTML, tablas, color de fondo, tamao de letras, hojas de estilo, etc...). Algunas de las caractersticas de Smarty:
Tecnol oga Web

Es extremamente rpido. Es eficiente ya que puede interpretar el trabajo ms sucio. No analiza gramaticalmente desde arriba el template, solo compila una vez. El est atento para solo recompilar los archivos de plantilla que fueron cambiados. Usted puede crear funciones habituales y modificadoras de variables personalizados, de modo que el lenguaje de la platilla es altamente extensible. Sintaxis de etiquetas delimitadoras para configuracin de la plantilla, as lo puede usar {}, {{}}, <!--{}-->, etc. Los constructores if/elseif/else/endif son pasados por el interpretador de PHP, as la sintaxis de la expresin {if ...} puede ser compleja o simple de la forma que usted quiera. Permite un anidamiento ilimitado de sections, ifs, etc. Es posible incrustar directamente cdigo PHP en los archivos de plantilla, aunque esto puede no ser necesario (no recomendado) dado que la herramienta se puede ajustar. Soporte de caching incrustado Fuentes de Plantilla absoluto Funciones habituales de manipulacin de cache Arquitectura de Plugin. [WWW2]

4 6

ADMINISTRACION DE ANCHO DE BANDA


2.2 ADODB

Almacenamos informacin del estado especifico de un usuario o cliente Web en variables de sesin. Estas variables de sesin, persisten (se conservan) durante toda la sesin, conforme el usuario navega de pagina en pgina. Para usar variables de sesin hay que invocar session_start() al principio de la pagina Web, antes de que enven los encabezados HTTP. Entonces para cada variable que deseas mantener viva por la duracin de la sesin, se invoca session_register($variable). Por default, el manejador de sesiones usara una Cookie para mantener el control. Tambin se pueden salvar objetos o arreglos en las variables de sesin. El mtodo por omisin para almacenar sesiones es almacenndolas en un archivo. Sin embargo si tienes necesidades especiales tales como:

Tecnol oga Web

Tienes mltiples servidores web que necesitan compartir la informacin de la sesin Necesitas hacer un procesamiento especial para cada sesin Requieres algn aviso cuando la sesin caduque

El manejador de sesiones de ADOdb te proporciona la funcionalidad de almacenar la informacin de sesin como registros en una tabla de alguna base de datos que pueda ser compartida entre varios servidores. 2.2.1.1.1 Caractersticas del manejador de sesiones de ADOdb Habilidad de definir una funcin de notificacin que es llamada cuando una sesin expira. Tpicamente se usa para detectar el fin de la sesin y liberar recursos globales.

Optimiza las escrituras a la base de datos. Se calcula un crc32 de los datos de la sesin y solo se ejecuta una actualizacin si hubo cambios a los datos de la sesin.

Maneja grandes cantidades de datos de sesin con CLOBs (ver adodbsession-clob.php). til para Oracle.

4 6

ADMINISTRACION DE ANCHO DE BANDA

Manejo de datos de sesin cifrados, ver adodb-cryptsession.inc.php. Para habilitar el cifrado simplemente hay que incluir adodbcryptsession.inc.php en lugar de adodb-session.inc.php.

Tecnol oga Web

2.2.2

Configuracin

Existen 3 archivos de manejos de sesin que se pueden usar: Adodb-session.php : Lo normal

Adodb-session-clob.php : Para almacenar los datos en campos CLOBs Adodb-cryptsession.php : Para almacenar los datos cifrados en la base de datos [WWW3]
2.3 JPGRAFH

Para que una persona pueda enviar un correo a otra, ambas han de tener una direccin de correo electrnico. Esta direccin la tiene que dar un proveedor de correo, que son quienes ofrecen el servicio de envo y recepcin. El procedimiento se puede hacer desde un programa de correo o desde un correo web. 2.3.1

Qu es JpGraph?
Es una librera que incluye una serie de clases -cdigo orientado a

objetos- que sirven para crear imgenes con todo tipo de grficas, dinmicamente desde pginas PHP. El sistema est muy depurado y soporta multitud de funcionalidades, por lo que seguramente encontraremos solucin a casi cualquier necesidad en el mbito de creacin de grficas. Adems, la mayora de las configuraciones de las grficas vienen con opciones por defecto, as que resulta bastante sencillo obtener resultados rpidamente. Algunas de las caractersticas del sistema son: Reducido peso en bytes de las imgenes resultado.

Habitualmente unas pocas KB.

4 6

ADMINISTRACION DE ANCHO DE BANDA Soporte a las libreras GD1 o GD2 la librera auto detecta que versin del GD. Uso de la Interpolacin matemtica para obtener curvas a partir
Tecnol oga Web

unos pocos valores. Diversos tipos de grficas 2D o 3D, como de puntos, lneas, tartas, barras, cajas... Manejo de las escalas para los ejes del grfico. Escalas flexibles tanto en el eje X como l Y, que se ajustan al juego de datos que se tenga que representar. Soporte para generar grficas con varios juegos de valores a la vez. Configurable con distintos tipos de colores, leyendas, tipografas, imgenes de fondo, etc. Soporte para incluir texto a las imgenes y soporte para tipos de letra. Soporte para niveles de transparencia. Soporte para grficas complejas de Gantt. Soporta formatos PNG, GIF y JPG. Soporte para grficas de barras horizontales. Soporte para grficas de tipo cientfico. Soporta varios tipos de relleno para las grficas. Documentacin con referencias de las funciones.

2.3.2

Cmo usar JpGraph?


Este juego de libreras dispone de una extensa documentacin y

tutoriales para aprender a manejarlo. En la documentacin se encuentran adems numerosos ejemplos de su uso, desde los que podemos partir para solucionar nuestras necesidades. El modo de trabajo para usar esta librera es muy simple, se trata de crear una imagen con la etiqueta <img> de HTML, en cuyo atributo src

4 6

ADMINISTRACION DE ANCHO DE BANDA colocaremos la ruta hacia el script PHP que se encargar de generar la grfica. En el archivo PHP que generar la grfica tendremos que incluir las
Tecnol oga Web

libreras apropiadas para el tipo de grfica que deseemos realizar, tambin habr que instanciar el objeto JpGraph correspondiente, cargar los datos a visualizar y llamar a los mtodos adecuados para mostrar la imagen. Un mecanismo bastante sencillo que veremos en un par de ejemplos a continuacin.

Figura 1: Grafica de lnea en JpGraph

En este ejemplo vamos a crear una grfica lineal en la que mostraremos las horas de trabajo de una persona a lo largo de 10 das. La generacin de la grfica de este ejemplo la hacemos en un archivo que hemos llamado grafico_linea.php, por lo tanto, la llamada a este archivo dentro de una imagen ser la siguiente: <img src="grafico_linea.php" alt="" border="0"> El cdigo PHP del archivo grafico_linea.php es el siguiente: <?php include ("jpgraph/jpgraph.php");

4 6

ADMINISTRACION DE ANCHO DE BANDA include ("jpgraph/jpgraph_line.php"); // Some data $ydata = array(11.5,3,8,12,5,1,9,13,5,7); // Create the graph. These two calls are always required $graph = new Graph(450,250,"auto"); $graph->SetScale("textlin"); $graph->img->SetAntiAliasing(); $graph->xgrid->Show(); // Create the linear plot $lineplot=new LinePlot($ydata); $lineplot->SetColor("black"); $lineplot->SetWeight(2); $lineplot->SetLegend("Horas"); // Setup margin and titles $graph->img->SetMargin(40,20,20,40); $graph->title->Set("Ejemplo: Horas de Trabajo"); $graph->xaxis->title->Set("Das"); $graph->yaxis->title->Set("Horas de Trabajo"); $graph->ygrid->SetFill(true,'#EFEFEF@0.5','#F9BB64@0.5'); //$graph->SetShadow(); // Add the plot to the graph $graph->Add($lineplot); // Display the graph $graph->Stroke(); ?> Ejemplo 2: una grfica de tarta en 3D.
Tecnol oga Web

4 6

ADMINISTRACION DE ANCHO DE BANDA

Tecnol oga Web

Figura 2: Grafica de una torta con JpGraph Por otra parte, vamos a realizar un ejemplo de una grfica de tarta, en la que aparecen las horas realizadas por cada uno de los empleados y el porcentaje respecto a las totales. En este caso, la tarta va a presentarse en un dibujo en 3 dimensiones. El archivo donde se genera la grfica se llama grafico_tarta.php. Lo llamaramos dentro de una imagen con este cdigo HTML. <img src="grafico_tarta.php" alt="" border="0"> El cdigo PHP del archivo grafico_tarta.php ser el siguiente: <?php include ("jpgraph/jpgraph.php"); include ("jpgraph/jpgraph_pie.php"); include ("jpgraph/jpgraph_pie3d.php"); $data = array(40,60,21,33); $graph = new PieGraph(450,200,"auto"); $graph->img->SetAntiAliasing(); $graph->SetMarginColor('gray'); //$graph->SetShadow(); // Setup margin and titles

4 6

ADMINISTRACION DE ANCHO DE BANDA $graph->title->Set("Ejemplo: Horas de Trabajo"); $p1 = new PiePlot3D($data); $p1->SetSize(0.35); $p1->SetCenter(0.5); // Setup slice labels and move them into the plot $p1->value->SetFont(FF_FONT1,FS_BOLD); $p1->value->SetColor("black"); $p1->SetLabelPos(0.2); $nombres=array("pepe","luis","miguel","alberto"); $p1->SetLegends($nombres); // Explode all slices $p1->ExplodeAll(); $graph->Add($p1); $graph->Stroke(); ?>
Tecnol oga Web

4 6

ADMINISTRACION DE ANCHO DE BANDA

Tecnol oga Web

CAPITULO III. ADMINISTRACION DE ANCHO DE BANDA


Disciplinas de colas (qdiscs) para gestin del ancho de banda
3.
Cuando descubr esto, realmente me impact. Linux 2.2/2.4 viene con todo lo necesario para gestionar el ancho de banda en formas comparables a los sistemas dedicados de alto nivel para gestin de ancho de banda. Linux va incluso ms all de lo que proporcionan Frame y ATM. Para prevenir confusiones, sepa que tc usa las siguientes reglas para la especificacin de ancho de banda:
mbps mbit mb = mbit = 1024 kbps = 1024 * 1024 bps => byte/s = 1024 kbit => kilobit/s. 1024 kb = 1024 * 1024 b => byte = 1024 kbit => kilobit.

Internamente, los nmeros se almacenan en bps y b. Pero cuando tc imprime las tasas, usa lo siguiente:

4 6

ADMINISTRACION DE ANCHO DE BANDA


1Mbit = 1024 Kbit = 1024 * 1024 bps => byte/s

Las colas y disciplinas de cola Con el encolamiento determinamos la manera en que se ENVIAN los datos. Es importante darse cuenta de que slo podemos dar forma a lo que transmitimos. De la manera en que trabaja Internet, no tenemos control directo sobre lo que la gente nos enva. Es un poco como el buzn (fsico!) de su casa. No hay manera en que pueda influenciar al mundo para modificar la cantidad de correo que le envan, ya que no puede ponerse en contacto con todo el mundo. Sin embargo, la Internet se basa en su mayora en TCP/IP, que tiene algunas caractersticas que nos ayudarn. TCP/IP no tiene manera de saber la capacidad de la red entre dos sistemas, de manera que simplemente empieza a enviar datos ms y ms rpido (comienzo lento) y cuando se empiezan a perder paquetes, porque no hay espacio para enviarlos, reduce la marcha. En realidad, es un poco ms inteligente que todo esto, pero hablaremos de ello ms adelante. Esto es equivalente a no leer la mitad del correo, y esperar que la gente deje de envirselo. Con la diferencia de que para Internet, funciona :-) Si tiene un router y desea evitar que ciertas mquinas dentro de su red descarguen demasiado rpido, necesita dar forma (shape) a la interfaz *interna* del router, la que enva los datos a sus computadores. Tambin tiene que asegurarse de que controla el cuello de botella del enlace. Si tiene una NIC de 100Mbit y un router con un enlace de 256kbit, tiene que asegurarse de que no enva ms datos de los que el router puede manejar. Por otro lado, ser el router el que controle el enlace y ajuste el ancho de banda disponible. Necesitamos poseer la cola por decirlo as, y ser el enlace ms lento de la cadena. Por suerte, esto es muy posible. Disciplinas de cola simples, sin clases Con las disciplinas de cola, cambiamos el modo en que se envan los datos. Las disciplinas de cola sin clases son aquellas que, mayormente, aceptan datos y se limitan a reordenarlos, retrasarlos, o descartarlos. Esto se puede usar para ajustar el trfico de una interfaz entera, sin subdivisiones. Es vital que comprenda esta parte del encolado antes de que pasemos a los qdisc-contenedores-de-qdiscs con clases!
Tecnol oga Web

4 6

ADMINISTRACION DE ANCHO DE BANDA La disciplina ms usada, con mucho, es la qdisc pfifo_fast (se usa por defecto). Esto tambin explica por qu estas caractersticas avanzadas son tan robustas. No son ms que simplemente otra cola. Cada una de estas colas tiene puntos fuertes y debilidades especficos. Puede que no todas estn bien probadas. pfifo_fast Esta cola es, como su nombre indica, First In, First Out (el primero que entra es el primero que sale), lo que significa que ningn paquete recibe un tratamiento especial. Al menos, no mucho. Esta cola tiene 3 de lo que llamamos bandas. Dentro de cada banda, se aplican las reglas FIFO. Sin embargo, no se procesar la banda 1 mientras haya paquetes esperando en la banda 0. Lo mismo se aplica para las bandas 1 y 2. El ncleo obedece la marca llamada Type of Service que hay en los paquetes, y tiene cuidado de insertar los paquetes de mnimo retraso en la banda 0. No confunda esta qdisc sencilla y sin clases con la PRIO con clases! Aunque se comportan de manera similar, la pfifo_fast no tiene clases y no puede aadir otras qdisc a ella con la orden tc. Disciplina de colas (qdisc) Un algoritmo que controla la cola de un dispositivo, sea de entrada (ingress) o de salida (egress). qdisc raz (root qdisc) La qdisc raz es la que est adjunta al dispositivo. Qdisc sin clases Una qdisc sin subdivisiones internas configurables. Qdisc con clases Una qdisc con clases contiene mltiples clases. Algunas de ellas contienen otra qdisc, que a su vez puede ser con clases, pero no tiene por qu. De acuerdo con la definicin estricta, pfifo_fast *es* con clases, porque contiene tres bandas que son, en realidad, clases. Sin embargo, desde la perspectiva de configuracin del usuario, no tiene clases ya que las clases no se pueden tocar con la herramienta tc. Clases Una qdisc con clases puede tener muchas clases, cada una de las cuales es interna a ella. A una clase, a su vez, se le pueden aadir varias clases. De manera que una clase puede tener como
Tecnol oga Web

4 6

ADMINISTRACION DE ANCHO DE BANDA padre una qdisc u otra clase. Una clase terminal (o clase "hoja": leaf class) es una clase que no tiene clases hijas. Esta clase tiene 1 qdisc adjunta. Esta qdisc es responsable de enviar datos a la clase. Cuando creas una clase, se le adjunta una qdisc fifo. Cuando aades una clase hija, se elimina esta qdisc. Para clases terminales, esta qdisc fifo puede ser reemplazada con otra ms adecuada. Incluso se puede reemplazar esta qdisc fifo por otra con clases de manera que se puedan aadir ms clases. Clasificador Cada qdisc con clases necesita determinar a qu clase necesita enviar un paquete. Esto se hace usando el clasificador. Filtro La clasificacin se puede realizar usando filtros. Un filtro contiene varias condiciones que pueden ser cumplidas. Scheduling (ordenamiento) Una qdisc puede, con la ayuda de un clasificador, decidir que algunos paquetes necesitan salir antes que otros. Este proceso se denomina Scheduling, y lo realiza por ejemplo la qdisc qfifo_fast anteriormente mencionada. El Scheduling tambin se denomina reordenamiento, pero esto es confuso. Shaping (ajuste) El proceso de retrasar paquetes antes de que salgan para hacer que el trfico sea conforme a una tasa mxima configurada. El Shapping se realiza durante la salida (egress). Coloquialmente, al descarte de paquetes para ralentizar el trfico tambin se le suele denominar Shapping. Policing Retrasar o descartar paquetes para que el trfico se mantenga por debajo de un ancho de banda configurado. En Linux, el policing slo puede descartar paquetes, no retrasarlo (no hay una cola de ingreso - ingress queue). Conservativa de trabajo Una qdisc conservativa de trabajo (work-conserving) siempre distribuye paquetes si los hay disponibles. En otras palabras, nunca retrasa un paquete si el adaptador de red est preparado para enviarlo (en el caso de una qdisc de salida - egress). No conservativa de trabajo
Tecnol oga Web

4 6

ADMINISTRACION DE ANCHO DE BANDA Algunas colas, como la Token Bucket Filter, por ejemplo, pueden necesitar retrasar un paquete durante un cierto tiempo para limitar el ancho de banda. Esto significa que algunas veces rechazarn enviar un paquete, incluso aunque estn disponibles. La qdisc PRIO La qdisc PRIO en realidad no hace ajustes, sino que slo subdivide el trfico basndose en cmo haya configurado los filtros. Puede considerar la qdisc PRIO como una pfifo_fast con esteroides, en la que cada banda es una clase separada, en lugar de una simple FIFO. Cuando se encola un paquete a la qdisc PRIO, se escoge una clase basndose en las rdenes de filtrado que haya dado. Por defecto, se crean tres clases. Estas clases contienen qdisc que son puras FIFO sin estructura interna, pero puede sustituirlas por cualquier qdisc que haya disponible. Siempre que se necesite desencolar un paquete, se intenta primero con la clase :1. Las clases ms altas slo se usan si no se ha conseguido el paquete en las clases ms bajas. Esta qdisc es muy til en caso de que quiera dar prioridad a cierto trfico sin usar slo las marcas TOS sino usando el potencial de los filtros de tc. Tambin puede contener cualquier qdisc, mientras que pfifo_fast est limitada a qdisc de fifo sencillas. Como en realidad no hace ajustes, se le aplica el mismo aviso que a SFQ: sela solamente si el enlace fsico est realmente lleno o mtala dentro de una qdisc con clases que haga ajustes. Esto ltimo se aplica a la mayora de dispositivos DSL y cable mdems. Hablando formalmente, la qdisc PRIO es un reorganizador conservativo. Parmetros y uso de PRIO tc reconoce los siguientes parmetros: bands Nmero de bandas a crear. Cada banda es una clase. Si cambia este nmero, tambin deber cambiar: priomap Si no proporciona filtros de tc para clasificar el trfico, la qdisc PRIO examina la prioridad TC_PRIO para decidir cmo encolar el trfico. Esto funciona igual que con la qdisc pfifo_fast mencionada previamente, refirase a ella si desea ms detalles. Las bandas son clases, y todas se llaman de mayor:1 a mayor:3 por defecto, de manera que si nuestra qdisc PRIO se llama 12:, tc filtrar el trfico a 12:1 para garantizar la mayor prioridad. Repetimos: la banda 0 va al nmero menor 1! La banda 1 al nmero menor 2, etc.
Tecnol oga Web

4 6

ADMINISTRACION DE ANCHO DE BANDA Lneas de rdenes:


# tc qdisc add dev eth0 root handle 1: prio ## Esto crea *instantneamente las clases 1:1, 1:2, 1:3 # tc qdisc add dev eth0 parent 1:1 handle 10: sfq # tc qdisc add dev eth0 parent 1:2 handle 20: tbf rate 20kbit buffer 1600 limit 3000 # tc qdisc add dev eth0 parent 1:3 handle 30: sfq

Tecnol oga Web

Clasificar paquetes con filtros Para determinar qu clase deber procesar un paquete, se llama a una cadena clasificadora cada vez que hay que tomar una decisin. Esta cadena consiste en todos los filtros asociados a la qdisc con clases que debe decidir. Repitamos el rbol, que no es un rbol:
root 1: | _1:1_ / | \ / | \ / | \ 10: 11: 12: / \ / \ 10:1 10:2 12:1 12:2

Cuando encolamos un paquete, se consulta la cadena de filtros para cada rama para que de las instrucciones relevantes. Una configuracin tpica podra tener un filtro en 1:1 que dirija un paquete a 12:, y uno en 12: que enve el paquete a 12:2. Tambin podra asociar esta ltima regla a 1:1, pero puede ganar eficiencia haciendo pruebas ms especficas ms abajo en la cadena. No se puede filtrar un paquete "hacia arriba", por cierto. Adems, con HTB, debera asociar todos los filtros a la raz! Y de nuevo: los paquetes slo se encolan hacia abajo! Cuando se desencolan, vuelven hacia arriba, donde est la interfaz. No caen desde el final del rbol directamente al adaptador de red! Algunos ejemplos sencillos de filtrado Como se explic en el captulo del Clasificador, puede hacer coincidencias con literalmente cualquier cosa, usando una sintaxis bastante complicada. Para empezar, le mostraremos cmo hacer cosas obvias, que por suerte es muy sencillo. Digamos que tenemos una qdisc PRIO llamada 10: que contiene tres clases, y queremos asignar todo el trfico desde y hacia el puerto 22 a la banda de prioridad ms alta. Los filtros podran ser: # tc filter add dev eth0 protocol ip parent 10: prio 1 u32 match \ ip dport 22 0xffff flowid 10:1

4 6

ADMINISTRACION DE ANCHO DE BANDA # tc filter add dev eth0 protocol ip parent 10: prio 1 u32 match \ ip sport 80 0xffff flowid 10:1 # tc filter add dev eth0 protocol ip parent 10: prio 2 flowid 10:2 Qu dice esto? Dice: asociar a eth0, nodo 10: un filtro u32 de prioridad 1 que coincide *exactamente* con el puerto IP de destino 22 y enviarlo a la banda 10:1. Y luego repetimos lo mismo para el puerto de origen 80. La ltima orden dice que cualquier cosa que no coincida debera ir a la banda 10:2, la de siguiente prioridad. Necesita aadir eth0, o como sea que se llame la interfaz, porque cada interfaz tiene un espacio de controladores propio. Para escoger sobre una direccin IP, use esto:
# tc filter add dev eth0 parent 10:0 protocol ip prio 1 u32 \ match ip dst 4.3.2.1/32 flowid 10:1 # tc filter add dev eth0 parent 10:0 protocol ip prio 1 u32 \ match ip src 1.2.3.4/32 flowid 10:1 # tc filter add dev eth0 protocol ip parent 10: prio 2 \ flowid 10:2

Tecnol oga Web

Esto asigna el trfico hacia 4.3.2.1 y desde 1.2.3.4 a la cola de ms alta prioridad, y el resto a la de siguiente prioridad. Puede concatenar coincidencias, para capturar el trfico desde 1.2.3.4, puerto 80. Se hace as:
# tc filter add dev eth0 parent 10:0 protocol ip prio 1 u32 match ip src 4.3.2.1/32 \ match ip sport 80 0xffff flowid 10:1

4 6

ADMINISTRACION DE ANCHO DE BANDA

Tecnol oga Web

PARTE III
DESARROLLO

4 6

ADMINISTRACION DE ANCHO DE BANDA

Tecnol oga Web

CAPTULO IV. CAPTURA DE REQUISITOS


4 IDENTIFICAR CASO DE USO Y ACTORES 2.4 IDENTIFICAR ACTORES

Administrador administrador

Es la persona encargada de administrar el sistema, tiene acceso libre a todo el sistema, el administracin de ancho de banda. Usuario Externo: Solo pueden realizar los permisos realizados por el administrador.

puede crear, permisos, consultar, observar, etc... De las configuraciones que se realicen en la

2.5

IDENTIFICAR CASO DE USO

CU 1. Gestionar Usuario CU 2. CU 3.
Gestionar Privilegios Gestionar Redes

4 6

ADMINISTRACION DE ANCHO DE BANDA


CU 4. CU 5. CU 6. Gestionar Alias Gestionar Ancho de Banda Gestionar Reglas

2.6

PRIORIZAR CASOS DE USO Tabla 1: Priorizacin de Casos de Uso Caso de uso CU1 CU2 CU3 CU4 CU5 CU6 Priorida d Bsico Bsico Bsico Bsico Bsico Bsico

Tecnol oga Web

2.7

ESPECIFICACIN DE CASO DE USO

CU1: Gestionar Usuarios


uc CU1

CU1:Gestionar Usuarios Administrador

Figura 3: CU1 Gestionar Usuarios


Caso de uso Propsito

Gestionar Usuarios Permitir al usuario registrarse en el sistema o el administrador registra al usuario, restringiendo al usuario permisos realizados por el administrador.
Administrador Administrador

Actores Iniciador Precondicin Poscondicin Flujo

Permitir consultar los datos de los usuarios Acciones del Actor

4 6

ADMINISTRACION DE ANCHO DE BANDA


1. Introduce datos a ser registrados Acciones del Sistema 2. Verifica sintaxis. 3. Verifica datos del usuario 4. Guarda datos. 2a. Informa al usuario que la sintaxis es incorrecta y que revise la ayuda 3a. Informa al usuario que los datos son incorrectos.

Tecnol oga Web

Flujo Alternativo

CU2: Gestionar Privilegios


uc cu2

CU2:Gestionar Priv ilegios Administrador

Figura 3: CU2 Gestionar Privilegios


Caso de uso Propsito Actores Iniciador Precondicin Poscondicin Flujo Acciones del Actor 1. Introduce datos a ser registrados para los privilegios sobre el sistema a los usuarios Acciones del Sistema CU2 Gestionar Privilegios Gestionar los diferentes privilegios que tendran los diferentes usuarios Administrador Administrador 1. Gestionar Usuario

4 6

ADMINISTRACION DE ANCHO DE BANDA


2. Verifica sintaxis del mensaje. 3. Verifica la informacin de los privilegios 4. Guarda datos. 2a. Informa al usuario que la sintaxis es incorrecta y que revise la ayuda 3a. Informa al usuario que los datos son incorrectos.

Flujo Alternativo
Tecnol oga Web

CU3: Gestionar Redes


uc Gestionar Redes

CU3:Gestionar Redes Administrador

Figura 4: CU3 Gestionar Redes


Caso de uso Propsito Actores Iniciador Precondicin Poscondicin Flujo

CU3: Gestionar Redes


Gestionar los redes para poder realizar la administracin de ancho de banda Administrador Administrador 1. Gestionar Usuario Permitir consultar las redes existentes Acciones del Actor 1. Introduce datos a ser registrados de las diferentes redes Acciones del Sistema 1. Verifica sintaxis del mensaje.

4 6

ADMINISTRACION DE ANCHO DE BANDA


2. Verifica la informacin de las redes 3. Guarda datos. 2a. Informa al usuario que la sintaxis es incorrecta y que revise la ayuda 3a. Informa al usuario que los datos son incorrectos.
Tecnol oga Web

Flujo Alternativo

CU4: Gestionar Alias

u c c u 4 C U 4 :G e s tio n a r A lia s

C U 4 :G e s tio n a r A lia s A d m in is tra d o r

Figura 5: CU4 Gestionar Alias

Caso de uso Propsito

CU4 Gestionar Alias Gestionar las diferentes alias que se utilizaran para el proceso de

4 6

ADMINISTRACION DE ANCHO DE BANDA


administracin de ancho de banda Actores Iniciador Precondicin Poscondicin Flujo
Tecnol oga Web

Administrador Administrador 1. Gestionar Usuario Permitir consultar los diferentes alias registrados. Acciones del Actor 1. Introduce datos de los diferentes alias que pertenecen a la administracin del ancho de banda. Acciones del Sistema 2. Verifica sintaxis del mensaje. 3. Verifica la informacin de las configuraciones de los alias. 4. Guarda datos. 2a. Informa al usuario que la sintaxis es incorrecta y que revise la ayuda 3a. Informa al usuario que los datos son incorrectos.

Flujo Alternativo

CU5: Gestionar Ancho de Banda


uc Gestionar Ancho de Banda

CU5:Gestionar Ancho de Banda Administrador

Figura 6: CU5 Gestionar Ancho de Banda


Caso de uso Propsito Actores Iniciador CU5 Gestionar Ancho de Banda Gestionar los datos de la administracin de ancho de banda. Administrador Administrador

4 6

ADMINISTRACION DE ANCHO DE BANDA

Precondicin Poscondicin Flujo


Tecnol oga Web

Permitir consultar los datos de la administracin de ancho de banda. Acciones del Actor 1. Introduce datos de las diferentes configuraciones de la administracin del ancho de banda Acciones del Sistema 2. Verifica sintaxis del mensaje. 3. Verifica la informacin de los ancho de banda. 4. Guarda datos. 2a. Informa al usuario que la sintaxis es incorrecta y que revise la ayuda 3a. Informa al usuario que los datos son incorrectos.

Flujo Alternativo

CU6: Gestionar Reglas


uc CU6

CU6:Gestionar Reglas Administrador

Figura 7: CU6 Gestionar Reglas

Caso de uso

CU6 Gestionar Reglas

4 6

ADMINISTRACION DE ANCHO DE BANDA


Propsito Actores Iniciador Precondicin Poscondicin Flujo Permitir consultar los diferentes reglas Acciones del Actor 1. Introduce datos de las respectivas reglas. Acciones del Sistema 2. Verifica sintaxis del mensaje. 3. Verifica la informacin de las reglas 4. Guarda datos. 2a. Informa al usuario que la sintaxis es incorrecta y que revise la ayuda 3a. Informa al usuario que los datos son incorrectos.
Tecnol oga Web

Gestionar las reglas para diferentes redes. Administrador Administrador

Flujo Alternativo

2.8

DIAGRAMA GENERAL DE CASO DE USO

4 6

ADMINISTRACION DE ANCHO DE BANDA

Tecnol oga Web

Figura 43: Diagrama General De Caso de Uso

CAPTULO V.

4 6

ADMINISTRACION DE ANCHO DE BANDA

ANALISIS
ANLISIS DE LA ARQUITECTURA
Tecnol oga Web

En este captulo se analizan los requisitos que se describieron durante la etapa de captura de requisitos a manera de refinarlos y estructurarlos. El objetivo del anlisis de estos requisitos es de conseguir una comprensin ms precisa y una descripcin de los mismos que sea fcil de mantener y que ayude a estructurar el sistema completo. 5.1. ANLISIS DE LA ARQUITECTURA

En esta seccin se describe cada uno de los modelos de anlisis y la arquitectura mediante la identificacin de paquetes del anlisis, clases de actividad del negocio. Modulo Registro.- Este modulo se encargara de insertar, modificar y eliminar a los alias, reglas, redes, ancho de banda y privilegio.
sd modulo registro

anlisis evidentes y requisitos especiales

comunes. Durante la actividad del anlisis se identificaron 3 paquetes, los cuales engloban la

CU 3.Gestionar Redes CU 4.Gestionar Alias

trace trace

MODULO REGISTRO

trace

CU 6.Gestionar Reglas

Figura 5 : Mdulo Registro

Modulo de Reportes.-

Este modulo se encarga de generar todas los reportes de

diagnsticos, copias de respaldo, estadsticas

4 6

ADMINISTRACION DE ANCHO DE BANDA


pkg MODULO DE REPORTES

CU 9.Generar Copia de Respaldo

Tecnol oga Web

trace MODULO DE REPORTES trace CU10:Generar Reportes

trace CU 11.Generar Estadisticas

Figura 6: Modulo Reportes Modulo Administracin de Usuario.- Este modulo se encargara de establecer la administracin de usuarios para que puedan acceder al sistema
pkg ADMINISTRACION DE USUARIO

CU 1.Gestionar Usuario ADMINISTRACION DE USUARIO trace

Figura 7: Modulo Administracin de Usuario

5.2. ANLISIS DE CASO DE USO Se analiza un caso de uso para identificar las clases del anlisis cuyos objetos son necesarios para llevar a cabo el flujo de sucesos del caso de uso, distribuir el comportamiento del caso de uso entre los objetos del anlisis que interactan y capturar requisitos especiales sobre la realizacin del caso de uso.

4 6

ADMINISTRACION DE ANCHO DE BANDA CU 1.


Gestionar Usuario

s d I n te r a c ti o n

Tecnol oga Web

3 : M e n u P ri n c i p a l () 2 : M e n u P ri n c i p a l () 1 : M e n u P ri n c i p a l ()

3 . 1 : E l i m i n a r() 2 . 1 : M o d i f i c a r() 1 . 1 : R e g i st ra r()

I U P ri n c i p a l A d m i n i s tr a d o r

I U U su a ri o

U su a ri o 1 . 4 : I n se rt a r() 2 . 4 : M o d i f i c a r() 3 . 4 : E l i m i n a r()

3 . 2 : E l i m i n a r() 2 . 2 : M o d i f i c a r() 1 . 2 : I n se rt a r()

3 . 3 : E l i m i n a r() C U su a ri o2 . 3 : M o d i f i c a r() 1 . 3 : I n se rt a r() G e st o rU su a ri o

CU 2. Gestionar Privilegios

4 6

ADMINISTRACION DE ANCHO DE BANDA


s d d2 3 .1 : E l i m i n a r() 2 .1 : M o d i fi ca r() 1 .1 : Re g i stra r() 3 .2 : E l i m i n a r() 2 .2 : M o d i fi ca r() 1 .2 : In se rta r()

3 : M e n u P ri n ci p a l () 2 : M e n u P ri n ci p a l () 1 : M e n u P ri n ci p a l ()

Tecnol oga Web


Adm inis tra dor

IUP ri n ci p a l

IUP ri vi l e g i o s

CP ri vi l e g i o s

3 .3 : E l i m i n a r() 2 .3 : M o d ifi ca r() 1 .3 : In se rta r()

G e sto rP ri vi l e g i o s

1 .4 : In se rta r() 2 .4 : M o d i fi ca r() 3 .4 : E l i m i n a r()

P ri vi l e g i o

CU 3. Gestionar Redes
s d Inte ra c tion 3 : M e n u P ri n ci p a l () 2 : M e n u P ri n cip a l () 1 : M e n u P ri n ci p a l () 3 .1 : E l i m in a r() 2 .1 : M o d i fi ca r() 1 .1 : R e g i stra r()

IUP ri n c ip a l A dm inis tra dor

IU R e d e s 3 .2 : E l im i n a r() 2 .2 : M o d i fi ca r()

G e sto rRe d e s

3 .4 : E l i m i n a r() 1 .3 : In se rta r() 2 .4 : M o d i fi ca r() 1 .4 : In se rta r()

1 .2 : In se rta r() 2 .3 : M o d i fic a r() 3 .3 : E l i m i n a r()

CR e d e s

Red

CU 4. Gestionar Alias

4 6

ADMINISTRACION DE ANCHO DE BANDA

s d In te ra c tio n 3 : M e n u P ri n ci p a l () 2 : M e n u P ri n c i p a l () 1 : M e n u P ri n c i p a l () 3 .1 : E l i m i n a r() 2 .1 : M o d i fi ca r() 1 .1 : R e g i stra r()

Tecnol oga Web


s d In te r a c tio n

A d m in is tra d o r

IU P ri n ci p a l

IU A l i a s 3 .2 : E l i m i n a r() 2 .2 : M o d i fca r() 1 .2 : In se rta r() 3 .3 : E l i m i n a r()

G e sto rA l i a s

3 .4 : E l i m i n a r() 2 .3 : M o d i fi ca r() 1 .3 : In se rta r() 2 .4 : M o d i fi ca r()

1 .4 : In se rta r()

CA lia s

A lia s

CU 5. Gestionar Ancho de Banda

3 : M e n u P ri n c i p a l () 2 : M e n u P ri n c i p a l () 1 : M e n u P ri n c i p a l ()

3 .1 : E l i m i n a r() 2 .1 : M o d i fi c a r() 1 .1 : R e g i stra r()

IU P ri n c i p a l A d m in is tra d o r

IU A n c h o 3 .3 : E l i m i n a r() 3 .2 : E l i m i n a r() 2 .3 : M o d i fi c a r() 1 .3 : In se rta r() 2 .2 : M o d i fi c a r()

G e sto rA n c h o

3 .4 : E l i m i n a r() 2 .4 : M o d i fi c a r()

1 .2 : In se rta r() 1 .4 : In se rta r()

CA n ch o A n ch o

4 6

ADMINISTRACION DE ANCHO DE BANDA


CU.6
sd Interaction 1.8: Insertar()

Gestionar reglas

2: MenuPrincipal() 1: MenuPrincipal() IUPrincipal Administrador

2.1: Eliminar() 1.1: Insertar()

2.5: Eliminar()

Tecnol oga Web

Ancho IUReglas 2.3: Eliminar() 2.2: Eliminar() 1.3: Insertar() 1.2: Insertar() Reglas 1.7: Insertar() GestoReglas 2.4: Eliminar()

1.6: ObtenerPrioridad() 1.4: ObtenerID() CReglas 1.5: Obteneralias() Privilegio

Red

Alias

4 6

ADMINISTRACION DE ANCHO DE BANDA

CAPTULO VI. DISEO


CU 1. Gestionar Usuario
sd CU1:Gestionar Usuarios IUPrincipal Administrador IUUsuario CUsuario Gestorusuario EUsuario

Tecnol oga Web

6. DISEO 6.1. DISEO DE CASO DE USO

MenuPrincipal() Insertar() Insertar() Insertar() Insertar() MenuPrincipal()

Modificar() Modificar() Modificar() Modificar() MenuPrincipal() Eliminar() Eliminar() Eliminar() Eliminar()

4 6

ADMINISTRACION DE ANCHO DE BANDA

CU 2.
Tecnol oga Web

Gestionar Privilegios

sd Interaction IUPrincipal Administrador IUPrivilegios CPrivilegios GestorPrivilegios Privilegios

Insertar() Insertar() Insertar() Insertar() Insertar() Modificar() Modificar() Modificar() Modificar() modificar() Eliminar() Eliminar() Eliminar() Eliminar() Eliminar()

4 6

ADMINISTRACION DE ANCHO DE BANDA

Tecnol oga Web

CU 3.

Gestionar Redes

sd Interaction IUPrincipal Administrador Insertar() Insertar() Insertar() Insertar() Insertar() Modificar() Modificar() Modificar() Modificar() Modificar() Eliminar() Eliminar() Eliminar() Eliminar() Eliminar() IURedes CRedes GestorRedes Red

4 6

ADMINISTRACION DE ANCHO DE BANDA

Tecnol oga Web

CU 4. Gestionar Alias

sd Interaction IUPrincipal Administrador IUAlias CAlias GestorAlias Alias

Insertar() Insertar() Insertar() Insertar() Insertar() Modificar() Modificar() Modificar() Modificar() Modificar() Eliminar() Eliminar() Eliminar() Eliminar() Eliminar()

4 6

ADMINISTRACION DE ANCHO DE BANDA

Tecnol oga Web

CU 5. Gestionar Ancho de Banda

sd Interaction IUPrincipal Administrador IUAncho CAncho GestorAncho Ancho

Insertar() Insertar() Insertar() Insertar() Insertar() Modificar() Modificar() Modificar() Modificar() Modificar() Eliminar() Eliminar() Eliminar() Eliminar() Eliminar()

4 6

ADMINISTRACION DE ANCHO DE BANDA

Tecnol oga Web

CU 6.
sd Interaction IUPri nci pal Administrador Insertar() Insertar() IURegl as

Gestionar reglas
CRegl as GestorRegl as Red Ali as Pri oridad Reglas

Inserta r() Insertar() ObtenerId() ObteneAlias() ObtenerPri ori dad() Insertar() Eli m inar() Eli mi nar() El imi nar() Elim inar() Eli m inar()

4 6

ADMINISTRACION DE ANCHO DE BANDA

Tecnol oga Web

6.2. DISEO DE LA CLASE 6.2.1. DIAGRAMA DE CLASE

class Diagrama de clases

Tipo + + + ID: int Nombre: String MaxAncho: int 1

* Alias + + Id: int Nombre: String 1

* Red + + + Id: int 1 IP: String Mascara: String * + Regla ID: int * 1 + Prioridad Nombre: String * 1 + Ancho Flujo: int

* ConfiguracionRegla + + IdRegla: int IdConfiguracion: String * Usuario Configuracion + + + Id: int Nombre: String * Nro: int + + 1 + + + CI: int Nombre: String * telefono: String Contrasea: String email: String Visitas + * + Nombre: String cant: int

VisitaUsuario

4 6

ADMINISTRACION DE ANCHO DE BANDA

Tecnol oga Web

6.2.2.

DISEO LOGICO DE LA BASE DE DATOS

Create Database grupo21sa;


CREATE TABLE alias ( id integer NOT NULL, nombre character varying(30) NOT NULL ); CREATE TABLE ancho ( id integer NOT NULL, descripcion character varying(30) NOT NULL, valor integer NOT NULL, unidad character varying(30) NOT NULL ); CREATE TABLE detalle_permiso ( id_usuario integer NOT NULL, id_permiso integer NOT NULL ); CREATE TABLE grupo ( id integer NOT NULL, nombre character varying(20) NOT NULL, descripcion character varying(30) NOT NULL ); CREATE TABLE permiso ( id integer NOT NULL, descripcion character varying(30) NOT NULL ); CREATE TABLE privilegio ( id integer NOT NULL, nombre character varying(30) NOT NULL ); CREATE TABLE red ( id integer NOT NULL, nombre character varying(30) NOT NULL, direccion character varying(30) NOT NULL, mascara integer NOT NULL );

4 6

ADMINISTRACION DE ANCHO DE BANDA

CREATE TABLE regla ( id integer NOT NULL, nombre character varying(30) NOT NULL, protocolo character varying(10) NOT NULL, id_privilegio integer NOT NULL ); CREATE TABLE regla_ancho ( id_regla integer NOT NULL, id_ancho integer NOT NULL ); CREATE TABLE regla_red ( id_regla integer NOT NULL, id_red integer NOT NULL, id_alias integer NOT NULL, puerto character varying(10) NOT NULL ); CREATE TABLE usuario ( id integer NOT NULL, nombre character varying(30) NOT NULL, login character varying(20) NOT NULL, password character varying(20) NOT NULL, sexo character(1) NOT NULL, id_grupo integer NOT NULL );

Tecnol oga Web

4 6

ADMINISTRACION DE ANCHO DE BANDA

Tecnol oga Web

6.2.3.

DISEO FISICO DE LA BASE DE DATOS

USUARIO CI PK Nombre Telefono Conrtrase a email

VISITAS ID Nombre cant

USUARIOVISITAS IDUSUARIO PK-FK IDVISITAS PK-FK

REGLA ID PK IDRED FK IDALIAS FK IDPRIORID AD FK IDANCHO FK

CONFIGURACION

4 6

ADMINISTRACION DE ANCHO DE BANDA


ID PK
Tecnol oga Web

NOMBRE

IDUSUAR IO

CONFIGURACION REGLA IDREG LA PK-FK IDCONFIGURA CION PK-FK

CONFIGURACIONUSUARIO Nombr e PK-FK Correo PK-FK

ALIAS ID PK NOMBRE IDTIPO FK

PRIORIDAD NOMBRE PK IDFLUJO FK

ANCHO FLUJO PK

TIPO ID PK NOMBRE MAXANCHO

4 6

ADMINISTRACION DE ANCHO DE BANDA


RED ID PK
Tecnol oga Web

IP

MASCARA

DISEO FISICO: USUARIO Nombre de la Columna CI Nombre telefono Contrasea email Tipo de Datos Integer varchar varchar varchar varchar 30 30 30 30 Longitud Permitir valores Nulos No No No No No Llave PK

VISITAS Nombre de la Columna ID nombre cant Tipo de Datos Integer varchar Integer 30 Longitud Permitir valores Nulos No No No Llave PK

USUARIOVISITAS Nombre de la Columna IdUsuario idvisitas Tipo de Datos Integer Integer Longitud Permitir valores Nulos No No Llave PK,FK PK,FK

REGLA Nombre de la Columna Tipo de Datos Longitud Permitir valores Nulos Llave

4 6

ADMINISTRACION DE ANCHO DE BANDA


id idred idalias
Tecnol oga Web

Integer integer varchar varchar

--30 30

No No No No

PK, FK PK, FK FK FK

idprioridad

CONFIGURACION Nombre de la Columna Nombre ID Tipo de Datos varchar integer Longitud 30 -Permitir valores Nulos No No PK Llave

CONFIGURACIONREGLA Nombre de la Columna Idregla idconfiguracion Tipo de Datos integer varchar Longitud --30 Permitir valores Nulos No No Llave PK, FK PK, FK

ALIAS Nombre de la Columna ID Nombre idtipo Tipo de Datos integer varchar varchar 30 30 Longitud Permitir valores Nulos No No No FK Llave PK

PRIORIDAD Nombre de la Columna Nombre IdFlujo Tipo de Datos varchar integer Longitud 30 --Permitir valores Nulos No No Llave PK FK

ANCHO

4 6

ADMINISTRACION DE ANCHO DE BANDA


Nombre de la Columna Flujo
Tecnol oga Web

Tipo de Datos integer

Longitud ---

Permitir valores Nulos No

Llave PK

TIPO Nombre de la Columna ID Nombre MaxAncho Tipo de Datos Integer varchar Integer 30 Longitud Permitir valores Nulos No No No Llave PK

RED Nombre de la Columna ID IP Mascara Tipo de Datos integer varchar varchar Longitud --15 2 Permitir valores Nulos No No No Llave PK -----

CONFIGURACION CONFIGURACIONUSUARIO Nombre de la Columna Nombre Correo Tipo de Datos varchar varchar Longitud 30 100 Permitir valores Nulos No No Llave PK, FK PK, FK

4 6

ADMINISTRACION DE ANCHO DE BANDA

Tecnol oga Web

6.2.4.

DIAGRAMAS DE NAVEGACION

4 6

ADMINISTRACION DE ANCHO DE BANDA


w eb Busines s Proc ess M o...

Inde x + + Administra dor Contrasea: String Usuario : Strin g subm its + +

CLogin.php Co ntrase a: String Usuario: Strin g

CAlias + Elim in ar() : void + Guardar() : void + M odifi car() : void + Nuevo () : voi d build s -

Alias ID No m bre T i po

Tecnol oga Web

Tipo + + M axAncho: te xtarea Nom bre: textarea bu ilds CTipo + El im ina r() : void + Gu ardar() : voi d + M odifica r() : void

build s sub m its Re glas Re sulta dos + + + + Alias Elim i nar() : void Guard ar() : void M odi ficar() : void Nuevo () : vo id ali as an chodeb anda id pri oridad red Esta distic as T ipo

CRegla s build s + Elim in ar() : void + Guarda r() : void + M odificar() : vo id + Nuevo() : void

Red id ip m ascara subm its

Tipo + Elim inar() : void + Guardar() : void + M od ificar() : void

link

link Reglas

subm its CEstadisticas + Generar() : void builds

b uilds

Princ ipal.php CRe d + Elim inar() : void + Gua rdar() : void + M od ificar() : void + Nue vo() : vo id Red subm i ts + Elim inar() : vo id + Guarda r() : vo id + M odificar() : void + Nuevo() : void link lin k + + + + + + + + + Arm arCon figura cion: String Arm arReg las: String Gen erarCopiaRespald o: String Gen erarDiagno stico: String Gen erarEstadisticas: String Gen erarReporte s: String GestionarAlias: String GestionarRed: String GestionarT ipo: String link

+ Elim in ar() : void + Guardar() : vo id + M odifi car() : void + Nuevo() : void

subm its Estadisticas link + Generar() : void -

Reportes Acercade

Usua rio CI em ail grupo Nom b re telefo no link Usua rio Reportes + + + + su bm its CUsuario + Elim inar() : void + Gua rdar() : void + M od ificar() : void + Nue vo() : void Configura cion + + Ejecuta r() : vo id Nuevo() CopiaRespaldo Diagnos ticos + subm its Configurac ion Interfaz Nom bre Regla build s CConfiguracion + + Ejecuta r() : vo id Nuevo() : void subm its subm its CopiaRespaldo + + Guardar() : vo id Nuevo() : void gene rar() : void + + Gua rdar() : void Nue vo() : vo id Elim inar() : void Guardar() : void M odificar() : void Nuevo() : vo id link lin k link + Ge nerar() : void subm i ts + CRe portes Ge nerar() : void link builds

builds

CDiagnos tico + Genera r() : void builds builds Diagnostico al ias CopiaRespaldo Alias: int Ancho : int ID: in t Priori dad: int Red: int

6.2.4.1.

DIAGRAMA DE NAVEGACION DE ADMINISTRADOR

4 6

ADMINISTRACION DE ANCHO DE BANDA


6.2.4.2. DIAGRAMA DE NAVEGACION GESTIONAR ALIAS
w eb Business Process Mo...

Index Administrador contrasea: string usuario: string Clogin submits contrasea: string usuario: string builds Resultados

Tecnol oga Web

link

Principal.php + + + + + + + + + ArmarConfiguracion: String ArmarReglas: String GenerarCopiaRespaldo: String GenerarDiagnostico: String GenerarEstadisticas: String GenerarReportes: String GestionarAlias: String GestionarRed: String GestionarTipo: String Alias + + + + Eliminar() : void Guardar() : void Modificar() : void Nuevo() : void

link

submits

CAlias + + + + Eliminar() : void Guardar() : void Modificar() : void Nuevo() : void

builds

Alias ID Nombre Tipo

4 6

ADMINISTRACION DE ANCHO DE BANDA


6.2.4.3. GESTIONAR REGLAS
w eb Business Process Mo... Resultados Index CLogin.php submits + + Contrasea: String Usuario: String builds

Tecnol oga Web

+ + Administrador

Contrasea: String Usuario: String

link

Principal.php + + + + + + + + + ArmarConfiguracion: String ArmarReglas: String GenerarCopiaRespaldo: String GenerarDiagnostico: String GenerarEstadisticas: String GenerarReportes: String GestionarAlias: String GestionarRed: String GestionarTipo: String Reglas + + + + Eliminar() : void Guardar() : void Modificar() : void Nuevo() : void

link

submits

CReglas + + + + Eliminar() : void Guardar() : void Modificar() : void Nuevo() : void

builds

Reglas alias anchodebanda id prioridad red

4 6

ADMINISTRACION DE ANCHO DE BANDA 6.2.4.4.


GESTIONAR RED

web Business Process Mo... Resultados Index + + Administrador Contrasea: String Usuario: String submits + + CLogin.php Contrasea: String Usuario: String builds

Tecnol oga Web

link

Principal.php Red + + + + Eliminar() : void Guardar() : void Modificar() : void Nuevo() : void + + + + + + + + + ArmarConfiguracion: String ArmarReglas: String GenerarCopiaRespaldo: String GenerarDiagnostico: String GenerarEstadisticas: String GenerarReportes: String GestionarAlias: String GestionarRed: String GestionarTipo: String

link

submits

CRed + + + + Eliminar() : void Guardar() : void Modificar() : void Nuevo() : void

builds

Red id ip mascara

4 6

ADMINISTRACION DE ANCHO DE BANDA

Tecnol oga Web

6.2.4.5. GESTIONAR DIAGNOSTICOS


w eb Business Process Mo... Resultados Index + + Administrador Contrasea: String Usuario: String submits + + CLogin.php Contrasea: String Usuario: String builds

link

Principal.php + + + + + + + + + ArmarConfiguracion: String ArmarReglas: String GenerarCopiaRespaldo: String GenerarDiagnostico: String GenerarEstadisticas: String GenerarReportes: String GestionarAlias: String GestionarRed: String GestionarTipo: String

Diagnosticos + generar() : void link

submits

CDiagnostico + Generar() : void

builds

Diagnostico alias

4 6

ADMINISTRACION DE ANCHO DE BANDA

7. REFERENCIAS BIBLIOGRAFICAS

Tecnol oga Web

[WWW1] http://www.infor.uva.es/~jvegas/cursos/buendia/pordocente/node11.html

[WWW2] http://www.smarty.net

[WWW3] http://www.lacorona.com.mx/fortiz/adodb/docs-session-es.old.htm

4 6

Вам также может понравиться