DESARROLLO DE UN SISTEMA EXPERTO EN TURISMO PARA LA CIUDAD DE BOGOTÁ JAVIER ENRIQUE PINEDA GAMARRA

DESARROLLO DE UN SISTEMA EXPERTO EN TURISMO PARA LA CIUDAD DE BOGOTÁ JAVIER ENRIQUE PINEDA GAMARRA UNIVERSIDAD DE SAN BUENAVENTURA FACULTAD DE INGEN
Author:  Alfonso Lucero Gil

2 downloads 96 Views 1MB Size

Story Transcript

DESARROLLO DE UN SISTEMA EXPERTO EN TURISMO PARA LA CIUDAD DE BOGOTÁ

JAVIER ENRIQUE PINEDA GAMARRA

UNIVERSIDAD DE SAN BUENAVENTURA FACULTAD DE INGENIERIA INGENIERIA DE SISTEMAS BOGOTA D.C. 2011

1

DESARROLLO DE UN SISTEMA EXPERTO EN TURISMO PARA LA CIUDAD DE BOGOTÁ

JAVIER ENRIQUE PINEDA GAMARRA

Proyecto de grado como requisito para optar por el título de Ingeniero de Sistemas.

Asesor Camilo Rodríguez Ingeniero de Sistemas

UNIVERSIDAD DE SAN BUENAVENTURA FACULTAD DE INGENIERIA INGENIERÍA DE SISTEMAS BOGOTÁ D.C. 2011

2

Nota de aceptación

__________________________ __________________________ __________________________

__________________________ Presidente del jurado

__________________________ Firma del jurado

__________________________

Firma del jurado

Bogotá D.C., Noviembre de 2011

3

Dedico este proyecto a mis padres Enrique Pineda y Priscilda Gamarra, son mi fuente de inspiración para luchar por mis objetivos y metas propuestas. A ellos les agradezco el apoyo incondicional, fortaleciendo mi rendimiento pese a las adversidades que presenta la vida cotidiana. Agradezco a mis familiares, amigos, maestros, que estuvieron al tanto del trabajo realizado, al asesor del proyecto Camilo Rodríguez, quien siempre estuvo atento a las inquietudes que presenté y encontró las mejores soluciones a los problemas que surgieron al trascurrir el desarrollo del proyecto.

Javier Enrique Pineda Gamarra

4

TABLA DE CONTENIDO Pág. INTRODUCCIÓN _______________________________________________________ 9. 1.

PLANTEAMIENTO DEL PROBLEMA __________________________________ 10.

1.1. ANTECEDENTES__________________________________________________ 10. 1.2.

DESCRIPCION Y FORMULACION DEL PROBLEMA _________________ 12.

1.3.

JUSTIFICACIÓN ______________________________________________ 12.

1.4.

OBJETIVOS DE LA INVESTIGACIÓN _____________________________ 13. 1.4.1. Objetivo General. _________________________________________ 13. 1.4.2. Objetivos Específicos.______________________________________ 13.

1.5.

ALCANCES Y LIMITACIONES___________________________________ 14. 1.5.1. Alcances. _______________________________________________ 14. 1.5.2. Limitaciones. _______________________________________________ .

2.

METODOLOGÍA __________________________________________________ 15. 2.1 METODOLOGÍA DE LA INVESTIGACIÓN ______________________________ 15. 2.2 METODOLOGÍA DE DESARROLLO INGENIERIL _______________________ 15.

3.

ENFOQUE DE LA INVESTIGACIÓN___________________________________ 18.

3.1.

LÍNEA DE INVESTIGACIÓN_____________________________________ 3.1.1. Línea Institucional. ________________________________________ 3.1.2. Sub. línea de la facultad de ingeniería. _________________________ 3.1.3. Campo de investigación.____________________________________

4.

MARCO DE REFERENCIA __________________________________________ 19.

18. 18. 18. 18.

4.1.

MARCO TEÓRICO-CONCEPTUAL _______________________________ 19.

4.2.

MARCO LEGAL O NORMATIVO _________________________________ 23.

5.

DESARROLLO INGENIERIL _________________________________________ 28.

5.1.

REQUERIMIENTOS FUNCIONALES ______________________________ 5.1.1. Consulta del lugar. ________________________________________ 5.1.2. Ingresar como administrador. ________________________________ 5.1.3. Insertar lugar nuevo. _______________________________________ 5.1.4. Editar lugar. _____________________________________________ 5.1.5. Eliminar lugar. ____________________________________________

29. 29. 30. 31. 32. 33.

5.2.

REQUERIMIENTOS NO FUNCIONALES ___________________________ 34.

5.3.

ARQUITECTURA DE ANÁLISIS _________________________________ 35.

5.4.

GESTIÓN DEL PROYECTO _____________________________________ 38. 5

6.

PRESENTACIÓN DE ANÁLISIS DE RESULTADOS ______________________ 43.

7.

CONCLUSIONES Y RECOMENDACIONES _____________________________ 46.

8.

BIBLIOGRAFÍA ___________________________________________________ 47.

GLOSARIO ___________________________________________________________ 48. ANEXOS __ __________________________________________________________ 49. ANEXO1. FORMATO DE CUESTIONARIO __________________________________ 49. ANEXOS2. CERTIFICACIÓN DE EXPERTO _________________________________ 50.

6

LISTA DE FIGURAS Pág. Figura 1. Disciplinas, fases, iteraciones del RUP ______________________________ Figura 2. Fases del RUP_________________________________________________ Figura 3. Entrada y salida para el análisis del dominio. _________________________ Figura 4: Diagrama de casos de uso. _______________________________________ Figura 5. Arquitectura del sistema propuesto._________________________________ Figura 6. Funcionamiento de la Base de conoimiento. __________________________ Figura 7. Diagrama de actividades. ________________________________________ Figura 8. Sugerencia del sistema. _________________________________________ Figura 9. Inserción de lugares. ____________________________________________ Figura 10. Edición y eliminación de lugares __________________________________

16. 17. 20. 34. 35. 36. 37. 43. 44. 45.

7

LISTA DE TABLAS Pág. TABLA 1. Consulta de lugar. _____________________________________________ TABLA 2. Ingresar como administrador. _____________________________________ TABLA 3. Insertar lugar. _________________________________________________ TABLA 4. Editar lugar. __________________________________________________ TABLA 5. Eliminar lugar._________________________________________________ TABLA 6. Tabla lugar.___________________________________________________ TABLA 7. Tabla cuenta. _________________________________________________ TABLA 8. Iteración 1. ___________________________________________________ TABLA 9. Prueba 1. ____________________________________________________ TABLA 10. Iteración 2. __________________________________________________ TABLA 11. Prueba 2. ___________________________________________________ TABLA 12. Prueba 3.. ___________________________________________________ TABLA 13. Prueba 4.. ___________________________________________________ TABLA 14. Prueba 5. ___________________________________________________ TABLA 15. Prueba 6. ___________________________________________________

29. 30. 31. 32. 33. 37. 37. 38. 39. 39. 40. 40. 41. 41. 42.

8

F ACULTAD DE INGENIERÍA UNIVERSIDAD DE SAN BUENAVENTURA, SEDE BOGOTÁ TÍTULO DEL PROYECTO Desarrollo de un sistema experto en turismo para la ciudad de Bogotá. INTRODUCCIÓN El desarrollo avanzado de la tecnología ha hecho posible utilizar la ciencia en beneficio de la humanidad, haciendo cada vez más fácil los procesos y facilitando las actividades humanas, es así como en este proyecto se plantea el uso de la inteligencia artificial para servir al turismo, y que por medio de un sistema experto facilite a las empresas de esta área, dar información a todos los turistas, de los mejores sitios o lugares para que pasen un buen momento ya sea de descanso, actividades extremas, culturales o hacer compras en los diferentes centros comerciales etc. Este proyecto se puede adaptar por todas las empresas que se encargan del manejo del turismo en Bogotá. Lo primero que se va a plantear es cómo a través o por medio de los sistemas expertos se puede llegar a manejar el turismo en Bogotá, sobre ello se ha investigado encontrando como conclusión principal que las empresas encargadas del turismo de Bogotá no cuentan con esta tecnología. Atendiendo a esta necesidad, es fundamental entender que en las ciencias computacionales está tomando mucho auge la inteligencia artificial como herramienta para volver más eficientes las actividades cotidianas, dentro de esta ciencia podemos encontrar redes neuronales, algoritmos genéticos, sistemas expertos y agentes inteligentes. A través del sistema experto, los turistas que visiten la ciudad de Bogotá podrán tener la información de los sitios destacados, atrayendo así la atención del visitante. Los turistas tendrán la oportunidad de se llevarse una buena imagen de nuestra ciudad acercándose a la cultura, historia y cotidianidad social, ignorando la imagen de inseguridad que ha obstaculizado en las últimas décadas estos procesos.

