• No se han encontrado resultados

Sistema para la gestión de problemáticas en el CITMA Villa Clara

N/A
N/A
Protected

Academic year: 2020

Share "Sistema para la gestión de problemáticas en el CITMA Villa Clara"

Copied!
93
0
0

Texto completo

(1)Universidad Central “Marta Abreu” de las Villas. Facultad Matemática Física y Computación Ingeniería Informática. Trabajo de Diploma Para Optar Por El Título De Ingeniero Informático. Título: Sistema para la gestión de Problemáticas en el CITMA Villa Clara.. Autor: Elizabeth Herrera Martínez. Tutores: Lic. Joan García Noy. Ing. Danilo Rafael Lugo Cruz.. “Año 53 de la Revolución” Santa Clara-2011. I.

(2) DICTAMEN. Dictamen.. El que suscribe, constar que el trabajo titulado. , hago. fue realizado en la Universidad Central “Marta Abreu” de Las Villas como parte de la culminación de los estudios de la especialidad de , autorizando a que el mismo sea utilizado por la institución, para los fines que estime conveniente, tanto de forma parcial como total y que además no podrá ser presentado en eventos ni publicado sin la autorización de la Universidad.. Firma del autor. Los abajo firmantes, certificamos que el presente trabajo ha sido realizado según acuerdos de la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada.. Firma del tutor. Firma del jefe del Laboratorio Fecha. II.

(3) PENSAMIENTO. “No busques ser alguien de éxito sino busca ser alguien valioso: lo demás llegará naturalmente.” Albert Einstein. III.

(4) DEDICATORIA. A mis padres Odalys y Sergio, A mi abuela Maricela, A mi hermano Marcos, A la memoria de mi abuelo, y A mi amiga Tamara Porque sin ellos no hubiese logrado llegar hasta aquí.. IV.

(5) AGRADECIMIENTOS. A mi mamá Odalys, combinación de bondad y fortaleza, todas juntas conforman a la más comprensiva e invaluable de todas. Por una vida de dedicación total para mí, por ser amiga y consejera, por aguantar mis malcriadeces. Mamita sin tu ayuda no hubiese sido posible este sueño. Por tanto… por todo… no me alcanzaría la vida para agradecerte. A mi papá Sergio por todos los sacrificios que ha hecho para que este sueño se convierta en realidad. Por ser mi ejemplo a seguir y darme las fuerzas para seguir siempre adelante. Por sentirme orgullosa siempre de contar con un padre con las cualidades que tiene. Para mi mejor caballero… mil veces gracias, te quiero papi. A mi abuela Maricela, “mi leona del desierto”, no hay nada que no pueda lograr cuando se lo propone. Abuela gracias por darme ánimos, por tener la facilidad de sacar mi espíritu cuando se me agotan las fuerzas físicas. Por tus palabras fuertes pero sabias, te agradeceré siempre. A mi hermanito Marcos, yo sé que has hecho un gran esfuerzo para no preguntarme: ¿Tata te vas a quedar conmigo esta noche?, por todo tu cariño mi chiquitico más lindo… gracias. A la más incondicional y mejor de las amigas, Tamara, mi hermana y compañera de largo trecho andado. Por hacer tuyos mis problemas y alegrías también, por no medir esfuerzos nunca…siempre te agradeceré. A mi tío Arturo, mis primos Arturi y Marcos, y a Jany que aunque estén lejos siempre los llevo muy presentes. Arturi gracias por todos tus consejos que me han valido de mucho. A Yaniel por toda su comprensión en estos momentos. Por aprender junto y lejos de él tantas cosas, por sus consejos y sobre todo por el amor que de él he recibido. Por ser lo mejor que me ha pasado en la vida… gracias mio maledito. A mis amigas Thais, Geydi y Miladys, “mis camaroncitos duros”, amigas de tertulias, confidencias y desetrés, incondicionales siempre… las quiero mucho. A mi tío Rolando por ser tan preocupado, muchas gracias por tener tu mano siempre extendida para mí. A José David por todas las horas que le robé y por su dedicación. A mis compañeras Jessica, Ivis, Elismary y Zusel por toda su ayuda y colaboración. Siempre es bueno encontrar en la vida personas como Uds. A mis tutores Joan y Danilo por todo su apoyo, paciencia y horas dedicadas. A mi profesora Gheysa que siempre nos ha extendido su mano amiga y nos hablado fuerte cuando ha tenido que hacerlo, por su preocupación y ejemplo… gracias. A mis profesores de la universidad, excelentes todos, por las enseñanzas y experiencias adquiridas.. V.

(6) RESUMEN. Resumen En el mundo contemporáneo las nuevas tecnologías exigen el desarrollo de sistemas informatizados en cualquier ámbito de la sociedad, sobre todo en las empresas donde la gestión de problemáticas resulta de vital importancia pues se considera como un valioso instrumento para el control y mejoramiento continuo. Es por esto que profesionales de la tecnología han sumado esfuerzos para crear sistemas automatizados para la gestión de problemáticas, en todo el mundo.. La investigación surgió por la necesidad de contar con un sistema que permitiera gestionar las problemáticas en el CITMA Villa Clara para dar solución a las deficiencias existentes en las actividades que exigen esta labor en dicho centro. El presente trabajo propone un sistema automatizado para la gestión de problemáticas en el CITMA Villa Clara, contiene las etapas del desarrollo de la aplicación web implementada mediante la utilización del lenguaje para la programación de páginas web dinámicas PHP5 y la modelación a través de diagramas UML, se hizo uso de MySQL como gestor de la base de datos y Symfony como framework de desarrollo.. Palabras. claves:. problemática,. gestión. de. problemáticas,. sistema. automatizado.. VI.

(7) ABSTRACT. Abstract In modern world the new technologies demand the development of automatic systems at any branch of society, especially in enterprises where the management of problems is critical because it is considered as a valuable tool for continuous improvement and control. That is why technology professionals have worked shoulder to shoulder, to create automatic systems for the management of problems all over the world. The research came up because of the need of having a system that allows to manage the problems at the CITMA in Villa Clara in order to solve the prevailing deficiencies in the activities that demand this work at this center. This paper proposes an automatic system for the management of problems at the CITMA in Villa Clara. It contains the stages of development of the implemented web application through the usage of the web page programming language PHP5 and the modeling through UML diagrams. MySQL was used as database manager and Symphony as development framework.. Key. words:. problems,. management. of. problems,. automatic. systems.. VII.

(8) TABLA DE CONTENIDOS. Tabla de Contenidos INTRODUCCIÓN ................................................................................................................................................................... 1 CAPÍTULO I: FUNDAMENTACIÓN TEÓRICA........................................................................................................................... 4 INTRODUCCIÓN. ....................................................................................................................................................................... 4 1.1Conceptualización........................................................................................................................................................... 4 1.1.1 Clasificación de las problemáticas. ...................................................................................................................... 5 1.2 APLICACIONES PARA LA GESTIÓN DE PROBLEMÁTICAS. ................................................................................................................. 5 1.2.1 Aplicaciones para la gestión de Problemáticas en el mundo. ............................................................................... 6 1.2.1.1 Sistema automatizado QuejaNet. ................................................................................................................... 6 1.2.1.2 CDC Respond.................................................................................................................................................. 7 1.2.2 Aplicaciones para la Gestión de problemáticas en Cuba. ..................................................................................... 7 1.2.2.1 AvilaQuid. ...................................................................................................................................................... 8 1.3 LENGUAJES DE PROGRAMACIÓN PARA LA WEB. .......................................................................................................................... 9 1.3.1 HTML. ................................................................................................................................................................ 9 1.3.2 PHP. ................................................................................................................................................................. 10 1.3.3 CSS. .................................................................................................................................................................. 11 1.3.4 Java Script. ....................................................................................................................................................... 12 1.4 Servidores de aplicación web. ...................................................................................................................................... 12 1.4.1 1.5 1.5.1. Apache. ....................................................................................................................................................... 13 Gestores de Bases de Datos. ............................................................................................................................. 14 MySQL......................................................................................................................................................... 15. 1.6 Frameworks de desarrollo. .......................................................................................................................................... 15 1.6.1 Symfony. .......................................................................................................................................................... 16 1.6.2 Symfony y el patrón de diseño MVC. ................................................................................................................. 17 1.6.3 Doctrine. .......................................................................................................................................................... 18 1.7 Herramientas de desarrollo de software. ..................................................................................................................... 18 1.7.1. NetBeans IDE 6.8. ........................................................................................................................................ 19. 1.7.2. Visual Paradigm. ......................................................................................................................................... 20. 1.7.3. Artisteer 3.0. ............................................................................................................................................... 20. 1.8 Lenguaje de modelado................................................................................................................................................. 20 1.8.1. UML. ........................................................................................................................................................... 21. VIII.

