53
Capítulo 4 Diseño e implementación 4.1 Diagrama de flujo de datos SISTEMA AUTOMATIZADO PARA EL CONTROL DE TRÁFICO VIAL: SACTVi Los DFDs que representan el funcionamiento a detalle se pueden apreciar en el apéndice D. USUARIO SACTVi ADMINISTRADOR USUARIO ADMINISTRADOR SOLICITUD DE RUTA ÓPTIMA SOLICITUD DE OPERACION RUTA ÓPTIMA GENERADA OPERACIÓN REALIZADA

Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

Capítulo 4

Diseño e implementación

4.1 Diagrama de flujo de datos SISTEMA AUTOMATIZADO PARA EL CONTROL DE TRÁFICO VIAL: SACTVi Los DFDs que representan el funcionamiento a detalle se pueden apreciar en

el apéndice D.

USUARIO

SACTVi

ADMINISTRADOR

USUARIOADMINISTRADOR

SOLICITUD DE RUTA ÓPTIMA

SOLICITUD DE OPERACION

RUTA ÓPTIMA GENERADA

OPERACIÓN REALIZADA

Page 2: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

4.2 Diccionario de datos SOLICITUD DE RUTA ÓPTIMA= origen + destino.

SOLICITUD DE OPERACIÓN = altas bajas o modificaciones a base de datos.

OPERACIÓN REALIZADA = final de operación realizada.

RUTA ÓPTIMA GENERADA = Dijkstra genera ruta óptima, se visualiza en mapa.

CONFIRMACIÓN DE RUTA ÓPTIMA = ruta es mandada a vigilancia continua.

SOLICITUD GENERACIÓN NUEVA RUTA = si ruta optima tiene problemas, se

solicita una nueva.

SOLICITUD DE LUGAR ORIGEN = identificar el lugar origen.

SOLICITUD DE LUGAR DESTINO = identificar el lugar destino.

SOLICITUD DE TIPO DE OPERACIÓN = identificar que tipo de operación va a hacer

el administrador, altas, bajas o modificaciones.

DESTINO DEFINIDO =el destino ya identificado es mandado a generar ruta óptima.

ORIGEN DEFINIDO = el origen ya identificado es mandado a generar ruta óptima.

TIPO DE OPERACIÓN = la operación identificada es mandada es mandada a realizar

operación.

OPERACIÓN REALIZADA = se ejecuta la operación deseada y se manda la

notificación al administrador.

MODO ORIGEN PREDEFINIDO = se identifica que el modo de origen fue predefinido

y este dato se manda a definir origen predefinido.

MODO ORIGEN POR MAPA = se identifica que el modo de origen fue por mapa y

este dato se manda a definir origen por mapa.

MODO ORIGEN LLENADO FORMA =se identifica que el modo de origen fue por

usuario y este dato se manda a definir origen por usuario.

MODO DESTINO PREDEFINIDO = usuario prefiere seleccionar destino identificado

en base de datos de manera directa

MODO DESTINO POR MAPA = se identifica que el modo de destino fue por mapa y

este dato se manda a definir destino por mapa.

MODO DESTINO LLENADO FORMA = se identifica que el modo de destino fue por

usuario y este dato se manda a definir destino por usuario.

RUTA ÓPTIMA DEFINIDA = Dijsktra genera la ruta optima.

ANÁLISIS OBTENIDO = ruta optima es analizada a través de imágenes de la misma.

Page 3: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

NOMBRE DE BASE DE DATOS

COMPOSICIÓN ORGANIZACIÓN

sactvi Aeropuertos bloqueoImagen calle callesAdyacentes caracteristicasClave centrosComerciales escuelas estructurasFisica gasolineras horasPico hospitales

idCalle nombreAeropuerto idCalle Tipo idCalle nombre nombreImagen limiteVelocidad situación longitud sentido tipo carriles idCalle idCalleAd idCalle nombreC caracteristicas clave idCalle nombreCC idCalle nombreEscuelas Tipo Nivel idCalle estado nsemáforos ntopes idCalle nombreGasolinera idCalle horaInicial horaFinal idCalle nombreHospital horario especialidad

Page 4: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

hoteles iglesias lugaresRecreativos monumentos museos oficinasGobierno parques plantilla restaurantes rutaOptima

tipo idCalle nombreHotel caracteristicas estrellas idCalle nombreIglesia caracteristicas idCalle nombreLR tipo idCalle nombreMonumento caracteristicas idCalle nombreMuseo horario tipo idCalle nombreOG idCalle nombreParque idCalle nombreImagen rangoPixeles nodoInicial nodoFinal idCalle nombreRestaurante tipo idCalle nombreImagen rangoPixeles nodoInicial nodoFinal

Page 5: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

4.3 Miniespecificaciones 1.1 IDENTIFICAR TAREA A REALIZAR

1. Por cada Solicitud de Servicio o Tarea hacer lo siguiente:

2. Identificar el tipo de acción la cuál puede ser:

3. Generar una ruta óptima

4. Realizar una operación

5. Generar renovación de ruta óptima

1.2.1 IDENTIFICAR MODO DE DEFINICIÓN ORÍGEN

1. Por cada Solicitud de Lugar Origen hacer lo siguiente:

2. Identificar el tipo de selección del lugar origen que puede ser:

3. Por mapa

4. Por usuario

5. Por origen predefinido

1.2.2 DEFINIR ORIGEN POR MAPA

1. Por cada Solicitud de Origen por Mapa hacer lo siguiente:

2. Localizar la zona sobre mapa donde mouse hizo referencia

3. Relacionar zona de mapa con datos en la base correspondientes a calles

1.2.3 DEFINIR ORIGEN POR USUARIO

1. Por cada Solicitud de Origen por Usuario hacer lo siguiente:

2. Solicitar a usuario dato que identifique al origen y puede ser:

3. Dirección

4. Colonia

5. Calle

6. Claves

7. Relacionar dato de usuario con datos en la base correspondientes a calles

1.2.4 DEFINIR ORIGEN PREDEFINIDO

1. Por cada Solicitud de Origen Predefinido:

2. Obtener de base de datos lugares mas importantes de zona especificada por

el usuario

Page 6: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

1.3.1 IDENTIFICAR MODO DE DEFINICIÓN DESTINO

1. Por cada Solicitud de Lugar Destino hacer lo siguiente:

2. Identificar el tipo de selección del lugar destino que puede ser:

3. Por mapa

4. Por usuario

5. Por destino predefinido

1.3.2 DEFINIR DESTINO POR MAPA

1. Por cada Solicitud de Destino por Mapa hacer lo siguiente:

2. Localizar la zona sobre mapa donde mouse hizo referencia

3. Relacionar zona de mapa con datos en la base correspondientes a calles

1.3.3 DEFINIR DESTINO POR USUARIO

1. Por cada Solicitud de Destino por Usuario hacer lo siguiente:

2. Solicitar a usuario dato que identifique al destino y puede ser:

3. Dirección

4. Colonia

5. Calle

6. Claves

7. Relacionar dato de usuario con datos en la base correspondientes a calles

1.3.4 DEFINIR DESTINO PREDEFINIDO

1. Por cada Solicitud de Destino Predefinido:

2. Obtener de base de datos lugares mas importantes de zona especificada por

usuario

1.4.1 APLICAR ALGORITMO DIJKSTRA

1. Por cada Solicitud de Generar Ruta Optima se ejecutará el algoritmo

del camino más corto restringido por datos de base

1.4.2 VISUALIZAR RUTA ÓPTIMA

