• No se han encontrado resultados

Sistema para el control de los medios básicos en el Centro de Documentación e Información Científico Técnica de la UCLV

N/A
N/A
Protected

Academic year: 2020

Share "Sistema para el control de los medios básicos en el Centro de Documentación e Información Científico Técnica de la UCLV"

Copied!
66
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 “Sistema para el control de los Medios Básicos en el Centro de Documentación e Información Científico Técnica de la UCLV”. Autor: Yoel Lorenzo Padrón. Tutores: Ing. Dannis Rivero Cañizares Lic. Isel Moreno Montes de Oca. SANTA CLARA - 2007.

(2) DEDICATORIA. A mis padres: Bárbara Padrón Menéndez y Armando Lorenzo Núñez. A mis abuelos: Eneida Menéndez Roldán, Julián Padrón Fernández y Armando Lorenzo Pérez.

(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 familia, en especial a mis padres y abuelos, 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, en especial a Alejandro Villa Hernández. A todos mis profesores a lo largo de la carrera, por haber contribuido a mi formación profesional, en especial al Dr. Ramiro Pérez Vázquez. A mis tutores, Ing. Dannis Rivero Cañizares y Lic. Isel Moreno Montes de Oca, por su asesoría y orientación en este trabajo. Al personal del CDICT, en especial a su director José Rivero Díaz, por haber confiado a Keops el desarrollo del grupo de sistemas entre los que se encuentra este trabajo; a Esperanza Santana Pérez y Zoe Perdomo Cordido, por el aporte de sus conocimientos sobre el proceso de control de Medios Básicos objeto de automatización; y a Erick Olivera por sus útiles consejos y sugerencias acerca del desarrollo e implementación del sistema..

(4) PENSAMIENTO. Hay una vieja regla para los jóvenes y los viejos que quieren hacer carreras interesantes y satisfactorias: hagan lo que les gusta y el éxito vendrá solo..

(5) RESUMEN El presente trabajo consiste en el desarrollo de un sistema computacional para el control de los medios básicos 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 seis 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 como el historial de movimientos desde la puesta en explotación del medio básico, la gestión de los movimientos efectuados y el chequeo mensual del diez por ciento..

(6) ABSTRACT The present work consists in the development of a computational system for the asset management process in the Center of Technical Scientific Documentation and Information of the Central University of Las Villas. The system is implemented as a Web application using, for it, the open source platform LAMP (Linux operating system, Apache web server, MySQL database and PHP programming language). By means of the six subsystems that integrate the application, the automation of all the process activities is achieved, guaranteeing this way, immediacy and efficiency in the management of the information. The programming technique used allows the separation of the PHP code from the HTML documents, facilitating the maintenance of the system. Among the functionalities that are offered to the user are: the obtaining of different types of reports such as the record of movements since the putting in operation of the asset; the administration of the made movements; and the monthly checkup of ten percent..

(7) CONTENIDO INTRODUCCIÓN ........................................................................................................................................................1 CAPÍTULO 1 CONCEPTOS Y HERRAMIENTAS COMPUTACIONALES EMPLEADAS EN EL CONTROL DE LOS MEDIOS BÁSICOS EN EL CDICT. ....................................................................................4 1.1 DEFINICIÓN Y CARACTERIZACIÓN DE MEDIO BÁSICO. ...............................................................................4 1.2 CARACTERIZACIÓN Y ESTRUCTURA DEL CDICT. ......................................................................................7 1.3 PARTICULARIDADES DEL CONTROL DE LOS MEDIOS BÁSICOS EN EL CDICT...........................................7 1.4 ¿APLICACIÓN CLIENTE – SERVIDOR O APLICACIÓN DE ESCRITORIO? ...................................................12 1.5 ¿APLICACIÓN WEB O APLICACIÓN WINDOWS? .......................................................................................13 1.6 PLATAFORMA WEB UTILIZADA..................................................................................................................14 1.6.1 Linux....................................................................................................................................................15 1.6.2 Apache................................................................................................................................................16 1.6.3 MySQL................................................................................................................................................16 1.6.4 PHP .....................................................................................................................................................18 CAPÍTULO 2 ARQUITECTURA DEL SISTEMA.................................................................................................21 2.1 MODELO DEL NEGOCIO. ...................................................................................................................................21 2.2 MODELO DE CASOS DE USO. ............................................................................................................................23 2.2.1 Actores y casos de uso del sistema. ..................................................................................................23 2.2.2 Descripción de los casos de uso generales de cada actor.............................................................26 2.3 DISEÑO DE LA BASE DE DATOS. .......................................................................................................................27 2.3.1 Diagrama Entidad - Relación...............................................................................................................28 2.3.2 Modelo relacional. .................................................................................................................................28 2.3 MODELO DE DESPLIEGUE.................................................................................................................................32 2.4 MODELO DE IMPLEMENTACIÓN. .......................................................................................................................33 CAPÍTULO 3 MANUAL DE USUARIO. ................................................................................................................41 3.1 ACCESO AL SISTEMA. .......................................................................................................................................41 3.2 FUNCIONALIDADES DEL USUARIO ADMINISTRADOR.........................................................................................41 3.2.1 Descripción del menú “Administrar”. ..................................................................................................42 3.2.2 Descripción del menú “Codificadores”. ..............................................................................................43 3.2.3 Descripción del menú “Inventario”. .....................................................................................................44 3.2.4 Descripción del menú “Movimientos”. ................................................................................................46 3.2.5 Descripción del menú “Auditoría”........................................................................................................49 3.3 FUNCIONALIDADES DEL USUARIO TRABAJADOR. .............................................................................................52 3.3.1 Descripción del menú “Usuario”..........................................................................................................53 3.3.2 Descripción del menú “Eventos”. ........................................................................................................54 3.3.3 Descripción del menú “Reportes”. ......................................................................................................55 CONCLUSIONES .....................................................................................................................................................56 RECOMENDACIONES............................................................................................................................................57 REFERENCIAS BIBLIOGRÁFICAS .....................................................................................................................58 BIBLIOGRAFÍA ........................................................................................................................................................59.

(8) INTRODUCCIÓN El control automatizado de los medios básicos en la Universidad Central de las Villas se realiza de forma centralizada en la Dirección de Economía mediante el uso de un sistema computacional que gestiona de manera contable los procedimientos propios del proceso. Sin embargo, la universidad agrupa un conjunto de áreas lo suficientemente complejas como para necesitar un 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 actualmente cuenta con un alto volumen de medios básicos en constante aumento ubicados en diferentes dependencias a lo ancho del campus universitario incluyendo el edificio central. Mantener actualizados y consistentes los registros en papel, así como realizar manualmente los movimientos y operaciones que se llevan a cabo con los medios básicos constituye una tarea verdaderamente engorrosa por la naturaleza de la actividad, y el sistema de Control de Medios Básicos existente en la UCLV no se ajusta a las características de distribución de tales medios en el caso del CDICT ni a las necesidades propias de su control, por tal motivo se decidió desarrollar un sistema para automatizar esta compleja labor, para lo cual nos planteamos los siguientes objetivos: Objetivo general Desarrollar un sistema computacional para el control de los medios básicos, 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 los medios básicos y sus particularidades en dicho centro. Objetivos específicos 1. Llevar a cabo el diseño de la estructura informativa del sistema. 2. Implementar el subsistema de administración.. 1.

(9) Introducción 3. Implementar el subsistema de gestión de la información necesaria para codificar un medio básico. 4. Implementar el subsistema encargado de realizar los ajustes de inventario para la entrada y la salida de los medios básicos. 5. Implementar el subsistema encargado de la gestión de los movimientos realizados a los medios básicos. 6. 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 básicos. 7. 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 medios básicos y que responda a las necesidades del CDICT? 2. ¿De qué forma el sistema manejará la comunicación entre el responsable de un medio básico 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 medios básicos garantizando el máximo de seguridad y confiabilidad? Justificación de la investigación En la Dirección de Economía de la UCLV se lleva a cabo el control contable de los medios básicos 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 medios básicos, 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. 2.

(10) Introducción 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 Medios Básicos en el CDICT: en este capítulo se define el término Medio Básico, la estructura y organización del CDICT, las particularidades del proceso de control de medios básicos 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.. 3.

(11) CAPÍTULO 1 Conceptos y herramientas computacionales empleadas en el control de los Medios Básicos 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 “Medio Básico”, las características y estructura del Centro de Documentación e Información Científico Técnica y las particularidades del control de los medios básicos 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 Medio Básico. Se consideran medios básicos al conjunto de medios de trabajo destinados a la producción material o a la prestación de servicios, que conservan su vida útil por más de un año y que transfieren gradualmente su valor al producto o servicio que prestan según su naturaleza y ubicación en la esfera productiva e improductiva.. Los medios básicos se registran por su valor inicial, el que se conforma por el precio de adquisición o de construcción y los gastos de transportación y montaje, manteniéndose inalterable durante toda su vida útil.. Se consideran medios básicos, los que clasifiquen dentro de los siguientes grupos: - Edificios - Otras construcciones. - Máquinas y equipos energéticos. - Máquinas y equipos productivos. - Aparatos y equipos técnicos especiales. - Medios y equipos de transporte. - Muebles y otros objetos. 4.

(12) Capítulo 1 - Animales. - Otros medios básicos (plantaciones agrícolas permanentes y yacimientos mineros en explotación, entre otros).. No se consideran medios básicos: a) los objetos cuyo tiempo de vida útil sea menor de un año, independientemente de su valor; b) los objetos cuyas características o duración no se encuentren bien definidas y cuyo valor sea inferior a cien pesos; c) los dispositivos especiales que se utilicen para la producción individual, en serie o masiva,. como. son. los. moldes,. matrices,. plantillas. y. otros. similares,. independientemente de su valor y tiempo de servicio, con excepción de aquéllos que aparecen como medios principales de producción de una o varias actividades y que estén incluidos en el Clasificador Nacional de Medios Básicos; d) la ropa, el calzado especial y la ropa o accesorios de cama, independientemente de sus valores y tiempo de servicio; e) las estructuras de las construcciones, partes y agregados de las máquinas, equipos y material rodante, predestinados para la construcción, montaje o reparación, que son considerados como medios de rotación de las empresas constructoras; f) los equipos y máquinas que se encuentren como productos terminados en los almacenes de las empresas productoras y los destinados a la venta, ya sean de producción nacional o de importación, que se hallen en las empresas de abastecimiento técnico-material o comerciales; g) las máquinas y equipos pendientes de instalar que se mantienen registrados como inversiones en proceso; h) las construcciones o estructuras de carácter temporal, que se utilicen por las empresas constructoras; i) las máquinas y los equipos cuyo proceso de montaje termine y que no hayan sido entregados para la producción o el servicio; j) las artes de pesca, como son las redes de arrastre, redes y aparejos u otros implementos de pesca, independientemente de su valor y tiempo de servicio;. 5.