(9) TABLA DE CONTENIDOS. 1.9 Conclusiones Parciales. ................................................................................................................................................ 21 CAPÍTULO II: CARACTERÍSTICAS DEL SISTEMA.................................................................................................................... 23 Introducción. ..................................................................................................................................................................... 23 2.1 Modelación del Negocio.............................................................................................................................................. 23 2.1.1 Diagrama de Casos de Uso del Negocio. Representación Gráfica. .................................................................................... 23 2.1.2 Descripción literal del CU del Negocio............................................................................................................................. 24 2.1.3 Diagrama de actividades del CU del Negocio. .................................................................................................................. 24 2.2 Modelo del sistema. ....................................................................................................................................................................... 25 2.2.1 Requisitos funcionales.................................................................................................................................................... 25 2.2.2 Actores del sistema. ...................................................................................................................................................... 28 2.2.3 Diagramas de CU del sistema.......................................................................................................................................... 29 2.2.4 Descripción de los casos de uso expandidos. ................................................................................................................... 30 2.3 Modelo del Análisis. ........................................................................................................................................................................ 41 2.3.1 Diagrama de colaboración. ............................................................................................................................................. 41 2.4 Modelo de Diseño. .......................................................................................................................................................................... 43 2.4.1Diagrama de clases del Diseño. ....................................................................................................................................... 43 2.4.2 Diagrama de Navegación. ............................................................................................................................................... 44 2.5 Modelo de Datos. ............................................................................................................................................................................ 45. 2.5.1 Modelo de Datos Conceptual (Diagrama Entidad-Relación). .............................................................................. 45 2.6 Diagrama de Despliegue. ............................................................................................................................................. 46 2.7 Conclusiones Parciales. ................................................................................................................................................ 46 CAPÍTULO III: IMPLEMENTACIÓN Y MANUAL DE USUARIO. ............................................................................................... 47 Introducción. ..................................................................................................................................................................... 47 3.1 Diagrama de componentes. ......................................................................................................................................... 47 3.2 Manual de Usuario. ..................................................................................................................................................... 50 3.2.1 Acceso al sistema.............................................................................................................................................. 50 3.2.2 Conociendo el sistema...................................................................................................................................... 51 3.2.3 Navegación para el usuario Administrador General. ......................................................................................... 54 3.2.4 Navegación para el usuario Administrador del Centro. ...................................................................................... 56 3.2.5 Navegación para el usuario Gestor.................................................................................................................... 56 3.2.6 Navegación para el usuario Consultante. ......................................................................................................... 59 3.2.7 Salir del sistema................................................................................................................................................ 60. IX.

(10) TABLA DE CONTENIDOS. 3.3 Conclusiones parciales. ................................................................................................................................................ 60 CONCLUSIONES. ................................................................................................................................................................ 61 RECOMENDACIONES. ........................................................................................................................................................ 62 BIBLIOGRAFÍA. ................................................................................................................................................................... 63 ANEXOS. ............................................................................................................................................................................ 64 GLOSARIO DE TÉRMINOS................................................................................................................................................... 83. X.

(11) INTRODUCCIÓN. Introducción En la Constitución de la República de Cuba se consigna el derecho de los ciudadanos a dirigirse a las instituciones y organismos del Estado para formular problemáticas y al propio tiempo recibir respuesta a éstas. Uno de estos organismos lo constituye la delegación de Ciencia, Tecnología y Medio Ambiente (CITMA) que dirige, ejecuta, controla y fiscaliza de forma integrada la política del Estado y del Gobierno en materia de ciencia, tecnología, innovación, medio ambiente, información científico técnica, gestión documental y las actividades de la normalización, metrología, gestión de la calidad y propiedad industrial en función del desarrollo sostenible de nuestra provincia y del país.(Bermúdez) Hoy en día existen nuevos conceptos y enfoques que emergen de un esfuerzo competitivo, orientado hacia nuevos escenarios y tendencias en el mundo actual, donde no queda exenta la gestión óptima de problemáticas. En cualquier sociedad las empresas no pueden sobrevivir, ni tener éxito, por el simple hecho de realizar un buen trabajo sino que dicho desempeño debe realizarse a la par de una eficiente interacción con los consumidores, para tener conocimiento de sus necesidades y el nivel de satisfacción alcanzado por estos, al consumir un producto o servicio ofrecido. Con el fin de aprovechar toda esta información, que constituye una oportunidad de mejora brindada por la percepción de los usuarios a través de sus quejas o sugerencias, es imprescindible disponer de un sistema para su gestión. Gracias al avance tecnológico alcanzado a nivel mundial, el uso de sistemas informáticos en estas gestiones, no debe ser un obstáculo para ninguna organización decidida a disponer de una aplicación que le permita llevar un convenido control, en el seguimiento de todos los problemas o no conformidades de sus clientes. Además, con el desarrollo de estos softwares se consigue eliminar todo el papeleo que esta actividad genera, se obtiene una herramienta de análisis que conduce a implementar mejoras continuas de forma eficiente y eficaz a la vez que se gana en excelencia. Cuba cuenta con un amplio y efectivo sistema interinstitucional para recibir, tramitar y responder cualquier queja o petición individual o de grupos de personas, según establece el artículo 63 de la Constitución. La principal garante de este derecho es la Fiscalía General de la República, además existen otras instancias y mecanismos para atender las quejas y peticiones de los ciudadanos. Entre los mismos destacan: Organizaciones Sociales; Policía Nacional Revolucionaria y en particular, sus. 1.