1. Por cada Solicitud de Generar Ruta Optima se visualizará en un mapa la ruta

resultado del algoritmo

1.5 DEFINIR TIPO DE OPERACIÓN

1. Por cada Solicitud de Operación de Administrador se realiza lo siguiente:

2. Identificar el tipo de Operación que puede ser:

3. Alta de algún dato de la red vial

4. Baja de algún dato de la red vial

Page 7: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

5. Modificación de datos de la red vial

1.6 REALIZAR OPERACIÓN

1. Por cada Solicitud de Operación de Administrador identificada hacer lo siguiente:

2. Conectar a base de datos

3. Realizar operación

2.1 ANALIZAR RUTA ÓPTIMA

1. Por cada Solicitud de Generar Ruta Optima hacer lo siguiente:

2. Vigilar ruta óptima generada

3. Procesar imagen y definir problemas en zona de ruta óptima

2.2 DECIDIR ESTADO DE RUTA ÓPTIMA

1. Por cada Solicitud de Análisis de Ruta Optima hacer lo siguiente:

2. Establecer condiciones y concluir características de ruta óptima

3. Definir si la ruta óptima es aún factible o no

Page 8: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

idCalleAd

callesAdyacentes

idCalle

nombreCalleAd

Calle-callesAdy

acentes

mapaDivision-Calle

claveEstado

mapaDivision

claveMunicipio estado

municipio

password

administradores

id nombres

apellidoP

apellidoM

estructuraFisica

idCalle nTopes

nSemaforos

estado

Calle-estructura

Fisica

calle

Tipo

situacion idCalle

caracteristicasClave

nombreImagen

nombre carriles

limiteVelocidad

claveMunicipio

sentido

longitud

costo

Calle-

horasPico

horasPico idCalle

horasPico

4.4 Diagrama entidad-relación de la base de datos SAC i

Page 9: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

La definición detallada del diagrama entidad-relación se encuentra en el

apéndice D.

4.5 Información de la Base de Datos

Las tablas utilizadas por el sistema SACTVi son las siguientes: administradores,

aeropuertos, calle, callesAdyacentes, centrosComerciales, escuelas, estructuraFisica,

gasolineras, horasPico, hospitales, hoteles, iglesias, imagenesSatelite,

lugaresRecreativos, mapaDivision, monumentos, museos, oficinasGobierno, parques,

pixelsImagen, plantilla, puntosImagen, restaurantes, rutaOptima.

4.5.1 Descripción de las Relaciones y Campos

Administradores: Relación que almacena los nombres completos, passwords, y

ids de las personas que pueden tener acceso a la base de datos de SACTVi con el fin de

administrarla.

Nombre

del Campo Tipo de Dato Nulo Llave Valor por

default Extra Descripción del

Campo Id varchar(10) No Primary

key Ninguno Nada Id del

administrador. Password varchar(10) No No Ninguno Nada Password del

administrador. Nombres varchar(40) No No Ninguno Nada Nombres del

administrador. ApellidoP varchar(30) No No Ninguno Nada Apellido Paterno

del administrador. ApellidoM varchar(30) No No Ninguno Nada Apellido Materno

del administrador.

Aeropuertos: Relación que almacena el nombre de los aeropuertos que hay en

una calle en particular.

Nombre del Campo Tipo de

Dato Nulo Llave Valor por

default Extra Descripción

del Campo IdCalle bigint(8) No No 0 Nada Id de la calle

donde se encuentra el aeropuerto.

nombreAeropuerto varchar(100) No Primary key

Ninguno Nada Nombre del aeropuerto.

Page 10: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

Calle: Relación que almacena las características principales de cada una de las

calles dadas de alta por el administrador.

Nombre del

Campo Tipo de

Dato Nulo Llave Valor

por default

Extra Descripción del Campo

IdCalle bigint(8) No Primary key

Null auto_ incre-ment

Id de la calle.

claveMunicipio varchar(10) No No Ninguno Nada Clave del municipio al que pertenece la calle.

Nombre varchar(100) No No Ninguno Nada Nombre de la calle. nombreImagen varchar(100) No No Ninguno Nada Nombre de la

imagen a la que esta asociada la calle.

limiteVelocidad smallint(3) No No 0 Nada Limite de velocidad de la calle.

Situación Varchar(40) No No Ninguno Nada Situación de la calle. Longitud int(5) No No 0 Nada Longitud de la calle. Sentido Varchar(40) No No Ninguno Nada Sentido de la calle. Tipo Varchar(40) No No Ninguno Nada Tipo de material del

que esta hecha la calle.

Carriles tinyint(1) No No Ninguno Nada Carriles que tiene calle.

caracteristicasClave Text No No Ninguno Nada Características que pueden ser relevantes sobre la calle.

Costo int(8) No No 0 Nada Costo que se le da a la calle al momento de darla de alta en base a ciertas características.

CallesAdyacentes: Relación que almacena las calles adyacentes que tiene cada

calle almacenada en la relación calle.

Nombre del

Campo Tipo de Dato Nulo Llave Valor por

default Extra Descripción

del Campo IdCalle bigint(8) No No 0 Nada Id de la calle a

la que está relacionada la calle adyacente.

nombreCalleAd Varchar(100) No No Ninguno Nada Nombre de la calle adyacente.

idCalleAd bigint(8) Primary key

null auto_ incre-ment

Id de la calle adyacente.

La definición del resto de las tablas se encuentra en el apéndice D.

Page 11: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

4.6 Definición de clases y operaciones

4.6.1 Diagrama de paquetes

Jsps

+ErrorDecisionUsuario +origenDestino +decisiones +ErrorOrigenDestino

Htmls Classes +caracteristicas +caracteristicasCalle +decisionesDefinicion +decisionUsuario +OrigenDestino +principal +PrinPuebla +Recorridob +sactviSACholula

+Arista +BajaImagenes +BDSactvi +calle +callesImagen +callesInfo +camino +camposActualizar +caracteristicasCallesServlet +Consultas +ConsultasCosto +controlRuta +coordenadas +Costos +crearNodosImagen +datosEscuela +datosHospital +datosHotel +datosIglesia +datosLugarRecreativo +datosMonumento +datosMuseo +datosRestaurante +decisionDefineServlet +DecisionServlet +desicionAdmin +Dijkstra +ecuacionRecta +editarCalles +espacio +estadoFlujo +ImageFileView +ImageFilter +ImagePreview +muestraSeleccion +Nodo

Page 12: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

+nodos +OrigenDestinoServlet +polar +principalSACTi +procesoImagen2 +punto +puntoNodo +puntoRecta +Recorridob +regionCalle +ruta +rutab +rutaOptimaBase +Satelite +suministradorImagenes +Tres +Triple +Utils +zona

4.6.2 Factores críticos de éxito

a) El administrador del programa debe usar ortofotos (fotos en escala de grises de

las calles del municipio en cuestión) escala 1 a 1000.

b) La imagen no es dada de alta en la base, solo el nombre de ésta, por lo cual la

imagen que se dé de alta debe estar en un path especificado.

c) El administrador al procesar la foto deberá dar click en todas las esquinas de las

calles para que el programa pueda identificar que es calle y que no en la imagen

y así poder construir el grafo correspondiente.

d) La base de datos se debe encontrar estable y sus datos deben ser consistentes.

Page 13: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

4.6.3 Diagramas de Clase

Nombre: BajaImagenes