(13) Capítulo 1 k) las posturas para plantaciones permanentes, mientras se mantengan en los viveros; l) los medios adquiridos para servir como utilería en el teatro, en el cine, en la televisión o en otras actividades artísticas y culturales; m) los motores eléctricos y de combustión interna que sean objeto de recambio, excepto los que sean utilizados en el transporte aéreo, ferroviario o marítimo y aquéllos cuyas características sean similares a las de ellos en cuanto a precio, tamaño e importancia relativa al valor del equipo o proceso tecnológico donde se instalan; ñ) las partes y agregados, que son objetos de recambio y, por tanto, por sí mismos no constituyen un medio de producción o de servicio, independientemente de su valor; o) los animales de las especies acuícola, apícola, porcinas, avícola, ovino, caprino, cunícola y similares; p) los animales en desarrollo; q) los objetos decorativos, como cuadros, cerámicas, trofeos, es decir, obras de arte en general, independientemente de su valor. j) los objetos deportivos, excepto aquéllos que el Instituto Nacional de Deportes, Educación Física y Recreación, determine deban registrarse como tales; p) las cercas que se utilizan por la actividad agropecuaria u otras, para delimitar áreas en el campo.. Para una correcta contabilización y control de los medios de trabajo que se utilizan en las empresas tanto de destino productivo como improductivo, debe garantizarse:. Determinación correcta y oportuna del valor de los medios básicos de nueva incorporación, ya sean adquiridos de terceros o producidos con medios propios. Documentación correcta y oportuna de las altas, bajas, traslados y demás movimientos de los medios básicos. Cálculo correcto y oportuno de los importes que correspondan por la aplicación de las tasas de amortización para la reposición. Determinación oportuna del importe de los medios básicos para los cuales no se tenga uso inmediato y que por tanto deben considerarse en la condición de ociosos. (Alvarez, 2005). 6.