9

1. PLANTEAMIENTO DEL PROBLEMA 1.1

ANTECEDENTES (ESTADO DEL ARTE)

La inteligencia artificial despliega como una de sus ramas los reconocidos “sistemas expertos”, dónde existen numerosos proyectos que simulan el comportamiento de una persona experta en el área en que se desempeña. Hay algunos de éstos dedicados a la agricultura, a la educación, a la gestión ambiental, en medicina etc. Por citar algunos ejemplos, está en la rama de medicina:  Nieve, MG, Fallat, RJ, Tyler, WR, Hsu, SP, “Consulta pulmonar: concepto a la aplicación de un sistema experto”, Revista de Ingeniería Clínica 13:03, págs. 201 a 205, de 1988.  Regers W. et all. Asistido por Computadora de diagnóstico médico, revisión de la literatura, en Proc. 1.Conf. en aplicaciones de Inteligencia Artificial-Sociedad IEEE Computer , 1984, pp.178-186.

En Agricultura  Richard E. Planta, Nicholas D. duela, "Los sistemas de conocimiento basados en la agricultura", McGraw-Hill, 1991.  En La RL Hoskinson, JR Hess, RK Fink ", un sistema de apoyo para optimizar el uso de fertilizantes", de 1992. En la enseñanza:  Weber, G. y Brusilovsky, P. (2001) ELM-ART: Un sistema adaptativo versátil para la Web basada en la enseñanza. Revista Internacional de Inteligencia Artificial en la Educación 12 (4), número especial sobre adaptable e inteligente basado en WebSystems para la Educación, 351-384.  Zorica Nedic, Nedic Vladimir y Jan Machotka (2002) Sistema Tutor Inteligente para la enseñanza de primero de ingeniería año, las transacciones Mundial de Ingeniería y Tecnología, Vol. 1, N º 2, 2002

Analizando más a fondo algunos sistemas ejemplares se encontró: Sistemas Expertos Para La Enseñanza y El Aprendizaje De Las Matemáticas Educación Superior, conocido como 10

Sketchpad, que según su programador Nicholas Jackiw, empezó siendo un programa diseñado a la enseñanza de geometría en la educación secundaria, pero a medida de su uso, Sketchpad se denominó como una herramienta pedagógica que permite diseñar a los estudiantes deferentes procesos matemáticos como lo son teoría de funciones, calculo y ecuaciones diferenciales. Ampliando la información de los sistemas expertos en el área de la medicina, Edgar ShortLiffe, de la Universidad de Stanford, denominó a su proyecto: Mycin, Este proyecto consistía en el diagnóstico de enfermedades infecciosas de la sangre; adicional a esto, Mycin podía “razonar” los procesos para dar diagnósticos independientes y recetar medicinas a cada uno de los pacientes dependiendo de su peso, estatura, etc. En el año 2003, en la ciudad de León (México) para el Instituto Tecnológico de León, Nelly Beatriz Santoyo Rivera, presenta un proyecto para aspirar a la maestría de ciencias de la computación, llamado: Diseño e implementación de un Sistema experto de Software para brindar información turística en el estado de Guanajuato. El sistema experto creado por Nelly propone búsquedas similares ofreciendo resultados a los turistas de los municipios de Guanajuato, dependiendo de los planes que busquen; lo cual, lo acerca mucho más al propuesto para Bogotá, a diferencia que el Sistema experto creado para Bogotá se centra en los atractivos culturales, turísticos y de entretenimiento de ésta, siguiendo el pensamiento de los que quieren hacer de esta ciudad una atracción turística para el mundo. En Bogotá, el proyecto más notable relacionado al tema de turismo es: Puntos de Información Turística de Bogotá por Juan Melo y Camilo Delgadillo; como un proyecto del gobierno que consiste en localizar puntos de información turística en diferentes sectores de la ciudad, y brinda acceso a internet y telefonía. El Sistema experto que se planteó en este proyecto se diferencia del anterior ya que acá se quiere brindar soluciones a los turistas utilizando una búsqueda que sacie las necesidades de quien lo utiliza, a partir de un cuestionario que recibe información y procesa mediante un motor de inferencia para ofrecerle al turista la mejor sugerencia de lugar ó lugares a visitar dentro de la ciudad teniendo como base las características de su viaje. Finalmente en la actualidad, la Universidad de San Buenaventura Bogotá no ha presentado proyectos de turismo, ni relacionados con sistemas expertos, lo cual motivó a la realización éste proyecto, iniciando un proceso completo de investigación, desarrollo e implementación.

11

1.2

DESCRIPCIÓN Y FORMULACIÓN DEL PROBLEMA

La ciudad de Bogotá no cuenta con un sistema experto, el cual brinde un servicio de información aplicada al turista que visita la ciudad. En la actualidad, las empresas de turismo o relacionadas con éste, ofrecen cierta información de los lugares más importantes y/o reconocidos de la ciudad, pero muchas veces esto no satisface los gustos de un turista. Al ver la información de muchos de los lugares que muestran éstas empresas, no se sabe que tipo de personas o de que edades pueden acceder para sacar el mayor provecho de su visita; pero clasificando toda ésta información, se encuentra una gran variedad de lugares con diferentes tipos de experiencias que el turista podría disfrutar al máximo. Es por eso que se planteó diseñar un sistema experto en turismo con el que se ofrecerá información y sugerencias a los turistas ó personas interesadas de los mejores sitios que pueden visitar en la ciudad de Bogotá según su preferencia, como lo son restaurantes, centros comerciales, museos, parques de diversiones, etc. A partir de esto se formula el problema creando la siguiente pregunta: ¿Cómo sugerir al turista los lugares a visitar en Bogotá teniendo en cuenta sus preferencias por medio de un sistema experto?

1.3

JUSTIFICACIÓN

La ciudad de Bogotá quiere darse a conocer en el mundo como una ciudad turística, como una gran metrópoli que cobija en su interior la pluralidad cultural, social y económica; además, se convierte en un reto local por irrumpir en el mercado turístico para competir en un mercado casi exclusivo del Caribe, ya que en nuestro país las únicas ciudades que visitan los turistas – preponderantemente extranjeros- son las ciudades Cartagena y Santa Marta quienes se han consolidado en sus portafolios de servicios. Además, la mayoría de los turistas que vienen a nuestra ciudad lo hacen como viaje de negocios por considerarse el centro administrativo y económico. 12

Con el diseño del sistema experto se quiere dar solución a los problemas que tienen los turistas al visitar nuestra ciudad. Ya que por medio de este sistema podrán tener información de posibles lugares a acudir dependiendo de sus gustos y expectativas al visitar la ciudad, proporcionando una nueva experiencia a los turistas usando tecnología, fácil de entender, fácil de usar y ajustada especialmente a sus requerimientos, esto hace diferenciar éste sistema de los sistemas que actualmente rigen el turismo en nuestra ciudad, ya que hasta el momento las empresas de turismo que existen en Bogotá, ya sean agencias de viajes cómo A C Travel, o A despegar, por nombrar algunos ejemplos; sólo manejan una información de tarifas, reservas de movilidad y/o estadía y documentación de los sitios estratégicos sin tener en cuenta requerimientos de los turistas, los cuales se pueden divulgar como una estrategia de democratización de la información y constituir la ciudad como espacio de encuentro.

1.4

OBJETIVOS DE LA INVESTIGACIÓN

1.4.1

Objetivo General