-frame: JFrame -nuevof: JFrame -file: File -fc : JFileChooser -principal: JPanel -des :int -campo : JTextField -sampleJList : JList -dato: String -sampleModel: DefaultListModel -ff: JFrame -f: JFrame -activar: int -botonBaja: JButton -botonModificar: JButton -botonVisualizar: JButton -layerStrings: String[] -contador: int -muni: String -estad: String -administrador: String -gg: int -r: int

+setDialogo(f: JFrame) +BajaImagenes(estado:String,municipio:String, administra: String) +buscadorImagenes(): Vector +darDeBajaImagen(compara: String) +baja(nIma: String) +mostrarInformacion(compara: String) +guardaImagen(archivo: String)

Nombre: Arista

-origen: String -destino: String -peso: String

Page 14: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

Nombre: BDSactvi

-driver: String -url_User_Password: String -select: String -con: String

+BDSactvi() +ObtenerConexion() +crear_statmt () +instruccion_a_ejecutar(instruction: String) +instruccion_que_actualiza(instruction2: String) +Desconexion()

Nombre: calle

+encuentraCallesAnulado(nodos: Vector, verdes: Vector) +encuentraCalles(nodos: Vector, verdes: Vector) +defineExtremosCalles(nodos: Vector) +nodosDeCalles(nodos: Vector, calles: Vector) +definiendoAristas(callesdeRed: Vector, nombreImagen: String) +buscaPeso( origen: coordenadas, destino: coordenadas, pesos:Vector)

Nombre: callesImagen

-Frame: frame -principal: JPanel -campo: JTextField -nombreC: String -eCalles editarCalles -xs: int -muni: String -entreCalle: int -ancho: int -altura: int -areaScrollPane: JScrollPane -m: JPanel -displayPanel: JPanel -phaseIconLabel: JLabel -ff: JFrame -f: JFrame -bandera: int -bad: int -contenedorNodos: Vector -nod: nodos -ad: String -calC: Vector -zz: int -callesSeleccionadas: int []

Page 15: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

+setDialogo(f: JFrame) +callesImagen(archivo: String, administrador: String, xx int, edC: editarCalles,callesCompletas: Vector, municipio: String) +addWidgets() +emergente(nodoInicial: String, nodoFinal String, pixels: String) +setRegreso(z: int) +busquedaCalles(): Vector +ConsultaImagen(): Vector +guardaImagen(archivo: String): int

Nombre: callesInfo

-f: JFrame -principal: JPanel -splitPane: JSplitPane -Campo_nombreCalle: JTextField -Campo_limiteVelocidad: JTextField -Campo_longitud: JTextField -Campo_calleAdyacente1: JTextField -Campo_calleAdyacente2: JTextField -Campo_calleAdyacente3: JTextField -Campo_calleAdyacente4: JTextField -Campo_calleAdyacente5: JTextField -Campo_Horas: JTextField -cImagen: callesImagen -nInicial: String -nFinal: String -pixels: String -nombreCalleBase: String -LimiteVelocidadCalleBase: String -SituacionCalleBase: String -LongitudCalleBase: String -SentidoCalleBase: String -TipoCalleBase: String -CarrilesBase: String -CaracteristicasClaveCalleBase: String -EstadoCalleBase: String -NSemaforosCalleBase: String -NTopesCalleBase: String -HorasPicoCalleBase: String -aerop: Vector -centroc: Vector -esc: Vector - gas: Vector -hosp: Vector -igl: Vector -hotl: Vector

Page 16: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

+ cambiar() + infoCalle() + calculaCostoCalle() + callesInfo(cI: callesImagen, nI: String, nF: String, pix String, muni: String, nombreC: String) + cambioAeropuerto() + cambioCentroComercial() + cambioEscuela() + cambioGasolinera() + cambioHospital() + cambioIglesia() + cambioHotel() + cambioLugarRecreativo() + cambioMonumento()

-lr: Vector -mon: Vector -mus: Vector -ofg: Vector -par: Vector -restaurant: Vector -dato1: String -dato2: String -dato3: String -dato4: String -dato5: String -dato6: String -dato7: String -dato8: String -dato9: String -dato10: String -dato11: String -dato12: String -dato13: String -dato14: String -dato15: String -dato16: String -dato17: String -municipio: String -nombreImagen: String -num: String[] -model: SpinnerModel -spinner: JSpinner -num2: String[] -model2: SpinnerModel -spinner2: JSpinner -claves1: JTextArea

Page 17: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

Los diagramas del resto de nuestras clases se encuentran en el apéndice D. 4.7 Procesos Detallados

4.7.1 Sistema Automatizado para el Control del tráfico vial (SACTVi)

El sistema está conformado por dos bloques (administrador, usuario), el que se

encarga de administrar la base de datos y dar de alta las calles de los estados y

municipios; y el otro que es una página dinámica con la que cualquier persona podrá

interactuar vía Internet. A través de ella el usuario podrá visualizar la información que

se solicite referente a las redes de calles que estén dadas de alta en la base.

4.8 Descripción y terminología

4.8.1 Administrador SACTVi

El programa administrador de SACTVi tiene como fin proporcionar al

administrador una interfaz por la cual él pueda manejar la base de datos de SACTVi de

una manera sencilla. Para ello, la herramienta cuenta con tres secciones las cuales son

altas y actualizaciones de una imagen, baja de la imagen y actualización de los datos.

Antes de poder ingresar a una de estas tres opciones, el sistema pedirá un id y password

previamente asignado para poder entrar. Cada vez que se seleccione una de las tres

opciones, el sistema pide el password del estado y del municipio con el que se desee

trabajar.

4.8.1.1 Altas y actualizaciones de una imagen

En esta sección, el administrador puede:

a) Dar de alta el nombre de las ortofotos, así como sus esquinas para que el

programa identifique la red de calles de determinada zona. También, al terminar el

+ cambioMuseo() + cambioOficinaGobierno() +cambioParque() + cambioRestaurante() + revisaCalle(): int + darAltaCalle()

Page 18: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

proceso anterior el administrador podrá dar de alta las características propias de cada

una de las calles identificadas, tales como su nombre, el número de semáforos que tiene,

sus horas pico en cuanto al tráfico, la velocidad máxima de la calle, el número de topes,

la longitud de la calle, las calles adyacentes de ésta, el estado de la calle, el material del

que esta hecha, su situación actual y los establecimientos o zonas importantes

localizadas en ellas.

b) Si el administrador por alguna razón no terminó de definir todas las esquinas,

podrá hacerlo en el momento que el quiera, ya que la herramienta te permite seguir

editando la imagen tantas veces que tu quieras, pero solo las partes de la imagen que no

han sido editadas ya que si tratas de editar una parte ya editada, el programa te lo

indicará.

c) Si hubo algún problema con la identificación de las calles, la imagen se podrá

dar de baja con la sección baja de la imagen.

d) Después de haber editado la imagen, nuestra herramienta procede a identificar

las calles mediante la aplicación de un filtro que genera una imagen de color anaranjado

rojizo útil para diferenciar las calles del resto de la imagen; después, ésta imagen es

filtrada nuevamente eliminando los colores menos fuertes de la imagen a un color

blanco y los colores más fuertes a un color azul. Terminado esto, la imagen es

segmentada en n partes iguales y en cada una de ellas es aplicada la transformada de

Hough, la cuál obtiene pendientes infinitas usando píxeles alineados (calles), estos

píxeles y los nodos dados por el usuario ayudarán a definir el grafo.

e) Al terminar este procedimiento (no mayor a 5 minutos), el usuario ya podrá

