rojo reyes cristian israel 202211900

71
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

Upload: others

Post on 19-May-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rojo Reyes Cristian Israel 202211900

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

Page 2: Rojo Reyes Cristian Israel 202211900

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................................................................................…………………

Page 3: Rojo Reyes Cristian Israel 202211900

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

Page 4: Rojo Reyes Cristian Israel 202211900

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

Page 5: Rojo Reyes Cristian Israel 202211900

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.

Page 6: Rojo Reyes Cristian Israel 202211900

5

PROYECTO DE INVESTIGACION I

Page 7: Rojo Reyes Cristian Israel 202211900

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

Page 8: Rojo Reyes Cristian Israel 202211900

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.

Page 9: Rojo Reyes Cristian Israel 202211900

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?

Page 10: Rojo Reyes Cristian Israel 202211900

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,

Page 11: Rojo Reyes Cristian Israel 202211900

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

Page 12: Rojo Reyes Cristian Israel 202211900

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

Page 13: Rojo Reyes Cristian Israel 202211900

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

Page 14: Rojo Reyes Cristian Israel 202211900

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

Page 15: Rojo Reyes Cristian Israel 202211900

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

Page 16: Rojo Reyes Cristian Israel 202211900

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

Page 17: Rojo Reyes Cristian Israel 202211900

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.

Page 18: Rojo Reyes Cristian Israel 202211900

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

Page 19: Rojo Reyes Cristian Israel 202211900

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.

Page 20: Rojo Reyes Cristian Israel 202211900

19

Carta ASM (Diagrama de flujo).

Page 21: Rojo Reyes Cristian Israel 202211900

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

Page 22: Rojo Reyes Cristian Israel 202211900

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.

Page 23: Rojo Reyes Cristian Israel 202211900

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.

Page 24: Rojo Reyes Cristian Israel 202211900

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.

Page 25: Rojo Reyes Cristian Israel 202211900

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.

Page 26: Rojo Reyes Cristian Israel 202211900

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”.

Page 27: Rojo Reyes Cristian Israel 202211900

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.

Page 28: Rojo Reyes Cristian Israel 202211900

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

Page 29: Rojo Reyes Cristian Israel 202211900

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.

Page 30: Rojo Reyes Cristian Israel 202211900

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

Page 31: Rojo Reyes Cristian Israel 202211900

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.

Page 32: Rojo Reyes Cristian Israel 202211900

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

− Email

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.

Page 33: Rojo Reyes Cristian Israel 202211900

32

Carta ASM (Diagrama de flujo).

A continuación muestro la carta ASM (Diagrama de flujo) de la aplicación “MySITE”

Page 34: Rojo Reyes Cristian Israel 202211900

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

Page 35: Rojo Reyes Cristian Israel 202211900

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

Page 36: Rojo Reyes Cristian Israel 202211900

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

Page 37: Rojo Reyes Cristian Israel 202211900

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

Page 38: Rojo Reyes Cristian Israel 202211900

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

Page 39: Rojo Reyes Cristian Israel 202211900

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

Page 40: Rojo Reyes Cristian Israel 202211900

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.

Page 41: Rojo Reyes Cristian Israel 202211900

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.

Page 42: Rojo Reyes Cristian Israel 202211900

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.

Page 43: Rojo Reyes Cristian Israel 202211900

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”.

Page 44: Rojo Reyes Cristian Israel 202211900

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

Page 45: Rojo Reyes Cristian Israel 202211900

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.

Page 46: Rojo Reyes Cristian Israel 202211900

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:

Page 47: Rojo Reyes Cristian Israel 202211900

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

Page 48: Rojo Reyes Cristian Israel 202211900

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

Page 49: Rojo Reyes Cristian Israel 202211900

48

• Alta_Dueño.php

• Alta_Taxi.html

Page 50: Rojo Reyes Cristian Israel 202211900

49

• Alta_Taxi.php

Page 51: Rojo Reyes Cristian Israel 202211900

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”.

Page 52: Rojo Reyes Cristian Israel 202211900

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.

Page 53: Rojo Reyes Cristian Israel 202211900

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:

Page 54: Rojo Reyes Cristian Israel 202211900

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”.

Page 55: Rojo Reyes Cristian Israel 202211900

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.

Page 56: Rojo Reyes Cristian Israel 202211900

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:

Page 57: Rojo Reyes Cristian Israel 202211900

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.

Page 58: Rojo Reyes Cristian Israel 202211900

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

Page 59: Rojo Reyes Cristian Israel 202211900

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

Page 60: Rojo Reyes Cristian Israel 202211900

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:

Page 61: Rojo Reyes Cristian Israel 202211900

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.

Page 62: Rojo Reyes Cristian Israel 202211900

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.

Page 63: Rojo Reyes Cristian Israel 202211900

62

La tabla es la siguiente

Page 64: Rojo Reyes Cristian Israel 202211900

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.

Page 65: Rojo Reyes Cristian Israel 202211900

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:

Page 66: Rojo Reyes Cristian Israel 202211900

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:

Page 67: Rojo Reyes Cristian Israel 202211900

66

• Mostra_Chofer.php

• Mostra_Cliente.php

Page 68: Rojo Reyes Cristian Israel 202211900

67

• Mostra_Dueño.php

• Mostrar_Taxi.php

Page 69: Rojo Reyes Cristian Israel 202211900

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

Page 70: Rojo Reyes Cristian Israel 202211900

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.

Page 71: Rojo Reyes Cristian Israel 202211900

70

Páginas Web utilizadas de bibliografía.

www.lawebdelprogramador.com

www.tutorialesenlinea.com

www.cursosytutoriales.com

www.mysql.com

www.codigosphp.com