(14) Capítulo 1. 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 Medios Básicos en el CDICT. Desde el punto de vista del control de los medios básicos 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 básicos al centro son siempre tramitadas por la Dirección de Economía, entidad encargada de asignar el medio básico 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 se produce la salida del medio básico, 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,. 7.

(15) Capítulo 1 roturas, préstamos a otros Centros de Costo, pérdidas y gestión de medios básicos ociosos. Se realiza la entrada de un medio básico 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 número de inventario, 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. Cada operación de entrada es amparada por el “Modelo de movimiento”, el cual se muestra en la Figura 1.1. Entidad: Dirección: Área: Descripción: CNMB:. Código: MOVIMIENTO DE MEDIOS BÁSICOS. D. Adquisición M A. Inventario No.: D Sub-cuenta: Receptor. Alquiler Tiempo Devolución M. Depreciación A. Valor: Entidad: Dirección: Área:. Tipo de movimiento:. Fundamentación de la operación:. [ ] Compra de MB [ ] Venta nuevo [ ] Compra de [ ] Retiro MB en uso [ ] Traslado recibido [ ] Pérdidas [ ] Ajuste Inv. Alta. [ ] Enviada a reparar [ ] Traslado interno [ ] Activo – Ocioso. [ ] Traspaso [ ] Ocioso – Activo efectuado [ ] Ajuste Inv. Baja INFORME TÉCNICO. Nombre: Hecho:. Cargo: D M. A. Autorizado: Cargo: _______________ Firma: _______________. D. A. Anotado:. Comprobante de Operaciones No. ____________. M. Firma: Aprobado: Cargo: _______________ Firma: _______________ Transportador o Receptor ________________________ Firma:_______________ D. M. A. D. M. A. D. M. A. No.. Figura 1.1 Modelo Movimiento de Medios Básicos.. 8.

