• No se han encontrado resultados

Implementación de un sistema automatizado de gestión y control de activos fijos tangibles, útiles en uso y materiales gastables

N/A
N/A
Protected

Academic year: 2020

Share "Implementación de un sistema automatizado de gestión y control de activos fijos tangibles, útiles en uso y materiales gastables"

Copied!
74
0
0

Texto completo

(1)Ministerio de Educación Superior Universidad Central “Marta Abreu” de Las Villas Facultad de Matemática, Física y Computación Licenciatura en Ciencias de la Computación. Trabajo de Diploma. “Implementación de un sistema automatizado de gestión y control de activos fijos tangibles, útiles en uso y materiales gastables”. Autor: Yisly Exija Castro Tutor: Ing. Dannis Rivero Cañizares. SANTA CLARA - 2008 1.

(2) DEDICATORIA. A mi abuela: Caridad Pita Hernández. A mis padres: Lourdes Castro Pita y Eduardo Exija Castro 2.

(3) AGRADECIMIENTOS. A través de estas sencillas pero sinceras líneas quiero expresar mi gratitud hacia todas aquellas personas que de una forma u otra han contribuido a la realización de este trabajo y que a continuación relaciono: A mi novio Franklin Gómez Otero, por haber sido mi brazo derecho a través de todos estos meses de trabajo. A mi familia, en especial a mis padres, a quienes está dedicado este trabajo, por el esfuerzo y sacrificio que ha significado para ellos todos estos años de estudio, y por haberme ayudado a tomar la decisión correcta en los momentos difíciles. A todos mis amigos y compañeros de estudio, en especial a Yoel Lorenzo Padrón. A todos mis profesores a lo largo de la carrera, por haber contribuido a mi formación profesional. A mi tutor, Ing. Dannis Rivero Cañizares por su asesoría y orientación en este trabajo. Al personal del CDICT, en especial a Esperanza Santana Pérez, por el aporte de sus conocimientos sobre el proceso de control de Útiles en Uso y Materiales Gastables objeto de automatización. 3.

(4) PENSAMIENTO. En verdad no hay en la naturaleza un conocimiento tan fácil y asequible que no pueda llenar todo el espacio de una vida.. 4.

(5) RESUMEN. El presente trabajo consiste en el desarrollo de un sistema computacional para la gestión y el control de los activos fijos tangibles, útiles en uso y materiales gastables en el Centro de Documentación e Información Científico Técnica de la Universidad Central de Las Villas. El sistema se implementa como una aplicación Web utilizando para ello la plataforma de software libre LAMP (Linux como Sistema Operativo, Servidor Web Apache, Base de datos MySQL y PHP como lenguaje de programación). Mediante los subsistemas que integran la aplicación se logra la automatización de todas las actividades del proceso, garantizando así, inmediatez y eficiencia en la gestión de la información. La técnica de programación empleada permite la separación entre el código PHP y los documentos HTML, facilitando el mantenimiento del sistema. Entre las funcionalidades que se ofrecen al usuario están la obtención de diferentes tipos de reportes, la gestión de los movimientos efectuados y el chequeo mensual del diez por ciento.. 5.

(6) CONTENIDO. INTRODUCCIÓN ................................................................................................................................................. 7 CAPÍTULO 1 CONCEPTOS Y HERRAMIENTAS COMPUTACIONALES EMPLEADAS EN EL CONTROL DE LOS ÚTILES EN USO Y MATERIALES GASTABLES EN EL CDICT. ............................. 11 1.1 DEFINICIÓN Y CARACTERIZACIÓN DE ÚTILES EN USO. ......................................................................... 11 1.2 CARACTERIZACIÓN Y ESTRUCTURA DEL CDICT. ................................................................................. 12 1.3 PARTICULARIDADES DEL CONTROL DE LOS ÚTILES EN USO Y LOS MATERIALES G ASTABLES EN EL CDICT. ........................................................................................................................................................... 12 1.4 ¿APLICACIÓN CLIENTE – SERVIDOR O APLICACIÓN DE ESCRITORIO? ................................................ 18 1.5 ¿APLICACIÓN WEB O APLICACIÓN WINDOWS? ................................................................................... 19 1.6 PLATAFORMA WEB UTILIZADA. ........................................................................................................... 19 1.6.1 Linux ......................................................................................................................................... 21 1.6.2 Apache...................................................................................................................................... 21 1.6.3 MySQL ...................................................................................................................................... 22 1.6.4 PHP ........................................................................................................................................... 23 CAPÍTULO 2 ARQUITECTURA DEL SISTEMA. ........................................................................................... 27 2.1 MODELO DEL NEGOCIO.............................................................................................................................. 27 2.2 MODELO DE CASOS DE USO....................................................................................................................... 29 2.2.1 Actores y casos de uso del sistema. ......................................................................................... 29 2.2.2 Descripción de los casos de uso generales de cada actor. .................................................. 34 2.3 DISEÑO DE LA BASE DE DATOS. ................................................................................................................. 36 2.3.1 Diagrama Entidad - Relación. ..................................................................................................... 37 2.3.2 Modelo relacional.......................................................................................................................... 38 2.3 MODELO DE DESPLIEGUE. ......................................................................................................................... 43 2.4 MODELO DE IMPLEMENTACIÓN. ................................................................................................................. 44 CAPÍTULO 3 MANUAL DE USUARIO. .......................................................................................................... 54 3.1 ACCESO AL SISTEMA. ................................................................................................................................ 54 3.2 FUNCIONALIDADES DEL USUARIO ADMINISTRADOR. ............................................................................ 54 3.2.1 SUBSISTEMA DE ÚTILES EN USO ..................................................................................................... 55 3.2.1.1 Descripción del menú “Administrar”. ................................................................................. 55 3.2.1.2 Descripción del menú “Codificadores”. ............................................................................. 57 3.2.1.3 Descripción del menú “Inventario”. .................................................................................... 58 3.2.1.4 Descripción del menú “Movimientos”. ............................................................................... 60 3.2.1.5 Descripción del menú “Auditoría”. ..................................................................................... 63 3.2.2 SUBSISTEMA DE MATERIALES GASTABLES. ..................................................................................... 66 3.2.2.1 Descripción del menú “Codificadores”. ............................................................................. 67 3.2.2.2 Descripción del menú “Inventario”. .................................................................................... 67 Figura 3.21 Entrada de los materiales gastables. ............................................................................. 67 3.3 FUNCIONALIDADES DEL USUARIO T RABAJADOR. ................................................................................. 68 3.3.1 Descripción del menú “Usuario”. ........................................................................................ 68 3.3.2 Descripción del menú “Eventos”. ....................................................................................... 69 3.3.3 Descripción del menú “Reportes”. ...................................................................................... 70 CONCLUSIONES.............................................................................................................................................. 71 RECOMENDACIONES ..................................................................................................................................... 72 REFERENCIAS BIBLIOGRÁFICAS ............................................................................................................... 73 BIBLIOGRAFÍA ................................................................................................................................................. 74. 6.

(7) Introducción INTRODUCCIÓN. El hombre desde los mismos inicios de la civilización se ha visto obligado a llevar registros y controles de sus propiedades porque su memoria no basta para guardar la información requerida. Se ha demostrado a través de diversos historiadores que en épocas como la egipcia o romana, se empleaban técnicas contables que se derivaban del intercambio comercial. Surge así la contabilidad como una técnica que se ocupa de registrar, clasificar y resumir las operaciones mercantiles de un negocio con el fin de interpretar sus resultados.. El inicio de la literatura contable queda circunscrito a la obra del franciscano Fray Luca Paccioli de 1494 titulado "La Summa de Arithmética, Geometría Proportioni et Proportionalitá", en donde se considera el concepto de partida doble por primera vez.. Actualmente, dentro de lo que son los sistemas de información empresarial, la contabilidad se erige como uno de los sistemas más notables y eficaces para dar a conocer los diversos ámbitos de la información de las unidades de producción o empresas. El concepto ha evolucionado sobremanera, de forma que cada vez es mayor el grado de "especialización" de ésta disciplina dentro del entorno empresarial.. Dentro de la contabilidad el control del cuidado y explotación de los Activos Fijos Tangibles, Útiles en Uso y Material Gastable es un punto de interés para los directivos de cualquier organización. En nuestra Universidad su importancia es significativa para las áreas que la conforman, por ejemplo facultades, centros de investigación, áreas administrativas, etc.. El control de los Activos Fijos Tangibles, Útiles en Uso y Material Gastable en la Universidad Central de las Villas se realiza de forma centralizada por la Dirección de Economía, sin embargo como el centro esta formado por un conjunto de áreas lo suficientemente complejas se requiere de la existencia de un control interno en cada 7.