Desarrollar un sistema experto que apoye la toma de decisiones con respecto a sitios de interés en la ciudad de Bogotá.

1.4.2

Objetivos Específicos

 Analizar los requerimientos funcionales y no funcionales para el sistema experto.  Diseñar la base de conocimiento del sistema experto.  Implementar la base de conocimiento que le permita al sistema sugerir los lugares a visitar según los datos ingresados por el turista.  Desarrollar Base de Datos con información de cada uno de los lugares.  Desarrollar una interfaz gráfica para interactuar con el sistema experto y la Base de Datos.  Validar el producto desarrollado.

13

1.5

ALCANCES Y LIMITACIONES DEL PROYECTO

1.5.1

Alcances

 Con este proyecto se llegará hasta la implementación de la base de conocimiento.  La base de conocimiento contendrá la información de los principales sitios turísticos de la ciudad de Bogotá.  El diseño de la interfaz le permitirá a los usuarios interactuar de una manera amigable con el sistema.  El sistema experto podrá ser implementado por cualquier empresa de turismo de la ciudad de Bogotá.  Éste proyecto llegará hasta el desarrollo del sistema, más no se realizará la etapa de transición. 1.5.2

Limitaciones

 Los sistemas expertos no tienen sentido común. El sistema sólo resolverá aquellos problemas para los que está específicamente programado.  El sistema experto no posee la capacidad de aprendizaje a partir de sus experiencias, y requiere de la necesidad de ingenieros del conocimiento para mejorar sus capacidades.  El sistema fue creado en español, lo que limita la población que puede hacer uso de éste, ya que les obliga a tener conocimiento de dicho idioma.

14

2. METODOLOGÍA 2.1

METODOLOGÍA DE INVESTIGACIÓN

El enfoque de investigación para éste proyecto es empírico-analítico, de tipo técnico, orientado la trasformación de información en bases de hechos y bases de conocimientos las cuales permiten realizar sugerencias ó hipótesis de acuerdo al problema al que sean expuestas. La extracción de información se realizó mediante hechos de la vida cotidiana, visitas a expertos de turismo, y diferentes medios de comunicación como lo son folletos, manuales y páginas web relacionadas entre otros. Para hacer el software funcional con la información respectiva, se clasifican los objetos, en éste caso los lugares encontrados en los diferentes medios exponentes de éste conocimiento, creando reglas que permitan parametrizar las consultas hacia los usuarios y el software realice el trabajo para el que fue diseñado. La clasificación mencionada anteriormente se realiza extrayendo los atributos de cada lugar y así mismo se clasifican las similitudes entre éstos facilitando la búsqueda en las consultas y mejor aún en la organización de la información.

2.2

METODOLOGÍA DE DESARROLLO INGENIERIL

RUP (Rational Unified Process, Proceso Unificado Racional) es una metodología cuyo fin consiste en dar como resultado un software óptimo de buena calidad, con el que se podrá resolver algún inconveniente o facilitar el desarrollo de algún proceso requerido por los usuarios dentro del presupuesto y tiempos establecidos; para obtener dicho software, el método RUP se compone de una serie de tareas propuestas por un enfoque disciplinado que permiten una ejecución dentro de un plan de desarrollo. El RUP tiene dos dimensiones:

15

 Horizontal: se encuentran los aspectos dinámicos del proyecto, las fases, el desarrollo de cada una de ellas al trascurrir el tiempo. También se encuentra el ciclo de vida del proceso.  Vertical: Se evalúan los comportamientos de roles, artefactos, flujos de trabajo, actividades, disciplinas entre otros. A continuación se aprecia la Figura1, donde se puede observar el cambio en cada aspecto en un determinado periodo de tiempo por cada fase, se aprecia por ejemplo que dura más tiempo los requerimientos en las primeras iteraciones, pero en las últimas, lo más prolongado es la realización del proyecto.

FLUJOS DE TRABAJO Modelado de negocio Requerimientos Análisis y diseño Implementación pruebas Despliegue Gestión y configuración de Cambios Gestión del proyecto y Entornos

Figura 1: Disciplinas, fases, iteraciones del RUP

Figura 1: Disciplinas, fases, iteraciones del RUP, Extraída de proyecto de grado: MONOGRAFIA METODOLOGIA RUP (RATIONAL UNIFIED PROCESS) UNIVERSIDAD NACIONAL DEL ALTIPLANO-Perú 16

 Incepción: Define el ámbito del proyecto, su objetivo, funcionalidad, viabilidad y capacidad.  Elaboración: Se evalúa mediante estudios profundos el dominio del problema y se planifica el proyecto teniendo en cuenta la disponibilidad de recursos y demás.  Construcción: se realiza el desarrollo del producto mediante iteraciones donde se involucran

subprocesos para las fases de análisis, diseño e implementación,

denominadas en la incepción y elaboración.  Transición: El producto es finalizado y puesto a disposición del usuario para solucionar casos reales, en ésta fase del RUP se aplican tareas de soporte, configuración, marketing, etc. El método de RUP cumple con todos los requerimiento que necesita un sistema experto como el que se realiza éste proyecto, guiando los procesos por el mejor camino y obteniendo beneficios de tiempo aplicando las fases de desarrollo. A continuación en la Figura2 observaremos las fases que se aplicaron para éste proyecto. En la Incepción, se determinan el objetivo de desarrollar un sistema experto que apoye la toma de decisiones con respecto a sitios de interés en la ciudad de Bogotá; siguiendo con la elaboración donde se determinaron los lenguajes de programación y la Arquitectura del proyecto, como lo son las bases de conocimientos y bases de hechos, las cuales preguntan a los usuarios sus requerimientos para poder ofrecer la mejor solución; En la construcción del programa, la interfaz y la documentación apropiada; y Finaliza con la Transición obteniendo exitosamente el objetivo propuesto bajo los parámetros establecidos.

Figura 2: Fases del RUP Figura 2: Fases del RUP, Extraída de proyecto de grado: MONOGRAFIA METODOLOGIA RUP (RATIONAL UNIFIED PROCESS) UNIVERSIDAD NACIONAL DEL ALTIPLANO-Perú 17

3. ENFOQUE DE LA INVESTIGACIÓN 3.1

LÍNEA DE INVESTIGACIÓN DE USB / SUB-LÍNEA DE FACULTAD / CAMPO

TEMÁTICO DEL PROGRAMA

3.1.1 Línea Institucional.

Tecnologías actuales y sociedad.

3.1.2 Sub. línea de la facultad de ingeniería.

Sistemas de información y comunicación.

3.1.3 Campo de investigación.

Análisis y tratamiento de Datos.

18

4. MARCO DE REFERENCIA

4.1

MARCO TEÓRICO - CONCEPTUAL

Para el desarrollo de éste proyecto es indispensable tener el conocimiento tanto de lugares de interés en la ciudad de Bogotá como de sistemas expertos. Se entiende como sistema experto a una aplicación informática con conocimientos en un tema específico brindados por uno o varios expertos con las que dichos sistemas pueden solucionar problemas relacionados a la información que reciben en su base de conocimientos. Los sistemas expertos también usan información declarativa, es decir que sus conocimientos se basan en experiencias o situaciones. Cuando un sistema experto hace seguimiento de una acción, se denomina su información como de control. Un sistema experto es viable, funcional y beneficioso a los usuarios, cuando posee una interfaz gráfica amigable para su interactividad con ellos y dos tipos de capacidades:  Adquisición de nuevos conocimientos o integrador del sistema: Son mecanismos que reemplazan información desactualizada o agregan información faltante.  Ingresen base del conocimiento: Se realizan con información basada en hechos reales que cumplen reglas para poder tener una explicación lógica.

Según Roger Pressman en su libro de Ingeniería de software, un enfoque práctico, quinta edición, cita: “El ingeniero del conocimiento investiga un área de interés específica, intentando extraer hechos claves que se puedan usar para la construcción de un sistema experto o una red neuronal artificial. Durante el análisis del dominio ocurre la extracción de objetos (y clases). Definir el dominio a investigar. Para llevar a cabo esta tarea, el analista debe primero aislar el área de negocio, tipo de sistema o categoría del producto de interés. A continuación, se deben extraer los «elementos» tanto OO como no OO. Los elementos OO incluyen especificaciones, diseños y código para clases de aplicaciones OO ya existentes; clases 19