(16) Capítulo 1 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 básicos implicados, estos documentos tienen la estructura mostrada en las Figuras 1.2 y 1.3 respectivamente. 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 ACTIVOS FIJOS TANGIBLES 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 Medios Básicos Valor de los Medios Básicos La cantidad y valor de los ACTIVOS FIJOS TANGIBLES bajo su control pueden sufrir variación, pero ésta siempre debe estar amparada por el correspondiente modelo SNC-1-01 (Movimiento de medios Básicos) 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 Activos Fijos Tangibles 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. 9.

(17) Capítulo 1. Universidad Central “Marta Abreu” de Las Villas Responsabilidad Material de los Medios Básicos Área de Trabajo: ________________________. Dpto.: ____________________. Por este medio se responsabiliza al siguiente compañero (a): ____________________ Cuidado y conservación de los Medios Básicos del área de trabajo. A partir de este momento debe continuar con la actualización del registro por todos los movimientos que se realicen en los citados Medios Básicos. Medios Básicos: Número de inventario. Descripción. Valor CUC. Valor MN. VALORES TOTALES. _______________________ Director. _____________________ Admón. _________________ Trabajador. Figura 1.3 Modelo de control. En caso de ocurrir la rotura de un medio básico, el responsable de éste reporta el hecho al administrador del centro, el cual avisa al taller para que envíen un técnico a revisar el medio, si éste logra arreglarlo durante la revisión se pone de nuevo en explotación, de lo contrario se lleva para el taller, operación que queda respaldada con el “Modelo de movimiento”. 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 “Modelo de movimiento” con el nombre del Centro de Costo al que se le prestó el medio básico, fecha del préstamo y fecha de devolución, entre otros datos. Si ocurriese la pérdida de un medio básico 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 “Modelo de movimiento”, si aparece se pone de nuevo en explotación, de lo contrario se procesa la salida.. 10.