(8) Introducción una de ellas. Dada la complejidad cada vez mayor de las áreas universitarias y el incremento de los recursos asignados a las mismas se hace necesario disponer de un sistema de control automatizado de esta actividad, no ya desde el punto de vista contable sino desde el punto de vista físico. Una de estas áreas es el Centro de Documentación e Información Científico Técnica (CDICT), el cual ya cuenta con un sistema para el control de los Activos Fijos Tangibles que han ido en constante aumento. El sistema para el control de los Activos Fijos Tangibles en el CDICT. (MEDIBAS) por sus características no se ajusta al. manejo de los útiles en uso y los materiales gastables, los cuales tienen un tiempo de vida útil diferente al de los Activos Fijos Tangibles; además estos medios pueden sufrir sucesivas rotaciones ya sean de lugar, responsable, etc. Esta situación motivo que se decidiera desarrollar una segunda versión del sistema que permita además de la gestión de los Activos Fijos Tangibles la gestión de los útiles en uso y los materiales gastables. La utilización del sistema de control de los Activos Fijos Tangibles del CDICT en otras áreas de la Universidad ha ido en aumento por lo cual disponer de un eficaz sistema de control de los Activos Fijos Tangibles, los Útiles en Uso y los Materiales Gastables es de importancia vital, en tal sentido nos proponemos los siguientes objetivos: Objetivo general Desarrollar. un sistema computacional para el control de los Activos Fijos. Tangibles, los Útiles en Uso y los Materiales Gastables, en el Centro de Documentación e Información Científico Técnica de la UCLV, que permita gestionar la información de forma ágil y precisa, utilizando tecnología Cliente/Servidor y un lenguaje de programación de alto nivel, con la asesoría de los especialistas en el control de estos medios y sus particularidades en dicho centro. Objetivos específicos 1. Elaborar el diseño de la estructura informativa del sistema que permita la implementación final del software. 8.

(9) Introducción 2. Implementar el subsistema de administración del software que permita una eficaz gestión del mismo. 3. Implementar el subsistema de gestión de la información necesaria para codificar un útil en uso y los materiales gastables. 4. Implementar el subsistema encargado de realizar los ajustes de inventario para la entrada y la salida de los medios de rotación. 5. Implementar el subsistema encargado de realizar los ajustes de inventario para la entrada de los materiales gastables. 6. Implementar el subsistema encargado de la gestión de los movimientos realizados a los medios de rotación. 7. Implementar el subsistema de gestión de las tareas de auditoría como la obtención de diferentes tipos de reportes y el control mensual del 10% de los medios de rotación. 8. Implementar el subsistema de soporte al trabajador. Preguntas de investigación 1. ¿En qué formato generará el sistema los principales reportes, que permita controlar de forma más eficiente los útiles en uso y que responda a las necesidades del CDICT? 2. ¿De qué forma el sistema manejará la comunicación entre el responsable de un útil en uso y el administrador del centro para reportar y tramitar una rotura? 3. ¿Cómo llevar a cabo a través del sistema el control del 10% de los útiles en uso garantizando el máximo de seguridad y confiabilidad? Justificación de la investigación En la Dirección de Economía de la Universidad se lleva a cabo el control contable de los útiles en uso y los materiales gastables de todas las áreas de la universidad. Sin embargo, existen áreas que por sí solas son lo suficientemente grandes y complejas como para necesitar un control automatizado y especializado de esta actividad; entre ellas se encuentra el CDICT, área que cuenta con salas en diferentes facultades. Ello dificulta el manejo y control de sus Activos Fijos Tangibles, Útiles en Uso y Materiales 9.

(10) Introducción Gastables, actividad esta que requiere precisión y rigurosidad por el valor tangible e intangible que representan dichos medios. Un seguimiento automatizado puede garantizar estos requerimientos y agilizar la obtención de diferentes tipos de reportes e informaciones que requieren inmediatez durante un control o auditoría de una entidad superior. Por todo lo anteriormente planteado se hizo imprescindible el desarrollo de este sistema. El trabajo se ha estructurado de la siguiente forma: CAPÍTULO 1 Conceptos y herramientas computacionales empleadas en el control de los Activos Fijos Tangibles, los Útiles en Uso y los Materiales Gastables en el CDICT: en este capítulo se define el término Útiles en Uso y Materiales Gastables, la estructura y organización del CDICT, las particularidades del proceso de control de Útiles en Uso y Materiales Gastables en el CDICT y las tecnologías seleccionadas para el desarrollo del sistema. CAPÍTULO 2 Arquitectura del sistema: en este capítulo se presentan diferentes vistas de los modelos fundamentales obtenidos a lo largo del proceso de desarrollo, que en su conjunto constituyen la descripción de la arquitectura del software. CAPÍTULO 3 Manual de usuario: en este capítulo se explica el funcionamiento del sistema desde el punto de vista del usuario, a partir de la descripción de cada una de las opciones que se ofrecen y los pasos necesarios para la interacción con la interfaz gráfica de usuario.. 10.

(11) Capítulo 1. CAPÍTULO 1 Conceptos y herramientas computacionales empleadas en el control de los Útiles en Uso y Materiales Gastables en el CDICT. En el presente capítulo se abordan dos aspectos fundamentales relacionados con el sistema que se pretende desarrollar: las características del proceso que se quiere automatizar y las herramientas seleccionadas para su automatización. En el primer caso se exponen los conceptos y definiciones generales aplicadas al término Útiles en Uso y Materiales Gastables, las características y estructura del Centro de Documentación e Información Científico Técnica y las particularidades del control de los Útiles en Uso y los Materiales en dicho centro. En el segundo caso se plantean las tecnologías y herramientas computacionales seleccionadas para desarrollar el sistema y el análisis en el que se basaron esas decisiones.. 1.1 Definición y caracterización de Útiles en Uso. Útiles en Uso: conjunto de fondos de rotación y fondos de circulación de la empresa expresados en dinero. La primera de estas dos partes actúa en el proceso de producción; la segunda, en la esfera de la circulación. Por sus fuentes, los medios de rotación se dividen en propios (concedidos por el Estado a las empresas para que éstas satisfagan sus necesidades corrientes) y prestados (créditos del Banco para subvenir necesidades transitorias). Los útiles en uso se encuentran en constante movimiento, pasan sin cesar a través de la fase de producción a la esfera de la circulación, repiten una y otra vez este camino asegurando la continuidad de la rotación de los medios de la empresa, su normal actividad económica. Si se acelera el movimiento de los útiles en uso sin que se modifique el volumen de la producción realizada, la empresa necesita menos útiles en uso. Los que quedan libres, pueden utilizarse para satisfacer las necesidades de otras ramas de la producción, para aumentar las acumulaciones.. 11.

(12) Capítulo 1 Materiales Gastables: Son todos aquellos insumos necesarios para la normal actividad del área y que su depreciación producto de su misma utilización no implican ninguna acción. Entiéndase hojas, lápices, discos compactos, etc. 1.2 Caracterización y estructura del CDICT. El Centro de Documentación e Información Científico Técnica de la Universidad Central "Marta Abreu" de Las Villas se integra actualmente por la Biblioteca Universitaria "Chiqui Gómez Lubián Urioste", la Editorial Universitaria "Samuel Feijoo", el Grupo de Servicios Especializados y el Grupo de Informatización. (2006a) La Biblioteca Universitaria “Chiqui Gómez Lubián Urioste” es un sistema funcional que se integra en el seno del Centro de Documentación e Información Científico Técnica (CDICT), está compuesta por la Colección “Coronado” y por las 13 Bibliotecas que atienden a las Facultades, Centros de Estudio y UCT. En el edificio central de la BIBLIOTECA UNIVERSITARIA en el campus principal de la UCLV, se ubican las siguientes unidades y servicios: Colección Coronado, Grupo de Servicios Informáticos, Editorial “Samuel Feijoo”, la Bibliotecas de las Facultades de Ciencias Empresariales, Humanidades, Ciencias Sociales, Derecho y Psicología; las salas especializadas de las Bibliotecas de las Facultades de Ciencias Agropecuarias, Ingeniería Eléctrica, Ingeniería Mecánica, Química y Farmacia, Matemática, Física y Computación, Construcciones, las Bibliotecas del Centro de Estudios de Dirección y del IBP, se encuentran en sus respectivas dependencias. (2006c) 1.3 Particularidades del control de los útiles en uso y los Materiales Gastables en el CDICT. Desde el punto de vista del control de los útiles en uso que se realiza en la Dirección de Economía el CDICT constituye un Centro de Costo, por tal motivo, las operaciones de entrada y salida de los medios de rotación al centro son siempre tramitadas por la Dirección de Economía, entidad encargada de asignar el útil en uso al CDICT. A partir de ese momento el centro se hace cargo del cuidado y control de dicho medio, así como de gestionar cualquier tipo de movimiento que se lleve a cabo con él. Finalmente. 12.