de soporte (P.e.: clases de Interfaz Gráfica de Usuario o clases de acceso a bases de datos); bibliotecas de componentes comerciales ya desarrolladas (CYD) relevantes al dominio y casos de prueba. Justificar con lo que se hizo en el trabajo o quitar. Los elementos no O0 abarcan políticas, procedimientos, planes, estándares y guías; partes de aplicaciones no O0 (incluyendo especificación, diseño e información de prueba), métricas y CYD del software no OO. Clasificar los elementos extraídos del dominio. Los elementos se organizan en categorías y se establecen las características generales que definen la categoría. Se propone un esquema de clasificación para las categorías y se definen convenciones para la nomenclatura de cada elemento. Se establecen jerarquías de clasificación en caso de ser apropiado.”

Figura 3: Entrada y salida para análisis del dominio.

Los sistemas expertos requieren el funcionamiento pleno de cada uno de sus componentes para poder ofrecer el mejor servicio. Estos componentes son: 

Interfaz gráfica: Permite la interacción entre la persona que requiere utilizar el sistema experto con el software, una interfaz gráfica se realiza en un lenguaje de programación natural.



Base de conocimientos : Contiene información determinada al tema del cual el sistema será conocedor. Proviene de vivencias, de conocimientos de expertos y/o del ingeniero de conocimiento.

Figura 3: Fases Entrada y salida para análisis del dominio: Libro: Ingeniería de software, un enfoque práctico, quinta edición. Autor: Roger Pressman. 20



Base de hechos: Es donde el usuario ingresa la consulta para ser comparada con la información de la base de conocimiento y poder sacar conclusiones acerca del problema.



Motor de inferencia: Simula el razonamiento de un experto humano, se encarga de hacer la comparación de la base de conocimiento con la base de hechos, deduciendo así nuevos hechos.



Módulos de justificación: Hace explicación de la conclusión hallada por el sistema dándole apoyo a la respuesta.

Los sistemas expertos se dividen en tres tipos: 

Basados en reglas previamente establecidas.



Basados en casos de razonamiento o CBR (Case Based Reasoning).



Basados en redes bayesianas.

En cada uno de ellos, la solución a un problema planteado se obtiene: 

Realizando reglas con métodos basado en la experiencia combinado con lógica difusa.



Aplicando el razonamiento obtenido en situaciones, donde el problema tiene similitud a algún problema anterior y la solución se puede adaptar.



Aplicando redes bayesianas, basadas en estadística y el teorema de Bayes.

Los siguientes son ejemplos de programas orientados a sistemas expertos, aunque el proyecto de turismo es realizado en Prolog. 

Dendral



XCon



Dipmeter Advisor



CADUCEUS



R1



CLIPS



Prolog

21

Los sistemas expertos pueden ser desarrollados para varios tipos de tareas, entre éstos están:  Monitorización: La monitorización es un proceso que realiza un sistema experto, el cual consiste en la interpretación de las entradas que un usuario le indique a este, para poder ejecutar una serie de instrucciones que en este caso permite la comparación continua de las entradas al sistema. Usualmente los Sistemas Expertos se utilizan principalmente como herramientas de diagnóstico. Esta característica se basa en que el sistema debe predecir una serie de acontecimientos, analizarlos y generar una respuesta a la consulta previa teniendo en cuenta las características dadas por el usuario.  Diseño: Es el proceso mediante el cual se realizan las descripciones del sistema que tiene como objetivo solucionar la problemática especificada y que se debe relacionar con diferentes campos del conocimiento que sirven como fuente de información para el Sistema

Experto.

Los Sistemas Expertos cumplen con un proceso que se define como un sistema de búsqueda hacia una solución más óptima de una problemática. Para que el sistema experto cumpla con dar la mejor información hacia el usuario, se realizan una serie de comparaciones con otros sistemas verificando la solución más adecuada hacia un problema y así poder definir si el Sistema Experto es viable y pueda ser implementado a esta situación.  Simulación: Consiste en emular las funciones de un sistema aplicando las características de este en otro, a fin de estudiar el comportamiento de los sistemas y de verificar

que

tipos

de

entrada

y

salidas

tienen.

La simulación que hacen los Sistemas Expertos permite a los usuarios interactuar con dicho sistema brindándole las mismas soluciones que un experto humano le podría ofrecer.  Planificación: La planificación se basa en la ejecución de secuencias de acciones y se compone de un sistema de control y un simulador. Sin embargo esta presenta una serie de problemas, donde los datos pueden ser probables pero no seguros en su mayoría, se debe tener más de un plan y explicaciones con un caso de resultados imprevistos o datos que deben ser valorados y/o influyan con un factor de peso, en un Sistema Experto.

22

 Control: Un sistema de control permite que la ejecución de toda acción en el Sistema Experto sea de forma secuencial y este permite que se realice un proceso de retroalimentación que consiste en diagnosticar y verificar que las instrucciones estén de acuerdo con los datos especificados por el usuario y poder ser un guía que acompañe en la búsqueda de la información pertinente. Los Sistemas de control realizan una serie de acciones para rectificar que el Sistema Experto se encuentre funcionando correctamente, las acciones que el sistema debe ejecutar son las siguientes: analizar entradas, realizar las correspondientes validaciones y en caso de no cumplir los parámetros realizar las rectificaciones o reparaciones del sistema.

4.2

MARCO LEGAL O NORMATIVO

Regulatorio.

A continuación se identifica el marco legal, bajo el cual se desarrolla este proyecto:  Artículo 18 de la Ley 788 de 2002: Adiciona el artículo 207-2 del Estatuto Tributario el cual consagra la exención y establece los parámetros generales para acreditarse como beneficiario de la misma. Por lo tanto el software, elaborado en Colombia y amparado con nuevas patentes registradas ante la autoridad competente, siempre y cuando tengan un alto contenido de investigación científica y tecnológica nacional, será certificado por COLCIENCIAS o quien haga sus veces, por un término de diez (10) años a partir de la vigencia de la presente ley.  Artículos 15, 16, 17 y 18 del Decreto 2755 de 2003: Reglamenta el artículo 207-2 del Estatuto Tributario y establece el procedimiento y los requisitos para obtener el beneficio, este decreto con sus artículos nos informa de los tipos de beneficios que se obtienen cuando de desarrolla un software en Colombia y qué se puede hacer para obtener estos beneficios. Artículo 15 Renta exenta en la producción de software.

23

Las rentas de fuente nacional y/o extranjera originadas en la producción de software elaborado en Colombia se consideran exentas del impuesto sobre la renta, por un término de diez (10) años comprendidos entre el primero (1°) de enero de 2003 y el treinta y uno (31) de diciembre de 2012, siempre y cuando cumplan con los requisitos contenidos en el artículo 207-2 del Estatuto Tributario y en este decreto. Parágrafo. La renta originada por la producción de software elaborado en Colombia comprende la explotación del mismo a través de actividades como la elaboración, enajenación, comercialización o licenciamiento del software certificado.