(18) Capítulo 1. La operación de salida de un medio básico 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 el caso de la rotura irreparable se hace la solicitud de baja mediante el “Informe para la propuesta baja a Medios Básicos” (Figura 1.4), luego se realiza el dictamen técnico por una comisión organizada por la Dirección de Economía, esta evaluación es amparada por el “Acta de evaluación de la comisión técnica” (Figura 1.5) y en cualquier caso se elimina del inventario y se imprime la responsabilidad material del responsable que tenía el medio básico. Esta operación siempre estará amparada por el “Modelo de movimiento”.. UNIVERSIDAD CENTRAL DE LAS VILLAS INFORME PARA LA PROPUESTA BAJA A MEDIOS BÁSICOS Datos del Medio Denominación ________________________________________________________ Marca __________________________ Modelo ______________________________ Serie ____________________ No. Inventario _____________________ Fac. o Área _________________________ Lab. o Local ________________________________ El medio básico de referencia ha sido revisado por el Cro. (a): ___________________________________________________ que ocupa el cargo de _________________________________________________ en la facultad o Área de _____________________________________________________ detectándose que el mismo no se puede seguir utilizando en las funciones para la cual fue diseñado debido a los problemas siguientes _____________________________________________________________________ _____________________________________________________________________ por lo que se propone su baja definitiva y para que nos conste firmo la presente _________________________________________ el día ___________ de ________ ________________________ Firma del técnico. Figura 1.4 Informe para la propuesta baja a Medios Básicos.. 11.

(19) Capítulo 1. ACTA DE EVALUACIÓN DE LA COMISIÓN TÉCNICA De acuerdo al Resuelvo Sexto de la RM 155/88 la comisión integrada por los compañeros debajo relacionados se reúne el día _____________ de _____________ de ___________ y luego de evaluar el medio de referencia emiten el siguiente: DICTAMEN _______________________________________________________________________ _______________________________________________________________________ _______________________________________________________________________ _______________________________________________________________________. ____________________ Dtor. Económico. _____________________ Resp. Com. Técnica. __________________ Perito calificado. Original: Dirección Economía Copia: Fac. o Área Copia: Dependencia Emisora. Figura 1.5 Acta de evaluación de la comisión técnica.. 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 medio básico. 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 medio básico 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: 12.

(20) Capítulo 1. 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. 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). 13.

(21) Capítulo 1. 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, 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).. 14.

(22) Capítulo 1. 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. 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). 15.

(23) Capítulo 1. 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 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.. 16.

(24) Capítulo 1 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). 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). 17.

(25) Capítulo 1. 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 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.. 18.

(26) Capítulo 1. 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. 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.. 19.

(27) Capítulo 1. 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. 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). 20.

(28) 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 medios básicos 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.. 21.

(29) Capítulo 2. 22.

(30) 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:. Figura 2.3 Casos de uso del actor “Administrador”.. 23.

(31) Capítulo 2 Luego de realizar el refinamiento de los casos de uso generales del actor “Administrador” se obtienen los siguientes diagramas:. Figura 2.4 Refinamiento de los casos de uso del actor “Administrador”. 24.

(32) 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:. Figura 2.6 Refinamiento de los casos de uso del actor “Trabajador”.. 25.

(33) Capítulo 2 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. El actor “Administrador” utiliza el caso de uso “Gestionar codificadores” para editar los datos de las áreas del centro, sus trabajadores, las descripciones posibles de medios básicos (MB) y los compradores; utilizando, éste último, para diferenciar los medios básicos VLIR de los UCLV. Estos datos serán utilizados luego para realizar la entrada de los MB. El actor “Administrador” utiliza el caso de uso “Realizar ajustes de inventario” para darle entrada y salida del sistema a los medios básicos. Para darle entrada a un medio básico se tienen que haber entrado primero los codificadores correspondientes. El actor “Administrador” utiliza el caso de uso “Gestionar movimientos” para controlar y darle seguimiento a los diferentes movimientos que pueden ocurrir con los medios básicos, como son, el traslado entre áreas, el cambio de responsable, la rotura (incluyendo el envío al taller y la solicitud de baja en caso que sea necesario), el préstamo a otro centro de costo, la pérdida y la gestión de los medios básicos ociosos. El actor “Administrador” utiliza el caso de uso “Gestionar tareas de auditoría” para realizar tareas de control sobre los medios básicos como la obtención de un conjunto de reportes agrupados por diferentes campos, incluyendo el historial de movimientos de un medio básico, los cuales permiten localizar fácilmente cualquier MB y conocer su estado, generar un conjunto de documentos que dan soporte a los movimientos y tramitar el chequeo mensual del 10% de los MB.. Gestionar codificadores. Realizar ajustes de inventario. Gestionar movimientos. Gestionar tareas de auditoría. Seguidamente se presenta la descripción de cada uno de los casos de uso generales del actor “Trabajador”:. 26.