(13) Capítulo 1 se produce la salida del útil en uso, operación que también depende de la Dirección de Economía. Dentro del Centro de Costo, y por tanto del CDICT, podemos identificar de forma general tres tipos de operaciones: entrada, movimientos y salida. Los movimientos se pueden también dividir en seis tipos: traslado entre áreas, cambio de responsable, roturas, préstamos a otros Centros de Costo, pérdidas. Se realiza la entrada de un útil en uso al centro después que la Dirección de Economía se lo ha asignado y el mismo viene con un conjunto de datos, entre ellos un código, descripción y valor. Una vez en el CDICT se le asigna un área, un responsable y la fecha de entrada al centro, con lo cual se pone en explotación.. Estando en explotación puede ocurrir cualquiera de los movimientos antes mencionados. Un traslado entre áreas implica la actualización del inventario y probablemente un cambio de responsable. Para el cambio de responsable se actualiza el inventario y se imprime la responsabilidad material del antiguo y el nuevo responsable. La responsabilidad material está amparada por el “Acta de fijación de la Responsabilidad Material” y un “Modelo de control” adjunto donde se listan los medios de rotación implicados, estos documentos tienen la estructura mostrada en las Figuras 1.2 y 1.3 respectivamente.. 13.

(14) Capítulo 1. MINISTERIO DE EDUCACIÓN SUPERIOR UNIVERSIDAD CENTRAL “Marta Abreu” DE LAS VILLAS. ACTA DE FIJACIÓN DE LA RESPONSABILIDAD MATERIAL. Centro de Costo. Código. Área de Responsabilidad. Código. Funcionario designado. Fecha. Funcionario que designa. Fecha. Motivos Bajo su responsabilidad y control quedan los UTILES Y HERRAMIENTAS del Área de Responsabilidad de la cual usted ha sido designado como CUSTODIO, los que puede verificar en el modelo de control que se adjunta. Cantidad de U y H:. Valor de los U y H.. La cantidad y valor de los U y H bajo su control pueden sufrir variación, pero ésta siempre debe estar amparada por la correspondiente documentación de alta o baja. En caso de faltante, extravío, pérdida, deterioro, etc, deberá responder de acuerdo con lo que se establece en el Decreto Ley No. 92 en su Artículo No. 1, en relación con el Artículo 3 que textualmente dice: La responsabilidad material comprenderá una de las medidas siguientes: a) La restitución de la cosa b) La reparación del daño material c) La indemnización de los perjuicios económicos. En caso de cesar en sus funciones en esta Área de Responsabilidad, se debe hacer un chequeo total y un ACTA del proceso de entrega, en la cual se señalará la situación de los Útiles y Herramientas que se entregan. Esta Acta será firmada por el CUSTODIO que entrega y el que recibe, con el Visto Bueno del funcionario que está facultado para designar custodios en esa Área de Responsabilidad. Certifico que estoy de acuerdo con los medios recibidos, los que ascienden al importe arriba mencionado y que se han utilizado los procedimientos establecidos al efecto. Funcionario que designa: Firma. Funcionario designado: Firma. Figura 1.2 Acta de fijación de la Responsabilidad Material. 14.

(15) Capítulo 1. Universidad Central “Marta Abreu” de Las Villas Responsabilidad Material de los Medios Rotación. Área de Trabajo: ________________________. Dpto.: ____________________. Por este medio se responsabiliza al siguiente compañero (a): ____________________ Con el control, cuidado y conservación de los medios de rotación del área de. A partir de este momento debe continuar con la actualización del registro por todos los movimientos que se realicen en los citados Medios Rotación.. Medios Rotación:. Descripción. Cantidad. Valor MN. VALORES TOTALES. _______________________. _____________________. Director. Admón. _________________ Trabajador. Figura 1.3 Modelo de control.. 15.

(16) Capítulo 1 En caso de ocurrir la rotura de un útil en uso, el responsable de éste reporta el hecho al administrador del centro, si dicho medio es reparable este avisa al taller para que envíen un técnico a revisar el medio, si se logra arreglar durante la revisión se pone de nuevo en explotación, de lo contrario se lleva para el taller. Si en el taller deciden que no tiene arreglo se procesa la salida haciendo la solicitud de baja, el resto del proceso después que se hace la solicitud de baja se describe más abajo en la operación de salida. Para el préstamo a otro Centro de Costo se utiliza el “REPORTE DE BAJA DEL INVENTARIO DE Útiles en Uso” con el nombre del Centro de Costo al que se le prestó el útil, fecha del préstamo y fecha de devolución, entre otros datos. Si ocurriese la pérdida de un útil en uso el responsable reporta el hecho al administrador del centro, éste llama a la policía, la cual elabora un acta que se envía a la Dirección de Economía junto con el Acta de fijación de la Responsabilidad Material. Si aparece se pone de nuevo en explotación, de lo contrario se procesa la salida.. 16.

(17) Capítulo 1. FAC. o DIRECCION ADM. (1). REPORTE DE BAJA DEL INVENTARIO DE MEDIOS ROTACION EN USO. Unidad (2) Motivo de baja o de la Alta: (3) Código: (5). Descripción (6). N-4 Calificación contable (7). U/M (8). Cantidad (9). (10). (11). FECHA Solicitado por: (12). Aprobado por: (14). Autorizado por: (16). Confirmado por: (18). Administrador. Decano o Director. Director Económico. Especialista. Firma: (13). Firma: (15). Firma: (17). Firma: (19). D. M. A. (20). (20). (20). Figura 1.4 Reporte de baja del inventario de medios de rotación en uso.. La operación de salida de un útil en uso puede tener causas internas como son una rotura irreparable o una pérdida definitiva y causas externas como puede ser un traslado a otro Centro de Costo. En los tres casos. se hace la solicitud de baja. mediante el “Reporte de baja del inventario de útiles en uso” (Figura 1.4), y en el caso de pérdida se reporta dentro del acta de medios salientes.. 17.

(18) Capítulo 1. En el caso de los materiales gastables, una vez asignados por la dirección de Economía, el administrador del CDICT los distribuye al personal seleccionado, controlándose para cada material su responsable.. 1.4 ¿Aplicación Cliente – Servidor o Aplicación de Escritorio? Después de un análisis preliminar de los requerimientos del sistema, se determinó la necesidad de hacer usuario del mismo a cada trabajador responsable de algún Activo Fijo Tangible, Útil en Uso y Material Gastable. Este requerimiento surge producto de la estructura que tiene en el CDICT la responsabilidad material, donde cada trabajador responde por aquellos medios con los que él trabaja directamente y ningún Activo Fijo Tangible, Útil en Uso y Material Gastable puede carecer de responsable, de manera que aquellos de uso común también tienen un responsable dentro del área en la que están ubicados. Esto es perfectamente viable debido a que en el CDICT casi la totalidad de sus trabajadores tienen acceso y utilizan la computación diariamente durante su jornada laboral, y a que se cuenta con la infraestructura de red y de servidores necesaria. Por estas razones se propone desarrollar una aplicación cliente-servidor. Además, con la división del problema en dos partes: cliente y servidor, se logra centralizar la administración en general a un solo lado: el servidor, resolviendo una gran cantidad de problemas anteriormente encontrados en las aplicaciones de escritorio mono usuario, como son: . Duplicidad de datos por la falta de unificación de los mismos.. . Diseminación de la información y lógica en muchas partes (cada computador que la use).. . Falta de portabilidad de la aplicación a diferentes sistemas operativos.. . Traumas a la hora de realizar actualizaciones o correcciones al programa ya que las instalaciones están diseminadas.. 18.