Artículo 16 Definición de software. Para efectos de lo dispuesto en el numeral 8 del artículo 207-2 del Estatuto Tributario, se entiende por software la definición contenida en el Decreto 1360 de 1989 y demás normas que lo modifiquen o adicionen. Artículo 17 Requisitos para la obtención del beneficio. Para efectos de acceder al beneficio por concepto de producción de software elaborado en Colombia, el contribuyente deberá acreditar el cumplimiento de los siguientes requisitos cuando la Dirección de Impuestos y Aduanas Nacionales, DIAN, los exija:  Que el nuevo software haya sido producido y/o elaborado con posterioridad a la fecha de entrada en vigencia de la Ley 788 de 2002.  Que el nuevo software haya sido producido y/o elaborado en Colombia. Se entiende que el software ha sido elaborado en Colombia cuando dicha elaboración y/o producción se realice dentro de los límites del territorio nacional.  Que el nuevo software se registre ante la Oficina de Registro de la Dirección Nacional de Derechos de Autor del Ministerio del Interior y de Justicia. 24

 Que en el nuevo software se haya incorporado un alto contenido de investigación científica y/o tecnológica nacional, lo cual deberá ser certificado por Colciencias o la entidad que haga sus veces.  Que el nuevo software sea el resultado de un proyecto de investigación, de conformidad con lo dispuesto en el Decreto 2076 de 1992. Artículo 18 Solicitud de certificación a Colciencias sobre nuevo software. Para efectos de la certificación que debe expedir Colciencias o la entidad que haga sus veces, el solicitante deberá presentar:  El soporte lógico junto con sus manuales e instructivos.  Certificación sobre existencia y representación legal de la empresa solicitante expedida por la Cámara de Comercio del domicilio;  Copia del certificado expedido por la Oficina de Registro de la Dirección Nacional de Derechos de Autor del Ministerio del Interior y de Justicia;  Certificación expedida por el Representante Legal y el Revisor Fiscal y/o Contador Público, según el caso, de la empresa interesada, en la cual se declare que el software fue elaborado en Colombia;  Los documentos necesarios que acrediten un alto contenido de investigación científica y/o tecnología nacional en la producción del software correspondiente. Decreto 1360 de 1989.

Reglamenta la inscripción del software en el Registro Nacional del Derecho de Autor. Este decreto es necesario ya que describe lo que es protegido por los derechos de autor al desarrollar un software y para el caso del anteproyecto es realmente útil ya que nos muestra que tipo de software y documentación son protegidos por los derechos de autor. Artículo 1o. De conformidad con lo previsto en la Ley 23 de 1982 sobre Derechos de Autor, el soporte lógico (software) se considera como una creación propia del dominio literario.

25

Artículo 2o. El soporte lógico (software) comprende uno o varios de los siguientes elementos: el programa de computador, la descripción de programa y el material auxiliar. Artículo 3o. Para los efectos del artículo anterior se entiende por:  "Programa de computador": La expresión de un conjunto organizado de instrucciones, en lenguaje natural o codificado, independientemente del medio en que se encuentre almacenado, cuyo fin es el de hacer que una máquina capaz de procesar información, indique, realice u obtenga una función, una tarea o un resultado específico.  "Descripción de Programa": Una presentación completa de procedimientos en forma idónea, lo suficientemente detallada para determinar un conjunto de instrucciones que constituya el programa de computador correspondiente.  "Material auxiliar": todo material, distinto de un programa de computador o de una descripción de programa creado para facilitar su comprensión o aplicación, como por ejemplo, descripción de problemas e instrucciones para el usuario.  Continuación del Decreto "Por el cual se reglamenta la inscripción del soporte lógico (software) en el Registro Nacional del Derecho de Autor". Artículo 4o. El soporte lógico (software), será considerado como obra inédita, salvo manifestación en contrario hecha por el titular de los derechos de autor. Artículo 5o. Para la inscripción del soporte lógico (software) en el Registro Nacional del Derecho de Autor, deberá diligenciarse una solicitud por escrito que contenga la siguiente información:  Nombre, identificación y domicilio del solicitante, debiendo manifestar si habla a nombre propio o como representante de otro en cuyo caso deberá acompañar la prueba de su representación.  Nombre e identificación del autor o autores.  Nombre del productor.  Título de la obra, año de creación, país de origen, breve descripción de sus funciones, y en general, cualquier otra característica que permita diferenciarla de otra obra de su misma naturaleza.  Declaración acerca de si se trata de obra original o si por el contrario, es obra derivada.

26

 Declaración acerca de si la obra es individual, en colaboración, colectiva, anónima, seudónima o póstuma. Artículo 6o. A la solicitud de que trata el artículo anterior, deberá acompañarse por lo menos uno de los siguientes elementos: el programa de computador, la descripción de programa y/o el material auxiliar. Artículo 7o. La protección que otorga el derecho de autor al soporte lógico (software) no excluye otras formas de protección por el derecho común. Artículo 8o. Este Decreto rige a partir de la fecha de su publicación.

27

5. DESARROLLO INGENIERIL Según la metodología escogida para la elaboración del sistema experto (RUP) primero se analiza la problemática y las posibles soluciones. Éste paso es llamado Incepción, y requirió de visitas a expertos, lectura de documentos relacionados con el turismo, y con los sistemas expertos. Se diseñó la base de conocimiento clasificando los lugares donde se determinaron los atributos aproximados de lugares tales como el tipo de plan del lugar, el precio de ese plan, ¿para qué clase de personas está diseñado?, etc., extrayendo información de páginas web, específicamente la página expuesta por el gobierno que muestra a Bogotá como una ciudad turística, llena de lugares por visitar e historia por conocer, denominada así: http://www.bogotaturismo.gov.co/. Gracias a ésta información debidamente aplicada, el sistema experto realiza búsquedas por medio de su motor de inferencia. Como un resultado de investigación, análisis de documentos, sitios web, interacciones con expertos, se planteó el cuestionario para el turista, con el que se estructura la información del proyecto. 1. ¿Ya conocías el lugar X? 2. ¿Cuánto tiempo te quedaste? 3. ¿Hiciste plan para chicos, adultos o mayores? 4. ¿Con quién fuiste? 5. ¿Cuánto dinero gastaste? 6. ¿Descansaron, hicieron cosas extremas o de qué tipo?

Estas preguntas se ven en el diario vivir, y las hacen cualquier clase de personas entre amigos, familiares, compañeros etc. Con lo que una persona pretende evaluar el tipo de viaje que su conocido realizó. A lo anterior se le hace unas variaciones porque se quiere ofrecer un tipo de plan a realizar al turista, mas no saber de su pasado. Las preguntas del sistema quedan de la siguiente manera:

1. ¿Ha visitado Bogotá anteriormente? 2. ¿Cuánto tiempo estará en la ciudad? 3. ¿Para qué edad es el plan que busca? 28

4. ¿Para qué clase de grupo es el plan? 5. ¿De qué presupuesto desea el plan? 6. ¿Qué tipo de plan le gustaría experimentar?

5.1

Requerimientos Funcionales.

Se realizaron cuadros con cada una de las tareas que el sistema requería para su funcionalidad, a continuación clasificamos dichos cuadros como requerimientos funcionales provenientes de opiniones de expertos conocedores de las necesidades de los turistas.

5.1.1 Consultar lugar.

IDENTIFICACION NOMBRE

ID-1 CONSULTAR LUGAR  USUARIO

ACTORES CONDICIONES INICIALES

N/A Este caso de uso inicia cuando: 1. 1. El USUARIO ingresa al Sistema mediante la opción consultar. 2. El USUARIO responde el siguiente cuestionario.    

FLUJO DE EVENTOS

CONDICIONES DE SALIDA

¿Ha visitado Bogotá anteriormente? ¿El tiempo de estadía en días? ¿Para qué edad es el plan que busca? ¿Para qué clase de grupo es el plan que busca?  ¿De qué presupuesto desea el plan?  ¿Qué tipo de plan desea experimentar? j 2. 3. El USUARIO hace click en el botón ENVIAR. 4. El SISTEMA valida las respuestas del usuario mediante un motor de inferencia, con los lugares definidos. 5. 5. El SISTEMA sugiere la respuesta más adecuada realizando la inferencia, extrayendo la información principal de la Base de Datos. USUARIO obtenga la mejor sugerencia de lugar(es) a visitar en Bogotá, de acuerdo a lo que él busque.

29

CAMINOS DE EXCEPCIÓN REQUERIMIENTOS ADICIONALES

1. Si al validar las solicitudes del usuario en el cuestionario, no tienen relación con ningún lugar definido por el sistema, éste enviará mensaje de error. N/A Tabla 1: Consultar lugar.

5.1.2 Ingresar como administrador.

IDENTIFICACION NOMBRE

ID-2 INGRESAR COMO ADMINISTRADOR  ADMINISTRADOR

ACTORES CONDICIONES INICIALES

FLUJO DE EVENTOS

CONDICIONES DE SALIDA

CAMINOS DE EXCEPCIÓN

