Story Transcript
Autorizada la entrega del proyecto de la alumna: María de Covadonga López López
LA DIRECTORA DEL PROYECTO Cristina Puente Agueda
Fdo:
Fecha: / /2009
Vº Bº del Coordinador de Proyectos Eduardo Alcalde Lancharro
Fdo:
Fecha: 26/06/2009
UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO TÉCNICO EN INFORMÁTICA DE GESTIÓN
PROYECTO FIN DE CARRERA
SISTEMA FINANCIERO INTELIGENTE
AUTORA: MARÍA DE COVADONGA LÓPEZ LÓPEZ MADRID, JUNIO DE 2009
RESUMEN La complicada situación económica actual unida a la dificultad que tienen la mayoría de las personas para comprender el funcionamiento del mundo de las finanzas, se traduce en un auténtico problema a la hora de decidir cómo invertir o qué hacer para conservar sus ahorros. Internet proporciona una gran cantidad de información sobre este tema, pero puede resultar compleja, poco eficiente y es fácil perderse si no se cuenta con los conocimientos o la experiencia adecuados.
Este proyecto intenta aportar una solución a este problema proporcionando consejos financieros a potenciales inversores o ahorradores, con independencia de sus conocimientos, posiciones económicas, etc. Para ello se va a desarrollar un sistema experto: Sistema Financiero Inteligente, donde se cuenta con la colaboración de un experto en el tema financiero.
La aplicación estudiará y asignará un perfil a cada usuario, a través de las respuestas de un formulario creado con la ayuda del experto. Con dicho perfil y sus preferencias personales, se le harán una serie de recomendaciones financieras, indicando los campos más adecuados para invertir y una serie de ejemplos o posibilidades de inversión en cada uno de esos campos.
El entorno de la aplicación es un entorno web creado en PHP. La base de datos y sus accesos se implementarán en EasyPHP. Se creará un interfaz de usuario muy sencillo donde se incluirá un manual de usuario.
La aplicación tendrá una base de datos de usuarios donde se almacenarán los datos personales de cada uno de ellos. Una vez el usuario se
I
ha registrado podrá acceder a la aplicación introduciendo su nombre de usuario y contraseña.
Solo el propio usuario tendrá acceso a sus informes financieros y a sus datos, pudiendo eliminarlos de la base de datos en cualquier momento.
II
ABSTRACT The present complex economic situation combined with the difficulty that most of the people have to understand the way the world of finance works, lead to real problem when they need to decide how to invest or what to do to protect their savings. Internet provides a huge data base related to this topic, but may be complex, rather inefficient and easy to get lost, if they do not have the suitable knowledge or experience.
This project intends to give a solution to this problem providing the potential investors o savers with some financial advice, independently of their knowledge, rent, etc. An expert system is going to be developed for this: Intelligent Financial System, counting on a financial expert help.
The application will study and assign a profile to each user with the responses to a form developed with the help of an expert. Using that profile and their personal preferences, the users will get a number of financial recommendations, indicating the most suitable areas to invest and a number of examples or possibilities in each of those areas.
The range of the application is a web range developed in PHP. The data base and their accesses will be implemented in EasyPHP. A very easy user interface will be developed, including a user handbook.
III
The application will have a user’s data base where their personal data will be stored. Once a user is registered, he will be able to access to the application introducing his user name and password.
Only the user will be able to access to his recommendations and data that will be able to be removed at any time.
IV
ÍNDICE 1
Introducción y Objetivos ...........................................................................................1 1.1 Motivación ....................................................................................................1 1.2 Introducción .................................................................................................3 1.3 Objetivos .......................................................................................................5 1.4 Planificación .................................................................................................8 1.5 Valoración económica del proyecto ..........................................................11 1.6 Aplicaciones de estilo .................................................................................12
2
Sistemas expertos ......................................................................................................15 2.1 Introducción ...............................................................................................15 2.1.1
Historia .............................................................................................16
2.1.2
Tipos .................................................................................................17
2.1.3
Ventajas ............................................................................................17
2.1.4
Limitaciones .....................................................................................20
2.1.5
Tareas................................................................................................20
2.2 Arquitectura de un sistema experto ..........................................................22 2.3 Metodología software .................................................................................24 2.3.1
Ciclo de vida en Buchanan .............................................................24
2.3.2
Ciclo de vida y metodología klic ....................................................38
2.3.3
Ciclo de vida y metodología CommonKADS ................................39 2.3.3.1 Modelos ...............................................................................40
2.3.4
Ciclo de vida y metodología ideal ..................................................41
2.4 Identificación del problema y solución ....................................................42 2.4.1
Éxito de un sistema experto ...........................................................43
V
3
Bases de datos y perfiles de usuario .........................................................................44 3.1 Bases de datos .............................................................................................44 3.1.1
Usuarios ............................................................................................46
3.1.2
Inversiones .......................................................................................49
3.2 Perfiles de usuario ......................................................................................52
4
Aplicación .................................................................................................................60 4.1 Control de datos .........................................................................................77
5
Algoritmo ..................................................................................................................80 5.1 Introducción ...............................................................................................80 5.2 Asignación de perfiles ................................................................................81
6
5.2.1
Contabilizar puntuación ..................................................................81
5.2.2
Asignación de grupo ........................................................................83
5.2.3
Nivel de ajuste dentro del grupo .....................................................85
Pruebas ......................................................................................................................86 6.1 Introducción ...............................................................................................86 6.2 Tipos de pruebas .........................................................................................87 6.2.1
Pruebas de encaminamiento ...........................................................87
6.2.2
Pruebas de integración ....................................................................88
6.2.3
Pruebas de explotabilidad ...............................................................88
6.2.4
Pruebas de seguridad .......................................................................88
6.2.5
Pruebas de sobrecarga .....................................................................89
6.2.6
Pruebas de aceptación de usuario ...................................................89
6.2.7
Pruebas de usabilidad ......................................................................90
6.3 Ejemplo .......................................................................................................91
VI
7
Conclusiones y trabajo futuro................................................................................99 7.1 Conclusiones ...............................................................................................99 7.2 Trabajo futuro ...........................................................................................102
8
Bibliografía ...........................................................................................................103 8.1 Libros.........................................................................................................103 8.2 Páginas web ..............................................................................................104 8.3 Otros documentos ....................................................................................105
VII
Capítulo 1
I
ntroducción y objetivos
1.1 MOTIVACIÓN. La crisis económica actual se traduce en situaciones muy difíciles para una gran parte de la población no solo española, sino mundial. Estas dificultades llevan a la gente a cambiar su ritmo de vida y tener una mayor preocupación por controlar sus gastos, situación hasta ahora diferente a la que se ha disfrutado en los últimos años. A modo de ejemplo, el sector inmobiliario era hasta hace poco el de mayor inversión de los españoles, hasta un punto en el que superaba lo que se podía considerar razonable de acuerdo con las reglas del mercado. En estos momentos, una vez producida la “explosión de la burbuja inmobiliaria”, este sector está totalmente en declive y el ajuste que está produciendo el mercado se traduce en una bajada de los precios, con un claro exceso de la oferta en relación a la demanda, lo que unido a las restricciones que imponen las entidades financieras a la hora de conceder préstamos, hace que sea un sector poco rentable para la inversión.
1
Capítulo 1
Esta situación contrasta con la existente hace solo año y medio en la que el sector inmobiliario acogía la mayor parte de la inversión de los españoles. Sin duda cuando la economía se vaya recuperando, volverá a ser un sector rentable, aunque probablemente sin la rentabilidad conseguida durante los años dorados de la construcción en España.
Ante la incertidumbre sobre el futuro de la situación económica mundial, surge la pregunta de qué hacer con el dinero ahorrado, de cuál es la mejor manera de rentabilizar esos ahorros, obteniendo de ellos el mayor beneficio posible, sin someterlos a un riesgo inasumible. La respuesta no es sencilla pues, por un lado, las circunstancias y objetivos de cada uno de los ahorradores son muy distintos, y por otro, las posibilidades de inversión son también múltiples.
Los beneficios, niveles de riesgo, disponibilidad de lo invertido, incertidumbre del mercado, etc., introducen tal cantidad de variables que hace muy difícil tomar una decisión sobre cómo invertir sin la ayuda de una herramienta que facilite y clarifique ese proceso de decisión. Con esta aplicación se pretende resolver este problema para determinados inversores, pues respondiendo a un sencillo cuestionario, con el que se pretenden obtener datos objetivos, se determinará el perfil de inversión de cada uno de ellos, y se le adaptará la mejor solución.
El tema en sí es interesante, pues es algo que afecta a todo el mundo y más en estos momentos de crisis, en los que el dinero es quizá la principal preocupación de la mayoría de la población española. Pero las técnicas de inteligencia artificial que se van a usar es lo más interesante del proyecto así como aprender a tratar, crear y utilizar una gran base de datos asociada a una página web. 2
Introducción y objetivos
1.2 INTRODUCCIÓN. Los continuos cambios en los mercados financieros, y en la economía en general, provocan que la falta de información adecuada y actualizada a la hora de invertir pueda suponer una reducción e incluso pérdida de los beneficios esperados. Partiendo de éste problema, se tratará de proponer una solución mediante un sistema de recomendación capaz de evaluar las preferencias de un determinado usuario a la hora de invertir, y contrastarlas con distintas alternativas de inversión.
Internet junto con los sistemas de base de datos actuales permiten un acceso a la información; pero el acceso manual es complejo, poco eficiente, y a menudo es fácil perderse entre tanta información. Lo que se pretende es utilizar diferentes sectores del campo financiero de manera que mediante técnicas avanzadas de análisis se pueda extraer de ellos un conocimiento útil para el usuario.
El sistema financiero tendrá una base de datos que contendrá la información necesaria para que combinada con los requisitos del usuario y utilizando técnicas de inteligencia artificial, aporten una información financiera fiable y útil.
Se identificarán modelos de datos útiles para ser tratados y así obtener la información necesaria para poder dar soluciones financieras, se pretenden definir medidas de utilidad para poder hacer predicciones en el tiempo.
Para poder obtener la mejor solución óptima se aplicará técnicas de inteligencia artificial que traten los datos y den la mejor solución a la hora de invertir una cantidad de dinero, los datos que tendrá que proporcionar el
3
Capítulo 1
usuario serán la cantidad de dinero a invertir y el tanto por ciento de riego máximo que desea correr.
Para poder llevar a cabo la aplicación se dividirá la información en grupos según el nivel de riesgo y el posible beneficio, cada grupo tendrá características propias de la inversión, pues no es lo mismo la inversión en bolsa que el mercado inmobiliario, en este último se tendrá que tener en cuenta datos como los cambios en el euribor. Y siempre se tendrá que tener en cuenta la situación de la economía actual.
Para toda esta información financiera específica se contará con la colaboración de un experto en estudios económicos, que aporte datos financieros y aconseje.
4
Introducción y objetivos
1.3 OBJETIVOS. Desde la situación que se ha planteado los objetivos de este proyecto de fin de carrera tienen varias facetas que habrá de cubrir:
1. Objetivos para el usuario.
1.1 Una interacción usuario-aplicación sencilla a la hora de tener que registrarse, rellenar el formulario para obtener el perfil del usuario se ha pretendido que no sea pesado y por tanto que esto no eche para atrás al usuario a la hora de registrarse.
1.2 Para un usuario nuevo se pretende enseñarle la aplicación y los resultados que da mediante un manual en pdf al que podrá acceder desde la página principal.
1.3 Proporcionar al usuario una serie de consejos de inversión que se ajusten a sus necesidades y sus preferencias.
2. Objetivos técnicos.
2.1. Seleccionar los datos necesarios para la aplicación, se tendrá que realizar un estudio del alcance y los objetivos de la aplicación y una recopilación de datos necesarios para la aplicación.
2.2. Crear una base de datos para la aplicación: con la información para modelar se deciden estrategias para manejo de los campos de datos para representar los datos dependiendo de su objetivo dentro de la aplicación.
5
Capítulo 1
2.3. Procesamiento de datos: Se decide el algoritmo de procesamiento de datos para crear modelos que cumplan los objetivos de la aplicación.
2.4. Transformación de datos: Se aplican de los algoritmos de Inteligencia Artificial de manera que se traten los datos para obtener los resultados óptimos. 2.5. Creación de modelos: Se buscan modelos de representación agrupando datos, clasificando, creando reglas de dependencia, …
2.6. Interpretación: Se interpretan los modelos descubiertos y se cambian si fuese necesario eliminando información redundante, etc. Y traduciendo la información de manera que sea entendida por el usuario. 2.7. Proporcionar los resultados al usuario: Se incorpora el conocimiento adquirido a los sistemas de ejecución, documentando la información y enviándosela al usuario, haciendo comprobaciones con lo deducido en un principio.
En el siguiente esquema (Figura 1.1) se pueden ver los objetivos técnicos y como conseguir uno conlleva realizar otro.
6
Introducción y objetivos
Figura 1.1: Esquema de los objetivos técnicos.
7
Capítulo 1
1.4 PLANIFICACIÓN. PLANIFICACIÓN. La planificación del proyecto se ha establecido según las diferentes tareas que la realización de éste incluía. En el cuadro de la figura 1.2 se muestran las diferentes tareas, así como el tiempo dedicado a cada una de ellas y el tanto por ciento del total que representan.
Figura 1.2: Cuadro de tareas y duraciones del proyecto.
La figura 1.3 pretende mostrar esta misma información de manera visual.
8
Introducción y objetivos
Figura 1.3: Gráfico de tareas y duraciones del proyecto
Por último, queda comentar la planificación de dichas actividades, propiamente hablando. Las tareas mostradas no se pueden realizar todas a la vez por motivos lógicos, de manera que se han comenzado cuando las etapas precedentes han permitido dicho comienzo.
La ejecución de todas éstas, así como sus comienzos y sus finales se muestran en el esquema temporal de la figura 1.4.
9
Capítulo 1
Figura1.4: Planificación.
Sobre esta última figura cabe decir varias cosas: •
Existe un corte que abarca los meses de enero y febrero, debido a que el proyecto estuvo parado en la época de exámenes.
•
La Documentación y Redacción de la memoria del proyecto se realizará durante todo el proyecto ya que a lo largo de éste han sido necesarias algunas modificaciones.
•
Se plasman en este esquema las reuniones semanales que se han tenido con la directora del proyecto.
10
Introducción y objetivos
1.5 VALORACIÓN ECONÓMICA DEL PROYECTO. El presupuesto de este proyecto se ha establecido partiendo de los recursos necesarios para realizarlo, ordenador y acceso a internet durante la mayoría de las etapas, junto con el tiempo dedicado por una persona con la cualificación necesaria para llevarlo a cabo, en este caso un ingeniero recién titulado.
Para el caso del coste horario de un ingeniero recién titulado, se ha establecido como sueldo medio unos 52.000 € brutos/año. Si se establece que dicho ingeniero trabajará unas 1760 horas al año, se tiene que el sueldo por hora de éste será de unos 30 €.
Los costes unitarios de los otros conceptos mencionados se han estimado los costes unitarios, de manera que, uniendo todo lo dicho, se obtiene el cuadro resumen de la figura 1.5.
El coste del software utilizado se ha estimado a partir de los precios actuales de las últimas versiones.
Figura 1.5: Cuadro resumen del presupuesto del proyecto.
De esta manera, se establece el presupuesto de este proyecto en 8.840 €. 11
Capítulo 1
1.6 APLICACIONES DE ESTILO. Existe mucha información en internet para informarse de donde invertir, hay páginas de consejos financieros en los que el propio usuario es el que tiene que decidir que tipo de inversión le conviene más, o bien se proponen
inversiones para diferentes
estados
como en la página
www.blogfinanzas.com en la que como se puede ver en la figura 1.6 dan consejos de finanzas para los recién casados.
Figura 1.6: página www.blogfinanzas.com
La aplicación que se desarrolla al realizar un formulario y pedir una serie de preferencias ayuda con mucha más exactitud a los usuarios.
Existen libros sobre consejos financieros como se puede ver en la figura 1.7, donde se pueden conseguir buenos consejos financieros pero nada personalizados, con lo cual pueden confundir al usuario y llevarle a hacer inversiones donde la rentabilidad no sea la deseada o incluso se pierda dinero.
12
Introducción y objetivos
Figura 1.7: Ejemplo de libros financieros.
Existen foros de finanzas donde los usuarios pueden hacer preguntas financieras y en teoría un experto responde, cosa poco fiable, por lo tanto los consejos obtenidos de este tipo de páginas no suelen ser muy fiables. Se puede ver un ejemplo de estos foros en la figura 1.8.
13
Capítulo 1
Figura 1.8: Ejemplo de foros en Internet.
14
Capítulo 2
S
istemas Expertos
2.1 INTRODUCCIÓN. Los sistemas expertos proporcionan, en base a la utilización de técnicas de inteligencia artificial, soluciones a problemas propuestos, simulando el conocimiento humano en un campo en particular, pudiendo mejorar su productividad, y ahorrando tiempo y dinero.
Los sistemas expertos en la actualidad permiten la creación de máquinas que razonan como el hombre, restringiéndose a un espacio de conocimientos limitado. Son programas de ordenador diseñados para actuar como un especialista humano en un área de conocimiento, se pueden considerar como intermediarios entre el experto humano, que transmite su conocimiento al sistema, y el usuario que lo utiliza para resolver un problema con la eficacia del especialista. El sistema experto utilizará el conocimiento que tenga almacenado y algunos métodos de inferencia.
15
Capítulo 2
2.1.1 HISTORIA. Los sistemas expertos son una rama de la inteligencia artificial creada a mediados de los años sesenta, entonces se creía que con unas pocas leyes de razonamiento junto con potentes ordenadores se podían producir resultados brillantes. Un ejemplo es el de los investigadores Alan Newell y Herbert Simon que desarrollaron un programa denominado GPS (General Problem Solver). Podía trabajar con criptoaritmética, con las torres de Hanoi y con otros problemas similares, Lo que no podía hacer el GPS era resolver problemas del mundo real, tales como un diagnóstico médico.
Algunos investigadores decidieron cambiar por completo el enfoque del problema restringiendo su ambición a un dominio específico e intentando simular el razonamiento de un experto humano. En vez de dedicarse a computerizar la inteligencia general, se centraron en dominios de conocimiento muy concretos.
A partir de 1965, un equipo dirigido por Edward Feigenbaum, comenzó a desarrollar sistemas expertos utilizando bases de conocimiento definidas minuciosamente.
En 1967 se construye DENTRAL, que se considera como el primer sistema experto. Se utilizaba para identificar estructuras químicas moleculares a partir de su análisis espectrográfico.
Se siguen desarrollando sistemas expertos introduciendo nuevas características: utilización de conocimiento impreciso para razonar y posibilidad de explicar el proceso de razonamiento. Aparecen claramente diferenciados motor de inferencia y base de conocimientos y al separar estas dos partes, se puede considerar el motor de inferencias aisladamente. 16
Sistemas expertos
A partir de 1980 se ponen de moda los sistemas expertos, numerosas empresas de alta tecnología investigan en este área de la inteligencia artificial, desarrollando sistemas expertos para su comercialización. Se llega a la conclusión de que el éxito de un sistema experto depende casi exclusivamente de la calidad de su base de conocimiento. El inconveniente es que codificar la pericia de un experto humano puede resultar difícil, largo y laborioso.
2.1.2 TIPOS. Existen tres tipos de Sistemas Expertos: •
Basados en reglas: solucionan el problema aplicando reglas y comparando resultados. También pueden usar reglas de inferencia
•
Basados en casos: se resuelven los problemas basándose en las soluciones de otros problemas, este método es usado por sistemas expertos y por las personas para solucionar problemas cotidianos.
•
Basados en redes bayesianas: es un modelo que utiliza en la probabilidad donde se relacionan un conjunto de variables en un grafo y mediante el teorema de Bayes; es una herramienta muy útil para resolver problemas.
2.1.3 VENTAJAS. Un sistema experto es muy eficaz cuando tiene que analizar una gran cantidad
de
información,
interpretándola
y
proporcionando
una
recomendación a partir de la misma. Este proyecto de análisis financiero donde se estudian las oportunidades de inversión, dependiendo de los datos financieros de un cliente y sus propósitos, es un buen ejemplo.
17
Capítulo 2
Los sistemas expertos son buenos para predecir resultados futuros a partir del conocimiento que tienen. Los sistemas de inversión en bolsa son ejemplos de utilización en este sentido como se plantea en este proyecto.
El acceso al conocimiento y al juicio de un experto es extremadamente valioso en muchas ocasiones, sin embargo, en la mayoría de los campos de actividad existen más problemas por resolver que expertos para resolverlos. Para solucionar este desequilibrio es necesario utilizar un sistema experto. En general, actuará como ayudante para los expertos humanos y como consultor cuando no se tiene otro acceso a la experiencia.
Un sistema experto, además, mejora la productividad al resolver y decidir los problemas más rápidamente. Esto permite ahorrar tiempo y dinero. A veces sin esa rapidez las soluciones obtenidas serían inútiles.
Los valiosos conocimientos de un especialista se guardan y se difunden, de forma que, no se pierden aunque desaparezca el especialista. En los sistemas expertos se guarda la esencia de los problemas que se intenta resolver y se programa cómo aplicar los conocimientos para su resolución. Esto es útil porque normalmente el especialista da por válidos sus conocimientos y no analiza su utilidad práctica.
Se pueden utilizar personas no especializadas en un ámbito, para resolver problemas. Además si una persona utiliza regularmente un sistema experto aprenderá de él, y se aproximará a la capacidad del especialista cada vez más.
18
Sistemas expertos
Con un sistema experto se obtienen soluciones más fiables gracias al tratamiento automático de los datos, y más contrastadas, debido a que se suele tener informatizado el conocimiento de varios expertos.
Debido a la separación entre la base de conocimiento y el mecanismo de inferencia, los sistemas expertos tienen gran flexibilidad, lo que se traduce en una mejor modularidad, modificabilidad y fiabilidad del conocimiento.
Otra ventaja es que este tipo de sistemas pueden utilizar razonamiento aproximado para hacer deducciones, y que pueden resolver problemas sin solución algorítmica.
Los
sistemas
expertos
también
presentan
inconvenientes.
El
conocimiento humano es complejo de extraer y, a veces, es problemático representarlo. Si un problema sobrepasa la competencia de un sistema experto, sus prestaciones se degradan de forma notable. Además, las estrategias de razonamiento de los motores de inferencia suelen estar programadas procedimentalmente y se adaptan mal a las circunstancias. Están limitados para tratar problemas con información incompleta.
Un experto humano no estudia progresivamente una hipótesis, sino que decide de inmediato cuando se enfrenta a una situación análoga a otra ocurrida en el pasado. Los sistemas expertos no utilizan este razonamiento por analogía en muchos casos.
Los costes y duración del desarrollo de un sistema experto son bastante considerables (aunque se suelen amortizar rápidamente) a pesar de que su campo de aplicación actual sea de lo más amplio y variado.
19
Capítulo 2
2.1.4 LIMITACIONES. • No se han usado o probado en forma extensa. • Dificultad de uso. • No se pueden enfrentar con facilidad a conocimientos “mixtos”. • Posibilidad de error. • Dificultad de mantenimiento. • Pueden tener un alto coste de desarrollo. • Ocasionan preocupaciones legales y éticas.
2.1.5 TAREAS. Monitorización Consiste en una interpretación de los datos comparándolos con datos que se consideran como normales o estándar. Esto es muy importante para sistemas expertos de diagnostico y para sistemas predictivos de anomalías.
Diseño Dadas una serie de características, este proceso da un prototipo que satisface todos los requisitos especificados. Se puede hacer sobre principios científicos o bien para diseño industrial, para rectificar omisiones de la ingeniería.
Planificación Se realizan planes o secuencias de acciones, es un caso particular de la simulación con control, su objetivo es ordenar una serie de acciones para conseguir un objetivo final.
20
Sistemas expertos
Control Consiste en la interpretación, diagnóstico y reparación de forma secuencial. Para reconducir el sistema si éste tiene algún fallo o no cumple algún objetivo. El control busca una reparación de los errores rápida y eficazmente de manera que no produzca otros errores.
Simulación Se crean modelos basados en hechos, observaciones e interpretaciones. Las técnicas tradicionales de simulación requieren modelos matemáticos y lógicos que describen el comportamiento del sistema objetivo del estudio.
Instrucción Un sistema de instrucción realiza un seguimiento del proceso de aprendizaje, detectando errores e identificando el remedio adecuado.
Recuperación Recuperación de información Lo que diferencia un sistema experto de recuperación de información de un sistema tradicional es que estos últimos recuperan simplemente la información explícita, pero los sistemas expertos están capacitados para recuperar también la información no explícita. Un sistema experto no solo se limita a recuperar información, también se pueden utilizar para ayudar al usuario, filtrar respuestas, etc.
21
Capítulo 2
2.2 ARQUITECTURA DE UN SISTEMA EXPERTO No existe una estructura de sistema experto común. Sin embargo, la mayoría de los sistemas expertos tienen unos componentes básicos que se muestran en la figura 2.1
Figura 2.1: Arquitectura Sistema Experto
La base de conocimiento contiene la información especializada extraída del experto en el dominio. En este proyecto se adquiere con la ayuda de un experto en temas financieros. Para poder adquirir este conocimiento se realizan una serie de entrevistas con la persona experta. Antes de cada entrevista se deben analizar las preguntas a plantar para que la entrevista sea eficiente.
En este proyecto se han realizado una serie de entrevistas, con las cuales se han adquirido los conocimientos financieros necesarios para poder llevar a cabo la aplicación.
22
Sistemas expertos
La base de conocimiento es independiente al mecanismo de inferencia que se utiliza para resolver los problemas. De esta forma cuando los conocimientos almacenados se han quedado obsoletos, o cuando se dispone de nuevos conocimientos, es relativamente fácil añadir reglas nuevas, eliminar antiguas o corregir errores en las existentes. No es necesario reprogramar todo el sistema experto.
La base de hechos almacena los datos recibidos inicialmente para la resolución de un problema. Contiene el conocimiento del caso concreto en que se trabaja. También se registrarán en ella las conclusiones intermedias y los datos generados en el proceso de inferencia. En el proyecto que se lleva a cabo la base de hechos se compone de una serie de datos relacionados con perfiles de usuario, con la problemática que conlleva saber a qué perfil especifico pertenece cada usuario, esto se consigue mediante un test que cada usuario debe rellenar antes de poder utilizar la aplicación y un algoritmo que formará parte del proceso de inferencia y control.
La inferencia y control consiste en un algoritmo de inteligencia artificial mediante el cual con la base de hechos y la base de conocimiento se puede obtener la solución más adecuada para cada usuario según sea el perfil y preferencias de éste. Todo este proceso, unido al interfaz de usuario con los resultados de los test presentados y un algoritmo determinado, se encargará de incluir al usuario en un perfil determinado en la base de hechos.
El interfaz de usuario permite que la persona pueda describir el problema al sistema experto. Interpreta sus preguntas, los comandos y la información ofrecida. A la inversa, formula información generada por el sistema incluyendo respuestas a las preguntas, explicaciones y justificaciones. Posibilita que la respuesta proporcionada por el sistema sea inteligible para el
23
Capítulo 2
interesado. También si el sistema experto lo requiere puede solicitar más información.
En este proyecto el sistema experto pedirá al usuario que conteste a una serie de preguntas mediante las cuales se podrá incluir al usuario en un perfil determinado y se le entregarán los resultados de sus consultas a través de la aplicación desarrollada.
2.3 METODOLOGÍA SOFTWARE. Existen diferentes ciclos de vida y metodologías para realizar sistemas expertos, dependiendo de las características de éste se llevará a cabo una u otra, siendo muy importante la elección para poder llevar a cabo de manera eficiente el proyecto.
2.3.1 CICLO DE VIDA DE BUCHANAN. La característica más importante de esta metodología es la constante relación entre el ingeniero del conocimiento y el experto del área. Se destacan 5 etapas fundamentales que están representadas en la figura 2.2
Figura 2.2: Ciclo de vida de Buchanan. 24
Sistemas expertos
Ésta es la metodología que va a seguir este proyecto. En primer lugar se realiza la Definición: caracterización y formulación de los aspectos importantes del problema, donde se evalúa el entorno y los recursos disponibles para determinar la aplicación de una solución basada en el conocimiento y se desarrolla un análisis coste-beneficio.
Una vez definidos los requisitos del sistema se pasa a la
Conceptualización: esta etapa se define como la obtención de conceptos necesarios para producir una solución, donde se formaliza y se pone por escrito todo lo que se ha recogido en la primera fase, se determinan los objetivos del proyecto y se establecen los medios para llevar a cabo estos objetivos.
Una vez se tienen los conceptos necesarios se pasa a la Formalización, donde se lleva a cabo la representación formal del proyecto y se desarrolla un diseño preliminar. Ésta es una etapa clave ya que el prototipo inicial debe verse como el sistema completo, debe incluirse la interfaz de usuario bien definida, el prototipo debe reflejar la forma que tendrá el sistema final.
Después se hace la Implementación: validación de las estructuras de representación, donde se lleva a cabo el proceso completo de adquisición del conocimiento para todo el sistema. Y por último la Verificación: estructuras que soportan el conocimiento, donde se comprueban errores semánticos y sintácticos producidos durante la implementación del sistema, y se dan solución a problemas de representación incorrecta, incapacidad para encontrar la solución a un problema, insatisfacción de las especificaciones dadas para el sistema, etc.
25
Capítulo 2
El ciclo de vida de Buchanan tiene una retroalimentación de manera que a medida que el trabajo avanza y se detectan errores se deben hacer los ajustes necesarios para subsanarlos teniendo que volver a etapas anteriores del ciclo, estas vueltas dentro del ciclo de vida se llaman: Reformulación,
Reconceptualización,
Rediseño,
Refinamiento
y
Ciclo
Interno
De
Refinamiento. En la figura 2.2 se puede ver a qué etapa vuelve cada una.
Los diferentes requisitos de este proyecto expresan las necesidades del futuro usuario de la aplicación y las necesidades técnicas del programador para poder llevarla a cabo. Cada requisito está definido mediante una plantilla con sus principales características.
Los Requisitos se dividen según su naturaleza en 5 grupos: •
Funcionales: Son los que atienden a características propias de negocio.
•
Operativos: Atienden al modo en que opera el sistema.
•
De prestaciones: Atienden a características adicionales de menor prioridad.
•
De seguridad: Son los que atienden al control de accesos al sistema y a la privacidad de los datos guardados.
•
De fiabilidad: Atendiendo a la integridad y veracidad de la información.
En las tablas de la 2.1 a la 2.11 se muestran todos los requisitos del sistema.
26
Sistemas expertos
Identificación Nombre del Proyecto: Sistema Financiero Inteligente. Jefe de Proyecto: María de Covadonga López López
Requisito Fecha: 29/03/2009 Versión: 1.0 Prioridad: Alta
Estado: Activo
Categoría: Operativa
Título: Optimización del acceso a informes. Identificador: R1 Requisitos relacionados: R3
Descripción La aplicación debe realizar un acceso a informes de la manera más óptima posible.
Beneficios Visualización de informes.
Comentarios La visualización del informe debe ser óptima pues es el resultado final para el usuario. Tabla 2.1: Requisito R1.
27
Capítulo 2
Identificación Nombre del Proyecto: Sistema Financiero Inteligente. Jefe de Proyecto: Proyecto: María de Covadonga López López
Requisito Fecha: 29/03/2009
Versión: 1.0
Prioridad: Alta
Categoría: Operativa
Estado: Activo
Título: Informatización de la Base de Datos. Identificador: R2 Requisitos relacionados: R5
Descripción La Base de Datos será informatizada en EasyPHP.
Beneficios El acceso a la Base de Datos será más fácil y más eficiente.
Comentarios Se utiliza EasyPHP por ser un software gratuito y eficiente. Tabla 2.2: Requisito R2.
28
Sistemas expertos
Identificación Nombre del Proyecto: Sistema Financiero Inteligente. Jefe de Proyecto: María de Covadonga López López
Requisito Fecha: 29/03/2009 Versión: 1.0 Prioridad: Alta
Estado: Activo
Categoría: Funcional
Título: Creación de diferentes interfaces. Identificador: R3 Requisitos relacionados: R1
Descripción Para cada servicio de la aplicación se creará un interfaz de usuario diferente.
Beneficios Comodidad para el usuario.
Comentarios Cada interfaz de usuario estará conectado con los demás. Tabla 2.3: Requisito R3.
29
Capítulo 2
Identificación Nombre del Proyecto: Sistema Financiero Inteligente. Jefe de Proyecto: María de Covadonga López López
Requisito Fecha: 29/03/2009 Versión: 1.0 Prioridad: Alta
Estado: Activo
Categoría: Seguridad
Título: Política de privacidad de datos. Identificador: R4 Requisitos relacionados:
Descripción Los datos introducidos en el sistema no serán accesibles a nadie ajeno al sistema.
Beneficios Seguridad para el usuario.
Comentarios Tabla 2.4: Requisito R4.
30
Sistemas expertos
Identificación Nombre del Proyecto: Sistema Financiero Inteligente. Jefe de Proyecto: María de Covadonga López López
Requisito Fecha: 29/03/2009 Versión: 1.0 Prioridad: Alta
Estado: Activo
Categoría: Seguridad
Título: Creación de identificadores y contraseñas. Identificador: R5 Requisitos relacionados: R2
Descripción Cada usuario tendrá un nombre de usuario y una contraseña.
Beneficios Reconocimiento de cada usuario en la Base de Datos.
Comentarios El nombre de usuario debe ser único. Tabla 2.5: Requisito R5.
31
Capítulo 2
Identificación Nombre del Proyecto: Sistema Financiero Inteligente. Jefe de Proyecto: María de Covadonga López López
Requisito Fecha: 29/03/2009 Versión: 1.0 Prioridad: Alta
Estado: Activo
Categoría: Funcional
Título: Formulario para la asignación del perfil. Identificador: R6 Requisitos relacionados: R7, R10
Descripción El perfil del usuario se obtiene mediante un formulario.
Beneficios De manera sencilla se obtiene la información necesaria para saber el perfil al que pertenece cada usuario.
Comentarios El formulario se ha desarrollado con la ayuda del experto. Tabla 2.6: Requisito R6.
32
Sistemas expertos
Identificación Nombre del Proyecto: Sistema Financiero Inteligente. Jefe de Proyecto: María de Covadonga López López
Requisito Fecha: 29/03/2009 Versión: 1.0 Prioridad: Alta
Estado: Activo
Categoría: Funcional
Título: Formulario para las preferencias de inversión. Identificador: R7 Requisitos relacionados: R6, R10
Descripción Las preferencias de inversión del usuario se obtienen mediante un formulario.
Beneficios Obtención de las preferencias de inversión de cada usuario para poder aconsejar de manera más eficiente.
Comentarios Se obtienen las preferencias de cada usuario con la posibilidad de que las modifique en cualquier momento. Tabla 2.7: Requisito R7.
33
Capítulo 2
Identificación Nombre del Proyecto: Sistema Financiero Inteligente. Jefe de Proyecto: María de Covadonga López López
Requisito Fecha: 29/03/2009 Versión: 1.0 Prioridad: Alta
Estado: Activo
Categoría: Fiabilidad
Título: Procesamiento eficiente de datos. Identificador: R8 Requisitos relacionados:
Descripción Los datos deben estar bien relacionados mediante modelos para su correcta manipulación.
Beneficios Calidad en la gestión de la información.
Comentarios Tabla 2.8: Requisito R8.
34
Sistemas expertos
Identificación Nombre del Proyecto: Sistema Financiero Inteligente. Jefe de Proyecto: María de Covadonga López López
Requisito Fecha: 29/03/2009 Versión: 1.0 Prioridad: Alta
Estado: Activo
Categoría: Funcional
Título: Generación de informes. Identificador: R9 Requisitos relacionados:
Descripción Se generan informes con los consejos de inversión.
Beneficios Informar de una manera eficiente al usuario.
Comentarios Los informes cambian si se modifican las preferencias. Tabla 2.9: Requisito R9.
35
Capítulo 2
Identificación Nombre del Proyecto: Sistema Financiero Inteligente. Jefe de Proyecto: María de Covadonga López López
Requisito Fecha: 29/03/2009 Versión: 1.0 Prioridad: Alta
Estado: Activo
Categoría: de prestaciones
Título: Facilidad de uso. Identificador: R10 Requisitos relacionados: R6, R7
Descripción La funcionalidad debe ser fácil.
Beneficios Mayor calidad de la aplicación.
Comentarios La facilidad se consigue con los distintos interfaces. Tabla 2.10: Requisito R10.
36
Sistemas expertos
Identificación Nombre del Proyecto: Sistema Financiero Inteligente. Jefe de Proyecto: Proyecto: María de Covadonga López López
Requisito Fecha: 29/03/2009 Versión: 1.0 Prioridad: Alta
Estado: Activo
Categoría: de prestaciones
Título: Instalación de un navegador. Identificador: R11 Requisitos relacionados:
Descripción El usuario de la aplicación debe tener instalado un navegador.
Beneficios Conexión a internet.
Comentarios La aplicación se usa en entorno web. Tabla 2.11: Requisito R11.
37
Capítulo 2
2.3.2 CICLO DE VIDA Y METODOLOGÍA KLIC El ciclo de vida y metodología KLIC está inspirado en el ciclo de vida de ingeniería del software clásico en cascada, dándole un mayor protagonismo al análisis de posibilidades y a la viabilidad, por lo que este ciclo de vida es más complejo que el clásico propuesto en ingeniería del software. Las diferentes etapas y en qué consiste cada una de ellas puede verse en la figura 2.3.
Figura 2.3: Ciclo de vida y metodología KLIC.
38
Sistemas expertos
2.3.3 CICLO DE VIDA Y METODOLOGÍA CommonKADS Este ciclo de vida es en espiral e iterativo, está basado en el modelado del conocimiento. Es un proceso de modelado cuyo objetivo es alcanzar la capacidad para resolver problemas comparables a la de un experto humano en el mismo dominio de la aplicación., En consecuencia: •
Al ser un modelo de aproximación a la realidad, es un proceso que no tiene fin.
•
Debe adquirirse el conocimiento para la construcción de tal modelo.
•
Ese modelo se corresponde con el nivel de conocimiento.
Es una metodología estructurada que soporta todas las fases de desarrollo de un sistema basado en el conocimiento, desde el estudio de viabilidad a la implementación, pasando por el análisis y el diseño. En la figura 2.4 se puede ver un esquema de este ciclo de vida.
Figura 2.4: Ciclo de vida y metodología CommonKADS. 39
Capítulo 2
Esta metodología se basa en unos principios básicos: 1. Consiste en la construcción de modelos de los diversos aspectos del conocimiento humano. 2. Principio del nivel de conocimiento: durante el modelado, centrarse en la estructura conceptual del conocimiento, dejando para etapas posteriores los detalles de implementación. 3. El conocimiento tiene una estructura analizable:
distintas
categorías,
interna estable que es
patrones
y
estructuras
de
conocimiento.
2.3.3.1 MODELOS. • Modelos de organización: permite el análisis de la organización e identificar problemas, oportunidades e impacto. • Modelo de tarea: describe las tareas que se realizan en la organización. • Modelo de agente: describe las entidades que realizan las tareas. • Modelo de conocimiento: descripción detallada e independiente de la implementación del conocimiento necesario para realizar una tarea. • Modelo de comunicación: especifica las transacciones entre agentes. • Modelo de diseño: especificación de un sistema software.
Se presenta una representación de los modelos y sus relaciones en la figura 2.5
40
Sistemas expertos
Figura 2.5: Conjunto de modelos.
2.3.4 CICLO DE VIDA Y METODOLOGÍA IDEAL
Figura 2.6: Ciclo de vida y metodología Ideal
41
Capítulo 2
2.4 IDENTIFICACIÓN IDENTIFICACIÓN DEL PROBLEMA PROBLEMA Y SOLUCIÓN. SOLUCIÓN. Las características que debe tener un problema para poder ser resuelto mediante un sistema experto están representadas en la figura 2.7.
Figura 2.7: Identificación del problema y solución.
El problema debe ser una tarea que requiere experiencia, una táctica o planteamiento, y debe servir para necesidades a largo plazo. La tarea no necesita información básica y requiere sólo manipulación simbólica y soluciones heurísticas. Ésta no debe ser demasiado fácil ni demasiado manejable. Los efectos de su introducción pueden planificarse y no requiere respuesta en tiempo real.
Existen verdaderos y genuinos expertos que pueden articular sus métodos y procedimientos de trabajo. La tarea sólo requiere habilidad cognoscitiva y no se precisan resultados óptimos sino satisfactorios. Se deben disponer de suficientes y relevantes casos de prueba.
42
Sistemas expertos
2.4.1 ÉXITO DE UN SISTEMA EXPERTO. Los expertos no se sienten amenazados por el proyecto, tienen un brillante historial en la relación de la tarea y no disponen de plazo de finalización escrito. Se efectúa una adecuada trasferencia de tecnología y lo que cuenta es la calidad de la solución final.
Los directivos están mentalizados y tienen expectativas realistas. Hay cambios mínimos en los procedimientos habituales. Los usuarios finales no deben rechazar de plano la tecnología de los sistemas expertos.
El dominio es estable y, o la comunidad del proyecto no está influenciada por vaivenes políticos. Los objetivos del sistema son claros y evaluables. El sistema interactúa inteligentemente con el usuario y, o directivos y expertos.
Las soluciones son explicables o interactivas, la inserción del sistema experto se debe efectuar sin traumas. El sistema experto explica claramente su razonamiento.
43
Capítulo 3
B
ases de datos y perfiles de
usuario 3.1 BASES DE DATOS. DATOS. Esta aplicación esta hecha para ser distribuida libremente por Internet, por tanto para poder desarrollar un portal web dinámico habría que instalar en un ordenador un servidor local. Normalmente este proceso consiste en tres pasos, primero la búsqueda e instalación de un servidor, después la búsqueda e instalación de un sistema de gestión de bases de datos, y por último el soporte asociado al lenguaje de programación web que se esté usando para el desarrollo de la aplicación.
Además de realizar estas tres instalaciones de forma separada, hay que asociarlos para montar un entorno de desarrollo conjunto, para esto hay que modificar determinados ficheros de configuración Una vez montada la base del servidor local se necesita disponer de aplicaciones de monitorización del mismo, nuevas extensiones para el lenguaje de programación web o incluso aplicaciones de acceso al sistema de gestión de la base de datos mucho más intuitivas que una simple consola con una serie de comandos que el usuario no conoce.
44
Bases de datos y perfiles de usuario
Por eso esta aplicación se desarrolla con un módulo AMP (ApacheMySQL-PHP), que permite una instalación completa y personalizada de todos los elementos necesarios. Se va a usar EasyPHP que ofrece un interfaz básico y una instalación muy sencilla y sin problemas con Windows que es el sistema operativo usado para desarrollar esta aplicación.
Las funcionalidades que proporciona EasyPHP son: • Ficheros Log: registro de mensajes de error de los componentes server. • Configuración: acceso directo a los ficheros de configuración de los distintos componentes. • Sistema de monitorización básico para MySQL y Apache con iniciar/detener. • Accesos directos a la dirección de la web local, localhost, y al directorio contenedor. • Posibilidad de reinicio. • Módulos de ayuda.
EasyPHP está disponible únicamente para Windows. Durante la instalación proporciona un acceso directo en Inicio/todos los programas y lo carga en memoria, con lo que aparecerá también en la barra de acceso rápido. Además proporciona PHPMyAdmin, que permite la gestión de bases de datos empleadas en las aplicaciones que se estén desarrollando.
Existen otros productos como WAMP, que también está orientado a Windows y es igual de sencillo que EasyPHP. Aporta en la barra de acceso rápido un monitor de los componentes del servidor completo. Incluye las mismas funcionalidades y el mismo producto de gestión de bases de datos montado sobre el propio servidor local. 45
Capítulo 3
La instalación de la aplicación en el servidor consiste únicamente en la introducción de los ficheros de la misma dentro de la carpeta destinada a tal efecto, llamada en EasyPHP: www. La migración a otro servidor es trivial porque solo necesita hacer un DUMP del contenido de la base de datos, lo cual es proporcionado únicamente mediante PhpMyAdmin y transferir los ficheros a la carpeta de mapeo del server.
Quizá, para el caso de aplicaciones web más robustas se queden cortas estas herramientas y se requieran servidores web más potentes y con más opciones de configuración, por ejemplo, para atender el número de accesos concurrentes a una aplicación.
Para esta aplicación se han creado una base de datos, con dos tipos de tablas, un tipo relacionado con los usuarios, que contiene todos los datos personales de los usuarios, y las preferencias de inversión de cada uno, y otro de inversiones donde estan almacenados todos los datos sobre las inversiones que se deben aconsejar para cada perfil.
3.1.1 USUARIOS. En este tipo se encuentran dos tablas. La primera llamada datos donde se tiene un id de usuario que se incrementa automaticamente cada vez que se introduce un registro nuevo, y los campos: Nombre, Apellidos, E-mail, Usuario, Contraseña, Perfil1 y Perfil2, en el campo Perfil1 en los que se almacena el perfil del usuario. Si no pertenece a un perfil concreto se almacenará el segundo perfil en Perfil2. Se puede ver la estructura de esta tabla en la figura 3.1.
46
Bases de datos y perfiles de usuario
Figura 3.1: Tabla DATOS.
La segunta tabla llamada preferencias, guarda el nombre de usuario en el campo Usuario y los campos: Riesgo, Importe, Bolsa, Inmobiliario, Renta fija, Letras y bonos y fondos. En cada una de estas variables estará el riesgo que el usuario desea correr, y el importe que desea invertir. El resto de variables pueden tomar el valor 1 (si el usuario las ha marcado como deseo de inversión) o el valor 0 (en caso de no haberlas marcado). Se puede ver esta tabla en la figura 3.2.
Figura 3.2: Tabla PREFERENCIAS.
47
Capítulo 3
Cada tabla tiene el campo Usuario como clave de manera que con este campo se pueden relacionar todas tablas para coger valores de una o de otra indistintamente. Los datos en esta tabla se introducen cada vez que un usuario completa alguno de los dos formularios de la aplicación y envía los datos. Esta tabla va a ser modificada por la aplicación cada ver que se añade un registro y también es una tabla de consulta, ya que son necesarias las consultas en determinados momentos.
48
Bases de datos y perfiles de usuario
3.1.2 INVERSIONES. En este grupo de tablas estan almacenados todos los datos necesarios para poder hacer las recomendaciones financieras, estas tablas son de consulta, no van a ser modificadas a no ser que los cambios en el mercado exijan una remodelación.
La tablas que componen este grupo son tantas como perfiles se han definido, existen 9 perfiles diferentes: A1 (riesgo y conocimientos altos), A2 (riesgo alto y conocimientos medios), A3 (riesgo alto y conocimientos bajos), B1 (riesgo medio y conocimientos altos), B2 (riesgo y conocimientos medios), B3 (riesgo medio y conocimientos bajos), C1 (riesgo bajo y conocimientos altos), C2 (riesgo bajo y conocimientos medios) y C3 (riesgo y conocimientos bajos). Se pueden ver las estructuras de las tablas en la figura 3.3, ya que todas las tablas tienen la misma estructura. El contenido de las tablas se puede ver en las figuras 3.4, 3.5 y 3.6.
Figura 3.3: Ejemplo de tabla de un perfil.
49
Capítulo 3
Figura 3.4: Contenido de PERFIL A1 (Riesgo y conocimientos altos).
El contenido del importe es unicamente importante en el mercado inmobiliario, ya que dependiendo del importe a invertir se aconsejara un pais u otro, o bien una ciudad española u otra dependiendo del mercado. En el resto de inversiones el importe a invertir es el que el usuario quiera.
50
Bases de datos y perfiles de usuario
Figura 3.5: Contenido de PERFIL A2.
Se puede comprobar que en el campo de descripción dentro del IBEX 35 se informa del puesto que ocupa la empresa que se aconseja, dato importante para hacer una inversión de este tipo.
51
Capítulo 3
3.2 PERFILES DE USUARIO. El sistema experto que desarrolla este proyecto tiene su base de conocimiento en los perfiles de usuario, se necesita a un experto en el tema financiero para que defina los distintos perfiles que puede tener un usuario de esta aplicación según determinadas características definidas también por el experto.
El desarrollo de la aplicación tiene una parte muy importante de acceso a bases de datos y creación de los interfaces de usuario, pero lo que la convierte en un sistema experto es la asociación a un perfil de usuario previamente definido, mediante un formulario.
Desde el punto de vista de los sistemas expertos esto es lo más importante de la aplicación, es la base del conocimiento del sistema, donde se basa la eficiencia y fiabilidad, es lo que convierte la aplicación en una simulación del conocimiento humano. Es la fase en la que se introduce la información que posee el experto para poder asignar un perfil a un usuario mediante un formulario que será desarrollado con la información del experto.
Para desarrollar estos formularios hay diferentes técnicas a emplear con el experto, algunas de ellas son: • Entrevistas. • Cuestionarios. • Observación de las tareas habituales. • Análisis de tareas. • Análisis de protocolo. • Emparrillados.
52
Bases de datos y perfiles de usuario
La técnica que se ha usado para este proyecto es la entrevista. Las entrevistas pueden ser abiertas o cerradas, y dentro de las cerradas puede haber una simulación o una descomposición de la meta. Un esquema de las diferentes entrevistas se encuentra representado en la figura 3.6.
Figura 3.6: Entrevistas.
La finalidad de la entrevista es obtener todos los datos necesarios para el estudio que se está haciendo. El alcance de la entrevista hace posible que se defina el sistema más eficaz y efectivo para las necesidades planteadas.
La entrevista debe tener una serie de etapas: 1. Preparación de la entrevista: Lo primero y primordial es elegir al experto a entrevistar para poder elegir el camino a seguir en la entrevista. Se debe aprender la terminología del tema a tratar. 2. Comienzo de la entrevista: Las personas que intervienen en ella deben presentarse y deben dedicarse unos minutos a definir los objetivos a alcanzar con la misma. 53
Capítulo 3
3. Realización y desarrollo de la entrevista: Deben considerarse periodos de reflexión, para que el entrevistado pueda dar la respuesta correcta, deben distinguirse entre hecho y opiniones, siendo ambas importantes. 4. Después de la entrevista: debe realizarse un informe completo con todo lo que se ha obtenido de la entrevista, descartando los hechos poco claros, y este informe debe darse al entrevistado para su revisión y aceptación.
En este proyecto se han realizado una serie de entrevistas, la primera se realizó para la definición de los tipos de perfiles, y el resultado consistió en la definición de dos tipos de variables que definen básicamente cada perfil, una el riesgo de cada usuario y la otra los conocimientos financieros, definiendo para cada combinación de conocimiento y riesgo uno o varios campos de inversión idóneos. Esto se puede ver en la figura 3.7.
54
Bases de datos y perfiles de usuario
Definición de perfiles Perfil 1: Persona con altos conocimientos financieros y de mercado. Perfil 2: Persona con conocimientos medios financieros y de mercado. Perfil 3: Persona con pocos conocimientos financieros y de mercado. Cada perfil se sudivide en 3 tipos de personas: a) Persona propensa al riesgo. b) Persona 50% propensa, 50% adversa. c) Persona adversa al riesgo. Definición de escenarios 1- Bolsa (IBEX 35, Mercado continuo, bolsas extranjeras). 2- Mercado Inmobiliario: compra de inmuebles en España y extranjero. 3- Renta fija bancaria. 4- Letras y bonos del Estado. 5- Fondos de inversión de renta variable privados.
Perfil 1
Persona A
Perfil 2
Mercado continuo y bolsas extranjeras/ Compra de Ibex 35/ Compra de inmuebles en el extranjero inmuebles en el extranjero
Persona B
Ibex 35
Fondos de inversión de renta variable privados/ Renta fija bancaria
Persona C
Fondo de inversión de renta variable privados
Letras y bonos del Estado
Perfil 3 Compra de inmuebles en España Renta fija bancaria Letras y bonos del Estado
Figura 3.7: Definición de perfiles.
La segunda entrevista realizada con el experto dio como resultado los consejos de diferentes inversiones en cada uno de los escenarios elegidos. Con esta información se crearon las tablas de inversiones para cada perfil. En las figuras: 3.8, 3.9 y 3.10 se puede ver la información obtenida sobre algunas inversiones.
55
Capítulo 3
IBEX 35 ESCENARIOS INVERSIÓN IBEX 35 ENDESA IBEX 35 IBERDROLA RENOVABLES IBEX 35 CINTRA IBEX 35 INDITEX IBEX 35 TECNICAS REUNIDAS IBEX 35 IBERDROLA IBEX 35 ABENGOA IBEX 35 UNIÓN FENOSA IBEX 35 TELEFÓNICA IBEX 35 CRITERIA
Figura 3.8: Empresas a invertir en el IBEX 35.
LETRAS Y BONOS DEL ESTADO ESCENARIOS INVERSIÓN LETRAS Y BONOS DEL ESTADO LETRAS A 6 MESES LETRAS Y BONOS DEL ESTADO LETRAS A 12 MESES LETRAS Y BONOS DEL ESTADO LETRAS A 18 MESES LETRAS Y BONOS DEL ESTADO BONOS A 3 AÑOS LETRAS Y BONOS DEL ESTADO BONOS A 5 AÑOS LETRAS Y BONOS DEL ESTADO OBLIGACIONES A 10 AÑOS LETRAS Y BONOS DEL ESTADO OBLIGACIONES A 15 AÑOS LETRAS Y BONOS DEL ESTADO OBLIGACIONES A 30 AÑOS
Figura 3.9: Inversiones en Letras y Bonos del Estado.
RENTA FIJA BANCARIA ESCENARIOS INVERSIÓN IMPORTE % TAE RENTA FIJA BANCARIA ING-DIRECT -1 5,25 RENTA FIJA BANCARIA CAJA MADRID -1 3 RENTA FIJA BANCARIA BARCLAYS -1 3,36 RENTA FIJA BANCARIA BANCO SANTANDER -1 5,5 RENTA FIJA BANCARIA BBVA -1 2,5 RENTA FIJA BANCARIA BBVA -1 1,7 RENTA FIJA BANCARIA BBVA -1 1,8 RENTA FIJA BANCARIA BBVA -1 2
Figura 3.10: Inversiones en Renta Fija Bancaria.
56
Bases de datos y perfiles de usuario
Las inversiones en el mercado inmobiliario han requerido la búsqueda del precio de los inmuebles por metro cuadrado en diferentes países y en diferentes ciudades españolas para poder ofrecer una muestra de inversión al usuario, estos datos han sido recogidos de Internet y se muestran en las figuras 3.11 y 3.12.
INMUEBLES ESPAÑA ESCENARIOS INVERSIÓN IMPORTE INMUEBLES ESPAÑA MADRID CENTRO NUEVO 3100 INMUEBLES ESPAÑA MADRID CENTRO USADO 3325 INMUEBLES ESPAÑA MADRID BARRIO SALAMANCA 4859 INMUEBLES ESPAÑA MADRID BARRIO VALLECAS 2927 INMUEBLES ESPAÑA MADRID MAJADAHONDA 3468 INMUEBLES ESPAÑA MADRID LAS ROZAS 3074 INMUEBLES ESPAÑA MADRID VALDEMORO 2129 INMUEBLES ESPAÑA MURCIA NUEVA 1900 INMUEBLES ESPAÑA MURCIA USADA 1765 INMUEBLES ESPAÑA LA CORUÑA NUEVA 1877 INMUEBLES ESPAÑA LA CORUÑA USADA 1700 INMUEBLES ESPAÑA GALICIA SANGENJO 1880 INMUEBLES ESPAÑA MURCIA SAN JAVIER NUEVA 2433 INMUEBLES ESPAÑA MURCIA SAN JAVIER USADA 1737 INMUEBLES ESPAÑA MADRID GALAPAGAR 2331 INMUEBLES ESPAÑA MADRID POCUELO ALARCON 3395 INMUEBLES ESPAÑA MADRID CONDE DE CASAL 21000 INMUEBLES ESPAÑA MADRID PLAZA DE CASTILLA 25000 INMUEBLES ESPAÑA MADRID ARTURO SORIA 30000 INMUEBLES ESPAÑA MADRID VALDEMORO 15000 INMUEBLES ESPAÑA MADRID MOSTOLES 14000
Figura 3.11: Inmuebles en España.
57
Capítulo 3
INMUEBLES EXTRANJERO ESCENARIOS INVERSIÓN IMPORTE INMUEBLES EXTRANJERO PARIS 6667 INMUEBLES EXTRANJERO LONDRES 7198 INMUEBLES EXTRANJERO ROMA 5150 INMUEBLES EXTRANJERO MILAN 4600 INMUEBLES EXTRANJERO BUENOS AIRES 1300 INMUEBLES EXTRANJERO BRUSELAS 1800
Figura 3.12: Inmuebles en el extranjero.
En el mercado inmobiliario el importe consiste en el precio medio de cada ciudad por metro cuadrado, actuando para el usuario de manera orientativa.
Por último se formalizó una última entrevista para realizar los formularios necesarios para conocer los perfiles, esta entrevista dio lugar a dos formularios. El primero consiste en preguntas enfocadas a saber los conocimientos del usuario y el riesgo al que es propenso. El segundo formulario realizado atiende a los deseos específicos de cada usuario, preguntándoles directamente el riesgo que desean correr, las inversiones que le atraen más y preferencias en campos de inversión.
El primer formulario consta de 7 preguntas: 1. Edad. 2. Formación. 3. Experiencia laboral. 4. Estructura familiar. 5. Salario. 6. Experiencia en inversiones. 7. Conocimiento de la situación económica en otros países.
58
Bases de datos y perfiles de usuario
En los formularios se dan una serie de opciones para cada pregunta para que el usuario marque la respuesta que más se ajusta a su perfil.
El segundo formulario tiene 3 campos: 1. Riesgo que desea correr. 2. Importe que desea invertir. 3. Preferencia de campo de inversión.
Con la información recogida de ambos formularios se consigue un perfil objetivo y otro subjetivo de manera que a la hora de proporcionar un informe será totalmente personalizado para cada usuario.
Para personalizar el perfil de cada usuario, en primer lugar no se asigna un perfil concreto, dependiendo de sus respuestas se le asignará uno concreto, o un perfil mixto, con un tanto por ciento de cada uno. En segundo lugar se personaliza el informe con las preferencias individuales de cada usuario, siendo este un informe mucho más fiable y eficiente.
59
Capítulo 4
A
plicación
La aplicación a desarrollar en este proyecto se ejecuta en un entorno web al que podrá acceder cualquier usuario mediante un explorador con conexión a Internet. En la figura 4.1 se puede ver el diagrama de navegabilidad del usuario, internamente habrá conexiones a una base de datos para introducir o extraer información, comprobaciones, etc.
Dentro del diagrama de navegabilidad se puede ver una línea azul que lleva desde la primera página a una serie de figuras, éstas representan el manual de usuario al que se puede acceder desde la página principal para que el usuario obtenga información de lo que puede obtener de la aplicación.
Existe otro manual que se puede ver al final del diagrama, a este manual el usuario puede acceder desde la página de modificación de preferencias de inversión para conocer la definición de riesgo concreta para esta aplicación.
El resto de figuras dentro del diagrama son todas las páginas y las conexiones entre ellas que va a ver el usuario de la aplicación.
60
Aplicación
Figura 4.1: Diagrama de navegabilidad de la aplicación.
61
Capítulo 4
La aplicación comienza en la página principal, esta página se puede ver en la figura 4.2.
Figura 4.2: Página inicial de la aplicación. Desde la página principal se puede acceder al manual de usuario compuesto por las figuras: 4.3, 4.4, 4.5, 4.6, 4.7 y 4.8, pinchando en la imagen que aparece en la figura 4.2.
62
Aplicación
Figura 4.3: Manual de usuario (pantalla 1). La pantalla 1 le indica al usuario mediante texto los pasos que debe llevar a cabo en la aplicación y lo que la aplicación le puede aportar y con cuales de sus datos va a hacer el estudio.
63
Capítulo 4
Figura 4.4: Manual de usuario (pantalla 2). La pantalla 2 muestra al usuario una parte del formulario que debe rellenar con sus datos personales y las preguntas necesarias para poder obtener su perfil personal de inversor.
64
Aplicación
Figura 4.5: Manual de usuario (pantalla 3). La pantalla 3 muestra al usuario la parte inferior del formulario de datos personales donde se encuentra el botón de envío de la información que debe pulsar para poder crear su perfil.
65
Capítulo 4
Figura 4.6: Manual de usuario (pantalla 4). La pantalla 4 muestra al usuario una parte del formulario donde puede almacenar por primera vez sus preferencias de inversión o bien modificarlas en el momento que desee.
66
Aplicación
Figura 4.7: Manual de usuario (pantalla 5). La pantalla 5 muestra al usuario la parte inferior del formulario de modificación de preferencias donde se le indica que debe almacenar estas preferencias para poder obtener unos resultados más personalizados.
67
Capítulo 4
Figura 4.8: Manual de usuario (pantalla 6). La pantalla 6 muestra al usuario el tipo de consejo financiero que puede obtener con un ejemplo de los resultados obtenidos por un usuario registrado en la aplicación.
68
Aplicación
Desde la página principal de la aplicación, si no es usuario registrado, se puede registrar de manera que se pasa a una página donde se tiene un formulario a rellenar (figura 4.9), el formulario tiene una parte de datos personales que internamente se almacenarán en tabla de usuarios, y otra parte de preguntas para poder asignar a cada usuario el perfil de inversor adecuado pudiendo ser más de uno y almacenándose también en la tabla de usuarios.
Una vez terminado este proceso, se informa al usuario de que todo ha sido correcto y se da la opción de pasar a la página de la aplicación como puede verse en la figura 4.10.
69
Capítulo 4
Figura 4.9: Formulario de registro de usuarios. 70
Aplicación
Figura 4.10: El usuario se ha registrado correctamente.
A la página de la aplicación también se puede acceder directamente desde la página principal si ya se es usuario registrado, introduciendo el nombre de usuario y la contraseña y se accede directamente. La figura 4.11 muestra esto.
Figura 4.11: Página de la aplicación.
71
Capítulo 4
En la página de la aplicación se tienen tres opciones, la primera es modificar preferencias, donde se pasa a una página con un formulario que se debe rellenar para que se puedan almacenar las preferencias de inversión del usuario en la tabla de usuarios, esto se hace mediante código PHP en una página oculta al usuario de la aplicación donde internamente se accede a la base de datos correspondiente y, o bien se modifican los datos almacenados de el usuario concreto, o bien se almacenan por primera vez estos datos si es la primera vez que el usuario los introduce. Se puede ver el formulario de modificación de preferencias en la figura 4.12.
Con esto el sistema experto consigue más información sobre el usuario para poder realizar un mejor estudio y dar una solución mucho más concreta ya que no todos los datos sobre cada usuario pueden ser recogidos en el formulario de creación del perfil.
72
Aplicación
Figura 4.12: Página Modificación preferencias.
Dentro de la página de modificación de preferencias existe uno de los campos a decidir, que es el riesgo que el usuario desea correr, si el usuario tiene cierta experiencia en inversiones no tendrá ningún problema en decidir qué riesgo desea correr, pero en caso de ser un usuario inexperto esto puede ser un problema, para que no introduzca un dato incorrecto se proporciona una definición de riesgo concreta para esta aplicación. Esto puede verse en la figura 4.13.
73
Capítulo 4
Figura 4.13: Definición de riesgo.
Una vez recogidas y almacenadas las preferencias de inversión la aplicación vuelve a la figura 4.11, y el usuario ya puede ver los consejos que le da el sistema, metiendo su nombre de usuario en la casilla correspondiente y pulsando el botón: VER CONSEJOS.
Internamente se obtienen los perfiles asignados al usuario, que pueden ser más de uno, ya que cada usuario no puede ser encasillado al 100% en un perfil determinado. Obtenidos esos perfiles se accede a tabla de inversiones donde están almacenados los consejos de inversión para cada perfil mostrándole al usuario el consejo que se le da para el importe que desea invertir en todas las opciones de cada uno de sus perfiles.
74
Aplicación
La división del importe que el usuario desea invertir y el orden en el que aparecen las diferentes inversiones que se aconsejan se realizan según los consejos del experto en finanzas. De esta manera se dividirá el importe que el usuario desea invertir en tanto por ciento de mayor a menor por inversiones. El resultado de la consulta de un usuario se puede ver en la figura 4.14.
Figura 4.14: Informe de consejos de inversión.
75
Capítulo 4
La última opción de la página de la aplicación consiste en la eliminación de los datos del usuario de la aplicación, para ello el usuario debe pinchar en el enlace “Eliminar datos” y se accede a una página donde el usuario introduce su nombre de usuario y contraseña y elimina sus datos. Esto se puede ver en las figuras 4.15 y 4.16.
Figura 4.15: Página de eliminación de datos.
La figura 4.16 muestra el mensaje que sale al eliminar los datos del usuario.
Figura 4.16: Los datos han sido eliminados.
76
Aplicación
4.1 CONTROL DE DATOS. Dentro de la aplicación se han de recoger muchos datos, los cuales deben estar bien introducidos, y hay campos imprescindibles de rellenar en muchos casos, para ellos se han programado una serie de medidas para controlar estos posibles errores, indicando en cada momento al usuario si ha introducido algo mal.
En primer lugar, en la pantalla principal de la aplicación, si el usuario ya está registrado se comprueba que existe ese usuario y que la contraseña introducida es correcta mediante una página intermedia donde se recogen los datos introducidos en las casillas de usuario y contraseña, se accederá a la base de datos correspondiente buscando el usuario y la contraseña dados, si la búsqueda es positiva, se accederá a la página para usuarios ya registrados donde el usuario puede ver sus informes o modificar sus preferencias, en caso de no ser positiva la búsqueda, se volverá a la página principal de la aplicación.
Si el usuario nunca se ha registrado tendrá que rellenar un formulario para poder hacerlo, en este caso se han controlado varias cosas: • Para que no haya posibilidad de que el usuario no conteste a alguna de las preguntas, cada una de ellas tendrá activada una respuesta por defecto. • En los campos a rellenar por el usuario de datos personales, se controlará que los rellene todos y que el e-mail introducido sea correcto, en caso de no ser así se mostrará al usuario una ventana donde se indica lo que ha introducido mal, esto se puede ver en las figuras: 4.17 y 4.18.
77
Capítulo 4
Figura 4.17: Ejemplo de envío de formulario con e-mail no válido.
Figura 4.18: Ejemplo de envío de formulario sin toda la información. 78
Aplicación
En la página donde se encuentra el formulario para cambiar las preferencias personales de inversión, se controlan los datos al igual que en el formulario de registro, poniendo unos datos predeterminados. Al tener que introducir el nombre de usuario se comprueba que éste es correcto volviendo a la página del formulario en caso de no serlo.
Por último en la página a la que accede el usuario una vez registrado, si quiere visualizar su informe, debe introducir el nombre de usuario donde una vez más se comprobará que es correcto para poder continuar y ver el informe de resultados.
79
Capítulo 5
A
lgoritmo
5.1 INTRODUCCIÓN. El algoritmo desarrollado para asignar a cada usuario su perfil es la parte más importante del proyecto, es donde de manera personalizada se va a reflejar el conocimiento del experto.
La realización de un algoritmo adecuado y eficiente define la calidad del sistema experto que se está desarrollando. Este proyecto se apoya en un formulario, y en un sistema de puntuación.
Cada pregunta tendrá un conjunto de respuestas y dependiendo de cada una se recibirá una puntuación, recopilando la información de todas las preguntas se consigue la puntuación final que se corresponderá con un perfil determinado.
80
Algoritmo
5.2 ASIGNACIÓN DE PERFILES. Para asignar un perfil a cada usuario serán necesarias tres etapas una vez el usuario ha contestado al formulario de registro y ha enviado la información correctamente: 1. Contabilizar puntuación. 2. Asignación de grupo. 3. Nivel de ajuste dentro del grupo.
5.2.1 CONTABILIZAR PUNTUACIÓN. Según las respuestas que el usuario ha dado en cada una de las preguntas se asignará una puntuación, la puntuación puede asignarse a dos variables: la variable del conocimiento y la variable del riesgo. De manera que unas preguntas sumarán conocimiento y otras, riesgo.
Las preguntas que incrementarán la variable conocimiento son la formación académica, la experiencia laboral, la experiencia en inversiones y el conocimiento de la situación económica en otros países. • La formación académica tiene cuatro posibles respuestas: bachillerato, diplomado, licenciado y máster, según sea la respuesta del usuario sumará a la variable conocimiento 2, 10, 15 ó 25 puntos respectivamente. • Si la respuesta a la experiencia laboral es negativa no se sumarán puntos a la variable conocimiento, en caso de ser positiva se sumarán 10 puntos en caso de ser del tipo “otros” y 20 puntos en cualquier otro caso.
• La respuesta a “experiencia en inversiones” puede ser o bien ninguna, en tal caso no se sumará ningún punto a la variable 81
Capítulo 5
conocimiento o bien otra respuesta de las que se dan como posibles opciones: bolsa, mercado inmobiliario, renta fija bancaria, letras y bonos del estado o fondos de inversión de renta variable privados, en caso de darse alguna de estas la respuesta se sumarán 20 puntos a la variable conocimiento. • La respuesta a la pregunta “Conocimiento de la situación económica en otros países” puede ser de “SI” o “NO” en caso de ser “SI” se sumarán 10 puntos a la variable conocimiento y en caso contrario no se sumarán puntos.
Las preguntas que incrementar la variable riesgo son la edad, la estructura familiar y el salario. • La edad del usuario puede estar comprendida en tres franjas: “de 18 a 35 años”, “de 35 a 50 años”, “más de 50 años” y respectivamente sumarán a la variable riesgo 15, 25 y 5 puntos. • La estructura familiar tiene dos partes, la situación civil, que en caso de ser de soltería sumará a la variable riesgo 20 puntos y en caso de estar casado se sumarán 10 puntos. La segunda parte pregunta si se tienen hijos o no, en caso de no tener hijos se sumarán 15 puntos a la variable y en caso contrario no se sumarán puntos. • El salario está comprendido en tres franjas: “entre 0 y 28.000 euros”, “entre 28.000 y 60.000 euros” y “más de 60.000 euros” y sumarán a la variable riesgo 5, 15 y 25 puntos respectivamente.
Una vez se ha contabilizado la puntuación del usuarios se pasa a estudiar estas dos variables para poder asignar el perfil determinado.
82
Algoritmo
5.2.2 ASIGNACIÓN DE GRUPO. La asignación de grupo consiste en el estudio de las variables obtenidas en la etapa anterior de manera que habrá que hacer un estudio conjunto de las dos variables y cada posibilidad tendrá como resultado un perfil.
Los valores máximos y mínimos de las variables son: Máximo conocimiento = 75 puntos. Mínimo conocimiento = 2 puntos. Máximo riesgo = 65 puntos. Mínimo riesgo = 20 puntos.
Se asignará un conocimiento, medio, alto o bajo según esté en los siguientes intervalos: conocimiento medio está en el intervalo de 21 a 40 puntos, conocimiento alto está en el de 41 a 75 puntos y el conocimiento bajo esta en el intervalo de 2 a 20 puntos.
El riesgo, al igual que el conocimiento, se asignará por intervalos: de 20 a 30 puntos el riesgo será bajo, de 31 a 50 puntos el riesgo será medio y de 51 a 65 puntos será alto.
Haciendo las combinaciones de las dos variables se obtiene el perfil al que pertenece el usuario, se puede ver en la figura 5.1.
83
Capítulo 5
Riesgo alto
Conocimiento alto Mercado continuo y bolsas extranjeras/ Compra de inmuebles en el extranjero
Riesgo medio Ibex 35
Riesgo bajo
Fondo de inversión de renta variable privados
Conocimiento medio
Conocimiento bajo
Ibex 35/ Compra de inmuebles en el extranjero
Compra de inmuebles en España
Fondos de inversión de renta variable privados/ Renta fija bancaria
Renta fija bancaria
Letras y bonos del Estado
Letras y bonos del Estado
Figura 5.1: Relación entre variables y perfiles.
La asignación de estos perfiles es demasiado genérica, debería concretarse más cada uno de los perfiles pues los intervalos son demasiado grandes, para ello se hace un estudio de cada variable, y si se encuentra en alguno de los extremos del intervalo se asignará el perfil secundario correspondiente, de manera que se generaliza el perfil de cada usuario para poder aconsejar de una manera más eficiente.
84
Algoritmo
5.2.3 NIVEL DE AJUSTE DENTRO DEL GRUPO. Dentro del perfil que se ha asignado a cada usuario puede ser que esté en los límites del intervalo, por tanto se debe considerar la posibilidad de que el usuario no pertenezca completamente al perfil asignado, esto será estudiado dando como resultado un perfil principal y otro secundario.
Si las puntuaciones de ambas variables se encuentran razonablemente en el centro del intervalo se considera al usuario en ese perfil al 100% y no se le asignará ningún perfil secundario. En caso contrario se comprobará hacia que extremo está la puntuación de cada una de las variables y se considerará un perfil secundario con las variables más cercanas al extremo en el que está la puntuación asignando el perfil de la misma manera que se ha asignado el principal (figura 5.1).
85
Capítulo 6
P
ruebas
6.1 INTRODUCCIÓN. INTRODUCCIÓN. Una vez desarrollada la aplicación es necesario ejecutar una serie de pruebas para comprobar el buen funcionamiento y la fiabilidad de la misma. El objetivo de esta fase es poner a prueba el sistema y todos sus componentes antes de la implantación.
Esta fase es crítica, por tanto debe ser realizada con un control exhaustivo para que no se cometa ningún fallo. Si los resultados de esta fase son satisfactorios se llevará a cabo la implantación de la aplicación, en caso contrario habrá que subsanar los fallos encontrados y volver a etapas anteriores.
Se deben realizar todas las pruebas a las que pueda estar sometido el software, desde pruebas de encadenamiento, hasta pruebas de estrés para diagnosticar el comportamiento en situaciones extremas.
86
Pruebas
6.2 TIPOS DE PRUEBAS. Se deben realizar diferentes pruebas para comprobar que se cumplen los objetivos establecidos. Los diversos tipos de pruebas que deben realizarse en esta aplicación son:
• Pruebas de encaminamiento. • Pruebas de integración. • Pruebas de explotabilidad. • Pruebas de seguridad. • Pruebas de sobrecarga. • Pruebas de aceptación de usuario. • Pruebas de usabilidad.
6.2.1 PRUEBAS DE ENCAMINAMIENTO. Una vez comprobado el buen funcionamiento de cada una de las páginas programadas, esta prueba garantiza la buena comunicación entre las mismas. Después de realizar estas pruebas se puede decir que la aplicación tiene una buena comunicación ya que en ningún momento se ha encontrado ningún problema.
Se han comprobado todos los enlaces entre páginas y los envíos de información mediante la introducción de datos. La aplicación en todo momento ha respondido satisfactoriamente.
87
Capítulo 6
6.2.2 PRUEBAS DE INTEGRACIÓN. Estas pruebas se han ido efectuando a lo largo de todo el proyecto. Para realizar estas pruebas se han intentado encontrar fallos en la respuesta de alguna página cuando ésta ha dependido de los servicios de la base de datos.
Al haberse ido realizando durante toda la creación del proyecto, poco a poco se han ido subsanando los errores, por tanto se puede asegurar que las pruebas de integración son completamente satisfactorias.
6.2.3 PRUEBAS DE EXPLOTABILIDAD. Estas pruebas determinan la facilidad del sistema para su explotación. Se ejecutan todos los procesos, comprobando todas las entradas y salidas y los mensajes de error que deben salir en determinados momentos.
6.2.4 PRUEBAS DE SEGURIDAD. Se deben comprobar los mecanismos de seguridad de la aplicación, de manera que los usuarios puedan acceder sólo a la información que le proporcionan sus privilegios. Ningún usuario puede acceder a la base de datos directamente, sólo podrá obtener la información de inversiones relativa a sus perfiles, de acuerdo con lo establecido en los objetivos del sistema.
88
Pruebas
6.2.5 PRUEBAS DE SOBRECARGA. Las pruebas de sobrecarga definen cuál es la carga máxima que puede soportar el sistema, tanto en número de usuarios como en número máximo de datos, para evitar la caída del sistema ante la falta de recursos. En la aplicación se pueden soportar tantos usuarios como se desee pues la carga en el sistema es pequeña, ya que son pocos datos los que se van a almacenar de cada usuario.
Solo existen dos tablas en la base de datos que van a ser modificadas por los usuarios al introducir sus datos, el resto son accesos a la base de datos que no dan problemas de sobrecarga.
6.2.6 PRUEBAS DE ACEPTACIÓN DE USUARIO. Estas pruebas las lleva a cabo el usuario de la aplicación. Son básicamente pruebas funcionales, sobre la aplicación completa, que buscan que se cumplan todos los requisitos para el usuario.
Este tipo de pruebas no se realizan durante el desarrollo de la aplicación, sino que las ejecuta el usuario cuando la aplicación está terminada e implantada. Estas pruebas se pueden llevar a cabo ante una primera versión de la aplicación, antes de ser implantada, para poder subsanar errores que puedan surgir.
89
Capítulo 6
6.2.7 PRUEBAS DE USABILIDAD. Las pruebas de usabilidad son un complemento a las pruebas de aceptación de usuario, para verificar la facilidad de uso del sistema. Esta facilidad se refiere al interfaz de usuario.
Estas pruebas se pueden efectuar a lo largo de todo el ciclo, pero es necesario realizarlas también en este punto para que el usuario sea crítico con el funcionamiento que percibe y poder detectar anomalías y fallos técnicos que no se han encontrado.
90
Pruebas
6.3 EJEMPLO. EJEMPLO. A continuación se muestra un ejemplo de la aplicación desde que el usuario se registra por primera vez. Se muestra en las figuras de la 6.1 a la 6.14.
Figura 6.1: Página inicial.
Lo primero que debe hacer el usuario es registrarse, para ello desde la página principal deberá pinchar en el enlace “REGISTRARSE” y accederá a la pagina que se muestra en la figura 6.2 donde deberá rellenar sus datos.
91
Capítulo 6
Figura 6.2: Formulario de registro. 92
Pruebas
Una vez rellenado el formulario se envían los resultados, que si son correctos se informará al usuario dando la posibilidad de pasar a la página de la aplicación y se habrán guardado los datos incluidos los perfiles que han sido asignados (figura 6.3). Se puede ver la siguiente página en la figura 6.4.
Figura 6.3: Datos almacenados en la base de datos.
Figura 6.4: Usuario ya registrado.
Una vez que el usuario ya se ha registrado puede acceder a la aplicación y modificar sus preferencias, consultar su informe o eliminar los datos de la aplicación. La primera vez que el usuario se registra se le aconseja rellenar sus preferencias como se puede ver en la figura 6.4. La página de la aplicación se puede ver en la figura 6.5.
93
Capítulo 6
Figura 6.5: Página de la aplicación.
Para poder modificar las preferencias de inversión hay que pinchar en el
enlace
“Modificar
preferencias”
correspondiente (figura 6.6).
94
y
se
accederá
al
formulario
Pruebas
Figura 6.6: Página de modificación de preferencias.
Una vez modificadas las preferencias y almacenadas en la tabla correspondiente de la base de datos, como se puede ver en la figura 6.7, se vuelve a acceder a la página de la aplicación (figura 6.5) donde introduciendo el nombre de usuario y contraseña, se puede acceder al informe de consejos de inversión (figura 6.8).
95
Capítulo 6
Figura 6.7: Datos almacenados en la base de datos.
Los datos han sido almacenados en la tabla PREFERENCIAS de la base de datos, almacenando también el nombre de usuario que será la variable necesaria para poder relacionar esta tabla con la de DATOS.
Figura 6.8: Informe de consejos de inversión.
96
Pruebas
En la página final se pueden ver los consejos de inversión para los perfiles que han sido asignados, teniendo en cuenta las preferencias de inversión que se han almacenado.
Si el usuario quiere eliminar sus datos de la aplicación debe pinchar en el enlace “Eliminar datos” e introduciendo su nombre de usuario y contraseña en la siguiente página (figura 6.9) se eliminaran sus datos.
Figura 6.9: Página de eliminación de datos.
Figura 6.10: Los datos han sido eliminados.
La figura 6.10 muestra el mensaje que sale al usuario una vez han sido eliminados sus datos de la aplicación. 97
Capítulo 6
En las figuras 6.11, 6.12, 6.13 y 6.14 se puede comprobar que los datos se eliminan correctamente.
Figura 6.11: Tabla de datos sin haber borrado el usuario covalopez.
Figura 6.12: Tabla de preferencias sin haber borrado el usuario covalopez.
En la figura 6.11 se pueden ver los datos de los usuarios que están registrados en la aplicación, en la figura 6.12 se muestra la información de las preferencias de estos usuarios.
En las figuras 6.13 y 6.14 se muestran los mismos datos de las figuras anteriores pero después de haber borrado los datos del usuario covalopez.
Figura 6.13: Tabla de datos, después de haber borrado los datos del usuario covalopez.
Figura 6.14: Tabla de preferencias, después de haber borrado los datos del usuario covalopez. 98
Capítulo 7
C
onclusiones y trabajo futuro.
7.1 CONCLUSIONES. Las conclusiones de este proyecto se podría decir que es el capítulo más importante de todos los expuestos, ya que, en los párrafos siguientes se establecerán todas las consecuencias que se derivan de la realización de este trabajo.
En primer lugar se expone el grado de consecución de los objetivos citados en la introducción y objetivos (capitulo 1). 1. Se ha conseguido una interacción con el usuario sencilla con la realización de los dos formularios reduciendo al mínimo las preguntas realizadas en cada uno de los formularios para que resulte menos pesado. 2. Se ha creado un manual para el usuario donde se muestra el funcionamiento de la aplicación, al que se accede desde la página principal pinchando en la fotografía. 3. El informe final consiste en una serie de recomendaciones de inversión asignadas al perfil que se ha asignado, afinando la recomendación con las preferencias de inversión.
99
Capítulo 7
4. Se han hecho estudios con el experto en finanzas para poder definir los objetivos de la aplicación y una recopilación de datos adecuada a estos objetivos. 5. La base de datos creada se ha dividido en tablas dividiendo la información de la manera más eficiente y creando las variables necesarias para relacionarlas. 6. Se ha realizado un algoritmo eficaz para el procesamiento de los datos del usuario y su posterior asignación del perfil más adecuado (Capitulo 5). 7. Se han creado los modelos necesarios e interpretado los mismos cumpliendo los objetivos propuestos al inicio del proyecto. 8. Se ha realizado un informe para el usuario, incorporando todo el conocimiento adquirido del experto en finanzas.
Estas son las conclusiones a las que se ha llegado partiendo de los objetivos planteados al inicio del proyecto. Sin embargo gracias a los resultados proporcionados por la aplicación, se pueden deducir nuevas conclusiones, que se citan a continuación. 1. Los sistemas expertos son la forma más eficaz de plasmar el conocimiento humano a través de una máquina, emulando el trabajo del experto de una manera más eficiente y sin errores humanos. 2. La parte más complicada de este proyecto ha consistido en la realización de las entrevistas de manera adecuada para conseguir plasmar la información recogida a través de los formularios, y después conseguir asignar las puntuaciones oportunas y procesar los datos correctamente. 3. La codificación de la aplicación con el lenguaje web PHP y con EasyPHP ha hecho que la realización técnica del proyecto fuese 100
Conclusiones y trabajo futuro
más sencilla y que se hayan conseguido los resultados adecuados ante los objetivos propuestos. 4. El mercado financiero requiere un estudio previo importante y la mejor forma de instruirse en este tema es aprender de un experto, por tanto esta aplicación es una solución muy eficaz sobre todo para gente con pocos conocimientos financieros. 5. Un buen diseño de la base de datos es importantísimo para poder procesar los datos y almacenarlos o acceder a ellos de manera eficiente.
Por último una vez analizados todos los resultados y vistas las conclusiones, se puede afirmar que partiendo de la motivación que ha llevado a realizar este proyecto, el resultado ha creado un mayor interés por este tema.
101
Capítulo 7
7.2 TRABAJO FUTURO. La aplicación realizada es sencilla y hecho ya el estudio financiero, técnicamente puede ampliarse, se dan una serie de líneas de investigación para el trabajo futuro: 1. Los informes de recomendaciones financieras se podrían presentar al usuario de diferentes maneras, una opción podría ser el envío de estos informes por e-mail a cada usuario. 2. Se podrían realizar gráficas temporales para mostrar al usuario la evolución en el tiempo de las inversiones que se aconsejan. 3. Se podrían dar ciertos privilegios a un administrador experto en el tema financiero para dar ciertas prioridades a determinadas inversiones y así poder dar una mejor solución al usuario.
102
Capítulo 8
B
ibliografía
A continuación se documentan los libros, páginas web y diferentes documentos que se han utilizado en la realización de este proyecto.
8.1 LIBROS. [RUSS04]
Inteligencia Artificial, un enfoque moderno. Russell S. J. y Norving P. Pearson educación, Madrid 2004.
[FABR00]
PHP 4. Pedro Pablo Fábrega. Pearson educación, Madrid 2000.
[BARR01]
Metodología del análisis estructurado de sistemas. Jesús Barranco de Areba. Universidad Pontificia de Comillas 2001.
103
Capítulo 8
8.2 PÁGINAS WEB. • http://mundoinformatica.portalmundos.com/easyphp-wamp-y-xampcomparativas-de-modulos-apache-mysql-php/ • http://es.wikipedia.org/wiki/Sistema_experto • http://www.monografias.com/trabajos16/sistemas-expertos/sistemasexpertos.shtml • http://www.redcientifica.com/doc/doc199908210001.html • http://www.slideshare.net/melieslava/inteligencia-artificial-ysistemas-expertos-237929 • http://www.slideshare.net/melieslava/inteligencia-artificial-ysistemas-expertos-237929
104
Bibliografía
8.3 OTROS DOCUMENTOS. •
Diapositivas Asignatura: Inteligencia Artificial y Sistemas Expertos. Profesora: Cristina Puente Agueda.
•
Diapositivas Asignatura: Desarrollo web. Profesora: Cristina Puente Agueda.
•
Articulo: The KDD Process for Extracting Useful Knowledge from Volumes of Data. Comunication of the age, November 1996.
105