(19) Capítulo 1 . La administración de la seguridad, controlando el acceso de los usuarios a información no relevante o privada es un caos.. . Dificultad para configurar cada una de las instalaciones (deployments) dependiendo de las necesidades de cada usuario. (Alxplus, 2006). 1.5 ¿Aplicación Web o Aplicación Windows? Después de determinar el modelo de despliegue a utilizar la próxima decisión se convierte en qué tipo de interfaz emplear, para lo cual se propone desarrollar un sistema con interfaz Web, debido a las siguientes razones: las aplicaciones Web desde el punto de vista de la distribución de la aplicación son del tipo cliente ligero, lo cual ofrece las siguientes ventajas:  . Menos infraestructura en el lado cliente: reduce costes puesto que hay muchos clientes, pocos servidores.. . Administración más fácil: es decir, configuración, mantenimiento, despliegue; puesto que hay menos servidores que clientes.. . Menos tráfico en la red: debido a un nivel de servicio más abstracto ofrecido al cliente.. . Gestión de recursos centralizado: ayuda a asegurar la integridad de los datos, mayor nivel de seguridad, mejor detección de fallos.. . Más evolutivo: p.e. frente a un cambio del SGBD. (Lugo, 2003). 1.6 Plataforma Web utilizada. Una plataforma Web tiene cuatro componentes básicos: un sistema operativo, un servidor Web, una base de datos y un lenguaje de programación (Daccach, 2006). El estudio de las alternativas de solución se ve generalmente dominado por dos opciones, siendo una de ellas la que utiliza software de Microsoft (Base de datos Access o SQL Server dependiendo de la cantidad de datos que se vaya a almacenar, Sistema Operativo Windows 2000 Server, Servidor Web IIS y ASP como lenguaje de programación para la interconexión de las páginas con la base de datos) y la otra la que usa software libre, y que se denomina LAMP (Linux como Sistema Operativo, 19.

(20) Capítulo 1 Servidor Web Apache, Base de datos MySQL y PHP como lenguaje de programación para las páginas dinámicas). (Sánchez, 2005) Para el desarrollo de este sistema se propone la instalación de un sistema LAMP, explicándose a continuación con más detalle cada una de las herramientas que conforman dicho sistema y las utilizadas para su mantenimiento e implementación. LAMP es el acrónimo de Linux, Apache, MySQL y PHP, y está considerada como una de las mejores herramientas que el software libre proporciona y que permite a cualquier organización o individuo tener un servidor Web versátil y robusto, además de su principal ventaja: el coste económico. Su mantenimiento se reduce a la actualización de paquetes descargados por Internet y su nivel de seguridad es muy bueno, al liberarse parches de seguridad al muy poco tiempo de declararse una alerta. (Sánchez, 2005) Aunque creadas por separado, cada una de las tecnologías que lo forman dispone de una serie de características comunes. Especialmente interesante es el hecho de que estos cuatro productos pueden funcionar en una amplia gama de arquitecturas hardware (Intel y compatibles, SPARC, Mips y Macintosh) realizando pocos cambios en un código relativamente sencillo sin perder estabilidad y garantizando por tanto, la portabilidad (Sánchez, 2005).. Esto ha convertido a LAMP en la alternativa más adecuada para pequeñas y medianas empresas, en resumen se pueden identificar las siguientes ventajas de esta plataforma: . El tiempo de desarrollo en PHP es menor al tener a su disposición una enorme cantidad de clases de programación preconstruidas.. . La velocidad de operación es mayor.. . El requerimiento de hardware es menos demandante que con Solaris o Windows XP Server.. . Se soporta una gran cantidad de tecnologías adicionales (PDF, Flash, FTP, etc.), lo que hace más flexible el producto final.. 20.

(21) Capítulo 1 . Se pueden generar certificados de autenticación propios para asegurar las transacciones encriptadas por Internet.. . El servidor puede incluir un cortafuegos para evitar intrusiones y asegurar la continuidad de operación. Es además inmune a más del 99% de los virus en Internet. (Luna, 2005). Seguidamente se exponen cada uno de los componentes de la plataforma LAMP por separado, explicando sus características principales y comentando las ventajas de cada uno de ellos. 1.6.1 Linux Linux hace referencia al kernel del sistema operativo (SO) de código abierto creado originalmente por Linus Torvalds. Desde sus comienzos como hobby para estudiantes de universidad, Linux ha ganado peso, convirtiéndose en una familia de sistemas operativos fiables, que son utilizados tanto por grandes como pequeñas compañías a nivel mundial. Gracias al desarrollo de la comunidad open source en pro del propio kernel del SO, la labor de desarrolladores individuales, así como un buen número de versiones comerciales apoyadas por proveedores, Linux es considerado una elección segura y fiable para muchas aplicaciones servidor. (2006b). 1.6.2 Apache Apache es el servidor Web por excelencia, con algo más de un 60% de los servidores de Internet confiando en él. Entre sus características más sobresalientes están: . Fiabilidad: Alrededor del 90% de los servidores con más alta disponibilidad funcionan con Apache.. . Gratuidad: Apache es totalmente gratuito, y se distribuye bajo la licencia Apache Software License, que permite la modificación del código.. . Extensibilidad: se pueden añadir módulos para ampliar las ya de por sí extensas capacidades de Apache. Hay una gran variedad de módulos, que permiten desde generar contenido dinámico (con PHP, Java, Perl, Python, ...), monitorizar el rendimiento del servidor, atender peticiones encriptadas por SSL, hasta crear 21.

(22) Capítulo 1 servidores virtuales por IP o por nombre (varias direcciones Web son manejadas en un mismo servidor) y limitar el ancho de banda para cada uno de ellos. Dichos módulos pueden incluso ser creados por cualquier persona con conocimientos de programación. (Sánchez, 2005) 1.6.3 MySQL MySQL es un sistema para la administración de bases de datos relacional (RDBMS) rápido y sólido. Las bases de datos permiten almacenar, buscar, ordenar y recuperar datos de forma eficiente. El servidor de MySQL controla el acceso a los datos para garantizar el uso simultáneo de varios usuarios, para proporcionar acceso a dichos datos y para asegurarse de que sólo obtienen acceso a ellos los usuarios con autorización. Por lo tanto, MySQL es un servidor multiusuario y de subprocesamiento múltiple. Utiliza SQL (del inglés Structured Query Language, Lenguaje de consulta estructurado), el lenguaje estándar para la consulta de bases de datos utilizado en todo el mundo. MySQL lleva disponible desde 1996 pero su nacimiento se remonta a 1979. Ha obtenido el galardón Choice Award del Linux Journal Readers en varias ocasiones. MySQL se distribuye bajo una licencia de código abierto en la actualidad, pero también existen licencias comerciales. Entre los competidores principales de MySQL, se puede citar a PostgreSQL, Microsoft SQL Server y Oracle. MySQL cuenta con muchas ventajas, entre las que se encuentran las siguientes: . Alto rendimiento.. . Bajo coste.. . Facilidad de configuración y aprendizaje.. . Portabilidad.. . Accesibilidad a código fuente. (Welling, 2003). 22.

(23) Capítulo 1 A continuación se comentan en más detalle estas cualidades. Rendimiento MySQL es muy rápido. Si se desea, se puede consultar la página de indicadores comparativos de sus desarrolladores en el sitio Web mysql.com. Estos indicadores revelan en muchos casos una diferencia de velocidad abismal con respecto a los productos de la competencia. Bajo coste MySQL está disponible de manera gratuita, bajo una licencia de código abierto, o por un precio reducido en forma de licencia comercial si resultara necesario para su aplicación. Facilidad de uso Las bases de datos más modernas utilizan SQL. MySQL resulta además más sencillo de configurar que otros productos similares. PortabiIidad MySQL se puede utilizar en una gran cantidad de sistemas Unix diferentes así como bajo Microsoft Windows. Código fuente Como en el caso de PHP, se puede obtener y modificar el código fuente de MySQL. (Welling, 2003) 1.6.4 PHP PHP es un lenguaje de secuencia de comandos de servidor diseñado específicamente para la Web. Dentro de una página Web puede incrustar código PHP que se ejecutará cada vez que se visite una página. El código PHP es interpretado en el servidor Web y genera código HTML y otro contenido que el visitante verá. PHP fue concebido en 1994 y es fruto del trabajo de un hombre, Rasmus Lerdorf. Ha sido adoptado por otras personas de talento y ha experimentado tres transformaciones 23.