Tener asignado un Usuario y una contraseña dentro del sistema. Este caso de uso inicia cuando: 1. El ADMINISTRADOR ingresa el usuario (login). 2. El ADMINISTRADOR ingresa la contraseña. 3. El ADMINISTRADOR hace click en el botón ENTRAR. 4. El SISTEMA valida que el usuario se encuentre registrado en Base de datos. 5. El SISTEMA valida que la contraseña corresponda con el usuario. ADMINISTRADOR ingrese al sistema con el menú correspondiente. 1. Si en el paso 4 el usuario (login) no existe en la base de datos, no permite el ingreso al SISTEMA y actualiza la página. 2. Si en el paso 5 la contraseña no corresponde con el usuario (login), no permite el ingreso al SISTEMA y actualiza la página.

REQUERIMIENTOS N/A ADICIONALES Tabla 2: Ingresar como administrador.

30

5.1.3 Insertar lugar nuevo.

IDENTIFICACION NOMBRE ACTORES CONDICIONES INICIALES

ID-3 INSERTAR NUEVO LUGAR  ADMINISTRADOR ID-2 (INGRESAR COMO ADMINISTRADOR) Este caso de uso inicia cuando: 1. El ADMINISRADOR ingresa a la opción insertar. 2. El ADMINISRADOR ingresa los datos correspondientes al nuevo lugar, los cuales se insertarán en la Base de Datos:

FLUJO DE EVENTOS

CONDICIONES DE SALIDA CAMINOS DE EXCEPCIÓN

   

Nombre del lugar Dirección del lugar Imagen del lugar Descripción del lugar

3. El ADMINISTRADOR define las características del nuevo lugar que se insertarán en el SISTEMA, respondiendo el cuestionario. 4. El ADMINISTRADOR finaliza la inserción del nuevo lugar haciendo click en el botón de ACEPTAR, para que se cumplan las inserciones de los puntos anteriores. ADMINISTRADOR ingrese un nuevo lugar al SISTEMA. Regresar al menú anterior sin cambios.

REQUERIMIENTOS N/A ADICIONALES Tabla 3: Insertar lugar.

31

5.1.4 Editar lugar.

IDENTIFICACION NOMBRE ACTORES CONDICIONES INICIALES

ID-4 EDITAR LUGAR  ADMINISTRADOR ID-2 (INGRESAR COMO ADMINISTRADOR) Este caso de uso inicia cuando: 1. El ADMINISTRADOR ingresa a la opción EDITAR. 2. El SISTEMA carga todos los lugares insertados en un cuadro con su respectiva información específica.

FLUJO DE EVENTO

   

Nombre del lugar Dirección del lugar Imagen del lugar Descripción del lugar

3. El ADMINISTRADOR busca el lugar que desea editar y hace click en la imagen de editar respectiva al lugar. 4. El SISTEMA muestra las características del lugar que se va a editar, dando la opción de cambiar la información. 5. El ADMINISTRADOR finaliza la edición del lugar haciendo click en el botón de ACEPTAR. CONDICIONES DE SALIDA

ADMINISRADOR edita un lugar en el SISTEMA.

CAMINOS DE EXCEPCIÓN

Regresar al menú anterior sin cambios.

REQUERIMIENTOS N/A ADICIONALES Tabla 4: Editar lugar.

32

5.1.5 Eliminar lugar.

IDENTIFICACION NOMBRE ACTORES CONDICIONES INICIALES

ID-5 ELIMINAR LUGAR  ADMINISTRADOR ID-2 (INGRESAR COMO ADMINISTRADOR) Este caso de uso inicia cuando: 1. El ADMINISRADOR ingresa a la opción EDITAR. 2. El SISTEMA carga todos los lugares insertados en un cuadro con su respectiva información específica.

FLUJO DE EVENTO

   

Nombre del lugar Dirección del lugar Imagen del lugar Descripción del lugar

3. El ADMINISTRADOR busca el lugar que desea eliminar y hace click en la imagen de eliminar respectiva al lugar. 4. El SISTEMA elimina el lugar de la Base de Datos y la Base de conocimiento. CONDICIONES DE SALIDA

ADMINISTRADOR elimina un lugar en el SISTEMA.

CAMINOS DE EXCEPCIÓN

Regresar al menú anterior sin cambios.

REQUERIMIENTOS N/A ADICIONALES Tabla 5: Eliminar lugar.

33

5.2

Requerimientos No Funcionales

 El sistema podría ser obsoleto sin un mantenimiento constante en sus conocimientos.  La edición e inserción de conocimiento para el sistema sólo se le permite al administrador. Seguido a la Incepción, concluida con lo anterior, lo siguiente es la elaboración tomando como guía la metodología RUP reiteradamente; En ésta fase se empezó con la elaboración de diagramas de casos de uso, arquitectura del sistema, elaboración de bases de conocimiento, diseñada en la Incepción, elaboración de bases de datos, diagramas de flujos y de actividades.

Figura 4: DIAGRAMA DE CASOS DE USO

34

5.3

ARQUITECTURA DE ANÁLISIS



La solución debe ser 100% Web y debe realizarse desde un navegador como

Internet Explorer, Mozilla Firefox, Chrome, Opera o Safari. 

La solución debe operar de manera independiente en los navegadores Internet Explorer,

Mozilla Firefox, Chrome, Opera y Safari. 

La solución garantizará que el diseño de las consultas no afecte el desempeño de la

base de datos, ni la de conocimiento.

Figura 5: ARQUITECTURA DEL SISTEMA PROPUESTO Para el desarrollo del sistema experto se utilizó swi-prolog, debido a que es un software libre y cumple con las tareas requeridas para este proyecto, lo que implica la construcción de la base de conocimiento y las búsquedas mediante el motor de inferencia. La Base de Datos se realizó en MYSQL y contiene la información principal de los lugares como el nombre, la dirección, una breve descripción de cada lugar para que el turista tenga una idea los sitios sugeridos por el sistema, y una imagen para que el usuario sepa cómo es el lugar. 35

Se utilizó el servidor web APACHE que provee todos los servicios necesarios para conectar cada función del proyecto, y la interfaz en lenguaje php y html, que maneja un ambiente amigable para hacer cómoda la interacción con el software. En la figura 5 se pueden ver las relaciones de los componentes que conforman el sistema propuesto. Se aprecia que el usuario está en contacto directo con el servidor web y que éste último obtiene información de la base de datos y del sistema experto. Finalmente el sistema experto infiere una sugerencia de la base de conocimiento, se la proporciona al servidor éste al usuario.

Figura 6: FUNCIONAMIENTO DE LA BASE DE CONOCIMIENTO En la figura 6 se aprecia el funcionamiento del sistema, donde muestra las características del Parque Simón Bolívar por dar un ejemplo; si el usuario presenta las respuestas subrayadas como en la figura, el sistema le sugerirá que visite este lugar. Al obtener el resultado, (PARQUE SIMÓN BOLIVAR en la figura4) el sistema obtendrá la información de dicho lugar extrayendo los atributos de una base de datos, a continuación se aprecia el diccionario de datos del proyecto:

36

Tabla Lugar: Campo id_lugar Nombre descripcion Imagen Dirección

Tipo int(11) varchar(250) longtext varchar(250) varchar(250)

Nulo No No No No No

Extra Definición AUTO_INCREMENT Identificación del lugar Nombre del lugar Descripción del lugar Imagen del lugar Dirección del lugar

Tabla 6: Tabla Lugar. Tabla Cuenta: Campo id_cuenta Cuenta Clave

Tipo int(50) varchar(30) varchar(200)

Nulo No No No

Extra Definición AUTO_INCREMENT Identificación de cuenta Cuenta de usario Contraseña de usuario

Tabla 7: Tabla Cuenta.

Figura 7: DIAGRAMA DE ACTIVIDADES En el diagrama de actividades (figura 8) se tienen expuestas todas las acciones posibles del sistema, por ejemplo, el usuario que ingrese al sistema, llena el cuestionario, el sistema evalúa las respuestas y si hay coincidencias de lugares que cumplan con los requerimientos del usuario, 37

hará la sugerencia, y dará opción de una nueva consulta, si no hay coincidencias, el usuario hará otra consulta. Si por el contrario el que entra al sistema es administrador, el sistema ofrecerá un menú donde se despliegan opciones de insertar, editar o eliminar lugares o información específica. Concluida la fase de elaboración, se pasó a la construcción del sistema, se codificó todo y se realizaron las conexiones de los diferentes programas utilizados para que el sistema cumpliera la meta establecida.

