• No se han encontrado resultados

Módulo Web Front end para el desarrollo de simulación a partir de Weibull, Ji Cuadrado y Beta

N/A
N/A
Protected

Academic year: 2020

Share "Módulo Web Front end para el desarrollo de simulación a partir de Weibull, Ji Cuadrado y Beta"

Copied!
90
0
0

Texto completo

(1)MODULO WEB FRONT-END PARA EL DESARROLLO DE SIMULACION A PARTIR DE WEIBULL, JI CUADRADO Y BETA.. EDWIN STIP MURCIA PEREZ JULIAN CAMILO MELENDEZ MARTINEZ. UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA PROGRAMA DE INGENIERÍA DE SISTEMAS MODALIDAD DE INVESTIGACION BOGOTA D.C. 2013. 1.

(2) MODULO WEB FRONT-END PARA EL DESARROLLO DE SIMULACION A PARTIR DE WEIBULL, JI CUADRADO Y BETA.. EDWIN STIP MURCIA PEREZ JULIAN CAMILO MELENDEZ MARTINEZ. Trabajo de Grado. Director HOLMAN BOLIVAR Ingeniero de Sistemas. UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA PROGRAMA DE INGENIERÍA DE SISTEMAS MODALIDAD DE INVESTIGACION BOGOTA D.C. 2013.

(3)

(4) Nota de aceptación. Aprobado por el comité de grado en cumplimiento de los requisitos exigidos por la Facultad de Ingeniería y la Universidad Católica de Colombia para optar al título de ingenieros de Sistemas.. ________________________________ Ingeniero Holman Diego Bolívar Director. ________________________________ Ingeniero Carlos Alberto Pulido Revisor Metodológico. Bogotá D. C, 19 de noviembre de 2013 41.

(5) AGRADECIMIENTOS En primer lugar, agradecemos a Dios por colmarnos de salud y permitirnos realizar este proyecto, a nuestros padres por todo el apoyo y tiempo incondicional que nos dedicaron en el transcurso de estos años, al director de nuestro proyecto el ingeniero Holman Bolívar por su incalculable ayuda en la realización del trabajo, a la Universidad Católica de Colombia, nuestros compañeros de la facultad de ingeniería de sistemas y por ultimo a todas aquellas personas que de una u otra manera nos colaboraron durante el proceso.. 5.

(6) CONTENIDO Pág. INTRODUCCIÓN. 15. 1. PLANTEAMIENTO DEL PROBLEMA. 16. 2. OBJETIVOS DEL PROYECTO 2.1. OBJETIVO GENERAL 2.2. OBJETIVOS ESPECIFICOS. 18 18 18. 3. MARCO REFERENCIAL 3.1. MARCO CONCEPTUAL 3.1.1 Probabilidad 3.1.2 Variable Aleatoria 3.1.3 Proceso Estocástico 3.1.4 Simulación 3.1.5 Metodo de Simulación Montecarlo 3.1.6 Distribuciones de Probabilidad 3.1.6.1 Distribución Weibull 3.1.6.2 Distribución Ji Cuadrado 3.1.6.3 Distribución Beta 3.2. MARCO TEORICO 3.2.1 Aplicaciones Web 3.2.2 Front End 3.2.3 Servicio Web 3.2.4 Lenguaje de programación PHP. 19 19 19 19 20 20 21 21 22 22 23 24 24 26 27 27. 4. METODOLOGIA PROPUESTA 4.1 PSP (PERSONAL SOFTWARE PROCESS). 29 29. 5. DISEÑO MODULO WEB FRONT END PARA EL DESARROLLO DE SIMULACION 5.1 MODELO DE INTERACCIÓN CON USUARIO 5.1.1 Detalle de Casos de Uso 5.2 ESPECIFICACION DE REQUERIMIENTOS FUNCIONALES 5.3 ESPECIFICACION DE REQUERIMIENTOS NO FUNCIONALES 5.4 ARQUITECTURA MODULO WEB FRONT-END. 32 32 33 34 35 37. 6.

(7) 5.5 MODELO ESTATICO DEL SISTEMA 5.6 MODELO DINÁMICO DEL SISTEMA. 39 40. 6. MODULO WEB FRON END PARA EL DESARROLLO DE LA SIMULACION 6.1 ADMINISTRACION DE PERFILES Y USUARIOS 6.2 CONFIGURACION GENERAL 6.3 PROCESO DE SIMULACION 6.4 CONSULTA DE RESULTADOS 6.5 INGRESO AL APLICATIVO. 41 41 42 43 44 45. 7. CONCLUSIONES. 46. BIBLIOGRAFIA. 47. ANEXOS. 49. 7.

(8) LISTA DE TABLAS Pág. Tabla 1. Caso de uso “Listar perfil” Tabla 2. Requerimiento funcional Modificar usuarios Tabla 3. Métricas de usabilidad y confiabilidad Tabla 4. Requerimiento funcional “Crear usuarios” Tabla 5. Requerimiento funcional “Gestionar permisos de usuario” Tabla 6. Requerimiento funcional “Consultar usuarios” Tabla 7. Requerimiento funcional “Eliminar usuarios” Tabla 8. Requerimiento funcional “Cargar y editar datos” Tabla 9. Requerimiento funcional “Validar datos” Tabla 10. Requerimiento funcional “Ejecutar simulación” Tabla 11. Requerimiento funcional “Generar informe” Tabla 12. Requerimiento funcional “Graficar simulación” Tabla 13. Requerimiento funcional “Almacenar datos” Tabla 14. Caso de uso “Crear perfil” Tabla 15. Caso de uso “Editar perfil” Tabla 16. Caso de uso “Eliminar perfil” Tabla 17. Caso de uso “Listar usuario” Tabla 18. Caso de uso “Crear usuario” Tabla 19. Caso de uso “Editar usuarios” Tabla 20. Caso de uso “Eliminar usuario” Tabla 21. Caso de uso “Configurar parámetros”. 8. 34 35 37 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66.

(9) LISTA DE FIGURAS Pág. Figura 1. Función de probabilidad Weibull Figura 2. Función de probabilidad Ji cuadrado Figura 3. Función de probabilidad Beta Figura 4. Función de probabilidad Binomial Figura 5. Formula valor esperado y varianza Figura 6. Ejemplo aplicación Web Figura 7. Estructura básica FRONT-END Figura 8. Estructura de PSP Figura 9. Diagrama casos de uso Figura 10. Árbol de utilidad atributo de usabilidad Figura 11. Árbol de utilidad atributo de confiabilidad Figura 12. Esquema de componentes MVC Figura 13. Diagrama de componentes Figura 14. Diagrama de clases Figura 15. Diagrama de secuencia Figura 16. Lista de perfiles Figura 17. Lista de usuarios Figura 18. Configuración general Figura 19. Proceso de simulación Figura 20. Resultados y gráficas Figura 21. Ingreso al sistema Figura 22. Diagrama de secuencia “Crear usuarios” Figura 23. Diagrama de secuencia “Editar usuarios” Figura 24. Diagrama de secuencia “Crear perfiles” Figura 25. Diagrama de secuencia “Editar perfiles”. 9. 22 23 23 23 24 25 26 31 32 36 36 38 39 40 40 41 42 43 43 44 45 67 68 69 70.

(10) LISTA DE ANEXOS Pág. Anexo A. Especificación requerimientos funcionales Anexo B. Especificación detalle casos de uso Anexo C. Especificación diagramas de secuencia Anexo D. Manual de configuración Anexo E. Manual de usuario. 10. 49 59 67 71 79.

(11) GLOSARIO AJAX: acrónimo de Asynchronous JavaScript And XML (JavaScript asíncrono y XML), es una técnica de desarrollo web para crear aplicaciones interactivas. Estas aplicaciones se ejecutan en el cliente, es decir, en el navegador de los usuarios mientras se mantiene la comunicación asíncrona con el servidor en segundo plano. De esta forma es posible realizar cambios sobre las páginas sin necesidad de recargarlas, mejorando la interactividad, velocidad y usabilidad en las aplicaciones. APACHE: El servidor HTTP Apache es un servidor HTTP de código abierto para plataformas Unix (BSD, GNU/Linux, etcétera), Windows y otras, que implementa el protocolo HTTP/1.1 (RFC2616) y la noción de sitio virtual. BACK-END: Es la parte de la aplicación que permite realizar las tareas de configuración y gestión de la información que viaja desde y hacia el Front-End. CMMI: Capability maturity model integration (CMMI) es un modelo para la mejora y evaluación de procesos para el desarrollo, mantenimiento y operación de sistemas de software. CSS: Las hojas de estilo en cascada (Cascading Style Sheets, CSS) son un lenguaje formal usado para definir la presentación de un documento estructurado escrito en HTML o XML (y por extensión en XHTML). La idea que se encuentra detrás del desarrollo de CSS es separar la estructura de un documento de su presentación. FRAMEWORK: Es una estructura conceptual y tecnológica de soporte definido, normalmente con artefactos o módulos de software concretos, que puede servir de base para la organización y desarrollo de software. Típicamente, puede incluir soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas, para así ayudar a desarrollar y unir los diferentes componentes de un proyecto. FRONT-END: Es la parte de la aplicación por medio de la cuál interactúa el usuario. HTML: Acrónimo inglés de HyperText Markup Language (lenguaje de marcado de hipertexto), es un lenguaje de marcación diseñado para estructurar textos y presentarlos en forma de hipertexto, que es el formato estándar de las páginas web. Gracias a Internet y a los navegadores del tipo Internet Explorer, Opera, Firefox o Netscape, el HTML se ha convertido en uno de los formatos más populares que existen para la construcción de documentos.. 11.