(24) Capítulo 1 importantes hasta convertirse en el producto actual. En octubre del 2002, era utilizado por más de nueve millones de dominios de todo el mundo y su número crece rápidamente. PHP es un producto de código abierto, lo que quiere decir que puede acceder a su código, utilizarlo, modificarlo y redistribuirlo sin coste alguno. Las siglas PHP equivalían inicialmente a Personal Home Page (Página de inicio personal) pero se modificaron de acuerdo con la convención de designación de GNU (del ingles, Gnu's Not Unix, Gnu no es Unix) y ahora equivale a PHP Hipertext Preprocessor (Preprocesador de hipertexto PHP). Entre los competidores principales de PHP se puede citar a Perl, Microsoft Active Server Pages (ASP), Java Server Pages (JSP) y Allaire ColdFusion. En comparación con estos productos, PHP cuenta con muchas ventajas, entre las que se encuentran las siguientes: . Alto rendimiento.. . Interfaces para una gran cantidad de sistemas de bases de datos diferentes.. . Bibliotecas incorporadas para muchas tareas Web habituales.. . Bajo coste.. . Facilidad de aprendizaje y uso.. . Portabilidad.. . Acceso al código abierto.. A continuación se comentan en más detalle estas cualidades.. Rendimiento PHP es muy eficiente. Mediante el uso de un único servidor, puede servir millones de accesos al día. Los indicadores comparativos de rendimiento publicados por Zend Technologies muestran que PHP supera ampliamente a sus competidores en esta faceta. 24.

(25) Capítulo 1 Integración de bases de datos PHP dispone de una conexión propia a todos los sistemas de bases de datos. Además de MySQL, puede conectarse directamente a las bases de datos de PostgreSQL, mSQL, Oracle, dbm, filepro, Hyperwave, Informix, InterBase y Sybase, entre otras. El uso de ODBC (del inglés Open Database Connectivity Standard, Estándar de conectividad abierta de base de datos) permite establecer una conexión a cualquier base de datos que suministre un controlador ODBC. Entre ellas, se incluyen los productos de Microsoft, y muchos otros. Bibliotecas incorporadas Como se ha diseñado para su uso en la Web, PHP incorpora una gran cantidad de funciones integradas para realizar útiles tareas relacionadas con la Web. Puede generar imágenes GIF al instante, establecer conexiones a otros servicios de red, enviar correos electrónicos, trabajar con cookies y generar documentos PDF, todo con unas pocas líneas de código. Coste PHP es gratuito. Se puede descargar la última versión de http://www.php.net cuando lo desee sin coste alguno. Aprendizaje de PHP La sintaxis de PHP se basa en otros lenguajes de programación, principalmente en C y Perl, de manera que su aprendizaje resulta sencillo si ya existe familiaridad con estos lenguajes. Portabilidad PHP está disponible para una gran cantidad de sistemas operativos diferentes. Se puede escribir código PHP en todos los sistemas operativos gratuitos del tipo Unix, como Linux y FreeBSD, versiones comerciales de Unix, como Solaris e IRIX o en las diferentes versiones de Microsoft Windows. Su código funcionará sin necesidad de aplicar ninguna modificación a los diferentes sistemas que ejecuten PHP.. 25.

(26) Capítulo 1 Código fuente Se dispone de acceso al código fuente de PHP. A diferencia de los productos comerciales y de código cerrado, es posible modificar algo o agregar un elemento al programa, con total libertad. No es necesario esperar a que el fabricante publique parches, y tampoco se corre el riesgo de que el fabricante cierre sus puertas o decida abandonar el producto. (Welling, 2003) Además de todo lo anteriormente planteado los desarrolladores de PHP cuentan con una herramienta que facilita en gran medida el proceso de desarrollo, se trata de la biblioteca base de PHP: PHPLIB (PHP Base Library). La biblioteca contribuye a la implementación de aplicaciones Web de bases de datos de mediano a gran tamaño, es decir, aplicaciones que hacen uso de una base de datos SQL para crear contenido HTML y que usan formularios HTML para gestionar transacciones de bases de datos, como es el caso del sistema que se analiza. Entre las funcionalidades que ofrece la biblioteca se encuentra la administración de plantillas y sustitución de variables, lo cual permite crear interfaces de usuario fácilmente personalizables en cualquier momento sin tener que modificar el código de la aplicación. (Kabir, 2003). 26.

(27) CAPÍTULO 2 Arquitectura del sistema. En el presente capítulo se abordan los aspectos relacionados con la arquitectura del sistema; para lo cual se presentan los artefactos resultantes de algunos de los flujos de trabajo; a lo largo de las sucesivas iteraciones de cada una de las cuatro fases del proceso de desarrollo de software: inicio, elaboración, construcción y prueba. El primer epígrafe del capítulo está dedicado al modelo del negocio y el resto describe diferentes vistas del modelo del sistema como una vista del modelo de casos de uso, una vista del modelo de diseño, una vista del modelo de despliegue y una vista del modelo de implementación, que en su conjunto conforman una descripción de la arquitectura del sistema, resaltando en cada caso aquellos artefactos esenciales desde el punto de vista arquitectónico. 2.1 Modelo del negocio. Mediante la técnica de modelado del negocio se describió el proceso de control de útiles en uso y de los materiales gastables en el CDICT, a partir de la identificación de cada una de las actividades que intervienen en el proceso, y los diferentes flujos de trabajo que se siguen para llevar a cabo las operaciones propias de la actividad. La Figura 2.1 muestra el diagrama de actividad del negocio donde cada calle representa el actor del negocio responsable de ejecutar las actividades ubicadas dentro de dicha calle.. 27.

(28) Capítulo 2. 28.

(29) Capítulo 2 2.2 Modelo de casos de uso. Después de haber alcanzado un firme conocimiento del contexto en el que se emplaza el sistema mediante el modelado del negocio y utilizando este modelo como entrada se elaboró el modelo de casos de uso como parte del proceso de captura de requisitos, identificando un actor por cada actor del negocio que se convertirá en usuario del sistema y luego definiendo sus casos de uso según los roles en que participe. 2.2.1 Actores y casos de uso del sistema. Los actores del sistema los constituyen el administrador del CDICT y el trabajador, donde el administrador se considera, a la vez, un trabajador como se muestra en la Figura 2.2.. Figura 2.2 Actores del sistema.. Los casos de uso generales del actor “Administrador” se muestran en la siguiente figura:. 29.

(30) Capítulo 2. Figura 2.3 Casos de uso del actor “Administrador”.. Luego de realizar el refinamiento de los casos de uso generales del actor “Administrador” se obtienen los siguientes diagramas:. 30.

(31) Capítulo 2. 31.

(32) Capítulo 2. Figura 2.4 Refinamiento de los casos de uso del actor “Administrador”.. 32.

(33) Capítulo 2. Los casos de uso generales del actor “Trabajador” se muestran en la siguiente figura:. Figura 2.5 Casos de uso del actor “Trabajador”.. Luego de realizar el refinamiento de los casos de uso generales del actor “Trabajador” se obtienen los siguientes diagramas:. 33.

(34) Capítulo 2. Figura 2.6 Refinamiento de los casos de uso del actor “Trabajador”.. 2.2.2 Descripción de los casos de uso generales de cada actor. A continuación se presenta la descripción de cada uno de los casos de uso generales del actor “Administrador”: Caso de uso. Descripción. Administrar el sistema. El actor “Administrador” utiliza el caso de uso “Administrar el sistema” para crear y eliminar cuentas de usuario, modificar cuentas ya creadas y cambiar su contraseña.. Gestionar codificadores. El actor “Administrador” utiliza el caso de uso “Gestionar codificadores” para editar los datos de las áreas del centro, sus trabajadores, los compradores y las descripciones posibles de los útiles en uso y los materiales gastables. Estos datos serán utilizados luego para realizar la entrada de los útiles en uso y los materiales gastables.. Realizar ajustes de inventario. El actor “Administrador” utiliza el caso de uso “Realizar ajustes de inventario” para darle entrada al 34.

(35) Capítulo 2 sistema a los útiles en uso y los materiales gastables, y salida del sistema a los útiles en uso. Para darle entrada a un útil en uso o material gastable se tienen que haber entrado primero los codificadores correspondientes. Gestionar movimientos. El actor “Administrador” utiliza el caso de uso “Gestionar movimientos” para controlar y darle seguimiento a los diferentes movimientos que pueden ocurrir con los útiles en uso , como son, el traslado entre áreas, el cambio de responsable, la rotura, el préstamo a otro centro de costo, la pérdida y la gestión de los útiles en uso ociosos.. Gestionar tareas de auditoría. El actor “Administrador” utiliza el caso de uso “Gestionar tareas de auditoría” para realizar tareas de control sobre los útiles en uso y los materiales gastables, como la obtención de un conjunto de reportes agrupados por diferentes campos, incluyendo el historial de movimientos de un útil en uso, los cuales permiten localizar fácilmente cualquier útil en uso y conocer su estado, generar un conjunto de documentos que dan soporte a los movimientos y tramitar el chequeo mensual del 10% de los útiles en uso.. Seguidamente se presenta la descripción de cada uno de los casos de uso generales del actor “Trabajador”: Caso de uso. Descripción. Cambiar su contraseña. El actor “Trabajador” utiliza el caso de uso “Cambiar su contraseña” para cambiar su contraseña.. Gestionar eventos. El actor “Trabajador” utiliza el caso de uso “Gestionar eventos” para reportar sucesos que pueden eventualmente ocurrirle a alguno de sus útiles en uso como la rotura y la pérdida, y para chequear la presencia de aquellos útiles en uso bajo su responsabilidad que entren en el 10% del mes 35.

(36) Capítulo 2 actual. Obtener reportes de sus útiles El actor “Trabajador” utiliza el caso de uso “Obtener en uso reportes de sus útiles en uso” para generar un listado de sus útiles en uso agrupados por comprador y por descripción, y para obtener el historial de movimientos de cualquiera de sus útiles en uso. 2.3 Diseño de la base de datos. Después de realizar un detallado análisis del proceso de control de útiles en uso y de los materiales gastables, y de la información que se tramita en el mismo a partir de las entrevistas efectuadas a los especialistas y del estudio de los documentos, registros y modelos se identificaron las siguientes entidades: Nombre de la entidad. Descripción. MEDIOROTACION. Representa un útil en uso.. AREA. Representa un área o local de trabajo dentro del centro.. TRABAJADOR. Representa un trabajador del centro.. MRDESCRIPCION. Representa una descripción que caracteriza a los útiles en uso y los materiales gastables.. COMPRADOR. Representa el origen del medio: VLIR, UCLV, etc.. CUENTA. Representa una cuenta de usuario del sistema.. MRCHEQUEO10. Representa el chequeo de la existencia de un útil en uso en un mes determinado.. MRMOVIMIENTO. Representa un movimiento genérico con una fecha de inicio y una de fin.. MRTRASLADO. Representa un traslado entre áreas.. MRCAMBIORESP. Representa un cambio de responsable.. MRROTURA. Representa una rotura de un útil en uso.. MRPRESTAMO. Representa el préstamo de un útil en uso a otro centro de costo. 36.

(37) Capítulo 2 MRPERDIDA. Representa la pérdida de un útil en uso.. MROCIOSO. Representa el estado ocioso de un útil en uso.. MATERIALGASTABLE. Representa una cantidad asignada de un tipo de material gastable en una fecha determinada y a un responsable determinado.. 2.3.1 Diagrama Entidad - Relación. Las entidades identificadas se relacionan como se muestra en la siguiente figura:. Figura 2.7 Diagrama Entidad – Relación de la base de datos.. 37.

(38) Capítulo 2. 2.3.2 Modelo relacional. A partir del diagrama Entidad – Relación de la base de datos se obtuvo el siguiente modelo relacional: MEDIOROTACION (id_medior, nroinv, valormn, valorcuc, fecha_pe, estado, id_descripcion, id_comprador, id_trabajador, id_area) AREA (id_area, nombrearea) TRABAJADOR (id_trabajador, carnet, nombre, apellido1, apellido2) MRDESCRIPCION (id_descripcion, ndescripcion, tipo) COMPRADOR (id_comprador, nombrecomp) CUENTA (id_trabajador, username, password, rol) MRCHEQUEO10 (id_chequeo, mes_chequeo, year_chequeo, chequeadopor, presencia, id_medior) MRMOVIMIENTO (id_movimiento, fecha_inicio, fecha_fin, area, responsable, tipo, id_medior) MRTRASLADO (id_movimiento, area_destino) MRCAMBIORESP (id_movimiento, responsable_despues) MRROTURA (id_movimiento, detalle) MRPRESTAMO (id_movimiento, centro_costo, responsable, fecha_devolucion) MRPERDIDA (id_movimiento, causa_perdida) MROCIOSO (id_movimiento, causa) MATERIALGASTABLE(id_matg, id_trabajador, id_area, id_descripcion, cantidad, fecha_alt) A continuación se presenta la descripción de cada uno de los atributos por entidad: Entidad:. MEDIOROTACION. Atributo. Tipo. Descripción. id_medior. int(11). Llave primaria.. 38.

(39) Capítulo 2 nroinv. varchar(9). Código del útil en uso.. valormn. float. Valor inicial en moneda nacional.. valorcuc. float. Valor inicial en CUC.. fecha_pe. date. Fecha de puesta en explotación.. estado. varchar(255). Estado del útil en uso, puede tomar uno de los siguientes valores: ACTIVO, OCIOSO, REPARACION, PRESTADO, PERDIDO.. id_descripcion. int(11). Llave extranjera proveniente de MRDESCRIPCION.. id_comprador. int(11). Llave extranjera proveniente de COMPRADOR.. id_trabajador. int(11). Llave extranjera proveniente de TRABAJADOR.. id_area. int(11). Llave extranjera proveniente de AREA.. Entidad:. AREA. Atributo. Tipo. Descripción. id_area. int(11). Llave primaria.. nombrearea. varchar(255). Nombre del área.. Entidad:. TRABAJADOR. Atributo. Tipo. Descripción. id_trabajador. int(11). Llave primaria.. carnet. char(11). Carnet de identidad del trabajador.. nombre. varchar(255). Nombre del trabajador.. apellido1. varchar(255). Primer apellido del trabajador.. 39.

(40) Capítulo 2 apellido2. varchar(255). Entidad:. Segundo apellido del trabajador.. MRDESCRIPCION. Atributo. Tipo. Descripción. id_descripcion. int(11). Llave primaria.. ndescripcion. varchar(255). Nombre de la descripción.. tipo. int(1). Tipo de la descripción (útil en uso o material gastable). Entidad:. COMPRADOR. Atributo. Tipo. Descripción. id_comprador. int(11). Llave primaria.. nombrecomp. varchar(255). Nombre del comprador.. Entidad:. CUENTA. Atributo. Tipo. Descripción. id_trabajador. int(11). Llave primaria y extranjera proveniente de TRABAJADOR.. username. varchar(255). Nombre de usuario.. password. varchar(255). Contraseña.. rol. varchar(20). Rol del usuario: Administrador o Trabajador.. Entidad:. MRCHEQUEO10. Atributo. Tipo. Descripción. id_chequeo. int(11). Llave primaria.. mes_chequeo. int(11). Mes del chequeo. 40.

(41) Capítulo 2 year_chequeo. int(11). Año del chequeo.. chequeadopor. varchar(255). Nombre completo del trabajador que chequeó el útil en uso.. presencia. varchar(255). Define si el útil en uso está o no en el lugar correcto cuando se hace el chequeo.. id_medior. int(11). Llave extranjera proveniente de MEDIOROTACION.. Entidad:. MRMOVIMIENTO. Atributo. Tipo. Descripción. id_movimiento. int(11). Llave primaria.. fecha_inicio. date. Fecha de inicio del movimiento.. fecha_fin. date. Fecha de fin del movimiento.. area. varchar(255). Área del útil en uso en el momento del movimiento.. responsable. varchar(255). Responsable del útil en uso en el momento del movimiento.. tipo. varchar(255). Tipo de movimiento, puede tomar uno de los siguientes valores: TRASLADO, CAMBIORESP, ROTURA, PRESTAMO, PERDIDA, MROCIOSO.. id_medior. int(11). Llave extranjera proveniente de MEDIOROTACION.. Entidad:. MRTRASLADO. Atributo. Tipo. Descripción. id_movimiento. int(11). Llave primaria y extranjera proveniente de MRMOVIMIENTO.. area_destino. varchar(255). Área hacia donde se traslada el útil en uso.. 41.

(42) Capítulo 2 Entidad:. MRCAMBIORESP. Atributo. Tipo. Descripción. id_movimiento. int(11). Llave primaria y extranjera proveniente de MRMOVIMIENTO.. responsable_despues varchar(255). Nombre completo del trabajador que pasa a ser responsable del útil en uso después del cambio.. Entidad:. MRROTURA. Atributo. Tipo. Descripción. id_movimiento. int(11). Llave primaria y extranjera proveniente de MRMOVIMIENTO.. detalle. varchar(255). Descripción del problema que presenta el útil en uso al descubrirse la rotura.. Entidad:. MRPRESTAMO. Atributo. Tipo. Descripción. id_movimiento. int(11). Llave primaria y extranjera proveniente de MRMOVIMIENTO.. centro_costo. varchar(255). Centro de costo al que se le prestó el útil en uso.. responsable. varchar(255). Responsable del útil en uso en ese centro de costo.. fecha_devolucion. date. Fecha acordada de devolución.. 42.

(43) Capítulo 2 Entidad:. MRPERDIDA. Atributo. Tipo. Descripción. id_movimiento. int(11). Llave primaria y extranjera proveniente de MRMOVIMIENTO.. causa_perdida. varchar(255). Causa de la pérdida.. Entidad:. MROCIOSO. Atributo. Tipo. Descripción. id_movimiento. int(11). Llave primaria y extranjera proveniente de MRMOVIMIENTO.. causa. varchar(255). Causa del cambio de estado de activo a ocioso.. Entidad:. MATERIALGASTABLE. Atributo. Tipo. Descripción. id_matg. int(11). Llave primaria.. id_trabajador. int(11). Llave extranjera proveniente de TRABAJADOR.. id_area. int(11). Llave extranjera proveniente de AREA.. id_descripcion. int(11). Llave extranjera proveniente de MGDESCRIPCION.. cantidad. int(4). Cantidad de material gastable.. fecha_alt. date. Fecha de asignación a un responsable.. 2.3 Modelo de despliegue. El sistema automatizado de gestión y control de activos fijos tangibles, útiles en uso y materiales gastables se ejecutará sobre un nodo servidor y un cierto número de nodos cliente. En el nodo servidor se ejecuta la capa de servicios de datos (base de datos) y la capa de servicios de negocio (lógica de la aplicación). Los usuarios finales, como el 43.

(44) Capítulo 2 Trabajador, acceden al sistema mediante nodos cliente, donde ejecuta la capa de servicios de usuario (interacciones de los usuarios). Estos nodos se comunican mediante el protocolo TCP/IP de Internet e Intranet; véase la Figura 2.8.. Figura 2.8 Diagrama de despliegue para el sistema.. 2.4 Modelo de implementación. A lo largo de las sucesivas iteraciones a través de los diferentes flujos de trabajo y utilizando los casos de uso identificados durante la captura de requisitos como guía del proceso de desarrollo se obtuvieron los siguientes subsistemas de implementación:  Subsistema de gestión y control de útiles en uso.  Subsistema de administración: agrupa los componentes que implementan la realización del conjunto de casos de uso que extienden al caso de uso general “Administrar el sistema”.  Subsistema de codificadores: agrupa los componentes que implementan la realización del conjunto de casos de uso que extienden al caso de uso general “Gestionar codificadores” para el caso específico de los útiles en uso.. 44.

(45) Capítulo 2  Subsistema de inventario: agrupa los componentes que implementan la realización del conjunto de casos de uso que extienden al caso de uso general “Realizar ajustes de inventario” para el caso específico de los útiles en uso.  Subsistema de movimientos: agrupa los componentes que implementan la realización del conjunto de casos de uso que extienden al caso de uso general “Gestionar movimientos”.  Subsistema de auditoría: agrupa los componentes que implementan la realización del conjunto de casos de uso que extienden al caso de uso general “Gestionar tareas de auditoría” para el caso específico de los útiles en uso.  Subsistema del trabajador: agrupa los componentes que implementan la realización del conjunto de casos de uso del actor Trabajador.  Subsistema de gestión y control de materiales gastables.  Subsistema de codificadores: agrupa los componentes que implementan la realización del conjunto de casos de uso que extienden al caso de uso general “Gestionar codificadores” para el caso específico de los materiales gastables.  Subsistema de inventario: agrupa los componentes que implementan la realización del conjunto de casos de uso que extienden al caso de uso general “Realizar ajustes de inventario” para el caso específico de los materiales gastables.  Subsistema de auditoría: agrupa los componentes que implementan la realización del conjunto de casos de uso que extienden al caso de uso general “Gestionar tareas de auditoría” para el caso específico de los materiales gastables. En la siguiente figura se muestran las dependencias entre los componentes del sistema:. 45.

(46) Capítulo 2. Figura 2.9 Diagrama de componentes. 46.

(47) Capítulo 2 Para la manipulación de la base de datos dentro del sistema se utilizaron las clases TConnection, TTable y TQuery, las cuales tienen como responsabilidad llevar a cabo la transferencia de datos hacia y desde la base de datos utilizando para ello las funciones MySQL que ofrece PHP. A continuación se presentan las interfaces de cada una de estas clases en PHP.. Figura 2.10 Interfaz de la clase TConnection.. Figura 2.11 Interfaz de la clase TQuery.. 47.

(48) Capítulo 2. Figura 2.12 Interfaz de la clase TTable.. La clase TConnection tiene como único método el constructor de la misma, dentro del cual se crea la conexión con el servidor y se selecciona la base de datos asignando un mensaje de error al atributo $error en caso de que ocurriera alguno, de lo contrario le asigna la cadena vacía; los parámetros para establecer la conexión y seleccionar la base de datos se toman de los atributos de la clase. La clase TTable tiene una instancia por cada tabla de la base de datos y modela la tabla como un conjunto de registros donde el último siempre está vacío y en cada 48.

(49) Capítulo 2 momento existe un registro activo sobre el cual se realizan las operaciones. Los métodos fundamentales son: . post($record): Se le pasa como parámetro un arreglo asociativo donde cada elemento representa un campo de la tabla siendo el índice el nombre del campo. Si el registro activo es el último (vacío) se realiza una inserción, de lo contrario se realiza una actualización.. . deleteRecord(): Elimina el registro activo.. . recordSet(): Devuelve el conjunto completo de registros de la tabla.. . first(),last(),next(),prior(): Mueven el registro activo al primero, el último, el siguiente y el anterior respectivamente.. . append(): Convierte el último registro en el registro activo.. . activeRecord(): Devuelve el registro activo.. . locate($campo,. $valor): Localiza el valor $valor dentro del campo. $campo, haciendo activo el registro donde lo encuentre. Si no lo encuentra u ocurre un error el atributo $error recibe el mensaje correspondiente. . secondaryKey($seckey, $value): Devuelve true si existe el valor $value en el campo $seckey y false en caso contrario, no considera el valor que tiene el registro activo en el campo $seckey y no mueve el registro activo. Se utiliza a la hora de actualizar o insertar un registro para chequear que no exista ya ese valor dentro de ese campo; esto garantiza, por ejemplo, que no hayan números de inventario repetidos en la tabla MEDIOBASICO.. La clase TQuery tiene como finalidad realizar consultas SQL a la base de datos. La sentencia SQL a ejecutar se especifica en el atributo $sql, ésta puede contener parámetros, los cuales se identifican precediéndolos por dos puntos (“:”) y deben ser definidos en el atributo $parameters antes de ejecutar la consulta con el método open() si se trata de una consulta de selección o con el método execSQL() si se trata de una inserción, eliminación o actualización. Todos los objetos TQuery y TTable del sistema son creados en los archivos MDQueries.php y MDTables.php respectivamente, los cuales funcionan como módulos de datos que luego son utilizados por el resto de los componentes de código fuente, 49.

(50) Capítulo 2 concentrando los objetos de manipulación de la base de datos en un único lugar y facilitando así el mantenimiento del sistema. La Figura 2.13 muestra la definición de una sentencia SQL y la creación del objeto TQuery correspondiente, el cual obtiene el listado de todos los útiles en uso prestados actualmente, es decir, aquellos cuyo estado es prestado, donde el tipo de movimiento es préstamo (pues cada útil en uso puede sufrir varios movimientos a lo largo de su vida) y donde la fecha de fin del movimiento es nula (pues el mismo útil en uso pudo haber sufrido otros préstamos).. Figura 2.13 Creación de un objeto TQuery. El siguiente fragmento de código muestra la inserción de un registro en la tabla TRABAJADOR. Primeramente se capturan los datos del formulario enviados por el método. POST,. luego. se. ejecuta. el. método. secondaryKey(). del. objeto. $TTRABAJADOR, el cual comprueba si hay otro trabajador con el mismo carnet de identidad, si todo está en orden se hace la inserción a través del método post().. Figura 2.14 Implementación de un evento de inserción. 50.

(51) Capítulo 2. El siguiente fragmento de código elimina un trabajador de la base de datos. Primeramente se obtiene el identificador del trabajador con el método fieldByName(), luego con el objetivo de garantizar la integridad referencial de la base de datos se verifica si existe algún útil en uso con ese trabajador como responsable a través del método exist(), si no se encuentra el identificador del trabajador en el campo relacionado (id_trabajador) de la tabla MEDIOROTACION se procede a eliminar el trabajador, eliminando también su cuenta de usuario, en caso de existir.. Figura 2.15 Implementación de un evento de eliminación. Con el objetivo de independizar el código PHP de los documentos HTML que definen la interfaz gráfica de usuario se utilizó una clase de la biblioteca base PHPLIB denominada Template. La clase Template permite mantener el código HTML en archivos externos (plantillas) completamente libres de código PHP, pero que contienen etiquetas sustituibles. La clase proporciona métodos para sustituir esas etiquetas por cadenas arbitrarias. Estas cadenas pueden ser de cualquier tamaño, por ejemplo, tablas enteras. Para mostrar en una página todos los registros de la tabla AREA de la base de datos de la siguiente forma:. 51.

(52) Capítulo 2. Figura 2.16 Tabla generada usando la clase Template.. Se define una tabla en HTML y en una de sus filas se ubican las etiquetas que serán sustituidas por los valores de los campos de la tabla, encerrando dicha fila en un bloque. Este bloque se define como un comentario HTML con una sintaxis determinada y las etiquetas como una cadena de texto encerrada entre llaves como se muestra en la Figura 2.17.. Figura 2.17 Fragmento de código HTML encerrado dentro de un bloque. Luego, en el código PHP encargado de mostrar la página se crea un objeto Template, se asocia con el archivo HTML donde está definida la tabla mediante el método set_file(), luego se define el bloque dentro de la página con el método set_block(), a continuación se define iterativamente un valor para cada etiqueta y se agrega el resultado a la variable asociada al bloque mediante el método parse(), finalmente se muestra la página con el método pparse(). La Figura 2.18 ilustra el procedimiento explicado para el caso del ejemplo que se analiza.. 52.

(53) Capítulo 2. Figura 2.18 Ejemplo del uso de la clase Template.. 53.

(54) Capítulo 3 CAPÍTULO 3 Manual de usuario. El presente capítulo constituye una guía para el usuario del Sistema de Gestión y Control de Activos Fijos y Tangibles, Útiles en uso y Materiales Gastables en la cual se ofrece una descripción detallada de las diferentes funcionalidades y opciones que el sistema le ofrece tanto al Administrador como al Trabajador, facilitando así una rápida familiarización con el entorno de trabajo. 3.1 Acceso al sistema. Una vez cargado el sistema en el navegador se debe introducir el nombre de usuario, la contraseña y seleccionar el subsistema para acceder al mismo, la siguiente figura muestra la página de acceso al sistema:. Figura 3.1 Página de acceso al sistema. Una vez suministrado el nombre de usuario, la contraseña y seleccionado el subsistema se verifica la validez de los dos primeros y se chequea el rol del usuario (Administrador o Trabajador) mostrando la interfaz correspondiente. 3.2 Funcionalidades del usuario Administrador. El usuario Administrador tiene acceso a todos los subsistemas (subsistema de útiles en uso y subsistema de materiales gastables).. 54.

(55) Capítulo 3 3.2.1 Subsistema de Útiles en Uso Si el rol del usuario es Administrador y el subsistema especificado es el de útiles en uso se muestra la siguiente página:. Figura 3.2 Página principal del Administrador dentro del subsistema de útiles en uso.. En la cual aparecen datos generales del subsistema como la cantidad de áreas, trabajadores y la cantidad de útiles en uso por comprador y por estado. Desde la barra de menú se puede acceder a todas las funcionalidades que el subsistema le ofrece al Administrador y que serán explicadas a continuación.. 3.2.1.1 Descripción del menú “Administrar”. Desde el menú Administrar se llevan a cabo todas las tareas de administración del sistema, consta de las siguientes opciones (Figura 3.3):. 55.

(56) Capítulo 3. Figura 3.3 Menú Administrar. Cuentas de Usuario: Permite crear, modificar y eliminar cuentas de usuario. Para crear una cuenta se deben haber entrado los datos del trabajador al que pertenece la cuenta a través de la opción Trabajadores del menú Codificadores. Al seleccionar esta opción se muestra el listado de cuentas creadas como ilustra la Figura 3.4. El botón Editar a la derecha de cada cuenta permite acceder a los datos de la cuenta y modificarlos o eliminarla. El botón Nueva Cuenta de Usuario permite crear una cuenta nueva.. Figura 3.4 Cuentas de usuario. Cambiar Contraseña: Permite cambiar la contraseña del usuario que inició sesión en el sistema.. 56.

(57) Capítulo 3 3.2.1.2 Descripción del menú “Codificadores”. Desde el menú Codificadores se lleva a cabo la edición de los datos de las áreas del centro, sus trabajadores, las descripciones de los útiles en uso y los compradores, los cuales representan la procedencia del medio, por ejemplo: VLIR y UCLV. Este menú consta de las siguientes opciones (Figura 3.5):. Figura 3.5 Menú Codificadores. Áreas: Permite adicionar, modificar y eliminar áreas. Para eliminar un área no puede haber útiles en uso asignados a la misma. Trabajadores: Permite adicionar, modificar y eliminar trabajadores. Para eliminar un trabajador, éste no puede ser responsable de útil en uso. Descripciones: Permite adicionar, modificar y eliminar descripciones. Para eliminar una descripción no puede haber útiles en uso con esa descripción. Compradores: Permite adicionar, modificar y eliminar compradores. Para eliminar un comprador no puede haber útiles en uso asignados al mismo. Los formularios de edición de datos presentados en cualquiera de las opciones constan de una barra de navegación que permite moverse de un registro a otro y de cuatro botones para adicionar, guardar, eliminar y cancelar. Para adicionar un registro se hace clic en el botón Adicionar, el cual limpia el formulario para permitir la entrada de los nuevos datos, una vez entrados los datos se hace clic en el botón Guardar para enviarlos a la base de datos. Para modificar un registro primero se localiza, luego se hacen las modificaciones deseadas y se hace clic en Guardar para reflejar los cambios en la base de datos. Para eliminar un registro se hace clic en el botón Eliminar. Para. 57.

(58) Capítulo 3 cancelar cualquier operación que no deba ser completada se hace clic en el botón Cancelar. La Figura 3.6 muestra el formulario de trabajadores.. Figura 3.6 Formulario de trabajadores.. 3.2.1.3 Descripción del menú “Inventario”. Desde el menú Inventario se lleva a cabo la entrada y la salida de los útiles en uso. Para realizar la entrada de un útil en uso es necesario haber entrado primero su responsable, área, descripción y comprador a través del menú Codificadores; por tanto, antes de proceder a registrar los útiles en uso en el sistema se sugiere entrar todas las áreas, todos los trabajadores, todas las descripciones posibles y todos los compradores. Este menú consta de las siguientes opciones (Figura 3.7):. Figura 3.7 Menú Inventario. Realizar Entrada: Permite registrar nuevos útiles en uso en el sistema. El formulario de útiles en uso (Figura 3.8) cuenta con una opción de búsqueda que nos permite localizar. 58.

Figure

Figura 1.2 Acta de fijación de la Responsabilidad Material.
Figura 1.3 Modelo de control.
Figura 1.4 Reporte de baja del inventario de medios de rotación en uso.
Figura 2.5 Casos de uso del actor “Trabajador”.
+7

Referencias

Documento similar

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

Habiendo organizado un movimiento revolucionario en Valencia a principios de 1929 y persistido en las reuniones conspirativo-constitucionalistas desde entonces —cierto que a aquellas

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

Ciaurriz quien, durante su primer arlo de estancia en Loyola 40 , catalogó sus fondos siguiendo la división previa a la que nos hemos referido; y si esta labor fue de

Para solucionar esta problemática se define como objeto de estudio el proceso de desarrollo de software y como campo de acción las disciplinas de modelado de negocio y