dar de alta las características de las calles reconocidas, únicamente tendrá que dar un

clic en la calle que desea dar de alta y entonces se le presentará una nueva ventana con

campos de texto que se tendrán que llenar con la información que se pide. Una vez

llenada tal forma, se confirmará el almacenado de la información.

f) Si no se terminó el proceso de dar de alta a todas las calles reconocidas, el

usuario podrá volver a entrar sin ningún problema y continuar. Con la información de la

calle, a ésta se le dará un costo de ruta, el cual será útil para determinar las rutas que

permitirán llegar de un punto a otro a través de la red de grafos que se construye con

Dijkstra. Este costo es calculado en base al estado de la calle, la situación actual de ésta,

y por el número de semáforos, topes y carriles con los que cuenta.

Page 19: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

4.8.1.2 Baja de la imagen

En esta sección, el usuario podrá dar de baja toda una red de calles de una zona

al momento de dar de baja la imagen correspondiente a esas calles.

a) Para dar de baja una imagen, el sistema muestra una lista de las imágenes que

están dadas de alta para determinada zona (en este caso una imagen), esto da la

oportunidad de seleccionar una imagen para eliminarla del sistema.

4.8.1.3 Actualización de los datos

En esta parte del sistema, el administrador podrá realizar modificaciones a la

información correspondiente a una calle de una zona en particular.

a) El administrador deberá elegir una zona, luego, el sistema proporciona una

lista de las calles ingresadas al sistema dentro la zona seleccionada. La información de

cada calle de la lista podrá ser actualizada afectando algún dato de la misma, se podrán

agregar calles adyacentes, establecimientos, o algún otro dato.

b) También se podrá conocer la información referente a una calle y dar de alta

alguna calle.

4.8.2 Usuario, página dinámica de SACTVi

Este bloque contempla la interacción con el usuario de la web que se interese en

saber el estado de una calle, su situación actual, y conocer la ruta que más le convenga

en relación al lugar en donde se encuentra y al lugar a donde desea ir. Una vez calculada

la ruta, se simulará una constante vigilancia en ella ya que podría surgir un problema en

una de las calles pertenecientes a la ruta dada. Si ocurre algún problema, la ruta se

calcula nuevamente y se muestra al usuario otra vía alterna dependiendo del nuevo

punto de origen en el que se encuentre.

Para que se pueda realizar esto último, se simula la situación: mediante una

animación que proporciona la posición en la que se encuentra el móvil y que simula la

obtención de las imágenes que informan la situación actual de la ruta, el sistema decide

si recalculará o no la ruta. La decisión se basa en comparar imágenes que se obtienen

para determinar si hubo un cambio o no en la escena que se refiere la ruta.

Page 20: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

4.9 Funcionalidad

4.9.1 Descripción de pantallas

4.9.1.1 Administrador SACTVi

Interfaz Principal

Descripción de campos Nombre Tipo Longitud Valor

InicialPropiedades Liga Campo en BD

Ingresa tu ID

Campo de

texto

10 - Su contenido es variable y depende de

los datos que se tengan en

la base.

- Mysql.Sactvi.id

Ingresa tu

password

Campo de

texto

10 - Su contenido es variable y depende de

los datos que se tengan en

la base.

- Mysql.Sactvi.password

Page 21: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

Operaciones

Nombre Evento Operación Argumentos Outputs Continuar Clic ingresar El id y

password ingresados

Si el id o password

fueron incorrectos entonces te

avisa del error. Si el id y

password son correctos

entonces el proceso se

direcciona a la siguiente venta de selección de

operaciones. Limpiar Clic borrar ninguno Borra los

campos de texto.

Interfaz de Bienvenida y de selección de las operaciones principales

Page 22: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

Descripción de campos

Nombre Tipo Longitud Valor Inicial

Propiedades Liga Campo en BD

Dar de alta o

modificar una

imagen

Selector - No esta seleccionado

Depende si lo selecciona o

no el administrador

- -

Dar de baja una imagen

Selector - No esta seleccionado

Depende si lo selecciona o

no el administrador

- -

Actualizar datos

Selector - No esta seleccionado

Depende si lo selecciona o

no el administrador

- -

Operaciones

Nombre Evento Operación Argumentos Outputs

Continuar click Continuar con el siguiente

El tipo de elección

elegida por el administrador

Si se selecciono dar

de alta o modificar una

imagen el proceso te

direcciona al siguiente

proceso que consiste en

seleccionar la región del país

en la cual deseas trabajar.

Esto mismo ocurre en las

otras dos opciones.

Salir click Salir del programa

- -

Page 23: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

Interfaz de selección del estado y municipio

Descripción de campos

Nombre Tipo Longitud Valor Inicial

Propiedades Liga Campo en BD

Clave del estado

Campo de

texto

10 - Depende de lo que este

dado de alta en la base.

- Mysql.Sactvi.mapaDivision.claveEstado

Clave del municipio

Campo de

texto

10 - Depende de lo que este

dado de alta en la base.

- Mysql.Sactvi.mapaDivision.claveMunicipio

Operaciones

Nombre Evento Operación Argumentos Outputs Continuar click Continuar con

el proceso La clave del estado y del municipio

dados por el administrador

Si la clave del estado o del municipio

estuvo mal, te aparece una

pantalla que te indicara esto.

En caso contrario, el proceso se

direcciona a la pantalla de dar

de alta una imagen

Limpiar click Borrar - Borra lo que se halla escrito los

campos de texto

La definición detallada del resto de nuestro sistema se puede apreciar en el apéndice D

4.9.1.2 Página dinámica SACTVi

Page 24: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

Página principal

http://localhost:8080/SACTVi/htmls/principal.html

Descripción de campos

Nombre Tipo Longitud Valor

Inicial Propiedades Liga Campo

en BD ¿Quienes somos?

Link - - - localhost:8080/SACTVi/htmls/quienesSomos.html -

Nuestro objetivo

Link - - - localhost:8080/SACTVi/htmls/nuestroObjetivo.html -

Proyectos Link - - - localhost:8080/SACTVi/htmls/Proyectos.html - Estado Link - - - localhost:8080/SACTVi/htmls/PrinPuebla.html -

Página Principal de Puebla

Page 25: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

http://localhost:8080/SACTVi/htmls/PrinPuebla.html

Descripción de campos

Nombre Tipo Longitud Valor

InicialPropiedades Liga Campo

en BD ¿Quiénes somos?

Link - - - localhost:8080/SACTVi/htmls/ quienesSomos.html

-

Nuestro objetivo

Link - - - localhost:8080/SACTVi/htmls/ nuestroObjetivo.html

-

Proyectos Link - - - localhost:8080/SACTVi/htmls/ Proyectos.html

-

Municipio Link - - - localhost:8080/SACTVi/htmls/ sactviSACholula.html

-

Página principal de SACTVi-San Andrés Cholula

Page 26: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

http://localhost:8080/SACTVi/htmls/sactviSACholula.html

Descripción de campos

Nombre Tipo Longitud Valor

InicialPropiedades Liga Campo

en BD Información Link - - - localhost:8080/SACTVi/htmls/

Info.html -

Ayuda Link - - - localhost:8080/SACTVi/htmls/ ayuda.html

-

Características de Ruta

Link - - - localhost:8080/SACTVi/htmls/ caracteris.html

-

Obtención de Ruta

Link - - - localhost:8080/SACTVi/htmls/ decisionUsuario.html

-

Mapa de México

Link - - - Localhost:8080/SACTVi/htmls/principal.html

-

Página Principal