(12) PHP: Lenguaje de programación usado generalmente para la creación de contenido para sitios web. El nombre es el acrónimo recursivo de "PHP: Hypertext Preprocessor" Se trata de un lenguaje interpretado usado para la creación de aplicaciones para servidores, o creación de contenido dinámico para sitios web. PostgreSQL: PostgreSQL es un sistema de gestión de bases de datos objetorelacional, distribuido bajo licencia BSD y con su código fuente disponible libremente, utiliza un modelo cliente/servidor y usa multiprocesos en vez de multihilos para garantizar la estabilidad del sistema. Un fallo en uno de los procesos no afectará el resto y el sistema continuará funcionando. PSP: El proceso personal de software Es un conjunto de prácticas disciplinadas para la gestión del tiempo y mejora de la productividad personal de los programadores o ingenieros de software, en tareas de desarrollo y mantenimiento de sistemas. Está alineado y diseñado para emplearse en organizaciones con modelos de procesos CMMI o ISO 15504. UML: Es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad. Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema. UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocio, funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y compuestos reciclados. XHTML: (Lenguaje de Marcado de Hipertexto Extensible) es una versión más estricta y limpia de HTML, que nace precisamente con el objetivo de remplazar a HTML ante su limitación de uso con las cada vez más abundantes herramientas basadas en XML. XHTML extiende HTML 4.0 combinando la sintaxis de HTML, diseñado para mostrar datos, con la de XML, diseñado para describir los datos. XML: Es un lenguaje de marcas desarrollado por el World Wide Web Consortium (W3C) utilizado para almacenar datos en forma legible. Deriva del lenguaje SGML y permite definir la gramática de lenguajes específicos (de la misma manera que HTML es a su vez un lenguaje definido por SGML) para estructurar documentos grandes. A diferencia de otros lenguajes, XML da soporte a bases de datos, siendo útil cuando varias aplicaciones se deben comunicar entre sí o integrar información. WEB: La World Wide Web (WWW) o Red informática mundial comúnmente conocida como la web, es un sistema de distribución de documentos de hipertexto o hipermedios interconectados y accesibles vía Internet. Con un navegador web, un usuario visualiza sitios web compuestos de páginas web que pueden contener texto, imágenes, vídeos u otros contenidos multimedia, y navega a través de esas páginas usando hiperenlaces. 12.

(13) RESUMEN El presente trabajo se refiere al diseño de un módulo web front end para la simulación a partir de las distribuciones de probabilidad Weibull, Ji cuadrado y Beta, como técnica cuantitativa que hace uso de la estadística y los procesos a simular mediante modelos matemáticos de sistemas reales para la toma decisiones. El modelo de los procesos se implementó mediante lenguaje unificado de modelado (UML). En la fase de análisis y diseño se elaboró un modelo general de casos de uso mediante diagramas y tablas con los detalles de cada uno, adicionalmente se realizó los diagramas de secuencia y de componentes para identificar los atributos en el desarrollo de la aplicación. El diseño de la base de datos se construyó siguiendo el modelo entidad relación con el cual se estableció la relación entre las entidades involucradas en la aplicación. La parte de la interfaz se diseñó considerando los tipos de usuario que tienen interacción con el sistema, los cuales tendrán acceso a las diferentes funcionalidades y recursos dependiendo de los permisos asignados. Aplicando las distribuciones de probabilidad en la simulación de distintos sistemas productivos, se despliega mediante la aplicación el concepto de números aleatorios en un rango entre cero y uno, y los métodos para generarlos, dando como resultado un aporte novedoso, en conjunto con técnicas de simulación y algoritmos determinísticos que permite con muestras pequeñas de datos, diseñar modelos de sistemas reales complejos y comprender su comportamiento y a partir de esto tomar decisiones óptimas. Por tanto se desea mostrar las ventajas del uso de las distribuciones de probabilidad por medio de una aplicación web front-end, siendo de gran ayuda para la investigación científica, ya que tan solo con un computador y acceso a internet se obtendrían resultados satisfactorios, evitando el costo de tiempo y dinero de las pruebas de laboratorio. Palabras Clave: algoritmos, distribuciones de probabilidad, números aleatorios, simulación.. 13.

(14) ABSTRACT This paper concerns the design of a web front end module for simulation from probability distributions Weibull, Ji Square, and Beta, like quantitative technique that uses statistical and processes using mathematical models to simulate real systems for take choices. The process model was implemented using unified modeling language (UML). In the analysis and design process we make a general model use cases thought diagrams and tables with details of each one, further we make the sequence diagrams and component diagrams was performed to identify the attributes in the development of the application. The design of the database was built on the model relation entity with this one create the relationship between the entities involved in the application. The interface was designed considering the user types that have interaction with the system which will have access to different functions and resources depending on the permissions assigned. Applying the probability distributions in a simulation of different production systems it deploy applying the concept of random numbers in a range between zero and one, and the methods for generating them, resulting in a new contribution, in conjunction with simulation techniques and deterministic algorithms that allows with small samples of data, design models of real complex systems and understand their behavior and after this make optimal decisions. So it wish to show the advantages of using the probability distributions through a front-end web application, being helpful for scientific research , as only a computer and internet access it will obtained satisfactory results , avoiding the cost of time and money of testing in a real laboratory. Keywords: algorithms, probability distributions, random numbers, simulation.. 14.

(15) INTRODUCCIÓN El creciente uso de la web y el considerable interés en el campo de la investigación, se genera la necesidad de desarrollar nuevas herramientas para la toma de decisiones en numerosas disciplinas. En este proyecto se presenta un modulo web front end, que realiza simulaciónes basadas en la generación de números aleatorios con un rango entre 0 y 1, se puede utilizar n funciones de probabilidad para la simulación, pero en este caso específico se presentan tres funciones las cuales son: weibull, ji cuadrado y beta, el objetivo es encontrar el valor más cercano posible a la solución, calculando el promedio de los resultados de la muestra generada, entre más puntos de simulación se generen, más cercana es la estimación, aunque a su vez influyen las condiciones iniciales y la exactitud del modelo implementado. A pesar de nuevas funciones y algoritmos, este proceso es computacionalmente grande y se ha convertido en una herramienta de cálculo esencial, permitiendo considerar modelos experimentales de laboratorio y teóricos variando libremente los parámetros usados, las áreas de aplicación de la simulación son amplias y muy diversas, por ejemplo en la toma de decisiones empresariales de producción industrial, análisis de impacto ambiental, investigación científica, etc. Además es cada vez más amigable para el usuario, sin tener que ser un especialista en computación. Utilizando la metodología PSP (Personal software process), para este proyecto se propuso para el desarrollo de la aplicación el lenguaje para el código PHP con un motor de base de datos PostgreSQL con código de libre distribución, con arquitectura asociada MVC modelo vista controlador, esto con el fin de garantizar la usabilidad y confiabilidad del proceso de simulación por medio de funciones de probabilidad. Teniendo en cuenta los grupos de investigación de la Universidad Católica de Colombia, esta herramienta computacional puede ser provechosa y de ayuda para el desarrollo de futuros proyectos experimentales que necesiten ser llevados a una computadora para analizar su comportamiento en poco tiempo.. 15.