5.4

Gestión del Proyecto.

Disciplinas / Artefactos generados o Descripción modificados durante la Fase de Construcción (Iteración 1) Realizar Base de Conocimiento Guarda información de los lugares, clasificándola para realizar las consultas Consultar lugar (características Se realizaron las consultas en Prolog, con falencias debido a AND en los lugares) las características de los lugares Consultar lugar (características OR en los lugares)

Se realizaron las consultas en Prolog, con resultados exitosos Tabla 8: Iteración 1.

Identificación: Duración de la prueba: Requerimientos de la prueba Objetivo Tipo de Prueba Hardware Requerido Software Requerido Datos de Prueba Procedimiento de Prueba Resultado

1 15 días Algunos lugares definidos Realización de Base de Conocimiento Consultas de lugares PC SWI-Prolog 16 lugares estándares de prueba La consulta se realiza escribiendo los atributos identificados en cada lugar para que el programa muestre el lugar correspondiente a dichos atributos. La consulta muestre el lugar correspondiente 38

Esperado Resultado Obtenido Prueba Exitosa Comentarios

SI( ) NO(X) No se realizó exitosamente la prueba debido a que los lugares tienen diferentes respuestas en cada atributo, es decir que era necesario utilizar sentencias OR, e inicialmente solo se utilizó AND Tabla 9: Prueba 1.

El proyecto empieza con 16 lugares con su respectiva información debidamente registrada tanto en la base de conocimiento como en la base de datos para realizar las pruebas pertinentes. Realizando éstas pruebas surgió un error ya que se tenía cada lugar con una única opción por atributo, es decir, por ejemplo en el Parque Simón Bolívar la pregunta “¿Para qué edad es el plan que busca?” inicialmente la respuesta para este lugar era “de 13 a 17 años” pero según la información adquirida de éste lugar dice que le abre sus puertas a las personas de todas las edades. Disciplinas / Artefactos generados o Descripción modificados durante la Fase de Construcción (Iteración 2) Ingresar como administrador El programa utiliza la cuenta administrativa para manipular la información Insertar nuevo lugar El administrador ingresa nuevos lugares de la ciudad de Bogotá Editar lugar con la cuenta de administrador se mantienen los lugares actualizados Eliminar lugar Se eliminan lugares por medio de la cuenta administrativa Crear Interfaz Se crea un ambiente amigable para interactuar con el sistema Crear Base de Datos Almacena información de los lugares y de las cuentas Realizar conexión Unifica todos los programas utilizados para la funcionalidad del sistema Tabla 10: Iteración 2. Identificación: Duración de la prueba: Requerimientos de la prueba Objetivo Tipo de Prueba Hardware Requerido Software Requerido

2 4 días Algunos lugares definidos Corrección en los atributos de los lugares Consultas de lugares PC SWI-Prolog 39

Datos de Prueba Procedimiento de Prueba Resultado Esperado Resultado Obtenido Prueba Exitosa Comentarios

Identificación: Duración de la prueba: Requerimientos de la prueba Objetivo Tipo de Prueba Hardware Requerido Software Requerido Datos de Prueba

16 lugares estándares de prueba La consulta se realiza escribiendo los atributos identificados en cada lugar para que el programa muestre el lugar correspondiente a dichos atributos. La consulta muestre el lugar correspondiente SI(X) NO( ) Se realizó exitosamente la prueba aplicando sentencias OR. Tabla 11: Prueba 2. 3 30 días Base de conocimiento e interfaz web para la conexión Realización de interfaz web y conexión con Prolog Consultas de lugares en SWI-Prolog por medio de la interfaz Web. PC SWI-Prolog, WampServer, Macromedia Dreamweaver

16 lugares estándares de prueba Se envía el texto desde la interfaz a SWI-Prolog, donde se realiza la Procedimiento de búsqueda con un motor de inferencia el cual devuelve la respuesta Prueba con el lugar correspondiente, mostrándolo en la página de la interfaz. Resultado Realizar consultas desde la interfaz, recibiendo ahí mismo la Esperado respuesta correspondiente. Resultado Obtenido Prueba SI(X) NO( ) Exitosa Comentarios La respuesta puede ser uno o varios lugares. Tabla 12: Prueba 3. Identificación: Duración de la prueba: Requerimientos de la prueba Objetivo Tipo de Prueba Hardware Requerido Software

4 8 días Base de datos e interfaz web para la conexión Realización de Base de Datos para la conexión con la Interfaz Extraer información de los lugares de la Base de Datos a la Interfaz gráfica. PC WampServer (phpMyAdmin), Macromedia Dreamweaver 40

Requerido Identificación, Nombre, imagen, dirección y descripción de cada uno de los 16 lugares de prueba en la Base de Datos. Al realizar la consulta inicial, el sistema devolverá una identificación Procedimiento de correspondiente al lugar; con ésta identificación llamaremos de la Prueba Base de Datos la información respectiva de dicho lugar. Resultado La consulta extraiga la información principal del lugar guardada en la Esperado Base de Datos Resultado Obtenido Prueba SI(X) NO( ) Exitosa El sistema extrae información de uno o varios lugares de la Base de Comentarios Datos, dependiendo la respuesta que se genere. Tabla 13: Prueba 4. Datos de Prueba

Identificación: Duración de la prueba: Requerimientos de la prueba Objetivo Tipo de Prueba Hardware Requerido Software Requerido Datos de Prueba

Procedimiento de Prueba

Resultado Esperado Resultado Obtenido Prueba Exitosa Comentarios

5 30 días Base de conocimiento, Base de Datos e interfaz web Insertar, Actualizar, Eliminar lugares del Sistema Manipulación de datos del sistema mediante la interfaz PC SWI-Prolog, WampServer, Macromedia Dreamweaver Datos aleatorios La interfaz muestra un formulario para insertar un nuevo lugar, el cual se llena y se envían los datos respectivamente a la Base de conocimiento y la Base de Datos; Al editar, el sistema muestra un formulario similar al anterior, con los datos actuales del lugar, los cuales se pueden editar y guardar; y al eliminar simplemente se selecciona el lugar que se desea borrar y al hacer click sobre este, el sistema borra toda su información. Manipular los datos del sistema. SI(X) NO( ) Ésta manipulación de datos es utilizada únicamente por un Administrador. Tabla 14: Prueba 5.

41

Identificación: Duración de la prueba: Requerimientos de la prueba Objetivo Tipo de Prueba Hardware Requerido Software Requerido Datos de Prueba Procedimiento de Prueba Resultado Esperado Resultado Obtenido Prueba Exitosa Comentarios

6 4 días Interfaz web para el login. Realización de Rol administrador Permisos para utilizar manipulación de datos. PC WampServer, Macromedia Dreamweaver 16 lugares estándares de prueba y datos aleatorios. Al utilizar el login correctamente, el sistema acepta el Rol de administrador El sistema dé permisos de administrador al ingresar como tal. SI(X) NO( ) La Base de Datos guarda el usuario y contraseña de administrador. Tabla 15: Prueba 6.

Al finalizar las pruebas y el sistema opere debidamente, la metodología RUP dice que se pasa a la fase de transición, donde el sistema pasa de estar a prueba a ser un objeto funcional pero para el alcance de éste proyecto, y debido a la ausencia temporal de entes que pongan a funcionar el producto, éste finaliza en este punto.

42

6.

PRESENTACIÓN Y ANÁLISIS DE RESULTADOS Al dejar éstas opciones múltiples, los resultados se vieron reflejados como en la siguiente imagen (figura 9) dónde se aprecia que al hacer una consulta el sistema sugiere que el turista se dirija al Centro Comercial Unicentro.

Figura 8: SUGERENCIA DEL SISTEMA Con lo anterior se termina la funcionalidad del sistema para los usuarios, para pasar a realizar las tareas del administrador, donde el sistema exige un log-in. Después de validar la cuenta y contraseña de administrador, el sistema muestra una página de opciones donde el administrador puede seleccionar la tarea deseada, ya sea Editar lugares e Insertar lugares. También puede cerrar sesión de administrador y volver al menú inicial para proteger su cuenta. La figura 10 muestra que el administrador seleccionó insertar lugar, y permite llenar el formulario con toda la información necesaria para éste nuevo lugar. En la parte superior del 43