Link - - - localhost:8080/SACTVi/htmls/ sactviSACholula.html

-

SCT Link - - - www.sct.gob.mx/ - Transito Link - - - www.roadsafety.cl/html/lineas/

conductor/reglas.html -

Red de caminos

Link - - - comercial.mural.com/mapas/ -

Decisión usuario 1

Page 27: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

Opciones:

1.1 Si 1.2 No 1.3

Descripción de campos

Nombre Tipo Longitud Valor Inicial

Propiedades Liga Campo en BD

Información Link - - - localhost:8080/SACTVi/htmls/ Info.html

-

Ayuda Link - - - localhost:8080/SACTVi/htmls/ ayuda.html

-

Características de Ruta

Link - - - localhost:8080/SACTVi/htmls/ caracteris.html

-

Obtención de Ruta

Link - - - localhost:8080/SACTVi/htmls/ decisionUsuario.html

-

Mapa de México

Link - - - localhost:8080/SACTVi/htmls/ principal.html

-

Página Principal

Link - - - localhost:8080/SACTVi/htmls/ sactviSACholula.html

-

SCT Link - - - www.sct.gob.mx/ - Transito Link - - - www.roadsafety.cl/html/lineas/

conductor/reglas.html -

Red de caminos

Link - - - Comercial.mural.com/mapas/ -

Page 28: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

Operaciones

Nombre Evento Operación Argumentos Outputs Continuar Clic continuar La decisión

dada por el usuario

Si el usuario eligió si,

entonces el proceso se

direcciona a mostrarle al usuario otra pantalla de

selección. Si eligió no

entonces el proceso se

direcciona a mostrarle a usuario dos

áreas de texto en donde el

usuario podrá dar

características de las calle en

que se encuentra y de la que quiere ir.

4.9.1.2.1 Definiendo la forma de definir el origen y destino

Page 29: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

http://localhost:8080/SACTVi/servlet/Sactvi.DecisionServlet

Opciones: a) Definir el origen y el destino desde un mapa. b) Definir el origen y el destino desde una lista de calles del municipio.

Descripción de campos

Nombre Tipo Longitud Valor Inicial

Propiedades Liga Campo en BD

Información Link - - - localhost:8080/SACTVi/htmls/ Info.html

-

Ayuda Link - - - localhost:8080/SACTVi/htmls/ ayuda.html

-

Características de Ruta

Link - - - localhost:8080/SACTVi/htmls/ caracteris.html

-

Obtención de Ruta

Link - - - localhost:8080/SACTVi/htmls/ decisionUsuario.html

-

Mapa de México

Link - - - Localhost:8080/SACTVi/htmls/principal.html

-

Página Principal

Link - - - localhost:8080/SACTVi/htmls/ sactviSACholula.html

-

SCT Link - - - www.sct.gob.mx/ - Transito Link - - - www.roadsafety.cl/html/lineas/

conductor/reglas.html -

Red de caminos

Link - - - comercial.mural.com/mapas/ -

Page 30: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

Operaciones

Nombre Evento Operación Argumentos Outputs

Continuar Clic continuar La decisión dada por el

usuario

Si el usuario eligió desde un mapa, entonces el proceso se direcciona a mostrarle al usuario un

mapa sensitivo donde elegirá

el origen y destino. Si

eligió desde una lista,

entonces el proceso se

direcciona a mostrarle al usuario una lista de las

calles que hay dadas de alta en la base,

tanto para el origen y destino.

4.9.1.2.2 Definir el origen y el destino desde una lista de calles del

municipio

Page 31: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

http://localhost:8080/SACTVi/servlet/Sactvi.decisionDefineServlet

Descripción de campos

Nombre Tipo Longitud Valor Inicial

Propiedades Liga Campo en BD

Información Link - - - localhost:8080/ SACTVi/htmls/

Info.html

-

Ayuda Link - - - localhost:8080/ SACTVi/htmls/

ayuda.html

-

Características de Ruta

Link - - - localhost:8080/ SACTVi/htmls/ caracteris.html

-

Obtención de Ruta

Link - - - localhost:8080/ SACTVi/htmls/

decisionUsuario.html

-

Mapa de México

Link - - - Localhost:8080/ SACTVi/htmls/ principal.html

-

Página Principal

Link - - - localhost:8080/ SACTVi/htmls/

sactviSACholula.html

-

SCT Link - - www.sct.gob.mx/ - Transito Link - - www.roadsafety.cl/ -

Page 32: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

html/lineas/ conductor/reglas.html

Red de caminos

Link - - Comercial.mural.com/ mapas/

-

Conjunto de selectores

selectores 100 Las calles dadas de alta en la base de

este municipio

Las calles que escogió el usuario.

- Mysql.Sactvi.calle.nombre

Operaciones

Nombre Evento Operación Argumentos Outputs

Continuar click Continuar La calle elegida por el usuario como

origen y la calle elegida

como destino.

Si el usuario eligió

correctamente las calles

entonces se calculara la

ruta óptima, en caso contrario se indicara en

donde se encontró el

error.

Proceso de obtención de ruta exitoso

Page 33: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

http://localhost:8080/SACTVi/servlet/Sactvi.OrigenDestinoServlet

Descripción de campos

Page 34: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

Nombre Tipo Longitud Valor Inicial

Propiedades Liga Campo en BD

Información Link - - - localhost:8080/SACTVi/htmls/ Info.html

-

Ayuda Link - - - localhost:8080/SACTVi/htmls/ ayuda.html

-

Características de Ruta

Link - - - localhost:8080/SACTVi/htmls/ caracteris.html

-

Obtención de Ruta

Link - - - localhost:8080/SACTVi/htmls/ decisionUsuario.html

-

Mapa de México

Link - - - Localhost:8080/SACTVi/htmls/principal.html

-

Página Principal

Link - - - localhost:8080/SACTVi/htmls/ sactviSACholula.html

-

SCT Link - - - www.sct.gob.mx/ - Transito Link - - - www.roadsafety.cl/html/lineas/

conductor/reglas.html -

Red de caminos

Link - - - Comercial.mural.com/mapas/ -

Mediante una animación

Link - - -

Mediante un mapa

Link - - - -

Animación del resultado de la ruta Óptima

Page 35: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

D:\tomcat\Tomcat41\webapps\SACTVi\WEB-INF\classes\Recorridob.html

Operaciones

Nombre Evento Operación Argumentos Outputs Inicio click Inicia la

animación Los puntos de la ruta óptima

Se mueve una pelotita blanca que simula a

un carro recorriendo la ruta óptima.

Fin click Termina con la animación

Los puntos de la ruta óptima

Se termina la simulación.

Desastre click Simula un desastre

- Se calcula otra ruta.

4.9.1.2.3 Definición de la calle origen y destino mediante características dadas por el usuario

Page 36: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

http://localhost:8080/SACTVi/servlet/Sactvi.DecisionServlet

Descripción de campos

Nombre Tipo Longitud Valor Inicial

Propiedades Liga Campo en BD

Información Link - - - localhost:8080/SACTVi/htmls/ Info.html

-

Ayuda Link - - - localhost:8080/SACTVi/htmls/ ayuda.html

-

Características de Ruta

Link - - - localhost:8080/SACTVi/htmls/ caracteris.html

-

Obtención de Ruta

Link - - - localhost:8080/SACTVi/htmls/ decisionUsuario.html

-

Mapa de México

Link - - - Localhost:8080/SACTVi/htmls/principal.html

-

Página Principal