(16) 1. PLANTEAMIENTO DEL PROBLEMA Las aplicaciones computacionales hoy en día juegan un papel muy importante en nuestra sociedad, la dinámica de las soluciones informáticas exige la disponibilidad de la información en todo momento, convirtiéndose en una herramienta útil para el desarrollo de proyectos en varios ámbitos, en este caso específico el desarrollo de una aplicación web front-end, que permita la simulación a partir de las de las distribuciones de probabilidad Weibull, Ji cuadrado y Beta. Permitiendo la interacción del usuario de forma rápida y simple con la aplicación. Cuando el modelo matemático de un sistema es estudiado usando simulación, se denomina modelo de simulación. El comportamiento del sistema, de acuerdo a valores específicos de variables de entrada, se evalúa corriendo el modelo de simulación por un período de tiempo determinado. Un experimento de simulación se puede definir como una prueba o una serie de pruebas, en las cuales se realizan cambios significativos a las variables de entrada de un modelo de simulación, de tal modo que se pueda observar e identificar las razones de los cambios en las variables de salida. Cuando el número de variables de entrada es grande y el modelo de simulación es complejo, el experimento de simulación puede llegar a ser computacionalmente prohibitivo. 1 Así la simulación trata fundamentalmente de construir modelos abstractos en una computadora de tal forma que describan la parte esencial del comportamiento de un sistema de interés, pudiéndose entonces diseñar y realizar experimentos con el modelo y posteriormente extraer conclusiones de sus resultados. Los modelos de simulación tienen su origen en los trabajos de John Von Neumann, pero solo es apreciable su poder cuando se introduce el computador moderno. 2 En consecuencia con la necesidad de herramientas, los programas de aplicación computacional ofrecen la posibilidad de proveer al usuario la capacidad de observación, usualmente mediante la visualización de resultados, modelos que ilustran la naturaleza del problema bajo estudio, al igual que, las interacciones y procesos que tienen lugar en dicho modelo. Las simulaciones computacionales han modificado sustancialmente la relación entre teoría y experimentos, permitiendo que el usuario interactúe con experimentos simulados que en algunos casos son difíciles de realizar en el laboratorio. Por lo tanto, las simulaciones computacionales pueden ayudar a los. 1. BUOT RICO, Guillermo, HENRÍQUEZ MARTÍNEZ, Freddy, BAESLER ABUFARDE, Felipe, RAMÍREZ MONÁRDEZ, Milton. Optimización en simulación vía inteligencia artificial: Aplicación a un problema de manejo de materiales.Theoria [en linea] 2001, Fecha de consulta: 22 de octubre de 2013] Disponible en:<http://www.redalyc.org/articulo.oa?id=29901003> ISSN 0717-196X 2 BARRERA R., Mauricio, TREJOS CARPINTERO, Álvaro, CARVAJAL OLAYA, Patricia. Integración Montecarlo Scientia Et Technica [en línea] 2006, XII (Diciembre-Sin mes) : [Fecha de consulta: 10 de octubre de 2013] Disponible en:<http://www.redalyc.org/articulo.oa?id=84911652058> ISSN 0122-1701. 16.

(17) usuarios en la comprensión de conceptos complejos y la interrelación entre lo empírico y lo teórico. 3 El problema radica en que no existe un modulo web front-end, para entender el comportamiento de los modelos planteados en el titulo del proyecto, por medio de simulaciones con distribuciones de probabilidad evaluar el proceso de las funciones, permitiendo la contrastación de los resultados experimentales con los datos simulados en la aplicación. El objetivo es comparar la información obtenida con la simulación de la aplicación con los datos las medidas experimentales y permitir por medio de esta herramienta modelar situaciones reales de ingeniería. Lo cual hace cuestionar ¿De qué manera el desarrollo del módulo web ayudara a facilitar y entender la simulación por medio de distribuciones de probabilidad?. 3. SOLOMONIDOU, Christina, STAVRIDOU, Heleni. Education and Information Technologies. 6 ed. Países Bajos: ,2001.p.5-27.. 17.

(18) 2. OBJETIVOS DEL PROYECTO 2.1.. OBJETIVO GENERAL. Construir un módulo web front-end para el desarrollo de simulación de simulación a partir de Weibull, Ji cuadrado y Beta. 2.2.. OBJETIVOS ESPECIFICOS. . Identificar las entidades, atributos, propiedades y relaciones asociadas a un modulo de usuario de un sistema web de simulación multivariable.. . Desarrollar un módulo web front end asociado al objetivo anterior aplicable a la simulación a partir de Weibull, Ji cuadrado y Beta.. . Validar la usabilidad y confiablidad del modulo desarrollado a través de métricas de calidad.. 18.

(19) 3. 3.1.. MARCO REFERENCIAL. MARCO CONCEPTUAL. En esta sección del documento se describirán algunos conceptos relevantes para el análisis de requerimientos, complejidad de los procesos matemáticos que conlleva una simulación y los recursos para el desarrollo de la aplicación. Se divide en tres partes: la primera parte se basa en una breve definición de probabilidad, variable aleatoria, procesos estocásticos y simulación. La segunda parte se describen las tres funciones de probabilidad planteadas, y en la tercera ultima parte se contextualiza lo que es un módulo front-end, adicionalmente la metodología y el lenguaje utilizados para el proyecto. 3.1.1 Probabilidad. La teoría de la probabilidad es la parte de las matemáticas que estudia los fenómenos aleatorios. Estos deben contraponerse a los fenómenos determinísticos, los cuales son resultados únicos y/o previsibles de experimentos realizados bajo las mismas condiciones determinadas, por ejemplo, si se calienta agua a 100 grados Celsius a nivel del mar se obtendrá vapor. Los fenómenos aleatorios, por el contrario, son aquellos que se obtienen como resultado de experimentos realizados, otra vez, bajo las mismas condiciones determinadas pero como resultado posible poseen un conjunto de alternativas, por ejemplo, el lanzamiento de un dado o de un dardo. 4 3.1.2 Variable Aleatoria. Una variable es aleatoria si su valor está determinado por el azar. En gran número de experimentos aleatorios es necesario, para su tratamiento matemático, cuantificar los resultados de modo que se asigne un número real a cada uno de los resultados posibles del experimento. De este modo se establece una relación funcional entre elementos del espacio muestral asociado al experimento y números reales. Una variable aleatoria (variable aleatoria) X es una función real definida en el espacio muestral asociado a un experimento aleatorio. Se llama rango de una variable aleatoria X y lo denotaremos RX, al conjunto de los valores reales que ésta puede tomar, según la aplicación X. Dicho de otro modo, el rango de una variable aleatoria es el recorrido de la función por la que ésta queda definida. 5. 4. REYES, Fredy Alberto, DAZA, Carlos Enrique y RONDON, Hugo Alexander. determinación de las fracciones sara de asfaltos colombianos envejecidos al medio ambiente empleando cromatografía líquida en columna. En: Revista EIA. Julio 2012, ISSN 1794-1237 Número 17, p. 47-56. 5 Ibid., p. 47-56.. 19.

(20) 3.1.3 Proceso Estocástico. En estadística, y específicamente en la teoría de la probabilidad, un proceso estocástico es un concepto matemático que sirve para caracterizar una sucesión de variables aleatorias (estocásticas) que evolucionan en función de otra variable, generalmente el tiempo. Cada una de las variables aleatorias del proceso tiene su propia función de distribución de probabilidad y, entre ellas, pueden estar correlacionadas o no. Cada variable o conjunto de variables sometidas a influencias o impactos aleatorios constituye un proceso estocástico. Un proceso estocástico se puede definir equivalentemente de dos formas diferentes: Como un conjunto de realizaciones temporales y un índice aleatorio que selecciona una de ellas. Como un conjunto de variables aleatorias Xt indexadas por un índice t, dado que t pertenece a T, con t contenido T. 3.1.4 Simulación. La simulación es el proceso de diseñar un modelo de un sistema real y llevar a término experiencias con él, con la finalidad de comprender el comportamiento del sistema o evaluar nuevas estrategias dentro de los límites impuestos por un cierto criterio o un conjunto de ellos para el funcionamiento del sistema.6 Normalmente se acepta que las simulaciones por computador hacen contribuciones particularmente valiosas en la educación científica en los siguientes casos: . Situaciones en las que realizar extremadamente difícil o imposible.. . Situaciones en las que los aparatos necesarios para llevar a cabo el experimento no se encuentran disponibles fácilmente, o son demasiado caros o complicados para su uso general.. . Situaciones en las que el trabajo experimental es peligroso o puede causar daños innecesarios.. . Situaciones en las que un experimento convencional tardaría un tiempo inaceptablemente largo.. 6. un. experimento. convencional. es. SHANNON, Robert; JOHANNES, James D. Systems simulation: the art and science. IEEE Transactions on Systems, Man and Cybernetics 6(10). pp. 723-724.. 20.

