Publicado el 20 de Julio del 2017
617 visualizaciones desde el 20 de Julio del 2017
525,2 KB
14 paginas
Creado hace 21a (29/05/2002)
CAPITULO 4
DISEÑO DEL SISTEMA
Considerando el propósito primordial de este proyecto, que consiste en desarrollar
algunas herramientas que permitan la recuperación personalizada de imágenesen base del
reconocimiento de imágenes, y habiendo revisado trabajos relacionados con el área, en
este capítulo se presenta el diseño de este marco de trabajo.
4.1.-Arquitectura del Sistema
Para ofrecer el servicio de recuperación de información en un navegador en
Intranet, este sistema propone un marco de trabajo en el que se considera la reducción de
imágenes mediante mx-quadtrees y el servicio de recuperación de imágenes parecidas. En
este diseño se incluyen cadenas generadas que representan una imagen.
Hay dos módulos que forman la arquitectura de nuestro sistema: módulo de
reducción de información y el módulo de comunicación cliente-servidor, el cual contiene
los submódulos de almacenamiento en base de datos, toma de decisiones, recuperación
de información y la interfaz. Estos componentes están interrelacionados y son capaces de
ofrecer al usuario el servicio de recuperación de imágenes parecidas. A continuación se
presenta una descripción de cada uno de ellos.
4.1.1.-Módulo de reducción de información
Este es sin duda uno de los componentes más importantes de nuestro sistema. En
este sistema se propone representar y reducir una imagen para poder enviarla a través de
la red de una manera más fácil y más rápida para lograr una recuperación lo más parecida
posible de imágenes. Este módulo es capaz de representar una imagen en una cadena sin
tener que enviar cada uno de los pixeles que representan dicha imagen mediante la
segmentación de la misma por medio de mx-quadtrees. Este módulo tiene que segmentar
la imagen mediante mx-quadtrees en el orden de la curva de Peano (Figura4.1), y leer
cada píxel de la imagen y por cuadrante representar con un solo píxel, el que más abunde
en el total de pixeles que representen ese cuadrante.
Figura4.1.-Representación de la curva de Peano
4.2.2.-Módulo de comunicación cliente-servidor
Como podemos ver en la figura 4.2 , este módulo establece una comunicación
entre un cliente que hace peticiones de búsquedas de imágenes, y un servidor que recibe
las peticiones, las busca en una base de datos y las regresa al cliente. En esta
comunicación se llevan las características de la búsqueda definidas por el usuario, así
como la cadena representativa de la imagen, necesaria para la recuperación de la
información. Es necesario tener el servidor y una base de datos para poder hacer las
búsquedas. Interactúa con el DBMS local y regresa los resultados pertinentes al cliente.
CLIENTE
estado inicial
estado. final
Intranet
SERVIDOR
DBMS
Local
Figura4.2.-Comunicación del sistema
-Submódulo de almacenamiento en base de datos
Este módulo es muy pequeño, solamente almacena las imágenes que se dan de
alta, incluyendo un número que represente el orden en el que se almacenan, el path de la
imagen y su cadena generada. Es importante ya que cuando se hace una búsqueda , el
servidor se comunica con esta base de datos y busca de acuerdo a las cadenas generadas
cuáles son parecidas y cuáles no.
-Submódulo de toma de decisiones: Es muy importante, porque aquí se va a decidir que
imágenes recuperadas de la base de datos se parecen en cierto porcentaje, de un 50% en
adelante; si se parecen en menos no las regresa.
-Submódulo de recuperación de
información :La
información que contienen
los
resultados se refieren a la imagen parecida, el path de la imagen y el porcentaje de
similitud con la imagen solicitada que coincidieron con las necesidades del usuario.
-Submódulo de la interfaz: Es el medio por el cual el usuario se comunica con el
servidor. En ella se pueden definir los detalles de búsqueda que su dueño desea realizar,
es decir, escoger la imagen que desea que se encuentren parecidas. Los resultados
obtenidos por el servidor se pueden consultar también en este componente.
4.2.-Diseño del sistema en UML
En este capítulo se presenta el diseño del sistema en UML. UML(Unified
Modeling Language) se define por un conjunto de documentos de Rational Software
Corporation y de Object Management Group [Si Alhir, 1998]. Es el sucesor de métodos
de análisis y diseño orientados a objetos, que surgió a finales de la década de los 80´s y a
principios de la siguiente. UML es un lenguaje de modelado.
El lenguaje de modelado consiste en la notación principalmente gráfica de la cual
se valen los métodos para expresar los diseños y el proceso son los pasos a seguir para
hacer el diseño [ Fowler et.al.,1997]. UML es aplicable por personas que se dedican a la
producción,
implantación y mantenimiento de
software. Como hemos descrito
anteriormente, UML es un lenguaje estándar con un vocabulario gráfico y reglas para la
representación de sistemas:
?? Visualización: UML es un lenguaje gráfico que permite la comunicación en base
a un modelo explícito.
?? Especificación: UML permite describir modelos precisos, sin ambigüedades y
completos.
?? Construcción: Los modelos de UML tienen un mapeo directo a lenguajes de
programación como JAVA, C++ y VisualBasic.
?? Documentación: UML abarca la documentación del sistema a todos sus niveles.
Es muy importante para poder explicarle a una persona el diseño de cualquier
sistema, que se comparta el lenguaje de modelado y no el proceso que se siguió para
hacer el diseño. Los modelos son necesarios para comunicar
la estructura y el
comportamiento del sistema, para que nosotros mismos comprendamos mejor el sistema
que desarrollamos y buscar oportunidades de reutilización y optimización.
A continuación mostramos los diagramas de clase de nuestro proyecto:
1.-Diagramas de clase relacionados con las clases involucradas para segmentar la
imagen en mx-quadtrees y generar una cadena representativa de la imagen.
Las responsabilidades de la clase Image Coder son (Figura4.3): Sacar el ancho y
el largo de una imagen dada , obtener el color de cada uno de los pixeles de la imagen y
calcular el color predominante en cada cuadrante.
Figura 4.3.-Diagrama de clase de ImageCoder
La clase Quadtree es una de las principales ya que su propósito es segmentar la
imagen en cuadrantes mediante la técnica mx-quadtrees. (ver figura 4.4)
Figura 4.4.-Diagrama de clasela clase Quadtree
El objetivo de la clase ScannerColorPixelImage (Figura 4.5) es leer el color de
cada pixel y regresar un vector con todos los pixeles de la imagen.
Figura4.5.-Diagrama de clase de la clase ScannerColorPixelImage.
La clase principal del módulo de
reducción de
información es
llamada:
GeneraCadena, (Figura 4.6) donde se implementa una interfaz gráfica para poder mostrar
al usuario el procedimiento para escoger una imagen y poder desplegar una imagen y su
cadena. Principalmente esa es la responsabilidad de la clase GeneraCadena, la cual
incluye dos clases: CanvasImage y FileExplorer cuyos objetivos son crear un canvas
donde será posible desplegar la imagen y un explorador de archivos para poder accesar a
un archivo donde se encuentren las imágenes, poder escoger una imagen y desplegarla en
pantalla. Una de las cosas importantes que realiza la clase FileExplorer es explorar
archivos como se mencionó anteriormente y regresar un String en caso de que haya
cancelado la exploración.
Figura 4.6.-Diagrama de clase de la clase GeneraCadena.
En los diagramas anteriores hemos visto los atributos y métodos de cada clase.
Para entender mejor las figuras anteriores, basta con mencionar, que un diagrama
de clase en UML es un conjunto de clases, interfaces, colaboraciones y sus relaciones
entre ellas. La firma de un método es lo que recibe cada método.
2.-Diagramas de clase relacionadas con el módulo de comunicación cliente-servidor.
La clase ConnectionPool lo que hace es entregar la conexión a la base de datos
Figura 4.7.-Diagrama de clase de ConnectionPool.java
En la figura 4.8 se observa la clase SvtUploadFile la cual es la que hace la
mayoría de las actividades, es la que hace la conexión a la base de datos, la que da de alta
las imágenes en la base de datos, la que integra las clases que generan la cadena de la
imagen y la que compara las cadenas.
Figura 4.8.-Diagrama de clase de SvtUploadImage.java
0..* 1
Modelado de clases
SvtUploadFile
-connPool: ConnectionPoll= null
-stPathImgs: String = “C:\\
Inetpub\\wwwroot\\Tesis\\Img\\”
-addToDB(req:
HttpServletRequest,conn:Connection):void
-createImg(req: HttpServletRequest, conn:
Connection):void
+destroy():void
-getCoderImg(pathImg: String, width:int,
height:int):String
-getFileName(conn: Connection): File
Comentarios de: CAPITULO 4 DISEÑO DEL SISTEMA (0)
No hay comentarios