rojo reyes cristian israel 202211900
TRANSCRIPT
UNIVERSIDAD AUTONOMA METROPOLITANA
UNIDAD IZTAPALAPA
REPORTE FINAL:
PROYECTO DE INVESTIGACION I Y II
INTERFACE INTELIGENTE Y SOFTWARE PARA SITIO DE TAXIS.
ALUMNO: ROJO REYES CRISTIAN ISRAEL
PROFESOR: JOEL RICARDO JIMENEZ CRUZ.
GRUPO: CH-51
1
INDICE.
PAG.
INDICE……………………………………………………………………………………………………………………
…………………………………………………1
PRESENTACION.………………………………………………………………………………………………………
……………………………………………….3
PROYECTO DE INVESTIGACION I
• TRABAJO DE INVESTIGACION………………………………………………………………………………………………………
……………………….…6
RESUMEN…………….…………………………………………………………………………………………………
……………………………………….6
INTRODUCCION…………….………………………….………………………………………………………………
…………………………………….7
DEFINICION…….…………….………………………….………………………………………………………………
…………………………………….8
OBJETIVOS Y BENEFICIOS
ESPERADOS………………….…………………………………………………………………………………………8
ADAPTABILIDAD………………………………………………………………………………………………………
……………………………………..9
EJEMPLOS DE INTERFASES
INTELIGENTES…………………….………………………………………………………………………………10
-Adaptación de la interface de manera
directa.…………………………………………………………………………………
-Interfaces
informativas.……………………………………………………………………………………………………………
……..
-Interfaces
generadoras.…………………………………………………………………………………………………………
……….
-Programación por
demostración................................................................................…………………
2
AGENTES…………………………………………………………………………………………………………………
……………………………….….12
CONCLUSIONES………………………………………………………………………………………………….……
………………………………….14
BIBLIOGRAFIA…………………………………………………………………………………………….……………
………………………………….15
PAGINAS
WEB…………………………………………………………………………………………….…………………………
…………………….15
• DESARROLLO DE LA INTERFASE………………………………………………………………………………………………………………
…………….16
-Diagrama de transición
-Carta ASM (Diagrama de flujo)
-Descripción de archivos
-Diseño de la tabla para la aplicación
CONCLUSIONES…………………………………………………………………………………………….
……………………………………….23
PROYECTO DE INVESTIGACION II
PLANTEAMIENTO DEL
PROBLEMA.…………………………………………………………………………………………………………….2
5
ANALISIS DEL
PROYECTO.……………………….……………………………………………………………………………………
…………….25
DIAGRAMA DE
TRANSICION.…………………….………………………………………………………………………………………
……….28
3
CARTA ASM (DIAGRAMA DE
FLUJO).………….……………………………………………………………………………………………….28
DESCRIPCION DE LOS
ARCHIVOS……….…………….………………………………………………………………………………………
…35
CONCLUSIONES……………………………………………………………………………………….………………
…….…………………………..63
PAGINAS WEB UTILIZADAS COMO
BIBLIOGRAFIA……….………….……………………………………………….…………………64
PRESENTACION.
En este escrito se reflejara el trabajo realizado durante dos trimestres, correspondientes a
las UEA’s de Proyecto de Investigación I y Proyecto de Investigación II, respectivamente, de la
4
Licenciatura en Computación. Teniendo como asesor del este proyecto a el profesor Joel
Ricardo Jiménez Cruz.
En un principio y siendo el trabajo a desarrollar en el Proyecto de Investigación I, se pensó
en hacer una interface inteligente en un sitio web, para mejorar la interacción hombre-máquina,
es decir, hacer más fácil o más amigable el manejo de alguna aplicación de usuario, como por
ejemplo el llenado de formularios .
En la primer parte del trimestre correspondiente al Proyecto de Investigación I, se realizo la
investigación pertinente sobre el tema, viendo algunos algoritmos que se pudieran utilizar en esta
aplicación y fortaleciendo los conocimientos que se tenían sobre los lenguajes de programación
web que se iban a utilizar, en este caso fue HTML y PHP. Y en la segunda parte del este se
desarrollo una pequeña aplicación web para poder implementar lo investigado.
En la segunda parte del trabajo, es decir, en el Proyecto de Investigación II, el trabajo
cambio un poco, ya que se comenzó a desarrollar un software para un sitio de taxis, en el cual se
adapto para poder aprovechar los avances del trimestre anterior.
Para poder desarrollar este software se tuvo que hacer una entrevista con personas que
dirigen un sitio de taxis, se recogieron sus requerimientos y se comenzó a trabajar en estos,
dándonos como resultado un sitio web en el cual está montado el software para administración
de sitios de taxi y actualmente estoy trabajando en una versión del software que trabaje de
manera local en una computadora y ahí se guarde toda la información. Logrando así, un
resultado satisfactorio.
5
PROYECTO DE INVESTIGACION I
6
En esta parte se muestra el trabajo de investigación sobre las interfaces inteligentes y sus
aplicaciones, que se hizo durante el trimestre correspondiente al Proyecto de Investigación I y el
desarrollo de de la interface web, mostrando el código en los códigos y algunas imágenes de la
aplicación.
TRABAJO DE INVESTIGACION
7
RESUMEN.
La forma en que trabajamos con nuestras computadoras no ha evolucionado al mismo ritmo que el hardware y software que utilizamos. Bajo el esquema actual de manipulación directa, la computadora es una entidad pasiva a la espera de instrucciones detalladas sobre el trabajo que debe realizar. En la búsqueda de alternativas de solución a este problema, ha surgido un gran interés en la utilización de agentes que “conocen” los intereses del usuario y pueden actuar con autonomía en beneficio de éste. Debido a la popularidad de esta tecnología el término agente ha sido utilizado excesivamente en distintos medios. Cuando en 1956 en la conferencia de Dartmouth se lanzó el reto de crear máquinas que fueran capaces de simular las distintas facetas de la inteligencia humana, sin duda una de las facetas más destacables en las que se pensaba era la de la comunicación. La simulación de las capacidades de comunicación por parte de una máquina implica la capacidad de realizar actos de comunicación, no sólo con otras máquinas, sino también con seres humanos. Con este trabajo quiero dar un breve panorama de la utilización de la inteligencia artificial, aplicada a una interface web y conocer un poco más los conceptos básicos de este rubro.
INTRODUCCION.
8
La computadora se ha convertido en una herramienta que utilizamos diariamente dentro de un número cada vez mayor de tareas. Además de las aplicaciones tradicionales como hojas de cálculo, procesadores de palabra y demás “paquetería”, hoy en día utilizamos la computadora para adquirir información recién producida e inclusive para relacionarnos socialmente. Este desarrollo y sus ofertas, han hecho que un número cada vez mayor de usuarios sin entrenamiento previo se encuentren trabajando con computadoras. Desafortunadamente este proceso no ha ido de la mano con cambios significativos en la manera en que nos comunicamos con nuestras computadoras. El problema parece residir en la metáfora dominante en interacción usuario-computadora, denominada manipulación directa. En ella la computadora aparece como una entidad pasiva a la espera de instrucciones específicas y altamente detalladas que debe ejecutar. Dentro de las posibles soluciones a este problema, encontramos una nueva tendencia en el diseño de interfaces que busca utilizar la disposición de la gente a trabajar en equipo. La idea central es promover a la interfaz como la parte del un equipo de trabajo que se encarga de las “cosas” que hace el sistema. Algunos objetivos de esta propuesta son: • Dotar a la interfaz de algún medio por el cual comprenda qué es lo que el usuario trata de hacer y cómo debe proceder para lograrlo. • Una interfaz de este estilo debe ser capaz de comunicarse con el usuario para poder aconsejarlo y auxiliarlo sobre las tareas que lleva a cabo, sin que éste tenga que entrar en detalles. • Debido a que la delegación de trabajo descansa fundamentalmente en la confianza en los demás, la interfaz debe ser capaz de explicar satisfactoriamente sus actividades al usuario.
Aunque la interacción entre el humano y la computadora puede ser estudiada desde diferentes puntos de vista, nosotros nos enfocaremos en el análisis de la computadora como una herramienta para realizar una tarea específica del usuario. En ese sentido, nuestra primera línea de estudio será la que define el área de Interfaces de Usuario Inteligentes.
Tanto a nivel local como mundial se está produciendo un aceleramiento del continuo cambio que se viene dando respecto a la necesidad de interacción cotidiana de los usuarios con sistemas informáticos. Cada día se hace más necesario interactuar con interfaces diferentes: cajeros automáticos, consultas de información sobre viajes, actividades, eventos; búsqueda de información en bibliotecas, múltiples y variados sistemas de gestión, como ser sistemas empresariales, de comercio, de enseñanza, etc. Y especialmente el uso de Internet como un proveedor mundial de servicios, comunicación y fuente de información. A su vez, los sistemas informáticos son cada vez más completos, más complejos y tienen más interacción con otros sistemas.
Junto a esta diversificación y complejidad crecientes, asistimos a una descentralización del
acceso a la información, la que transfiere al usuario la responsabilidad y trabajo de obtener lo
que busca.
¿Cómo podemos mejorar el aprovechamiento de los sistemas informáticos para hacerlos más
sencillos de usar y aprender? ¿Cómo podemos lograr que esta interacción sea más efectiva y
satisfactoria?
9
Para muchos, las respuestas a estas preguntas provienen de la investigación y desarrollo de
interfaces más inteligentes, que se adapten al usuario de manera natural y progresiva, tratando
de detectar sus características para que el sistema se adecue a su nivel y preferencias. Estas
interfaces parten de la premisa que “los sistemas deben adaptarse a la gente”, y no lo contrario.
DEFINICION.
Algunos confunden “adaptabilidad” con “adaptabilidad”. Entendemos por “adaptabilidad”
la posibilidad de permitir al usuario, modificar los parámetros del sistema para adaptarlo así a su
comportamiento, mientras que por “adaptabilidad” entenderemos la capacidad del sistema de
adaptarse automáticamente al usuario, basado en suposiciones sobre el mismo.
Según Benyon (Ben94), un sistema adaptativo es “aquel que, basado en el conocimiento,
altera automáticamente aspectos de funcionalidad e interacción para lograr acomodar las
distintas preferencias y requerimientos de sus distintos usuarios.” Como ejemplos de
comportamiento adaptativo podemos citar la presentación de formularios y menús
dependiendo de la tarea a realizar, la presentación de información relevante según la tarea o
usuario que la demande, o el ofrecimiento de ayuda según el contexto de trabajo.
La necesidad de sistemas adaptativos deriva en primera instancia de la heterogeneidad de la población de usuarios. El crecimiento exponencial de Internet tiene, al mismo tiempo, un gran efecto sobre el número y la variedad de usuarios que pueden tener acceso a la información a través de la WEB. Esta heterogeneidad de usuarios influye en el diseño de cualquier sistema interactivo y por lo tanto en las interfaces de la WWW.
OBJETIVOS Y BENEFICISO ESPERADOS.
Para cumplir con su cometido, los sistemas adaptativos deben observar determinadas características:
• Mejorar la eficacia y eficiencia de los sistemas informáticos, • Extender su ciclo de vida, facilitando su mantenimiento, • Extender el rango de usuarios, desde el novato al experto, • Satisfacer las demandas del usuario, reduciendo temores y aumentando el atractivo y la
flexibilidad, logrando así una mejor aceptación; • Incrementar la productividad,
10
• Reducir la curva de aprendizaje, • Superar algunos de los problemas que la manipulación directa no puede resolver:
• Exceso de información • Uso de sistemas complejos • Decisiones en tiempo real
• Personalizar los sistemas • Ocuparse de tareas (en lugar del usuario) • Permitir el diálogo entre el usuario y el sistema • Presentar información de manera integrada y comprensible
ADAPTABILIDAD.
Para comprender mejor cómo estos sistemas se adaptan al usuario, podemos considerar dos aspectos fundamentales:
• La dinámica, que corresponde a los componentes que pueden ser objeto de adaptación,
• La métrica, usada para diseñar, construir y evaluar los sistemas adaptativos.
Como ejemplos de componentes dinámicos podemos citar:
• Ayuda, con distintos niveles de detalle, control y presentación, • “Windowing” y “Scrolling”, para adecuar preferencias, • Lenguaje de comandos, empleando términos con sentido para el usuario, • Mensajes de error, que sean explícitos y adecuados.
La adaptabilidad puede realizarse básicamente de dos formas:
• Automática • A pedido del usuario
La adaptabilidad automática puede, a su vez, dividirse en cognitiva y operativa. La cognitiva
trata de emplear los métodos mediante los cuales el ser humano procesa la información. Si bien
éstos son relativamente estables y cambian con lentitud, es difícil medir las diferencias entre los
mecanismos empleados por distintos individuos, lo que complica el desarrollo de este tipo de
interfaces. Una posible solución al problema consistiría en identificar los componentes de tareas
complejas para determinar luego las habilidades cognitivas necesarias para realizarlas.
La operativa consiste en detectar y analizar el comportamiento del usuario para predecir
acciones futuras y adaptar la interfaz para facilitarlas. Es sin duda la opción más empleada y que
ha mostrado mejores resultados, partiendo del supuesto que las acciones del usuario identifican
generalmente el objetivo a alcanzar, permitiendo así adecuar la respuesta del sistema y predecir
con éxito las intenciones y preferencias del usuario.
El concepto de adaptación a pedido del usuario o adaptibidad colaborativa implica que el usuario define cuánto y qué puede ser adaptable en un sistema. Por ejemplo, las
11
especificaciones del usuario pueden ser directas, como cambiar el sistema contextual de la ayuda, o puede ser un fino cambio de nivel en los tipos de intervenciones del sistema: demora antes de la identificación de ciertos objetos, sugerencias de acciones, etc. Otra posibilidad es darle la oportunidad de definir sus objetivos. El usuario podría elegir de un conjunto de objetivos generales y el sistema podría sugerirle diferentes formas específicas para lograr el objetivo señalado, por ejemplo: explorar, planificar, buscar, evaluar su propio progreso, etc. Luego seguirá interactuando de acuerdo al modo que haya seleccionado dependiendo de dónde y cómo quiera poner su atención y qué tipos de actividades prefiera realizar.
EJEMPLOS DE INTERFASES INTELIGENTES.
Haremos una rápida revisión a diferentes ejemplos de interfaces de usuario inteligentes. Los ejemplos serán divididos según las categorías propuestas por Ross (2000): adaptación de la interfaz de manera directa, interfaces informativas, interfaces generadoras e programación por demostración. La adaptación de la interfaz de manera directa y las interfaces informativas buscan reducir el factor de aprendizaje de la solución. Por otro lado, las interfaces generadoras y la programación por demostración están dirigidas a reducir el largo de las soluciones sugiriendo datos a partir de valores observados anteriormente.
1. Adaptación de la interfaz de manera directa
Este tipo de interfaces son las más comunes en los sistemas existentes. En este caso el modelo del usuario será usado para predecir las intenciones y preferencias o bien determinar patrones de comportamiento. En base a estas predicciones el software podría adaptarse en alguna de las siguientes formas:
• Ejecución especulativa – Las acciones predichas pueden ser ejecutadas especulativamente, como en el caso de que un usuario indica un comando, los paso necesarios ya fueron puestos en marcha o incluso terminados.
• Patrones de completado – si los patrones de comportamiento definidos son evidentes entonces diversas acciones son combinadas en una meta-acción sencilla.
• Rápida ejecución – Los comandos que ejecuta las acciones predichas o secuencia de acciones pueden ser fácilmente accesibles para el usuario de manera rápida.
• Asistencia – El sistema puede ofrecer ayuda y asistencia basada en el conocimiento de las intensiones del usuario.
Las formas básicas de la adaptación ya existen y son ampliamente usadas en el software comercial. Por ejemplo en el menú de archivos recientes de provisto por los manejadores de ventanas de los diferentes sistemas operativos y en la mayoría de las diferentes aplicaciones de escritorio. Aquí el sistema maneja un perfil diferente para cada usuario del sistema operativo para realizar la adaptación de la interfaz. Otro ejemplo similar es la agrupación de las opciones menos usadas de un submenú aplicada en los menús MS Office.
Un ejemplo diferente fue desarrollado por Davidson y Hirsh (1998), quienes proponen un sistema para predecir el uso de comandos de Unix. Este sistema se basa en un modelo
12
QctuadotesQsQa, contienen probabilidades para cada comando anteriormente utilizado. El sistema muestra las cinco predicciones mayores, las cuales pueden ser elegidas con las teclas de función. En sus pruebas se observó 75% de predicciones correctas. Es importante mencionar que habrá un aumento en la carga de trabajo para el usuario para la selección de los comandos. El algoritmo detrás de este modelo es un modelado de acciones en base a la probabilidad incremental que es muy similar a una clasificador bayesiano.
2. Interfaces informativas
Este tipo de interfaces se enfoca en la problemática del filtrado de la gran cantidad de información disponible a través de la Internet e incluso en una sola computadora. Langley (1999) menciona dos tipos principales para el filtrado de la información: basada en contenido y colaborativo.
En el filtrado basado en contenido cada objeto es asociado a un conjunto de descriptores. El usuario observa algunos de estos descriptores y decide aceptar o rechazar el objeto. De esta acción el sistema puede aprender que tipo de descriptores le son de interés al usuario. El sistema “Syskill & Webert recomanda” recomienda al usuario páginas de interés en base a un tema especificado.
El filtrado colaborativo de información (o filtrado social de información) puede ser usado para objetos que su descriptor no puede ser definido fácilmente o bien que el interés en el objeto se mide de manera subjetiva. Un sistema de filtrado colaborativo primero debe identificar un grupo de objetos sobre el cual indicará su interés positivo o negativo. Entonces el sistema necesita encontrar otro perfil del usuario con el que se intercepten los intereses. A partir de esta intersección se obtendrán los objetos que se sugerirán. Usando este método, medios subjetivos como trabajo artístico, música o películas pueden ser filtradas. El filtrado colaborativo es usado en sistemas como FilmFinder para realizar sugerencias de este tipo.
Existen algunas aplicaciones que usaban una combinación de los diferentes métodos de filtrado, como WiseWire, cuya tecnología fue integrada en 1998 en el buscador Lycos (referencia) y su objetivo era la recomendación de noticias y páginas web. En este caso el filtrado basado en contenido aprende a predecir temas en base a lo que el usuario había mostrado interés anteriormente y el filtrado colaborativo puede predecir intereses a partir de lo que el usuario no ha visto aún pero puede ser de interés (Lang 1995). El sistema WiseWire estaba diseñado para producir directorios jerárquicos de sitios ordenados por el usuario
3. Interfaces generadoras
Una interfaz generadora sugiere nuevos datos en base a los datos observados previamente. El objetivo principal es mejorar el desempeño del usuario al realizar la tarea, por ejemplo reduciendo el tiempo de captura de ciertos campos de información por parte del usuario. Este tipo de interfaces es común en los editores de texto, hojas de estilo y navegadores actuales que cuentan con sistemas de auto completado, en este caso cada aplicación maneja un perfil por usuario donde se administra la información de los textos y valores más usados en los diversos
13
campos de entrada y a partir de esta información realiza diversas sugerencias. Otro ejemplo de generación de acciones son los ambientes de programación que hacen correcciones en el código mientras este se va capturando.
4. Programación por demostración
La programación por demostración (PBD Programming By Demostration) (Cypher, 1993) funciona de forma muy similar a las interfaces generadoras, la diferencia principal radica en que las interfaces generadoras sugieren valores mientras que la PBD genera acciones con argumentos.
La PBD se basa en la detección de acciones requeridas por el usuario y sugerir aquellas que cubran la necesidad en cuestión. La PBD se basa en los siguientes elementos: representación de las acciones del usuario, representación de predicciones, detección de ciclos, generalización, conocimiento del dominio, validación de programas, terminación de condiciones y nivel de intrusión. Para el primer elemento se requiere identificar cuáles serán las acciones del usuario a considerar y cuál es el nivel de abstracción que se hará de la acción. Para así definir de manera adecuada la representación de las predicciones, ya que si esta es muy rebuscada (como un código asociado a cada predicción) el usuario puede tener problemas para interpretar y aceptar las predicciones. La detección de ciclos y generalización también será parte importante y es aquí donde juega un papel importante el aprendizaje de máquina, y debe definirse si este aprendizaje se realiza de forma apegada a conocimiento del dominio o de forma ajena. Las condiciones de terminación son muy difíciles de determinar a partir de unos pocos ejemplos, esto puede facilitarse si se toma en cuenta el conocimiento del dominio específico en cuestión. Finalmente se debe tener especial cuidado en la intrusión de este tipo de sistemas, buscando que sea lo mínimo posible.
Qctua (Cypher 1991) es un ejemplo de este tipo de sistemas. Este sistema requiere de la modificación de objetivos de la aplicación para su correcto funcionamiento. Incluye eventos y estructuras de datos. Con el objetivo de lo menos Qctuadote posible Qctua nunca hace preguntas al usuario. Busca identificar repeticiones en las acciones del usuario. Una vez detectado un patrón se indica al usuario esto esperando la aceptación o rechazo de dicha sugerencia. En caso de error, se revisa el modelo de la interacción que se ha identificado hasta ese momento. En caso de una sugerencia correcta el sistema completa la tarea automáticamente. En las pruebas realizadas, se los indicaron claridad en el uso del agente, ya que en la mayoría de los casos no hubo necesidad de mayor explicación para su uso; se reportaron algunos problemas cuando los usuarios usan diferentes estrategias para resolver su tarea y cuando los pasos de cada iteración cambian. El principal problema indicado surge cuando los usuarios sienten que pierden el control al intervenir el agente.
AGENTES. Los agentes no son un concepto exclusivo del campo de interfaces inteligentes. De hecho, el término “agente” ha sido utilizado ampliamente y de diversas formas dentro de IA. Existe un debate sobre los requerimientos mínimos de un agente en términos de representación-simbólica vs. Representación-no simbólica y comunicación-de-alto- nivel vs. Comunicación-de-bajo-nivel. Las definiciones que aquí presentadas evitan este debate para efectos de claridad. Kaebling
14
[KAE93] describe un agente en términos de un sistema, físico o programado, dotado de ciertas facultades QctuadotesQs que le permiten censar el medio ambiente en el que actúa; y ciertas facultades efectoras que le permiten modificar ese medio ambiente. La actuación del agente en el medio ambiente puede verse como la ejecución continua de un procedimiento que establece una correspondencia entre las entradas sensoriales del agente y sus salidas efectoras. Este procedimiento podría hacer uso de algún estado interno ej. Memoria. Los agentes se dividen en dos grandes grupos: • Agentes tropísticos. Tropismo es la tendencia de un organismo vivo a responder a estímulos externos. Un agente tropístico es aquel que carece de estado interno y su comportamiento está determinado completamente por su percepción del medio ambiente. • Agentes histeréticos. Estos agentes tiene un estado interno, ej. Memoria. Su comportamiento depende de su percepción del medio ambiente y de su estado interno. El término histéresis es empleado en física para indicar una retardación en el efecto causado por una fuerza cuando ésta cambia de intensidad o dirección, ej. Histéresis magnética. En las definiciones presentadas, aparecen tres puntos fundamentales que en opinión de Shoham son aceptados uniformemente por la comunidad de IA: • Autonomía. La acciones que lleva a cabo un agente dependen exclusivamente de su percepción del mundo y de su estado interno (cuando lo tienen), de tal forma que no necesitan de la intervención de otros agentes, naturales o artificiales, para llevar a cabo sus actividades. • Funcionamiento continúo. Un agente percibe el mundo, selecciona una acción, la lleva a cabo y repite este proceso continuamente. Esta forma dela acción adecuada y el momento adecuado para llevarla a cabo, es una condición necesaria para lograr la autonomía del agente. De otra forma, el agente necesitaría de indicaciones explícitas sobre cuando actuar. • Medio ambiente. No podemos definir un agente sin tomar en cuenta el medio ambiente en que actuará. Las propiedades QctuadotesQs y efectoras están definidas tomando en cuenta el medio ambiente que se representa como un conjunto de estados posibles del mundo. El medio ambiente incluye todo lo que no forma parte del agente mismo, incluidos otros agentes y procesos. En estos puntos encontramos información importante sobre cómo podríamos utilizar un agente en la construcción de interfaces inteligentes. Ahora sabemos que los agentes son autónomos y en consecuencia pueden actuar en beneficio del usuario sin requerimientos explícitos por parte de éste. Además sabemos que podrían estar permanentemente a su disposición por tener funcionamiento continuo. Y sabemos también, que los agentes tienen capacidades perceptoras que podrían utilizar para enterarse de los objetivos del usuario y Qctuadotes para realizar tareas que ayuden a lograr esos objetivos. Foner y Etzioni definen como características que un agente interfaz debe poseer, además de las ya mencionadas: • Adaptación. Esta característica es necesaria en agentes que enfrentan ambientes dinámicos y es central si deseamos autonomía. En el caso de los agentes interfaz, los usuarios suelen llevar a cabo sus tareas de muy diversas formas, de ahí la necesidad de que el agente se adapte a las
15
preferencias de los distintos usuarios que atiende. Aprendizaje y memoria son aspectos muy importantes a considerar cuando hablamos de adaptación. • Comunicación. La comunicación entre el agente y sus usuarios debe ser lo suficientemente compleja como para permitir a ambas partes dar a conocer sus intenciones y habilidades. Además debe permitir una retroalimentación en ambas direcciones.
Para resumir: un agente interfaz inteligente es un programa que utiliza técnicas de IA para proveer asistencia al usuario de alguna aplicación de cómputo. El agente busca continuamente la oportunidad de realizar tareas que ayuden a la satisfacción de los objetivos del usuario. Agente y usuario establecen una especie de contrato donde el usuario da a conocer sus objetivos y el agente ofrece sus capacidades para el logro de estos objetivos.
Conclusión. Es indiscutible la importancia que tiene la interfaz Humano-Computadora, en el sentido que puede afectar directamente el rendimiento de un sistema y la productividad de los usuarios. Existen estudios que indican que más de un 50% del esfuerzo de diseño y programación de proyectos está específicamente realizado en el área de las interfaces de usuario. Afirma incluso que una interfaz es uno de los elementos críticos para el éxito de los productos en el mercado, así como también para su utilización y aceptación por parte de los usuarios, quienes determinarán su voluntad de interactuar con estos sistemas o no. Para algunos, el espectacular crecimiento de la World Wide Web se explica en parte gracias al éxito de su interfaz humano-computador, la sencilla tecnología de hipertexto que permite a los internautas navegar a través de la información siguiendo una serie de vínculos relacionados.
Como parte de la evolución en las interfaces humano-computadora, las interfaces
inteligentes, y entre ellas, los sistemas adaptativos, prometen mejorar el aprovechamiento de los
16
sistemas informáticos para hacerlos más sencillos de usar y aprender y lograr una interacción más
efectiva y satisfactoria. Si bien existe cierto escepticismo sobre el futuro y el impacto de este tipo
de interfaces, existe también un buen número de razones que las hacen interesantes y
necesarias: los sistemas se vuelven cada vez más grandes y complejos, la información que
debemos manejar crece rápidamente y cada vez tenemos menos tiempo para tomar decisiones
basadas en ella.
La arquitectura de estos sistemas se basa en 3 modelos: El Modelo de Usuario hace posible determinar a un tipo de usuario, el Modelo de Interacción define las acciones que son posibles ejecutar en la interfaz mientras que el Modelo de Dominio describe los datos sobre los cuales se ejecutarán dichas acciones. Para el diseño se han sugerido diversas metodologías, pero aún se busca una que permita un desarrollo y mantenimiento más sencillos. La decisión de incluir o no comportamientos inteligentes o adaptativos en una interfaz debe considerarse como parte integrante del desarrollo total del sistema desde un principio: no podemos esperar que la adaptabilidad de un sistema resuelva un mal diseño. Toda metodología no debe perder de vista algunos conceptos básicos derivados de las interfaces de manipulación directa, como la transparencia, control, predictibilidad y confiabilidad que espera el usuario. Para el futuro se prevea que las nuevas tecnologías incluyan: Escritura a mano,
reconocimiento de gestos, posibilidad de hablar y entender en lenguaje natural, agentes
inteligentes que ayuden a los usuarios a entender y aprender sobre los sistemas, buscar
información relevante y desarrollo de programas por el usuario final. Estos nuevos métodos y
herramientas prometen hacer del proceso de desarrollo de interfaces una actividad
significativamente más sencilla, pero aún sigue siendo un desafío a resolver.
Para hacer realidad esta visión, algunos agentes necesitarán interpretar los gestos y expresiones a través de técnicas de visión por computador, o procesar la voz con técnicas de reconocimiento y comprensión del lenguaje natural. La inteligencia artificial y los sistemas basados en el conocimiento serán la base del motor de inferencia de los agentes, que determinará sus salidas. Al dirigirse al usuario, el agente deberá hacerlo de manera educada, y posiblemente deberá modular sus acciones de acuerdo al estado y humor del usuario en cada momento. Los retos de esta tecnología pueden encuadrarse, por lo tanto, en las áreas de entrada, inferencia y respuesta, y más concretamente en la interpretación de los lenguajes de expresión humana, en la representación y gestión del conocimiento del entorno y, finalmente, la comprensión del ser humano como ser social. En la actualidad los productos software tienen la capacidad de ofrecernos información, entretenernos y facilitar nuestro trabajo, pero también pueden entorpecerlo si la IU que nos ofrecen es limitada o difícil de utilizar. En este artículo se ha pretendido mostrar entonces cómo diferentes técnicas de distintas disciplinas, concretamente la IA, la IS y la IPO, se han ido agregando a lo largo de estos años para contribuir en conjunto a crear una experiencia satisfactoria para el usuario, aumentando el grado de inteligencia, sofisticación y usabilidad de las mismas.
BIBLIOGRAFIA.
17
David Benyon. “Accommodating Individual Differences through an Adaptive User Interface”.
Presented by Alison Nichols, October 21 1994.
Browne, Norman and Riches. “Why Build Adaptative Systems” Presented by Darin Krasle,
September 30, 1994.
Peter Brusilovsky. “Adaptive Hypermedia: an attempt to analyze and generalyze”, “Methods
and techniques of adaptive hypermedia in user modelling and user adapted interaction”.
Paul de Bra, Licia Calvi. “A generic Adaptive hypermedia system”. Hypertext98, Pittsburgh, USA. Junio 1998 Rosario Girardi, Cristina Salaberry. “Evolución y Reflexiones sobre la Interacción Humano-
Computador”. Universidad Católica Del Uruguay, 1998.
Michael McTear. “Intelligent Interface Technology: from Theory to Reality”. School of Information
and Software Engineering, University of Ulster.
T. Perez, J. Gutierrez, P. Lapisteguy. “An adaptive hypermedia system”. AI-ED95.AACE,
Charlotsville, Virginia. USA
Andries van Dam. “Post WIMP User Interfaces” Communications of the ACM. February 1997.
PAGINAS WEB.
www.wikipwedia.com
18
DESARROLLO DEL LA INTERFACE
Una vez terminado el trabajo de investigación se comenzó con el desarrollo de la
interface web, desarrollando en HTML y PHP, además de aplicar los conceptos obtenidos del
mismo. La aplicación consta de un formulario el cual está conectado a una base de datos en
MySQL, y en la misma página despliega la información y se puede modificar. Se utilizo un
algoritmo para el auto llenado el cual busca en la base de datos.
Para poder realizar este proyecto instale en mi computadora una herramienta llamada
“AppServer”, esta herramienta instala de forma fácil y rápida PHP, MySQL y Apache, de esta
forma pude probar las páginas web hechas con PHP. Los archivos de PHP los desarrolle en el
block de notas y guardando el archivo con extensión *.php
Cabe mencionar que durante el desarrollo de esta parte del proyecto se tuvieron
problemas con esta herramienta, ya que no corre de manera adecuada el MySQL en el sistema
operativo Windows Vista, ya que se generan varios errores los cuales fueron superados
satisfactoriamente instalando la herramienta en Windows XP.
Una vez terminada la aplicación fue publicada en un servidor gratuito llamado “iEspaña”
con la siguiente dirección:
http://iespana.redkings.es
A continuación se muestra el diagrama de transición de la página y la carta ASM.
Diagrama de transición.
19
Carta ASM (Diagrama de flujo).
20
Descripción de archivo
Registrars
NO
Login
SI
Usuario
password
Existen
INICIO
Registrar
o login
Ejecuta la
aplicación
FIN
Insertar Datos
Registra
Intentar de
nuevo o
registrarse
Insertar
de
Insertar Datos
Insertar
otro o
modifica
Leer
Borrar o
actualiz
ar
Modific
Borrar
Datos Actualizar
Datos
Borrar Actualiz
Leer o
iniciar
Inserta
r otro
Iniciar
Mensaje de
Error
21
A continuación mostrarte una breve descripción de los archivos utilizados para hacer esta
aplicación:
• Inicio.html: Este archivo es la página de inicio de la aplicación, en ella podemos hacer el
login para entrar a una aplicación o una página, en este caso solo nos manda a una a
pagina donde muestra el nombre del usuario y algunos links de utilidad, en caso de no
estar registrado nos envía a un formulario para registrarse como usuario.
22
• Login.php: Este archivo se encarga de validar el usuario y el password que se ha
introducido en la pantalla de inicio, si es válido muestra el nombre del usuario y un link
para acezar a la página protegida.
En caso de que el login sea incorrecto nos da dos links uno para volver a meter los datos,
es decir regresar a inicio.html y otro para registrarnos en caso de no ser usuarios.
23
• Insertar.html: Aquí se mandan los datos del formulario al archivo “Insertar.php” el cual se
encargara de introducirlos a la base de datos.
• Insertar.php: Mediante una consulta SQL, este archivo introduce los datos que recibió del
formulario a la base de datos, una vez hecho esto muestra la confirmación del la
operación.
24
• lectura.php: Hace una consulta en SQL, la cual muestra todos los datos que se han
introducido y de ahí podemos ir a insertar un nuevo registro, borrar y actualizar los datos.
• actualiza1.php: Despliega un “combo box” para elegir el nombre del usuario del cual se
quiere actualizar los datos.
25
• actualiza1.php: Realiza el cambio de los datos de acuerdo al nombre de usuario que de
eligió y lo modifica por medio de una instrucción SQL, ahí hay un link que nos envía a ver
los datos de la base de datos.
• borrar1.php: Aquí se selecciona el nombre del usuario el cual se quiere eliminar y se envía
el nombre al archivo “borrar1.php”.
26
• borrar1.php: Realza el borrado del registro gracias a una consulta SQL.
Diseño de la tabla para la aplicación
En esta aplicación la base de datos solo consto de una tabla, el diseño se muestra a
continuación.
27
Este fue el trabajo realizado durante el primer trimestre, correspondiente a la UEA de Proyecto
de Investigación I.
CONCLUSION.
Este trabajo fue cubrió las expectativas y se cumplieron las metas que se fijaron al inicio,
principalmente era hace una investigación sobre las interfaces inteligentes ver su
comportamiento y la forma en que trabajan, y una vez hecho esta investigación usarlo en una
aplicación y mejorar la interacción usuario-maquina.
PROYECTO DE INVESTIGACION II
28
PROYECTO DE INVESTIGACION II.
En esta parte se trabajara con los resultados obtenidos durante el trimestre anterior, en
este trabajo se enfoco más en la parte hacer una interface inteligente, para este nuevo trimestre
cambio un poco la perspectiva, pues se trato de desarrollar una aplicación que puede ayudar
al desarrollo de algún sector de la sociedad.
Con este fin se comenzó a desarrollando un pequeño sistema para la administración de
una base de taxis, con el objetivo de que en estos lugares puedan llevar una mejor
administración. Para aprovechar el trabajo anterior esta aplicación se hizo en internet, utilizando
PHP y HTML, con una base de datos en MySQL.
Planteamiento del problema.
Hoy en día la mayoría de los negocios llevan sus cuentas o administración de manera
electrónica, es decir, por medio de una computadora, por la facilidad de este servicio y ahorrar
en muchos aspectos, como por ejemplo en tiempo, ya que llevando su administración de
manera automatizada ahorran tiempo el cual pueden aprovechar en otras actividades. En este
punto me enfocare en la administración de sitios de taxis, ya que creo falta software para este
tipo de negocios.
29
Visitando uno de estos sitios las necesidades hay dos necesidades básicas.
• Necesitan tener un control de los taxis y sus dueños, así como de los choferes de los
mismos.
• Realizar cobros de manera automatizada de acuerdo a la distancia del viaje.
Y sobre estos dos puntos comenzare a trabajar el desarrollo de la aplicación.
Análisis del proyecto.
1. Generación de la base de datos.
En principio para poder cubrir todas las necesidades antes mencionadas, necesitaremos las
siguientes tablas con sus campos correspondientes:
• Taxis.
− Id_taxi
− Placa.
− Marca.
− Modelo.
− Numero de lista.
− Due_Tax
− Chof_Taxi
• Choferes.
− Id_Chof
− Nombre
− Dirección.
− Teléfono.
− Num_Tajeton.
− Clave_Chof
• Dueños.
− Id_Due.
− Nombre_Due
− Dirección.
− Teléfono.
• Colonia.
− ID_Col
− Nombre_Col
− Zona
30
− Importe.
• Recibo.
− Id_Recibo.
− Colonia
− Chofer.
− Importe
− Cliente
− Fecha
• Cliente.
− ID_Clie.
− Nombre_Clie
− Direccion_Clie
− Telefono_Clie
En principio con esta base de datos podremos hacer los movimientos planteados anteriormente.
A continuación se muestra el diagrama Entidad-Relación de la base de datos.
Esta aplicación primero se desarrollara en internet y posteriormente se realizara un ejecutable
para poder trabajar de forma local si el tiempo del trimestre lo permite.
31
Con esto podemos hacer el diseño de la base de datos, el cual queda de la siguiente manera,
con las relaciones y los campos correspondientes.
También necesitaremos una tabla extra para almacenar los datos de los usuarios que se
registraran para poder entrar a la aplicación. La tabla tendrá los siguientes campos:
• Usuarios.
− ID_usuario
− Nom_Usu
− Password
Una vez teniendo el diseño de la base de datos comencé el desarrollo de la aplicación
web. A continuación se muestran el diagrama de transición de la aplicación, los archivos que se
utilizaron con sus respectivas pantallas y una descripción de ellos.
Diagrama de Transición.
32
Carta ASM (Diagrama de flujo).
A continuación muestro la carta ASM (Diagrama de flujo) de la aplicación “MySITE”
33
N
N
N
N
SI
SI
SI
SI
SI
SI
Intentar de
Registrarse SI
SI
N
INICIO
Pagina de inicio
Seleccionar MySITE
Inicio de la aplicación
Usuario y Login
validos
Menú de MySITE
Mensaje de Error N Registrarse
o intentar de nuevo
Registrarse
Seleccionar Altas
Seleccionar Cambios
Seleccionar Consultas
Seleccionar Bajas
Seleccionar Salir
Seleccionar Recibos
1
FIN
2
3
4
5
N
N
7
34
NNNN
Cancelar Cancelar Cancelar Cancelar
Hacer Hacer Hacer Hacer
Salir Salir Salir Salir
RegistrRegistrar Registrar Registrar
SI SI SI SI
1
Menú Altas
Seleccionar Alta Chofer
Seleccionar Alta Cliente
Seleccionar Alta Dueño
Seleccionar Alta Taxi
Seleccionar Salir
Alta Chofer
Registrar o cancelar
Guardar Datos
Hacer nuevo o Salir
Alta Cliente
Registrar o cancelar
Guardar Datos
Hacer nuevo o Salir
Alta Dueño
Registrar o cancelar
Guardar Datos
Hacer nuevo o Salir
Alta Taxi
Registrar o cancelar
Guardar Datos
Hacer nuevo o Salir
6 6 6 6
7
6
35
Borrar otro
NNNN
Cancelar Cancelar Cancelar Cancelar
Borrar otro Borrar otro Borrar otro
Salir Salir Salir Salir
Borrar Borrar Borrar Borrar
SI SI SI SI
2
Menú Bajas
Seleccionar Baja Chofer
Seleccionar Baja Cliente
Seleccionar Baja Dueño
Seleccionar Baja Taxi
Seleccionar Salir
Baja Chofer
Borrar o cancelar
Borrar Datos
Borrar otro
Baja Cliente
Borrar o cancelar
Borrar Datos
Borrar otro
Baja Dueño
Borrar o cancelar
Borrar Datos
Borrar otro
Baja Taxi
Borrar o cancelar
Borrar Datos
Borrar otro
8 8 8 8
7
8
36
Modifica otro
NNNN
Cancelar Cancelar Cancelar Cancelar
Modifica otro Modifica otro Modifica otro
Salir Salir Salir Salir
Modifica Modifica Modifica Modifica
SI SI SI SI
3
Menú Cambios
Seleccionar Modifica Chofer
Seleccionar Modifica Cliente
Seleccionar Modifica Dueño
Seleccionar Modifica
Taxi
Seleccionar Salir
Modifica Chofer
Modifica o cancelar
Modifica Datos
Modifica otro
Modifica Cliente
Modifica o cancelar
Modifica Datos
Modifica otro
Modifica Dueño
Modifica o cancelar
Modifica Datos
Modifica otro
Modifica Taxi
Modifica o cancelar
Modifica Datos
Modifica otro
9 9 9 9
7
9
37
Crear
Nuevo
NNNN
Cancelar Cancelar Salir
Borrar otro Actualizar otro
Cancelar Cancelar
RegistrActualizar
Ver recibos
SI SI SI SI
4
Menú Recibos
Generar Recibo
Checar mapa de
zonas
Modificar Recibo
Borrar Recibo
Seleccionar Salir
Guardar Recibo
Crear nuevo, ver recibos o
salir
Mostrar Recibos
Mostrar Mapa Modificar Recibo
Actualizar o cancelar
Actualizar Datos
Actualizar otro o
Cancelar
Borrar Recibo
Borrar o cancelar
Borrar Recibo
Borrar otro o Cancelar 7
7
1
0
1
0
1
0
1
1
38
NNNN
SI SI SI SI
5
Menú de Consultas
Consultar Choferes
Consultar Clientes
Consultar Dueños
Consultar Taxis
Seleccionar Salir
Mostrar Choferes Mostrar Clientes Mostrar Dueños Mostrar Taxis
7
7
1
1
Consultar Recibos
777
39
Descripción de los archivos.
• Index.html. Primeramente se desarrollo una página de bienvenida o un “intro”, la cual
consta de una presentación que se desarrollo en Flash la cual se puede ver completa y
da una introducción a la aplicación o saltar a la página de inicio.
40
• Pagina_inicio.html. En este archivo se muestra una descripción de la aplicación y las
diferentes cosas que aparecen en la página, contiene un menú para poder navegar en
todo el sitio. Entre otras cosas, este sitio consta con una parte de “soporte” en la cual
ofrezco mis servicios de soporte técnico en software y hardware y una de ventas en la
cual se exponen algunos productos que pongo en venta, pero esta parte es
independiente del proyecto de investigación, lo hice o por iniciativa propia.
41
• Historia.html. En la página de inicio también se puede tener acceso a este archivo, en el
cual se muestra un poco más detallado el cómo se desarrollo este proyecto, así de cómo
surgió la idea.
42
• Login.html. Si en la página de inicio seleccionamos la opción de “MySITE--� versión
internet” nos mostrara la siguiente pantalla en la cual nos pide un nombre de usuario y un
password para poder entrar a la aplicación, caso de no tener estos datos se puede
registrar pulsando el botón “REGISTRATE”.
43
• Registro.html. En este archivo se registra un usuario nuevo, solo llena los datos del
formulario y se almacenaran en la base de datos.
• Registro.php: Este archivo se encarga de introducir, por medio de una sentencia SQL , los
datos del registro a la base de datos en la tabla de “usuarios”, una vez hecho esto nos
muestra el nombre del usuario y un mensaje de que la cuenta esta lista. Ahora podemos
regresar al archivo “Login.html” para entrar a la aplicación. Una vez que introducimos los
44
datos para entrar y son correctos, nos manda la siguiente pantalla, oprimimos el botón
“entrar a MySITE” para entrar a la aplicación.
• MySite.html: después de pulsar el botón nos muestra la siguiente pantalla:
En ella podemos ver las diferentes tareas que podemos realizar con esta aplicación, como altas,
bajas cambios, generar recibos y hacer algunas consultas de los datos que existen en la base de
datos. También nos da la opción de salir de la aplicación.
45
• Altas.html: este archivo nos muestra el menú de altas, y los diferentes tipos de estas,
podemos dar de alta choferes, clientes, dueños y taxis, que son los actores principales de
la aplicación.
• Alta_chofer.html: si pulsamos la opción “ALTA CHOFER” nos mostrara la siguiente pantalla,
en la cual introducimos los datos del chofer.
Una vez que llenamos los campos pulsamos “Registrar” y nos aparecerá el siguiente mensaje de
confirmación:
46
• Alta_Chofer.php: este archivo es el que se encarga de introducir los datos a la base por
medio de una instrucción de SQL, una vez que realzo esta tarea nos muestra la siguiente
pantalla
Tenemos la opción de agregar otro registro, el cual nos enviara a la pantalla de
“alta_chofer.html” o podemos regresar al menú de “MySite.html”.
Los archivos
− Alta_Cliente.html
− Alta_Dueño.html
− Alta_Taxi.html
Trabajan de una manera similar al anterior, despliega una pantalla de captura de datos, al
introducir los datos mediante su respectivo archivo php muestra un mensaje de confirmación y
47
por ultimo despliega otra pantalla donde nos da la opción de regresar al menú o realizar otro
registro.
A continuación se muestran las pantallas:
• Alta_Cliente.html
• Alta_Cliente.php
• Alta_Dueño.html
48
• Alta_Dueño.php
• Alta_Taxi.html
49
• Alta_Taxi.php
50
• Borrar.html: Si en el archivo MySite.html escogemos la opción “BORRAR” nos despliega el
siguiente menú, correspondiente a este archivo.
• Borrar_chofer1.php: en este podemos eliminar un registro correspondiente a un chofer,
para hacerlo hay un combo box, el cual despliega el nombre de todos los choferes que se
encuentran almacenados en la base de datos y seleccionamos el chofer que queremos
eliminar y pulsamos el botón “borrar”.
51
Al realizar el borrado nos despliega el siguiente mensaje:
• Borrar_chofer2.php: este archivo hace el borrado del registro por medio de una consulta
SQL y al realizarlo nos despliega la siguiente pantalla:
Nos da la opción de borrar otro registro o de regresar al menú principal.
52
• Borrar_cliente1.php: al igual que el archivo anterior, escogemos el nombre del cliente que
queremos borrar y pulsamos el botón “borrar”
Al realizar la operación nos despliega el siguiente mensaje:
53
• Borrar_cliente2.php: este archivo realiza el borrado del registro de un cliente, por medio de
una sentía SQL, y nos despliega la siguiente pantalla:
Al igual que la anterior podemos borrar otro registro o volver al menú principal.
• Borrar_Dueño1. php: Al igual que los anteriores escogemos el nombre del dueño que
queremos eliminar de la base y pulsamos el botón “borrar”.
54
Se muestra la confirmación del registro borrado.
• Borrar_dueño2.php: pro medio de una consulta SQL se realiza el borrado del registro
escogido en la base de datos, nos muestra la pantalla siguiente que es igual a las
anteriores y también nos da la opción de borrar otro registro o regresar al menú principal.
55
• Borrar_taxi1. php: de la misma manera que los archivos anteriores podemos escoger el taxi
que queremos eliminar la diferencia es que hay que escoger el número de lista que se le
asigno al taxi durante el registro y pulsamos el botón “borrar”.
De igual manera nos muestra el mensaje de confirmación:
56
• Borrar_taxi2.php: en este archivo también utilizamos una instrucción SQL la cual borra el
registro y nos muestra la misma pantalla que las anteriores y nos da las mismas opciones.
• Actualiza.html: este archivo nos muestra un menú para realizar las modificaciones de
choferes, clientes, dueños, taxis y podemos escoger la opción que queremos modificar.
57
• Actualiza_chofer1. php: en esta pantalla primero escogemos el nombre del chofer al cual
queremos hacer modificaciones y llenamos los datos que queremos modificar.
• Actualiza_chofer2.php: con este archivo se realiza la modificación por medio de una
sentencia SQL, y nos da la opción de poder modificar otro registro regresar al menú
principal.
De la misma forma trabajan los demás archivos de modificación.
− Actualiza_Cliente1. php
− Actualiza_Dueño1. php
− Actualiza_Taxi1. php
Seleccionamos el nombre de la persona a modificar o el numero de lista en el caso de
“Actualiza_Taxi.html” y tienen también sus respectivos archivos en PHP.
− Actualza_Cliente2.php
− Actualiza_Dueño2.php
− Actualiza_Taxi2.php
58
En todos los archivos anteriores se tiene una consulta SQL para actualizar el registro
seleccionado. A continuación se muestran las pantallas de cada uno de los archivos
mencionados anteriormente.
• Actualiza_Cliente1. php
• Actualiza_Dueño1. php
59
• Actualiza_Taxi1. php
• Select_Col.php: Si en el menú principal que se encuentra en el archivo “MySite.html”
escogemos la opción “RECIBOS” nos mostrara la siguiente pantalla:
60
Nos muestra dos combo box uno en el que elegimos la colonia y el chofer, estos son datos que
utilizaremos para generar un recibo, además de que tenemos otras opciones como checar
mapa de zonas, Modificar Recibos, Borrar recibos o salir.
• Recibos.php: si escogemos la opción “Generar Recibo” generaremos un recibo nuevo,
esto lo hacemos con los datos que se nos proporcionaron, es decir, la colonia y el nombre
del chofer. Con la colonia obtendremos el consto del viaje ya que cada colonia tiene
asignada un costo del viaje a esa colonia dependiendo de la zona en la que se
encuentra y el chofer que llevara al cliente a dicha colonia, una vez hecho la selección
de la colonia y el chofer pulsamos el botón “Generar recibo” y nos mostrara el siguiente
mensaje de confirmación.
61
• Genera_Recibo. php: mediante una consulta SQL se inserta el nuevo recibo a la base de
datos con los datos antes seleccionados y nos despliega la siguiente pantalla, la cual nos
da la opción de crear otro recibo, ver los recibos o regresar al menú principal.
• Mapa. html: si en el menú que se despliega en el archivo “Select_Col.php” pulsamos la
opción Ver mapa de zonas, nos despliega un mapa del Distrito Federal y el área
metropolitana con las zonas marcadas por medio de colores y una tabla donde indica el
costo de un viaje a cada una de las zonas.
62
La tabla es la siguiente
63
• Actualiza_Recibo. php: en caso de que seleccionáramos la opción “Actualizar Recibo”
del menú nos desplegaría la siguiente pantalla
Aquí de vemos seleccionar el numero de recibo que queremos actualizar, la colonia y el chofer,
pulsamos el botón “Actualizar” y por medio de sentencias SQL realizaría el cambio en la base de
datos.
64
• Borrar_Recibo. php: y por ultimo si seleccionamos la opción “Borrar Recibo” se mostrara la
siguiente pantalla en la cual tenemos que elegir el numero del recibo que queremos
eliminar y pulsamos el botón “Borrar”
Por último, en el menú principal tenemos la opción de “CONSULTAS”, en esta opción
podemos ver los datos que tenemos en la base de datos de las diferentes tablas: Chofer, Cliente,
Dueño, Taxis y Recibos.
• Consulta.html: este archivo nos muestra el menú con las diferentes consultas que podemos
realizar, la consulta se muestra con tan solo pulsar el botón que queramos ver, la pantalla
que nos muestra es la siguiente:
65
• Mostra_Recibo.php: este archivo nos despliega en pantalla todos los recibos que se tiene
emitidos en la aplicación, ordenándolos por número de recibo.
De igual manera funcionan los archivos:
− Mostra_Chofer.php
− Mostra_Cliente.php
− Mostra_Dueño.php
− Mostrar_Taxi.php
A continuación se muestran las pantallas correspondientes:
66
• Mostra_Chofer.php
• Mostra_Cliente.php
67
• Mostra_Dueño.php
• Mostrar_Taxi.php
68
Finalmente si escogemos la opción “SALIR DE MySITE” del menú principal, la aplicación
terminara con nuestra sesión y nos mostrar la siguiente pantalla:
• Loginout.php
69
CONCLUSION.
Este fue el proyecto de investigación que desarrolle, se cumplieron todas las metas
planteadas al principio de este, las cuales fueron:
• Conocer el concepto de “Interface Inteligente”: Esto se logro durante el primer trimestre ya
que con la investigación que hice comprendí el concepto y sus aplicaciones.
• Poner en práctica los conocimientos adquiridos durante la licenciatura: Desde la
investigación, el desarrollo de la aplicación y la generación de este documento, aplique
todo lo aprendido durante el tiempo que estuve en la licenciatura, sobre todo en el
momento del desarrollo de la aplicación, puse en práctica lo aprendido en mis cursos de
programación y me fue más fácil comprender los concepto nuevos por la base teórica
que tengo.
• Generar una aplicación que pueda ser útil a la sociedad: Con la creación de MySite, doy
una opción para que los sitios de taxis puedan administrarse de manera más fácil y
automatizada, además de que es un campo con poco software y esto puede ser muy
redituable.
Esta aplicación se hizo tomando en cuenta los requerimientos de una base de taxis real,
con la cual me encuentro en platicas para poder implementar esta aplicación con ellos, y así
ellos lleven una administración de manera automatizada del sistema. Cabe mencionar que hay
que superar algunas dificultades para logran la implementación en un sitio, ya que surgen los
siguientes problemas:
• No cuentan con una computadora en el sitio y mucho menos con internet.
• Las personas que se conocida como “checadores de la base” son personas que tal vez
no están calificadas para utilizar una aplicación o tal vez ni siquiera una computadora.
• Hacerles saber que es una aplicación útil y tendrán que entrar a la era de la
administración automática como en otros sectores económicos.
Y las soluciones que doy son las siguientes:
Hacer un paquete con la aplicación y una computadora “notbook”, para que de esta forma
puedan adquirir una computadora que puedan tener en el sitio con todo y aplicación.
La aplicación de MySITE es muy amigable y se hizo de esta pensando en los posibles usuarios
que la manejarían. Además de que se puede dar capacitación a la o las personas que serian las
encargadas manejar la aplicación.
Hacerles saber que es tiempo de que su administración la lleven de esta manera, y de cualquier
forma en un futuro no muy lejano tendrán que tomar en cuenta esta opción.
70
Páginas Web utilizadas de bibliografía.
www.lawebdelprogramador.com
www.tutorialesenlinea.com
www.cursosytutoriales.com
www.mysql.com
www.codigosphp.com