(21) 3.1.5 Método de Simulación Montecarlo. El método de Montecarlo es un método no determinístico estadístico numérico, usado para aproximar expresiones matemáticas complejas y costosas de evaluar con exactitud. El método se llamó así en referencia al Casino de Montecarlo (Principado de Mónaco) por ser “la capitaldel juego de azar”, al ser la ruleta un generador simple denúmeros aleatorios. El nombre y el desarrollo sistemático de los métodos de Montecarlo datan aproximadamente de1944 y se mejoraron enormemente con el desarrollo de la computadora. El uso de los métodos de Montecarlo como herramientade investigación, proviene del trabajo realizado en eldesarrollo de la bomba atómica durante la Segunda Guerra Mundial en el Laboratorio en EE.UU. Este trabajo conllevaba la simulación de problemas probabilísticos de hidrodinámica concernientes a la difusión de neutrones en el material de fisión. Esta difusión posee un comportamiento eminentemente aleatorio. En la actualidad es parte fundamental de los algoritmos de Raytracing para la generación de imágenes 3D. En la primera etapa de estas investigaciones, John vonNeumann y Stanislaw Ulam refinaron esta ruleta rusa y los métodos "de división" de tareas. Sin embargo, el desarrollo sistemático de estas ideas tuvo que esperar al trabajo de Harris y Herman Kahn en1948. Aproximadamente en el mismo año, Enrico Fermi, Nicholas Metropolis y Ulam obtuvieron estimadores paralos valores característicos de la ecuación de Schrödinger para la captura de neutrones a nivel nuclear usando este método. El método de Montecarlo proporciona soluciones aproximadas a una gran variedad de problemas matemáticos posibilitando la realización de experimentos con muestreos de números pseudoaleatorios en una computadora. El método es aplicable a cualquier tipo deproblema, ya sea estocástico o determinista. A diferenciade los métodos numéricos que se basan en evaluaciones en N puntos en un espacio M-dimensional para producir una solución aproximada, el método de Montecarlo tiene un error absoluto de la estimación que decrece como en virtud del teorema del límite central. Hillier y Liberman (1995) sugieren que el primer paso para simular una operación es desarrollar un modelo que represente el sistema a ser analizado. Winston (2003) y Muñoz (2010) también afirman que la forma adecuada para simular una operación como la considerada en este trabajo es a través del desarrollo de un método de simulación de evento discreto utilizando distribuciones de probabilidad conocida como simulación estocástica o método de Monte Carlo. Es relevante añadir que existen otros métodos que también podrían utilizarse para realizar los análisis de los problemas considerados, como la Teoría de las colas. No obstante, la simulación ofrece ciertas ventajas sobre dicha proposición. 7 3.1.6 Distribuciones de Probabilidad. La distribución de probabilidad de una variable aleatoria X, también llamada función de distribución de X es la función FX(x), que asigna a cada evento definido sobre X una probabilidad dada por las siguientes tres condiciones: 7. REYES, DAZA y RONDON, Op. cit., p. 47-56.. 21.

(22) . lim(x)-∞ F(x) = 0 y Lim(x)-∞ F(x) = 1.. . Es continua por la derecha.. . Es monótona no decreciente.. La distribución de probabilidad de una variable aleatoria describe teóricamente la forma en que varían los resultados de un experimento aleatorio. Intuitivamente se trataría de una lista de los resultados posibles de un experimento con las probabilidades que se esperarían ver asociadas con cada resultado.8 Para poder realizar las simulaciones de las mesclaz asfálticas, se debe tener en cuenta 3 funciones de probabilidad, las cuales se mencionana a contunuacion: 3.1.6.1 Distribución Weibull. El modelo de Weibull describe el comportamiento de sistemas o eventos que tienen algún grado de variabilidad9. La función de la distribución de probabilidad de Weibull se puede escribir como se muestra en la figura 1. Figura 1. Función de probabilidad Weibull. Fuente. REDALYC. Evaluación poscosecha y estimación de vida útil de guayaba fresca utilizando el modelo de Weibull [en línea]. Bogotá: La empresa [citado 20 Noviembre, 2013]. Disponible en Internet: <URL: http://www.redalyc.org/articulo.oa?id=169920023010>. Con t igual o mayor a 0, siendo α igual o mayor a 0 el parámetro del modelo. 3.1.6.2 Distribución Ji Cuadrado. La distribución ji cuadrado o chi cuadrado, es una función de probabilidad que toma todas las muestras posibles de una población normal y a cada muestra le calcula la varianza, y a su vez se debe obtener la distribución muestral de las varianzas. Para estimar la varianza poblacional o la desviación estándar, se necesita conocer el estadístico. Si se elige una muestra de tamaño n de una población normal con varianza, el estadístico es:. 8. VELASQUEZ, Sergio y VELASQUEZ, Ronny. Modelado con variables aleatorias en simulink utilizando simulación montercarlo. uct [online]. 2012, vol.16, n.64, pp. 203-211. ISSN 1316-4821. 9 CORZO, Otoniel y BRACHO, Nelson. Aplicación del modelo de weibull normalizado en la deshidratación osmótica de láminas de sardina. Rev. Cient. (Maracaibo) [online]. 2009, vol.19, n.4, pp. 400-407. ISSN 07982259.. 22.

(23) Figura 2. Función de probabilidad Ji Cuadrado. Fuente. SCIELO. Factores relacionados con el diagnóstico de la tuberculosis mediante la prueba Chi-cuadrado para Bogotá (Colombia) [en línea]. Bogotá: La empresa [citado 20 Noviembre, 2013]. Disponible en Internet: <URL: http://scielo.sld.cu/scielo.php?pid=S1815-59362012000200003&script=sci_arttext>. Donde: Fij: Frecuencias observadas Fij: Frecuencia esperada Esta fórmula implica la distancia al cuadrado (euclidiana) entre las frecuencias observadas y las esperadas, por lo cual la fórmula registra qué tan "distante" está lo observado de lo esperado bajo la hipótesis de independencia. 10 3.1.6.3 Distribución Beta. aleatorias, está dada por:. La función de probabilidad Beta para variables. Figura 3. Función de probabilidad Beta. Fuente. SLIDESHARE. Distribución de probabilidad para Gama y Beta [en línea]. Bolivia: Víctor Hugo [citado 20 Noviembre, 2013]. Disponible en Internet: <URL: http://www.slideshare.net/victorhugo2425/distribucin-beta-y-gaamma>. Para valores enteros de α y β está relacionada con la función de probabilidad Binomial. Cuando y=p, se puede demostrar que: Figura 4. Función de probabilidad Binomial. Fuente. SLIDESHARE. Distribución de probabilidad para Gama y Beta [en línea]. Bolivia: Víctor Hugo [citado 20 Noviembre, 2013]. Disponible en Internet: <URL: http://www.slideshare.net/victorhugo2425/distribucin-beta-y-gaamma>. En donde 0< p < 1 y n = α + β – 1. El valor esperado y la varianza de una variable aleatoria con la función de probabilidad Beta son:. 10. PANTOJA-ROJAS, Liliana María y ROA-VARGAS, Edna Margarita. Factores relacionados con el diagnóstico de la tuberculosis mediante la prueba Chi-cuadrado para Bogotá (Colombia). Ing. Ind. [online]. 2012, vol.33, n.2, pp. 112-125. ISSN 1815-5936.. 23.

(24) Figura 5. Formula valor esperado y varianza. Fuente. SLIDESHARE. Distribución de probabilidad para Gama y Beta [en línea]. Bolivia: Víctor Hugo [citado 20 Noviembre, 2013]. Disponible en Internet: <URL: http://www.slideshare.net/victorhugo2425/distribucin-beta-y-gaamma>. 3.2.. MARCO TEORICO. 3.2.1 Aplicaciones Web. Roger Pressman (2010), en su libro La Ingeniería del Software, Un enfoque Práctico, menciona que las aplicaciones web, son poco más que un conjunto de archivos de hipertexto vinculados que presentan información con uso de texto y gráficas limitadas pero la reciente evolución de la web, el aumento de HTML por medio de herramientas de desarrollo permitió la apertura hacia nuevas áreas de conocimiento en el campo de la ingeniería de la web, dando paso a los nuevos sistemas y aplicaciones basados en la web, denominándolas webapps. 11 Actualmente las aplicaciones web generan dinámicamente una serie de páginas en un formato estándar, como HTML o XHTML, soportados por los navegadores web comunes. Según Pressman (2010), la mayoría de las aplicaciones web presentan los siguientes atributos: . Uso intensivo de redes. Una webapp reside en una red y debe atender las necesidades de una comunidad clientes (usuarios).. . Concurrencia. A la webapp puede acceder un gran número de usuarios a la vez.. . Carga impredecible. El número de usuarios de la webapp puede cambiar de magnitud de un dia para otro.. . Rendimiento. Un usuario no debe esperar demasiado por la ejecución de una webapp.. . Disponibilidad. Aunque no es razonable esperar una disponibilidad de 100%, es común que los usuarios de la webapp demanden acceso de 24 horas los 365 días del año.. 11. PRESSMAN, Roger S.Ingenieria Del Software un enfoque practico.Mc Graw Hill. 2005, Ed.5, pp. 521-541. ISBN: 84-481-3214-9.. 24.

(25) . Orientadas a los datos. La función principal de muchas webapps es el uso de hipermedios para presentar al usuario el contenido.. . Contenido sensible. La calidad y naturaleza de la estética del contenido constituye un rasgo importante de la calidad de una webapp.. . Evolución continúa. Es común ver como algunas webapps se actualizan minuto a minuto o que su contenido se calcule en cada solicitud.. . Seguridad. Para proteger el contenido sensible y brindar modos seguros de transmisión de datos, se deben implementar estrictas medidas de seguridad a través de estructuras de apoyo aplicadas a las webapps.. . Estética. El diseño de la apariencia y la percepción de una webapp es parte fundamental de su éxito. 12. En general una aplicación web es la integración de un conjunto de páginas, con varios recursos en un servidor web en este caso especifico Apache. Adicionalmente se podrá realizar consultas a la base de datos, registrar e ingresar información y solicitudes en tiempo real. Estas bases de datos se encuentran formadas por tablas, las cuales contienen filas y columnas donde se encuentran los registros y contenido que previamente ha sido cargado por medio de los formularios que conforman la aplicación web. Figura 6. Ejemplo Aplicación Web. Fuente. EVOIT. Aplicaciones web [en línea]. Córdoba, Argentina: La empresa [citado 22 Noviembre, 2013]. Disponible en Internet: <URL: http://evoit.com/aplicaciones-web.php> 12. PRESSMAN, Roger S.Ingeniería del Software un enfoque practico.Mc Graw Hill. 2005, Ed.5, pp. 521-541. ISBN: 84-481-3214-9.. 25.