Link - - - localhost:8080/SACTVi/htmls/ sactviSACholula.html

-

SCT Link - - - www.sct.gob.mx/ - Transito Link - - - www.roadsafety.cl/html/lineas/

conductor/reglas.html -

Red de caminos

Link - - - Comercial.mural.com/mapas/ -

Operaciones

Page 37: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

Nombre Evento Operación Argumentos Outputs Aceptar click Continua con

el proceso Las

características del origen y

destino dadas por el usuario.

Obtiene una lista de las

calles que se asemejan a las características

que diste. Limpiar click Borrar - Borra las áreas

de texto

http://localhost:8080/SACTVi/servlet/Sactvi.OrigenDestinoServlet

Descripción de campos Nombre Tipo Longitud Valor

InicialPropiedades Liga Campo

en BD Información Link - - localhost:8080/SACTVi/htmls/

Info.html -

Ayuda Link - - localhost:8080/SACTVi/htmls/ ayuda.html

-

Características de Ruta

Link - - localhost:8080/SACTVi/htmls/ caracteris.html

-

Obtención de Ruta

Link - - localhost:8080/SACTVi/htmls/ decisionUsuario.html

-

Page 38: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

Mapa de México

Link - - Localhost:8080/SACTVi/htmls/ principal.html

-

Página Principal

Link - - localhost:8080/SACTVi/htmls/ sactviSACholula.html

-

SCT Link - - www.sct.gob.mx/ - Transito Link - - www.roadsafety.cl/html/lineas/

conductor/reglas.html -

Red de caminos

Link - - Comercial.mural.com/mapas/ -

Intentalo nuevamente

Link - - localhost:8080/SACTVi/ htmls/

decisionesDefinicion.html

- -

http://localhost:8080/SACTVi/servlet/Sactvi.OrigenDestinoServlet

Page 39: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

Descripción de campos

Nombre Tipo Longitud Valor

InicialPropiedades Liga Campo

en BD Información Link - - - localhost:8080/SACTVi/htmls/

Info.html -

Ayuda Link - - - localhost:8080/SACTVi/htmls/ ayuda.html

-

Características de Ruta

Link - - - localhost:8080/SACTVi/htmls/ caracteris.html

-

Obtención de Ruta

Link - - - localhost:8080/SACTVi/htmls/ decisionUsuario.html

-

Mapa de México

Link - - - Localhost:8080/SACTVi/htmls/principal.html

-

Página Principal

Link - - - localhost:8080/SACTVi/htmls/ sactviSACholula.html

-

SCT Link - - - www.sct.gob.mx/ - Transito Link - - - www.roadsafety.cl/html/lineas/

conductor/reglas.html -

Red de caminos

Link - - - Comercial.mural.com/mapas/ -

Intentalo nuevamente

Link - - - localhost:8080/SACTVi/htmls/ decisionesDefinicion.html

-

4.10 Análisis de Requerimientos

4.10.1 Panorama general

Este sistema tiene los 3 objetivos siguientes:

1.- Considerar el procesamiento de imágenes como un medio para generar información

que es útil en el control del tráfico vial.

2.- Proporcionar una nueva aplicación open source para administrar la información

referentes a las características de una red vial.

3.- Proporcionar al usuario una herramienta de información vial desde la Internet.

4.10.2 Clientes

- Público en general que se interese en conocer la situación actual en la que se

encuentran las calles de su ciudad.

- Cualquier persona que sea capacitada para poder manejar nuestro administrador

de la base de datos.

4.10.3 Metas

Page 40: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

Demostrar que el procesamiento de imágenes es muy útil para el tipo de sistema

que estamos proponiendo.

Crear un software que sea fácil de manejar por cualquier persona, en el cual

pueda administrar una base de datos sin ningún problema y controlar de manera eficaz y

sencilla la situación actual de la red de calles de una ciudad en particular.

Crear una página de Internet dinámica con la cual el usuario podrá conocer la

situación actual del estado en el que se encuentran las calles en el momento de la

consulta.

4.10.4 Funciones del sistema

Categorías de las funciones

Categoría de la función Significado

Evidente Debe realizarse, y el usuario debe saber que se ha realizado

Oculta Debe realizarse, no es visible para los usuarios.

Superflua Opcionales, su inclusión no repercute significativamente en el costo ni en otras funciones.

4.10.4.1 Funciones básicas

#Referencia Función Categoría

F1.1 Da de alta el nombre de una imagen que se encuentra en el disco duro en la base de datos. Oculta

F1.2 Da de baja el nombre de una imagen que se encuentra en el disco duro en la base de datos. Oculta

F1.3 Actualiza datos de la base de datos. Oculta

F1.4 Visualiza la imagen que se va a utilizar para definir los nodos de las calles. Evidente

F1.5 Visualiza la imagen que se va a utilizar para dar de de alta las calles. Evidente

F1.6 Calcula el costo que tendrá una calle, en relación a las características que se dieron de alta referente a la calle

Oculta

F1.7 Muestra el nombre de las imágenes que han sido editadas. Evidente

F1.8 Muestra el nombre de las calles que han sido dadas de alta. Evidente

F1.9 Muestra toda la información referente a una calle en particular. Evidente

F1.10 El administrador debe introducir los datos que deben ser dados de alta. Evidente

F1.11 El administrador debe definir los nodos de las calles (esquinas de cada calle), para que se puedan Evidente

Page 41: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

identificar las calles.

F1.12 Se identifican las calles que el usuario eligió dentro de la imagen seleccionada. Oculta

F1.13 El administrador indica la calle que quiere actualizar Evidente

F1.14 El administrador indica las características de la calle que quiere modificar. Evidente

F1.15 El administrador indica en que región desea trabajar. Evidente

F1.16 El administrador introduce un id y password para que pueda trabajar con el sistema. Evidente

F1.17 El administrador selecciona que operación quiere realizar. Evidente

F1.18 El administrador decide si continua o no trabajando. Evidente

F2.1 El usuario de la página elegirá el nombre de la calle en la que se localiza y el nombre de la calle a la que desea ir.

Evidente

F2.2 El usuario definirá en que región se encuentra. Evidente

F2.3 Se calculara la ruta que mas le conviene al usuario para llegar a su destino desde el punto en que se encuentra en base a los costos de las calles.

Oculto

F2.4 Se mostrara al usuario la ruta óptima encontrada. Evidente

F2.5

Se tendrá una vigilancia constante de la ruta optima encontrada con base a las imágenes que se obtengan del simulador del satélite, y se recalculara la ruta si es necesario.

Oculto

F2.6 El usuario elegirá que tipo de consultas quiere hacer referentes a una calle en particular. Evidente

F2.7 El sistema hará las consultas necesarias a la base para obtener la información solicitada. Oculto

F2.8 Se mostrará la información solicitada al usuario. Evidente

4.10.5 Atributos del Sistema

Atributo Detalles y restricciones de frontera Tiempo de respuesta En cuestión de respuesta de la base de

datos tanto para hacer consultas y otras operaciones como altas y actualizaciones, el tiempo de respuesta es máximo 2 segundos. En relación a la identificación de las calles en la imagen, depende del número de calles que le diste que identificara, pero si tiempo máximo de respuesta en el peor de los casos son 5 minutos.

Interfaz El esquema seguido para la creación de la interfaz fue el que tradicionalmente se ve en plataformas como Windows o Mac,

Page 42: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

para que el usuario se pueda familiarizar más rápido con ella. Esto en cuestión del programa que administra la base. Con relación la página dinámica creada, se siguió un diseño creado por nosotros pero semejante a lo que comúnmente se puede encontrar en la red.

