Professional Documents
Culture Documents
2010
INDICE
INTRODUCCIN .................................................................................... 5 OBJETIVO ............................................................................................ 6 CAPITULO 1. MARCO TEORICO .............................................................. 7 TECNOLOGA RFID ................................................................................ 7 DIAGRAMA DE FLUJO DE DATOS............................................................ 11 JAVA SERVLET FACES .......................................................................... 13 UML .................................................................................................. 15 DIAGRAMA DE CASOS DE USO .............................................................. 15 DOCUMENTACIN DE CASOS DE USO .................................................... 18 DIAGRAMA DE SECUENCIA ................................................................... 19 DIAGRAMA DE CLASES ........................................................................ 20 CAPITULO 2. DEFINICION DEL PROBLEMA O CONTEXTO DE LA PARTICIPACIN PROFESIONAL .......................................................... 22 CAPITULO 3. ANLISIS Y METODOLOGA EMPLEADA.......................... 24 ANLISIS DE REQUERIMIENTOS ........................................................... ANLISIS DE LA SOLUCIN .................................................................. DISEO ............................................................................................. DESARROLLO ..................................................................................... PRUEBAS ........................................................................................... DOCUMENTACIN ............................................................................... 24 24 25 25 25 25
CAPITULO 4. PARTICIPACIN PROFESIONAL ..................................... 27 ANLISIS DE REQUERIMIENTOS ........................................................... PLAN DE TRABAJO ............................................................................... ANLISIS ........................................................................................... DIAGRAMAS DE CASOS DE USO ............................................................ DOCUMENTACIN CASOS DE USO ......................................................... DISEO ............................................................................................. DESARROLLO ..................................................................................... PRUEBAS ........................................................................................... 27 29 32 35 37 42 67 74
CAPITULO 5. RESULTADOS Y APORTACIONES ..................................... 75 CONCLUSIONES .................................................................................. 76 ANEXO 1. PLAN DE PRUEBAS .............................................................. 77 REFERENCIAS ..................................................................................... 98
INDICE DE FIGURAS Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura 1.1. Componentes sistema RFID ...................................................... 8 1.2. Tag RFID Pasiva ...................................................................... 9 1.3. Tag RFID Activa ...................................................................... 9 1.4. Smbolo Entidad Externa ........................................................ 11 1.5. Smbolo flujo de informacin ................................................... 11 1.6. Smbolo Proceso .................................................................... 11 1.7. Smbolo Archivo de datos ....................................................... 11 1.8. Ejemplo diagrama de Flujo de Datos ........................................ 12 1.9. Modelo Vista Controlador ........................................................ 13 1.10. Ejemplo de Diagrama de Caso de Uso .................................... 16 1.11. Diagrama Relacin Uses ....................................................... 17 1.12. Diagrama Relacin Extends ................................................... 17 1.13. Diagrama Relacin Includes .................................................. 17 1.14. Ejemplo de Diagrama de Secuencia ........................................ 19 1.15. Ejemplo de Diagrama de Clases. Asociacin ............................ 20 1.16. Ejemplo de Diagrama de Clases. Agregacin ........................... 20 1.17. Ejemplo de Diagrama de Clases. Generalizacin ...................... 20 1.18. Ejemplo de Diagrama de Clases. Dependencia ......................... 21 1.19. Ejemplo de Diagrama de Clases. Composicin ......................... 21 4.1. Plan de trabajo parte 1 ........................................................... 30 4.2. Plan de trabajo parte 2 ........................................................... 31 4.3. Diagrama de flujo de datos. Empleado. .................................... 32 4.4. Diagrama de flujo de datos. Producto. ...................................... 32 4.5. Diagrama de flujo de datos. Asignacin .................................... 33 4.6. Diagrama de flujo de datos. Usuarios ....................................... 33 4.7. Diagrama de flujo de datos. Reportes....................................... 34 4.8. Diagrama de flujo de datos. Control. ........................................ 34 4.9. Diagrama de casos de uso 1 ................................................... 35 4.10. Diagrama de casos de uso 2.................................................. 36 4.11. Diagrama de secuencia. Alta empleado ................................... 42 4.12. Diagrama de secuencia. Baja empleado .................................. 43 4.13. Diagrama de secuencia. Cambiar datos empleado 1 ................. 44 4.14. Diagrama de secuencia. Cambiar datos empleado 2 ................. 45 4.15. Diagrama de secuencia. Alta producto .................................... 46 4.16. Diagrama de secuencia. Baja producto ................................... 47 4.17. Diagrama de secuencia. Cambiar datos producto 1 .................. 48 4.18. Diagrama de secuencia. Cambiar datos producto 2 .................. 49 4.19. Diagrama de secuencia. Alta asignacin.................................. 50
Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura Figura
4.20. 4.21. 4.22. 4.23. 4.24. 4.25. 4.26. 4.27. 4.28. 4.29. 4.30. 4.31. 4.32. 4.33. 4.34. 4.35. 4.36. 4.37. 4.38. 4.39. 4.40. 4.41. 4.42. 4.43. 4.44. 4.45. 4.46. 4.47. 4.48. 4.49. 4.50. 4.51. 4.52.
Diagrama de secuencia. Baja asignacin ................................. Diagrama de secuencia. Cambiar datos asignacin 1 ................ Diagrama de secuencia. Cambiar datos asignacin 2 ................ Diagrama de secuencia. Cambiar datos asignacin 3 ................ Diagrama de secuencia. Alta usuario ...................................... Diagrama de secuencia. Baja usuario ..................................... Diagrama de secuencia. Cambiar datos usuario 1 .................... Diagrama de secuencia. Cambiar datos usuario 2 .................... Diagrama de secuencia. Reporte empleados ............................ Diagrama de secuencia. Reporte productos ............................. Diagrama de secuencia. Reporte asignaciones ......................... Diagrama de secuencia. Reporte usuarios ............................... Diagrama de secuencia. Reporte control acceso ....................... Diagrama de secuencia. Reporte bitcora................................ Diagrama de secuencia. Control de acceso 1 ........................... Diagrama de secuencia. Control de acceso 2 ........................... Diagrama de clases 1 ........................................................... Diagrama de clases 2 ........................................................... rbol de carpetas ambiente de desarrollo................................ Carpeta Web Pages ........................................................... Contenido subcarpetas Web Pages ...................................... Ubicacin archivo faces-config ............................................ Contenido archivo faces-config............................................ Carpeta Source Packages ................................................... Carpeta assetSafe ............................................................. Carpeta assetSafeJava ....................................................... Pantalla inicial Asset Safe ..................................................... Captura de datos ingresados ................................................. Mtodo accesoSistema ....................................................... Anlisis de datos ingresados .................................................. Redireccin realizada por el archivo facesconfig .................... Pantalla de inicio para root .................................................... Fragmento de plan de pruebas ..............................................
51 52 53 54 55 56 57 58 59 59 60 60 61 62 63 64 65 66 67 67 68 68 68 69 69 69 70 70 71 72 72 73 74
INTRODUCCIN
La tecnologa RFID es una tecnologa de identificacin automtica que presenta grandes ventajas sobre otro tipo de tecnologas de identificacin, tales como mltiples lecturas de manera simultnea y sin necesidad de lnea de vista, la capacidad de lectura y escritura de los tags, y la capacidad de identificar de manera nica cada uno de los elementos. [1] A corto plazo, no se espera que RFID sustituya a otros tipos de tecnologas como el cdigo de barras, en especial por el costo de los tags, que no ha permitido la implementacin masiva de estos. Por esta razn estn surgiendo diferentes reas de aplicacin. El inters de las empresas por el uso de esta tecnologa ha aumentado de gran manera en los ltimos aos, buscando la automatizacin y optimizacin de diferentes procesos. Una parte vital para el logro de estos proyectos es el desarrollo de middleware que permita a las empresas obtener el mximo provecho de esta tecnologa y adaptarla a las necesidades de cada negocio, brindando un rpido retorno de la inversin [2].
OBJETIVO
Desarrollar un sistema de software que permita el control y administracin de los activos de la empresa, as como la asignacin de estos al personal, disminuyendo con esto el robo de los equipos y los costos derivados. Esta identificacin se llevar a cabo mediante la tecnologa de Identificacin por Radiofrecuencia (RFID), asignando un tag a cada empleado y equipo que se quiera controlar. El sistema tendr la capacidad de identificar los tags de los empleados y activos, permitiendo o negando el acceso o salida de estos mediante asignaciones controladas por el usuario. El usuario debe tener la posibilidad de obtener reportes de la siguiente informacin: Personal de la empresa dado de alta en el sistema Inventario de la empresa controlado por el sistema Asignaciones de equipos al personal Control de acceso Bitcora de actividades en el sistema. El sistema estar desarrollado con una metodologa propia de la empresa, basada en metodologas estndar como UML, en cuanto a anlisis, diseo y documentacin del mismo, y utilizando herramientas de programacin de sistemas abiertos como Java, contando con conexin a bases de datos.
ARQUITECTURA El modo de funcionamiento de los sistemas RFID es simple [3]: El lector manda una seal de interrogacin al tag. El tag usa la energa de esta seal para funcionar. El tag lee los datos que manda el lector, en caso de que existan. El tag contesta con su propia informacin. Un protocolo anticolisin permite gestionar la respuesta simultnea de mltiples tags. La informacin recibida se integra con el resto de los sistemas de informacin.
Un sistema RFID (Figura 1.1) consta de los siguientes tres componentes [4]: Etiqueta electrnica o tag: compuesta por una antena, un transductor de radio y un material encapsulado o chip. El propsito de la antena es permitirle al chip, el cual contiene la informacin, transmitir la informacin del mismo. Existen varios tipos de etiquetas. El chip posee una memoria interna con una capacidad que depende del modelo y vara de una decena a millares de bytes. Existen varios tipos de memoria: o Solo lectura: el cdigo de identificacin que contiene es nico y es personalizado durante la fabricacin de la etiqueta. o De lectura y escritura: la informacin de identificacin puede ser modificada por el lector. Lector de RFID: compuesto por una antena, un transceptor y un decodificador. El lector enva peridicamente seales para ver si hay alguna etiqueta en sus inmediaciones. Cuando capta una seal de una etiqueta (la cual contiene la informacin de identificacin de sta), extrae la informacin y se la pasa al subsistema de procesamiento de datos. Sistema de procesamiento de datos: proporciona los medios de proceso y almacenamiento de datos.
TIPOS DE TAGS Las etiquetas RFID pasivas (Figura 1.2) no tienen fuente de alimentacin propia. La mnima corriente elctrica inducida en la antena por la seal de escaneo de radiofrecuencia proporciona suficiente energa al circuito integrado CMOS de la etiqueta para poder transmitir una respuesta. Debido a las preocupaciones por la energa y el costo, la respuesta de una etiqueta RFID pasiva es necesariamente breve, normalmente apenas un nmero de identificacin [1,5].
Las etiquetas RFID activas (Figura 1.3) deben tener una fuente de energa, y pueden tener rangos de lectura mayores y memorias ms grandes que las etiquetas pasivas, as como la capacidad de poder almacenar informacin adicional enviada por el transmisor-receptor. Muchas etiquetas activas tienen rangos prcticos de diez metros, y una duracin de batera de hasta cuatro aos [1,5].
TIPOS DE SISTEMAS Los sistemas RFID se clasifican con base a la frecuencia que usan [4]: BAJA FRECUENCIA (LF). Un sistema RFID tpico de baja frecuencia opera en el rango de 125 KHz a 134.2 KHz. Generalmente usan etiquetas pasivas, aunque es posible conseguir etiquetas activas. Son efectivos si el entorno contiene metal, lquido, polvo, nieve o lodo. Esta frecuencia es aceptada mundialmente.
ALTA FRECUENCIA (HF). La frecuencia tpica utilizada por los sistemas RFID de alta frecuencia es 13.56 MHz. Generalmente se usan etiquetas pasivas. Ofrecen buen rendimiento en presencia de metales y lquidos. En los hospitales se utilizan estos sistemas, ya que no interfieren con el equipo existente. Esta frecuencia es aceptada mundialmente. ULTRA ALTA FRECUENCIA (UHF). Generalmente un sistema RFID pasivo de UHF opera a 915 MHz en USA, y de 865.5 a 867.6 MHz en Europa. Un sistema UHF puede utilizar ambos tipos de etiquetas. Las frecuencias altas de UHF no tienen un buen rendimiento en entornos con metal y lquidos. MICROONDAS ISM. Un sistema RFID de microondas opera a frecuencias de 2.4 GHz. Puede utilizar etiquetas activas o pasivas. No tiene un buen rendimiento en ambientes con metal o lquidos. La frecuencia de 2.4 GHz es conocida como ISM (Industrial, Scientific and Medical) y es aceptada internacionalmente.
10
Pueden representar a una persona, grupo de personas, o un sistema. Muestran las entidades con las cuales el sistema se comunica. Cuando una entidad externa provee datos al sistema, debe existir un flujo de datos saliendo de la entidad y en direccin al sistema. Cuando una entidad externa recibe datos del sistema, debe existir un flujo de datos que viene del sistema y termina en la entidad externa. Flujo de informacin
Figura 1.5. Smbolo flujo de informacin
Son las conexiones entre los distintos elementos del sistema y los procesos. Representan la informacin que los procesos exigen como entrada o las informaciones que generan como salida. Proceso
Representan las diversas funciones individuales que el sistema ejecuta. Estas funciones son las que transforman a las entradas en salidas. Archivo de datos
11
Muestran la coleccin de datos que el sistema debe mantener en la memoria en un periodo de tiempo. Al terminar el diseo del sistema y la construccin del mismo, los archivos sern las tablas que compongan las bases de datos.
12
Java Server Faces (JSF) es un marco de trabajo para crear aplicaciones java J2EE basadas en el modelo MVC. Nos permite desarrollar rpidamente aplicaciones de negocio dinmicas en las que toda la lgica de negocio se implementa o es llamada desde Java, creando pginas web para las vistas. Sus caractersticas principales son [7]: El cdigo JSF con el que creamos las vistas (etiquetas jsp) es muy parecido al HTML estndar. Lo pueden utilizar fcilmente desarrolladores y diseadores web. Utiliza pginas JSP para generar las vistas, aadiendo una biblioteca de etiquetas propia para crear los elementos de los formularios HTML. Asocia a cada vista con formularios con un conjunto de objetos java manejados por el controlador (managed beans) que facilitan la recoleccin, manipulacin y visualizacin de los valores mostrados en los diferentes elementos de los formularios. Utiliza un fichero de configuracin para el controlador en formato XML Forma parte del estndar J2EE. Permite introducir java script en la pgina, para acelerar la respuesta de la interfaz en el cliente (navegador del usuario).
13
Normalmente las aplicaciones web se construyen como un conjunto de pantallas con las que va interactuando el usuario. Estas pantallas contienen textos, botones, imgenes, tablas y elementos de seleccin que el usuario modifica. Todos estos elementos estarn agrupados en formularios HTML, que es la manera en que las pginas web envan la informacin introducida por el usuario al servidor. La principal funcin del controlador JSF es asociar a las pantallas, clases java que recogen la informacin introducida y que disponen de mtodos que responden a las acciones del usuario. JSF resuelve de manera sencilla y automtica muchas tareas: Mostrar datos al usuario en cajas de texto y tablas. Recolectar los datos introducidos por el usuario en los campos del formulario. Administrar el estado de los controles del formulario segn el estado de la aplicacin, activando, ocultando o aadiendo y eliminando controles y dems elementos Realizar validaciones y conversiones de los datos introducidos por el usuario Manejar campos, listas, combos y otros elementos a medida que el usuario va interactuando con la pantalla Controlar los eventos que ocurren en los controles (pulsaciones de teclas, botones y movimientos del ratn). Los elementos que conforman una aplicacin JSF son: Pginas JSP que incluyen los formularios JSF. Estas pginas generarn las vistas de la aplicacin Beans java que se conectan con los formularios JSF Clases java para la lgica de negocio y utilidades. Ficheros de configuracin y otros elementos del framework. Otros recursos de la aplicacin web (recursos estticos, java script y otros elementos)
14
UML
Lenguaje Unificado de Modelado (UML, por sus siglas en ingls, Unified Modeling Language) es el lenguaje de modelado de sistemas de software ms conocido y utilizado en la actualidad; est respaldado por el OMG (Object Management Group). Es un lenguaje grfico para visualizar, especificar, construir y documentar un sistema. UML ofrece un estndar para describir un modelo del sistema, incluyendo aspectos conceptuales tales como procesos de negocio y funciones del sistema, y aspectos concretos como expresiones de lenguajes de programacin, esquemas de bases de datos y componentes reutilizables. Es importante resaltar que UML es un "lenguaje" para especificar y no para describir mtodos o procesos. Se utiliza para definir un sistema, para detallar los artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que est descrito el modelo. Se puede aplicar en el desarrollo de software entregando gran variedad de formas para dar soporte a una metodologa de desarrollo de software, pero no especifica en s mismo qu metodologa o proceso usar. UML no puede compararse con la programacin estructurada, no es programacin, solo se diagrama la realidad de una utilizacin en un requerimiento. Mientras que, programacin estructurada, es una forma de programar como lo es la orientacin a objetos, sin embargo, la programacin orientada a objetos es un complemento perfecto de UML, pero no por eso se toma UML slo para lenguajes orientados a objetos. UML cuenta con varios tipos de diagramas, los cuales muestran diferentes aspectos de las entidades representadas [8].
15
clculo de un impuesto, ms bien, el caso de uso es todo el proceso en donde se calcula ese impuesto, como la generacin de una factura en una terminal de venta. Modela el dialogo entre los actores y el sistema, mediante un flujo de eventos completo y con significado para el usuario. Al unir todos los casos de uso, se tienen todas las formas posibles de usar el sistema. Asociaciones. Cada uno de estos elementos tiene la funcin especfica de representar un concepto dentro del negocio o sistema a construir.
Actor
Figura 1.10. Ejemplo de Diagrama de Caso de Uso
ESTEREOTIPOS Un estereotipo es un adorno que se puede asignar a un elemento de UML para dar ms informacin sobre l. De tal forma que podemos extender el significado bsico de un elemento mediante este estereotipo. En los diagramas de casos de uso, a las asociaciones entre casos de uso, generalmente se extienden mediante la implementacin de uno o varios estereotipos de las siguientes formas [9]: Uses Extends Includes Los estereotipos se denotan con los signos << >> para rpidamente dar a entender que se trata de uno de ellos. RELACIN USES El estereotipo Uses, se agrega a una relacin del diagrama de casos de uso y sirve para denotar que un caso de uso est haciendo USO de la funcionalidad de otro. Es caracterstica de este segundo caso de uso, ser funcionalidad compartida por otros. En el siguiente ejemplo, los casos de uso Retirar Efectivo y Consulta Saldo estn haciendo uso de la funcionalidad Validar Tarjeta, que es funcionalidad en comn a los casos de uso.
16
RELACIN EXTENDS Cuando un caso de uso extiende a otro caso de uso le agrega pasos o actividades adicionales, pero el caso de uso base est completo an si no existiera el que lo extiende.
RELACIN INCLUDES Indica que un caso de uso incluye dentro de su funcionalidad a otro caso de uso. La relacin Includes indica que un caso de uso est incluido dentro de otro, y que es exclusivo del primero. Solamente que para no complicar demasiado el primero, cierta funcionalidad es separada para poder as, manipular de una forma ms eficiente cada uno de los casos de uso.
17
18
DIAGRAMA DE SECUENCIA
Este diagrama muestra con relacin al tiempo, la secuencia u orden de los pasos del caso de uso. Un diagrama de secuencia mostrar de forma ordenada, los mensajes que se envan unos objetos a otros. [8] El eje vertical representa el tiempo, y en el eje horizontal se colocan los objetos y los actores participantes en la interaccin, sin un orden prefijado. Cada objeto o actor tiene una lnea vertical, y los mensajes se representan mediante flechas entre los distintos objetos. El tiempo fluye de arriba abajo. [8] Los elementos que se encuentran en un diagrama de secuencia son [8]: Actores: Entidades que disparan actividades dentro del sistema. Objetos: Cada uno de los objetos que se utilizan, est representado de forma ordenada en la parte superior derecha del diagrama, generalmente van apareciendo hacia la derecha conforme se van utilizando. Mensaje: Son las llamadas que emiten los actores hacia el interior del sistema. Operacin: Las operaciones son tambin llamadas, pero que se dan entre los objetos dentro del sistema.
19
DIAGRAMA DE CLASES
Muestra las clases en las que se implementar el sistema, sus relaciones, atributos y operaciones. El diagrama de clases es el artefacto principal de nuestro modelo conceptual a fin de poder representar a detalle las clases. Este detalle incluye [8]: Clases Propiedades (Alcance y tipo) o Alcance: Es la visibilidad de propiedades y mtodos de las clases hacia otros objetos. Existen varios tipos de alcances, entre los que se encuentran: Pblico. Puede ser visto por todos Privado. Solo por la clase y la subclase Protegido. Solo por la clase Mtodos (Alcance, parmetros, Retornos y Tipo de datos) Asociaciones Refinadas. Entre ellas se encuentran: o Asociacin. Es el tipo estndar de relacin entre objetos, esta se da cuando dos objetos interactan para dar un servicio (Figura 1.15).
Clase1 * * Clase2
o Agregacin. Es una asociacin entre dos objetos que se da cuando relacionamos a un todo y sus partes, sin que las partes sean dependientes de la vida del todo (Figura 1.16).
o Generalizacin. Sirve para especificar herencia. Por medio de esta relacin se define que una clase tomar los atributos y comportamientos de otra (Figura 1.17).
Transporte -Motor
Carro -Llantas
20
o Dependencia. Significa que una clase est contenida en la clase superior, pero no es indispensable para que exista la clase superior (Figura 1.18).
Nomina Empresa
o Composicin. Est contenida en la clase superior, pero indispensable para que exista la clase superior (Figura 1.19).
Mano 1 * Dedo
es
Roles. Se refiere al nombre que de la instancia que ser creada al momento de generar cdigo. Es el nombre que se utilizar para referirse al objeto en tiempo de ejecucin. Visibilidad entre clases. Aunque la visibilidad entre clases no se indica en un diagrama de clases por medio de la notacin, es importante mencionar que los objetos pueden conocerse por medio de cuatro formas: o Global. Cuando un objeto es declarado global y es accesible en todo momento dentro de la aplicacin por cualquier otro objeto. o Parmetro. Un objeto conocer a otro por parmetro cuando el primero reciba en un mtodo propio a una instancia del primero. o Local. Cuando un objeto es creado como parte de un mtodo. o Campo. Cuando un objeto tiene como propiedad a un objeto de la otra clase.
21
22
permitida, y en caso de no serlo, avisar a travs de una alarma que un dispositivo no permitido est saliendo. El control de entrada / salida es realizado por el sistema, el lector RFID y las etiquetas electrnicas. Al pasar por el acceso o salida de la empresa, los lectores RFID colocados leen los datos de las tarjetas de los activos y el personal. Estos identificadores se comparan en una base de datos, que indica si es un empleado o un activo, y si el activo puede salir de la empresa. Con el sistema se pueden obtener reportes de la informacin almacenada en las bases de datos, como asignaciones, empleados e inventario. Se genera una bitcora en donde se registra cualquier actividad administrativa realizada por algn usuario del sistema. Permite ver, de manera grfica, estadsticas como el estado de las asignaciones y del inventario, dando informacin para la toma de decisiones.
23
ANLISIS DE LA SOLUCIN
Se analiza el problema a resolver desde la perspectiva de los usuarios y de las entidades externas a las que va dirigido el sistema. Definir los procesos de negocio a automatizar. Relacin de eventos a automatizar. Casos de uso. Identificacin de flujo de datos. Se generan los siguientes diagramas y documentos: Diagrama de flujo de datos. Diagrama de Casos de Uso. Documentacin de casos de uso.
24
DISEO
El sistema se especifica en detalle, describiendo como va a funcionar internamente para satisfacer lo especificado en el anlisis. Se generan los siguientes diagramas y documentos: Diagrama de Secuencia. Se debe hacer un diagrama para cada posible escenario de cada uno de los casos de uso. Diagrama de clases.
DESARROLLO
Se lleva lo especificado en el diseo a un lenguaje de programacin estructurada, de preferencia orientado a objetos.
PRUEBAS
Se llevan a cabo una serie de pruebas para corroborar que el software funciona correctamente y que satisface lo especificado. Se genera el documento Plan de Pruebas, en donde se indican todos los casos que pueden ocurrir, que valores se van a introducir en el sistema, y cules son las respuestas que se espera obtener, y se irn actualizando durante las pruebas los valores obtenidos. Se deben cumplir correctamente todos los casos del plan de pruebas. En caso de que se detecte algn error, se debe volver al cdigo, corregirlo, y probar de nuevo. El sistema se encuentra listo cuando todos los casos prueba se han cumplido satisfactoriamente. Documentos que se generan en esta etapa: Plan de pruebas
DOCUMENTACIN
Se realizan los documentos que se entregarn junto con el sistema. Estos documentos son: Manual de Usuario. Este manual explica al usuario como usar el sistema de manera correcta. Debe contener imgenes de las pantallas por las que el usuario pasar al utilizar el sistema.
25
Manual de instalacin. En este se explican los requerimientos tcnicos para la instalacin del sistema, as como el procedimiento que debe seguirse para lograrlo con xito. Manual de operacin. Sirve para que el personal tcnico tenga los conocimientos necesarios para la utilizacin y mantenimiento del sistema. Manual del sistema. Indica como est diseado el sistema. Est conformado por los diagramas que de acuerdo a la metodologa se generan, as como las especificaciones tcnicas. En todos los documentos se debe indicar la versin del sistema y del manual.
26
ANLISIS DE REQUERIMIENTOS
ESPECIFICACIN DEL SISTEMA OBJETIVO Desarrollar un sistema de software que permita el control y administracin de los activos de la empresa, as como la asignacin de estos al personal, disminuyendo con esto el robo de los equipos y los costos derivados. Esta identificacin se llevar a cabo mediante la tecnologa de Identificacin por Radiofrecuencia (RFID), asignando un tag a cada empleado y equipo que se quiera controlar. El sistema tendr la capacidad de identificar los tags de los empleados y activos, permitiendo o negando el acceso o salida de estos mediante asignaciones controladas por el usuario. El usuario debe tener la posibilidad de obtener reportes de la siguiente informacin: Personal de la empresa dado de alta en el sistema Inventario de la empresa controlado por el sistema Asignaciones de equipos al personal Control de acceso Bitcora de actividades en el sistema. El sistema estar desarrollado con una metodologa propia de la empresa, basada en metodologas estndar como UML, en cuanto a anlisis, diseo y
27
documentacin del mismo, y utilizando herramientas de programacin de sistemas abiertos como Java, contando con conexin a bases de datos. ALCANCE La arquitectura modular de este sistema debe permitir el desarrollo y adaptacin de mdulos de software que permitan la captura de informacin a travs de diferentes medios, tales como RFID, cdigo de barras, captura por pantalla, etc. De igual forma debe permitir el desarrollo e integracin de gateways que permitan la conexin con diferentes bases de datos o sistemas de administracin de recursos humanos o inventario. Esta arquitectura modular, brinda la posibilidad de integrar o ajustar diferentes mdulos para aumentar o disminuir las capacidades del programa con base en las necesidades de cada cliente. El sistema debe obtener y generar informacin relevante, que permita a las empresas optimizar la logstica de su empresa o negocio, mediante el anlisis de esta informacin, ya sea manualmente, o con software o procesos de minera de datos. El sistema ser desarrollado utilizando una metodologa propia adaptada por la empresa, en cuanto a anlisis, diseo y documentacin del mismo, y utilizando herramientas de programacin de sistemas abiertos como Java, contando con conexin a bases de datos. BENEFICIO La estructura de este sistema brinda diferentes beneficios: El sistema ofrece la posibilidad de tomar informacin de una manera transparente para el cliente. El cliente no se ver interrumpido mientras se obtiene esta informacin. Ofrece un ambiente inalmbrico, brindando as una libre movilidad al usuario sin perder los beneficios del sistema. Incrementar la seguridad, permitiendo saber en todo momento que es lo que entra o sale de nuestra empresa o negocio, generando un registro. Solo se permite acceso o salida a aquel personal o productos que se deseen. Conocer con qu frecuencia entra un cliente, y en qu lugar pasa ms tiempo, permitiendo as una mejor planeacin en las empresas.
28
PLAN DE TRABAJO
El plan de trabajo est formado por un diagrama de Gantt, en donde se especifican todas las actividades que deben ser realizadas durante el proceso de desarrollo de software, indicando la duracin de cada una de ellas. Mediante este documento se logra tener un correcto seguimiento del proceso de desarrollo.
29
30
31
ANLISIS
DIAGRAMA DE FLUJO DE DATOS
32
33
34
-Fin32
* ALTA PRODUCTO
-Fin36 -Fin14 -Fin27 -Fin29 -Fin31 -Fin33 -Fin35 * -Fin37 * -Fin39 * ** * * -Fin41 -Fin43 * ADMINISTRADOR * * -Fin38 * *
BAJA PRODUCTO
ALTA ASIGNACION -Fin18 -Fin42 * * BAJA ASIGNACION -Fin44 * * -Fin48 * * ALTA USUARIO -Fin20
-Fin1
-Fin45 -Fin47 * * *
-Fin24
USUARIO
35
-Fin55
-Fin60
* REPORTE BITCORA
* REPORTE EMPLEADOS
* *
-Fin52 -Fin64 * -Fin69 -Fin71 * * * -Fin73 USUARIO -Fin80 * -Fin72 * REPORTE PRODUCTOS
-Fin82
REPORTE ASIGNACIONES
36
37
POSTCONDICIONES: Usuario existe en el sistema. Registro en bitcora. BAJA PRODUCTO DESCRIPCION: Permite dar de baja un producto. ACTORES: Root, Administrador PRECONDICIONES: Producto existe en el sistema FLUJO NORMAL: 1. Ingresa nmero de inventario del producto. 2. Sistema valida datos y da de baja 3. Ingresa registro de accin en bitcora. FLUJO ALTERNATIVO: 2. Nmero de inventario no es correcto o empleado no existe. Se informa a usuario, permitiendo corregir los datos. POSTCONDICIONES: Producto ya no existe en el sistema. CAMBIAR DATOS DESCRIPCION: Permite cambiar los datos de un producto PRODUCTO ACTORES: Root, Administrador, Usuario PRECONDICIONES: Producto existe en el sistema FLUJO NORMAL: 1. Ingresa nmero de inventario del producto para visualizar datos. 2. Edita datos. 3. Sistema comprueba validez de los datos y almacena en el sistema. 4. Ingresa registro de accin en bitcora. FLUJO ALTERNATIVO: 3. Datos no son correctos. Se informa a usuario permitiendo corregirlos. POSTCONDICIONES: Nuevos datos almacenados en el sistema. Se crea registro de accin en bitcora. ALTA ASIGNACION DESCRIPCION: Permite dar de alta una asignacin ACTORES: Root, Administrador PRECONDICIONES: Empleado a quien se va a realizar la asignacin existe en el sistema. Producto que se va a asignar existe en el sistema. FLUJO NORMAL: 1. Actor ingresa clave de empleado, nmero de inventario de producto y datos. 2. Presiona botn Alta 3. Datos correctos, asignacin se da de alta 4. Ingresa registro de accin en bitcora FLUJO ALTERNATIVO: 3. Datos Incorrectos. Se muestra mensaje de error, permitiendo la correccin de los datos POSTCONDICIONES: Asignacin permite acceso o salida del empleado con el producto. Registro en bitcora. BAJA ASIGNACIN DESCRIPCION: Permite dar de baja una asignacin. ACTORES: Root, Administrador PRECONDICIONES: Asignacin existe en el sistema FLUJO NORMAL: 1. Ingresa clave del empleado. 2. Sistema muestra asignaciones del empleado. 3. Actor elige la asignacin a dar de baja. 4. Presiona botn "Baja" y asignacin queda eliminada. FLUJO ALTERNATIVO: 1. Clave de empleado incorrecta o no tiene asignaciones. Sistema informa y permite corregir datos. 38
CAMBIAR ASIGNACIN
ALTA USUARIO
BAJA USUARIO
CAMBIAR USUARIO
POSTCONDICIONES: Asignacin ya no existe. Empleado no puede entrar o salir con el producto. DATOS DESCRIPCION: Permite cambiar las fechas de una asignacin. ACTORES: Root, Administrador, Usuario PRECONDICIONES: Asignacin existe en el sistema FLUJO NORMAL: 1. Ingresa clave del empleado para visualizar sus asignaciones. 2. Elegir asignacin a editar. 3. Se editan los datos. 4. Sistema comprueba validez de los datos y almacena en el sistema. 5. Ingresa registro de accin en bitcora. FLUJO ALTERNATIVO: 4. Datos no son correctos. Se informa a usuario permitiendo corregirlos. POSTCONDICIONES: Nuevos datos almacenados en el sistema. Se crea registro de accin en bitcora. DESCRIPCION: Permite dar de alta a un usuario ACTORES: Root, Administrador PRECONDICIONES: Usuario no existe en el sistema. FLUJO NORMAL: 1. Actor ingresa login de usuario y datos 2. Presiona botn Alta 3. Datos correctos, usuario se da de alta 4. Ingresa registro de accin en bitcora FLUJO ALTERNATIVO: 3. Datos Incorrectos. Se muestra mensaje de error, permitiendo la correccin de los datos POSTCONDICIONES: Usuario existe en el sistema. Registro en bitcora. DESCRIPCION: Permite dar de baja un usuario ACTORES: Root, Administrador PRECONDICIONES: Usuario existe en el sistema FLUJO NORMAL: 1. Ingresa login del usuario 2. Sistema valida login y da de baja 3. Ingresa registro de accin en bitcora. FLUJO ALTERNATIVO: 2. Login de usuario no es correcta, o usuario no existe. Se informa al actor, permitiendo corregir los datos. POSTCONDICIONES: Usuario ya no existe en el sistema. DATOS DESCRIPCION: Permite cambiar los datos de un usuario ACTORES: Root, Administrador, Usuario PRECONDICIONES: Usuario existe en el sistema FLUJO NORMAL: 1. Ingresa login del usuario para visualizar datos. 2. Edita datos. 3. Sistema comprueba validez de los datos y almacena en el sistema. 4. Ingresa registro de accin en bitcora. FLUJO ALTERNATIVO: 3. Datos no son correctos. Se informa a actor, permitiendo corregirlos. POSTCONDICIONES: Nuevos datos almacenados en el sistema. Se crea registro de accin en bitcora. 39
REPORTE USUARIOS
REPORTE BITCORA
REPORTE ACCESO
CONTROL
REPORTE EMPLEADOS
DESCRIPCION: Permite generar y ver un reporte de los usuarios existentes en el sistema. ACTORES: Root PRECONDICIONES: Usuarios existentes FLUJO NORMAL: 1. Actor ingresa parmetros para generar reporte 2. Presiona botn Ver 3. Se muestra reporte basado en parmetros ingresados por el actor. Se da la opcin de imprimir reporte. 4. Ingresa registro de accin en bitcora FLUJO ALTERNATIVO: 3. Parmetros ingresados por actor no coinciden con ningn registro. Se muestra reporte en blanco. POSTCONDICIONES: Registro en bitcora. DESCRIPCION: Permite generar y ver un reporte de la bitcora del sistema. ACTORES: Root PRECONDICIONES: Registros existentes en bitcora. FLUJO NORMAL: 1. Actor ingresa parmetros para generar reporte 2. Presiona botn Ver 3. Se muestra reporte basado en parmetros ingresados por el actor. Se da la opcin de imprimir reporte. FLUJO ALTERNATIVO: 3. Parmetros ingresados por actor no coinciden con ningn registro. Se muestra reporte en blanco. POSTCONDICIONES: DESCRIPCION: Permite generar y ver un reporte de el control de acceso el sistema. ACTORES: Root PRECONDICIONES: Registros de control de acceso existentes. FLUJO NORMAL: 1. Actor ingresa parmetros para generar reporte 2. Presiona botn Ver 3. Se muestra reporte basado en parmetros ingresados por el actor. Se da la opcin de imprimir reporte. 4. Ingresa registro de accin en bitcora FLUJO ALTERNATIVO: 3. Parmetros ingresados por actor no coinciden con ningn registro. Se muestra reporte en blanco. POSTCONDICIONES: Registro en bitcora. DESCRIPCION: Permite generar y ver un reporte de los empleados existentes en el sistema. ACTORES: Root, Administrador, usuario, Seguridad PRECONDICIONES: Empleados existentes FLUJO NORMAL: 1. Actor ingresa parmetros para generar reporte 2. Presiona botn Ver 3. Se muestra reporte basado en parmetros ingresados por el actor. Se da la opcin de imprimir reporte. 4. Ingresa registro de accin en bitcora 40
REPORTE PRODUCTOS
REPORTE ASIGNACIONES
CONTROL DE ACCESO
FLUJO ALTERNATIVO: 3. Parmetros ingresados por actor no coinciden con ningn registro. Se muestra reporte en blanco. POSTCONDICIONES: Registro en bitcora. DESCRIPCION: Permite generar y ver un reporte de los productos existentes en el sistema. ACTORES: Root, Administrador, usuario, Seguridad PRECONDICIONES: Productos existentes FLUJO NORMAL: 1. Actor ingresa parmetros para generar reporte 2. Presiona botn Ver 3. Se muestra reporte basado en parmetros ingresados por el actor. Se da la opcin de imprimir reporte. 4. Ingresa registro de accin en bitcora FLUJO ALTERNATIVO: 3. Parmetros ingresados por actor no coinciden con ningn registro. Se muestra reporte en blanco. POSTCONDICIONES: Registro en bitcora. DESCRIPCION: Permite generar y ver un reporte de las asignaciones existentes en el sistema. ACTORES: Root, Administrador, usuario, Seguridad PRECONDICIONES: Asignaciones existentes FLUJO NORMAL: 1. Actor ingresa parmetros para generar reporte 2. Presiona botn Ver 3. Se muestra reporte basado en parmetros ingresados por el actor. Se da la opcin de imprimir reporte. 4. Ingresa registro de accin en bitcora FLUJO ALTERNATIVO: 3. Parmetros ingresados por actor no coinciden con ningn registro. Se muestra reporte en blanco. POSTCONDICIONES: Registro en bitcora. DESCRIPCION: Realiza el control de acceso ACTORES: Seguridad PRECONDICIONES: Empleados, productos y asignaciones dadas de alta en sistema FLUJO NORMAL: 1. Lector RFID realiza lectura automticamente cada cierto tiempo. 1. Sistema lee resultados de la lectura RFID. 2. Muestra que fue lo que cruz por el lector, y si tiene permisos para entrar o salir. 3. Registra accin en Control Acceso FLUJO ALTERNATIVO: 1. Usuario puede decidir en qu momento realizar otra lectura. POSTCONDICIONES: Registro en Control Acceso.
41
DISEO
DIAGRAMAS DE SECUENCIA ALTA EMPLEADO
ESCENARIO 1. CLAVE EMPLEADO, NOMBRE, APELLIDO Y DEPARTAMENTO CORRECTOS
Pantalla Empleado Datos empleado Datos Correctos 1: set Datos 2: get Datos Paquete superior::ADMINISTRADOR 3: empleadoExiste() Empleado no existe 4: altaEmpleado() 5: Registro 6: getLista() Lista Empleados Lista Empleados EmpleadoBean Empleado Empleados BD Bitacora BD
Paquete superior::ADMINISTRADOR
42
BAJA EMPLEADO
ESCENARIO 1. CLAVE EMPLEADO CORRECTA
Pantalla Empleado Datos empleado Datos Correctos 1: set Datos 2: get Datos Paquete superior::ADMINISTRADOR 3: EmpleadoExiste() Empleado existe 4: BajaEmpleado() 6: bajaEmpleado() 7: getLista() Lista Empleados Lista Empleados 5: BajaEmpleado() EmpleadoBean Empleado Empleados BD Bitacora BD Asignaciones BD
Paquete superior::ADMINISTRADOR
43
Datos Correctos 7: set Datos 8: get Datos 9: CambiarDatos() 11: getLista() Lista Empleados Lista Empleados 10: CambiarDatos()
Paquete superior::ADMINISTRADOR
44
Datos Incorrectos
45
ALTA PRODUCTO
ESCENARIO 1. NUMERO DE SERIE CORRECTO, EPC CORRECTO.
Pantalla Producto Datos Producto Datos Correctos 1: set Datos 2: get Datos Paquete superior::ADMINISTRADOR 3: productoExiste() Producto no existe 4: altaProducto() 5: Registro 6: getLista() Lista Productos 7: set Datos 8: get Datos ProductoBean Producto Inventario BD Bitacora BD
Paquete superior::ADMINISTRADOR
Datos producto Datos Correctos 1: set Datos 2: get Datos Paquete superior::ADMINISTRADOR 3: productoExiste() Producto existe Producto Existe Produco Existe
46
BAJA PRODUCTO
ESCENARIO 1. NMERO INVENTARIO CORRECTO
Pantalla Producto Datos empleado Datos Correctos 1: set Datos 2: get Datos Paquete superior::ADMINISTRADOR 3: ProductoExiste() Producto existe 4: BajaProducto() 5: BajaProducto() 6: bajaProducto() 7: getLista() 8: set Datos 9: get Datos ProductoBean Producto Inventario BD Bitacora BD Asignaciones BD
Paquete superior::ADMINISTRADOR
47
Datos Correctos 7: set Datos 8: get Datos 9: CambiarDatos() 10: CambiarDatos() 11: getLista() Lista Empleados Lista Empleados
Paquete superior::ADMINISTRADOR
48
Datos Incorrectos
49
ALTA ASIGNACIN
ESCENARIO 1. CLAVE EMPLEADO, EPCPRODUCTO, FECHA ASIGNACION, FECHA FIN SON VALIDOS Y CORRECTOS
Pantalla Asignacion Datos Asignacion Datos Correctos 1: set Datos 2: get Datos Paquete superior::ADMINISTRADOR 3: empleadoExiste() Empleado Existe 4: productoExiste() Producto existe 5: asignacionExiste() Asignacion No Existe 6: altaAsignacion() 7: altaAsignacion() 8: getLista() Lista Asignaciones Lista Asignaciones AsignacionBean Asigancion Inventario BD Asignaciones BD Empleado BD Bitacora BD
ESCENARIO 2. CLAVE EMPLEADO O EPC DEL PRODUCTO SON INCORRECTOS, O ALGUNA DE LAS FECHAS NO ES VALIDA.
Pantalla Asignacion Datos Asignacion Datos Incorrectos Datos Incorrectos AsignacionBean
Paquete superior::ADMINISTRADOR
50
BAJA ASIGNACIN
ESCENARIO 1. CLAVE EMPLEADO CORRECTA
Pantalla Asignacion Datos Asignacion Datos Correctos 1: set Datos 2: get Datos Paquete superior::ADMINISTRADOR 3: empleadoExiste() Empleado Existe 4: asignacionExiste() Asignacion existe 4: reporteAsignaciones() Reporte Asignaciones 5: set Datos 6: get Datos Selecciona Asignacion 7: set Datos 8: get Datos 9: bajaAsignacion() 10: bajaAsignacion() 11: getLista() Lista Asignaciones Lista Asignaciones AsignacionBean Asigancion Inventario BD Asignaciones BD Empleado BD Bitacora BD
Paquete superior::ADMINISTRADOR
51
Paquete superior::ADMINISTRADOR
52
53
54
ALTA USUARIO
ESCENARIO 1. DATOS USUARIO CORRECTOS
Pantalla Usuario Datos usuario Datos Correctos 1: set Datos 2: get Datos Paquete superior::ROOT 3: usuarioExiste() Usuario no existe 4: altaUsuario() 5: altaUsuario() 6: getLista() Lista Usuarios Lista Usuarios UsuarioBean Usuario Acceso BD Bitacora BD
Paquete superior::ROOT
UsuarioBean
Usuario
Acceso BD
Bitacora BD
Datos Correctos 1: set Datos 2: get Datos Paquete superior::ROOT 3: usuarioExiste() Usuario Existe Usuario Existe
55
BAJA USUARIO
ESCENARIO 1. LOGIN USUARIO CORRECTO
Pantalla Usuario Datos empleado Datos Correctos 1: set Datos 2: get Datos Paquete superior::ADMINISTRADOR 3: UsuarioExiste() Usuario existe 5: BajaUsuario() 6: bajaEmpleado() 8: getLista() Lista Usuarios Lista Usuarios UsuarioBean Usuario Acceso BD Bitacora BD
Paquete superior::ADMINISTRADOR
UsuarioBean
Usuario
Acceso BD
Paquete superior::ADMINISTRADOR
56
Datos Correctos 9: set Datos 10: get Datos 11: CambiarDatos() 12: CambiarDatos() 13: getLista() Lista Empleados Lista Empleados
Paquete superior::ADMINISTRADOR
57
Datos Incorrectos
58
REPORTE EMPLEADOS
EmpleadoBean
Empleado
Empleados BD
Bitacora BD
1: set Datos 2: get Datos 3: getReporte() Paquete superior::ADMINISTRADOR 4: getReporte() Datos empleado 5: setDatos 6: get Datos Reporte
REPORTE PRODUCTOS
Pantalla Producto Datos producto 1: set Datos 3: get Datos 4: getReporte() Paquete superior::ADMINISTRADOR 5: getReporte() Datos producto 6: setDatos 7: get Datos Reporte ProductoBean Producto Inventario BD Bitacora BD
59
REPORTE ASIGNACIONES
AsignacionBean
Asignacion
Asignaciones BD
Bitacora BD
1: set Datos 2: get Datos 3: getReporte() Paquete superior::ADMINISTRADOR getReporte() Datos Asignaciones 6: setDatos 7: get Datos Reporte
REPORTE USUARIOS
UsuarioBean
Usuario
Acceso BD
Bitacora BD
3: get Datos 4: getReporte() Paquete superior::ROOT 5: getReporte() Datos usuario 6: setDatos 7: get Datos Reporte
60
61
REPORTE BITACORA
BitacoraBean
Bitacora
Bitacora BD
1: set Datos 2: get Datos 3: getReporte() Paquete superior::ADMINISTRADOR Datos bitacora 4: setDatos 5: get Datos Reporte
62
CONTROL DE ACCESO
ESCENARIO 1. LEE TAG DE EMPLEADO Y PRODUCTO, ASIGNACION VALIDA
Pantalla Control Acceso ControlAccesoBean ControlAcceso Lector Asignaciones BD Empleado BD Inventario BD Entrada_Salida BD
inicia lectura
Paquete superior::SEGURIDAD
datos asignacion 4: acceso() datos empleado 5: acceso() datos producto 6: acceso() 7: set Datos 8: get Datos
63
inicia lectura
Paquete superior::SEGURIDAD
Salida No Permitida
inicia lectura
Paquete superior::SEGURIDAD
4: get Datos
64
DIAGRAMA DE CLASES
65
66
DESARROLLO
El desarrollo de este proyecto se llev a cabo siguiendo el modelo Vista Controlador, que permite separar las capas de presentacin y las de manejo de informacin y operaciones del sistema. El ambiente de desarrollo utilizado fue Netbeans 6.5, que nos permite utilizar el modelo de una manera sencilla.
La carpeta Web Pages, contiene todas las pantallas utilizadas en el sistema, as como los archivos de configuracin.
67
El archivo de configuracin faces-config, permite controlar el flujo de las pantallas del sistema, dependiendo de la respuesta obtenida ante cada accin.
68
En la carpeta Source Packages, se ubican los archivos de lgica de la aplicacin y acceso a datos. Estos se encuentran separados en dos carpetas, lo cual facilita el realizar los cambios a alguna accin o pantalla en particular.
En la carpeta assetSafe se encuentran los archivos de la lgica de la aplicacin, que son los encargados de recibir la informacin de la capa de presentacin, y utilizar los archivos de acceso a datos para realizar las operaciones necesarias.
69
La manera en que estos elementos funcionan de manera conjunta para lograr la funcionalidad del sistema, es la siguiente: El usuario introduce los datos en una de las pantallas de la capa de presentacin, en este caso, la pantalla Index, que es la pantalla inicial, y desde la cual el usuario ingresa al sistema.
Una vez ingresados los datos, cuando el usuario presiona el botn Entrar, los datos son recibidos en el archivo Index.java.
70
Al contar con los datos del usuario, se utiliza la clase Acceso.java, la cual contiene el mtodo accesoSistema, que realiza la consulta a la base de datos, y devuelve un valor indicando si el usuario existe, y que tipo de usuario es.
El valor es devuelto a la clase Index.java, aqu es analizado, y devuelve un valor que ser interpretado en el archivo facesconfig, para dirigir al sistema hacia la siguiente pantalla, y mostrarla al usuario.
71
72
73
PRUEBAS
PLAN DE PRUEBAS
74
75
CONCLUSIONES
La tecnologa RFID est adquiriendo auge en las empresas, mediante la automatizacin de procesos de identificacin y control, sin embargo, el precio de las etiquetas aun impide el uso masivo de estas. Es por eso que este sistema est enfocado a la proteccin de activos de mediano y alto valor, cuya proteccin justifica el costo de la tecnologa. El sistema desarrollado busca brindar a las empresas las ventajas de automatizar el control de sus activos, incrementando la seguridad y facilitando el seguimiento de estos, sin necesidad de realizar el llenado de formatos, y sin depender de la capacidad del personal para detectar e identificar los activos. Utiliza un lenguaje de desarrollo de cdigo abierto como lo es Java, para no tener restricciones al instalarlo en la infraestructura con que cuentan las empresas, y evitar que esta sea una limitante para la implementacin. Al ser un sistema que permite el acceso va web, brinda a los administradores del sistema la facilidad de realizar diferentes acciones sin importar el lugar en el que se encuentren.
76
EMPLEADOS NUEVO EMPLEADO Datos Correctos Clave de empleado: 16 caracteres Nombre: 1 a 30 caracteres Apellido: 1 a 30 caracteres Departamento: 1 a 30 caracteres Telfono: 8 dgitos Extensin: 0 a 5 dgitos Celular: 0 a 13 dgitos EE123454AF109876 Adriana Gutierrez Inster 15217200 2763 0445518980776 Alta se realiz correctamente Alta se realiz correctamente
Datos Correctos
Clave de empleado: 16 caracteres Nombre: 1 a 30 caracteres Apellido: 1 a 30 caracteres Departamento: 1 a 30 caracteres Telfono: 8 dgitos Extensin: 0 a 5 dgitos Celular: 0 a 13 dgitos
0445510111213
Datos Correctos
Clave de empleado: 16 caracteres Nombre: 1 a 30 caracteres Apellido: 1 a 30 caracteres Departamento: 1 a 30 caracteres Telfono: 8 dgitos Extensin: 0 a 5 dgitos
Datos Correctos
AA52345432109876 Mariana
77
Lopez Xamai
Datos Correctos
Clave de empleado: 16 caracteres Nombre: 1 a 30 caracteres Apellido: 1 a 30 caracteres Departamento: 1 a 30 caracteres Telfono: 8 dgitos Extensin: 0 a 5 dgitos Celular: 0 a 13 dgitos
Datos Correctos
Clave de empleado: 16 caracteres Nombre: 1 a 30 caracteres Apellido: 1 a 30 caracteres Departamento: 1 a 30 caracteres Telfono: 8 dgitos Extensin: 0 a 5 dgitos Celular: 0 a 13 dgitos
Clave de empleado: 16 caracteres Nombre: 1 a 30 caracteres Apellido: 1 a 30 caracteres Departamento: 1 a 30 caracteres Telfono: 8 dgitos Extensin: 0 a 5 dgitos Celular: 0 a 13 dgitos
78
Clave de empleado: 16 caracteres Nombre: 1 a 30 caracteres Apellido: 1 a 30 caracteres Departamento: 1 a 30 caracteres Telfono: 8 dgitos Extensin: 0 a 5 dgitos Celular: 0 a 13 dgitos
Empleado ya existe
Clave de empleado: 16 caracteres Nombre: 1 a 30 caracteres Apellido: 1 a 30 caracteres Departamento: 1 a 30 caracteres Telfono: 8 dgitos Extensin: 0 a 5 dgitos Celular: 0 a 13 dgitos
Datos Incorrectos
Clave de empleado: 16 caracteres Nombre: 1 a 30 caracteres Apellido: 1 a 30 caracteres Departamento: 1 a 30 caracteres Telfono: 8 dgitos Extensin: 0 a 5 dgitos Celular: 0 a 13 dgitos
Datos Incorrectos
Clave de empleado: 16 caracteres Nombre: 1 a 30 caracteres Apellido: 1 a 30 caracteres Departamento: 1 a 30 caracteres Telfono: 8 dgitos Extensin: 0 a 5 dgitos
79
Celular: 0 a 13 dgitos
Datos Incorrectos
Clave de empleado: 16 caracteres Nombre: 1 a 30 caracteres Apellido: 1 a 30 caracteres Departamento: 1 a 30 caracteres Telfono: 8 dgitos Extensin: 0 a 5 dgitos Celular: 0 a 13 dgitos
12345430987671
Datos Incorrectos
Clave de empleado: 16 caracteres Nombre: 1 a 30 caracteres Apellido: 1 a 30 caracteres Departamento: 1 a 30 caracteres Telfono: 8 dgitos Extensin: 0 a 5 dgitos Celular: 0 a 13 dgitos
12345430987671 Ramon
Datos Incorrectos
Clave de empleado: 16 caracteres Nombre: 1 a 30 caracteres Apellido: 1 a 30 caracteres Departamento: 1 a 30 caracteres Telfono: 8 dgitos Extensin: 0 a 5 dgitos Celular: 0 a 13 dgitos
EDITAR DATOS EMPLEADO Datos nuevos correctos Clave de empleado: 16 caracteres Nombre: 1 a 30 caracteres Apellido: 1 a 30 caracteres 99423C543210987D Eduardo prueba Rodriguez prueba Guarda nuevos datos Guarda nuevos datos
80
Clave de empleado: 16 caracteres Nombre: 1 a 30 caracteres Apellido: 1 a 30 caracteres Departamento: 1 a 30 caracteres Telfono: 8 dgitos Extensin: 0 a 5 dgitos Celular: 0 a 13 dgitos
2737 0445501928371
Clave de empleado: 16 caracteres Nombre: 1 a 30 caracteres Apellido: 1 a 30 caracteres Departamento: 1 a 30 caracteres Telfono: 8 dgitos Extensin: 0 a 5 dgitos Celular: 0 a 13 dgitos
0445501928371
Clave de empleado: 16 caracteres Nombre: 1 a 30 caracteres Apellido: 1 a 30 caracteres Departamento: 1 a 30 caracteres Telfono: 8 dgitos Extensin: 0 a 5 dgitos Celular: 0 a 13 dgitos
Nombre Incorrecto
B1423c543210987d
81
Apellido: 1 a 30 caracteres Departamento: 1 a 30 caracteres Telfono: 8 dgitos Extensin: 0 a 5 dgitos Celular: 0 a 13 dgitos
Apellido incorrecto
Clave de empleado: 16 caracteres Nombre: 1 a 30 caracteres Apellido: 1 a 30 caracteres Departamento: 1 a 30 caracteres Telfono: 8 dgitos Extensin: 0 a 5 dgitos Celular: 0 a 13 dgitos
B1423c543210987d Eduardo
Departamento incorrecto
Clave de empleado: 16 caracteres Nombre: 1 a 30 caracteres Apellido: 1 a 30 caracteres Departamento: 1 a 30 caracteres Telfono: 8 dgitos Extensin: 0 a 5 dgitos Celular: 0 a 13 dgitos
Telfono incorrecto
Clave de empleado: 16 caracteres Nombre: 1 a 30 caracteres Apellido: 1 a 30 caracteres Departamento: 1 a 30 caracteres Telfono: 8 dgitos Extensin: 0 a 5 dgitos Celular: 0 a 13 dgitos
Extensin incorrecta
B1423c543210987d
82
Nombre: 1 a 30 caracteres Apellido: 1 a 30 caracteres Departamento: 1 a 30 caracteres Telfono: 8 dgitos Extensin: 0 a 5 dgitos Celular: 0 a 13 dgitos
Celular incorrecto
Clave de empleado: 16 caracteres Nombre: 1 a 30 caracteres Apellido: 1 a 30 caracteres Departamento: 1 a 30 caracteres Telfono: 8 dgitos Extensin: 0 a 5 dgitos Celular: 0 a 13 dgitos
Clave Empleado
9900000000000000
Baja Correcta
Baja Correcta
9900000000000001 9900000000000010
Baja correcta
Baja correcta
PRODUCTOS NUEVO PRODUCTO Datos correctos Nmero de inventario Numero de Serie EPC Producto Categora Marca Descripcion Detalles Prestamos Mantenimiento 2 1111111111111111 1111111111111111 AA11111111111111 computo dell laptop Alta se realizo correctamente Alta se realizo correctamente
83
Datos correctos
Nmero de inventario Numero de Serie EPC Producto Categora Marca Descripcin Detalles Prestamos Mantenimiento
Datos correctos
Nmero de inventario Numero de Serie EPC Producto Categora Marca Descripcin Detalles Prestamos Mantenimiento
Datos correctos
Nmero de inventario Numero de Serie EPC Producto Categora Marca Descripcin Detalles Prestamos Mantenimiento
Datos correctos
84
Laptop Vaio 4
Datos correctos
Nmero de inventario Numero de Serie EPC Producto Categora Marca Descripcin Detalles Prestamos Mantenimiento
Nmero de inventario Numero de Serie EPC Producto Categora Marca Descripcin Detalles Prestamos Mantenimiento
Producto ya existe
Nmero de inventario Numero de Serie EPC Producto Categora Marca Descripcin Detalles Prestamos Mantenimiento
85
Nmero de inventario Numero de Serie EPC Producto Categora Marca Descripcin Detalles Prestamos Mantenimiento
Nmero de inventario Numero de Serie EPC Producto Categora Marca Descripcin Detalles Prestamos Mantenimiento
EPC Incorrecto
Nmero de inventario Numero de Serie EPC Producto Categora Marca Descripcin Detalles Prestamos Mantenimiento
Marca Incorrecta
86
laptop
EDITAR DATOS PRODUCTO Nmero Inventario Datos nuevos: Datos nuevos correctos EPC Producto: Categora: Marca: Descripcin: Detalles: Prestamos: Prestamos Mantenimiento: Mantenimiento: 2222222222222222 EF222222222222222a COMPUTO DELL Laptop INSPIRON 640M 2 10 Requiere mantenimiento Guarda Datos Envia mail Guarda Datos Envia mail
Nmero Inventario Datos nuevos: Marca Incorrecta EPC Producto: Categora: Marca: Descripcin: Detalles: Prestamos: Prestamos Mantenimiento: Mantenimiento:
Datos Incorrectos
Datos Incorrectos
Nmero Inventario Datos nuevos: EPC Incorrecto EPC Producto: Categora: Marca: Descripcin: Detalles: Prestamos: Prestamos Mantenimiento:
Datos Incorrectos
Datos Incorrectos
87
Mantenimiento:
Correcto
Nmero Inventario Datos nuevos: EPC Incorrecto EPC Producto: Categora: Marca: Descripcin: Detalles: Prestamos: Prestamos Mantenimiento: Mantenimiento:
2222222222222222
Datos Incorrectos
Datos Incorrectos
Nmero de inventario EPC Producto Categora Marca Descripcin Detalles Prestamos: Prestamos Mantenimiento: Mantenimiento:
Datos Incorrectos
Datos Incorrectos
Correcto
EPC Producto
666666aaeeff6666
Baja Correcta
Baja Correcta
4444444444444444 EA293849AF182930
Baja correcta
Baja correcta
ASIGNACIONES NUEVA ASIGNACION Datos Correctos Empleado Producto 9999999999999999 AA11111111111111 Alta correcta Alta correcta
88
01/01/2000 01/01/2020
Datos Correctos
Alta correcta
Alta correcta
Datos Incorrectos
Datos Incorrectos
Datos Incorrectos
Datos Incorrectos
Fecha incorrecta
Fecha incorrecta
Datos Incorrectos
Fecha incorrecta
Fecha incorrecta
No realiza asignacion
No realiza asignacion
89
EDITAR DATOS ASIGNACION Fecha inicio correcta Empleado Producto Fecha inicio 9999999999999999 AA11111111111111 01/01/2001 Nuevos datos guardados Nuevos datos guardados
9999999999999999 AA11111111111111
9999999999999999 AA11111111111111
Producto
Baja Correcta
Baja Correcta
Producto Producto
Baja correcta
Baja correcta
90
REPORTES REPORTE EMPLEADOS Ingresa parmetros bsqueda Clave de empleado Nombre Apellido Departamento ***** ***** ****** ****** Genera reporte basado en parmetros Genera reporte basado en parmetros
Campos nulos
REPORTE PRODUCTOS Ingresa parmetros bsqueda Numero de inventario Numero de serie EPC Producto Categora Marca Descripcin Estado Mantenimiento ***** ***** ****** ****** ****** ****** Genera reporte basado en parmetros Genera reporte basado en parmetros
Campos nulos
Numero de inventario Numero de serie EPC Producto Categora Marca Descripcin Estado Mantenimiento
REPORTE ASIGNACIONES
91
Campos nulos
REPORTE USUARIOS Ingresa parmetros Login Rol Nombre Apellido ***** ***** ***** ***** Reporte basado en parmetros Reporte basado en parmetros
Campos nulos
REPORTE CONTROL ACCESO Ingresa parmetros bsqueda Fecha correcta Clave de empleado Nmero de inventario Fecha Estado ****** ****** dd/mm/aaaa ****** Genera reporte basado en parmetros Genera reporte basado en parmetros
Fecha incorrecta
fecha incorrecta
Campos nulos
Clave de empleado
92
REPORTE BITCORA Ingresa parmetros bsqueda Login Fecha Accin ****** ****** ****** Genera reporte basado en parmetros Genera reporte basado en parmetros
Campos nulos Login Fecha Accin Reporte toda la bitcora Reporte toda la bitcora
USUARIOS NUEVO USUARIO Datos correctos Login: Password: Nombre: Apellido: Rol: Adminpba Adminpba Administrador Prueba Administrador Alta usuario Alta usuario
Datos correctos
Alta usuario
Alta usuario
Datos correctos
Alta usuario
Alta usuario
93
Datos correctos
Alta usuario
Alta usuario
Datos correctos
Alta usuario
Alta usuario
Login existente
Login ya existe
Login ya existe
Login incorrecto
Login incorrecto
Login incorrecto
Login incorrecto
Login incorrecto
Login incorrecto
Password incorrecto
Login: Password:
Pbacampos Pba
Password incorrecto
Password incorrecto
94
Nombre incorrecto
Pbacampos Pbacampos
Nombre incorrecto
Nombre incorrecto
Campos Administrador
Apellido Incorrecto
Apellido incorrecto
Apellido incorrecto
Administrador
EDITAR USUARIO Password correcto Login Password Nombre Apellido Rol adminpba adminpbaadmin Administrador Prueba Administrador Guarda nuevos datos Guarda nuevos datos
Nombre correcto
95
Apellido correcto
Nuevo rol
Password vacio
adminpba
No guarda datos
No guarda datos
Nombre vacio
adminpba adminCambio
No guarda datos
No guarda datos
Apellido vacio
No guarda datos
No guarda datos
Root
Login
adminpba
Baja Correcta
Baja Correcta
96
Login Login
rootpba usrpba
Baja correcta
Baja correcta
CONTROL ACCESO Lee clave empleado Clave empleado 9999999999999999 Muestra datos empleado. Permite salida. Muestra datos empleado. Permite salida.
EPC Producto
AA11111111111111
9999999999999999 AA11111111111111
9999999999999999 2222222222222222
97
REFERENCIAS
[1] Sweeney II, Patrick J. RFID for dummies. Indianapolis, Indiana. Wiley Publishing Inc. 2005. [2] Hostalot, Roger. El middleware. RFID Magazine. Ao 01, revista n.04, septiembre-octubre, pag. 52 57. [3] Motorola. Understanding the Key Issues in Radio Frequency Identification (RFID). USA. Motorola Inc. 2007. [4] Motorola. RFID Implementation Training, Field Training & Certification. USA. Motorola. 2005. [5] Chamberlain, James. IBM WebSphere RFID Handbook, a solution guide. USA. IBM. 2006. [7] Sun Microsystems. Implementing Intermediate Java Programming Language Concepts (WJ-1104A) Certification course. 2007. [8] Pender, Tom. UML bible. Indianapolis, Indiana. Wiley. 2003. [9] Jalloul, Ghinwa. UML by example. Cambridge, United Kingdom. Cambridge University. 2004 [10] Motorola. Application Brief: RFID Asset Management Solutions. USA. Motorola. 2007. Schalk, Chris. JavaServer faces: the complete reference. New York. McGreaw-Hill. 2007. Monson-Haefel, Richard. Enterprise JavaBeans. Beijing. OReilly. 2004. Motorola. XR Series RFID Readers, Integrator Guide. Hotsville, New York. Motorola Inc. 2008. Sun Microsystems. Introduction to the Java Programming Language (WJ-1101A) Certification course. 2007 http://www.tic.udc.es/~fbellas/teaching/is-20022003/Tema4Apartado4.2.pdf ; Tutorial de JSP; junio 2009 http://www.programacion.com/java/tutorial/servlets_jsp/15 ; Manejo de Formularios HTML, Servlets y JSP; junio 2009 http://www.netbeans.org/kb/60/javaee/ejb30.html ; Tutorial Java EE en Netbeans; junio 2009 http://www.desarrolloweb.com/articulos/2243.php; Envo de mensajes de correo electrnico mediante librerias JavaMail; junio 2009 http://www.componentsforjsf.com/WebGridExamples/faces/examplePage s/SingleColumnSort.jsp ; Ordenar columna sencilla en JSF; junio 2009 http://www.componentsforjsf.com/WebGridExamples/faces/examplePage s/GridWithMultiColumnSorting.jsp; Ordenar columnas mltiples en JSF; junio 2009 http://www.componentsforjsf.com/WebGridExamples/faces/examplePage s/HierarchicalGrid.jsp ; Tablas Jerrquicas con JSF; junio 2009 http://www.componentsforjsf.com/WebGridExamples/faces/examplePage s/ExportGridDataOne.jsp ; Exportar tablas con JSF; junio 2009 http://www.componentsforjsf.com/WebGridExamples/faces/examplePage s/CustomPaging.jsp ; Paginacin con JSF; junio 2009
98
http://www.componentsforjsf.com/WebAJAXExamples/faces/examplePag es/ajaxWithSRM.jsp ; Ejemplos de Ajax en Web; junio 2009 http://www.componentsforjsf.com/WebGridExamples/faces/examplePage s/GridWithPaging.jsp ; Tablas con paginacin en JSF; junio 2009 http://aumakua.wordpress.com/2007/03/29/tutorial-jsp-y-bean/ ; Tutorial JSP y beans; junio 2009 http://www.programacion.com/java/tutorial/jspyxml/1/; Tutorial de programacin JSP y XML; junio 2009 http://www.desarrolloweb.com/manuales/73; Tutorial de pginas web con programacin en servidor; junio 2009 http://www.desarrolloweb.com/manuales/9/; Tutorial de SQL; junio 2009 www.asptutor.com/zip/sql.pdf; Tutorial de SQL; junio 2009
99