Aplicación Web para la Gestión de Versiones en Documentos de un Sistema de Gestión de Calidad como Herramienta para la Certificación en MSQ http://www.novuscientifica.com/revista/publicacion/abril2016/A1V2ISSN2395-9932.pdf Volumen 2, Número 1 Pp. 1-16 Fecha de publicación: 22 de abril de 2016 Autores: Hassem Rubén Macías Brambila Ana Bertha López Laguna Ana María Quevedo Salvatierra Editorial: Universidad Novuscientífica de las Américas S.C. Cancún, Quintana Roo, México 1 ISSN: 2395-9932 Vol. 2. Núm. 1 http://www.novuscientifica.com/revista/publicacion/abril2016/A1V2ISSN2395-9932.pdf Aplicación Web para la Gestión de Versiones en Documentos de un Sistema de Gestión de Calidad como Herramienta para la Certificación en MSQ Hassem Rubén Macías Brambila Universidad Tecnológica de Jalisco [email protected] Ana Bertha López Laguna Universidad Tecnológica de Jalisco [email protected] Ana María Quevedo Salvatierra Fecha de recepción: 29 de febrero de 2016 Fecha de aceptación: 8 de marzo de 2016 Universidad Tecnológica de Jalisco [email protected] Resumen El presente artículo describe el proceso de desarrollo Tecnológico a través de una metodología de Ingeniería de Software para la creación un sistema web implantado en la intranet de la empresa Laybon de México S.A de C.V como una herramienta que abona al logro de la certificación de dicha empresa en la norma Mexican Sourcing Quality (MSQ) que otorga la Asociación de Proveedores Industriales Mexicanos. Esta aplicación tiene como objetivo servir de gestor de versiones en archivos del Sistema de Gestión de Calidad de la empresa para el tratamiento de los documentos de descripción de procesos, procedimientos, políticas y manuales de operación. El trabajo se realizó mediante un proceso de estadía empresarial, en el cual de manera colaborativa participó el departamento de calidad y sistemas de Laybon, el cuerpo académico UTJ-CA-02 de la Universidad 2 ISSN: 2395-9932 Vol. 2. Núm. 1 http://www.novuscientifica.com/revista/publicacion/abril2016/A1V2ISSN2395-9932.pdf Tecnológica de Jalisco y estudiantes de los programas educativos de Tecnologías de la Información y Comunicación y de la Ingeniería en Desarrollo e Innovación Empresarial. Palabras clave: vinculación academia-industria, Desarrollo de software, Sistema de Gestión de Calidad, MSQ, gestión de versiones. Web Application as a Certification Tool for Documents Management of Quality System in MSQ Abstract This article describes the process of technological development through a software engineering methodology for creating a web system implemented in the company intranet Laybon of Mexico SA de C.V, as a tool that paid to achieving certification of the company in the standard Mexican Sourcing Quality (MSQ) granted by the Asociación de Proveedores Industriales Mexicanos. This application aims to serve as manager files versions Quality Management System of the company, for the treatment of process description documents, procedures, policies and operating manuals. The work was done through a process of business stay, in which collaboratively participated the quality department and systems Laybon, the cuerpo académico UTJ-CA-02 of the Universidad Tecnológica de Jalisco, and students of educational programs Technology Information and Communication Engineering and Development and Business Innovation. Keywords: academia-industry linkage, Software Development, Quality Management System, MSQ, version management. 3 ISSN: 2395-9932 Vol. 2. Núm. 1 http://www.novuscientifica.com/revista/publicacion/abril2016/A1V2ISSN2395-9932.pdf Aplicación Web para la Gestión de Versiones en Documentos de un Sistema de Gestión de Calidad como Herramienta para la Certificación en MSQ El desarrollo y la transferencia tecnológica entre la academia y la industria han permitido establecer mecanismos y metodologías para la Gestión Tecnológica de Proyectos (GTP) mismos que han permitido la creación de programas de vinculación entre estos actores. Estos programas de vinculación son una característica fundamental del modelo educativo de las Universidades Tecnológicas y Politécnicas (UTyP). Estas instituciones, desde su creación en 1991, han tomado la función de vinculación como la interacción de las universidades con su entorno económico, social, gubernamental y educativo. De acuerdo a la Coordinación de Universidades Tecnológicas y Politécnicas (2015) esta vinculación origina relaciones y productos que fortalecen y consolidan el modelo educativo, permitiendo el desarrollo de proyectos de todas las áreas y disciplinas relacionadas con los programas educativos de las UTyP. La Universidad Tecnológica de Jalisco cuenta entre sus programas educativos con el de Tecnologías de la Información y Comunicación (TIC); y el Administración área Recursos Humanos (ADRH), de los cuales se integra el Cuerpo Académico (CA): Responsabilidad Social, Sustentabilidad y Desarrollo Integral para PYMES, que cuenta con el registro de CA en Consolidación reconocido por el Programa de Desarrollo Profesional Docente (PRODEP). Derivado del programa anual de trabajo del CA y de los programas educativos, se estableció un convenio de colaboración con la empresa Laybon de México, la cual se 4 ISSN: 2395-9932 Vol. 2. Núm. 1 http://www.novuscientifica.com/revista/publicacion/abril2016/A1V2ISSN2395-9932.pdf encuentra en la ciudad de Tonalá, Jalisco y su giro está relacionado con la fabricación de productos textiles para el sector del calzado y automotriz nacional e internacional. Laybon (2015) define tres tipos de procesos: administrativos, operativos y de venta, con 20 subdivisiones en total, que cuentan con actividades y propósitos diferentes y en conjunto satisfacen los objetivos de la empresa. Su constante expansión, origina la necesidad de aplicar medidas para controlar la calidad y eficiencia en las actividades administrativas y productivas, por lo que actualmente se encuentra en un proceso de certificación del programa Mexican Sourcing Quality (MSQ). Dicha certificación permite la mejora de servicios, calidad y eficiencia, definido como un proceso de mejora continua de los Sistemas de Gestión de Calidad (SGC) y los procesos de la organización. La certificación proporciona la infraestructura, procedimientos, procesos y recursos necesarios para controlar y mejorar su rendimiento, además de conducirles hacia la eficiencia, mejora en el servicio al cliente y excelencia en el producto. En este tenor el CA propone la implementación de una aplicación web que apoye el proceso de distribución y colaboración de documentos electrónicos, con la colaboración de estudiantes de ADRH para el desarrollo de formatos y manuales que describen y establecen los procesos y políticas de operación de la empresa. También, se cuenta con la participación de estudiantes de TIC para el desarrollo de la aplicación web, actividades que fueron coordinadas y codesarrolladas con los integrantes del CA mediante el programa institucional de estadías. El uso de una aplicación web que controla las versiones y publicación de documentos digitales en una red local satisface los requerimientos que tiene la empresa para la Gestión de Calidad de su Documentación (GCD), brindando un historial real de 5 ISSN: 2395-9932 Vol. 2. Núm. 1 http://www.novuscientifica.com/revista/publicacion/abril2016/A1V2ISSN2395-9932.pdf cada operación que realizan los usuarios sobre los archivos y eliminando la duplicidad de documentos de la misma versión. El desarrollo de la aplicación requirió de la ejecución de tareas específicas y cuantificables, las cuales fueron administradas de forma eficiente a través de instrumentos métricas y estándares como elementos que permiten asegurar la calidad en el desarrollo de software, como el estándar 830 del Institute of Electrical and Electronics Engineers (IEEE) en su revisión 1998. De igual forma, se utilizaron herramientas para el modelado arquitectónico del software y el modelado semántico de los datos a través de diagramas del Lenguaje Unificado de Modelado (UML) y el modelo relacional. El desarrollo de la aplicación contempla el uso de Entornos de Desarrollo tales como NetBeans y lenguajes de programación como PHP, Javascript y HTML, este último con la implementación de hojas de estilo en cascada (CSS). Así mismo, las pruebas y mantenimiento del software están acompañados de la documentación del proceso de pruebas y manuales de usuario, así como de un plan de capacitación para el uso de la aplicación web. Situación Actual La Asociación de Proveedores Industriales Mexicanos (APIMEX) está enfocada en la mejora de los procesos de proveeduría industrial a nivel nacional, permitiendo que ésta sea más exitosa y con los más altos estándares de calidad, entre los cuales se encuentran los mercados del calzado, marroquinería, textil-confección, mueble, automotriz y la aeroespacial; nacida en 2014, y con su origen como la Asociación Nacional de la Industria del Calzado. 6 ISSN: 2395-9932 Vol. 2. Núm. 1 http://www.novuscientifica.com/revista/publicacion/abril2016/A1V2ISSN2395-9932.pdf Es a través de ésta asociación que se desprende un programa de certificación llamado Mexican Sourcing Quality (MSQ). La APIMEX (2015) establece el MSQ como un programa de desarrollo que ofrece a las empresas asociadas los mecanismos y un marco de mejora para sus servicios, calidad y eficiencia, incrementando su rentabilidad y competitividad, además de garantizar su permanencia en el mercado globalizado. El éxito del programa está basado en el trabajo conjunto de APIMEX y las casas consultoras las cuales conforman el organismo aval del proceso de certificación y la empresa, trascendiendo así en una forma moderna de gestión de proveeduría. La metodología de operaciones del MSQ contemplan: plan de trabajo, cronograma, implementación, talleres masivos, auditoría interna, sistema de indicadores y auditoría de certificación. Es dentro de la fase de implementación en donde se origina el desarrollo o adquisición de sistemas informáticos que apoyan a la colaboración de los procesos con su documentación. Actualmente, existen sistemas comerciales que permiten ésta colaboración a forma de gestores de versiones de documentos, los cuales tienen establecidos mecanismos y procedimientos rígidos, lo que obliga a las organizaciones que los adquieren a adecuar sus procesos de elaboración, seguimiento, almacenamiento y consulta de acuerdo con la aplicación. De acuerdo a Kendall & Kendall (2011) el desarrollo de software a la medida contiene ventajas tangibles, tales como la capacidad de responder a las necesidades especializadas del negocio, ganar una ventaja competitiva al crear software innovador y disponer de personal interno para las operaciones de mantenimiento. El aseguramiento de la calidad de los procesos en la creación de software contemplan el uso y aplicación de buenas prácticas en el desarrollo, pruebas y 7 ISSN: 2395-9932 Vol. 2. Núm. 1 http://www.novuscientifica.com/revista/publicacion/abril2016/A1V2ISSN2395-9932.pdf mantenimiento, así como la implementación de estándares, lo cuales aseguran que los procesos realizados son los adecuados. Es por eso que dentro de la etapa de ingeniería de requerimientos, especialmente para la elaboración del documento de especificación de requerimientos de software (ERS) ,existen estándares como el IEEE 830 revisión 1998, el cual provee un marco de desarrollo para el ERS y además, de acuerdo con la IEEE (2015) establece los requerimientos funcionales del modelo de negocio, provee un marco contextual: procedimientos, mecanismos y colaboración entre todos los actores involucrados y proporciona las directrices para el cumplimiento del estándar IEEE/IEA 12207 revisión 1997. La implementación de estos estándares es contemplado como solo una fase de la ingeniería de software, misma que es definida como un proceso que permite el desarrollo oportuno y racional; es decir, para tener un producto de software de calidad, es imprescindible hacer uso de herramientas que definan qué y cómo se desarrollará el producto. Este producto de software durante el proceso de desarrollo requiere de la implementación de herramientas, que asistirán a los analistas, diseñadores, programadores e ingenieros de prueba en sus actividades. Estas herramientas son denominadas CASE (Ingeniería de Software Asistida por Computadora) y de acuerdo a Pressman (2010) comprende una amplia variedad de programas que se utilizan en las actividades, tales como Project Manager para la gestión de los recursos, Microsoft Visio para el modelado arquitectónico del software y el semántico de los datos, así como NetBeans para el desarrollo de la aplicación y MYSQL como gestor de la base de datos. 8 ISSN: 2395-9932 Vol. 2. Núm. 1 http://www.novuscientifica.com/revista/publicacion/abril2016/A1V2ISSN2395-9932.pdf Método En esta sección se describe el método de desarrollo para la aplicación que gestiona las versiones de documentos para el Sistema de Gestión de Calidad enfocado a la certificación MSQ, mismo que contempla cuatro fases: ingeniería de requerimientos, diseño arquitectónico del software y diseño semántico de datos, desarrollo e implementación y pruebas y mantenimiento. Recolección de datos: entrevista y elaboración de minutas de trabajo De acuerdo al modelo de proceso de software incremental, se inició con entrevistas para recolectar en términos generales y abstractos las necesidades de la empresa. El encargado del proyecto en la empresa expuso sus necesidades e inquietudes, en términos del rol de usuario que asume (administrador), y esto se plasmó en un documento de recolección de datos, una lista no ordenada que luego fue organizada e interpretada por el analista. Figura 1. Lista de requerimientos tempranos de la aplicación. Las actividades y resultados de cada revisión también se registraron en minutas de trabajo. Éstas evidencian el tiempo que se tomó para cada sesión y los participantes 9 ISSN: 2395-9932 Vol. 2. Núm. 1 http://www.novuscientifica.com/revista/publicacion/abril2016/A1V2ISSN2395-9932.pdf involucrados. Además, se define la fecha de la próxima visita y los compromisos acordados para cada uno de los participantes. Especificación de Requerimientos Ésta actividad permitió hacer el llenado de la plantilla que ofrece el estándar IEEE 830 revisión 1998, con la información obtenida de las actividades de recolección de datos. La especificación de requerimientos permite establecer los requerimientos funcionales de la aplicación y los del modelo de negocio, así como todos aquellos aspectos de seguridad, mantenimiento, compatibilidad, portabilidad y confianza. Diseño Arquitectónico del Software Se desarrollaron diagramas que resultarán intuitivos para el cliente fueron elaborados con el software UMLet, de uso gratuito, mediante los estándares de la versión 2.4 de UML. El diagrama de casos de uso de administrador determina las actividades que puede realizar el súper usuario en el sistema. El sistema incluye el control de los catálogos de departamentos, control de las versiones de los archivos, roles y sus respectivos usuarios en el sistema. Para el usuario general, el sistema permite la búsqueda y descarga de archivos, limitados por los permisos que sean asignados por el administrador del sistema para un usuario en específico. Mediante el diseño de los diagramas de actividades, se estableció el flujo de trabajo que debe seguir la aplicación, además de las restricciones que se aplican a los archivos. En ésta etapa también se define y delimita la estructura física del sistema en la red, ya que la empresa usuario del sistema cuenta con una sola sucursal, se distribuirá el sistema localmente, es decir en la red local o intranet. 10 ISSN: 2395-9932 Vol. 2. Núm. 1 http://www.novuscientifica.com/revista/publicacion/abril2016/A1V2ISSN2395-9932.pdf Figura 2. Diagrama de despliegue. Diseño Semántico de Datos Consistió en la elaboración del diagrama de modelo Entidad-Relación (E-R) y el modelo relacional, estos como base para generar los scripts necesarios en la creación de la base de datos MySQL. En el diseño de la base de datos también se aplican las restricciones necesarias, como las claves únicas para los códigos de los archivos, los estados en los que pueden estar los registros (generalmente como “activo”, “inactivo” y “eliminado”). Se establecen también las relaciones entre diferentes tablas (llaves foráneas), que brindan además de una relación lógica entre catálogos, seguridad e integridad de la información, evitando la eliminación accidental de registros que tengan relación con otros. Estas medidas se adoptaron tomando en cuenta buenas prácticas en el diseño de bases de datos: Atomicidad, Consistencia, Aislamiento y Durabilidad (ACID). Se procedió a generar los scripts para la creación de la base de datos en el software MySQL Workbench. Dicha tarea se realizó con la utilidad “Forward Engineering” o Ingeniería Directa, la cual genera un script de creación de base de datos (Create Schema) y para la creación de las tablas (Create Table), con base en el diseño conceptual. La generación de los diccionarios de datos 11 ISSN: 2395-9932 Vol. 2. Núm. 1 http://www.novuscientifica.com/revista/publicacion/abril2016/A1V2ISSN2395-9932.pdf permitieron al desarrollador conocer los tipos de datos de los campos y sus restricciones, generando rápidamente consultas específicas para cada caso de uso en la aplicación. Diseño de Interfaces Para este propósito se utilizó el software Adobe Photoshop, basado en el manejo de mapa de bits y objetos inteligentes, lo que lo hace apropiado para el diseño web, donde generalmente se usan unidades de medición en pixeles. Las pantallas generadas en esta etapa fueron: inicio de sesión, módulo de departamentos, pantalla de versionamiento de archivos, pantalla de descarga de archivos, lista de archivos asignados, módulo de usuarios, edición de usuario y asignación de permisos e historial de descarga de archivos, diseñadas siguiendo principios de usabilidad y con elementos presentes en la identidad de la empresa, como los colores y logotipo. Configuración del Servidor Se optó por el servidor web Apache para hospedar la aplicación, con la principal ventaja de portabilidad entre sistemas operativos. Se eligió el paquete de instalación XAMPP ya que tiene versiones para Windows, Linux y Mac OS. Una vez instalado los servicios web y de base de datos, se procede a iniciarlos mediante el lanzador del paquete, llamado XAMPP Control Panel, con posibilidad de reinicio individual de cada servicio y accesos directos de configuraciones de cada módulo del servidor. Implementación de Librerías de aplicación Se implementaron librerías y frameworks de desarrollo. Una de éstas es jQuery que permite la manipulación del DOM del documento web para validaciones, animaciones y cambios de estilo. Para la interfaz de la aplicación se utilizó un framework de diseño conocido como cofi.ui, que provee una interfaz de usuario clara, además de elementos de la 12 ISSN: 2395-9932 Vol. 2. Núm. 1 http://www.novuscientifica.com/revista/publicacion/abril2016/A1V2ISSN2395-9932.pdf interfaz genéricos como los menús, barras de navegación, formularios, tablas, notificaciones, ventanas lightbox, etc. En el archivo principal de estilos main.css se incluyó el código para importar los webfonts “Open Sans” e “Istok Web”. También fue necesario el uso de una librería para el control de carga dinámica de archivos, llamada dropzone.js, lo que permite arrastrar archivos desde el navegador de archivos del usuario, y subirlos al servidor mediante AJAX, lo que brinda comodidad al usuario. Maquetación de vistas Se desarrollaron vistas por separado de la lógica de negocios. La maquetación se programó antes de las clases, el código que manipula a la base de datos y provee las operaciones lógicas a la aplicación. En el proceso de maquetación se utilizaron herramientas de diseño como Adobe Photoshop CS6, para obtener los colores, tamaños de fuente y de los elementos, bordes y distancias. Éstos se traducen a las propiedades de las hojas de estilo tratando que sean lo más fieles posible al diseño. En ocasiones esto no es posible y se opta por cambiar unidades de medida, esto debido a la variedad de resoluciones de pantallas y navegadores web. Programación de controladores y conexión vista-controlador Para brindar una lógica de negocios separada de la interfaz de usuario (modelovista-controlador), los modelos de datos y manejadores de bases de datos se agrupan en un nombre de espacios (carpeta class). Para cada entidad establecida en el diagrama de objetos (UML) se crea una clase con dicho nombre (p.e.: class.usuario.php) haciendo uso de los principios y normas de la programación orientada a objetos, ésto es, se encapsulan sus campos, se provee una interfaz de acceso público, heredan de una superclase si es 13 ISSN: 2395-9932 Vol. 2. Núm. 1 http://www.novuscientifica.com/revista/publicacion/abril2016/A1V2ISSN2395-9932.pdf necesario, y se proveen métodos para inicializar o manipular los objetos de múltiples maneras dependiendo el entorno (polimorfismo). Además, se crean los objetos manager que proveen métodos para manipulación de registros y su traducción a los objetos de la aplicación. En general, se tienen al menos los métodos de lectura (getList), inserción de registro (save), modificación (update) y cambio de estados (updateStatus). Estas clases hacen uso del recurso de conexión a MySQL y es también responsable de la validación de roles y evitar que los usuarios generales tengan acceso a operaciones restringidas a los directivos o administradores del sistema. Las clases se documentan para proporcionar información al programador que hace uso de ellas y para futuros cambios en la funcionalidad de la aplicación. Esto se hace documentando la funcionalidad de cada clase, los parámetros, objeto de retorno y funcionalidades de cada método, y comentando las líneas de código complejas. Las vistas se encargan de analizar y controlar el flujo de la aplicación, es decir, en base a la solicitud del usuario (peticiones AJAX, GET o SET), se realizan las peticiones a los controladores correspondientes para brindar funcionalidad a los formularios, tablas y demás elementos de la interfaz de usuario. Pruebas y Mantenimiento del Software El personal de la empresa tuvo acceso durante 15 días a una versión de prueba de la aplicación con la posibilidad de realizar pruebas funcionales y detectar errores en la aplicación, se corrigieron y finalmente se autorizó la generación de la versión final y del paquete de instalación. Para efectos de instalación y mantenimiento, se generó un paquete configurado para el primer uso del software, es decir, los archivos necesarios para hacer funcionar el 14 ISSN: 2395-9932 Vol. 2. Núm. 1 http://www.novuscientifica.com/revista/publicacion/abril2016/A1V2ISSN2395-9932.pdf sistema, se configuraron con los catálogos necesarios para poder iniciar, con registros en blanco de la base de datos de archivos y de esta manera pudieran comenzar con los códigos auto incrementables en cero. Resultados Las pruebas del sistema de producción demostraron que la velocidad de transferencia de archivos entre el servidor de la intranet y los usuarios es superior a la transferencia de archivos vía internet, en especial de archivos de gran tamaño, que localmente pueden transferirse en segundos mientras que vía internet puede llevar varios minutos. Se realizaron pruebas de usuario desde los navegadores Chrome 48.0.2564.116, Firefox 44.0.2 e Internet Explorer 10. Otros navegadores, o versiones antiguas de los ya mencionados no cuentan con estas pruebas y existe posibilidad de un funcionamiento anormal de algunas características del software. Se generaron dos manuales para este sistema: el manual técnico, que proporciona instrucciones para instalación y mantenimiento del sistema, y manuales de usuario para los usuarios finales del sistema. Así mismo, el CA llevó a cabo el registro de la aplicación web ante el Registro Público de Derechos de Autor de la Secretaría de Educación Pública con el certificado: 032015-042209590300-01. La vinculación de la academia y la industria permitió el desarrollo de este proyecto el cual abonó a la consolidación de competencias en la creación de software para 2 estudiantes de la carrera de Tecnologías de la Información y Comunicación, así como la transferencia de tecnología entre la Universidad Tecnológica de Jalisco y Laybon de México S.A de C.V. El modelo de estadía empresarial permitió que 3 académicos 15 ISSN: 2395-9932 Vol. 2. Núm. 1 http://www.novuscientifica.com/revista/publicacion/abril2016/A1V2ISSN2395-9932.pdf asesoraran y dirigieran este proyecto de acuerdo con las disciplinas a las cuales son afines. También, la implementación de las tecnologías de la información y comunicación permitió aumentar la eficiencia de todos los procesos administrativos y operativos de las empresas, ya que anteriormente todo el proceso era llevado de manera manual. 16 ISSN: 2395-9932 Vol. 2. Núm. 1 http://www.novuscientifica.com/revista/publicacion/abril2016/A1V2ISSN2395-9932.pdf Referencias Asociación de Proveedores Industriales Mexicanos. Mexican Sourcing Quality. Recuperado 18 de Julio del 2015.http://apimex.org/esp/somos.html. Cordinación General de Universidades Tecnológicas y Politécnicas. Modelo Educativo. Recuperado el 21 de Julio del 2015. http://cgut.sep.gob.mx/Areas/CoordAcademica/index.php. Damián Diaz G. Página oficial de Laybon de México S.A. de C.V. Recuperado el 03 de Enero del 2015. http://www.laybon.com.mx. Institute of Electrical and Electronics Engineers. Estandar IEEE 830 revisión 1998. Recuperado 03 de Marzo del 2015. https://standards.ieee.org/findstds/standard/830-1998.html Kendall Kenneth and Kendall Julie. (2011). Análisis y Diseño de Sistemas. Pearson Education, Octava Edición, México. Pressman, R. Ingeniería del Software, un enfoque práctico. (2010). McGraw-Hill. Séptima Edición. México. Sommerville, Ian (2014) Ingeniería de Software. Pearson Education. Novena Edición, México. Vega González, L.R. Modelo de gestión de proyectos de desarrollo tecnológico y vinculación de un centro I&DT universitario. Ingeniería Investigación y Tecnología. Volumen 12, No. 1. México. Enero Marzo 2011. Para citar el artículo (estilo APA): Macías, H.R, López, A. B., Quevedo, A.M. (2016). Aplicación Web para la Gestión de Versiones en Documentos de un Sistema de Gestión de Calidad como Herramienta para la Certificación en MSQ. Revista Novuscientífica 6.0. Vol. 2, Núm. 1.