Facilidad de uso La interfaz tanto en la página como en la aplicación, fue hecha de tal forma que su uso fuera intuitivo. Pero para facilitar aun mas las cosas, ciertas ventanas traen con ella la opción de ayuda para que el usuario pueda comprender mejor el uso de estas.

Plataformas del sistema operativo Windows XP Base de datos MySQL Servidor Tomcat Leguajes de Programación Java, html, JavaScript

4.10.6 Dependencias

Se necesita contar con una base de datos para que la aplicación funciones, en

este caso se utlizó Mysql como base de datos.

Se necesita contar con un servidor para poder subir la página a la web, en este

caso se utlizó Tomcat como servidor.

Se necesita que las imágenes (ortofotos) que se van a editar se encuentren en el

fólder que nosotros especificamos.

4.10.7 Modelo del usuario

4.10.7.1 Sistema Administrativo de SACTVi

Alta y modificación de una imagen

Baja de una imagen

Actualizar datos Administrador Administrador

Page 43: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

4.10.7.2 Página Dinámica SACTVi

4.10.8 Casos de uso reales

4.10.8.1 Alta y modificación de una imagen

Consultas

Obtención de una ruta Óptima Usuario Usuario

Administrador Sistema

Elegir la imagen a editar

Seleccionar las esquinas de las calles de la imagen

Dar de alta las calles

Salir de esta opción o del programa

Elegir el estado y municipio

Page 44: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

4.10.8.2 Dar de baja imagen

4.10.8.3 Actualizar datos

Administrador Sistema

Elegir el estado y municipio

Elegir el nombre de la imagen a dar de baja

Confirmar Operación

Salir de esta opción o del programa

Administrador Sistema

Elegir el estado y municipio

Elegir la calle a la que se desea modificar o actualizar, saber su información o dar de baja

Elegir características de la calle a modificar o actualizar

Salir de esta opción o del programa

Modificar o actualizar características

Elegir opción a realizar

Page 45: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

4.10.8.4 Consultas

4.10.8.5 Obtención de una ruta Óptima

Usuario Sistema

Elegir el estado y municipio

Escoger la opción Información

Dar el nombre de la calle o establecimiento a consultar

Salir de esta opción o de la página

Elegir que tipo de consulta realizar

Page 46: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

4.10.9 Casos de uso

Dar de alta o modificar una imagen Caso de uso: Dar de alta o modificar una imagen utilizando nuestra aplicación llamada administrador SACTVi. Actores: Administrador, Sistema administrador SACTVi Propósito: Proporcionar al administrador de la base de una interfaz con la que le sea fácil dar de alta las calles que se encuentran en las imágenes que se den de alta. Resumen: El administrador edita la imagen que eligió desde la interfaz, definiendo los nodos de las calles. Después de esto, el sistema procede a analizar la imagen con respecto a los nodos dados para poder identificar las calles, una vez que realizó esto el sistema, el administrador ya podrá dar de alta las calles que se identificaroncon tan solo llenar los campos que se le piden. Tipo: Primario y esencial. Referencias Cruzadas: F1.1, F1.4, F1.5, F1.6, F1.10, F1.11, F1.12, F1.15, F1.16, F1.17, F1.18

Curso normal de los eventos

Acción del actor 1. Este caso de uso empieza cuando el administrador ingresa al sistema. El administrador como primer paso introduce su id y password asignado. 4. El administrador elige la opción de dar de alta o modificar una imagen.

Respuesta del sistema

2. El sistema revisa en la base de datos si el password y el id es valido. Si no es valido, entonces le manda una pantalla de aviso al usuario de esto. 3. Si el administrador es aceptado el sistema le da la bienvenida al usuario y le muestra las opciones que el administrador puede realizar. 5. El sistema le muestra al administrador una pantalla en donde el usuario debe ingresar el nip del estado y del municipio en el que quiere trabajar.

Dar el nombre de la calle origen y destino

Elegir la opción visualizar desde mapa

calle origen y destino

Salir de esta opción o de la página

Page 47: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

15. El administrador da de alta las calles identificadas, con la simple operación de dar click en medio de la calle que quiere darse de alta en la base de datos. 18. El administrador llena los campos y áreas de texto, con las características que definen a la calle. Cuando el administrador haya terminado de dar todos los datos que se piden, entonces debe de oprimir el botón continuar. 20. El administrador debe oprimir el botón terminar, para que el proceso de dar de alta termine. Si no se dieron de alta todas las calles en ese momento, el administrador podrá hacerlo en otro momento sin ningún problema entrando nuevamente a esta opción como se estableció en el punto 4. 22. El administrador decide si continuar en el programa o salir.

16. Cada vez que se de click sobre una calle, el sistema revisa si la calle ya a sido de alta y si la parte en donde se dio click pertenece es una calle identificada o no. 17. Si la zona donde se dio clic no viola ninguna de las restricciones anteriores, entonces el sistema le muestra al administrador una nueva ventana con selectores y campos de texto que el usuario debe llenar. 19. Si lo introducido no viola ninguna restricción establecida, entonces la calle con todas sus características son almacenadas en la base de datos y le proporciona un costo determinado a la calle en base a las propias características dadas de alta, y con esto, el sistema cierra esta ventana. 21. El sistema con esto, muestra una ventana para que el usuario elija si quiere terminar con el programa o realizar otra operación.

Page 48: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

Dar de baja una imagen Caso de uso: Dar de baja una imagen utilizando nuestra aplicación llamada administrador SACTVi. Actores: Administrador, Sistema administrador SACTVi Propósito: Proporcionar al administrador de la base de una interfaz con la que le sea fácil dar de baja cualquier imagen dada de alta y con esto a las calles que estén vinculadas con ésta. Resumen: El administrador elige el nombre de la imagen que quiere dar de baja dentro de una lista que le proporciona el sistema, la cual esta formada por las imágenes que han sido dadas de alta. Tipo: Primario y esencial. Referencias Cruzadas: F1.8, F1.15, F1.16, F1.17, F1.18 Curso normal de los eventos

Acción del actor

1. Este caso de uso empieza cuando el administrador ingresa al sistema. El administrador como primer paso introduce su id y password asignado. 4. El administrador elige la opción de dar de baja una imagen.

Respuesta del sistema 2. El sistema revisa en la base de datos si el password y el id es valido. Si no es valido, entonces le manda una pantalla de aviso al usuario de esto. 3. Si el administrador es aceptado el sistema le da la bienvenida al usuario y le muestra las opciones que el administrador puede realizar.

6. El administrador ingresa el nip del estado y del municipio en el que quieren trabajar. 10. El administrador deberá seleccionar de la lista presentada el nombre de la imagen que desee darde baja y después oprimir el botón que dice dar de baja. 12. El administrador debe confirmar si desea continuar con el procedimiento. 14. El administrador puede continuar dando de baja las imágenes o puede oprimir el botón salir

t i t

5. El sistema le muestra al administrador una pantalla en donde el usuario debe ingresar el nip del estado y del municipio en el que quiere trabajar. 7. Si el nip del estado o del municipio estuvo incorrecto, el sistema le informa de esto al administrador. 8. Si los nips son aceptados, el sistema muestra al usuario una interfaz en donde podrá dar de baja una imagen. 9. En esta interfaz, el sistema desplegara una lista con los nombre de las imágenes que han sido dadas de alta por el administrador dentro del municipio y estado elegido. 11. El sistema mostrara con esto una ventana de advertencia, donde el usuario decidirá si continuar con el procedimiento o no. 13. El sistema da de baja la imagen de la base así como todas las calles vinculada con ésta. Después de esto, el sistema volverá a mostrar la interfaz principal de dar de baja una imagen. 15. El sistema con esto, muestra una ventana para que el usuario elija si quiere terminar con el

