DESARROLLO DE UNA HERRAMIENTA DE GESTIÓN DE …
Transcript of DESARROLLO DE UNA HERRAMIENTA DE GESTIÓN DE …
Ingeniería de Sistemas SILAB
DESARROLLO DE UNA HERRAMIENTA DE GESTIÓN DE LABORATORIOS MEDIANTE LA APLICACIÓN DE PROCESOS CON NOTACIÓN BPMN
HERRAMIENTA SILAB
JOAN SEBASTIÁN VARGAS CARDONA MARCO ANTONIO POLO ESCOBAR
UNIVERSIDAD DE SAN BUENAVENTURA CALI FACULTAD DE INGENIERÍA
PROGRAMA INGENIERÍA DE SISTEMAS SANTIAGO DE CALI
2016
Ingeniería de Sistemas SILAB
DESARROLLO DE UNA HERRAMIENTA DE GESTIÓN DE LABORATORIOS MEDIANTE LA APLICACIÓN DE PROCESOS CON NOTACIÓN BPMN
HERRAMIENTA SILAB
JOAN SEBASTIÁN VARGAS CARDONA MARCO ANTONIO POLO ESCOBAR
Trabajo de Grado para optar al título de INGENIERO DE SISTEMAS
Directora MSc. EMILIA ROCÍO SEGOVIA JIMÉNEZ
UNIVERSIDAD DE SAN BUENAVENTURA CALI FACULTAD DE INGENIERÍA
PROGRAMA INGENIERÍA DE SISTEMAS SANTIAGO DE CALI
2016
Ingeniería de Sistemas SILAB
3
Nota de aceptación: 4.0 Aprobado por el comité de Grado en cumplimiento de los requisitos exigidos por la Universidad de San Buenaventura Cali para optar al título de Ingeniero de Sistemas Hugo Ordoñez Eraso___________ Jurado José Jurado Muñoz____________ Jurado
Santiago de Cali, 17 de Junio de 2016
Ingeniería de Sistemas SILAB
4
Joan Sebastián Vargas Cardona. Agradezco especialmente a mis padres, Liliana María y John Wilson, por ser los pilares en mi vida, apoyarme en cada una de mis decisiones y estar presentes en todo momento. Igualmente agradezco a mi abuela Melba por su apoyo, mi tía Melba Ruth por su cariño y demás familiares de Cali los cuales siempre han estado presentes cuando los he necesitado, este es un triunfo que les dedico. Marco Antonio Polo Escobar. Quiero expresar mis más sinceros agradecimientos a mi familia por su apoyo y colaboración por este importante logro de mi vida. Agradezco a mi madre, Lucia por su ejemplo de lucha y honestidad; A mis tíos Sandra, Marina, Edgar y Jorge por su tenacidad e inspiración; A mis primos(a) por su inteligencia y apoyo moral; A mis abuelos Patricia y Edgar, por ser un ejemplo de capacidad, valentía y superación. Este logro es por ellos y para ellos.
Ingeniería de Sistemas SILAB
5
AGRADECIMIENTOS Gracias a Dios por las oportunidades que nos ha brindado en nuestra carrera, por rodearnos de excelentes docentes y una familia que nos apoyó en todo momento, nos brindaron todo el apoyo necesario para realizar este proyecto de grado. A los laboratoristas Javier Silva y Luis D´ Ángelo por su asesoría y tiempo. Agradecemos a nuestra directora Rocío Segovia que dedicó gran parte de su tiempo en asesorarnos, por su paciencia, confianza y su profesionalismo en esta labor. Agradecemos a la Universidad de San Buenaventura por la educación que nos impartió, especialmente a los docentes que a lo largo de nuestra carrera nos compartieron sus conocimientos, experiencia y nos brindaron su apoyo.
Ingeniería de Sistemas SILAB
6
Contenido GLOSARIO ...................................................................................................................................... 9 RESUMEN ..................................................................................................................................... 11 INTRODUCCIÓN .......................................................................................................................... 12 1. PLANTEAMIENTO DEL PROBLEMA Y JUSTIFICACIÓN ............................................ 13 2. OBJETIVOS ........................................................................................................................... 14 3. MARCO CONCEPTUAL Y ESTADO DE ARTE .............................................................. 15 4. MARCO METODOLÓGICO................................................................................................. 18
4.1 SELECCIÓN DE MOTOR DE BASE DE DATOS .................................................... 18 4.2 SELECCIÓN DE HERRAMIENTA DE DESARROLLO........................................... 18 4.3 SELECCIÓN DE METODOLOGÍA ÁGIL DE DESARROLLO ............................... 18
5. FASES DEL PROYECTO .................................................................................................... 20 5.1 ANÁLISIS Y LEVANTAMIENTO DE REQUISITOS DEL SOFTWARE ................ 20
5.1.1 Levantamiento Información ..................................................................................... 20 5.1.2 Modelamiento de Procesos BPMN ........................................................................... 21 5.1.3 Planificación de Iteraciones de Desarrollo ................................................................ 49 5.1.4 Especificación de Requisitos ..................................................................................... 49 5.1.5 Roles del Sistema ...................................................................................................... 53 5.1.6 Casos de Uso ............................................................................................................ 54 5.1.7 Especificación Caso de Uso ....................................................................................... 59
5.2 DISEÑO .......................................................................................................................... 63 5.2.1 Modelo de Datos del Software ................................................................................. 64 5.2.2 Diagramas de Secuencia ........................................................................................... 65 5.2.3 Arquitectura ............................................................................................................. 66 5.2.4 Prototipos ................................................................................................................. 67 5.2.5 Diagrama de Paquetes.............................................................................................. 69
5.3 DESARROLLO .............................................................................................................. 69 5.3.1 Tecnologías usadas ................................................................................................... 69 5.3.2 Patrones de diseño ................................................................................................... 71 5.3.3 Matriz de Dispersión Funcional ................................................................................ 72
5.4 PRUEBAS ...................................................................................................................... 73 5.4.1 Diseño de Pruebas .................................................................................................... 73 5.4.2 Ejecución de Pruebas................................................................................................ 80
6. CONCLUSIONES Y RESULTADOS .................................................................................. 82 6.1 CONCLUSIONES .......................................................................................................... 82 6.2 RESULTADOS .............................................................................................................. 83 6.3 TRABAJOS FUTUROS ................................................................................................ 85
BIBLIOGRAFÍA ............................................................................................................................. 86 ANEXOS ........................................................................................................................................ 88
Ingeniería de Sistemas SILAB
7
LISTA DE CUADROS Cuadro 1. Casos de Uso 54 Cuadro 2. Matriz de Dispersión Funcional 72 Cuadro 3. Diseño de Prueba Proceso Préstamo Articulo/Insumo 79 Cuadro 4. Ejecución Pruebas Proceso Préstamo Articulo/Insumo 81 Cuadro 5. Resultados Consolidados Pruebas 83 Cuadro 6. Anexos 88
Ingeniería de Sistemas SILAB
8
LISTA DE FIGURAS Figura 1. Diagrama de fases 20 Figura 2. Relación entre procesos 22 Figura 3. Proceso registro inventario 23 Figura 4. Proceso registro nuevo artículo/insumo 25 Figura 5. Proceso mantenimiento de artículo 26 Figura 6. Proceso préstamo articulo/insumo 27 Figura 7. Proceso devolución préstamo 29 Figura 8. Proceso préstamo química 31 Figura 9. Proceso SILAB Registro inventario 35 Figura 10. Proceso SILAB Creación de estudiante 37 Figura 11. Proceso SILAB Registro de nuevos Artículos/Insumos 39 Figura 12. Proceso SILAB Mantenimiento Artículos 40 Figura 13. Proceso SILAB Préstamo de Artículos Multimedia/Electrónica 42 Figura 14. Proceso SILAB Devolución de Préstamo 44 Figura 15. Proceso SILAB Prestamos Artículos Química 46 Figura 16. Proceso SILAB Prestamos Artículos/Insumo 50 Figura 17. Casos de Uso Empleado 55 Figura 18. Casos de Uso Laboratorista 56 Figura 19. Casos de Uso Laboratorista2 57 Figura 20. Casos de Uso Laboratorista3 58 Figura 21. Modelo de Datos 64 Figura 22. Diagrama de Secuencia del Proceso 65 Figura 23. Diagrama de Componentes 66 Figura 24. Capas Arquitectura ZathuraCode 66 Figura 25. Arquitectura Zathura Code 67 Figura 26. Prototipo Registro Préstamo Artículo 67 Figura 27. Prototipo Registro préstamo Insumo 68 Figura 28. Diagrama de Paquetes 69 Figura 29. Diseño de prueba préstamo 74 Figura 30. Evolución de Errores 84
Ingeniería de Sistemas SILAB
9
GLOSARIO
BASE DE DATOS ORACLE: es un sistema de gestión de base de datos de tipo objeto-relacional (ORDBMS, por el acrónimo en inglés de Object-Relational Data Base Management System), desarrollado por Oracle Corporation.
BPM: Business Process Management, estrategia empresarial enfocada a gestionar los procesos de negocio. Este enfoque de gestionar los procesos de negocio es relativamente nuevo y está cambiando para siempre la forma de gestionar las operaciones de las empresas y de cualquier organización en el mundo, permitiendo mucha mayor flexibilidad, mucha mayor automatización y mucha mayor potencia.
BPMN: Business Process Model and Notation, es una notación gráfica que plasma la lógica de las actividades, los mensajes entre los diferentes participantes y toda la información necesaria para que un proceso sea analizado, simulado y ejecutado.
BPMNS: Business Process Management Suite, es un conjunto de herramientas que facilitan la administración de procesos de negocio para cada una de las etapas de su ciclo de vida: Diseño, Ejecución, Monitoreo y Análisis.
HIBERNATE: es una herramienta que realiza el mapping entre el mundo orientado a objetos de las aplicaciones y el mundo entidad-relación de las bases de datos en entornos Java.
ICEBERG: abreviatura del software de control de activos que tiene la USB en el departamento de almacén.
JAVA: es un lenguaje de programación de propósito general, concurrente, orientado a objetos.
JSF: JavaServer Faces, es una tecnología y framework para aplicaciones Java basadas en web que simplifica el desarrollo de interfaces de usuario en aplicaciones Java EE.
JSP: Java Server Pages, es una tecnología que ayuda a los desarrolladores de software a crear páginas web dinámicas basadas en HTML, XML, entre otros tipos de documentos.
LIUSB: abreviatura de Laboratorios de Ingeniería de la Universidad San
Ingeniería de Sistemas SILAB
10
Buenaventura (Multimedia - Sistemas, Electrónica y Química).
PRIMEFACES: es una librería de componentes para JavaServer Faces (JSF) de código abierto que cuenta con un conjunto de componentes enriquecidos que facilitan la creación de las aplicaciones web.
SILAB: abreviatura de Sistema Integrado de Laboratorios de la Universidad de San Buenaventura Cali.
TOMCAT: también llamado Jakarta Tomcat, funciona como un contenedor de servlets desarrollado bajo el proyecto Jakarta en la Apache Software Foundation.
USB: abreviatura de la Universidad de San Buenaventura Cali.
ZATHURA CODE: es un generador de código para apoyar el desarrollo de aplicaciones empresariales en JavaEE, a partir de un modelo de base de datos existente.
Ingeniería de Sistemas SILAB
11
ABSTRACT
Starting from the need to define business processes, was established as a general objective of this project define LIUSB processes (because it did not exist), to model in BPMN and from these diagrams, define the requirements for developing a control tool loans and inventory. Which is expected to be used and paper usage control is replaced. The tool developed, subsequently validated in a controlled environment to make the necessary improvements. It is important that the reader of this paper grade has basic knowledge of BPMN 2.0 and software engineering.
RESUMEN
Partiendo de la necesidad de definir las empresas sus procesos, se estableció como objetivo general de este proyecto definir los procesos del LIUSB (debido a que no existían), modelarlos en BPMN y a partir de estos diagramas, definir los requisitos para desarrollar una herramienta de control de préstamos e inventario. El cual se espera sea utilizado y se reemplace el uso de papel para el control. La herramienta desarrollada, se validó posteriormente en un ambiente controlado para realizar las mejoras necesarias. Es importante que el lector de este trabajo de grado tenga conocimientos básicos de BPMN 2.0 e ingeniería de software.
Ingeniería de Sistemas SILAB
12
INTRODUCCIÓN Los procesos se consideran actualmente como la base operativa de gran parte de las organizaciones y se ha convertido en la base estructural de un número creciente de empresas. La importancia de los procesos fue apareciendo de forma progresiva en los modelos de gestión empresarial. No irrumpieron con fuerza como la solución, sino que se les fue considerando poco a poco como unos medios muy útiles para transformar la empresa y para adecuarse al mercado. Los procesos constituyen para muchas empresas la base de su gestión estratégica. Esto se debe por la flexibilidad que ofrece este tipo de organización y de gestión por procesos para adaptarse a los frecuentes cambios de entorno y de mercado [1]. En la actualidad el LIUSB no tiene definido sus procesos claramente, toda la gestión de activos y préstamos se lleva manual, por cual no se puede llevar un control exacto y totalmente confiable. En este proyecto de grado se abordó dicha problemática donde se definió los procesos y a partir de estos procesos de realizo el levantamiento de requisitos de software para el posterior desarrollo. En respuesta a dicha problemática, se ha planteado el desarrollo de un software el cual fortalezca la gestión de datos en el Laboratorio. Inicialmente se abordará la fase de levantamiento de requisitos mediante la definición de los procesos del laboratorio, información sobre el flujo de datos y las herramientas tecnológicas utilizadas. Los procesos se definieron mediante entrevistas, cuestionarios y reuniones a los interesados del software. En segundo lugar, se decidió utilizar BPMN (Business Process Modeling Notation) para diagramar los procesos identificados debido al análisis realizado en el anteproyecto, la familiarización y la experiencia del uso de esta notación y se realizó una división de los procesos en iteraciones. Donde a partir de estos procesos identificados y que fueron diagramados se levantaron los requisitos. En tercera instancia, con los requisitos se aplica la ingeniería del software para la documentación. Posteriormente se utilizó una metodología de desarrollo incremental e iterativo. Se finalizó con la validación del software construido a través de pruebas de aceptación de cada iteración la cual una vez se culminaba se iniciaba con una nueva iteración hasta completar todos los procesos y se comprobó que mediante el uso de los procesos obtenidos del LIUSB sirvieron como materia prima para el levantamiento de requisitos. En este documento se podrá evidenciar el planteamiento del problema y su justificación, la solución aplicada para resolver esta problemática a partir de unas fases realizadas, que incluyen el análisis y levantamiento de requisitos, diseño, desarrollo, pruebas y validación del usuario.
Ingeniería de Sistemas SILAB
13
1. PLANTEAMIENTO DEL PROBLEMA Y JUSTIFICACIÓN Actualmente en el mundo empresarial existe la necesidad de certificar la calidad de los productos y servicios mediante la implementación de modelos tales como: CMMI, ISO 9001, SPICE [2]. Los modelos de calidad recomiendan a las empresas elaborar como actividad inicial una definición apropiada de sus procesos. Por lo tanto, si una empresa desea obtener un certificado de calidad debe definir cuáles son los procesos que implementa para la elaboración de determinado producto o para la prestación de sus servicios y de esta manera generar una mejora continua en su organización. Este es un mecanismo que guía a la empresa a lograr un “sello” de calidad, que resalte su trabajo frente a los demás competidores del mercado dentro de su línea de productos o servicios [2]. Teniendo presente el interés de las empresas en definir bien sus procesos, se puede evidenciar que en los procesos se encuentra el día a día de lo que hacen, como la hacen y quien lo hace. La información que contienen los procesos se puede aprovechar en la etapa de levantamiento de requisitos. Con los procesos definidos es más fácil la comunicación entre los desarrolladores y los stakeholders [3]. Uno de los problemas que se presenta en los proyectos de desarrollo de software es la dificultad de realizar un buen levantamiento de requisitos. Más aún, cuando la detección de errores se presenta en etapas avanzadas del proyecto, porque los costos de corrección y el reproceso de pruebas pueden llegar a ser altos y puede implicar incluso empezar de nuevo con las fases iniciales del ciclo de vida del software [3]. En la actualidad los laboratorios de Ingeniería de la USB no tienen definidos los procesos que realizan, una herramienta tecnológica que les permita realizar sus funciones del día a día. Por lo cual utilizan formatos en papel para llevar control de préstamos y devoluciones, sin poder validar estudiantes activos en un sistema, debido a esto su control se basa en conocer a los estudiantes que frecuentan los laboratorios visualmente o por el carné. En esta propuesta se presenta el desarrollo de una herramienta para el laboratorio, a partir de los procesos modelados realizar la etapa de levantamiento de requisitos de software, convirtiendo la información de los procesos en una herramienta que permita detallar y definir los requisitos dentro del contexto operativo de la empresa. Mejorando con esto, el problema de comunicación con los Stakeholders, facilitando mapear sus ideas o necesidades con modelos que ellos puedan entender. Este proyecto se propuso la siguiente pregunta de investigación: ¿El levantamiento de requisitos utilizando definición de procesos en la gestión del LIUSB servirá de insumo en el proceso de desarrollo de software?
Ingeniería de Sistemas SILAB
14
2. OBJETIVOS General: Desarrollar una herramienta de gestión de laboratorios basado en los requisitos obtenidos de los procesos identificados y modelados en la notación BPMN. Específicos:
Levantar y documentar los procesos del caso real del LIUSB y modelarlos con BPMN.
Especificar los requisitos con base a los procesos modelados del caso real del LIUSB.
Diseñar y Desarrollar la herramienta de gestión del LIUSB.
Validar la herramienta mediante pruebas aceptación las cuales se definieron en la etapa de análisis.
Ingeniería de Sistemas SILAB
15
3. MARCO CONCEPTUAL Y ESTADO DE ARTE
En la etapa de búsqueda se definió BPMN como la notación para modelar los procesos definidos de los laboratorios. BPMN permite el distanciamiento existente entre los requerimientos de negocio y los de desarrollo de software a través de una notación de modelado de procesos de negocio intuitivo y fácilmente entendible, tanto para los perfiles de negocio como los de TI. Esta notación es integrada en la gran mayoría de soluciones BPMNS, permite modelar y ejecutar los procesos de negocio para su posterior monitorización y control en un entorno gráfico [5]. Business Process Diagram (BPD) es un Diagrama diseñado para representar gráficamente la secuencia de todas las actividades que ocurren durante un proceso, basado en la técnica de “Flow Chart”. [6].
BPD es un Diagrama diseñado para ser usado por los analistas de procesos, quienes diseñan, controlan y gestionan los procesos. Dentro de un Diagrama de Procesos de negocios BPD se utilizan un conjunto de elementos gráficos, que se encuentran agrupados en categorías [7].
Framework BPM-Enterprise: En la actualidad existen frameworks para la implementación de BPM en las empresas, se puede resaltar “Framework BPM-Enterprise”, se basa en una metodología con enfoque administrativo y técnico a la vez, la prioridad es el modelado de procesos basados en el estándar BPMN que han sido definidos, documentados y listos para desarrollar [21]. El ciclo de vida del framework “BPM Enterprise”, define: objetivos, fases, entradas, pasos, roles y entregables necesarios para la correcta implementación. La metodología está compuesta de seis fases, los cuales son: Cimientos, Entender, Innovar, Desarrollar, Implementar, Rendimiento sostenible [21]. El proyecto “Análisis del impacto sobre la metodología XP de la inclusión de modelos de procesos de negocio en la elicitación de requisitos [8]” propuso incluir el modelamiento de procesos de negocio en la metodología XP, como una alternativa a las historias de usuario capaz de mejorar la calidad u cantidad de información recolectada. El trabajo realizado evidenció que el uso de Procesos de Negocio mejora la comunicación e incrementa la calidad del proceso y la productividad del equipo de desarrollo. También logro evidenciar una mejor interpretación y comprensión de los requisitos que han sido elicitados a través de modelos de los Procesos de Negocio. A pesar de que las historias de usuario permiten la aprobación de requisitos, el número es menor a los requisitos que son aprobados cuando se especifican con modelos de Procesos de Negocio [8].
Ingeniería de Sistemas SILAB
16
Metodología ágil SCRUM: ayuda a empresas que enfrentan dificultades al seguir una metodología de cascada o que no usan alguna metodología para desarrollar su software. Scrum facilita crear software complejo y entregarlo a tiempo de una forma mucho más sencilla [23]. El desarrollo se realiza de forma iterativa e incremental. Cada iteración, denominada Sprint, tiene una duración preestablecida de entre 2 y 4 semanas, obteniendo como resultado una versión del software con nuevas prestaciones listas para ser usadas. En cada nuevo Sprint, se va ajustando la funcionalidad ya construida y se añaden nuevas prestaciones priorizándose siempre aquellas que aporten mayor valor de negocio [24]. Scrum maneja roles para que el equipo de trabajo tenga objetivos y actividades centrarles e importantes para el desarrollo de software, estos roles son: Scrum master: Persona que lidera al equipo guiándolo para que cumpla las reglas y procesos de la metodología. Gestiona la reducción de impedimentos del proyecto y trabaja con el Product Owner para maximizar el ROI [24]. Product owner (PO): Representante de los accionistas y clientes que usan el software. Se focaliza en la parte de negocio y él es responsable del ROI del proyecto (entregar un valor superior al dinero invertido). Traslada la visión del proyecto al equipo, formaliza las prestaciones en historias a incorporar en el Product Backlog y las reprioriza de forma regular [24]. Team: Grupo de profesionales con los conocimientos técnicos necesarios y que desarrollan el proyecto de manera conjunta llevando a cabo las historias a las que se comprometen al inicio de cada sprint [24]. Es un marco de trabajo que proporciona una serie de herramientas y roles para, de una forma iterativa, poder ver el progreso y los resultados de un proyecto [22]. Metodología ágil XP: La Programación Extrema es una metodología ligera de desarrollo de software que se basa en la simplicidad, la comunicación y la realimentación o reutilización del código desarrollado. Centrada en potenciar las relaciones interpersonales como clave para el éxito en el desarrollo de software. Su objetivo es aumentar la productividad al desarrollar software [25]. La metodología XP conlleva 4 fases para el desarrollo del software los cuales son: Fase Planificación del proyecto: En esta primera fase se debe hacer primero una recopilación de todos los requerimientos del proyecto, también debe haber una interacción con el usuario, y se debe planificar bien entre los desarrolladores del proyecto que es lo que se quiere para el proyecto para así lograr los objetivos finales [26].
Ingeniería de Sistemas SILAB
17
Fase Diseño: Se sugiere que hay que conseguir diseños simples y sencillos. Para procurar hacerlo todo lo menos complicado posible para el usuario o cliente, para conseguir un diseño fácilmente entendible e impleméntale que a la larga costará menos tiempo y esfuerzo para desarrollarlo. En esta fase se logrará crear parte del proyecto la parte física (lo bonito) la interfaz que tendrá el usuario o cliente con el proyecto [26]. Fase Codificación: Como ya se dijo en la introducción, el cliente es una parte más del equipo de desarrollo; su presencia es indispensable en las distintas fases de X.P. A la hora de codificar una historia de usuario su presencia es aún más necesaria. No olvidemos que los clientes son los que crean las historias de usuario y negocian los tiempos en los que serán implementadas. Antes del desarrollo de cada historia de usuario el cliente debe especificar detalladamente lo que ésta hará y también tendrá que estar presente cuando se realicen los test que verifiquen que la historia implementada cumple la funcionalidad especificada. En esta fase de la codificación los clientes y los desarrolladores del proyecto deben estar en comunicación para que los desarrolladores puedan codificar todo los necesario para el proyecto que se requiere, en esta fase está incluido todo lo de codificación o programación por parte de los desarrolladores del proyecto [26]. Fase Pruebas: Uno de los pilares de la metodología X.P es el uso de test para comprobar el funcionamiento de los códigos que se vayan implementando [26].
Ingeniería de Sistemas SILAB
18
4. MARCO METODOLÓGICO En esta sección se definen cada una de las herramientas que se utilizaron para la etapa de desarrollo.
4.1 SELECCIÓN DE MOTOR DE BASE DE DATOS Debido a que en la universidad utilizan la base de datos Oracle, se decide utilizar la versión 10g como motor de base de datos. Además, es uno de los más usados por las empresas más grandes del mundo, por su seguridad, robustez y ofrece soporte mundial.
4.2 SELECCIÓN DE HERRAMIENTA DE DESARROLLO Se escogió eclipse como herramienta de desarrollo debido a que es un software compuesto por un conjunto de herramientas de programación de código abierto multiplataforma para desarrollar lo que el proyecto llama "Aplicaciones de Cliente Enriquecido", opuesto a las aplicaciones "Cliente-liviano" basadas en navegadores. Además, Permite la integración con el plugin de generación de código ZathuraCode.
4.3 SELECCIÓN DE METODOLOGÍA ÁGIL DE DESARROLLO Se utilizó una metodología iterativa e incremental con algunos elementos de la metodología SCRUM. Donde se hicieron revisiones periódicas en las cuales se realizan entregas parciales del software, priorizadas por la importancia de su aporte al proyecto y permitió tener una retroalimentación constante con los stakeholders para un óptimo desarrollo. Está metodología está compuesta por:
Reunión de Planeación: es una reunión que se hizo al comienzo en el cual se definió cual es el enfoque del proyecto, las etapas y los plazos. Esta reunión se realizó en febrero 4 de 2015 con los laboratoristas, jefe de los laboratorios y la directora del proyecto.
Duración de Entregas: hace referencia a la duración de las entregas. En la etapa de levantamiento y diseño se definió que las reuniones tendrían una duración aproximadamente de una semana. Cuando se inicia la fase de desarrollo se extienden gradualmente desde cada mes de por medio a seis que es cuando se realizan entregas parciales hasta completar una entrega total.
Reunión diaria de avances: en estas reuniones se responden individualmente tres preguntas: ¿Qué hice ayer?, ¿Qué voy a hacer hoy?, ¿Qué ayuda necesito?
Ingeniería de Sistemas SILAB
19
Es una reunión breve que realizo verbalmente entre los desarrolladores.
Reunión de entrega y retroalimentación: se revisan los objetivos cumplidos, se implementan las mejoras desde la mirada del desarrollo. Se inicia en febrero de 2.016 cuando se realizan las últimas entregas con el software completo.
Se definieron los siguientes roles:
Encargado Principal: es el responsable del proyecto por parte del cliente. Se definió que el Laboratorista de Multimedia y Sistemas cumplirían esta función.
Líder del Proyecto: Lidera las reuniones y ayuda al equipo si es que tienen problemas. Se definió que sería la tutora del proyecto.
Equipo de Desarrollo: Son los encargados de desarrollar y cumplir lo que les asigna el encargado principal. Está establecido que son los estudiantes.
Cliente: es a quien se desarrolla el producto y puede influir en el proceso, entregando sus ideas o comentarios respecto al desarrollo.
Para la consulta detallada de las actas de estas reuniones remítase al anexo en la carpeta llamada 1. Actas.
Ingeniería de Sistemas SILAB
20
5. FASES DEL PROYECTO Para el proyecto se establecieron cuatro fases; en la primera fase de Análisis y Levantamiento se obtuvo el flujo de trabajo de los laboratoristas, y de estas necesidades se modelaron los procesos, especificar requisitos, diseñaron diagrama de casos de uso. Con los procesos definidos se procedió a diseñarlas iteraciones, se inició desde la iteración más sencilla la etapa de diseño. Luego se realizó de manera iterativa e incremental el desarrollo, pruebas y validación con los usuarios, una vez culminada cada entrega se reinicia el ciclo de desarrollo con la siguiente iteración dando como resultado entregas del desarrollo incremental.
Figura 1. Diagrama de fases
5.1 ANÁLISIS Y LEVANTAMIENTO DE REQUISITOS DEL SOFTWARE
5.1.1 Levantamiento Información De acuerdo con el estado de arte y las metodologías agiles planteadas, consideramos que es interesante incluir el tema de procesos en el levantamiento de información para posteriormente realizar el levantamiento de requisitos, por lo tanto, para identificar los procesos con sus actividades, información, actores y formatos se realizaron entrevistas, cuestionarios, lluvia de ideas con los Stakeholders. Las preguntas de los cuestionarios fueron abiertas y las realizadas en las entrevistas fueron:
Nombre del encargado y laboratorio al que pertenece.
Cuáles son los formularios, datos e información en general que maneja.
Que tipos de activos tiene.
Como inicia el semestre.
Como finaliza el semestre.
Cuáles son las funciones (procesos) suyas en el laboratorio.
Describa el (los) proceso(s).
Ingeniería de Sistemas SILAB
21
A quien le presta.
Cuanto tiempo.
Qué pasa si no devuelven el artículo.
Restricciones de préstamos.
Que debe de hacer el sistema.
Como espera que lo haga.
Que restricciones hay con la información.
El sistema debe generar reportes ocasionales o continuos.
Para consultar esta información remítase al anexo en la carpeta 2. Levantamiento de Información. Durante esta fase se realizaron en total 16 reuniones con el propósito de tener retroalimentación y verificar que las necesidades y actividades quedaran cubiertas en los procesos definidos. Se tuvo la participación de la directora del proyecto, la jefa de laboratorios, el laboratorista de multimedia, sistemas, electrónica y química. Después de culminada esta actividad se tuvo la información para definir los procesos. En la siguiente sección se presenta el detalle de los procesos definidos. 5.1.2 Modelamiento de Procesos BPMN Los procesos identificados fueron:
Registrar inventario.
Gestionar estudiante.
Registrar nuevos artículos/Insumos.
Realizar Mantenimiento de artículos.
Prestar Artículos/Insumo Multimedia-Electrónica.
Devolver Préstamo.
Prestar Artículos/Insumo Química.
Reportes.
Horario Laboratorios.
Ingeniería de Sistemas SILAB
22
5.1.2.1 Diagrama de Relación entre los Procesos. A continuación, se presenta un diagrama general en el que se muestra como se realización los procesos identificados del LIUSB.
Figura 2. Relación entre procesos Elementos del proceso
Laboratorista
Inicio Semestre Descripción El trabajo del laboratorista inicia cada semestre.
Registrar inventario Descripción Proceso que permite cargar el inventario y realizar modificaciones en los campos que considere el laboratorista. Ejecutantes Laboratorista
Gestionar Estudiante Descripción Proceso que permite crear, modificar o inactivar los estudiantes que utilizaran el laboratorio. Ejecutantes Laboratorista
Gestionar Horarios Descripción Proceso que permite crear el horario, consultarlo o actualizarlo.
Realizar Préstamo de Articulo/Insumo Descripción Proceso que permite realizar el préstamo de un artículo o insumo a un profesor o estudiante.
Realizar Devolución de Préstamo Descripción
Ingeniería de Sistemas SILAB
23
Proceso que permite regresar al inventario un artículo o insumo después de un préstamo, en un tiempo determinado.
¿Hay nuevos articulo? Descripción Durante el semestre pueden llegar nuevos artículos. Flujos No Si
Realizar Mantenimiento Descripción Proceso que permite registrar el resultado del préstamo. Ejecutantes Laboratorista
Registrar nuevos artículos/Insumos Descripción Proceso que permite adicionar al inventario, nuevos artículos o insumos. Ejecutantes Laboratorista
Gateway Flujos Generar Reportes
Generar Reportes Descripción Reportes de artículos dañados, no devueltos, defectuosos.
Fin 5.1.2.2 Procesos Actuales sin Mejora Con los procesos identificados y detallados en la fase anterior, se procedió a diagramar cada uno de estos procesos con la notación BPMN.
Registrar inventario
Figura 3. Proceso registro inventario
Ingeniería de Sistemas SILAB
24
Descripción: en este proceso el laboratorista recibe un pdf con la información de todos los artículos, luego revisa que los artículos se encuentren físicamente. Si todos los artículos se encuentran, llena un Excel donde coloca información del articulo entrante, debido a que el listado que manda el almacén puede tener información inexacta (Ej.: Nombre del artículo: Juego de Video y su nombre real es Kinect para Xbox). En caso de no estar todos los artículos debe reportar al almacén los artículos que no se encuentren y al jefe de laboratorios. Elementos del proceso
Inicio
Recibir listado de artículos Descripción Reciben un listado con todo los artículos e insumos que deben tener. Ejecutantes Laboratorista
Revisar Inventario físicamente Descripción Revisan que lo que está en el listado, se encuentre físicamente en el laboratorio.
¿Están todos los artículos? Descripción ¿El laboratorista encontró todo lo que estaba en el listado, físicamente? Flujos Si No Tipo de condición Por defecto
Buscar elementos no encontrados Descripción Buscar de nuevo en el inventario, los elementos no encontrados. Ejecutantes Laboratorista
¿Se encontró elementos faltantes? Flujos No Si
Registrar información en inventario local Descripción Registrar en un archivo Excel propio de los laboratoristas, la información de los artículos. Ejecutantes Laboratorista
Ingeniería de Sistemas SILAB
25
Generar reporte para almacén Descripción Realizan un informe con los elementos no encontrados para enviar al jefe de laboratorios.
Gateway Flujos Informar a superior
Informar a superior Descripción Enviar informe a jefe de laboratorios del proceso de inventario. Ejecutantes Laboratorista
Fin
Registrar nuevos artículos/Insumos
Figura 4. Proceso registro nuevo artículo/insumo Descripción: en este proceso el laboratorista recibe el formulario con los nuevos articulo o insumos y debe registrarlo en el Excel propio que lleva para control. Elementos del proceso
Inicio
Recibir Formulario de nuevo artículo/insumo Descripción Reciben un listado con todo los artículos e insumos que deben tener. Ejecutantes Laboratorista
Registrar información en inventario local Descripción Registrar en un archivo Excel propio de los laboratoristas, la información de los artículos. Ejecutantes Laboratorista
Ingeniería de Sistemas SILAB
26
Fin
Realizar Mantenimiento de artículos
Figura 5. Proceso mantenimiento de artículo Descripción: en este proceso el laboratorista verifica el estado del artículo, realiza el mantenimiento y si está bien, llena un formato de control; en caso contrario notifica al almacén para que envíen el articulo a soporte técnico y se informa a jefe de laboratorios. Elementos del proceso
Inicio
Verificar estado del articulo Descripción Se verifica el estado de cada activo. Ejecutantes Laboratorista
Realizar mantenimiento Descripción Se realiza el mantenimiento del activo, según el cronograma. Ejecutantes Laboratorista
¿Mantenimiento exitoso? Descripción Como resulto el mantenimiento Flujos Si No Tipo de condición Por defecto
Llenar formato Descripción Registra el resultado del mantenimiento Ejecutantes Laboratorista
Ingeniería de Sistemas SILAB
27
Reportar al almacén Descripción Se envía mensaje del artículo que no funciona correctamente. Ejecutantes Laboratorista
Enviar a técnico Descripción Se envía a garantía/técnico para la reparación. Ejecutantes Administrador
Gateway Flujos Informar a superior
Informar a superior Descripción Enviar informe a jefe de laboratorios del proceso de mantenimiento. Ejecutantes Laboratorista
Fin
Prestar Artículos/Insumo Multimedia-Electrónica
Figura 6. Proceso préstamo articulo/insumo Descripción: el proceso inicia con la solicitud del estudiante, el laboratorista valida que tenga carné, ya que si no lo tiene finaliza el proceso. Entrega formulario para llenar y valida que este los elementos solicitados, solicita el carné y formato lleno. Finaliza con el articulo y/o insumo prestado. Elementos del proceso
Inicio Descripción Solicitud del estudiante/profesor
Verificar carné del estudiante Descripción Consulta a estudiante si tiene carné vigente
Ingeniería de Sistemas SILAB
28
Ejecutantes Laboratorista
¿Tiene carné? Flujos No Tipo de condición Por defecto Si
Informar imposibilidad de realizar préstamo Descripción Informa que, si no tiene el carné vigente, no puede realizar préstamos. Ejecutantes Laboratorista
Fin
Entregar formato de préstamo Descripción Entrega formato, para que estudiante llene la información personal y de lo que necesita prestar. Ejecutantes Laboratorista
Verificar artículos solicitados Descripción Verifica lo que el estudiante solicito. Ejecutantes Laboratorista
Solicitar documentos Descripción Solicita el carné y formato lleno. Ejecutantes Laboratorista
Gateway Flujos Insumos Artículos
Buscar artículos Descripción Busca en el inventario. Ejecutantes Laboratorista
Prestar artículos
Ingeniería de Sistemas SILAB
29
Descripción Retira del inventario. Ejecutantes Laboratorista
Buscar insumos Descripción Busca en el inventario. Ejecutantes Laboratorista
Prestar insumos Descripción Retira del inventario. Ejecutantes Laboratorista
Gateway Flujos Entregar elementos solicitados
Entregar elementos solicitados Descripción Entrega artículos/insumos a estudiante. Ejecutantes Laboratorista
Fin Descripción Préstamo finalizado.
Devolver Préstamo
Figura 7. Proceso devolución préstamo Descripción: el proceso inicia cuando el laboratorista debe buscar el formato llenado por el estudiante del préstamo, si está completo todos los artículos marca lo entregado y devuelve el cané; en caso contrario informa al jefe de laboratorios, reporta a facultad el articulo faltante para que se encarguen del cobro y devuelve el carné y actualiza la información del inventario.
Ingeniería de Sistemas SILAB
30
Elementos del proceso
Inicio
Buscar formato de préstamo Descripción El laboratorista busca el formato que lleno el estudiante para el préstamo. Ejecutantes Laboratorista
¿Se encuentra completa la devolución? Descripción El laboratorista verifica que las devoluciones de elementos estén completos con respecto al préstamo realizado. Flujos Si No Tipo de condición Por defecto
Registrar devolución articulo/insumo Descripción Se registra que todos los artículos fueron entregados por el estudiante. Ejecutantes Laboratorista
Verificar el estado de los artículos Descripción Se verifica que el articulo entregado se encuentre en buen estado. Ejecutantes Laboratorista
¿Se encuentra en buen estado? Descripción Verifica que los artículos entregados se encuentren en buen estado. Flujos No Tipo de condición Por defecto Si
Registrar devolución completa Descripción Registra la devolución del préstamo completada y se devuelve el carné del estudiante. Ejecutantes Laboratorista
Ingeniería de Sistemas SILAB
31
Penalizar estudiante Descripción Se penaliza al estudiante por un tiempo determinado por el laboratorista, por lo tanto, el estudiante no podrá pedir prestados artículos del laboratorio. Ejecutantes Laboratorista
Informar a superior Descripción Enviar informe a jefe de laboratorios del proceso de inventario. Ejecutantes Laboratorista
Reportar a la Facultad Descripción Se reporta a la facultad el articulo faltante para que se encarguen del cobro del artículo. Ejecutantes Administrador
Gateway Flujos Actualizar el inventario
Actualizar el inventario Descripción Registra en el Excel la devolución. Ejecutantes Laboratorista
Fin Descripción Devolución completa.
Prestar Artículos/Insumo Química
Figura 8. Proceso préstamo química Descripción: el proceso inicia con la solicitud del préstamo, se valida que el estudiante este activo, luego se valida que haya un docente encargado y verifica la disponibilidad manualmente, si no hay disponibilidad se informa al almacén para provisionar e informa al jefe de laboratorios. Si el estudiante es nuevo se realiza una
Ingeniería de Sistemas SILAB
32
inducción, se llena el formato de préstamo y actualiza el formato del inventario; en caso contrario se valida si es una práctica no programada y se llena el formato de préstamos exclusivo, se solicita el carné y presta los artículos/insumos. Elementos del proceso
Inicio Descripción Solicitud del estudiante/profesor
Validar información Ejecutantes Laboratorista
¿Es nuevo el estudiante? Descripción Se verifica si los estudiantes ya tienen conocimiento del uso del articulo o insumo a utilizar en la práctica. Flujos No Si Tipo de condición Por defecto
Realizar inducción a los estudiantes Descripción Se realiza una inducción de cómo utilizar los implementos de la práctica a realizar. Ejecutantes Laboratorista
Completar Formato préstamo artículos/insumos Descripción Registra los artículos/insumos a usar dentro de la práctica. Ejecutantes Laboratorista
¿Está programada la práctica? Descripción Verifica si la práctica a desarrollar ya estaba programada. Flujos Si No
Completar formato proyecto final o investigación Descripción Se genera la información con respecto a un proyecto final o de investigación.
Ingeniería de Sistemas SILAB
33
Ejecutantes Laboratorista
Solicitar carné estudiantil Descripción El laboratorista solicita el carné del estudiante o estudiantes a realizar la práctica. Ejecutantes Laboratorista
Gateway Flujos Actualizar formato de inventario
Actualizar formato de inventario Descripción Se actualiza el formato del inventario. Ejecutantes Laboratorista
Entregar elementos solicitados Descripción Entrega artículos/insumos a estudiante. Ejecutantes Laboratorista
Fin
Verificar información Ejecutantes Laboratorista
Informar a superior Descripción Enviar informe a jefe de laboratorios del proceso de inventario por los insumos faltantes. Ejecutantes Laboratorista
Reacomodar grupo de estudiantes Descripción Registra los estudiantes a la práctica a realizar en grupos. Ejecutantes Laboratorista
Registrar estudiantes Descripción Registra los estudiantes a la práctica a realizar en grupos.
Ingeniería de Sistemas SILAB
34
Ejecutantes Laboratorista
Generar reporte para almacén Descripción Realiza un informe con los insumos faltantes para enviar al jefe de laboratorios. Ejecutantes Laboratorista
Verificar docente encargado de la practica Descripción Verifica que haya un docente encargado de la práctica del laboratorio. Ejecutantes Laboratorista
Solicitar listado estudiantes Descripción El laboratorista solicita el listado de los estudiantes que participaran en la práctica del laboratorio. Ejecutantes Laboratorista
¿Estudiante activo? Descripción Verifica que el estudiante se encuentre matriculado. Flujos Si No
Verificar disponibilidad cantidad insumo Descripción Verifica que los insumos a utilizar dentro de la práctica estén completos. Ejecutantes Laboratorista
¿Hay disponibilidad de insumos? Descripción El laboratorista verifica que haya la cantidad necesaria de insumos para realizar la práctica. Flujos No Tipo de condición Por defecto Si
Informar docente de estudiante
Ingeniería de Sistemas SILAB
35
Descripción Se informa al docente que el estudiante no puede presentar la practica Ejecutantes Laboratorista
Fin 5.1.2.3 Procesos mejorados por herramienta SILAB Con los procesos definidos y modelados como se tiene actualmente, se diagramo incluyendo las actividades que realizaría el sistema SILAB y con las mejoras pensadas del proceso.
Registrar inventario
Figura 9. Proceso SILAB Registro inventario Entradas: Artículos e insumos provistos por almacén (USB). Descripción: En este proceso se realiza la carga al software SILAB de la lista de los artículos e insumos provistos por el almacén de la USB por su software Iceberg. A continuación, los laboratoristas revisan que lo que contiene ese listado se encuentre físicamente para en caso de no estar (verificación visual), realizar el reporte de faltantes al almacén; Si todos los artículos se encuentran se procede a clasificar los elementos y agregar la información complementaria que el laboratorista considere (codificar inventario propio). Salidas: Artículos e insumos en la base de datos del SILAB. Alcance: Inicia cuando recibe el laboratorista el inventario del almacén de la USB hasta codificar su inventario o la generación de reportes por artículos faltantes. Mejora del Proceso: Mediante la implementación de la herramienta SILAB en el laboratorio, el proceso mejora la gestión de información de artículos y de insumos del laboratorio, de igual manera SILAB realizara procesos automáticos los cuales los laboratoristas tenían que realizar a mano, tales como generar reporte a almacén, informar por medio de correo electrónico a los superiores y el actualizar información del inventario, esto ayudando a tener una mejor fiabilidad en el manejo de datos del inventario. Elementos del proceso
Laboratorista
Inicio
Ingeniería de Sistemas SILAB
36
Cargar listado de artículos Descripción Cargan un listado con todo los artículos e insumos que deben tener. Ejecutantes Laboratorista
Revisar Inventario físicamente Descripción Revisan que lo que está en el listado, se encuentre físicamente en el laboratorio. Ejecutantes Laboratorista
¿Están todos los artículos? Descripción ¿El laboratorista encontró todo lo que estaba en el listado, físicamente? Flujos No Si
Buscar elementos no encontrados Descripción Buscar de nuevo en el inventario, los elementos no encontrados. Ejecutantes Laboratorista
Definir tipo de articulo Descripción Se clasifican los elementos como activos o depreciables. Ejecutantes Laboratorista
Registrar información en inventario local Descripción Completar la información de los artículos. Ejecutantes Laboratorista
¿Se encontró elementos faltantes? Flujos No Si
Generar reporte para almacén Descripción Realizan un informe con los elementos no encontrados para enviar al jefe de laboratorios. Ejecutantes Laboratorista
Ingeniería de Sistemas SILAB
37
Gateway Flujos Completar información del préstamo
Informar a superior Descripción Enviar informe a jefe de laboratorios del proceso de inventario. Ejecutantes Laboratorista
Actualizar inventario
Fin
Gestionar estudiantes
Figura 10. Proceso SILAB Creación de estudiante Entradas: Información de estudiantes. Descripción: En este proceso se realiza la carga de la lista de estudiantes (con su información) provenientes de REGISTRO ACADEMICO en la base de datos del software. En el caso de estudiantes que se inscriben después de la carga de estos listados, se tiene la opción de realizar una creación (para el caso de estudiantes nuevos) o actualización (para el caso de estudiantes que se encuentren deshabilitados). Salidas: Estudiantes en la base de datos del SILAB. Alcance: Inicia cuando se recibe el listado de estudiantes hasta cuando se crean o modifican manualmente. Mejora del Proceso: Mediante la implementación de la herramienta SILAB en el laboratorio, el proceso mejora la gestión de información de los estudiantes de ingeniería de la USB, facilitando la modificación de información mal ingresada de un estudiante cargado previamente o el crear un estudiante que su situación de matrícula fue demorada o prolongada, de igual manera ayuda a tener un control de los estudiantes que se encuentran tanto activos como retirados actualmente y no depender de los sticker que se colocan en el carné. Elementos del proceso
Laboratorista
Ingeniería de Sistemas SILAB
38
Inicio
Recibir listado de estudiantes Descripción Reciben un listado con todo los estudiantes habilitados o activos. Ejecutantes Laboratorista
¿El estudiante ya está registrado? Descripción El laboratorista verifica si el estudiante está registrado o no en la base de datos. Flujos No Si
Actualizar estudiante Descripción Actualiza información del estudiante ya registrado en la base de datos del software. Ejecutantes Laboratorista
Crear estudiantes Descripción Ingresa información del nuevo estudiante. Ejecutantes Laboratorista
Gateway Flujos Actualizar información estudiante
Actualizar información estudiante Descripción Se actualiza la información realizada por los laboratoristas de los estudiantes a la Base de Dos del software. Ejecutantes Laboratorista
Fin
Ingeniería de Sistemas SILAB
39
Registrar nuevos artículos/Insumos
Figura 11. Proceso SILAB Registro de nuevos Artículos/Insumos Entradas: Artículo o insumo nuevo. Descripción: En este proceso se realiza la creación de nuevos artículos e insumos con la información que se recibe del formulario de almacén, luego se complementa con la información que el laboratorista considera pertinente y por último se clasifica dependiendo si es un activo o depreciable. Salidas: Articulo o insumo nuevo en la base de datos del SILAB. Alcance: Inicia cuando el laboratorista recibe un nuevo artículo o insumo hasta que se clasifica. Mejora del Proceso: Mediante la implementación de la herramienta SILAB en el laboratorio, el proceso mejora la gestión del registro de nuevos Artículos e insumos guardados en la base de datos de SILAB, esto ayuda a tener una mejor fiabilidad en el manejo de datos del inventario. Elementos del proceso
Laboratorista
Inicio
Recibir Formulario de nuevo artículo/insumo Descripción Reciben un listado con todo los artículos e insumos que deben tener. Ejecutantes Laboratorista
Definir tipo de articulo Descripción Se clasifican los elementos como activos o depreciables. Ejecutantes Laboratorista
Registrar información en inventario local Descripción Se agrega la información complementaria que los laboratoristas consideren de los artículos en la base de datos propia del sistema SILAB. Ejecutantes Laboratorista
Ingeniería de Sistemas SILAB
40
Actualizar inventario
Fin
Realizar Mantenimiento de artículos
Figura 12. Proceso SILAB Mantenimiento Artículos Entradas: Registro del mantenimiento del artículo. Descripción: En este proceso se inicia con la verificación manual del estado del articulo (verificar y realizar mantenimiento), a continuación, se registra en el software el resultado del mantenimiento. En caso de ser exitoso se registra una descripción del mantenimiento; en caso de ser negativo, se registra una descripción de lo sucedido, el artículo se cambia a estado defectuoso y se realiza un reporte por mail al almacén con lo sucedido. Salidas: Articulo con manteamiento realizado. Alcance: Inicia cuando el laboratorista realiza el mantenimiento hasta que registra el resultado de este mantenimiento. Mejora del Proceso: Mediante la implementación de la herramienta SILAB en el laboratorio, el proceso mejora la trazabilidad de la vida de los artículos al realizar un mantenimiento, ayudando a tener un histórico de todos los reportes e informes que se les han realizado a los artículos, esto actualmente en LIUSB no se lleva esta trazabilidad en un sistema. Elementos del proceso
Laboratorista
Inicio
Seleccionar articulo Descripción Selecciona articulo al cual se realizará el mantenimiento. Ejecutantes Laboratorista
Realizar mantenimiento Descripción Se realiza el mantenimiento del activo, según el cronograma. Ejecutantes Laboratorista
¿Mantenimiento exitoso?
Ingeniería de Sistemas SILAB
41
Descripción Como resulto el mantenimiento Flujos No Si
Realizar registro Descripción Registra el resultado del mantenimiento Ejecutantes Laboratorista
Reportar al almacén Descripción Se envía mensaje del artículo que no funciona correctamente. Ejecutantes Laboratorista
Actualizar estado del articulo Descripción Actualiza el estado del artículo. Ejecutantes Laboratorista
Enviar a técnico Descripción Se envía a garantía/técnico para la reparación. Ejecutantes Administrador
Gateway Flujos Actualizar registro en historial articulo
Actualizar registro en historial articulo Descripción Se registra una descripción del mantenimiento y su resultado. Ejecutantes Laboratorista
Informar a superior Descripción Enviar informe a jefe de laboratorios del proceso de mantenimiento. Ejecutantes Laboratorista
Fin
Ingeniería de Sistemas SILAB
42
Prestar Artículos/Insumo Multimedia-Electrónica
Figura 13. Proceso SILAB Préstamo de Artículos Multimedia/Electrónica Entradas: Estudiante, articulo y/o insumo. Descripción: este proceso inicia con la solicitud del estudiante para un préstamo, donde el laboratorista busca el artículo y/o insumo, se valida que haya disponibilidad. Si hay disponibilidad se completa la información del préstamo (tipo de préstamo, profesor, vencimiento, semestre y materia). Por último, se registra el préstamo y actualiza el inventario. Salidas: Préstamo. Alcance: Inicia desde cuando el estudiante solicita un préstamo hasta cuando se registra el préstamo. Mejora del Proceso: Mediante la implementación de la herramienta SILAB en el laboratorio, el proceso mejora en la validación de los estudiantes, debido a que no se dependerá que lleven el carné actualizado o que el laboratorista reconozca visualmente a los estudiantes. Control en los préstamos de artículos, al tener un histórico de préstamos, si estudiante no ha devuelto algún artículo o lo daño, el sistema alerta que está penalizado y no permite realizar préstamos. Seguimiento al inventario de insumos, al eliminarse el papel en los formatos de préstamos y estar en una base de datos, los insumos se pueden consultar en tiempo real y prevenir un desabastecimiento. Elementos del proceso
Laboratorista
Inicio Descripción Solicitud de préstamo
Seleccionar estudiante Descripción Busca en la lista de estudiantes activos en la base de datos. Ejecutantes Laboratorista
Validar estudiante Descripción Valida que este activo y que no esté penalizado.
¿Está penalizado?
Ingeniería de Sistemas SILAB
43
Flujos No Si
Informar imposibilidad de realizar préstamo Descripción Informa que está penalizado, por lo tanto, no puede prestar nada. Ejecutantes Laboratorista
Fin
Ingresar elementos solicitados Descripción Selecciona los artículos e insumos solícitos por el estudiante. Ejecutantes Laboratorista
Gateway Flujos Artículos Insumos
Buscar artículos Descripción Busca en el inventario. Ejecutantes Laboratorista
Prestar artículos Descripción Retira del inventario. Ejecutantes Laboratorista
Buscar insumos Descripción Busca en el inventario. Ejecutantes Laboratorista
Prestar insumos Descripción Retira del inventario. Ejecutantes Laboratorista
Gateway Flujos
Ingeniería de Sistemas SILAB
44
Informar a superior
Completar información del préstamo Descripción Selecciona la fecha de entrega, semestre, materia, profesor. Ejecutantes Laboratorista
Actualizar histórico de estudiante Descripción Asocia el préstamo al estudiante.
Entregar elementos solicitados Descripción Entrega artículos/insumos a estudiante. Ejecutantes Laboratorista
Fin Descripción Préstamo finalizado.
Devolver Préstamo
Figura 14. Proceso SILAB Devolución de Préstamo Entradas: Información del préstamo (código del estudiante). Descripción: En este proceso se busca el préstamo por el código del estudiante, si existe préstamo se registra los artículos y/o insumos devueltos. En caso de no entregar todos los artículos, está en potestad del laboratorista penalizar al estudiante. Salidas: Devolución de artículos y/o insumos o penalización de estudiante. Alcance: Inicia con el ingreso del código del estudiante hasta el registro de la devolución o cambio de estado por no devolución. Mejora del Proceso: Mediante la implementación de la herramienta SILAB en el laboratorio, el proceso mejora la penalización de los estudiantes. Al permitir escoger al laboratorista cuanto tiempo penalizar o en la ejecución del proceso en background que penaliza todos los préstamos que se venzan a la media noche, se lleva un control exacto y evita que un estudiante que debería estar penalizado, preste más
Ingeniería de Sistemas SILAB
45
artículos. Elementos del proceso
Laboratorista
Inicio Descripción Solicitud de entrega del estudiante/profesor
Ingresar código del estudiante Descripción Para búsqueda de préstamos activos. Ejecutantes Laboratorista
¿Se encuentra completa la devolución? Descripción El laboratorista verifica que las devoluciones de elementos estén completos con respecto al préstamo realizado. Flujos Si No
Registrar devolución articulo/insumo Descripción Se registra que todos los artículos fueron entregados por el estudiante. Ejecutantes Laboratorista
Verificar el estado de los artículos Descripción Se verifica que el articulo entregado se encuentre en buen estado. Ejecutantes Laboratorista
¿Se encuentra en buen estado? Descripción Verifica que los artículos entregados se encuentren en buen estado. Flujos No Si
Penalizar estudiante Descripción Se penaliza al estudiante por un tiempo determinado por el laboratorista, por lo tanto, el estudiante no podrá pedir prestados artículos del laboratorio. Ejecutantes Laboratorista
Ingeniería de Sistemas SILAB
46
Informar a superior Descripción Enviar informe a jefe de laboratorios del proceso de inventario. Ejecutantes Laboratorista
Reportar a la Facultad Descripción Se reporta a la facultad el articulo faltante para que se encarguen del cobro del artículo. Ejecutantes Administrador
Registrar devolución completa Ejecutantes Laboratorista
Gateway Flujos Actualizar el inventario
Actualizar el inventario Ejecutantes Laboratorista
Fin
Prestar Artículos/Insumos Química
Figura 15. Proceso SILAB Prestamos Artículos Química Entradas: Estudiante, articulo y/o insumo. Descripción: este proceso inicia con la solicitud del estudiante para un préstamo, donde el laboratorista busca el artículo y/o insumo, se valida que haya disponibilidad. Si hay disponibilidad se completa la información de la presta (tipo de préstamo, profesor, vencimiento, semestre y materia). Por último, se registra el préstamo y actualiza el inventario. Salidas: Préstamo. Alcance: Inicia por la solicitud del préstamo hasta cuando se registra el préstamo. Mejora del Proceso: Mediante la implementación de la herramienta SILAB en el laboratorio, el proceso mejora en la validación de los estudiantes, debido a que no se dependerá que lleven el carné actualizado o que el laboratorista reconozca
Ingeniería de Sistemas SILAB
47
visualmente a los estudiantes. Control en los préstamos de artículos, al tener un histórico de préstamos, si estudiante no ha devuelto algún artículo o lo daño, el sistema alerta que está penalizado y no permite realizar préstamos. Seguimiento al inventario de insumos, al eliminarse el papel en los formatos de préstamos y estar en una base de datos, los insumos se pueden consultar en tiempo real y prevenir un desabastecimiento. Elementos del proceso
Laboratorista
Inicio Descripción Solicitud del estudiante/profesor
Ingresar código de estudiantes Descripción Para búsqueda en la base de datos. Ejecutantes Laboratorista
¿Estudiante activo? Descripción Verifica que el estudiante se encuentre matriculado. Flujos No Si
Informar docente de estudiante Descripción Se informa al docente que el estudiante no puede presentar la practica Ejecutantes Laboratorista
Fin
Verificar disponibilidad cantidad insumo Descripción Verifica que los insumos a utilizar dentro de la práctica estén completos. Ejecutantes Laboratorista
¿Hay disponibilidad de insumos? Descripción El laboratorista verifica que haya la cantidad necesaria de insumos para realizar la práctica. Flujos No Si
Ingeniería de Sistemas SILAB
48
Registrar estudiantes Descripción Registra los estudiantes a la práctica a realizar en grupos. Ejecutantes Laboratorista
Validar información Ejecutantes Laboratorista
¿Es nuevo el estudiante? Descripción Se verifica si los estudiantes ya tienen conocimiento del uso del articulo o insumo a utilizar en la práctica. Flujos No Si
Realizar inducción a los estudiantes Descripción Se realiza una inducción de cómo utilizar los implementos de la práctica a realizar. Ejecutantes Laboratorista
Completar Formato préstamo artículos/insumos Descripción Registra los artículos/insumos a usar dentro de la práctica. Ejecutantes Laboratorista
¿Está programada la práctica? Descripción Verifica si la práctica a desarrollar ya estaba programada. Flujos Si No
Verificar información Ejecutantes Laboratorista
Gateway Flujos Actualizar formato de inventario
Actualizar formato de inventario Descripción Se actualiza el formato del inventario.
Ingeniería de Sistemas SILAB
49
Ejecutantes Laboratorista
Entregar elementos solicitados Descripción Entrega artículos/insumos a estudiante. Ejecutantes Laboratorista
Completar formato proyecto final o investigación Descripción Se genera la información con respecto a un proyecto final o de investigación. Ejecutantes Laboratorista
Generar reporte para almacén Descripción Realiza un informe con los insumos faltantes para enviar al jefe de laboratorios. Ejecutantes Laboratorista
Informar a superior Descripción Enviar informe a jefe de laboratorios del proceso de inventario por los insumos faltantes. Ejecutantes Laboratorista
Reacomodar grupo de estudiantes Descripción Registra los estudiantes a la práctica a realizar en grupos. Ejecutantes Laboratorista
Fin 5.1.3 Planificación de Iteraciones de Desarrollo Después de definir los procesos se realiza la priorización de procesos y se decidió dividir cada proceso en una iteración, para realizar el desarrollo de manera incremental. En estas iteraciones al proceso que lo compone se detalló los requisitos relacionados, casos de uso detallados, modelo de datos y los prototipos. 5.1.4 Especificación de Requisitos Con los procesos modelados de la nueva herramienta, se define cada actividad si es soportada por el sistema, la información, actor y si tiene formato esa actividad para levantar a partir de los procesos los requisitos.
Ingeniería de Sistemas SILAB
50
Para las siguientes etapas se elige el proceso de préstamo de artículos debido a que es uno de los más importantes del sistema y se encuentra la gran mayoría de la información que utiliza el software (estudiantes, artículo, insumos, historial y reportes). Se toma como ejemplo para presentar cada paso de la realización del proyecto. Los demás procesos se encuentran detallados en las iteraciones, se puede consultar y detallar en el anexo en la carpeta llamada 3. Iteraciones.
Figura 16. Proceso SILAB Prestamos Artículos/Insumo Actividades soportadas del proceso préstamo de artículos multimedia-electrónica:
Solicitud de préstamo: Solicitar préstamo por estudiantes según su necesidad, actividad que se realiza presencialmente con el laboratorista y no tiene formato.
Buscar artículo: El laboratorista debe buscar el artículo solicitado por el estudiante en el inventario del SILAB.
Verificar disponibilidad: El sistema valido si el artículo/insumo solicitado está disponible.
Seleccionar tipo de préstamo: Se debe seleccionar el tipo de préstamo (clase, proyecto, trabajo de grado) en el SILAB.
Llenar formulario del préstamo: El laboratorista debe llenar los campos del formulario de préstamo (materia, profesor, semestre, vencimiento) en el SILAB.
Actualizar inventario: El sistema cambia el estado del artículo y/o actualiza la cantidad del insumo préstamo en la base de datos.
Con las actividades soportadas se definieron requisitos directos (realizar préstamo) e indirectos (préstamo debe tener un consecutivo), luego se procedió a detallar las actividades detectadas que deben ir en el sistema (tener histórico de artículos dañados, enviar reportes). Esta información se validó con los laboratoristas involucrados y se tuvo en cuenta la retroalimentación que realizaron al proceso levantado y requisitos del sistema.
Ingeniería de Sistemas SILAB
51
A continuación, se describen los requisitos que se definieron:
1. El sistema deberá permitir buscar y agregar estudiante al préstamo. Descripción El sistema debe permitir la búsqueda del estudiante y posterior asociación a este préstamo. Entradas La entrada corresponde al código del estudiante. Proceso Una vez el usuario ha ingresado el código del artículo en la pantalla de búsqueda, el sistema realizara una consulta en la B.D. con los parámetros ingresados y asociara el estudiante (en caso de encontrarlo) al préstamo (previa validación del requisito 2). Salida Confirmación de estudiante asociado al préstamo.
2. El sistema deberá permitir validar que el estudiante no se encuentre
penalizado. Descripción El sistema debe validar que el estudiante no se encuentre en estado penalizado. Entradas La entrada corresponde al código del estudiante. Proceso Al intentar asociar un estudiante a un préstamo (requisito 1), se consulta en la B.D. que el estudiante no tenga una fecha de penalización que concuerde con la fecha del sistema. En caso de la fecha del sistema encontrarse en el rango de fecha de penalización, el sistema debe notificar que se encuentra penalizado y no puede solicitar préstamos. Salida Mensaje donde notifique el estudiante se encuentra penalizado.
3. El sistema deberá permitir consultar elementos (artículos o insumos) en
el inventario. Descripción El sistema debe permitir la búsqueda de un artículo o insumo dependiendo del nombre o código del artículo o insumo a buscar. Entradas La entrada corresponde al ingreso del nombre o código del artículo o insumo a consultar. Proceso Una vez el usuario ha ingresado el nombre o código del artículo o insumo en la pantalla de búsqueda, el sistema realizara una consulta en la B.D. con los parámetros ingresados. Salida
Ingeniería de Sistemas SILAB
52
Artículo o insumo encontrado o mensaje donde informa que no se encuentra nada que coincida.
4. El sistema deberá permitir verificar disponibilidad de la cantidad solicitada del insumo consultando el inventario en el momento de la solicitud del préstamo.
Descripción El sistema debe permitir verificar si la cantidad de insumos requerido por el estudiante se encuentra disponible. Entradas La entrada corresponde a la cantidad de insumos requeridos por el estudiante para el préstamo. (El insumo es opcional en los préstamos). Proceso El sistema verifica en la Base de datos si la cantidad del insumo requerido es menor a la cantidad del insumo disponible. Mensaje si la cantidad solicitada de insumos está disponible o la cantidad de insumos solicitados no se encuentra disponible. Salida Confirmación de disponibilidad o mensaje de no disponibilidad de cantidad solicitada.
5. El sistema deberá permitir seleccionar tipo de préstamo.
Descripción El sistema debe permitir seleccionar el tipo de préstamo durante el proceso de préstamo. Entradas La entrada a la selección de la lista de tipos de préstamo (clase, proyecto, proyecto de grado). Proceso Muestra en pantalla los diferentes tipos de préstamos para que se puede escoger uno en el campo. Salida Tipo de préstamo seleccionado.
6. El sistema deberá permitir generar un préstamo de Artículos o insumos con la información agregada durante el requisito 1, 3 y 5 e información complementaria.
Descripción El sistema debe permitir generar préstamo de un artículo o insumo a estudiantes con los estudiantes, artículos o insumos e información complementaria (materia, profesor, semestre). Entradas La entrada corresponde a los estudiantes asociados al préstamo, articulo y/o insumos solicitados, tipo de préstamo y materia, semestre, fecha de vencimiento, profesor.
Ingeniería de Sistemas SILAB
53
Proceso El sistema valida que exista al menos un estudiante asociado al préstamo, que exista un artículo o insumo solicitado, tipo de préstamo, semestre, profesor y materia, opcionalmente una fecha de vencimiento. Salida Mensaje de confirmación del préstamo.
7. El sistema deberá permitir generar un número consecutivo para cada préstamo.
Descripción El sistema generara un consecutivo para cada préstamo, el cual, sirve para identificar cada préstamo. Entradas La entrada corresponde al préstamo que se va a generar. Proceso La base de datos generara un número único para cada préstamo. Salida Un número que servirá para identificar el préstamo.
8. El sistema deberá permitir registrar en el histórico del artículo el préstamo realizado.
Descripción El sistema debe permitir agregar al histórico de cada artículo el préstamo realizado. Entradas La entrada corresponde a la información del suceso del artículo (fecha y tipo de anotación “préstamo”). Proceso Se buscará en la Base de Datos el artículo y una vez encontrado permitirá agregar la información de lo sucedido. Salida Anotación en el artículo (código único del registro en el historial del artículo, tipo de acción “Préstamo”, fecha y usuario que realiza el préstamo. En el anexo, carpeta 4. Ingeniería de Software, archivo 1. ESPECIFICACIÓN DE REQUERIMIENTOS DE SOFTWARE.DOCX, se encuentra el detalle del análisis de los demás requisitos con sus respectivas descripciones, datos de entrada, proceso y salida. 5.1.5 Roles del Sistema Se establecieron los siguientes roles: Laboratorista: Persona que ingresa en el portal, gestiona el inventario, los estudiantes, el préstamo/devolución de artículos, consulta reportes y horarios de los laboratorios.
Ingeniería de Sistemas SILAB
54
Administrador del Sistema: Persona que crea, modifica o deshabilita empleados, laboratorios y puede consultar los reportes del software. 5.1.6 Casos de Uso A partir de los requisitos identificados se plantean los siguientes casos de uso que se analizaron con los laboratoristas:
Numero de Caso de Uso Nombre de Caso de Uso
CU1 Registrar préstamo articulo/insumo
CU2 Consulta disponibilidad de inventario
CU3 Registrar devolución articulo/insumo
CU4 Buscar número de préstamo
CU5 Actualizar Inventario
CU6 Penalizar estudiante
CU7 Crear articulo
CU8 Modificar articulo
CU9 Inactivar articulo
CU10 Crear insumo
CU11 Modificar insumo
CU12 Inactivar insumo
CU13 Manejar historial del articulo
CU14 Enviar reportes
CU15 Crear horario de uso de laboratorios
CU16 Cargar inventario del iceberg
CU17 Clasificar elementos del iceberg
CU18 Crear estudiante
CU19 Modificar estudiante
CU20 Inactivar estudiante
CU21 Crear empleado
CU22 Modificar empleado
CU23 Inactivar empleado
CU24 Crear laboratorio
CU25 Modificar laboratorio
CU26 Inactivar laboratorio
CU27 Inactivar laboratorio
Cuadro 1. Casos de Uso
Ingeniería de Sistemas SILAB
55
5.1.6.1 Casos de Uso para el empleado Se muestra la gestión de la información necesaria para el funcionamiento del aplicativo.
Figura 17. Casos de Uso Empleado
Ingeniería de Sistemas SILAB
56
5.1.6.2 Casos de Uso para el laboratorista Se muestra las actividades complementarias que realiza un laboratorista.
Figura 18. Casos de Uso Laboratorista Se muestra actividades complementarias con el proceso de gestión de artículos.
Ingeniería de Sistemas SILAB
57
Figura 19. Casos de Uso Laboratorista2 Se muestra las actividades principales que realiza el laboratorista.
Ingeniería de Sistemas SILAB
58
Figura 20. Casos de Uso Laboratorista3 En el anexo, carpeta 4. Ingeniería de Software, archivo 2. DOCUMENTODEANALISIS.DOCX, se encuentra el detalle del análisis.
Ingeniería de Sistemas SILAB
59
5.1.7 Especificación Caso de Uso Los casos de uso más relevante para el proceso de préstamo artículo son:
No. 01-CU Nombre Registrar préstamo artículo
Descripción Sirve para registrar el préstamo de un artículo. Actores Laboratorista
Fase Análisis Guion
Actor Sistema
1. Selecciona la opción Préstamo “Articulo/Insumo”.
2. Despliega el formulario donde está la opción para que el usuario agregue los estudiantes, artículos, tipo de préstamo, fecha de vencimiento, materia, semestre y profesor asociado al préstamo (entre la lista de profesores que tiene el software).
3. Ingresa el código del estudiante.
4. Valida que numero de código exista en la base de datos y que no esté penalizado.
5. Presiona el botón agregar.
6. Selecciona si quiere agregar otro estudiante.
7. (Vuelve al paso 3)
8. Selecciona el artículo o busca el artículo.
9. Validar el dato ingresado.
10. Presiona el botón agregar.
11. Selecciona si quiere agregar otro artículo.
12. (Vuelve al paso 8)
Para insumos ver el caso de uso 1A.
13. Ingresa la fecha de entrega.
14. Ingresa la materia que solicita el préstamo.
15. Ingresa el profesor responsable de la materia.
Ingeniería de Sistemas SILAB
60
16. Ingresa el semestre.
17. Ingresa el tipo de préstamo.
18. Selecciona la opción prestar.
19. Validar campos obligatorios.
20. Guarda la información del formulario en la base de datos.
21. Actualiza el inventario cambiando el estado de los artículos y la cantidad de insumo disponible.
22. Muestra “confirmación de préstamo” y el código de préstamo.
Excepciones
1. Código no existente Nombre Mensaje
Paso 4
1. Si el número digitado no existe. Se debe ingresar otro número.
2. Vuelve al paso 3.
2. Formulario incompleto
Nombre Mensaje
Paso 19
1. Si el formulario está incompleto. Se despliega el mensaje: “Faltan campos obligatorios”
2. Vuelve al paso 18.
3. Dato invalido Nombre Mensaje
Paso 4,9,19
1. Si se ingresa un valor incorrecto. Se despliega el mensaje: “Dato no valido”
2. Vuelve al paso 3, 8,18.
4. Estudiante penalizad
Nombre Mensaje
Paso 4
1. Si el estudiante seleccionado está penalizado. Se despliega el mensaje “Estudiante penalizado”.
2. Vuelve al paso 3.
Ingeniería de Sistemas SILAB
61
Casos de uso relacionados
1A
Requerimiento Fuente
El sistema deberá permitir generar un préstamo de Artículos o insumos con la información agregada durante el requisito 1, 3 y 5 e información complementaria.
Autor Joan Vargas Revisado por
Fecha Creación
Julio 9 del 2015
Fecha de Ultima Modificación
Mayo 12 del 2016
No. 1A-CU
Nombre Registrar préstamo insumo. Descripción El sistema debe permitir registrar préstamo de insumos a estudiantes
Actores Laboratorista. Fase Análisis
Guion Actor Sistema
1. Selecciona o busca el insumo.
2. Valida si existe.
3. Ingresa la cantidad del insumo requerido.
4. Oprime el botón agregar.
5. Valida que el monto ingresado este entre el mínimo permitido y máximo a prestar.
6. Selecciona si quiere agregar otro insumo.
7. Vuelve al paso 1.
Continúa en el paso 13 del caso de uso 1.
Ingeniería de Sistemas SILAB
62
Excepciones
1. Cantidad insumo insuficiente Nombre Mensaje
Paso 5
1. Si el número digitado de insumos es mayor a la cantidad de insumos disponibles. Se despliega el mensaje: “Cantidad de insumo (código y nombre insumo), no disponible”.
2. Vuelve al paso 4.
2. Campo vacío
Nombre Mensaje
Paso 5
1. Si él hay un campo vacío. Se despliega el mensaje: “Falta un campo”
2. Vuelve al paso 4.
3. Dato invalido Nombre Mensaje
Paso 5
1. Si se ingresa un valor incorrecto. Se despliega el mensaje: “Dato no valido”
2. Vuelve al paso 4.
Casos de uso relacionados
1
Requerimiento Fuente
El sistema deberá permitir generar un préstamo de Artículos o insumos con la información agregada durante el requisito 1, 3 y 5 e información complementaria.
Autor Marco Antonio Polo Revisado por
Fecha Creación
Julio 9 del 2015
Fecha de Ultima Modificación
Mayo 12 del 2016
No. 13-CU
Nombre Consultar Historial del artículo.
Ingeniería de Sistemas SILAB
63
Descripción Sirve para tener un historial de cada artículo en el cual se puedan realizar anotaciones.
Actores Laboratorista
Fase Análisis Guion
Actor Sistema
1. Selecciona la opción historial artículos.
2. Escoge el artículo. 3. Consulta en la base de datos las anotaciones.
4. Despliega una tabla con las anotaciones.
Excepciones
1. Artículo sin historial
Nombre Mensaje
Paso 3
1. Si él artículo no tiene historial, el sistema no mostrara ninguna información.
2. Vuelve al paso 2.
Casos de uso relacionados
Requerimiento Fuente
El sistema deberá permitir manejar historial de los artículos.
Autor Joan Vargas
Revisado por
Fecha Creación
Julio 10 del 2015
Fecha de Ultima Modificación
Mayo 12 del 2016
En el anexo, carpeta 4. Ingeniería de Software, archivo 3. DOCUMENTODEDESARROLLODECICLO.DOCX, se presentan resto de Casos de uso específicos para los otros procesos ya definidos. 5.2 DISEÑO En la fase de diseño se puede observar con precisión los requisitos del cliente en un producto o sistema acabado. El diseño de software es la base de todas las partes posteriores del desarrollo y de la fase de pruebas.
Ingeniería de Sistemas SILAB
64
5.2.1 Modelo de Datos del Software En este modelo se grafica el modelo de datos de la base de datos.
Figura 21. Modelo de Datos
Ingeniería de Sistemas SILAB
65
Explicación de las tablas del modelo: ARTÍCULO: Tabla de base de datos donde se almacena la información de los artículos del laboratorio. INSUMO: Tabla de base de datos donde se almacena la información de los insumos del laboratorio. LABORATORIO: Tabla de base de datos donde se almacena la información de los laboratorios que utilizaran el software. EMPLEADO: Tabla de base de datos donde se almacena la información del empleado, sea laboratorista o administrador. HORARIO: Tabla de base de datos donde se almacena la información del cronograma guardado por cada uno de los laboratorios y sus respectivos salones y clases. PRESTAMO: Tabla de base de datos donde se almacena la información de los prestamos realizados en el software. DEVOLUCION: Tabla de base de datos donde se almacena la información de las devoluciones realizadas en el software ESTUDIANTE: Tabla de base de datos donde se almacena la información de los estudiantes los cuales podrán pedir préstamos en el software. HISTORIAL: Tabla de base de datos donde se almacena la información de los prestamos realizados históricamente con sus respectivos laboratoristas. En el anexo, carpeta 4. Ingeniería de Software, archivo 3. DOCUMENTODEDESARROLLODECICLO.DOCX, se presenta el modelo detallado. 5.2.2 Diagramas de Secuencia
Figura 22. Diagrama de Secuencia del Proceso
Ingeniería de Sistemas SILAB
66
5.2.3 Arquitectura Los procesos se dividieron por iteraciones para el desarrollo, a continuación, se mostrará el diagrama de la arquitectura de software en base a la establecida por ZATHURA CODE que se empleó para su desarrollo.
Figura 23. Diagrama de Componentes
Figura 24. Capas Arquitectura ZathuraCode
Ingeniería de Sistemas SILAB
67
Figura 25. Arquitectura Zathura Code. (Gómez, 2014). 5.2.4 Prototipos Por medio de los casos de uso y requisitos se definieron los siguientes prototipos para el proceso de préstamo de artículos/insumos: 5.2.4.1 Registrar préstamo artículo (CU01).
En la pantalla de préstamo de artículo se permite adicionar estudiantes, artículo e información del préstamo como se puede evidenciar en el siguiente prototipo.
Figura 26. Prototipo Registro Préstamo Artículo
Ingeniería de Sistemas SILAB
68
5.2.4.2 Registrar préstamo insumo (CU01). En la pantalla de préstamo de insumo se permite adicionar estudiantes, insumos e información del préstamo como se puede evidenciar en el siguiente prototipo.
Figura 27. Prototipo Registro préstamo Insumo En el anexo carpeta 4. Ingeniería de Software, archivo 3. DOCUMENTODESARROLLODECICLO.DOCX, se encuentran el resto de Prototipos para los otros procesos ya identificados.
Ingeniería de Sistemas SILAB
69
5.2.5 Diagrama de Paquetes A continuación, se muestra cómo el sistema está dividido en agrupaciones lógicas y las dependencias entre esas agrupaciones.
Figura 28. Diagrama de Paquetes 5.3 DESARROLLO A continuación, se va a describir para el proceso de préstamo de articulo todos los pasos para la metodología de la ingeniería de software que se realizaron. 5.3.1 Tecnologías usadas Las tecnologías las cuales se usaron para el desarrollo del aplicativo son las siguientes: JAVA. Los pilares en los que se sustenta Java son cinco: la programación orientada a objetos, la posibilidad de ejecutar un mismo programa en diversos sistemas
Ingeniería de Sistemas SILAB
70
operativos, la inclusión por defecto de soporte para trabajo en red, la opción de ejecutar el código en sistemas remotos de manera segura y la facilidad de uso [9]. JSF: JavaServer Faces (JSF) es una tecnología y framework para aplicaciones Java basadas en web que simplifica el desarrollo de interfaces de usuario en aplicaciones Java EE. JSF usa JavaServer Pages (JSP) como la tecnología que permite hacer el despliegue de las páginas, pero también se puede acomodar a otras tecnologías como XUL (acrónimo de XML-based User-interface Language, lenguaje basado en XML para la interfaz de usuario) [10]. Algunas de las características más importantes de JSF en la actualidad:
Framework estándar definido en la especificación Java EE.
Soporte en todos los servidores de aplicaciones y en las herramientas de desarrollo: Eclipse, GlassFish, etc.
Entornos gráficos para desarrollar rápidamente aplicaciones JSF.
Gran variedad de implementaciones de componentes.
Fácil integración con frameworks en la capa de negocio y de persistencia: Spring, JPA, etc.
Comunidad muy activa en la actualidad; podemos encontrar fácilmente soporte en foros, artículos, tutoriales, etc.
Todo esto, sumado a la madurez demostrada con la especificación 2.0 hace que JSF sea una tecnología que tenemos que conocer obligatoriamente y que plateemos seriamente su utilización en proyectos Java EE [11]. PRIMEFACES 5.1: Es una suite de componentes visuales JSF de código abierto con varias extensiones, cuenta con gran cantidad de componentes que facilitan la creación de aplicaciones web. El punto fuerte de PrimeFaces es la sencillez de instalación y lo poco pesado que es. El mantenerlo liviano, sin complicaciones a la hora de instalarlo, es decir, sin dependencias ni configuraciones, hace que podamos estar usándolo en unos pocos segundos [12]. Hibarnate 4.3.8: Hibernate es un objeto-relacional (ORM) para la plataforma Java, nos facilita el mapeo de atributos entre una base de datos relacional y el modelo de objetos de una aplicación [13]. Spring 4.1.6: Es un framework para el desarrollo de aplicaciones permite tener un control del código de la aplicación, manejando la inyección de dependencias para la persistencia [14].
Ingeniería de Sistemas SILAB
71
Oracle: Es un sistema de gestión de base de datos de tipo objeto-relacional (ORDBMS, por el acrónimo en inglés de Object-Relational Data Base Management System), desarrollado por Oracle Corporation [15]. Zathura Code: Es un generador de código para apoyar el desarrollo de aplicaciones empresariales en JavaEE, a partir de un modelo de base de datos existente [19]. 5.3.2 Patrones de diseño Los patrones de diseño utilizados fueron: Business Delegate Actúa como una abstracción de negocio del lado del cliente; proporciona una abstracción y por lo tanto oculta la implementación de los servicios del negocio. Al utilizar Business Delegate se reduce el acoplamiento entre los clientes de la capa de presentación y los servicios de negocio del sistema [16]. DAO (Data Access Object) Maneja la conexión con la fuente de datos para obtener y almacenar datos. ODBC proporciona una API que implementan los distintos proveedores de bases de datos mediante controladores ODBC específicos para un DBMS determinado. Los programas utilizan esta API para llamar al Administrador de controladores ODBC, que pasa las llamadas al controlador apropiado. A su vez, el controlador utiliza SQL para interactuar con el DBMS. [17]. Singleton Garantiza la existencia de una única instancia para una clase y la creación de un mecanismo de acceso global a dicha instancia [18].
Ingeniería de Sistemas SILAB
72
5.3.3 Matriz de Dispersión Funcional A continuación, en esta tabla se realiza un mapeo del proceso con la implementación donde se detalla cómo es la interacción entre el JSF, Manage Bean, Bussines Delegator, Lógica, Modelo y el DAO (sistema y funcionalidades).
Cuadro 2. Matriz de Dispersión Funcional
Procesos JSf Manage Bean Bussines Delegator Logica Modelo DAO
Registro de inventario
articuloXLS.xhtml, Muestra la interface General
de la carga de articulos por medio de un archivo
Excel.
ArticulosView.java se encuentran los metodos para el
funcionamiento de la vista y en el se controla el estado
de articuloXLS.xhtml
En ArticuloLogic.java se encuentra el metodo encargado de
realizar las validadciones del archivo xls que fue enviado para
relizar la carga del inventario antes de ser guardados
En Articulo.java esta el
mapeo objeto-relacional
EnArticuloDAO.java recibe
los datos de cada articulo
enviado y envia el query de
la lista de articulos subidos
Creación de estudiante
estudiante.xhtml, Muestra la interface donde se puede
ingresar y modifciar un estudiante; Y en
estudianteXLS.xhtml Muestra la interface General
de la carga de estudiantes por medio de un archivo
Excel.
EstudianteView.java se encuentran los metodos para el
funcionamiento de la vista y en el se controla el estado
de estudiante.xhtml
En EstudianteLogic.java se encuentra el metodo encargado de
realizar las validadciones del archivo xls que fue enviado para
relizar la carga del inventario antes de ser guardado y
tambien los metodos de guardar, modificar y de carga de los
estudiantes antes de ser enviados para guardarlos
En estudiante.java esta el
mapeo objeto-relacional
En EstudianteDAO.java
recibe los datos del
estudiante para enviar el
query que guarda o modifica
ese estudiante
Registro de nuevos artículos/Insumos
articulo.xhtml y insumo.xhtml Muestra la interface
donde se puede ingresar y modifciar tanto articulos
como insumos; Y ademas en insumoXLS.xhtml Muestra
la interface General de la carga de insumos por medio de
un archivo Excel.
ArticulosView.java se encuentran los metodos para el
funcionamiento de la vista y en el se controla el estado
de articuloXLS.xhtml
En ArticuloLogic.java y InsumoLogic se encuentran los
metodos de guardar, modificar, y de carga el listado de
articulos e insumos antes de ser enviados para ser guardarlos
o modificado
En Articulo.java e
Insumo.java esta el mapeo
objeto-relacional
En ArticuloDAO.java Y
IsumoDAP.java recibe los
datos de insumos y articulos
y enviar el query de ingresar
cada uno de los articulos al
igual que el de los insumos
Mantenimiento de artículos
mantenimiento.xhtml Muestra la interface donde se
puede seleccionar un articulo e ingresar los resultados
del matenimiento
ArticuloView.java se encuentran los metodos para el
funcionamiento de la vista y en el se controla el estado
de mantenimiento.xhtm
En ArticuloLogic.java se encuentra el metodo encargado
realizar la avalidacion y modificacion del articulo cuando este
se le realizo su respectivo mantenimiento
En Articulo.java esta el
mapeo objeto-relacional
En ArticuloDAO.java recibe
los datos del articulo para
enviar el query y modficar
los datos con su nuevo
mantenimiento
Préstamo de Artículos Multimedia-
Electrónica,Artículos Química
prestamo.xhml Muestra la interface donde se lleva
acabo un prestamo.xhtml; Y prestamoAdicional.xhtml
Muestra la interface donde se adionan articulos o
insumos nuevos al prestamo o los devulve de manera
individual
PrestamoView se encuentrarn los metodos para el
funcionamiento de la vista y en el se controla el estado
de prestamo.xhtml; y en PrestamoAdicionalView.java
se encuentran los metodos para el funcionamiento de
la vista y en el se controla el estado de
prestamoAdicional.xhtml
En ArticuloLogic.java y InsumoLogic se encuentra el metodo
que recibe el listado de insumos y articulos para validarlos y
registrarlo antes de ser guardado
En Articulo.java e
Insumo.java esta el mapeo
objeto-relacional
En ArticuloDAO.java y
InsumoDAO.java recibe los
datos del articulo para enviar
el query y modificar los
datos con su nuevo
mantenimiento
Devolución de Artículos
devolucion.xhtml Muestra la interface donde se realiza
la devolucion de todo el prestamo
DevolucionView.java se encuentran los metodos para
el funcionamiento de la vista y en el se controla el
estado de devolucion.xhtml
En DevolucionLogic.java se encuentra el metodo que recibe el
prestamo y realiza la validacion antes de ser guardardo
En Articulo.java esta el
mapeo objeto-relacional
En DevolucionDAO.java
recibe los datos del
prestamo y envia el query
para modificar los datos del
prestamo
Estadísticas
articuloDanados.xhtml ,articuloDefectuosos.xhtml ,
articuloNoDevuelto.xhtml ,
articuloMenosPrestados.xhtml ,
articuloMasPrestados.xhtml , articuloPrestados.xhtml ,
articuloMasHistorial.xhtml y articuloMasHistorial.xhtml
son las interfaces donde se pueden visualizar todos los
reportes
articuloDanados.java ,articuloDefectuosos.java ,
articuloNoDevuelto.java , articuloMenosPrestados.java
, articuloMasPrestados.java , articuloPrestados.java ,
articuloMasHistorial.java y articuloMasHistorial.java se
encuentran los metodos para el funcionamiento de la
vista y en el se controla el estado de
articuloDanados.xhtml ,articuloDefectuosos.xhtml ,
articuloNoDevuelto.xhtml ,
articuloMenosPrestados.xhtml ,
articuloMasPrestados.xhtml , articuloPrestados.xhtml ,
articuloMasHistorial.xhtml y articuloMasHistorial.xhtml
En ArticuloLogic.java se encuentran los metodos que envian
la consulta de los reportes y devulven el resultado
En Articulo.java esta el
mapeo objeto-relacional
En ArticuloDAO.java recibe
los parametros enviados
anteriormente para enviar el
query y devolver el listado
del rusultado de las
consultas de reportes
Horario Laboratorios
historialArticulo.xhtml Muestra la interface donde se
puede seleccionar y realizar la grestion de horarios de las
clases
HorarioView.java se encuentran los metodos para el
funcionamiento de la vista y en el se controla el estado
de historialArticulo.xhtml
En HorarioLogic.java se encuentran los metodos que reciben
el horario de la clase realizan la validaciones
conrespondientes y envian los datos para ser guardados o
modificados
En Horario.java esta el
mapeo objeto-relacional
En HorarioDAO.java recibe
los datos enviados del
horario de la clase y envia el
query que guarda o modifica
ese horario
BusinessDelegatorView.java es el
Componentes de la capa de
presentación para interactúar
directamente con los servicios de
negocio(Manage Bean con la
Logica)
Componentes del software
Ingeniería de Sistemas SILAB
73
5.4 PRUEBAS 5.4.1 Diseño de Pruebas Se planearon iteraciones de pruebas por cada proceso implementado, en cada iteración se toma en cuenta la matriz de dispersión funcional y se aplica como estrategia de pruebas funcionales la técnica de caminos, donde cada diagrama de proceso representa el camino a probar y por cada interfaz que hace parte del camino se aplican pruebas de unidad. Para los diseños de pruebas de unidad correspondientes a cada pantalla se identificaron todas las variables que intervienen y se aplicó técnicas de particiones de equivalencia, análisis de valor límite y un cálculo de casos de prueba mínimos con la técnica de Arreglos Ortogonales. De esta manera se cubre tanto las pruebas de unidad por interfaz y pruebas de proceso o funcionales, los resultados obtenidos en este proceso se utilizan como insumo para la generación de un informe que se entrega al cliente como un certificado de la calidad del software, donde se incluyen indicadores de densidad de errores, completitud de las pruebas y confiabilidad del producto. A continuación, se presentan algunos ejemplos de diseño de pruebas del proceso de Préstamo de Artículos/Insumos con su respectiva matriz de casos de prueba. Los diseños de todos los procesos se entregan en el anexo ubicado en 6. Pruebas archivo Diseños Casos de Prueba.xlsx. Diseño de Pruebas Préstamo: A continuación, en el siguiente diagrama de diseño de pruebas, muestran las actividades principales a probar para el proceso identificado, en este caso será para el proceso de Préstamo, donde para algunas actividades estarán asociadas a otros procesos preliminares, por ejemplo en este caso para la actividad “Solicitud de préstamo” existe un proceso asociado el cual es “Registro artículo”, esta relación se identifica con el símbolo “ ”, esto se realiza con el fin de identificar las actividades esenciales del proceso y los procesos asociado para sus respectivos casos de prueba.
Ingeniería de Sistemas SILAB
74
Figura 29. Diseño de Prueba Préstamo
Ingeniería de Sistemas SILAB
75
Matriz de casos de Prueba Proceso Préstamo
Funcionalidad Prueba Descripción de la Prueba Guión Variables Dominio Resultado
1. Elegir Estudiante Estudiante Marco Polo, Joan Vargas, Rocio Segovia
2. Elegir Articulo Articulo Camara, Teclado, Board
3. Elegir Insumo Insumo Madera, Cables, Mouse
4. Elegir Tipo de Prestamo Tipo de Prestamo Clase, Proyecto Aula, Proyecto de Grado
5. Ingresar Fecha de Vencimiento Fecha 30/05/2016, 05/06/2016, 16/06/2016
6. Elegir Profesor Profesor Maria Teresa, Diego, Ivan
7. Elegir Semestre Semestre 6, 7, 9
8. Ingresar Materia Materia Fisica, Circuitos, Laboratorio 1
9. Oprimir el botón "Realizar Prestamo"
2. Elegir Articulo Articulo Camara, Teclado, Board
3. Elegir Insumo Insumo Madera, Cables, Mouse
4. Elegir Tipo de Prestamo Tipo de Prestamo Clase, Proyecto Aula, Proyecto de Grado
5. Ingresar Fecha de Vencimiento Fecha 30/05/2016, 05/06/2016, 16/06/2016
6. Elegir Profesor Profesor Maria Teresa, Diego, Ivan
7. Elegir Semestre Semestre 6, 7, 9
8. Ingresar Materia Materia Fisica, Circuitos, Laboratorio 1
9. Oprimir el botón "Realizar Prestamo"
1. Elegir Estudiante Estudiante Marco Polo, Joan Vargas, Rocio Segovia
3. Elegir Insumo Insumo Madera, Cables, Mouse
4. Elegir Tipo de Prestamo Tipo de Prestamo Clase, Proyecto Aula, Proyecto de Grado
5. Ingresar Fecha de Vencimiento Fecha 30/05/2016, 05/06/2016, 16/06/2016
6. Elegir Profesor Profesor Maria Teresa, Diego, Ivan
7. Elegir Semestre Semestre 6, 7, 9
8. Ingresar Materia Materia Fisica, Circuitos, Laboratorio 1
9. Oprimir el botón "Realizar Prestamo"
1. Elegir Estudiante Estudiante Marco Polo, Joan Vargas, Rocio Segovia
2. Elegir Articulo Articulo Camara, Teclado, Board
4. Elegir Tipo de Prestamo Tipo de Prestamo Clase, Proyecto Aula, Proyecto de Grado
5. Ingresar Fecha de Vencimiento Fecha 30/05/2016, 05/06/2016, 16/06/2016
6. Elegir Profesor Profesor Maria Teresa, Diego, Ivan
7. Elegir Semestre Semestre 6, 7, 9
8. Ingresar Materia Materia Fisica, Circuitos, Laboratorio 1
9. Oprimir el botón "Realizar Prestamo"
Prestamo de Articulo/Insumo
Visualizar mensaje de confirmacion
de consecutivo del prestamo y
cambio en base de datos
Visualizar mensaje de
confirmacion, consecutivo del
prestamo y cambio en base de
datos
Visualizar mensaje de
confirmacion, consecutivo del
prestamo y cambio en base de
datos
Visualizar mensaje de errorPrestamoRealizar prestamo sin un
estudiante
Prestamo Realizar prestamo completo
Prestamo Realizar prestamo sin un articulo
Realizar prestamo sin un insumoPrestamo
Ingeniería de Sistemas SILAB
76
1. Elegir Estudiante Estudiante Marco Polo, Joan Vargas, Rocio Segovia
2. Elegir Articulo Articulo Camara, Teclado, Board
3. Elegir Insumo Insumo Madera, Cables, Mouse
4. Elegir Tipo de Prestamo Tipo de Prestamo Clase, Proyecto Aula, Proyecto de Grado
6. Elegir Profesor Profesor Maria Teresa, Diego, Ivan
7. Elegir Semestre Semestre 6, 7, 9
8. Ingresar Materia Materia Fisica, Circuitos, Laboratorio 1
9. Oprimir el botón "Realizar Prestamo"
1. Elegir Estudiante Estudiante Marco Polo, Joan Vargas, Rocio Segovia
2. Elegir Articulo Articulo Camara, Teclado, Board
3. Elegir Insumo Insumo Madera, Cables, Mouse
5. Ingresar Fecha de Vencimiento Fecha 30/05/2016, 05/06/2016, 16/06/2016
6. Elegir Profesor Profesor Maria Teresa, Diego, Ivan
7. Elegir Semestre Semestre 6, 7, 9
8. Ingresar Materia Materia Fisica, Circuitos, Laboratorio 1
9. Oprimir el botón "Realizar Prestamo"
1. Elegir Estudiante Estudiante Marco Polo, Joan Vargas, Rocio Segovia
2. Elegir Articulo Articulo Camara, Teclado, Board
3. Elegir Insumo Insumo Madera, Cables, Mouse
4. Elegir Tipo de Prestamo Tipo de Prestamo Clase, Proyecto Aula, Proyecto de Grado
5. Ingresar Fecha de Vencimiento Fecha 30/05/2016, 05/06/2016, 16/06/2016
7. Elegir Semestre Semestre 6, 7, 9
8. Ingresar Materia Materia Fisica, Circuitos, Laboratorio 1
9. Oprimir el botón "Realizar Prestamo"
1. Elegir Estudiante Estudiante Marco Polo, Joan Vargas, Rocio Segovia
2. Elegir Articulo Articulo Camara, Teclado, Board
3. Elegir Insumo Insumo Madera, Cables, Mouse
4. Elegir Tipo de Prestamo Tipo de Prestamo Clase, Proyecto Aula, Proyecto de Grado
5. Ingresar Fecha de Vencimiento Fecha 30/05/2016, 05/06/2016, 16/06/2016
6. Elegir Profesor Profesor Maria Teresa, Diego, Ivan
8. Ingresar Materia Materia Fisica, Circuitos, Laboratorio 1
9. Oprimir el botón "Realizar Prestamo"
Prestamo Realizar prestamo sin semestre Visualizar mensaje de error
Prestamo Realizar prestamo sin profesor Visualizar mensaje de error
Visualizar mensaje de error
PrestamoRealizar prestamo sin tipo de
prestamoVisualizar mensaje de error
Realizar prestamo sin fecha de
vencimientoPrestamo
Ingeniería de Sistemas SILAB
77
1. Elegir Estudiante Estudiante Marco Polo, Joan Vargas, Rocio Segovia
2. Elegir Articulo Articulo Camara, Teclado, Board
3. Elegir Insumo Insumo Madera, Cables, Mouse
4. Elegir Tipo de Prestamo Tipo de Prestamo Clase, Proyecto Aula, Proyecto de Grado
5. Ingresar Fecha de Vencimiento Fecha 30/05/2016, 05/06/2016, 16/06/2016
6. Elegir Profesor Profesor Maria Teresa, Diego, Ivan
7. Elegir Semestre Semestre 6, 7, 9
9. Oprimir el botón "Realizar Prestamo"
1. Elegir Estudiante Estudiante Marco Polo, Joan Vargas, Rocio Segovia
2. Elegir Articulo Articulo Camara, Teclado, Board
3. Elegir Insumo Insumo Madera, Cables, Mouse
4. Elegir Tipo de Prestamo Tipo de Prestamo Clase, Proyecto Aula, Proyecto de Grado
5. Ingresar Fecha de Vencimiento Fecha 30/05/2016, 05/06/2016, 16/06/2016
6. Elegir Profesor Profesor Maria Teresa, Diego, Ivan
7. Elegir Semestre Semestre 6, 7, 9
8. Ingresar Materia Materia Fisica, Circuitos, Laboratorio 1
9. Oprimir el botón "Realizar Prestamo"
1. Elegir Estudiante Estudiante Peras, #Nombre, @Estu@
2. Elegir Articulo Articulo Camara, Teclado, Board
3. Elegir Insumo Insumo Madera, Cables, Mouse
4. Elegir Tipo de Prestamo Tipo de Prestamo Clase, Proyecto Aula, Proyecto de Grado
5. Ingresar Fecha de Vencimiento Fecha 30/05/2016, 05/06/2016, 16/06/2016
6. Elegir Profesor Profesor Maria Teresa, Diego, Ivan
7. Elegir Semestre Semestre 6, 7, 9
8. Ingresar Materia Materia Fisica, Circuitos, Laboratorio 1
9. Oprimir el botón "Realizar Prestamo"
1. Elegir Estudiante Estudiante Marco Polo, Joan Vargas, Rocio Segovia
2. Elegir Articulo Articulo Pedro Perez, #Articulo, comida@
3. Elegir Insumo Insumo Madera, Cables, Mouse
4. Elegir Tipo de Prestamo Tipo de Prestamo Clase, Proyecto Aula, Proyecto de Grado
5. Ingresar Fecha de Vencimiento Fecha 30/05/2016, 05/06/2016, 16/06/2016
6. Elegir Profesor Profesor Maria Teresa, Diego, Ivan
7. Elegir Semestre Semestre 6, 7, 9
8. Ingresar Materia Materia Fisica, Circuitos, Laboratorio 1
9. Oprimir el botón "Realizar Prestamo"
PrestamoRealizar prestamo con estudiante
invalidoVisualizar mensaje de error
PrestamoRealizar prestamo con articulo
invalidoVisualizar mensaje de error
Prestamo Realizar prestamo sin materia Visualizar mensaje de error
PrestamoRealizar prestamo con estudiante
penalizadoVisualizar mensaje de error
Ingeniería de Sistemas SILAB
78
1. Elegir Estudiante Estudiante Marco Polo, Joan Vargas, Rocio Segovia
2. Elegir Articulo Articulo Camara, Teclado, Board
3. Elegir Insumo Insumo Pedro Perez, @insumo, insu#
4. Elegir Tipo de Prestamo Tipo de Prestamo Clase, Proyecto Aula, Proyecto de Grado
5. Ingresar Fecha de Vencimiento Fecha 30/05/2016, 05/06/2016, 16/06/2016
6. Elegir Profesor Profesor Maria Teresa, Diego, Ivan
7. Elegir Semestre Semestre 6, 7, 9
8. Ingresar Materia Materia Fisica, Circuitos, Laboratorio 1
9. Oprimir el botón "Realizar Prestamo"
1. Elegir Estudiante Estudiante Marco Polo, Joan Vargas, Rocio Segovia
2. Elegir Articulo Articulo Camara, Teclado, Board
3. Elegir Insumo Insumo Madera, Cables, Mouse
4. Elegir Tipo de Prestamo Tipo de Prestamo Pedro Perez, test, 32
5. Ingresar Fecha de Vencimiento Fecha 30/05/2016, 05/06/2016, 16/06/2016
6. Elegir Profesor Profesor Maria Teresa, Diego, Ivan
7. Elegir Semestre Semestre 6, 7, 9
8. Ingresar Materia Materia Fisica, Circuitos, Laboratorio 1
9. Oprimir el botón "Realizar Prestamo"
1. Elegir Estudiante Estudiante Marco Polo, Joan Vargas, Rocio Segovia
2. Elegir Articulo Articulo Camara, Teclado, Board
3. Elegir Insumo Insumo Madera, Cables, Mouse
4. Elegir Tipo de Prestamo Tipo de Prestamo Clase, Proyecto Aula, Proyecto de Grado
5. Ingresar Fecha de Vencimiento Fecha 5/05/2050, 10/PO/2016, 40,/06/2016
6. Elegir Profesor Profesor Maria Teresa, Diego, Ivan
7. Elegir Semestre Semestre 6, 7, 9
8. Ingresar Materia Materia Fisica, Circuitos, Laboratorio 1
9. Oprimir el botón "Realizar Prestamo"
1. Elegir Estudiante Estudiante Marco Polo, Joan Vargas, Rocio Segovia
2. Elegir Articulo Articulo Camara, Teclado, Board
3. Elegir Insumo Insumo Madera, Cables, Mouse
4. Elegir Tipo de Prestamo Tipo de Prestamo Clase, Proyecto Aula, Proyecto de Grado
5. Ingresar Fecha de Vencimiento Fecha 5/05/2050, 10/PO/2016, 40,/06/2016
6. Elegir Profesor ProfesorMarco Polo, Joan Vargas, Fonseca
Bugeiro
7. Elegir Semestre Semestre 6, 7, 9
8. Ingresar Materia Materia Fisica, Circuitos, Laboratorio 1
9. Oprimir el botón "Realizar Prestamo"
Prestamo
PrestamoRealizar prestamo con fecha de
vencimiento invalidoVisualizar mensaje de error
Realizar prestamo con proesor
invalidoVisualizar mensaje de error
PrestamoRealizar prestamo con insumo
invalidoVisualizar mensaje de error
PrestamoRealizar prestamo con tipo de
prestamo invalidoVisualizar mensaje de error
Ingeniería de Sistemas SILAB
79
Cuadro 3. Diseño de Prueba Proceso Préstamo Articulo/Insumo
1. Elegir Estudiante Estudiante Marco Polo, Joan Vargas, Rocio Segovia
2. Elegir Articulo Articulo Camara, Teclado, Board
3. Elegir Insumo Insumo Madera, Cables, Mouse
4. Elegir Tipo de Prestamo Tipo de Prestamo Clase, Proyecto Aula, Proyecto de Grado
5. Ingresar Fecha de Vencimiento Fecha 5/05/2050, 10/PO/2016, 40,/06/2016
6. Elegir Profesor Profesor Maria Teresa, Diego, Ivan
7. Elegir Semestre Semestre 99, 0, -6
8. Ingresar Materia Materia Fisica, Circuitos, Laboratorio 1
9. Oprimir el botón "Realizar Prestamo"
1. Elegir Estudiante Estudiante Marco Polo, Joan Vargas, Rocio Segovia
2. Elegir Articulo Articulo Camara, Teclado, Board
3. Elegir Insumo Insumo Madera, Cables, Mouse
4. Elegir Tipo de Prestamo Tipo de Prestamo Clase, Proyecto Aula, Proyecto de Grado
5. Ingresar Fecha de Vencimiento Fecha 5/05/2050, 10/PO/2016, 40,/06/2016
6. Elegir Profesor Profesor Maria Teresa, Diego, Ivan
7. Elegir Semestre Semestre 6, 7, 9
8. Ingresar Materia Materia Pedro Perez, pera, @mater
9. Oprimir el botón "Realizar Prestamo"
PrestamoRealizar prestamo con semestre
invalidoVisualizar mensaje de error
PrestamoRealizar prestamo con materia
invalidoVisualizar mensaje de error
Ingeniería de Sistemas SILAB
80
5.4.2 Ejecución de Pruebas La cantidad total de casos de prueba diseñados es de 187 y se logró una ejecución del 100%, en esta sección se presentarán las evidencias, casos y resultados obtenidos para el proceso de Préstamos, los detalles de pruebas de los demás procesos se encuentran en el anexo 6. Pruebas archivos MRP - General-SILAB 1-6. Se realizaron 6 iteraciones de pruebas iterativas e incrementales. En la primera se incluyó la gestión de empleados, laboratorios, estudiante, articulo e insumo; En la segunda carga de archivo xls de estudiante, articulo e insumo y la comparación entre inventario y xls de artículos, En la cuarta horario y mantenimiento; En la quinta préstamo y devolución; En la sexta corrección de errores, utilizando los casos de prueba en total se realizaron 519 pruebas durante las 6 iteraciones. Los resultados obtenidos en las pruebas del proceso de préstamo en la iteración #6 fueron los siguientes:
Ingeniería de Sistemas SILAB
81
Ejecución Pruebas Proceso Préstamo
Cuadro 4. Ejecución Pruebas Proceso Préstamo Una vez un escenario de prueba no concuerde con el resultado esperado, se reporta como resultado de prueba “Negativa” con su respectiva observación de que acción realizo dicho escenario probado, para así poder realizar la corrección del código y ejecutar las pruebas de nuevo.
1 Realizar prestamo completo
1. Elegir Estudiante Marco Polo, 2. Elegir Articulo Camara, 3. Elegir Insumo Madera, 4. Elegir Tipo de Prestamo
Tipo de Prestamo Clase, 5. Ingresar Fecha de Vencimiento 30/05/2016, 6. Elegir Profesor Andres, 7. Elegir
Semestre 6, 8. Ingresar Materia Fisica, 9. Oprimir el botón "Realizar Prestamo"
Prestamo Visualizar mensaje de confirmacion y cambio en base de datos Exitosa
2 Realizar prestamo sin un estudiante
2. Elegir Articulo Articulo Camara, 3. Elegir Insumo Madera,4. Elegir Tipo de Prestamo Clase,5. Ingresar Fecha de
Vencimiento 30/05/2016,6. Elegir Profesor Andres,7. Elegir Semestre 6,8. Ingresar Materia Fisica,9. Oprimir el
botón "Realizar Prestamo"
Prestamo Visualizar mensaje de error Exitosa
3 Realizar prestamo sin un articulo
1. Elegir Estudiante Marco Polo, 3. Elegir Insumo Insumo Madera, 4. Elegir Tipo de Prestamo Clase,5. Ingresar
Fecha de Vencimiento 30/05/2016,6. Elegir Profesor Andres,7. Elegir Semestre 6,8. Ingresar Materia Fisica,9.
Oprimir el botón "Realizar Prestamo"
Prestamo Visualizar mensaje de confirmacion y cambio en base de datos Exitosa
4 Realizar prestamo sin un insumo
1. Elegir Estudiante Marco Polo,2. Elegir Articulo Camara,4. Elegir Tipo de Prestamo Clase,5. Ingresar Fecha de
Vencimiento 30/05/2016,6. Elegir Profesor Andres,7. Elegir Semestre 6,8. Ingresar Materia Fisica,9. Oprimir el
botón "Realizar Prestamo"
Prestamo Visualizar mensaje de confirmacion y cambio en base de datos Exitosa
5 Realizar prestamo sin fecha de vencimiento
1. Elegir Estudiante Marco Polo,2. Elegir Articulo Camara,3. Elegir Insumo Madera,4. Elegir Tipo de Prestamo
Clase,6. Elegir Profesor Andres,7. Elegir Semestre Semestre 6,8. Ingresar Materia Fisica,9. Oprimir el botón
"Realizar Prestamo"
Prestamo Visualizar mensaje de error Exitosa
6 Realizar prestamo sin tipo de prestamo
1. Elegir Estudiante Marco Polo,2. Elegir Articulo Camara,3. Elegir Insumo Madera,5. Ingresar Fecha de
Vencimiento Fecha 30/05/2016,6. Elegir Profesor Andres,7. Elegir Semestre 6,8. Ingresar Materia Fisica,9. Oprimir
el botón "Realizar Prestamo"
Prestamo Visualizar mensaje de error Exitosa
7 Realizar prestamo sin profesor
1. Elegir Estudiante Marco Polo,2. Elegir Articulo Camara,3. Elegir Insumo Madera,4. Elegir Tipo de Prestamo
Clase,5. Ingresar Fecha de Vencimiento 30/05/2016,7. Elegir Semestre 6,8. Ingresar Materia Fisica,9. Oprimir el
botón "Realizar Prestamo"
Prestamo Visualizar mensaje de error Exitosa
8 Realizar prestamo sin semestre
1. Elegir Estudiante Marco Polo,2. Elegir Articulo Camara,3. Elegir Insumo Madera,4. Elegir Tipo de Prestamo
Clase,5. Ingresar Fecha de Vencimiento 30/05/2016,6. Elegir Profesor Andres,8. Ingresar Materia Fisica,9. Oprimir
el botón "Realizar Prestamo"
Prestamo Visualizar mensaje de error Exitosa
9 Realizar prestamo con articulo invalido
1. Elegir Estudiante Peras,2. Elegir Articulo Camara,3. Elegir Insumo Madera,4. Elegir Tipo de Prestamo Clase,5.
Ingresar Fecha de Vencimiento 30/05/2016,6. Elegir Profesor Andres,7. Elegir Semestre 6,8. Ingresar Materia
Fisica,9. Oprimir el botón "Realizar Prestamo"
Prestamo Visualizar mensaje de error Exitosa
Realizar Prestamo
Elementos a Probar Resultados EsperadosResultado
de Prueba
Proceso o
Funcionalidad TipoNC
# del
ReqDescripción Requerimiento Prueba Descripción de los Pasos de Prueba
EJECUCIÓN DE PRUEBAS
MATRIZ DE REQUERIMIENTOS DE PRUEBA
SILAB
Ingeniería de Sistemas SILAB
82
6. CONCLUSIONES Y RESULTADOS
6.1 CONCLUSIONES A continuación, se dan a conocer las conclusiones con respecto a los objetivos propuestos en el proyecto:
Se logró levantar, documentar y modelar los procesos del laboratorio plasmando la información de lo que hacen en su día a día. Con los procesos definidos y aprobados por los stakeholders se modela incluyendo las actividades que realizará la herramienta desarrollada. Mediante las reuniones con los stakeholders se identificaron 8 procesos: registro de inventarios, creación de estudiantes, registro de nuevos artículos/insumos, mantenimiento de artículos, préstamo artículos multimedia-electrónica, devolución de artículos, préstamo artículos química, reportes y horarios de los laboratorios. Los procesos modelados tuvieron la aprobación de los stakeholders.
A partir de los procesos se realiza la especificación de requerimientos de software y se diseña una herramienta que cumple con las necesidades especificadas en los requisitos de software, esto validado a partir de las pruebas ejecutadas, las cuales se pueden validar en la sección de pruebas. Se espera que con esta herramienta los laboratoristas puedan agilizar y llevar un mejor control del inventario, permitiéndoles un registro más detallado del inventario e histórico de préstamos, daños, mantenimientos.
Se logró la aceptación de la versión preliminar del software por parte del laboratorista de multimedia y sistemas. Actualmente el software se encuentra instalado en el servidor del Lidis y es accesible por medio de la dirección http://181.118.152.52:8080/Laboratorios/login.xhtml. En este momento se tiene una base de datos de prueba para que cualquier laboratorista pueda utilizar las funcionalidades del software. Se está a la espera de la reunión final para la aceptación por parte de la jefa de laboratorios. Se tiene estimado que el software inicie con la ejecución del laboratorio de multimedia, sistemas, electrónica y química una vez sea aprobado.
Se realiza comprobación de que el software cumpla los requisitos mediante la ejecución de pruebas de aceptación descritas en el punto anterior.
Ingeniería de Sistemas SILAB
83
6.2 RESULTADOS Se entrega un software funcional al laboratorio con manual de usuario para su manejo y documentación de procesos y requerimientos. Se presenta los Indicadores de calidad del producto donde de 519 pruebas ejecutadas en 6 iteraciones y se encontraron 25 no conformidades, el porcentaje de correctitud se calcula del total de pruebas ejecutadas sobre las que fueron exitosas y el de densidad de NC es ejecutadas sobre las no conformidades
Cuadro 5. Resultados Consolidados Pruebas Al realizar el análisis de resultados de las pruebas para los diferentes escenarios, se logra identificar que el Software tiene un porcentaje de correctitud del 95% con respecto a la funcionalidad a los procesos. Así mismo se logra analizar de que se generó un porcentaje del 5% de no conformidades frente al proceso (De los casos probados se identificó 2 No Conformidad Media) generando una confiabilidad del 95% en el proceso del SILAB. Mejora del Proceso al implementar SILAB Al ejecutar las pruebas se evidencia la mejora del proceso de préstamo de artículos, tanto para electrónica-multimedia como para química, al agregar un estudiante a un préstamo, el sistema alerta que está penalizado y no permite el préstamo. Cuando se va a prestar un insumo, el laboratorista puede ver cuánto queda en el inventario y determinar si necesita solicitar al almacén. Al no tener necesidad de solicitar un carné con un sticker, solo con digitar el código, se puede saber si el estudiante está activo para realizar préstamos.
Alto Medio Bajo
519 6 16 3 519 494 25 95% 5% 95%
Densidad
NC
Resultados Totales
Ejecutados
No Conformidades Totales
OK NOK
Cant. Total
Prueb.Correctitud Confiab.
Indicadores Total Pruebas
Ingeniería de Sistemas SILAB
84
Se evidencia en la ejecución de las pruebas la mejora en el proceso de devolución de artículo en la penalización automática de estudiantes por no devolución a tiempo, cuando se creó un préstamo con fecha de vencimiento 11 de junio, al siguiente día se intenta realizar otro préstamo con el estudiante, pero el sistema notifica que el estudiante se encuentra penalizado. Se prueba la mejora en el proceso de registro de artículos e insumos al cargar un archivo con todo el inventario y completar la información con datos que suministran los laboratoristas para fácil identificación en una posible auditoria. Se prueba la mejora en la gestión de estudiante al crear un sistema que permita validar fácilmente a los estudiantes. Se prueba la mejora en el proceso de mantenimiento al poder tener un histórico de fácil consulta con todos los mantenimientos que se han realizado. A continuación, se muestra el grafico de tendencia de las No Conformidades detectadas:
Figura 30. Evolución de Errores. Se evidencia que la tendencia en las primeras iteraciones es bajar, hay un incremento cuando se prueban los procesos más complejos, pero luego vuelve la tendencia a la baja de No Conformidades.
0
2
4
6
8
10
12
14
0 1 2 3 4 5 6 7
Can
tid
ad d
e E
rro
res
No. Prueba
Evolución de Errores
Ingeniería de Sistemas SILAB
85
6.3 TRABAJOS FUTUROS El sistema desarrollado cumple con los requisitos funcionales del laboratorio, el alcance del proyecto no contempla la parte móvil, por lo tanto, se plantea seguir con el desarrollo del software de nuevos módulos y funcionales que permitan integraciones móviles para que los laboratoristas puedan acceder y consultar datos de los artículos, por parte de los estudiantes poder consultar y reservar artículos para sus respectivas practicas o proyectos.
Ingeniería de Sistemas SILAB
86
BIBLIOGRAFÍA [1] ZARATEIGUI, J. La gestión por procesos: Su papel e importancia en la empresa. En: Economía Industrial. Junio, 1999, vol; no 330, p. 81-88. [2] HALL, P. – FERNÁNDEZ J. Managing the Software Enterprise. UK: Thomson Learning. 2007. 456p. [3] PÉREZ, H. – SALOMANDO, C. – VALENCIA, L. Levantamiento de requerimientos basados en el conocimiento del proceso. En: Revista Científica. Junio-diciembre, 2012, vol; no 16, p. 43-51. [4] FREUND, J. – RÜKER, B. – HITPASS, B. BPMN 2.0 Manual de Referencia y Guía Práctica. Chile: Universidad Técnica Federico Santa María. 2014. 273p. [5] PAIS, J. BPM (Business Process Management): Cómo alcanzar la agilidad y eficiencia operacional a través de BPM y la empresa orientada a procesos. España: BPMteca.com. 2013. 394p. [6] WHITE, S – MIERS, D. BPMN Modeling and Reference Guide: Understanding and Using BPMN. Florida, USA: Future Strategies Inc. 2008. 231p. [7] BPMN 2.0 [En línea]. UK: Bizagi [consultado 11 junio de 2016]. Disponible en: http://resources.bizagi.com/docs/BPMNbyExampleSPA.pdf [8] ESCOBAR, A – VELANDIA D – ORDOÑEZ, H – COBOS, C. A review of the impact on XP methodology of business model inclusion in requirements elicitation. En: Sistemas & Telemática. 2015, vol. 15, no 33, p. 45-61. [9] Groussard, T. JAVA 7: Los fundamentos del lenguaje Java. Barcelona: Ediciones ENI. 2012. 366p. [10] [13] RÍOS, S. JSF 2 + Hibernate 4 + Spring 4. [En línea]. Java Revolutions [consultado 11 junio de 2016]. Disponible en: http://javarevolutions.com/site/inicio.jr [11] BURNS, E. – SCHALK, C. JavaServer Faces 2.0, The Complete Reference. USA: McGraw Hill. 2009. 752p. [12] PRASAD, S. PrimeFaces Beginner's Guide. UK: Packt Publishing Ltd. 2013. 378p. [13] LINWOOD, J. – MINTER, D. Beginning Hibernate. 2 ed. USA: Apress, 2010. 400p.
Ingeniería de Sistemas SILAB
87
[14] GABILLAUD, J. Oracle 11g: SQL, PL/SQL, SQL*Plus. Barcelona: Ediciones ENI. 2010. 501p [15] Core J2EE Patterns – DataBase [En línea]. Oracle [consultado 11 de junio de 2016]. Disponible en: http://www.oracle.com [16] Core J2EE Patterns - Business Delegate. [En línea]. Oracle [consultado 11 de junio de 2016]. Disponible en: http://www.oracle.com/technetwork/java/businessdelegate-137562.html [17] Core J2EE Patterns - Data Access Object. [En línea]. Oracle [consultado 11 de junio de 2016]. Disponible en: http://www.oracle.com/technetwork/java/dataaccessobject-138824.html [18] Simply Singleton. [En línea]. JavaWorld [consultado 11 de junio de 2016]. Disponible en: http://www.javaworld.com/article/2073352/core-java/simply-singleton.html [19] [En línea]. GÓMEZ, A. [consultado 11 de junio de 2016]. Disponible en: http://zathuracode.org/ [20] GRANADOS, R. Despliegue y puesta en funcionamiento de componentes software. Málaga: ic editorial. [21] MUÑOZ, D – SÁNCHEZ, P. Framework de apoyo en el análisis e implementación de BPM en las empresas. Trabajo de Grado Ingeniero de Sistemas. Cali: Universidad de San Buenaventura. Facultad de Ingeniería, 2012. 250p. [22] Scrum. [En línea] RAYA, R. [consultado 11 de junio de 2016]. Disponible en: www.blog.leanmonitor.com [23] DIMES, T. Conceptos Básicos de Scrum: Desarrollo de software Ágil y manejo de proyectos Agile. USA: Babelcube. 2015. 46p [24] Metodología Scrum. [En línea]. SOFTENG [consultado 11 de junio de 2016]. Disponible en: www.softeng.es/es-es/empresa/metodologias-de-trabajo/metodologia-scrum/proceso-roles-de-scrum.html [25] Metodologías agiles, metodología XP. [En línea]. CORTES, C. – MOLINA, V – PATERNINA, L. – VARGAS, O. [consultado 11 de junio de 2016]. Disponible en: http://es.slideshare.net/LisPater1/metodologias-agiles-xp [26] BECK, E. eXtreme Programming Explained. USA: Addison-Wesley. 2000. 203p.
Ingeniería de Sistemas SILAB
88
ANEXOS A continuación, se detalla todos los anexos del proyecto, donde se presenta el nombre del archivo y la ubicación.
Cuadro 6. Anexos
Ubicación
1. Actas Seguimiento
2. Levantamiento de la información Informes Grabaciones Diagramas
3. Iteraciones Iteraciones
4. Ingenieria de Software
Especificación de Requerimientos
de Software Documento de Analisis
Documento de
Desarrollo de Ciclo
5. Reportes Exportables Reportes
6. Pruebas Diseño Casos de Pruebas Pruebas Resultados
7. Otros Archivos XLS
8. Software Base de Datos
Anexos
Instalador
Manual de Usuario
Entrega de Software