(26) 3.2.2. Front-End. En diseño de software el front-end es la parte que interactúa con el o los usuarios. De una manera práctica, el front-end es todos esos formularios que gestionan el ingreso por medio de los navegadores a los sitios y aplicaciones web. De esa manera el back-end es la parte que procesa la entrada de datos realizado por los usuarios desde el front-end es decir, son los procesos que efectúan los respectivos sistemas para resolver las peticiones de los usuarios. De esta manera en manera conjunta el front-end y el back-end interactúan en un sistema web o software para resolver las necesidades de los usuarios. La idea de esta abstracción es mantener separadas las diferentes partes de un sistema web o software con el fin de tener un mejor control. En pocas palabras el objetivo es que el front-end recolecte los datos y el back-end los procese. Figura 7. Estructura Básica FRONT- END. Fuente. BASESDATOS2011. Front End – Back End [en línea]. No cita: La empresa [citado 22 Noviembre, 2013]. Disponible en Internet: <URL:http://basesdatos2011.wikispaces.com/FRONT+END+%E2%80%93+BACK+END>. Lo que realmente se hace al distribuir o diferenciar el fron end del back end en una aplicación web, es que se almacena en una base de datos el contenido ingresado por el usuario previamente el cual es ingresado a través de los formularios. Las aplicaciones que se desarrollan a partir de de estos contenidos son llamadas dinámicas, lo cual no indica que tengan animación, si no que las paginas dinámicas de una aplicación web se generan a partir de una consulta que se realiza por parte del cliente desde su máquina a un servidor web permitiendo a el usuario visualizar su solicitud.. 26.

(27) 3.2.3. Servicio Web. El servicio Web, o simplemente Web, se puede definir como un desarrollado sistema de acceso a diferente información distribuida en toda la red internet en forma de documentos de hipertexto, este servicio surgió en 1990 en el CERN (Centre Européen de Recherche Nucléaire) con el objetivo de facilitar la distribución de información entre equipos investigadores geográficamente dispersos. Se buscaba que los recursos disponibles en formato electrónico fuesen accesibles para cada investigador desde su propia terminal de forma clara y simple, posibilitando el salto entre elementos de información conexos. En definitiva, se trataba de integrar todos los recursos existentes en una red hipertextual.13 Se podría decir que un hipertexto es un documento multimedia, integrado bajo una plataforma informática que incorporan relaciones estructurales entre documentos o recursos. Algunas de las características destacadas de los hipertextos son: . Almacenamiento de un gran volumen de información.. . Facilidad de acceso y consulta.. . Presentación de una forma más agradable.. . Uso de todas las tecnologías de la información.. . Permiten una “navegación” individualizada.. . Estructuración multidimensional.. . Multiplataforma.. . Dinamismo e interactividad. En términos generales el concepto de servidor web se sitúa en el año de 1990, pero es en 1991 cuando se abre a internet con el primer navegador web Mosaic. 3.2.4. Lenguaje de programación PHP. PHP es un lenguaje de programación interpretado, diseñado para la elaboración de páginas dinámicas, de uso general y enfocado al desarrollo web. Esto se debe a múltiples factores, entre los cuales podemos citar los siguientes: 13. COBO, Ángel; GOMEZ, Patricia; PEREZ, Daniel and ROCHA, Roció. PHP y MySQL Tecnologías para el desarrollo de aplicaciones web .Ediciones Díaz de Santos. [online]. 2005, pp. 4. ISBN: 84-7978-706-6.. 27.

(28) . Es un lenguaje de código abierto.. . Puede ser incrustado en HTML.. . Es un lenguaje multiplataforma.. Originalmente diseñado por el programador danés-canadiense Rasmus Lerdorf, en el año 1994 en base a la escritura de un grupo de CGI binarios escritos en el lenguaje C. En un comienzo, PHP sólo estaba compuesto por algunas macros que permitían trabajar más fácilmente en la creación de páginas web. En el año de 1995 Rasmus Lerdorf le añadió el analizador sintáctico y se llamó PHP/F1 Versión 2, sólo reconocía texto HTML y algunas directivas de mySQL. Después de esta fecha la contribución de código es pública.. 28.

(29) 4.. METODOLOGIA PROPUESTA. 4.1 PSP (PERSONAL SOFTWARE PROCESS) El PSP entrega a los ingenieros un marco de referencia de disciplina personal para mejorar su trabajo y realizarlo con alta calidad14, con el propósito de ayudarlos a aprender y practicar aquellos métodos para producir software que son más efectivos para ellos15. Entendiendo como principio fundamental que con un proceso de calidad los productos derivados de éste serán también de calidad16. El PSP consiste en un conjunto de métodos, formularios y guías (scripts) que muestran a los desarrolladores de software, la forma de planificar, medir y administrar su trabajo. Está diseñado para ser usado con cualquier lenguaje de programación o metodología de diseño y puede ser utilizado en muchos aspectos del desarrollo de software17. Cuando los datos históricos del PSP son recolectados y mantenidos el desarrollador será capaz de comprender en qué gasta su tiempo, dónde y por qué introduce defectos y cuánto le toma encontrarlos, corregirlos y prevenirlos. Se debe tener presente que el PSP no resuelve los problemas que tienen los estudiantes y profesionales en el desarrollo de software, pero los puede ayudar y guiar bastante en el establecimiento de una práctica disciplinada que puede ser analizada y mejorada18. El desarrollo de PSP está basado en parte en los principios de manejo de calidad de W. Edwards Deming y Joseph M. Juran cuyos objetivos son los de analizar y mejorar el trabajo personal19. Después del desarrollo del CMM, Watts S. Humphrey decidió aplicar estos principios para escribir pequeños programas, debido en parte a que mucha gente preguntaba cómo aplicarlo a organizaciones pequeñas o a trabajo de equipos pequeños, comprobando entonces que los principios de Deming y Juran eran totalmente aplicables al trabajo de los ingenieros de software de manera individual como en equipo20.. 14. HUMPHREY. W.S., "The Personal Software Process (PSP)". Technical Report. The Software Engineering Institute. 2000, disponible en: http://www.algo.ago.j/kjfñlj.pdf 15 HUMPHREY. W.S., "Why Should You Use A Personal Software Process?". Software Engineering Notes. Vol. 20, Issue 3, pp. 33-36. 1995. 16 HUMPHREY, Op. cit., p. 25. 17 Ibid, p. 30. 18 HILBURN. T.B., "PSP Metrics in Support of Software Engineering Education". Proceedings of the 12th Conference on Software Engineering Education and Training, pp. 135-136. 1999. 19 HUMPHREY. W.S., "The Personal Software Process: Status and Trends". IEEE Software. Vol. 17, Issue 6, pp. 71-75. 2000. 20 Ibid, p.3.. 29.