formulario esta el nombre, Dirección, Imagen y Descripción, que son los datos almacenados en la base de datos. Después se ven las preguntas del cuestionario donde el administrador escoge las opciones para cada una de éstas, guardando esta información en la base de conocimiento. Estas acciones se realizan cuando el administrador presiona el botón de Guardar, pero tiene la opción de volver al menú anterior si no desea insertar un nuevo lugar.

Figura 9: INSERCIÓN DE LUGARES Estas opciones que tiene el administrador permiten tener el software actualizado ya que una ciudad como Bogotá puede cambiar la numeración de direcciones, el nombre de los lugares etc., para esto se planteó el siguiente menú que muestra los lugares insertados en el sistema con la opción de editarlos o eliminarlos (figura 11). Cuando el administrador selecciona la opción de Editar algún lugar determinado, el sistema muestra el formulario anterior (figura 10) extrayendo toda la información insertada actualmente de dicho lugar y da la opción de cambiarla en un ambiente fácil de manejar.

44

Éste formulario

permite al administrador devolverse al menú del administrador si es

necesario sin efectuar ningún cambio. En esta fase del proyecto, se plantea un único administrador para mantener el programa seguro de cambios desconfiables.

Figura 10: EDICIÓN Y ELIMINACIÓN DE LUGARES

45

7. CONCLUSIONES Y RECOMENDACIONES Se hizo una selección cuidadosa de los programas a utilizar para no limitar el sistema por conexiones de bases de datos, bases de conocimientos, interfaz y demás. SWI-Prolog se destacó por tener motor de inferencia incluido y realizar las búsquedas internas. Se utilizó como servidor web APACHE, y se logró una comunicación aceptable entre este y el sistema experto. Para llevar a cabo esto, se desarrolló un módulo en php que permite enviar la información a Prolog por medio de línea de comando. Sin embargo para trabajo futuro se recomienda explorar otras alternativas. Para un proyecto que utilice sistemas expertos es vital tener conocimiento del tema que se va a trabajar, la problemática y saber cómo se puede aplicar el sistema para que cumpla las funciones de una persona experta. Es necesario definir y mantener clara la metodología de trabajo y ajustar las tareas, fases, inserciones, etc., a ésta, en el caso de éste proyecto, la metodología RUP. Esta metodología no fue la más adecuada ya que la poca flexibilidad de ésta obliga a invertir gran parte del tiempo en mantener actualizada la documentación y este tipo de proyecto no requiere de este enfoque debido a que el proyecto es investigativo. En este tipo de proyectos es común que se presenten cambios posteriores que implican reestructurar el sistema. Realizar la base de conocimiento en Prolog es lo más conveniente para un proyecto de éste tipo, ya que es un lenguaje fácil de entender y de utilizar. Pero se debe tener en cuenta que al crear la base de conocimiento de ésta forma, quedará como un archivo plano dificultando la conexión directa con otros programas. A trabajo futuro se recomienda explorar la conexión ODBC que permitirá el intercambio de información directo de Prolog con una Base de datos SQL evitando el uso de un archivo para la base de conocimiento. Como trabajo futuro, está el desarrollo en la interfaz gráfica para la creación de nuevas cuentas administrativas, lo que implicaría proponer un contrato que asegure que la información que manejen estas cuentas será segura, verdadera y completa.

46

8. BIBLIOGRAFÍA INSTITUTO COLOMBIANO DE NORMAS TÉCNICAS Y CERTIFICACION. Trabajos escritos: presentación y referencias bibliográficas. Sexta actualización. Bogotá: ICONTEC, 2008 110 p.

PRESSMAN S, Roger. Ingeniería de Software, McGraw Hill, Sexta Edición en Español, 2008. ISBN: 84-481-3214-9.

CIBERGRAFIA PRESSMAN S, Roger. Ingeniería de Software Un Enfoque Práctico, McGraw Hill, Quinta Edición en Español. [Libro en línea] < http://es.scribd.com/doc/7978336/Ingenieria-de-Software-UnEnfoque-Practico-Pressman-5th-Ed>> [con acceso el 4 junio de 2011]. Instituto Nacional de Turismo [Información en línea] disponible desde internet en: < http://www.bogotaturismo.gov.co/> [con acceso el 4 de junio de 2011]

47

GLOSARIO



Base de conocimientos (BC): Contiene conocimiento modelado extraído del diálogo con un experto.



Base de hechos (Memoria de trabajo): contiene los hechos sobre un problema que se ha descubierto durante el análisis.



Motor de inferencia: Modela el proceso de razonamiento humano.



Módulos de justificación: Explica el razonamiento utilizado por el sistema para llegar a una determinada conclusión.



Interfaz de usuario: es la interacción entre el SE y el usuario, y se realiza mediante el lenguaje natural.



Sistemas expertos: son llamados así porque emulan el comportamiento de un experto en un dominio concreto y en ocasiones son usados por éstos. Con los sistemas expertos se busca una mejor calidad y rapidez en las respuestas dando así lugar a una mejora de la productividad del experto.



Base de datos: Una base de datos (en ocasiones abreviada BB.DD.) es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. En la actualidad, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital (electrónico), que ofrece un amplio rango de soluciones al problema de almacenar datos uso.



Redes de Inferencia: Una red de inferencia puede ser representada como un gráfico en el que los nodos representan parámetros que son los hechos obtenidos como datos o derivados de otros datos. Cada parámetro es una declaración acerca de algún aspecto del problema bajo análisis y puede servir como un antecedente o consecuente de una regla. Estas declaraciones pueden copar un rango que va desde la conclusión final de un sistema, hasta hechos simples, observados o derivados. Cada uno de estos parámetros puede tener uno o más valores asociados, donde cada valor tiene una medida correspondiente de incertidumbre que representa cuan creíble es el valor particular de un parámetro.

48

ANEXOS:

FORMATO DE CUESTIONARIO PARA EVALUACIÓN DE REQUERIMIENTOS DE USUARIOS.

1. Se asume que el turista tiene conocimiento de los lugares más representativos de la ciudad si la ha visitado anteriormente. La pregunta se plantearía: ¿Ha visitado Bogotá anteriormente? Si. No. 2. Se evalúa con que tiempo cuenta el usuario para visitar los lugares. La pregunta: ¿El tiempo de estadía en días? 1 a 3 días. 3 a 7 días. Más de 8 días. 3. Se clasifican las edades para ofrecerle una solución a los turistas dependiendo de sus años. La pregunta: ¿Para qué edad es el plan que busca? 1 a 12 años. 13 a 17 años. 18 a 40 años. 41 años en adelante. 4. Se evalúa con que grupo social viene el turista para determinar un lugar dependiendo a ello. La pregunta: ¿Para qué clase de grupo es el plan que busca? Amigos. Familia. Pareja. Negocios. 5. El presupuesto es fundamental para ofrecer una sugerencia que se adecúe al turista. La pregunta: ¿De qué presupuesto desea el plan? Gratis. Menos de $20.000. De $20.000 a $70.000. Mayor de $70.000. 6. El usuario define sus gustos del plan preferible: La pregunta. ¿Qué tipo de plan desea experimentar? Descanso. Cultural. Extremo. Shopping. Rumba.

49

CERTIFICACIÓN DE EXPERTO:

Yo,

___________________________

con

C.c.

N°__________________

de

____________. Laboro como promotor de turismo y ventas de tiquetes. Con mi desempeño me permito certificar que los parámetros utilizados en el proyecto del sistema experto en turismo para la ciudad de Bogotá, expuestos en el formato de cuestionario, aplica para tener conocimiento de los requerimientos del turista y así poder ofrecer una sugerencia sujeta a dichos requerimientos.

Con el cuestionario aplicado en este prototipo, el proyecto se cataloga como sistema experto, abarcando los ítems necesarios para obtener conocimiento de las necesidades de los usuarios.

_______________________________

50

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.