(34) Capítulo 2 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. El actor “Trabajador” utiliza el caso de uso “Gestionar eventos” para reportar sucesos que pueden eventualmente ocurrirle a alguno de sus medios básicos como la rotura y la pérdida, y para chequear la presencia de aquellos MB bajo su responsabilidad que entren en el 10% del mes actual. El actor “Trabajador” utiliza el caso de uso “Obtener reportes de sus MB” para generar un listado de sus MB agrupados por comprador y por descripción, y para obtener el historial de movimientos de cualquiera de sus MB.. Gestionar eventos. Obtener reportes de sus MB. 2.3 Diseño de la base de datos. Después de realizar un detallado análisis del proceso de control de medios básicos 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. MEDIOBASICO EQUIPO. Representa un medio básico. Representa un medio básico que se identifica con una marca, un modelo y un número de serie. Representa un área o local de trabajo dentro del centro. Representa un trabajador del centro. Representa una descripción que caracteriza al medio básico. Representa el origen del medio básico: VLIR, UCLV, etc. Representa una cuenta de usuario del sistema. Representa el chequeo de la existencia de un medio básico un mes determinado. Representa un movimiento genérico con una fecha de inicio y una de fin. Representa un traslado entre áreas. Representa un cambio de responsable. Representa una rotura de un medio básico. Representa la solicitud de baja de un medio básico. Representa el préstamo de un medio básico a otro centro de costo. Representa la pérdida de un medio básico. Representa el estado ocioso de un medio básico.. AREA TRABAJADOR DESCRIPCION COMPRADOR CUENTA CHEQUEO10 MOVIMIENTO TRASLADO CAMBIORESP ROTURA SOLICITUDBAJA PRESTAMO PERDIDA MBOCIOSO. 27.

(35) Capítulo 2. 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. 2.3.2 Modelo relacional. A partir del diagrama Entidad – Relación de la base de datos se obtuvo el siguiente modelo relacional: MEDIOBASICO (id_mediob, nroinv, valormn, valorcuc, fecha_pe, estado, id_descripcion,. id_comprador, id_trabajador, id_area) EQUIPO (id_mediob, marca, modelo, nroserie) AREA (id_area, nombrearea) TRABAJADOR (id_trabajador, carnet, nombre, apellido1, apellido2). 28.

(36) Capítulo 2 DESCRIPCION (id_descripcion, ndescripcion) COMPRADOR (id_comprador, nombrecomp) CUENTA (id_trabajador, username, password, rol) CHEQUEO10 (id_chequeo, mes_chequeo, year_chequeo, chequeadopor, presencia, id_mediob) MOVIMIENTO (id_movimiento, fecha_inicio, fecha_fin, area, responsable, tipo, id_mediob) TRASLADO (id_movimiento, area_destino) CAMBIORESP (id_movimiento, responsable_despues) ROTURA (id_movimiento, detalle, nombretecnico, taller, fecha_ida, fecha_regreso) SOLICITUDBAJA (id_movimiento, revisadopor, cargo, problemas) PRESTAMO (id_movimiento, centro_costo, responsable, fecha_devolucion) PERDIDA (id_movimiento, causa_perdida) MBOCIOSO (id_movimiento, causa). A continuación se presenta la descripción de cada uno de los atributos por entidad: Entidad: Atributo id_mediob nroinv valormn valorcuc fecha_pe estado. Tipo int(11) varchar(255) float float date varchar(255). id_descripcion id_comprador id_trabajador id_area. int(11) int(11) int(11) int(11). MEDIOBASICO. Entidad: Atributo id_mediob. Tipo int(11). marca modelo nroserie. varchar(255) varchar(255) varchar(255). Descripción Llave primaria. Número de inventario del medio básico. Valor inicial en moneda nacional. Valor inicial en CUC. Fecha de puesta en explotación. Estado del medio básico, puede tomar uno de los siguientes valores: ACTIVO, OCIOSO, REPARACION, SOLICITUDBAJA, PRESTADO, PERDIDO. Llave extranjera proveniente de DESCRIPCION. Llave extranjera proveniente de COMPRADOR. Llave extranjera proveniente de TRABAJADOR. Llave extranjera proveniente de AREA. EQUIPO. Descripción Llave primaria y extranjera proveniente de MEDIOBASICO. Marca del equipo. Modelo del equipo. Número de serie del equipo.. 29.