(12) INTRODUCCIÓN. mecanismos de atención a la población; Oficinas de atención a la población en cada uno de los Organismos de la Administración Central del Estado; Delegados a las Asambleas Municipales del Poder Popular y Consejos de la Administración Municipales y Provinciales, así como las propias estructuras permanentes de la Asamblea Nacional (2011). Aunque nuestro país no cuente con muchos softwares para su gestión, no significa que se encuentre desprovista de estos por lo que existen empresas que han instaurado sus propios sistemas informatizados de gestión de problemáticas. Dirigida a uniformar los procesos de atención, seguimiento y control de las medidas que se apliquen como resultado de las problemáticas que se reciban de la población y en particular aquellas relacionadas con la conducta y actuación de sus cuadros, dirigentes administrativos y entidades, se sigue una metodología de acuerdo a las experiencias acumuladas y las características y particularidades del CITMA. Esta ha sido aprobada según la Resolución No. 128/06 (Modificada) del 21 de febrero 2009 (Ver Anexo 1) y se aplica actualmente a toda la actividad del CITMA en Villa Clara, con el objetivo de promover una elevada profesionalidad en los procesos de investigación y análisis de las problemáticas formuladas por los trabajadores y la población. Las actividades que exigen esta metodología son archivadas en modelos impresos, documentos Word y hojas de cálculo Excel por lo que la forma de trabajo llevada hasta el momento, no proporciona a la empresa seguridad en sus datos que se encuentran vulnerables a pérdidas y desorganización; además, puede conllevar a un desempeño más engorroso y retrasado del especialista en esta área a la hora de formular informes, actas y registros. Teniendo en cuenta la situación anteriormente expuesta se plantea el siguiente problema científico: La existencia de deficiencias que conllevan a la pérdida, desorganización y vulnerabilidad de la información, en las actividades que exigen la gestión de Problemáticas en el CITMA Villa Clara.. Luego el objetivo general que se plantea en esta investigación es: Desarrollar un sistema informático para la Gestión de Problemáticas de los centros del CITMA en Villa Clara.. 2.

(13) INTRODUCCIÓN. Los objetivos específicos que se proponen para dar cumplimiento al objetivo general de la investigación son: 1.. Diseñar una Base de Datos para informatizar la gestión de Problemáticas.. 2.. Realizar análisis y diseño de una Aplicación Web para la gestión de Problemáticas del CITMA. Villa Clara. 3.. Implementar una Aplicación Web que permita la gestión de Problemáticas en el CITMA Villa. Clara. El trabajo de diploma está estructurado de la siguiente forma:  Introducción.  Tres Capítulos.  Conclusiones.  Recomendaciones. En el Capítulo I se describen términos relacionados con la gestión de problemáticas, así como algunas aplicaciones existentes en el mundo y en Cuba para realizar dicha labor. Además, se realiza un estudio de las tecnologías y tendencias actuales usadas para el desarrollo de estas aplicaciones. En el Capítulo II se realiza la modelación del negocio y del sistema, el modelo de diseño y de datos, así como la configuración de la aplicación a través del diagrama de despliegue; concluyendo de esta manera con la caracterización de la propuesta de solución. En el Capítulo III se establecen los diagramas para la implementación del sistema propuesto y se explica la forma en que el usuario debe proceder para interactuar con el sistema, a través de la creación de un Manual de usuarios.. 3.

(14) CAPÍTULO I: FUNDAMENTACIÓN TEÓRICA. Capítulo I: Fundamentación teórica. Introducción. La gestión de las problemáticas realizadas por los clientes, se considera como un valioso instrumento para el control y mejoramiento continuo, ya que permite visualizar e informarse de lo que sucede en cuanto a los servicios prestados y de igual forma se puede establecer la manera de cómo poder resolver todas aquellas inquietudes, de esta forma ayuda a la toma de decisiones en aras de combatir las debilidades o amenazas de cualquier organización. Se convierte, por tanto, en una herramienta de diagnóstico que permite obtener información tanto de carácter cualitativo como cuantitativo, a partir de cuyo conocimiento ofrece la posibilidad de mejorar en diferentes ámbitos de la gestión de calidad de cualquier entidad. Luego en el presente capítulo se describirán brevemente algunos términos relacionados con esta importante gestión, así como las aplicaciones existentes en el mundo y en nuestro país para realizar dicha labor. También se realizará un estudio de las tecnologías y las tendencias actuales que se utilizan para el desarrollo de estas aplicaciones. 1.1 Conceptualización. Con el propósito de diferenciar conceptualmente las clasificaciones a través de las cuales una persona emite un juicio, a continuación se presentan las principales definiciones que incumben al presente trabajo; es preciso señalar que la identificación correcta de las siguientes definiciones facilita en gran medida la actuación de los órganos administrativos responsables de la aplicación de la Resolución No. 128/06 (Modificada) del 21 de febrero 2009. Queja: manifestación por parte de un cliente (sin llegar a demandar), de no sentirse bien con el tratamiento recibido o con la calidad del servicio que se le brindó. Reclamación: exigir con derecho, demandar por algo mal hecho o incumplimiento de lo contratado. Denuncia: es la declaración que efectúa una persona para poner en conocimiento, un hecho que se considera que puede constituir un delito o falta.. 4.

(15) CAPÍTULO I: FUNDAMENTACIÓN TEÓRICA. Planteamiento: plantear una problemática, de forma precisa y con argumentos permitiendo ubicarlo en un contexto para comprender su origen o sea, explicar los antecedentes brindando la información para la investigación de dicho caso. Promovente: persona o entidad que se queja, reclama o denuncia ante una inconformidad, ya sea en materia de medio ambiente, de actuación o conducta o medidas impuestas. (2010b) 1.1.1 Clasificación de las problemáticas. Para facilitar el manejo con el sistema propuesto en el presente trabajo se clasifican las problemáticas en: Queja. Reclamación. Denuncia. Planteamiento. 1.2 Aplicaciones para la gestión de Problemáticas. Para cualquier organización, lo más importante es que los servicios o productos que ofrezca satisfagan de forma importante las necesidades de las personas. En caso de no recibir los servicios esperados, el cliente lo mínimo que busca es una atención rápida y eficiente en el momento de presentar una queja y de igual manera que se le dé una respuesta a esta. Muchas entidades han implementado procesos de gestión de problemáticas dentro de sus organizaciones para poder dar respuestas ágiles y concretas a los promoventes. Sin embargo, existen muchos retrasos en las mismas, puesto que son procesos muy burocráticos que pierden sentido en el transcurso de revisión llevado a cabo por las áreas involucradas, lo cual a final de cuentas termina en la pérdida de credibilidad e imagen por parte del usuario. Debido a este tipo de problemas, que se suscitan a menudo es que profesionales de la tecnología junto con expertos en la gestión de calidad, han sumado esfuerzos para crear sistemas de gestión de quejas automatizados, que posibiliten llevar a cabo, procesos de quejas y reclamaciones, con una. 5.

(16) CAPÍTULO I: FUNDAMENTACIÓN TEÓRICA. respuesta rápida y el envío de una contestación favorable por parte del área involucrada, al promovente. (2004) En los dos siguientes epígrafes se muestran algunos ejemplos de aplicaciones que se utilizan para la gestión de problemáticas, tanto en el mundo contemporáneo, como en nuestro país. 1.2.1. Aplicaciones para la gestión de Problemáticas en el mundo.. En el mundo actual, las nuevas tecnologías exigen el desarrollo de sistemas informatizados en cualquier ámbito de la sociedad, sobre todo en las empresas. El hombre hoy en día ha impulsado un gran avance tecnológico, y en su hacer diario en aras de esta revolución informática, no ha excluido la creación de softwares para la gestión de problemáticas. Teniendo en cuenta lo mencionado anteriormente, se describen a continuación diferentes sistemas informatizados para la gestión de problemáticas en el mundo actual. 1.2.1.1 Sistema automatizado QuejaNet. QuejaNet es un sistema automatizado creado para que el usuario presente quejas y/o denuncias en contra de servidores públicos, así como peticiones que pueden ser sugerencias, consultas, solicitudes y asesorías. Este sistema gestiona diferentes conceptos de la siguiente manera: Queja o Denuncia: si el usuario desea dar a conocer alguna irregularidad en el desempeño de las funciones de algún servidor público, ya sea que afecte directamente a quien la hace del conocimiento (queja), o bien que la afectación de la que se tiene conocimiento, se efectúe a un tercero (denuncia). Petición: es el requerimiento que formula la ciudadanía para que intervenga algún órgano de control, en la verificación de los servicios prestados, o bien para que reciba y de curso a las sugerencias y solicitudes que presenta el público en general. Gestión Ciudadana: conjunto de acciones realizadas por el órgano de control, ante la empresa que presta el servicio; cuyo objetivo es proporcionar al ciudadano alternativas de solución viables al problema planteado, cuando se refiera a trámites o servicios. Asesoría y/o Consulta: es la orientación que se brinda al ciudadano atendiendo el planteamiento que realiza.. 6.