(30) El PSP amplía el proceso de mejora a la gente que realiza el trabajo de desarrollo de software, concentrándose en las prácticas de trabajo de los ingenieros en una forma individual, enseñando como manejar la calidad desde el principio de un producto. PSP son métricas, que permiten estructurar y ordenar la aplicación. El resultado del trabajo, además puede ser llevado a un equipo TSP (Team Process Software), el cual es “comandado” por un sistema de gestión de la configuración y por supuesto, un Jefe de Proyecto quien evalúa los resultados y avances de los miembros del equipo. El diseño del PSP se basa en los siguientes principios de planeación y de calidad21 : . Cada ingeniero es esencialmente diferente; para ser más precisos, los ingenieros deben planificar su trabajo y basar sus planes en sus propios datos personales.. . Para mejorar constantemente su desempeño, los ingenieros deben utilizar personalmente procesos bien definidos y medidos.. . Para desarrollar productos de calidad, los ingenieros deben sentirse personalmente comprometidos con la calidad de sus productos.. . Cuesta menos encontrar y arreglar errores en la etapa inicial del proyecto que encontrarlos en las etapas subsecuentes.. . Es más eficiente prevenir defectos que encontrarlos y arreglarlos.. . La manera correcta de hacer las cosas es siempre la manera más rápida y más barata de hacer un trabajo.. La estructura del PSP comienza a partir de una declaración de los requisitos, luego el primer paso del proceso es el de planificación22, en donde se genera a partir de la respectiva guía, el método de trabajo y el plan para el registro de datos. El PSP es una versión pequeña de CMM donde se preocupa solo por un conjunto de las KPAs (Key Process Areas.. 21 22. HUMPHREY .W.S.., "A Discipline for Software Engineering". First Edition, Addison-Wesley. 1995. HUMPHREY, Op. cit., p. 37.. 30.

(31) Figura 8. Estructura de PSP. Fuente. JUANJO’S BLOG. PSP (Personal Software Process), un enfoque práctico [en línea]. No cita: La empresa [citado 22 Noviembre, 2013]. Disponible en Internet: <URL: http://jjegonzalezf.wordpress.com/2010/12/14/psp-personal-softwareprocess-un-enfoque-práctico >. La aplicación del modelo CMM en el desarrollo de software a veces ha sido problemática. La aplicación de varios modelos que no están integrados dentro y fuera de una organización puede ser costosa en el entrenamiento, evaluaciones y actividades de mejora. El Capability Maturity Model Integration (CMMI) del proyecto se creó para resolver el problema de la utilización de varios modelos para los procesos de desarrollo de software, por lo que el modelo CMMI ha sustituido el modelo CMM, aunque el modelo CMM sigue siendo un modelo de capacidad de proceso teórico general que se utiliza en el dominio público.. 31.

(32) 5.. DISEÑO MODULO WEB FRON END PARA EL DESARROLLO DE SIMULACION. 5.1. MODELO DE INTERACCIÓN CON USUARIO Inicialmente se cuenta con el siguiente diagrama de casos de uso, elaborado a partir de la identificación de los requerimientos funcionales identficados con ayuda de los stake holders. Figura 9. Diagrama Casos de Uso. Fuente. Los Autores. 32.

(33) 5.1.1. Detalle de Casos de Uso. Después de identificar los procesos en el diagrama de caso de uso, se requiere realizar un detalle más específico de los mismos en el cual se pueda identificar los actores involucrados, el flujo natural que debe seguir casos de uso, la relación presente con los otros casos de uso, entre otros, los cuales se lista a continuación: . Listar Perfil. . Crear Perfil. . Editar Perfil. . Eliminar Perfil. . Listar Usuario. . Crear Usuario. . Editar Usuario. . Eliminar Usuario. . Configurar parámetros. . Validar datos a simular. . Generar simulación. . Ejecutar simulación. . Generar informe simulación. . Graficar simulación. . Guardar simulación. A continuación se pone como ejemplo el caso de uso “Listar perfil” para entender un poco más a fondo la estructura de los mismo. Para consultar los demás detalles de casos de uso diríjase al Anexo B.. 33.

(34) Tabla 1. Caso de uso “Listar perfil”. Fuente. Los autores. 5.2. ESPECIFICACION DE REQUERIMIENTOS FUNCIONALES Son las especificaciones funcionales del sistema donde se describe detalladamente las funciones servicios y restricciones operativas del sistema que se va a implementar, a continuación se muestra la lista de los requerimientos asociados. . Modificar Usuario. . Crear Usuario. . Gestionar Permisos de Usuario. . Consultar Usuarios. . Eliminar Usuario. . Cargar y editar datos. 34.

(35) . Validar datos. . Almacenar datos. . Ejecutar simulación. . Generar informe. . Graficar simulación. La Tabla 2 presenta el requerimiento de Modificar usuarios, para ver todos los requerimientos asociados al diseño del módulo web fron end para el desarrollo de simulación a partir de weibull, ji cuadrado y beta, diríjase al Anexo A. Tabla 2. Requerimiento funcional Modificar usuarios. Fuente. Los autores. 5.3. ESPECIFICACION DE REQUERIMIENTOS NO FUNCIONALES En la identificacion de los requerimientos no funcionales o atributos de calidad, se basan en la evaluación de la operación del sistema, en este caso la usabilidad y. 35.

(36) confiabilidad como se evidencia en las siguientes imágenes de los árboles de calidad de cada atributo. Figura 10. Árbol de utilidad atributo de usabilidad. Fuente. Los autores. Figura 11. Árbol de utilidad atributo de confiabilidad. Fuente. Los autores. El aplicativo debe suministrar de una manera fácil y predictiva la información de las simulaciones realizadas por los usuarios. Adicionalmente la información generada por el mismo debe ser de total confiabilidad, ya que a partir de la misma se tomarán una serie de decisiones. En las métricas de usabilidad y confiabilidad, 36.

(37) se detallan las métricas o acciones que ejecuta el programa y valor de respuesta esperado en cada una de ellas. Tabla 3. Métricas de usabilidad y confiabilidad ATRIBUTO MÉTRICA. USABILIDAD. CONFIABILIDAD. % Esperado de ingreso de usuarios sin discapacidad visual Tiempo en recordar la estructura del sitio. # en segundos que tarda el usuario en dibujar un mapa mental del sitio Tiempo máximo en segundos para la realización de una simulación % Esperado de ingreso de usuarios sin discapacidad visual # Máximo de clics para poder realizar una simulación % De simulaciones correctamente realizadas % De replicas correctamente realizadas % De hipervínculos rotos. VALOR ESPERADO 100% 10 seg.. 0.01 seg. 100% 10 98% 98% 0%. Fuente. Los Autores. 5.4. ARQUITECTURA MODULO WEB FRONT-END La aplicación fue desarrollada con el patron de arquitectura MVC, el cual permite distribuir la aplicacion en tres componentes, el primer componente llamado Modelo contiene las reglas del negocio, en términos generales es donde se encuentran todos los datos almacenados. Un segundo componente llamado vista el cual es el que interactua con los usuarios permitiendo capturar y representar la información y solicitudes de los misimos por ultimo y no me nos importante encontramos el componente controlador, como su nombre lo indica se encarga de controlar el flujo de peticiones y respuestas que se generan entre los otros dos componentes permitiendo que la aplicación sea mas escalable y mantenible, facilitando la manipulación de cada uno de los componentes sin afectar al otro. A continuación, se presenta el esquema de componentes MVC del modulo modulo web front-end para el desarrollo de simulación a partir de weibull, ji cuadrado y beta.. 37.

(38) Figura 12. Esquema de componentes MVC. Fuente. Los autores. El componente modelo está conformado por el motor de base datos PostgreSQL, donde se almacenara todos los datos ingresados al sistema, en la parte de vista es una serie de desarrllo en lenguaje PHP que herada las caracterisiticas de una plantilla que cumple con los estándares de la W3C de HTML5 y CSS3, por ultimo en el componente controlador es proporcionado un framework que maneja archivos XML donde se especifican el flujo de control de todos los componentes de la aplicación.. 38.

(39) Figura 13. Diagrama de componentes. Fuente. Los autores. 5.5. MODELO ESTATICO DEL SISTEMA Es la vista arquitectónica del sistema, donde se describen las caracterisiticas de los objetos que interactúan y las posibles relaciones que se pueden dar entre ellos. El diagrama que se presenta, intenta representar los elementos de información del sistema que permiten definir el Modelo Entidad-Relación, apreciando los objetos más relevantes y las funciones o metodoas a realizar dentro del contexto de la aplicación.. 39.

(40) Figura 14. Diagrama de clases. Fuente. Los autores. 5.6 MODELO DINÁMICO DEL SISTEMA Los diagramas de secuencia proporcionan el segumiento de un caso de uso, es decir muestra en forma grafica un escenario en particular del sistema, enfatizandoce en la ejecución del conjunto de objetos a través del tiempo. La siguiente figura, presenta la secuencia del logueo en la aplicación. Figura 15. Diagrama de secuencia. Fuente. Los autores. 40.

(41) 6. MODULO WEB FRONT END PARA EL DESARROLLO DE LA SIMULACION El programa desarrollado brinda la posibilidad de realizar simulaciones con diferentes distribuciones de probabilidad (en este momento solo con Weibull, Ji cuadrado y Beta, pero el programa quedará abierto para futuras distribuciones que se deseen configurar). El objetivo es que estas simulaciones nos permitan determinar el comportamiento de sistemas reales y complejos a través de largos periodos. Como anteriormente ya se ha mencionado, el aplicativo trabaja con el algoritmo Monte Carlo para generar números aleatorios, dichos números son utilizados para generar x números de simulaciones de acuerdo a lo que el usuario lo considere conveniente. Estas simulaciones dependen de la distribución seleccionada, puesto que los números generados serán utilizados en las fórmulas que componen las simulaciones. Para lograr resultados más acertados el programa permite hacer replicas, que consiste en repetir x veces las simulaciones realizadas. 6.1. ADMINISTRACIÓN DE PERFILES Y USUARIOS El programa cuenta con dos perfiles inicialmente (Administrador e Investigador), pero permite crear más perfiles de ser necesario. Figura 16. Lista de perfiles. Fuente. Los autores. 41.

(42) Al igual que los perfiles, los usuarios tampoco tienen limite y pueden ser creados tantos se consideren. Estos usuarios deben quedar atados a un perfil. Figura 17. Lista de usuarios. Fuente. Los autores. Tanto perfiles como usuarios pueden ser inactivados en cualquier momento. 6.2. CONFIGURACIÓN GENERAL Es necesario tener cierto control en algunas características o funcionalidades que ofrece la aplicación como el número de simulaciones o el número de réplicas, por ello se crea una opción en la aplicación a la cual solo tiene acceso el administrador en la cual puede hacer las configuraciones pertinentes, como se puede ver en la siguiente figura.. 42.

(43) Figura 18. Configuración general. Fuente. Los autores. 6.3. PROCESO DE SIMULACIÓN Luego de tener la configuración realizada, se puede proceder a realizar simulaciones. Para esto es necesario saber que distribución se va a utilizar y digitar ciertos valores que dependiendo de la distribución seleccionada. Figura 19. Proceso de simulación. Fuente. Los autores. 43.

(44) Como se observa en la Figura 19, además de digitar los valores de acuerdo a la distribución, se deben digitar cuantas simulación y replicas requiere la simulación. Internamente el programa valido que los valores aquí digitados sean acordes los valores configurados previamente. Luego de realizada la simulación, el programa genera un consecutivo para poder consultar los resultados de dicha simulación en cualquier momento. 6.4. CONSULTA DE RESULTADOS En esta opción se pueden consultar las simulaciones realizadas. Con los consecutivos generados al momento de realizar la simulación, se pueden consultar dichos resultados. Es de aclarar que solo se pueden consultar las simulaciones realizadas por el usuario que en ese momento se encuentre en el sistema, es decir, no se pueden consultar simulaciones realizadas por otros usuarios. Internamente las simulaciones quedan atadas a un usuario, esto con el fin de tener un control de las simulaciones realizadas y seguridad de la información. Figura 20. Resultados y gráficas. Fuente. Los autores. 44.

(45) Como se observa en la figura x, los resultados que nos arroja la simulación es una serie de datos estadísticos que permiten determinar si el proceso realizado es factible o no y adicionalmente grafica los resultados generados de las réplicas que nos permite una lectura mucho más clara de la simulación. 6.5. INGRESO AL APLICATIVO Con el cliente se definió que cualquier persona puede realizar simulaciones, pero estas simulaciones solo serán temporales. Es posible guardar dichas simulaciones, pero es necesario estar registrado en el sistema y tener un usuario y un password para acceder al aplicativo y así poder guardar y consultar las simulaciones realizadas. Figura 21. Ingreso al sistema. Fuente. Los autores. 45.

(46) CONCLUSIONES El proyecto se centra en el desarrollo de una herramienta web mediante el proceso de la metodología PSP, para la simulación con el algoritmo de optimización Montecarlo basado en las funciones de probabilidad Weibull, Ji cuadrado y Beta, las cuales se fundamentan en buscar el valor óptimo en cada iteración a partir de la generación de números pseudaleatorios. Se puede evidenciar que en cuanto a usabilidad, la aplicación brinda facilidad de interacción entre el usuario y la interfaz gráfica. Respecto a accesibilidad permite el ingreso a la aplicación independientemente del hardware o software utilizado por el usuario, solo es necesario contar con una conexión a internet y un navegador Web. Finalmente, la disponibilidad de la herramienta es 24/7, el grado de inactividad es realmente bajo (alrededor del 5%), que se puede presentar en caídas del servidor, falla en la conexión de Internet, entre otros aspectos externos al aplicativo. Durante la implementación se presentó un cambio, ya que en un principio se propuso trabajar con el gestor de Base de datos MySQL por su integración con apache y PHP para la realización de aplicaciones web y su contenido dinámico, pero después de realizar pruebas de simulación con más de 10000 registros y 10 réplicas de la misma, su rendimiento y velocidad al arrojar los resultados no fue la esperada, por lo tanto se optó por implementar un gestor de base de datos más potente como lo es PostgreSQL mejorando la velocidad de respuesta y el número de accesos concurrentes en más de un 50%. Por ultimo con la utilización de la aplicación propuesta se obtienen beneficios de carácter investigativo permitiendo asociar los indicadores basados en las métricas de calidad ya mencionadas para representar el grado de satisfacción de usuario. Cabe destacar que por tratarse de un módulo la funcionalidad de la aplicación puede que no sea completa. Muchas ampliaciones quedan fuera del alcance por razones de tiempo, permitiendo que nuevos investigadores realicen mejoras e implementen nuevos módulos extendiendo el campo de acción de la aplicación.. 46.

(47) BIBLIOGRAFIA AFANASJEVA, Natalia y ALVAREZ CIFUENTES, Mario. Estudio del envejecimiento de los asfaltos colombianos bajo la acción de algunos factores climáticos. Bucaramanga: Editorial y publicaciones UIS universidad Industrial de Santander, 2004.p.15. BARRERA R., Mauricio, TREJOS CARPINTERO, Álvaro, CARVAJAL OLAYA, Patricia. Integración Montecarlo Scientia Et Technica [en línea] 2006, XII (Diciembre-Sin mes): [Fecha de consulta: 10 de octubre de 2013] Disponible en:<http://www.redalyc.org/articulo.oa?id=84911652058> ISSN 0122-1701. BUOT RICO, Guillermo, HENRÍQUEZ MARTÍNEZ, Freddy, BAESLER ABUFARDE, Felipe, RAMÍREZ MONÁRDEZ, Milton. Optimización en simulación vía inteligencia artificial: Aplicación a un problema de manejo de materiales.Theoria [en linea] 2001, Fecha de consulta: 22 de octubre de 2013] Disponible en:<http://www.redalyc.org/articulo.oa?id=29901003> ISSN 0717-196X. CORZO, Otoniel y BRACHO, Nelson. Aplicación del modelo de weibull normalizado en la deshidratación osmótica de láminas de sardina. Rev. Cient. (Maracaibo) [online]. 2009, vol.19, n.4, pp. 400-407. ISSN 0798-2259. DALY, William H, NEGULESCU, Ioan I, MOHAMMAD, Louay N, and CHIPARUS, Ionela. The Use of DMA to Characterize the Aging of Asphalt Binders p.25. HILBURN. T.B., "PSP Metrics in Support of Software Engineering Education". Proceedings of the 12th Conference on Software Engineering Education and Training, pp. 135-136. 1999. HUMPHREY .W.S.., "A Discipline for Software Engineering". First Edition, Addison-Wesley. 1995. -------- .W.S.., "Why Should You Use A Personal Software Process?". Software Engineering Notes. Vol. 20, Issue 3, pp. 33-36. 1995. -------- .W.S.., "The Personal Software Process: Status and Trends". IEEE Software. Vol. 17, Issue 6, pp. 71-75. 2000. -------- .W.S.., "The Personal Software Process (PSP)". Technical Report. The Software Engineering Institute. 2000. MONTEJO, A. Ingeniería de Pavimentos para Carreteras. Universidad Católica de Colombia. Bogotá D.C., 2002, p. 733.. 47.

(48) MORENO, Luis, MARTÍNEZ, Mario, GUERREO, maría, “estudio mecánico y físicoquímico del asfalto modificado con desecho de caucho y cuero mediante análisis experimental y métodos computacionales de búsqueda.” Universidad Católica de Colombia. Bogotá D.C., 2013. REYES, Fredy Alberto, DAZA, Carlos Enrique y RONDON, Hugo Alexander. Determinación de las fracciones sara de asfaltos colombianos envejecidos al medio ambiente empleando cromatografía líquida en columna. En: Revista EIA. Julio 2012, ISSN 1794-1237 Número 17, p. 47-56. SOLOMONIDOU, Christina, STAVRIDOU, Heleni. Education and Information Technologies. 6 ed. Países Bajos, 2001.p.5-27. VELASQUEZ-HENAO, Juan; PULGARIN-AGUDELO, Yeiny and CASTANOARIAS, Eliana. Optimización de Monte Carlo usando la distribución beta. Ing. Univ. [online]. 2011, vol.15, n.1, pp. 61-76. ISSN 0123-2126.. 48.

(49) ANEXO A. ESPECIFICACION REQUERIMIENTOS FUNCIONALES Tabla 4. Requerimiento funcional “Crear usuarios” IDENTIFICADOR: NOMBRE: RF1.1 PRIORIDAD DE DESARROLLO:. Crear Usuarios DOCUMENTOS DE VISUALIZACIÓN ASOCIADOS: N/A. Alta ENTRADA:. SALIDA:. Datos del Usuario.. Usuario con acceso a la aplicación.. DESCRIPCIÓN: Precondición: Formulario de ingreso de Datos. Descripción: El usuario administrador de la aplicación tendrá la opción de administrar los usuarios, permitiéndole crear usuarios. Poscondición: los datos serán almacenados en la Base de Datos. MANEJO DE SITUACIONES ANORMALES: Los campos son obligatorios y no debe haber usuarios repetidos. Fuente. Los autores. 49.

(50) Tabla 5. Requerimiento funcional “Gestionar permisos de usuario” IDENTIFICADOR: NOMBRE: RF1.1.1. Gestionar permisos de usuario. PRIORIDAD DE DESARROLLO:. DOCUMENTOS DE VISUALIZACIÓN ASOCIADOS: N/A. Alta ENTRADA:. SALIDA:. Identificacion del usuario.. Validacion por pantalla del rol y permisos asignados.. DESCRIPCIÓN: Precondición: Formulario de ingreso de Datos. Descripción: El usuario administrador de la aplicación en el momento de ingresar los datos, a su vez podrá dar el rol y los perimiso de cada uno de los usuarios listados en pantalla. Poscondición: Rol y permisos de usuario asignados. MANEJO DE SITUACIONES ANORMALES: Solo el usuario administrador tendrá habilitada la opción de asignar roles a los distintos usuarios de la aplicación. Fuente. Los autores. 50.

(51) Tabla 6. Requerimiento funcional “Consultar usuarios” IDENTIFICADOR: NOMBRE: RF1.2 PRIORIDAD DE DESARROLLO:. Consultar Usuarios DOCUMENTOS DE VISUALIZACIÓN ASOCIADOS: N/A. Alta ENTRADA:. SALIDA:. Lista los usuarios y su rol correspondiente. Muestra el nombre de usuario y rol de c/u. DESCRIPCIÓN: Precondición:. Descripción: El usuario administrador podrá consultar todos los usuarios que estén activos. Poscondición: MANEJO DE SITUACIONES ANORMALES: Solo los usuarios registrados tendrán habilitada la opción de ver en pantalla la lista de usuarios registrados. Fuente. Los autores. 51.

(52) Tabla 7. Requerimiento funcional “Eliminar usuarios” IDENTIFICADOR: NOMBRE: RF1.3 PRIORIDAD DE DESARROLLO:. Eliminar Usuarios DOCUMENTOS DE VISUALIZACIÓN ASOCIADOS: N/A. Alta ENTRADA:. SALIDA:. Identificacion del usuario a eliminar.. Validacion por pantalla del usuario a eliminar.. DESCRIPCIÓN: Precondición: lista de usuarios de la aplicación. Descripción: El usuario administrador podrá listar los usuarios en pantalla, para proceder a eliminar el seleccionado. Poscondición: El usuario seleccionado será eliminado de la base de Datos. MANEJO DE SITUACIONES ANORMALES: El usuario eliminado no puede almacenar datos de la simulación generada. Fuente. Los autores. 52.

(53) Tabla 8. Requerimiento funcional “Cargar y editar datos” IDENTIFICADOR: NOMBRE: RF2 PRIORIDAD DE DESARROLLO:. Cargar y editar datos DOCUMENTOS DE VISUALIZACIÓN ASOCIADOS: N/A. Alta ENTRADA:. SALIDA:. Seleccionar variables tipo de modificado e ingresar cantidad en porcentaje.. Muestra en pantalla la parametrizacion del asfalto.. DESCRIPCIÓN: Precondición: ingreso a la URL de la aplicación web Descripción: Es el proceso mediante el modulo realiza el cargue o edicion de los datos por medio de un formulario. Poscondición: Genera resultados y según el perfil de usuario permite almacenarlos en la BD MANEJO DE SITUACIONES ANORMALES:. Fuente. Los autores. 53.

(54) Tabla 9. Requerimiento funcional “Validar datos” IDENTIFICADOR: NOMBRE: RF2.1 PRIORIDAD DE DESARROLLO:. Validar Datos DOCUMENTOS DE VISUALIZACIÓN ASOCIADOS: N/A. Alta ENTRADA:. SALIDA:. cantidad de aditivo A cantidad de aditivo B número de repeticiones deseadas para la simulación. Ingresa y valida los datos. DESCRIPCIÓN: Precondición: Los datos ingresados deben ser según la estructura del campo. Descripción: El sistema verifica el tipo de dato digitado. Poscondición: La aplicación Inicia la simulación. MANEJO DE SITUACIONES ANORMALES: Si los datos ingresados son incorrectos se informará al usuario con un mensaje de error por pantalla. Fuente. Los autores. 54.

(55) Tabla 10. Requerimiento funcional “Ejecutar simulación” IDENTIFICADOR: NOMBRE: RF2.2 PRIORIDAD DE DESARROLLO:. Ejecutar Simulación DOCUMENTOS DE VISUALIZACIÓN ASOCIADOS: N/A. Alta ENTRADA:. SALIDA:. Después validar los datos ingresados Inicia el proceso interno de simulación.. Genera resultados estadísticos de la estructura química interna del asfalto con los aditivos. DESCRIPCIÓN: Precondición: Validación de los datos ingresados por el usuario investigador. Descripción: La aplicación realiza el proceso de simulación con el método de Monte Carlo Poscondición: Genera resultados estadísticos de los aditivos analizados MANEJO DE SITUACIONES ANORMALES: El número de repeticiones de la simulación sea muy alto y la capacidad de hardware no la soporte, bloqueando así La aplicación. Fuente. Los autores. 55.

(56) Tabla 11. Requerimiento funcional “Generar informe” IDENTIFICADOR: NOMBRE: RF2.2.1 PRIORIDAD DE DESARROLLO:. Generar informe DOCUMENTOS DE VISUALIZACIÓN ASOCIADOS: N/A. Alta ENTRADA:. SALIDA:. Datos almacenados en la BD. Tabla de de resultados y gráficos generados DESCRIPCIÓN:. Precondición: Ejecutar simulación. Descripción: La aplicación genera un reporte con las variables resultado. Poscondición: entrega el reporte mediante un medio de visualización. MANEJO DE SITUACIONES ANORMALES:. Fuente. Los autores. 56.

(57) Tabla 12. Requerimiento funcional “Graficar simulación” IDENTIFICADOR: NOMBRE: RF2.2.2 PRIORIDAD DE DESARROLLO:. Graficar Simulación DOCUMENTOS DE VISUALIZACIÓN ASOCIADOS: N/A. Alta ENTRADA:. SALIDA:. Resultado del promedio, la media muestral y de la desviación estándar.. Visualiza los datos estadísticos gráficamente.. DESCRIPCIÓN: Precondición: debe haber terminado el análisis estadístico de los resultados de la simulación Descripción: Genera una ventana mostrando los gráficos estadísticos. Poscondición: Obtención del grafico solicitado MANEJO DE SITUACIONES ANORMALES: Que los gráficos no muestren claramente la información solicitada de forma veras y concisa. Fuente. Los autores. 57.

(58) Tabla 13. Requerimiento funcional “Almacenar datos” IDENTIFICADOR: NOMBRE: RF2.3 PRIORIDAD DE DESARROLLO:. Almacenar Datos DOCUMENTOS DE VISUALIZACIÓN ASOCIADOS: N/A. Alta ENTRADA:. SALIDA:. Variables de resultado obtenidas. Almacenar datos generados después del análisis estadístico en la BD.. DESCRIPCIÓN: Precondición: debe haber terminado el análisis estadístico de los resultados de la simulación Descripción: Genera una ventana mostrando los gráficos estadísticos. Poscondición: Obtención del grafico solicitado MANEJO DE SITUACIONES ANORMALES: Que los datos almacenados no sean coherentes Que ocurra una desconexión entre la aplicación y el motor de BD, no almacenando así la información pertinente. Fuente. Los autores. 58.

(59) ANEXO B. ESPECIFICACION DETALLE CASOS DE USO Tabla 14. Caso de uso “Crear perfil”. Fuente. Los autores. 59.

(60) Tabla 15. Caso de uso “Editar perfil”. Fuente. Los autores. 60.

(61) Tabla 16. Caso de uso “Eliminar perfil”. Fuente. Los autores. 61.

(62) Tabla 17. Caso de uso “Listar usuario”. Fuente. Los autores. 62.

(63) Tabla 18. Caso de uso “Crear usuario”. Fuente. Los autores. 63.

(64) Tabla 19. Caso de uso “Editar usuarios”. Fuente. Los autores. 64.

(65) Tabla 20. Caso de uso “Eliminar usuario”. Fuente. Los autores. 65.

(66) Tabla 21. Caso de uso “Configurar parámetros”. Fuente. Los autores. 66.

(67) ANEXO C. ESPECIFICACION DIAGRAMAS DE SECUENCIA Figura 22. Diagrama de secuencia “Crear usuarios”. Fuente. Los autores. 67.

(68) Figura 23. Diagrama de secuencia “Editar usuarios”. Fuente. Los autores. 68.

(69) Figura 24. Diagrama de secuencia “Crear perfiles”. Fuente. Los autores. 69.

(70) Figura 25. Diagrama de secuencia “Editar perfiles”. Fuente. Los autores. 70.

Referencias

Documento similar

Una vez hecho esto, se realiza una espera, leyendo el registro de salida del coprocesador para el control de qué está haciendo el procesador en este momento, a la espera que nos

[r]

En el caso de realizar una análisis estructural dinámico lineal de un edificio en particular, se necesita disponer de la información correspondiente a las dimensiones en planta y

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

De acuerdo con Harold Bloom en The Anxiety of Influence (1973), el Libro de buen amor reescribe (y modifica) el Pamphihis, pero el Pamphilus era también una reescritura y

diabetes, chronic respiratory disease and cancer) targeted in the Global Action Plan on NCDs as well as other noncommunicable conditions of particular concern in the European

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

De hecho, este sometimiento periódico al voto, esta decisión periódica de los electores sobre la gestión ha sido uno de los componentes teóricos más interesantes de la