(37) Capítulo 2 Entidad: Atributo id_area nombrearea. Tipo int(11) varchar(255). Descripción Llave primaria. Nombre del área.. Entidad: Atributo id_trabajador carnet nombre apellido1 apellido2. Tipo int(11) char(11) varchar(255) varchar(255) varchar(255). Descripción Llave primaria. Carnet de identidad del trabajador. Nombre del trabajador. Primer apellido del trabajador. Segundo apellido del trabajador.. Entidad: Atributo id_descripcion ndescripcion. Tipo int(11) varchar(255). Descripción Llave primaria. Nombre de la descripción.. AREA. TRABAJADOR. DESCRIPCION. Entidad: Atributo id_comprador nombrecomp. Tipo int(11) varchar(255). Entidad: Atributo id_trabajador. Tipo int(11). username password rol. varchar(255) varchar(255) varchar(20). COMPRADOR. Descripción Llave primaria. Nombre del comprador. CUENTA. Entidad: Atributo id_chequeo mes_chequeo year_chequeo chequeadopor. Tipo int(11) int(11) int(11) varchar(255). presencia. varchar(255). id_mediob. int(11). Descripción Llave primaria y extranjera proveniente de TRABAJADOR. Nombre de usuario. Contraseña. Rol del usuario: Administrador o Trabajador. CHEQUEO10. Descripción Llave primaria. Mes del chequeo. Año del chequeo. Nombre completo del trabajador que chequeó el medio básico. Define si el medio básico está o no en el lugar correcto cuando se hace el chequeo. Llave extranjera proveniente de MEDIOBASICO.. 30.

(38) Capítulo 2 Entidad: Atributo id_movimiento fecha_inicio fecha_fin area. Tipo int(11) date date varchar(255). responsable. varchar(255). tipo. varchar(255). id_mediob. int(11). MOVIMIENTO. Entidad: Atributo id_movimiento. Tipo int(11). area_destino. varchar(255). Descripción Llave primaria. Fecha de inicio del movimiento. Fecha de fin del movimiento. Área del medio básico en el momento del movimiento. Responsable del medio básico en el momento del movimiento. Tipo de movimiento, puede tomar uno de los siguientes valores: TRASLADO, CAMBIORESP, ROTURA, PRESTAMO, PERDIDA, MBOCIOSO. Llave extranjera proveniente de MEDIOBASICO. TRASLADO. Descripción Llave primaria y extranjera proveniente de MOVIMIENTO. Área hacia donde se traslada el medio básico.. Entidad: Atributo id_movimiento. Tipo int(11). responsable_despues. varchar(255). CAMBIORESP. Entidad: Atributo id_movimiento. Tipo int(11). detalle. varchar(255). nombretecnico. varchar(255). taller fecha_ida fecha_regreso. varchar(255) date date. Descripción Llave primaria y extranjera proveniente de MOVIMIENTO. Nombre completo del trabajador que pasa a ser responsable del medio básico después del cambio. ROTURA. Descripción Llave primaria y extranjera proveniente de MOVIMIENTO. Descripción del problema que presenta el medio básico al descubrirse la rotura. Nombre del técnico que traslada el medio básico para el taller. Nombre del taller. Fecha de ida para el taller. Fecha de regreso del taller.. 31.