(17) CAPÍTULO I: FUNDAMENTACIÓN TEÓRICA. El sistema captura información del cliente desde dos secciones, en la primera sección denominada Hechos se pueden narrar los hechos ocurridos; es de gran utilidad proporcionar el lugar, la fecha y la hora donde estos ocurrieron. La segunda sección son los Datos Personales como son nombre, dirección, teléfono y correo electrónico, con el fin de poder proporcionarle al cliente información sobre el seguimiento que se le haya dado a su solicitud. Además cuenta con un Registro de información donde se genera un número de folio con el cual el cliente puede entrar a la sección Consultar información para verificar en qué estado se encuentra su solicitud, dicho folio es enviado al cliente por correo electrónico. Por último tiene una sección nombrada Seguimiento donde se muestran las acciones seguidas para dar respuesta a la solicitud, también el cliente puede brindar información adicional siempre y cuando no se haya dado por concluida su solicitud, si este fuera el caso el sistema le informa al cliente determinado número de días hábiles para responder si está o no de acuerdo con la respuesta seleccionando una dichas opciones, además, si el cliente desea puede escribir algún comentario sobre su opinión por el servicio otorgado. (2009) 1.2.1.2 CDC Respond. CDC Software es una filial de CDC Corporation (NASDAQ: CHINA) y un proveedor de aplicaciones de software empresarial y servicios empresariales. Esta empresa ha desarrollado el software CDC Respond con el fin de dar solución a la gestión de quejas y retroalimentación, para el mercado de la India. La aplicación se ha comercializado y vendido en la India por CDC Soluciones de CRM (socio local de CDC Software), con el fin de ayudar a las organizaciones empresariales y gubernamentales a cumplir con una variedad de regulaciones del gobierno y la industria, así como la promoción de mayores niveles de satisfacción del cliente. Además, ayuda a los gobiernos y empresas en la India cumpliendo con la normativa de gestión de quejas al tiempo de mejorar la satisfacción del cliente. 1.2.2. Aplicaciones para la Gestión de problemáticas en Cuba.. Nuestro país cuenta con un amplio sistema interinstitucional para recibir, tramitar y responder problemáticas planteadas por cualquier persona o entidad según establece el artículo 63 de la Constitución. Todos los organismos del estado siguen una metodología para dicha gestión pero en la mayoría de los casos no cuentan con aplicaciones o portales web para facilitar esta actividad. Una de las empresas de desarrollo de software en Cuba la constituye DESOFT que ha implementado una aplicación Web destinada a la automatización de la gestión de problemáticas y se encuentra. 7.

(18) CAPÍTULO I: FUNDAMENTACIÓN TEÓRICA. actualmente dentro de sus ofertas de venta, a continuación se describen sus principales características y funcionalidades. 1.2.2.1 AvilaQuid. AvilaQuid es una aplicación Web destinada a la automatización de la gestión de incidencias, a través de su seguimiento en una entidad o grupo de entidades interconectadas en una Intranet, las cuales pueden ser generadas tanto desde clientes externos como internos. He aquí sus principales cualidades: . Permite abarcar todos los pasos de la gestión de la incidencia desde su registro, clasificación. por diversos aspectos, asignación de responsabilidades, y procesamiento que posibilita describir la conclusión y la respuesta, llegando hasta la posible aplicación de medidas. . Es posible obtener el expediente de cada incidencia, donde se pueden conocer todos sus. detalles y la trayectoria que ha seguido. . El sistema permite enviar notificaciones al Localizador (Beeper o Paging) y al Correo. Electrónico del usuario responsable de la gestión y a su Unidad Organizativa. . Permite evaluar la satisfacción del cliente y la caracterización de los servicios brindados a éste,. a partir de conocer de dónde procede cada incidencia. . Facilita la búsqueda de incidencias según diferentes criterios y permite trabajar con. subconjuntos de ellos basado en los resultados de las búsquedas. . Se obtienen informes estadísticos que permiten evaluar resultados generales y específicos de. la información. . El acceso a cada una de las opciones está restringido según los tipos de usuarios, definidos. para cada una de las funciones posibles en el sistema (registrador, clasificador, procesador, controlador, consultor). Esto unido a la agrupación por Unidades Organizativas proporciona una total fiabilidad.. 8.

(19) CAPÍTULO I: FUNDAMENTACIÓN TEÓRICA. Sólo resta por resaltar la potencialidad propia del sistema dada su plataforma WEB, que le ofrece un gran valor de uso a la Intranet de la entidad pues le ayuda a la organización de sus procesos, a la toma de decisiones y muy especialmente a la atención de los clientes. Mucho más notable se hace en una Intranet corporativa, para el uso de todas las entidades conectadas a la misma, y los usuarios de la red. Esta potencialidad abarca beneficios tales como la disponibilidad de la información única y sin incongruencias, al igual que la disponibilidad de una sola versión de la aplicación con la consiguiente facilidad para su actualización y mantenimiento cuando sea necesario. El CITMA Villa Clara no puede utilizar esta aplicación que oferta la empresa DESOFT de nuestra provincia porque es una entidad presupuestada y no está aprobado destinar dinero para la compra de software, excepto para el departamento de contabilidad. Además está orientado por el Ministerio del CITMA informatizar todos sus procesos y constituye una necesidad que la propia empresa se encargue de automatizar un sistema para la Gestión de Problemáticas en el CITMA Villa Clara. 1.3 Lenguajes de programación para la web. Actualmente existen lenguajes de programación para desarrollar en la web, estos han ido surgiendo debido a las tendencias y necesidades de las plataformas. Desde los inicios de Internet, fueron apareciendo demandas de los usuarios y se dieron soluciones mediante lenguajes estáticos. A medida que pasó el tiempo, las tecnologías fueron desarrollándose y surgieron nuevos problemas a dar solución. Esto dio lugar a desarrollar lenguajes de programación dinámicos para la web, que permitieran interactuar con los usuarios y utilizarán sistemas de bases de datos. A continuación se describen los lenguajes de programación para la web más usados en la actualidad y que se usarán para el desarrollo del presente sistema automatizado. 1.3.1 HTML. Desde el surgimiento de Internet se han publicado sitios web gracias al lenguaje HTML desarrollado por el World Wide Web Consortium (W3C). Este es un lenguaje estático para el desarrollo de sitios web (acrónimo en inglés de HyperText Markup Language, en español Lenguaje de Marcas Hipertextuales). Los archivos pueden tener las extensiones (htm, html), son archivos pequeños y de despliegue rápido. Es de fácil aprendizaje y lo admiten todos los exploradores como Internet Explorer, Opera, Firefox, Netscape o Safari. (Váldes, 2007). 9.