li t ió

Page 49: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

Actualizar datos Caso de uso: Modificar las características de una calle en particular que han sido dadas de alta utilizando nuestra aplicación llamada administrador SACTVi. Actores: Administrador, Sistema administrador SACTVi. Propósito: Proporcionar al administrador de la base de una interfaz con la que le sea fácil modificar las

características de una calle en particular, así como saber la información de una calle. Resumen: El administrador elige el nombre de la calle. Tipo: Primario y esencial. Referencias Cruzadas: F1.8, F1.13, F1.14, F1.15, F1.16, F1.17, F1.18

Curso normal de los eventos

Acción del actor 1. Este caso de uso empieza cuando el administrador ingresa al sistema. El administrador como primer paso introduce su id y password asignado.

Respuesta del sistema 2. El sistema revisa en la base de datos si el password y el id es valido. Si no es valido, entonces le manda una pantalla de aviso al usuario de esto.

4. El administrador elige la opción de actualizar datos. 6. El administrador ingresa el nip del estado y del municipio en el que quieren trabajar. 10. El administrador deberá seleccionar de la lista presentada el nombre de la calle en la que desee modificar sus características, saber toda la información referente a ella. O también si se quiere dar de alta otra calle entonces no se debe seleccionar una calle.

3. Si el administrador es aceptado el sistema le da la bienvenida al usuario y le muestra las opciones que el administrador puede realizar. 5. El sistema le muestra al administrador una pantalla en donde el usuario debe ingresar el nip del estado y del municipio en el que quiere trabajar. 7. Si el nip del estado o del municipio estuvo incorrecto, el sistema le informa de esto al administrador. 8. Si los nips son aceptados, el sistema muestra al usuario una interfaz en donde podrá modificar las características de una calle o saber toda la información referente a esta calle. 9. En esta interfaz, el sistema desplegara una lista con los nombre de las calles que han sido dadas de alta por el administrador dentro del municipio y estado elegido. 11. Si el usuario eligió dar de alta una nueva calle, entonces el sistema direccionará el proceso a la opción de dar de alta o modificar una imagen. Si el administrador eligió ver la información de la calle seleccionada, el sistema mostrara al usuario una ventana con toda la información referente a la

ll P i li ió l ió difi t

Page 50: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

Consultas Caso de uso: Hacer consultas referentes a una calle en particular o a una característica de ésta utilizando nuestra página dinámica SACTVi. Actores: Usuario, Página dinámica SACTVi Propósito: Proporcionar al usuario de una página que pueda visitar desde Internet donde pueda consultar la situación actual de las calles de la ciudad dadas de alta en la base de datos SACTVi. Resumen: El usuario ingresara a la página y escogerá el estado y municipio al que pertenece, y después elegirá

la opción información, en donde dirá que consulta es la que quiere hacer y así el sistema podrá proporcionarla la información solicitada.

Tipo: Primario y esencial. Referencias Cruzadas: F2.2, F2.6, F2.7, F2.8.

Curso normal de los eventos

Acción del actor 1. Este caso de uso empieza cuando el usuario entra a la página y define en que estado y municipio se encuentra. 3. El usuario elige el link llamado información de las calles. 5. El usuario elige que consulta quiere hacer. 7. El usuario da el nombre de la calle o del establecimiento a encontrar. 9 El i d h l

Respuesta del sistema

2. El sistema se direcciona a la página principal de la región dada. 4. El sistema se direcciona a una página en donde el usuario podrá definir que tipo de consulta desea hacer. 6. El sistema le pide al usuario el nombre de la calle de la que quiere saber la información. 8. El sistema le muestra al usuario los resultados obtenidos.

Page 51: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

Obtención de una ruta óptima Caso de uso: Obtener una ruta óptima con un origen y destino dado por el usuario utilizando nuestra página dinámica SACTVi. Actores: Usuario, Página dinámica SACTVi Propósito: Proporcionar al usuario de una página que pueda visitar desde Internet donde pueda obtener la ruta

mas viable para llegar a un lugar en particular desde la calle en la que se encuentra el usuario. Resumen: El usuario ingresara a la página y escogerá el estado y municipio al que pertenece, y después elegirá

la opción información, en donde dirá que consulta es la que quiere hacer y así el sistema podrá proporcionarla la información solicitada.

Tipo: Primario y esencial. Referencias Cruzadas: F2.1, F2.2, F2.3, F2.4, F2.5.

Curso normal de los eventos

Acción del actor 1. Este caso de uso empieza cuando el usuario entra a la página y define en que estado y municipio se encuentra.

Respuesta del sistema

2. El sistema se direcciona a la página principal de la región dada.

3. El usuario elige el link llamado calcula ruta. 5. El usuario hace su elección. 7. El usuario si eligió que no sabia el nombre de las calles, debe de llenar los campos de texto con las características de la calle, si eligió que si sabia los nombres, entonces se el usuario debe elegir el nombre de las calles desde una lista dada por el sistema de las calles dadas de alta de la región o de un mapa sensitivo. 9. El usuario debe elegir como quiere visualizar el resultado. 12. El usuario podrá hacer esta operación tantas veces quiera o si desea puede salir de la página.

4. El sistema se direcciona a una página en donde el usuario debe decir si conoce el nombre de la calle en donde se encuentra y a la que quiere ir o si no lo conoce. 6. Si el usuario eligió que conoce los nombres de las calles, entonces el sistema se direcciona a una página en donde el usuario debe elegir si quiere escoger las calles desde un mapa sensitivo o desde una lista de calles. Si eligió que no conoce el nombre de las calles entonces direccionara el proceso a una página en donde se le pedirá al usuario que de ciertas características del lugar en donde se encuentra y del lugar a donde quiere ir. 8. El sistema toma el nombre de las calles escogidas y verifica que no viole ninguna de las restricciones establecidas. Si esto no pasa, entonces el sistema calcula la ruta óptima utilizando el algoritmo de Dijktra, y después de esto el resultado es mostrado por vías, ya sea gráficamente o por una animación simple. 10. El sistema procede a mostrar el resultado. 11. Mediante un pequeño simulador que no se visualiza, el sistema estará en constante vigilancia de la ruta dada usuario, para saber si la ruta debe ser recalculada o no.

Page 52: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura

4.11 Conclusiones La administración de la información es indispensable en el sistema.

En este capítulo encontramos el análisis de manera detallada del sistema que

desarrollamos. Las herramientas que utilizamos para ello, fueron los diagramas de UML

para indicar el contenido de cada una de nuestras clases, el diagrama entidad-relación

para describir la estructura de la base de datos, DFD’s para una descripción general del

sistema y los casos de uso en los que especificamos a detalle como funciona cada una de

las herramientas del sistema.

El diseño es una parte muy importante para el desarrollo de software, ya que con

el mejoramos el tiempo de implementación, se aclaran las ideas de lo que se pretende

hacer y a su vez se mejoran los objetivos planteados referentes al software.

Page 53: Capítulo 4 Diseño e implementacióncatarina.udlap.mx/u_dl_a/tales/documentos/lis/lopez_g_fa/... · 2004. 6. 25. · estructuraFisica idCalle nTopes nSemaforos estado estructura