(39) Capítulo 2 Entidad: Atributo id_movimiento revisadopor cargo problemas. SOLICITUDBAJA. Tipo int(11) varchar(255) varchar(255) varchar(255). Entidad: Atributo id_movimiento. Tipo int(11). centro_costo. varchar(255). responsable. varchar(255). fecha_devolucion. date. Descripción Llave primaria y extranjera proveniente de ROTURA. Nombre de la persona que revisó el medio básico. Cargo de la persona que revisó el medio básico. Problemas que presentó el medio básico. PRESTAMO. Entidad: Atributo id_movimiento. Tipo int(11). causa_perdida. varchar(255). Descripción Llave primaria y extranjera proveniente de MOVIMIENTO. Centro de costo al que se le prestó el medio básico. Responsable del medio básico en ese centro de costo. Fecha acordada de devolución. PERDIDA. Entidad: Atributo id_movimiento. Tipo int(11). causa. varchar(255). Descripción Llave primaria y extranjera proveniente de MOVIMIENTO. Causa de la pérdida. MBOCIOSO. Descripción Llave primaria y extranjera proveniente de MOVIMIENTO. Causa del cambio de estado de activo a ocioso.. 2.3 Modelo de despliegue. El Sistema de Control de Medios Básicos (MEDIBAS) 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 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.. 32.

(40) Capítulo 2. Figura 2.8 Diagrama de despliegue para el sistema MEDIBAS. 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 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”. 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”. 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”.. 33.

(41) Capítulo 2 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”. Subsistema del trabajador: agrupa los componentes que implementan la realización del conjunto de casos de uso del actor Trabajador. En la siguiente figura se muestran las dependencias entre los componentes del sistema:. Figura 2.9 Diagrama de componentes.. 34.

(42) Capítulo 2 Para la manipulación de la base de datos dentro del sistema se implementaron 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.. 35.

(43) 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 momento existe un registro activo sobre el cual se realizan las operaciones. Los métodos fundamentales son:. 36.

(44) Capítulo 2 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, 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. 37.

(45) Capítulo 2 listado de todos los medios básicos rotos actualmente, es decir, aquellos cuyo estado es reparación (están en proceso de reparación) o solicitud de baja (ya fueron revisados y se determinó que no tienen arreglo), donde el tipo de movimiento es rotura (pues cada medio básico puede sufrir varios movimientos a lo largo de su vida) y donde la fecha de fin del movimiento es nula (pues el mismo medio básico pudo haber sufrido varias roturas).. 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.. 38.

(46) 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 medio básico 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 MEDIOBASICO 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:. Figura 2.16 Tabla generada usando la clase Template.. 39.

(47) Capítulo 2. 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.. Figura 2.18 Ejemplo del uso de la clase Template.. 40.

(48) CAPÍTULO 3 Manual de usuario. El presente capítulo constituye una guía para el usuario del Sistema de Control de Medios Básicos (MEDIBAS), 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 y la contraseña 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 y la contraseña, y verificado la validez de los mismos se chequea el rol del usuario (Administrador o Trabajador) mostrando una interfaz u otra en dependencia del mismo. 3.2 Funcionalidades del usuario Administrador. Si. el. rol. del. usuario. es. Administrador. se. muestra. la. siguiente. página:. 41.

(49) Capítulo 3. Figura 3.2 Página principal del Administrador. en la cual aparecen datos generales del sistema como la cantidad de áreas, trabajadores y la cantidad de medios básicos por comprador y por estado. Desde la barra de menú se puede acceder a todas las funcionalidades que el sistema le ofrece al Administrador y que serán explicadas a continuación. 3.2.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):. 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.. 42.

Figure

Figura 1.1 Modelo Movimiento de Medios Básicos.
Figura 1.2 Acta de fijación de la Responsabilidad Material.
Figura 1.3 Modelo de control.
Figura 1.4 Informe para la propuesta baja a Medios Básicos.
+7

Referencias

Documento similar

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

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

Package Item (Container) Type : Vial (100000073563) Quantity Operator: equal to (100000000049) Package Item (Container) Quantity : 1 Material : Glass type I (200000003204)