(20) CAPÍTULO I: FUNDAMENTACIÓN TEÓRICA. Además es muy sencillo, está basado en el uso de etiquetas, consistentes en un texto ASCII encerrado dentro de un par de paréntesis angulares(<..>). Donde el manejo de estas permite definir la estructura lógica del documento HTML, aplicar distintos estilos al texto, la inclusión de hiperenlaces, imágenes y ficheros multimedia. También al disponer de múltiples herramientas permite acceder a bases de datos de forma sencilla, es multiplataforma pues funciona tanto para Unix como para Windows. 1.3.2 PHP. PHP es un lenguaje de programación interpretado, diseñado originalmente para la creación de páginas web dinámicas. Es usado principalmente para la interpretación del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas. PHP es un acrónimo recursivo que significa PHP Hypertext Preprocessor y se distribuye gratuitamente bajo una licencia abierta como software libre, por lo que puede ser desplegado en la mayoría de los servidores web y en casi todos los sistemas operativos y plataformas sin costo alguno. Permite la conexión a diferentes tipos de servidores de bases de datos tales como MySQL, PostgreSQL, Microsoft SQL Server, entre otros. También tiene la capacidad de ser ejecutado en la mayoría de los sistemas operativos, tales como Unix y Microsoft Windows, y es el módulo Apache más popular entre las computadoras que utilizan Apache como servidor web. Entre sus ventajas se encuentran que: . Es un lenguaje multiplataforma.. . Orientado al desarrollo de aplicaciones web dinámicas con acceso a información almacenada. en una base de datos.  El código fuente escrito en PHP es invisible al navegador web y al cliente ya que es el servidor el que se encarga de ejecutar el código y enviar su resultado HTML al navegador. Esto hace que la programación en PHP sea segura y confiable.  Capacidad de conexión con la mayoría de los motores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL.  Capacidad de expandir su potencial utilizando módulos (llamados ext's o extensiones).. 10.

(21) CAPÍTULO I: FUNDAMENTACIÓN TEÓRICA.  Posee una amplia documentación en su sitio web oficial, entre la cual se destaca que todas las funciones del sistema están explicadas y ejemplificadas en un único archivo de ayuda.  Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.  Permite aplicar técnicas de programación orientada a objetos.  Biblioteca nativa de funciones sumamente amplia e incluida.  No requiere definición de tipos de variables aunque sus variables se pueden evaluar también por el tipo que estén manejando en tiempo de ejecución.  Tiene manejo de excepciones (desde PHP5). Si bien PHP no obliga a quien lo usa a seguir una determinada metodología a la hora de programar, aún haciéndolo, el programador puede aplicar en su trabajo cualquier técnica de programación o de desarrollo que le permita escribir código ordenado, estructurado y manejable. Un ejemplo de esto son los desarrollos que en PHP se han hecho del patrón de diseño Modelo Vista Controlador (MVC), que permiten separar el tratamiento y acceso a los datos, la lógica de control y la interfaz de usuario en tres componentes independientes. (2007) Para el presente trabajo de diploma como se decide usar Apache como servidor de aplicaciones Web entonces es conveniente la utilización de PHP como lenguaje de programación atendiendo a la compatibilidad de este con el mencionado servidor, además de que destaca su conectividad con MySQL y a las diferentes ventajas que el lenguaje ofrece. 1.3.3 CSS. CSS es un lenguaje de hojas de estilos (Cascading Style Sheets) creado para controlar el aspecto o presentación de los documentos electrónicos definidos con HTML y XHTML. Además es la mejor forma de separar los contenidos y su presentación y es imprescindible para crear páginas web complejas. Separar la definición de los contenidos y la definición de su aspecto presenta numerosas ventajas, ya que obliga a crear documentos HTML/XHTML bien definidos y con significado completo (también llamados "documentos semánticos"). Además, mejora la accesibilidad del documento, reduce la. 11.

(22) CAPÍTULO I: FUNDAMENTACIÓN TEÓRICA. complejidad de su mantenimiento y permite visualizar el mismo documento en infinidad de dispositivos diferentes. Al crear una página web, se utiliza en primer lugar el lenguaje HTML/XHTML para marcar los contenidos, es decir, para designar la función de cada elemento dentro de la página: párrafo, titular, texto destacado, tabla, lista de elementos, etc. Una vez creados los contenidos, se utiliza el lenguaje CSS para definir el aspecto de cada elemento: color, tamaño y tipo de letra del texto, separación horizontal y vertical entre elementos, posición de cada elemento dentro de la página, etc. (2010a) 1.3.4 Java Script. Javascript es un lenguaje que puede ser utilizado por profesionales y para quienes se inician en el desarrollo y diseño de sitios web. No requiere de compilación ya que el lenguaje funciona del lado del cliente, los navegadores son los encargados de interpretar estos códigos. Es un lenguaje con muchas posibilidades, utilizado para crear pequeños programas que luego son insertados en una página web y en programas más grandes, orientados a objetos mucho más complejos. Con Javascript podemos crear diferentes efectos e interactuar con nuestros usuarios. Este lenguaje posee varias características, entre ellas podemos mencionar que es un lenguaje basado en acciones que posee menos restricciones. Además, es un lenguaje que utiliza Windows y sistemas X-Windows, gran parte de la programación en este lenguaje está centrada en describir objetos, escribir funciones que respondan a movimientos del mouse, aperturas, utilización de teclas, cargas de páginas entre otros. Es soportado por la mayoría de los navegadores como Internet Explorer, Netscape, Opera, Mozilla Firefox, entre otros. (Váldes, 2007) 1.4 Servidores de aplicación web. Un servidor web o servidor HTTP es un programa que procesa cualquier aplicación del lado del servidor realizando conexiones bidireccionales y/o unidireccionales, síncronas o asíncronas con el cliente generando o cediendo una respuesta en cualquier lenguaje o aplicación del lado del cliente. El código recibido por el cliente suele ser compilado y ejecutado por un navegador web. Para la transmisión de todos estos datos suele utilizarse algún protocolo. Generalmente se utiliza el protocolo HTTP para estas comunicaciones, perteneciente a la capa de aplicación del modelo OSI. El término también se emplea para referirse al ordenador que ejecuta el programa.. 12.

(23) CAPÍTULO I: FUNDAMENTACIÓN TEÓRICA. En informática, se denomina servidor de aplicaciones a un servidor en una red de computadores que ejecuta ciertas aplicaciones. Usualmente se trata de un dispositivo de software que proporciona servicios de aplicación a las computadoras cliente. Este generalmente gestiona la mayor parte (o la totalidad) de las funciones de lógica de negocio y de acceso a los datos de la aplicación. Los principales beneficios de la aplicación de la tecnología de servidores de aplicación son la centralización y la disminución de la complejidad en el desarrollo de aplicaciones. Entre sus características comunes se encuentran que típicamente incluyen middleware (o software de conectividad) que les permite intercomunicarse con variados servicios, para efectos de confiabilidad, seguridad, no-repudio, etc.; además brindan a los desarrolladores una Interfaz para Programación de Aplicaciones (API), de tal manera que no tengan que preocuparse por el sistema operativo o por la gran cantidad de interfaces requeridas en una aplicación web moderna. Los servidores de aplicación también brindan soporte a una gran variedad de estándares, tales como HTML, XML, IIOP, JDBC, SSL, etc., que les permiten su funcionamiento en ambientes web (como Internet) y la conexión a una gran variedad de fuentes de datos, sistemas y dispositivos. Un ejemplo común del uso de servidores de aplicación (y de sus componentes) son los portales de Internet, que permiten a las empresas la gestión y divulgación de su información, y un punto único de entrada a los usuarios internos y externos. Teniendo como base un servidor de aplicación, dichos portales permiten tener acceso a información y servicios (como servicios Web) de manera segura y transparente, desde cualquier dispositivo. (2008b) Uno de los servidores de aplicación web existentes lo es Apache que debido a las características y ventajas que ofrece, ha sido el seleccionado para el desarrollo de la presente aplicación; además de ser un requisito del cliente y porque forma parte de la política de informatización de esta empresa en el territorio. A continuación se hace una descripción de este. 1.4.1. Apache.. El servidor HTTP Apache es un servidor web HTTP de código abierto para plataformas Unix (BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que implementa el protocolo HTTP/1.1. Se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation.. 13.

(24) CAPÍTULO I: FUNDAMENTACIÓN TEÓRICA. Apache es el servidor web más difundido y utilizado en Internet. Tal vez lo que lo hace más atractivo es su alta estabilidad, seguridad y facilidad de expansión. Debido a que es software libre, quienquiera que desee descargarlo no tendrá que pagar costosas licencias para su utilización, pudiendo disponer de su código fuente para modificar y adaptar el servidor a sus necesidades. (Ruiz) Entre sus ventajas más específicas se encuentran que: . Es modular: Puede ser adaptado a diferentes entornos y necesidades, con los diferentes. módulos de apoyo que proporciona, y con la API de programación de módulos, para el desarrollo de módulos específicos. . Código abierto.. . Multiplataforma.. . Extensible: gracias a ser modular se han desarrollado diversas extensiones entre las que. destaca PHP, un lenguaje de programación del lado del servidor. . Popular (fácil conseguir ayuda/soporte).. 1.5 Gestores de Bases de Datos. Un gestor de base de datos o sistema de gestión de base de datos (SGBD o DBMS) es un software que permite administrar la información de las bases de datos. Son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan; por tanto cualquier operación que el usuario hace contra la base de datos está controlada por el gestor. Se trata de un conjunto de programas no visibles al usuario final que se encargan de la privacidad, la integridad, la seguridad de los datos y la interacción con el sistema operativo. Algunos ejemplos de SGBD. son. Oracle,. DB2,. PostgreSQL,. MySQL,. MS. SQL. Server,. etc.. Entre sus características generales tenemos que: . Aceptan definiciones de esquemas y vistas (definición de diferentes bases de datos).. . Manipulan los datos siguiendo las órdenes de los usuarios.. 14.

(25) CAPÍTULO I: FUNDAMENTACIÓN TEÓRICA. . Cuidan que se respete la seguridad e integridad de los datos.. . Permiten definir usuarios y las restricciones de acceso para cada uno de ellos.. . Controlan la concurrencia y las operaciones asociadas a la recuperación de los fallos. (Cruz). A continuación se describe el gestor de bases de datos MySQL, el cual se utilizará durante el desarrollo de la presente aplicación, por las ventajas que este brinda a sus usuarios y además por ser un requisito del CITMA Villa Clara. 1.5.1. MySQL.. MySQL es un sistema de administración de bases de datos (Database Management System, DBMS) para bases de datos relacionales. Constituye un sistema de gestión de bases de datos relacional, licenciado bajo la GPL de la GNU. Su diseño multihilo le permite soportar una gran carga de forma muy eficiente. Este gestor de bases de datos tiene gran rapidez y facilidades de uso, instalación y configuración. Además, existe gran cantidad de librerías y otras herramientas que permiten su uso a través de diferentes lenguajes de programación. Entre sus características principales se encuentran las siguientes: . Aprovecha la potencia de sistemas multiprocesador, gracias a su implementación multihilo.. . Soporta gran cantidad de tipos de datos para las columnas.. . Dispone de API's en gran cantidad de lenguajes (C, C++, Java, PHP, etc.).. . Gran portabilidad entre sistemas.. . Gestiona usuarios y passwords, manteniendo un muy buen nivel de seguridad en los datos.. . Soporta hasta 32 índices por tabla. www.mysql.com. 1.6 Frameworks de desarrollo. Un framework de desarrollo es una estructura de soporte definida en la cual otro proyecto de software puede ser organizado y desarrollado. Este está compuesto de componentes personalizables e. 15.

(26) CAPÍTULO I: FUNDAMENTACIÓN TEÓRICA. intercambiables para el desarrollo de una aplicación. Constituye una aplicación genérica incompleta y configurable a la que podemos añadirle las últimas piezas para construir una aplicación concreta. Entre los objetivos del framework se encuentran: . Desarrollo rápido.. . Desarrollo estructurado.. . Reutilización de código.. . Disminuir el esfuerzo en el desarrollo.. . Aprovechar las funcionalidades ya implementadas, no se debe reinventar la “rueda”.(2008a). A continuación se describe el framework de desarrollo que por sus características y ventajas será utilizado para el desarrollo del presente software, además de que su uso constituye un requisito del cliente. 1.6.1 Symfony. Symfony es un framework PHP que facilita el desarrollo de las aplicaciones web. Se encarga de todos los aspectos comunes y aburridos de las aplicaciones web, dejando que el programador se dedique a aportar valor desarrollando las características únicas de cada proyecto. Este framework ayuda a aumentar la productividad y ayuda a mejorar la calidad de las aplicaciones web con la aplicación de todas las buenas prácticas y patrones de diseño definidos para la web. Este framework está desarrollado en PHP5, se puede utilizar en plataformas *nix (Unix, Linux) y Windows. Requiere de una instalación, configuración y líneas de comando, incorpora el patrón MVC, soporta AJAX, plantillas y un gran número de bases de datos. Su comprensión se centra en el conocimiento de conceptos básicos de la programación moderna, sobre todo acerca de la programación orientada a objetos (OOP), el mapeo de objetos a bases de datos (ORM) y el desarrollo rápido de aplicaciones (RAD), teniendo como único requisito técnico para su manipulación el conocimiento previo de PHP 5. (Fabien Potencier). 16.

(27) CAPÍTULO I: FUNDAMENTACIÓN TEÓRICA. Entre sus características principales se encuentran:  Fácil de instalar y configurar en sistemas Windows, Mac y Linux.  Funciona con todas las bases de datos comunes (MySQL, PostgreSQL, SQLite, Oracle, MS SQL Server).  Compatible solamente con PHP 5 desde hace años, para asegurar el mayor rendimiento y acceso a las características más avanzadas de PHP  Basado en la premisa de "convenir en vez de configurar", en la que el desarrollador sólo debe configurar aquello que no es convencional.  Preparado para aplicaciones empresariales, ya que se puede adaptar con facilidad a las políticas y arquitecturas propias de cada empresa u organización.  Flexible hasta cualquier límite y extensible mediante un completo mecanismo de plugins.  Publicado bajo licencia MIT de software libre y apoyado por una empresa comprometida con su desarrollo  Traducido a más de 40 idiomas y fácilmente traducible a cualquier otro idioma. (Eguiluz) 1.6.2 Symfony y el patrón de diseño MVC. Symfony está basado en un patrón clásico del diseño web conocido como arquitectura MVC (ModeloVista-Controlador), que está formado por tres niveles: . El Modelo representa la información con la que trabaja la aplicación, es decir, su lógica de. negocio. . La Vista transforma el modelo en una página web que permite al usuario interactuar con ella.. . El Controlador se encarga de procesar las interacciones del usuario y realiza los cambios. apropiados en el modelo o en la vista.. La arquitectura MVC separa la lógica de negocio (el modelo) y la presentación (la vista) por lo que se consigue un mantenimiento más sencillo de las aplicaciones. Por tanto, una misma aplicación que se. 17.

(28) CAPÍTULO I: FUNDAMENTACIÓN TEÓRICA. debe ejecutar tanto en un navegador estándar como en un navegador de dispositivo móvil, solamente necesita crear una vista nueva para cada dispositivo; manteniendo el controlador y el modelo original. El controlador se encarga de aislar al modelo y a la vista de los detalles del protocolo utilizado para las peticiones (HTTP, consola de comandos, email, etc.). El modelo se encarga de la abstracción de la lógica relacionada con los datos, haciendo que la vista y las acciones sean independientes de, por ejemplo, el tipo de gestor de bases de datos utilizado por la aplicación. El principio más importante de la arquitectura MVC es la separación del código del programa en tres capas, dependiendo de su naturaleza. La lógica relacionada con los datos se incluye en el modelo, el código de la presentación en la vista y la lógica de la aplicación en el controlador. La programación se puede simplificar si se utilizan otros patrones de diseño. De esta forma, las capas del modelo, la vista y el controlador se pueden subdividir en más capas. (Fabien Potencier) 1.6.3 Doctrine. Doctrine es un potente y completo sistema ORM (object relational mapper) para PHP 5.2+ con un DBAL (database abstraction layer) incorporado, que viene por defecto con Symfony. Entre muchas otras cosas tiene la posibilidad de exportar una base de datos existente a sus clases correspondientes y también a la inversa, es decir convertir clases (convenientemente creadas siguiendo las pautas del ORM) a tablas de una base de datos. Por otro lado, como la librería es bastante grande ésta tiene un método para ser „compilada‟ al pasar a producción. Además de todas las ventajas que conlleva un ORM, uno de sus puntos fuertes es su lenguaje DQL (Doctrine Query Language) inspirado en el HQL de Hibernate, este lenguaje permite escribir opcionalmente consultas a la base de datos en un lenguaje OO (orientado a objetos) brindando a los desarrolladores una poderosa alternativa al SQL manteniendo una máxima flexibilidad sin necesidad de duplicar código. (Marqués) 1.7 Herramientas de desarrollo de software. Las herramientas de desarrollo de software, consolidadas en la literatura en la forma de Ingeniería de software asistida por computadora (CASE, por sus siglas en inglés Computer Aided Software Engineering). Suponen la asistencia en el proceso de ciclo de vida del software contribuyendo a. 18.

(29) CAPÍTULO I: FUNDAMENTACIÓN TEÓRICA. mejorar la calidad y la productividad en el desarrollo de sistemas de información y se plantean los siguientes objetivos: . Permitir la aplicación práctica de metodologías estructuradas, las cuales al ser realizadas con. una herramienta se consigue agilizar el trabajo. . Facilitar la realización de prototipos y el desarrollo conjunto de aplicaciones.. . Simplificar el mantenimiento de los programas.. . Mejorar y estandarizar la documentación.. . Aumentar la portabilidad de las aplicaciones.. . Facilitar la reutilización de componentes software.. . Permitir un desarrollo y un refinamiento visual de las aplicaciones, mediante la utilización de. gráficos. (RIVAS, 2006) Luego de una exhaustiva investigación, se decide la utilización de las herramientas de desarrollo de software que se describen a continuación, con el objetivo de darle solución al sistema informatizado para el control y gestión de problemáticas en el CITMA Villa Clara. 1.7.1 NetBeans IDE 6.8. NetBeans IDE es un entorno de desarrollo – una herramienta para que los programadores puedan escribir, compilar, depurar y ejecutar programas. Está escrito en Java – pero puede servir para cualquier otro lenguaje de programación. Existe además un número importante de módulos para su extensión. Es un producto libre y gratuito sin restricciones de uso. NetBeans IDE 6.8 contiene las herramientas para que los desarrolladores de software puedan crear aplicaciones desktop, enterprise, web, y aplicaciones móviles, con el lenguaje Java, así como también C/C++, PHP, JavaScript, Groovy, y Ruby. Además esta nueva versión permite crear e importar Proyectos Symphony, asi como utilizar la consola de comandos de este framework. Proporciona soporte para crear aplicaciones añadiéndoles flags o parámetros y posibilita expandir o minimizar las secciones de los archivos YAML.. 19.

(30) CAPÍTULO I: FUNDAMENTACIÓN TEÓRICA. Por lo anteriormente descrito resulta ventajoso el uso de esta herramienta para el desarrollo de la presente aplicación, pues como se mencionó en anteriores epígrafes, se utilizará Symfony como framework de desarrollo. (Ramos, 2009) 1.7.2 Visual Paradigm. Visual Paradigm para UML es una herramienta UML profesional que soporta el ciclo de vida completo del desarrollo de software: análisis y diseño orientados a objetos, construcción, pruebas y despliegue. El software de modelado UML ayuda a una más rápida construcción de aplicaciones de calidad, mejores y a un menor coste. Permite dibujar todos los tipos de diagramas de clases, código inverso, generar código desde diagramas y generar documentación. Esta herramienta posee diferentes características entre las que se encuentran: Soporte de UML versión 2.1, ingeniería inversa, generación de código, soporte ORM (generación de objetos Java desde la base de datos), transformación de diagramas de Entidad-Relación en tablas de base de datos, integración IDE con Visual Studio, NetBeans y otros etc. (2002) 1.7.3 Artisteer 3.0. Artisteer es un programa de ordenador que permite la creación de plantillas de sitios web o para la mayoría los más conocidos Sistema de gestión de contenidos (Content Management System en inglés, abreviado CMS) como Wordpress, Drupal o Joomla, que se pueden descargar de forma gratuita. Es un programa fácil de usar e instalar pues no consume muchos recursos del sistema ni ocupa mucho espacio en el disco duro. Tiene una simple e intuitiva interfaz por lo que resulta de fácil uso para cualquier persona. Este software para el diseño de web brinda nuevas ideas, genera el código XHTML y CSS en conformidad con estándares web. Soporta los formatos: ARTX, HTML, JPG, PNG, GIF, y puede ser encontrado en varios idiomas. (2009) 1.8 Lenguaje de modelado. Un modelo es una simplificación de la realidad, proporciona los planos de un sistema, que pueden ser planos detallados, así como planos más generales que ofrecen una visión global del sistema en consideración. Por tanto surge la necesidad de crear un lenguaje de modelado utilizable tanto por las. 20.

(31) CAPÍTULO I: FUNDAMENTACIÓN TEÓRICA. personas como por las máquinas que permita visualizar, especificar, construir y documentar los artefactos de un sistema con gran cantidad de software; cuyo vocabulario y reglas se centren en la representación conceptual y física de un sistema.(Rodríguez) A continuación se describe el lenguaje UML utilizado para el modelado y representación del desarrollo del sistema para la Gestión de Problemáticas en el CITMA Villa Clara. 1.8.1. UML.. El Lenguaje Unificado de Modelado (UML, Unified Modeling Language) es un lenguaje gráfico para visualizar, especificar, construir y documentar los artefactos de un sistema con gran cantidad de software. UML proporciona una forma estándar de escribir los planos de un sistema, cubriendo tanto las cosas conceptuales, tales como procesos del negocio y funciones del sistema, como las cosas concretas, tales como las clases escritas en un lenguaje de programación específico, esquemas de bases de datos y componentes software reutilizables. Un lenguaje de modelado es un lenguaje cuyo vocabulario y reglas se centran en la representación conceptual y física de un sistema, UML es por tanto, un lenguaje estándar para los planos del software. Según se indica en la Metodología (Rumbaugh), los modelos permiten una mejor comunicación con el cliente por distintas razones: . Es posible enseñar al cliente una posible aproximación de lo que será el producto final.. . Proporcionan una primera aproximación al problema que permite visualizar cómo quedará el. resultado. . Reducen la complejidad del original en subconjuntos que son fácilmente tratables por separado.. 1.9 Conclusiones Parciales. En el capítulo se introdujeron conceptos con el fin de lograr un mejor entendimiento del proceso de Gestión de Problemáticas en el CITMA Villa Clara, para poder comprender la importancia y significado de la investigación, así como la fundamentación del objetivo general de esta. Se abarcó acerca de los. 21.

(32) CAPÍTULO I: FUNDAMENTACIÓN TEÓRICA. lenguajes de programación, las herramientas, tecnologías y metodologías de desarrollo de software que luego de un exhaustivo estudio, fueron seleccionadas para la realización de la presente propuesta.. 22.

(33) CAPÍTULO II: CARACTERÍSTICAS DEL SISTEMA. Capítulo II: Características del sistema. Introducción. Para crear una aplicación de software hay que describir el problema y las necesidades o requerimientos: en qué consiste el problema a solucionar y qué debe hacerse. El análisis se centra en una investigación del problema, no en la manera de definir una solución. Por tanto para desarrollar una aplicación, es necesario contar con descripciones detalladas y de alto nivel de la solución lógica y saber cómo satisface los requerimientos y las restricciones. El diseño pone de relieve una solución lógica, es decir cómo el sistema cumple con los requerimientos. (Larman) En el presente capítulo se describe la propuesta de solución para el desarrollo del sistema para la gestión de Problemáticas en el CITMA Villa Clara, se mostrará un listado de las funcionalidades a partir del análisis del negocio que debe tener el sistema para cubrir las necesidades del cliente, para lo cual se hará una propuesta del modelo de casos de uso que muestra los procesos que se van a automatizar. 2.1 Modelación del Negocio. La modelación del negocio debe brindar una vía natural para determinar los requerimientos del sistema de información. Una buena comprensión de los procesos de negocio es determinante para construir el sistema adecuado. A continuación se propone el modelado del negocio. 2.1.1 Diagrama de Casos de Uso del Negocio. Representación Gráfica.. Figura 2.1 Modelo de CU del Negocio. 23.

(34) CAPÍTULO II: CARACTERÍSTICAS DEL SISTEMA. 2.1.2 Descripción literal del CU del Negocio. A continuación se describe el CU “Promover problemática” que fue identificado durante la investigación del problema. El CU Promover problemática comienza cuando el promovente llega a la recepción del centro CITMA y plantea una problemática. Cualquier trabajador del CITMA escuchará los argumentos del promovente y lo enviará con el gestor de problemáticas. Este último pide al promovente que le plantee el problema. El promovente hace una exposición de sus argumentos. Luego el gestor llena el registro llamado “Acta de comparecencia” con los datos requeridos y le pide al promovente que lo firme. El promovente firma el acta y se la entrega al gestor, el cual a su vez le informa al promovente que la problemática será investigada y que en un plazo no mayor de 60 días naturales, contados a partir de la fecha en que se realiza el acta de comparecencia, se le dará respuesta sobre dicha problemática.. 2.1.3 Diagrama de actividades del CU del Negocio. Los diagramas de actividades constituyen un primer paso para la algoritmización de los procesos que se llevan a cabo y por tanto constituyen un primer acercamiento al futuro sistema. A continuación se presenta el diagrama de actividades del CU “Promover problemática”.. Figura 2.2 Diagrama de actividades del CU “Promover problemática”. 24.

(35) CAPÍTULO II: CARACTERÍSTICAS DEL SISTEMA. 2.2 Modelo del sistema. Para la modelación del sistema propuesto se realiza un levantamiento de las funcionalidades requeridas por los usuarios del futuro sistema para dar solución al problema planteado, se desarrolla el modelo de Casos de Uso (CU) del Sistema como respuesta a la identificación de los requisitos funcionales que deben ser satisfechos, donde los CU del Sistema que se describan serán aquellos requisitos funcionales que queden aprobados para la automatización. 2.2.1 Requisitos funcionales. A partir de los procesos de negocio que el sistema propuesto va a cubrir se capturaron los requisitos necesarios para dar solución a las deficiencias en la gestión de Problemáticas en CITMA Villa Clara. Para guiar el desarrollo hacia el sistema correcto y que satisfaga las necesidades del cliente, se espera que el sistema tenga las siguientes funcionalidades: R1: Autenticar usuario. 1.1 Permitir al usuario introducir usuario y contraseña al sistema. 1.2 Validar datos introducidos del usuario. 1.3 Permitir al usuario utilizar las funcionalidades que brinda el sistema. R2: Gestionar usuario. 2.1 Permitir crear un usuario según el rol deseado. 2.2 Permitir listar un usuario. 2.2 Permitir modificar un usuario. 2.3 Permitir eliminar un usuario. R3. Consultar Información. 3.1 Consultar listados. 3.2 Generar reportes. R4. Gestionar problemática.. 25.

(36) CAPÍTULO II: CARACTERÍSTICAS DEL SISTEMA. 4.1 Agregar problemática. 4.2 Listar problemática. 4.3 Modificar problemática. 4.4 Eliminar problemática. R5. Gestionar entidad. 5.1. Agregar entidad. 5.2. Listar entidad. 5.3 Modificar entidad. 5.4. Eliminar entidad. R6. Gestionar persona. 6.1. Agregar persona. 6.2. Listar persona. 6.3. Modificar persona. 6.4 Eliminar persona. R7. Gestionar clasificación. 7.1. Agregar clasificación. 7.2. Listar clasificación. 7.3 Modificar clasificación. 7.4. Eliminar clasificación. R8. Gestionar clasificación según razón. 8.1. Agregar clasificación según razón.. 26.

(37) CAPÍTULO II: CARACTERÍSTICAS DEL SISTEMA. 8.2. Listar clasificación según razón. 8.3 Modificar clasificación según razón. 8.4 Eliminar clasificación según razón. R9. Gestionar clasificación por solución. 9.1. Agregar clasificación por solución. 9.2. Listar clasificación por solución. 9.3. Modificar clasificación por solución. 9.4. Eliminar clasificación por solución. R10. Gestionar tipo de recepción. 10.1. Agregar tipo de recepción. 10.2. Listar tipo de recepción. 10.3. Modificar tipo de recepción. 10.4. Eliminar tipo de recepción. R11. Gestionar subtipo de recepción. 11.1. Agregar subtipo de recepción. 11.2. Listar subtipo de recepción. 11.3. Modificar subtipo de recepción. 11.4. Eliminar subtipo de recepción. R12. Gestionar tipo de tema. 12.1. Agregar tipo de tema. 12.2. Listar tipo de tema.. 27.

(38) CAPÍTULO II: CARACTERÍSTICAS DEL SISTEMA. 12.3. Modificar tipo de tema. 12.4. Eliminar tipo de tema. R13. Gestionar subtipo de tema. 13.1. Agregar subtipo de tema. 13.2. Listar subtipo de tema. 13.3. Modificar subtipo de tema. 13.4. Eliminar subtipo de tema. R14. Gestionar clasificación por procedencia. 14.1 Crear clasificación por procedencia. 14.2 Listar clasificación por procedencia. 14.3 Modificar clasificación por procedencia. 14.4 Eliminar clasificación por procedencia. Requisitos no funcionales. (Ver anexo 2) 2.2.2 Actores del sistema. El modelo de casos de uso describe lo que hace el sistema para cada tipo de usuario. Cada uno de estos se representa mediante uno o más actores. También se representa mediante uno o más actores cada sistema externo con el que interactúa el sistema, incluyendo dispositivos externos como temporizadores, que se consideran externos al sistema. Por tanto, los actores representan terceros fuera del sistema que colaboran con el sistema. Una vez que hemos identificado todos los actores del sistema, tenemos identificado el entorno externo al sistema. (Jacobson) A continuación se describen los actores que intervienen en el sistema propuesto. Actor. Justificación. 28.

Figure

Figura 2.1 Modelo de CU del Negocio
Figura 2.2 Diagrama de actividades del CU “Promover problemática”

Referencias

Documento similar