UNIVERSIDAD NACIONAL ABIERTA CETRO LOCAL YARACUY AREA: INGENIERÍA CARRERA: INGENIERÍA DE SISTEMAS Sistema de Información Web CANTV-Mat para el Control de Inventario del Almacén de la Oficina Red de Acceso de Planta Externa, San Felipe - Yaracuy de la Compañía Anónima Nacional Teléfonos de Venezuela (C.A.N.T.V) AUTOR: Larry Manuel Maestre Torrealba C.I. 20.888.039 Tutor Empresarial: Ing. Marcos Vegas C.I. 7.577.454 Gerente de CANTV Tutor Académico: Ing. Yosmar Amaya C.I. 10.365.248 Profesor UNA San Felipe, Marzo de 2015 UNIVERSIDAD NACIONAL ABIERTA CETRO LOCAL YARACUY AREA: INGENIERÍA CARRERA: INGENIERÍA DE SISTEMAS Sistema de Información Web CANTV-Mat para el Control de Inventario del Almacén de la Oficina Red de Acceso de Planta Externa, San Felipe - Yaracuy de la Compañía Anónima Nacional Teléfonos de Venezuela (C.A.N.T.V) Trabajo de Grado para Optar al Título de Ingeniero de Sistemas AUTOR: Larry Manuel Maestre Torrealba C.I. 20.888.039 San Felipe, Marzo de 2015 ÍNDICE GENERAL pp. ÍNDICE GENERAL iii VEREDICTO viii DEDICATORIA ix LISTA DE CUADROS x LISTA DE GRÁFICOS xii RESUMEN xviii INTRODUCCIÓN 1 CAPÍTULO I II SITUACIÓN ACTUAL Y ÁREA PROBLEMÁTICA 3 SELECCIÓN DE LA ALTERNATIVA DE SOLUCIÓN 4 OBJETIVOS 5 Objetivo General 5 Objetivos Específicos 6 ALCANCES DEL TRABAJO 6 MARCO TEÓRICO 8 iii Antecedentes 8 Bases Teóricas 10 Sistemas 11 Sistemas de Información 11 Sistemas de Información Web 11 Control de Inventarios 12 Lenguajes de Programación 12 Programación Orientada a Objetos 13 Lenguaje Unificado de Modelado 17 Base de Datos 17 Internet 17 Arquitectura de la Red 18 Servidor 18 Servidor HTTP Apache 19 Cliente 20 Arquitectura Cliente-Servidor 20 HyperText Markup Language – HTML 20 PHP Hypertext Pre-processor 21 iv Hoja de estilo en cascada – CSS III IV MARCO METODOLÓGICO 22 23 Metodología de la Investigación 24 Metodología de Desarrollo del Software 25 Fases de la Metodología RUP 25 Disciplinas de la Metodología RUP 30 FASE INICIO 37 Disciplina del Modelado del negocio Obtener la información adecuada para la Descripción del Sistema Establecer Criterios de Evaluación Evaluar la primera fase con los usuarios del Sistema Disciplina del Análisis de Requisitos 37 38 40 41 43 Recopilar Requisitos 43 Encontrar Casos de Uso 44 Determinar y Detallar los Casos de Uso 45 FASE ELABORACIÓN 48 v Disciplina del Análisis y Diseño 49 Análisis de la Arquitectura 50 Analizar los Casos de Uso 51 Analizar las Clases 52 Analizar los Paquetes 64 Diseño de la Arquitectura 67 Diseño de los Casos de Uso 71 Diseño de las Clases 77 Diseño de Subsistemas 81 FASE CONSTRUCCIÓN 82 Disciplina de la Implementación Implementar la Arquitectura, Clases, Subsistemas, 83 83 Integrar el Sistema FASE TRANSICIÓN 115 Disciplina de las Pruebas 115 Planificar Pruebas 115 Diseñar Pruebas 116 Realizar Pruebas del Sistema 117 vi Disciplina de la Transición V 120 Preparación de la Versión Beta 121 Instalación de la versión beta 122 CONCLUSIONES 123 Recomendaciones 126 REFERENCIAS BIBLIOGRÁFICAS 128 vii UNIVERSIDAD NACIONAL ABIERTA CETRO LOCAL YARACUY AREA: INGENIERÍA CARRERA: INGENIERÍA DE SISTEMAS Sistema de Información Web CANTV-Mat para el Control de Inventario del Almacén de la Oficina Red de Acceso de Planta Externa, San Felipe - Yaracuy de la Compañía Anónima Nacional Teléfonos de Venezuela (C.A.N.T.V) Por: Larry Maestre. Trabajo de Grado para Optar al Título de Ingeniero de Sistemas, aprobado, en nombre de la Universidad Nacional Abierta, por el Jurado, en la ciudad de ________________________ a los _______ días del mes de _______________________ de ___________. (Firma) (Firma) Ada Gonzáles Egilmar Alvarado (Firma) Carmen Celis viii DEDICATORIA Inspirado en tu amor papá, en tu grandeza, en tus genialidades, en tu honor, Luis Aquiles Maestre Crespo. “Hey! Billy, you really got the Blues”. Dedicado con insuperable amor a mi madre, Elsy Yadira Torrealba Sánchez, “soy un maestre en la Torre del Alba”. Larry Manuel Maestre Torrealba. ix LISTA DE CUADROS Cuadro pp. 1 Estrategia Metodológica RUP, Fases y Metodologías. 36 2 Modelado del negocio, Actividades. 38 3 Criterios de Evaluación establecidos. 41 4 Análisis de Requisitos, Actividades. 43 5 Requisitos categorizados. 43 6 Descripción de los casos de uso. 45 7 Caso de uso Inicio de Sesión, descripción. 45 8 Caso de uso Revisar el Stock de Materiales. 46 9 Caso de uso Orden de Entrada de Material. 46 10 Caso de uso Orden de Salida de Material. 47 11 Caso de uso Orden de traspaso de Material. 48 12 Análisis de Requisitos. Actividades. 49 13 Clases para el Caso de uso Iniciar Sesión. 52 14 Clases para el Caso de uso Revisar Stock de Materiales. 56 15 Clases para el Caso de uso Orden de Entrada. 59 x 16 Paquetes del Sistema CANTV-Mat. 65 17 Clases Involucradas en los Paquetes del Sistema. 65 18 Disciplina de Implementación, Actividades. 83 19 Disciplina de Pruebas, Actividades. 115 20 Diseño de las pruebas al sistema. 116 21 Resultados de las pruebas al sistema. 117 22 Disciplina de la Transición, Actividades. 121 xi LISTA DE GRÁFICOS GRÁFICO pp. 1 Descripción del Sistema. 42 2 Diseño de la Arquitectura de la página Iniciar Sesión. 68 3 Diseño de la Arquitectura de la página Inicio. 69 4 Diseño de la Arquitectura de la página Revisar Stock de 69 Materiales. 5 Diseño de la Arquitectura de las páginas Orden de Salida 70 de Material, Orden de Entrada de Material, Orden de Traspaso de Material. 6 Caso de Caso de uso de la página Iniciar Sesión. 72 7 Caso de Caso de uso de la página Orden de Salida de 73 Material. 8 Caso de Caso de uso de la página Orden de Traspaso de 74 Material. 9 Caso de Caso de uso de la página Revisar Stock de 75 Materiales. 10 Relación entre los subsistemas en el Caso de Uso Iniciar Sesión. xii 76 11 Clase Empleados. 77 12 Clase Usuario. 78 13 Clase Almacén. 78 14 Clase Material. 79 15 Clase Orden. 79 16 Relación entre las clases. 80 17 Relación entre los Subsistemas. 82 18 Página de Inicio de Sesión. Presentación en PC de 84 escritorio. 19 Página de Inicio de Sesión. Presentación en PC de 85 escritorio. Menú “Enlaces Externos” desplegado. 20 Página de Inicio de Sesión. Presentación en PC de 86 escritorio. Menú “Iniciar Sesión” desplegado. 21 Página de Inicio de Sesión. Presentación en PC de 87 escritorio. Menú “Iniciar Sesión” desplegado. 22 Página de Inicio de Sesión. Presentación en Tablet o 88 Smartphone. Barra de Navegación activa. 23 Página de Inicio de Sesión. Presentación en Tablet o Smartphone. Barra de Navegación activa. Menú “Iniciar Sesión” desplegado. xiii 89 24 Página de Inicio de Sesión. Presentación en PC de 90 escritorio. Sesión activa. Usuario identificado. 25 Página de Inicio de Sesión. Presentación en Tablet o 91 Smartphone. Sesión activa. Usuario identificado. 26 Página de Inicio del Sistema. Presentación en PC de 92 escritorio. Sesión activa. 27 Página de Inicio del Sistema. Presentación en Tablet o 92 Smartphone. Sesión activa. 28 Página de Inicio del Sistema. Presentación en Tablet o 93 Smartphone. Sesión activa. Barra de Navegación activa. 29 Página de Revisar Stock de Materiales. Presentación en 94 PC de escritorio. Sesión activa. Información de los materiales mostrada en pantalla (parte 1). 30 Página de Revisar Stock de Materiales. Presentación en 95 PC de escritorio. Sesión activa. Información de los materiales mostrada en pantalla (parte 2). Opción Imprimir Stock de Materiales. 31 Página de Revisar Stock de Materiales. Presentación en 96 Tablet o Smartphone. Sesión activa. Información de los materiales mostrada en pantalla (parte 1). 32 Página de Revisar Stock de Materiales. Presentación en xiv 97 Tablet o Smartphone. Sesión activa. Información de los materiales mostrada en pantalla (parte 2). Opción Imprimir Stock de Materiales. 33 Página Orden de Salida de Material. Presentación en PC 98 de escritorio. Sesión activa. 34 Página Orden de Salida de Material. Presentación en PC 99 de escritorio. Sesión activa. Seleccionar Fecha de Emisión utilizando el objeto “Datepicker”. 35 Página Orden de Salida de Material. Presentación en PC 100 de escritorio. Sesión activa. Seleccionar Fecha de Contabilización utilizando el objeto “Datepicker”. 36 Página Orden de Salida de Material. Presentación en PC 101 de escritorio. Sesión activa. Seleccionar el Supervisor Solicitante. Dropdown List activa. 37 Página Orden de Salida de Material. Presentación en PC 102 de escritorio. Sesión activa. Seleccionar el Técnico Solicitante. Dropdown List activa. 38 Página Orden de Salida de Material. Presentación en PC 103 de escritorio. Sesión activa. Seleccionar el Destino del Material. Dropdown List activa. 39 Página Orden de Salida de Material. Presentación en PC de escritorio. Sesión activa. Seleccionar Material. xv 104 Dropdown List activa. 40 Página Orden de Salida de Material. Presentación en PC 105 de escritorio. Sesión activa. Introducir Cantidad de Material. Objeto Glyphicon activo. 41 Página Orden de Salida de Material. Presentación en PC 106 de escritorio. Sesión activa. Validación de Campo Vacío (Codigo del Material). Objeto Javascript “Message Alert” activo. 42 Página Orden de Salida de Material. Presentación en PC 107 de escritorio. Sesión activa. Validación de Campo Vacío (Cantidad de Material). Objeto Javascript “Message Alert” activo. 43 Página Orden de Salida de Material. Presentación en PC 108 de escritorio. Sesión activa. Validación de Campo Vacío (Solicitante). Campo de clase “Required”. Objeto “Validator” del Framework Bootstrap activo. 44 Página Orden de Salida de Material. Presentación en PC 109 de escritorio. Sesión activa. Validación de la Cantidad realizada. Validación de Campo Vacío (Destinatario). Campo de clase “Required”. Objeto “Validator” del Framework Bootstrap activo. 45 Página Orden de Salida de Material. Presentación en PC de escritorio. Sesión activa. Validación de Campo Vacío xvi 110 (Destino). Campo de clase “Required”. Objeto “Validator” del Framework Bootstrap activo. 46 Página Orden de Entrada de Material. Presentación en 111 PC de escritorio. Sesión activa. 47 Página Orden de Traspaso de Material. Presentación en 112 PC de escritorio. Sesión activa. 48 Prueba de la Base de Datos. Al consultar la base datos desde la consola de Linux, se verificó la existencia de la base de datos y de sus correspondientes tablas. xvii 120 UNIVERSIDAD NACIONAL ABIERTA CETRO LOCAL YARACUY AREA: INGENIERÍA CARRERA: INGENIERÍA DE SISTEMAS Sistema de Información Web CANTV-Mat para el Control de Inventario del Almacén de la Oficina Red de Acceso de Planta Externa, San Felipe - Yaracuy de la Compañía Anónima Nacional Teléfonos de Venezuela (C.A.N.T.V) AUTOR: Tutor Empresarial: Tutor Académico: Larry Manuel Maestre Torrealba C.I. 20.888.039 Ing. Marcos Vegas C.I. 7.577.454 Gerente de CANTV Ing. Yosmar Amaya C.I. 10.365.248 Profesor UNA Resumen El presente Trabajo de Grado, fue realizado bajo la modalidad de proyecto factible, se produjo al desarrollar el Sistema CANTV-Mat para el Control de Inventario del Almacén de la Oficina Red de Acceso de Planta Externa, San Felipe - Yaracuy de la Compañía Anónima Nacional Teléfonos de Venezuela (C.A.N.T.V) como un modelo operativo viable para solventar las necesidades no satisfechas de expansión en lo referido a los procesos de emisión de reportes de la Oficina Red de Acceso. El trabajo de grado presenta un producto tecnológico a la altura de las nuevas Tecnologías de Información y Comunicación así como de los avances tecnológicos que vive nuestra sociedad. Este trabajo de grado se culminó al ejecutar las diferentes fases de desarrollo de un Software propuesto por la metodología Rational Unified Procces (RUP), la cual se siguió como estructura, acompañado del lenguaje Unified Modeling Language (UML) para la denotación de los diferentes productos, apoyado en la Disciplina del Modelado del Negocio, respaldado con la Programación Orientada a Objetos en sistemas Web y el empleo del lenguaje el PHP embebido en HTML en la Disciplina de Implementación. Descriptores: Proyecto especial, Sistema, Web, CANTV-Mat, Análisis y Diseño, RUP, Orientación a Objetos. Base de Datos, Diseños Adaptativo. xviii INTRODUCCIÓN La Oficina Red de Acceso de la Compañía Anónima Nacional Teléfonos de Venezuela (C.A.N.T.V), cuenta con la Administración y el Control de la mercancía destinada a dar solución a las diferentes fallas que pueda presentar una Línea Telefónica, dicho Control es realizado a través de SAP – (Systeme, Anwendungen und Produkte, en español Sistemas, Aplicaciones y Productos) en su módulo Controlling, en una versión que cuenta con muchos años de su lanzamiento, y por lo tanto, presenta varias áreas desadaptadas que, no permiten una pronta respuesta ante las exigencias de los Supervisores. Los encargados de esta Administración, manejan información relativa a Entradas y Salidas de materiales al Almacén. Estas operaciones son trámites formales que, deben generar reportes a cada una de las áreas involucradas, esto significa que el sistema debe ser lo suficientemente eficaz para el usuario, permitiéndole así, realizar las actividades en el menor tiempo posible El manejo tradicional de un Almacén consiste en realizar Entradas y Salidas de mercancía, pero, para el ritmo de trabajo en este Oficina no es suficiente, necesitándose nuevas herramientas para estos Sistemas, o en su defecto, nuevos Softwares. Con el pasar de los años, los Sistemas de Información han adquirido nuevas cualidades y evolucionado al ritmo de los nuevos Lenguajes de Programación, presentando hoy en día, grandes diferencias en la Interactividad con respecto a Softwares de generaciones anteriores. Por lo anteriormente expuesto, el presente proyecto está orientado a optimizar la emisión de órdenes de entrada, salida y traspaso de materiales, a su vez, realizar consultas del stock del almacén y generar alertas cuando la 1 cantidad de materiales supere el nivel mínimo, tareas éstas, pertenecientes a la Oficina Red de Acceso de la Compañía Anónima Nacional Teléfonos de Venezuela (C.A.N.T.V), Central San Felipe – Yaracuy. 2 CAPÍTULO I EL PROBLEMA Situación Actual Y Área Problemática El estado Yaracuy cuenta con 15 Centrales de C.A.N.T.V., las Centrales Km La Cero, Aroa, Marín, Yumare, Juan José de Maya 1, Juan José de Maya 2, El Charito, El Guayabo, Farriar, Cocorote, Prados del Norte, Boraure, Guama y San Pablo que pertenecen al grupo llamado Centrales Foráneas, y una Central más, la de San Felipe que no pertenece a este grupo. Las averías de las Centrales Foráneas son encargadas a la Cooperativa SISTEL C.A., quien está bajo contrato de la C.A.N.T.V., las fallas reportadas de la Central San Felipe pertenecen a Cuadrillas de Trabajadores del personal de C.A.N.T.V. Cuando una avería, para su solución, amerita del uso de materiales nuevos, ya sean Cables, Conectadores, Tensores e incluso Postes, el técnico a quien esté asignada dicha avería, realiza una solicitud de material al Supervisor. Si el material solicitado, presenta existencia en el Almacén, se realiza una Orden de Salida que haga constancia del material requerido, cantidad, destino y el técnico a quien se le entregó. De lo contrario, cuando éste material no se encuentra disponible, el Supervisor efectúa una Solicitud de Material al Gerente. 3 Otro escenario donde se realizan Órdenes de Salida de Material, es aquél donde los técnicos, al comienzo del día, verifican qué material, asignados a ellos aún tienen y qué necesitan, y realizan la petición formal al Supervisor para que éste haga la asignación. Además, se hacen solicitudes de material cuando el Nivel del Stock del Almacén está en el mínimo. He aquí uno de los principales problemas, el Sistema (SAP), no genera alertas preventivas cuando el Nivel del Stock se acerca a cero, su alerta se activa si y sólo si se realiza una Orden de Salida de material del Almacén, siendo esto ineficiente, ya que el Supervisor cree que cuenta con material disponible, cuando en realidad no lo posee. Las situaciones expuestas previamente generan retrasos en la reparación de las averías, ya que primero habría que solicitar el material al Gerente y esperar su llegada, acumulándose así, el número de fallas reportadas. Otro problema con el actual Sistema (SAP), consiste en la interacción con el usuario. Es poco agradable la experiencia, iconos pequeños, poca o nula información en las Toolbars (Barra de Herramientas), la entrada de información por teclado requiere que el usuario maneje de memoria alrededor de 300 códigos de materiales cada uno aproximadamente de 6 a 10 dígitos, además, cada material cuenta con una serie de datos como lo son Lote, Cantidad, Destino, Almacén, Número de Equipo, entre otros, siendo imposible memorizar todos. Selección de la Alternativa de Solución Para este problema, se plantea como solución, la elaboración de una Aplicación Web que realice el control de inventario de los materiales. Para poder usar el sistema, se debe utilizar la información actual que posee el SAP. Se cargará la información a la Base de Datos del Sistema, partiendo 4 desde un archivo en Excel que genera el SAP. Este archivo posee toda la información de cada material. Esta aplicación se hará en conjunto de los lenguajes HTML 5, PHP 5 en el Framework Codeigniter, usando Netbeans. Para lograr una apariencia agradable y que cumpla con el El Diseño Web Adaptable (Responsive Web Design) se utiliza otro Framework, Bootstrap, versión 3.2. Los beneficios que este sistema generará son los siguientes: Mantener el Stock de materiales en un nivel óptimo. Disminuir los retrasos en las reparaciones por falta de material. Contar con la cantidad exacta de materiales. Agilizar procesos en la entrega de documentos formales. Mejorar la experiencia con el usuario. Facilitar la entrada y salida de materiales. Esta aplicación web será ejecutada desde una Red de Área Local, en la cual se encontrarán las tres computadoras de la Oficina de Red de Acceso y las 6 computadoras de la Oficina de Adecuación. Objetivos Objetivo General Desarrollar un Sistema de Información Web para el Control de Inventario del Almacén de la Oficina Red de Acceso de Planta Externa, San 5 Felipe - Yaracuy de la Compañía Anónima Nacional Teléfonos de Venezuela (C.A.N.T.V). Objetivos Específicos Analizar el sistema actual y los procesos para obtener los detalles, alcances y limitaciones. Establecer los requisitos para el sistema propuesto, en base a las necesidades de la Oficina de Red de Acceso. Diseñar el modelo lógico y físico de la base de datos. Importar la data desde un archivo exportado desde SAP. Instalar un servidor y establecer las conexiones entre las computadoras de la Oficina de Red de Acceso. Construir el sistema de información web. Alcances del Trabajo El sistema propuesto estará diseñado para permitir el registro, actualización y consulta de la base de datos; en esta base de datos se lleva el control de materiales de la empresa. Las transacciones con la base de datos se realizan con datos introducidos por el usuario a través de una interfaz gráfica de usuario en un entorno web. El Sistema generará información referente a los materiales de la empresa, tal como: nombre, tipo, código, destinatario, lote, encargado, fecha de entrada o salida del almacén, serial, color, central donde se realizara el 6 trabajo. Siendo necesario realizar operaciones de Consulta y emitir Ordenes de Ingreso, de Salida y Traspaso de material. Igualmente la Base de Datos consta de un histórico de los movimientos de bienes entre las oficinas (departamentos) de la empresa, también permite generar reportes por tipo de transacción (entrada, salida y traspaso de mercancía), adaptados a las exigencias formales de la empresa a nivel nacional. Este Sistema de Información será desarrollado en un entorno web, encontrándose la Base de Datos en la computadora personal del Supervisor de la Oficina de Red de Acceso y el Gerente se conectará a la base de datos y podrá generar los reportes desde la aplicación web. Se tiene planteado que dicho sistema resulte óptimo, para así quedar instalado en la Oficina de Red de Acceso, para esto se realizaran prototipos hasta generar uno estable que sea aprobado en las diferentes pruebas. 7 CAPÍTULO II MARCO TEÓRICO. El "marco teórico" (o conceptual) es una de las fases más importantes de un trabajo de investigación, consiste en desarrollar la teoría que va a fundamentar el proyecto con base al planteamiento del problema que se ha realizado. Existen numerosas posibilidades para elaborarlo, la cual depende de la creatividad del investigador. Una vez que se ha seleccionado el tema objeto de estudio y se han formulado las preguntas que guíen la investigación, el siguiente paso consiste en realizar una revisión de la literatura sobre el tema. Esto consiste en buscar las fuentes documentales que permitan detectar, extraer y recopilar la información de interés para construir el marco teórico pertinente al problema de investigación planteado. Antecedentes. A fin de abordar este problema, se recurre a diferentes desarrollos e invenciones tecnológicas que se han suscitado. A pesar de la gran evolución de la herramienta de ofimática de la compañía Microsoft, Office Excel, en sus recientes versiones de los años 2007 y 2010, ésta no se presenta como una solución ya que no brinda las opciones suficientes en cuanto al manejo de datos, además, que no fue diseñada para casos como este. El avanzado desarrollo de los softwares de código abierto, llamados software libre, en todos los campos, desde Sistemas Operativos, pasando 8 por Manejadores de Bases de Datos, Servidores Web, llegando hasta aplicaciones móviles, desde la década del 90 hasta la actualidad, nos brinda un sistema llamado Secomat, que es un software para Control de Materiales, es una aplicación de escritorio incapaz de conectarse en red y que genera confianza en términos de la protección y la privacidad de la información, sin embargo, fue uno de los pioneros en el aspecto de la operatividad, ya que no es un programa complejo. José Barrios (2008), realizó el diseño de un sistema para el Centro Local Aragua de la Universidad Nacional Abierta, que operaría en una intranet, idea innovadora en el aspecto de los gráficos dadas las herramientas con que se contaba. Al finalizar el trabajo, el autor concluyó que la Metodología RUP brinda una guía factible para ser usada en la elaboración de un producto software que funcionaría en una Intranet, además, afirma que la Programación Orientada a Objetos aplicada con el lenguaje PHP, permitió la rápida implementación y prueba del sistema tanto en forma modular como de forma integrada. John Saavedra (2011), en su “Sistema de Información para el Control de Bienes de la Contraloría del Estado Bolívar”, se encargo de diseñar, desarrollar e implementar un sistema en una Red de Área Local, tomando como ejemplo de este trabajo las arquitecturas necesarias para establecer la Red. Saavedra concluye su trabajo afirmando que el Sistema de Información para el Control de Bienes de la Contraloría del Estado Bolívar (SICOBICEB), gestiona y controla vía web la data de los bienes de la Contraloría del Estado Bolívar (CEB), lo cual facilita el trabajo de la dirección de administración y servicios ya que centraliza la data en un lugar y la misma se puede disponer de manera concreta, oportuna y confiable desde las estaciones de trabajo de los clientes. También, se constató que el SICOBICEB inicia la era de los sistemas de información web en la CEB lo cual es el comienzo del aprendizaje de nuevas destrezas para sus analistas de sistemas. 9 Bases Teóricas El marco teórico, denominado por algunos autores simplemente como la revisión de la literatura (Creswill, 2005; Mertens, 2005), es un proceso y un producto. Un proceso de inmersión en el conocimiento existente y disponible que puede estar vinculado con nuestro planteamiento del problema, y un producto que a sus vez es parte de un producto mayor: el reporte de investigación (Yedigis y Winbach, 2005) Una vez planteado el problema de estudio-es decir, cuando ya se poseen objetivos y preguntas de investigación-, y cuando además se ha evaluado su relevancia y factibilidad, el siguiente paso consiste en sustentar teóricamente el estudio, etapa que algunos autores también denominan elaboración del marco teórico. Ello implica exponer y analizar las teorías, las conceptualizaciones, las perspectivas teóricas, las investigaciones y los antecedentes en general, que se consideren válidos para el correcto encuadre del estudio (Rojas, 2002) El marco teórico proporciona una visión de dónde se situúa el planteamiento propuesto dentro del campo de conocimiento en el cual nos "moveremos". En términos de Mertens (2005), nos señala cómo encaja la investigación en el panorama ("big picture") de lo que se conoce sobre un tema o tópico estudiado. Para culminar según Hernández, Fernández y Baptista (2007) el marco teórico es "un compendio escrito de artículos, libros y otros documentos que describen el estado pasado y actual del conocimiento sobre el problema de estudio. Nos ayuda a documentar cómo nuestra investigación agrega valor a la literatura existente." (p.64) 10 Sistemas Un sistema es un conjunto de partes o acontecimientos que son interdependientes entre sí e interaccionan, por lo que puede ser considerado como un todo sencillo, es decir, llamamos sistemas a los conjuntos compuestos de elementos que interactúan. Sistemas de Información Es un conjunto de elementos que interactúan entre sí con un fin común; que permite que la información esté disponible para satisfacer las necesidades en una organización, un sistema de información no siempre requiere contar con recuso computacional aunque la disposición del mismo facilita el manejo e interpretación de la información por los usuarios. Sistemas de Información Web El incremento del ancho de banda disponible en las conexiones a Internet, así como la inclusión de nuevas tecnologías en los navegadores web, han permitido que se abandonen los sistemas de información tradicionales construidos con aplicaciones de escritorio para pasar a Sistemas de Información Basados en Aplicaciones Web que se ejecutan y visualizan en un servidor web. Ejemplos claros de estas aplicaciones son iniciativas como Google Apps (Docs, Sites, Calendar, etc.), aplicaciones como las redes sociales, Facebook, Twitter, etc. Hoy en día, la mejor manera de desplegar una aplicación cliente-servidor en una organización o al público en general es mediante una aplicación web. 11 Control de Inventarios La contabilidad para los inventarios forma parte muy importante para los sistemas de contabilidad de mercancías, porque la venta del inventario es el corazón del negocio. El inventario es, por lo general, el activo mayor en sus balances generales, y los gastos por inventarios, llamados costo de mercancías vendidas, son usualmente el gasto mayor en el estado de resultados. Lenguaje de programación Un es un lenguaje formal diseñado para expresar procesos que pueden ser llevados a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana. Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila (de ser necesario) y se mantiene el código fuente de un programa informático se le llama programación. 12 Programación Orientada a Objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe una gran variedad de lenguajes de programación que soportan la orientación a objetos. Características de la Programación Orientada a Objeto Existe un acuerdo acerca de qué características contempla la "orientación a objetos". Las características siguientes son las más importantes: Abstracción Denota las características esenciales de un objeto, donde se capturan sus comportamientos. Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cómo se implementan estas características. Los procesos, las funciones o los métodos pueden también ser abstraídos, y, cuando lo están, una variedad de técnicas son requeridas para ampliar una abstracción. El proceso de abstracción permite seleccionar las características relevantes dentro de un 13 conjunto e identificar comportamientos comunes para definir nuevos tipos de entidades en el mundo real. La abstracción es clave en el proceso de análisis y diseño orientado a objetos, ya que mediante ella podemos llegar a armar un conjunto de clases que permitan modelar la realidad o el problema que se quiere atacar. Encapsulamiento Significa reunir todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultación, principalmente porque se suelen emplear conjuntamente. Modularidad Se denomina modularidad a la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes. Estos módulos se pueden compilar por separado, pero tienen conexiones con otros módulos. Al igual que la encapsulación, los lenguajes soportan la modularidad de diversas formas. 14 Principio de ocultación Cada objeto está aislado del exterior, es un módulo natural, y cada tipo de objeto expone una interfaz a otros objetos que especifica cómo pueden interactuar con los objetos de la clase. El aislamiento protege a las propiedades de un objeto contra su modificación por quien no tenga derecho a acceder a ellas; solamente los propios métodos internos del objeto pueden acceder a su estado. Esto asegura que otros objetos no puedan cambiar el estado interno de un objeto de manera inesperada, eliminando efectos secundarios e interacciones inesperadas. Algunos lenguajes relajan esto, permitiendo un acceso directo a los datos internos del objeto de una manera controlada y limitando el grado de abstracción. La aplicación entera se reduce a un agregado o rompecabezas de objetos. Polimorfismo Comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre; al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. O, dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado. Cuando esto ocurre en "tiempo de ejecución", esta última característica se llama asignación tardía o asignación dinámica. Algunos lenguajes proporcionan medios más estáticos (en "tiempo de compilación") de polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++. 15 Herencia Las clases no se encuentran aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento, permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en árboles o enrejados que reflejan un comportamiento común. Cuando un objeto hereda de más de una clase se dice que hay herencia múltiple; siendo de alta complejidad técnica por lo cual suele recurrirse a la herencia virtual para evitar la duplicación de datos. Recolección de basura La recolección de basura o garbage collection es la técnica por la cual el entorno de objetos se encarga de destruir automáticamente, y por tanto desvincular la memoria asociada, los objetos que hayan quedado sin ninguna referencia a ellos. Esto significa que el programador no debe preocuparse por la asignación o liberación de memoria, ya que el entorno la asignará al crear un nuevo objeto y la liberará cuando nadie lo esté usando. En la mayoría de los lenguajes híbridos que se extendieron para soportar el Paradigma de Programación Orientada a Objetos como C++ u Object Pascal, esta característica no existe y la memoria debe desasignarse expresamente. 16 Lenguaje Unificado de Modelado El LUM o UML, por sus siglas en inglés, Unified Modeling Language es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad; UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocio, funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y compuestos reciclados. Base de Datos Es un Banco de datos, un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital (electrónico). Internet Se denomina Internet al conjunto de redes informáticos interconectados que permiten la comunicación simultánea y recíproca entre millones de usuarios en todo el mundo. Carece de centros precisos, es de propiedad fragmentada y compartida, y su acceso es libre en muchas áreas o restringido en otros por cuestiones concretas. Generalmente para acceder a esta "red de redes" deben contratarse los servicios de un proveedor, que 17 proporciona el software adecuado para PC y que posea un modem conectado a una línea telefónica. Con la aparición de Internet y la mayor importancia que se le va dando a la información día tras día, la tecnología que antes era utilizada sólo por lo Militar o Gobiernos, ha cobrado mayor importancia. Arquitectura de la Red Es el diseño de una red de comunicaciones. Es un marco para la especificación de los componentes físicos de una red y de su organización funcional y configuración, sus procedimientos y principios operacionales, así como los formatos de los datos utilizados en su funcionamiento. Servidor Una aplicación informática o programa que realiza algunas tareas en beneficio de otras aplicaciones llamadas clientes. Algunos servicios habituales son los servicios de archivos, que permiten a los usuarios almacenar y acceder a los archivos de una computadora y los servicios de aplicaciones, que realizan tareas en beneficio directo del usuario final. Este es el significado original del término. Es posible que un ordenador cumpla simultáneamente las funciones de cliente y de servidor. 18 Servidor HTTP Apache El servidor HTTP Apache es un servidor web HTTP de código abierto, para plataformas Unix (BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que implementa el protocolo HTTP/1.12 y la noción de sitio virtual. Cuando comenzó su desarrollo en 1995 se basó inicialmente en código del popular NCSA HTTPd 1.3, pero más tarde fue reescrito por completo. Su nombre se debe a que Behelendorf quería que tuviese la connotación de algo que es firme y enérgico pero no agresivo, y la tribu Apache fue la última en rendirse al que pronto se convertiría en gobierno de EEUU, y en esos momentos la preocupación de su grupo era que llegasen las empresas y "civilizasen" el paisaje que habían creado los primeros ingenieros de internet. Además Apache consistía solamente en un conjunto de parches a aplicar al servidor de NCSA. En inglés, a patchy server (un servidor "parcheado") suena igual que Apache Server. El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation. Apache presenta entre otras características altamente configurables, bases de datos de autenticación y negociado de contenido, pero fue criticado por la falta de una interfaz gráfica que ayude en su configuración. Apache tiene amplia aceptación en la red: desde 1996, Apache, es el servidor HTTP más usado. Alcanzó su máxima cuota de mercado en 2005 siendo el servidor empleado en el 70% de los sitios web en el mundo, sin embargo ha sufrido un descenso en su cuota de mercado en los últimos años. (Estadísticas históricas y de uso diario proporcionadas por Netcraft3 ). La mayoría de las vulnerabilidades de la seguridad descubiertas y resueltas tan sólo pueden ser aprovechadas por usuarios locales y no remotamente. Sin embargo, algunas se pueden accionar remotamente en ciertas situaciones, o explotar por los usuarios locales malévolos en las 19 disposiciones de recibimiento compartidas que utilizan PHP como módulo de Apache. Cliente El cliente es una aplicación informática o un ordenador que consume un servicio remoto en otro ordenador conocido como servidor, normalmente a través de una red de telecomunicaciones. Arquitectura Cliente-Servidor La red cliente-servidor es una red de comunicaciones en la cual los clientes están conectados a un servidor, en el que se centralizan los diversos recursos y aplicaciones con que se cuenta; y que los pone a disposición de los clientes cada vez que estos son solicitados. Esto significa que todas las gestiones que se realizan se concentran en el servidor, de manera que en él se disponen los requerimientos provenientes de los clientes que tienen prioridad, los archivos que son de uso público y los que son de uso restringido, los archivos que son de sólo lectura y los que, por el contrario, pueden ser modificados, etc. Este tipo de red puede utilizarse conjuntamente en caso de que se esté utilizando en una red mixta. HyperText Markup Language – HTML Lenguaje de marcado para la elaboración de páginas web. Es un estándar que sirve de referencia para la elaboración de páginas web en sus 20 diferentes versiones, define una estructura básica y un código (denominado código HTML) para la definición de contenido de una página web, como texto, imágenes, entre otros. Es un estándar a cargo de la W3C, organización dedicada a la estandarización de casi todas las tecnologías ligadas a la web, sobre todo en lo referente a su escritura e interpretación. Es el lenguaje con el que se definen las páginas web. PHP Hypertext Pre-processor PHP es un lenguaje de programación de uso general de código del lado del servidor originalmente diseñado para el desarrollo web de contenido dinámico. Fue uno de los primeros lenguajes de programación del lado del servidor que se podían incorporar directamente en el documento HTML en lugar de llamar a un archivo externo que procese los datos. El código es interpretado por un servidor web con un módulo de procesador de PHP que genera la página Web resultante. PHP ha evolucionado por lo que ahora incluye también una interfaz de línea de comandos que puede ser usada en aplicaciones gráficas independientes. Puede ser usado en la mayoría de los servidores web al igual que en casi todos los sistemas operativos y plataformas sin ningún costo. Se considera uno de los lenguajes más flexibles, potentes y de alto rendimiento conocidos hasta el día de hoy. Lo que ha atraído el interés de múltiples sitios con gran demanda de tráfico como Facebook, para optar por PHP como tecnología de servidor. 21 Hoja de estilo en cascada – CSS Es un lenguaje usado para definir la presentación de un documento estructurado escrito en HTML o XML2 (y por extensión en XHTML). El World Wide Web Consortium (W3C) es el encargado de formular la especificación de las hojas de estilo que servirán de estándar para los agentes de usuario o navegadores. La idea que se encuentra detrás del desarrollo de CSS es separar la estructura de un documento de su presentación. La información de estilo puede ser definida en un documento separado o en el mismo documento HTML. En este último caso podrían definirse estilos generales en la cabecera del documento o en cada etiqueta particular mediante el atributo «style». 22 CAPÍTULO III MARCO METODOLÓGICO Es el conjunto de acciones destinadas a describir y analizar el fondo del problema planteado, a través de procedimientos específicos que incluye las técnicas de observación y recolección de datos, determinando el “cómo” se realizará el estudio, esta tarea consiste en hacer operativa los conceptos y elementos del problema que estudiamos, al respecto Sabino (2007) señala: “En cuanto a los elementos que es necesario operacionalizar pueden dividirse en dos grandes campos que requieren un tratamiento diferenciado por su propia naturaleza: el universo y las variables” (p. 118). Así mismo Arias (2012) explica el marco metodológico como el “Conjunto de pasos, técnicas y procedimientos que se emplean para formular y resolver problemas” (p.16). Este método se basa en la formulación de hipótesis las cuales pueden ser confirmadas o descartadas por medios de investigaciones relacionadas al problema. Tamayo y Tamayo (2008) define al marco metodológico como “Un proceso que, mediante el método científico, procura obtener información relevante para entender, verificar, corregir o aplicar el conocimiento”, dicho conocimiento se adquiere para relacionarlo con las hipótesis presentadas ante los problemas planteados.(p.37) 23 Metodología de la Investigación Este proyecto se realizará bajo la metodología de Proyecto Factible soportado en una Investigación de Campo y en una Revisión Documental. Metodología de la Investigación - C. Roberto Hernández Sampieri, Carlos Fernández Collado, Pilar Baptista Lucio. Proyecto Factible Según la Universidad Nacional Experimental Simón Rodríguez, ViceRectorado Académico, Programa de Postgrado, Alcances Generales Sobre Técnicas Andragógicas de Aprendizaje, Caracas, Universidad Simón Rodríguez: “es una proposición sustentada en un modelo operativo factible, orientado a resolver un problema planteado o a satisfacer las necesidades en una institución o campo de interés nacional”. Investigación de campo Se trata de la investigación aplicada para comprender y resolver alguna situación, necesidad o problema en un contexto determinado. Revisión Documental Es una técnica de revisión y de registro de documentos que fundamenta el propósito del proyecto y permite el desarrollo del marco teórico y/o conceptual, que se inscriben el tipo de investigación exploratoria, 24 descriptiva, etnográfica, teoría fundamental, pero que aborda todo paradigma investigativo (cuantitativo, cualitativo y/o multimétodo) por cuanto hace aportes al marco teórico y/o conceptual. Metodología de Desarrollo del Software Se implementará La Metodología RUP o Proceso Unificado, es un proceso de desarrollo de software, que consiste en el conjunto de actividades necesarias para transformar los requisitos de un usuario en un sistema software; es un marco de trabajo genérico que puede especializarse para una gran variedad de sistemas. [Ivar Jaconson, Grady Booch, James Rumbaugh 2000], “El Proceso Unificado De Desarrollo De Software”, editorial Addyson Wesley. Ciclo de Vida de la Metodología RUP: Fases y Disciplinas. Fases de la Metodología RUP. Inicio Define el alcance de los objetivos del proyecto, identifica los riesgos del negocio y sus requerimientos. Los objetivos de esta fase son: Establecer el ámbito del proyecto y sus límites. Encontrar los Casos de Uso críticos del sistema, los escenarios básicos que definen la funcionalidad. Mostrar al menos una arquitectura candidata para los escenarios principales. 25 Estimar el coste en recursos y tiempo de todo el proyecto. Estimar los riesgos, las fuentes de incertidumbre. Los resultados de la fase de inicio deben ser: Un documento de visión: Una visión general de los requerimientos del proyecto, características clave y restricciones principales. Modelo inicial de Casos de Uso (10-20% completado). Un glosario inicial: Terminología clave del dominio. El caso de negocio. Lista de riesgos y plan de contingencia. Plan del proyecto, mostrando fases e iteraciones. Modelo de negocio, si es necesario Prototipos exploratorios para probar conceptos o la arquitectura candidata. Al terminar la fase de inicio se deben comprobar los criterios de evaluación para continuar: Todos los interesados en el proyecto coinciden en la definición del ámbito del sistema y las estimaciones de agenda. Entendimiento de los requisitos, como evidencia de la fidelidad de los Casos de Uso principales. Las estimaciones de tiempo, coste y riesgo son creíbles. Comprensión total de cualquier prototipo de la arquitectura desarrollado. Los gastos hasta el momento se asemejan a los planeados. Elaboración Contempla el plan del proyecto, características y su arquitectura base 26 la especificación de sus . Los objetivos de esta fase son: Definir, validar y cimentar la arquitectura. Completar la visión. Crear un plan fiable para la fase de construcción. Este plan puede evolucionar en sucesivas iteraciones. Debe incluir los costes si procede. Demostrar que la arquitectura propuesta soportará la visión con un coste razonable y en un tiempo razonable. Al terminar deben obtenerse los siguientes resultados: Un modelo de Casos de Uso completa al menos hasta el 80%: todos los casos y actores identificados, la mayoría de los casos desarrollados. Requisitos adicionales que capturan los requisitos no funcionales y cualquier requisito no asociado con un Caso de Uso específico. Descripción de la arquitectura software. Un prototipo ejecutable de la arquitectura. Lista de riesgos y caso de negocio revisados. Plan de desarrollo para el proyecto. Un caso de desarrollo actualizado que especifica el proceso a seguir. Un manual de usuario preliminar (opcional). Los criterios de evaluación de esta fase son los siguientes: La visión del producto es estable. La arquitectura es estable. Se ha demostrado mediante la ejecución del prototipo que los principales elementos de riesgo han sido abordados y resueltos. El plan para la fase de construcción es detallado y preciso. Las estimaciones son creíbles. 27 Todos los interesados coinciden en que la visión actual será alcanzada si se siguen los planes actuales en el contexto de la arquitectura actual. Los gastos hasta ahora son aceptables, comparados con los previstos. Construcción Clarifica los requerimientos faltantes para construir el producto. Los objetivos concretos incluyen: Minimizar los costes de desarrollo mediante la optimización de recursos y evitando el tener que rehacer un trabajo o incluso desecharlo. Conseguir una calidad adecuada tan rápido como sea práctico. Conseguir versiones funcionales (alfa, beta, y otras versiones de prueba) tan rápido como sea práctico. Los resultados de la fase de construcción deben ser: Modelos Completos (Casos de Uso, Análisis, Diseño, Despliegue e Implementación) Arquitectura íntegra (mantenida y mínimamente actualizada) Riesgos Presentados Mitigados Plan del Proyecto para la fase de Transición. Manual Inicial de Usuario (con suficiente detalle) Prototipo Operacional – beta Caso del Negocio Actualizado Los criterios de evaluación de esta fase son los siguientes: El producto es estable y maduro como para ser entregado a la comunidad de usuario para ser probado. 28 Todos los usuarios expertos están listos para la transición en la comunidad de usuarios. Son aceptables los gastos actuales versus los gastos planeados. Transición Asegura que producto llegue a las manos del usuario. Algunas de las cosas que puede incluir esta fase: Prueba de la versión Beta para validar el nuevo sistema frente a las expectativas de los usuarios Funcionamiento paralelo con los sistemas legados que están siendo sustituidos por nuestro proyecto. Conversión de las bases de datos operacionales. Entrenamiento de los usuarios y técnicos de mantenimiento. Traspaso del producto a los equipos de marketing, distribución y venta. Los principales objetivos de esta fase son: Conseguir que el usuario se valga por sí mismo. Un producto final que cumpla los requisitos esperados, que funcione y satisfaga suficientemente al usuario. Los resultados de la fase de transición son : Prototipo Operacional Documentos Legales Caso del Negocio Completo Línea de Base del Producto completa y corregida que incluye todos los modelos del sistema 29 Descripción de la Arquitectura completa y corregida Las iteraciones de esta fase irán dirigidas normalmente a conseguir una nueva versión. Los criterios de evaluación de esta fase son los siguientes: El usuario se encuentra satisfecho. Son aceptables los gastos actuales versus los gastos planificados. Disciplinas de la Metodología RUP. Una disciplina es una colección de actividades relacionadas con un área de atención dentro de todo el proyecto. El grupo de actividades que se encuentran dentro de una disciplina principalmente son una ayuda para entender el proyecto desde la perspectiva clásica de cascada. Están inspiradas en las etapas de un proceso de desarrollo en cascada. Es una secuencia parcialmente ordenada de actividades que son realizadas para lograr un resultado particular, representado en un conjunto de artefactos. Modelado de negocios Entiende los problemas e identifica mejoras potenciales, asegura que los participantes en este modelo tengan el entendimiento del problema, deriva los requerimientos del software. Los propósitos que tiene el Modelo de Negocios son: Entender los problemas que la organización desea solucionar e identificar mejoras potenciales. 30 Medir el impacto del cambio organizacional. Asegurar que clientes, usuarios finales, desarrolladores y los otros participantes tengan un entendimiento compartido del problema. Derivar los requerimientos del sistema de software, necesarios para dar soporte a los objetivos de la organización. Entender como el sistema a ser desarrollado entra dentro de la organización. Requerimientos Mantiene a los interesados sobre lo que el proyecto debe realizar, define los límites y requerimientos, se enfoca en las necesidades del usuario y hace una base de costos. Esta disciplina tiene el propósito de: Establecer y mantener un acuerdo con los clientes y los otros interesados acerca de que debe hacer el sistema. Proveer a los desarrolladores del sistema de un mejor entendimiento de los requerimientos del sistema. Definir los límites (o delimitar) del sistema. Proveer un base para la planeación de los contenidos técnicos de las iteraciones. Proveer una base para la estimación de costo y tiempo necesarios para desarrollar el sistema. Definir una interfaz de usuario para el sistema, enfocada en las necesidades y objetivos del usuario. 31 Análisis y diseño Transforma los requerimientos al diseño y su arquitectura robusta y lo adapta para corresponder al ambiente de implementación y ajustarla para un desempeño esperado. El propósito del Análisis y Diseño es: Transformar los requerimientos a diseños del sistema. Desarrollar una arquitectura robusta para el sistema. Adaptar el diseño para hacerlo corresponder con el ambiente de implementación y ajustarla para un desempeño esperado. Implementación Define el código, convierte el diseño en archivos ejecutables, prueba los componentes desarrollados como unidades, integra esas unidades en un sistema ejecutable. El propósito de la implementación es: Definir la organización del código, en términos de la implementación de los subsistemas organizados en capas. Implementar el diseño de elementos en términos de los elementos (archivos fuente, binarios, ejecutables y otros) Probar los componentes desarrollados como unidades. Integrar los resultados individuales en un sistema ejecutable. Pruebas Actúa como un proveedor de servicios a las otras disciplinas en muchos aspectos. Se enfoca principalmente 32 en la evaluación y aseguramiento de la calidad del producto, desarrollado a través de las siguientes prácticas: Encontrar fallas de calidad en el software y documentarlas. Recomendar sobre la calidad percibida en el software. Validar y probar las suposiciones hechas durante el diseño y la especificación de requerimientos de forma concreta. Validar que el software trabaja como fue diseñado. Validar que los requerimientos son implementados apropiadamente. Transición Describe las actividades entre el aseguramiento de la entrega y disponibilidad del producto hacia el usuario final, hay un énfasis entre probar el software en el sitio de desarrollo. Administración y configuración del cambio Consiste en controlar los cambios y mantener la integridad de los productos que incluye el proyecto. Incluye: Identificar los elementos configurables. Restringir los cambios en los elementos configurables. Auditar los cambios hechos a estos elementos. Definir y mantener las configuraciones de estos elementos. Los métodos, procesos y herramientas usadas para proveer la administración y configuración del cambio pueden ser consideradas como el sistema de administración de la configuración. 33 Administración de proyectos Provee un marco de trabajo para administrar los proyectos, guías para la planeación, soporte y ejecución, un marco de trabajo para administrar los riesgos. El propósito de la Administración de Proyectos es: Proveer un marco de trabajo para administrar los proyectos intensivos de software. Proveer guías prácticas para la planeación, soporte, ejecución y monitoreo de proyectos. Proveer un marco de trabajo para la administración del riesgo. Ambiente Se enfoca en las actividades necesarias para configurar el proceso al proyecto. Describe las actividades requeridas para desarrollar las líneas guías de apoyo al proyecto. El propósito de las actividades de ambiente es proveer a las organizaciones de desarrollo de software del ambiente necesario (herramientas y procesos) que den soporte al equipo de desarrollo. Una vez definidas las Fases y Disciplinas de la Metodología RUP, se decide hasta cuál de ellas abarcará el proyecto. En este caso, la disciplina número seis, Transición, probando el software en la Oficina Red de Acceso de CANTV, representa el alcance del proyecto. 34 Cuadro 1 Estrategia Metodológica RUP, Fases y Metodologías. Disciplina Modelado del negocio FASE INICIO Actividades Obtener la información adecuada para la Descripción del Sistema. Establecer Criterios de Evaluación. Productos Describir el Sistema y su Contexto. Evaluar la primera fase con los usuarios del Sistema. Recopilar Requisitos. Encontrar Casos de Uso. Análisis de Requisitos Disciplina Modelo de Requisitos. Determinar y Detallar los Casos de Uso. FASE ELABORACIÓN Actividades Análisis de la Arquitectura. Productos Analizar los Casos de Uso. Analizar las Clases. Modelo de Análisis. Análisis y Diseño. Analizar los Paquetes. Modelo de Diseño. Diseño de la Arquitectura. Diseño de los Casos de Uso. Diseño de las Clases. Disciplina Implementación Diseño de Subsistemas. FASE CONSTRUCCIÓN Actividades Productos Implementar la Arquitectura, Clases, Subsistemas. Integrar Sistema Implementado el Sistema. 35 Disciplina Pruebas FASE TRANSICIÓN Actividades Planificar Pruebas. Productos Prototipo Aprobado Diseñar Pruebas. Realizar Pruebas del Sistema. Preparación de la Versión Beta. Sistema Aprobado Instalación de la versión beta. Transición Sistema Instalado Reacciones a los Resultados de las Pruebas. Adaptación del Producto a entornos de usuario variados. Nota. Relación entre las Fases y Disciplinas de la Metodología RUP. El Autor 2015. 36 CAPÍTULO IV En este capítulo se presentan los resultados obtenidos en la investigación y posterior desarrollo del proyecto, lo cual incluye la definición de requisitos y necesidades de usuario. Se presenta igualmente la modelización del sistema, considerando el análisis y distribución de datos y procesos, las unidades de diseño y la base de datos. Por último, se hace referencia a la plataforma de la red diseñada y la implantación del sistema. FASE DE INICIO Durante esta fase de inicio las iteraciones se centran con mayor énfasis en las actividades de modelamiento de la empresa y en sus requerimientos. Esta fase se centra más en buscar o planear todo lo que la empresa requiera para luego utilizar sus recursos mejorando y dándole una visión de lo que se espera plantear en el proyecto. Disciplina del Modelado del negocio Con esta disciplina se pretende llegar a un mejor entendimiento de la organización donde se va a implantar el sistema de software. Los principales motivos para ejecutar esta disciplina son los siguientes: asegurarse de que el producto será algo útil y no un obstáculo; conseguir que se ajuste de la mejor forma posible en la organización donde se va a implantar; y tener un marco común para el equipo de proyecto, los clientes y los usuarios finales. 37 Esta disciplina no será siempre necesaria, si sólo se añaden funcionalidades que no verán los usuarios directamente, no hará falta. Cuadro 2 Modelado del negocio. Disciplina Actividades Productos Obtener la información adecuada para la Descripción del Sistema. Modelado del negocio Describir el Sistema y Establecer Criterios de su Contexto. Evaluación. Evaluar la primera fase con los usuarios del Sistema. Nota. Actividades correspondientes al Modelado del Negocio. El Autor 2015. Obtener la información adecuada para la Descripción del Sistema Hay muchas maneras de recolectar información en una investigación. Los métodos elegidos por el autor, en el marco de las limitantes que presenta la empresa CANTV, son: Entrevista y pruebas al sistema actual. Entrevista Consiste en una interacción que involucra al investigador y a varios participantes en que las preguntas se formulan en persona, por teléfono o incluso de manera electrónica (correo electrónico o Internet). Durante una 38 entrevista, se hacen preguntas para obtener información detallada sobre el tema en estudio. Preguntas realizadas: -¿Cuál es el problema y qué lo causa? -¿Cuál es el grado de aceptación y resistencia de las diversas posibilidades de cambio? -¿Existe conciencia en todos los niveles de la empresa, de las necesidades del cambio? -¿Se logra algún beneficio si se permanece en la situación actual? Entrevista con el Gerente El problema es causado por la antigüedad del sistema actual, lo que representa obsolescencia. Se acepta la idea del cambio del Sistema, mas sin embargo la empresa no presenta mayor flexibilidad a la actualización. El beneficio presente consiste en el conocimiento del SAP, dada la considerable cantidad de años de operatividad. Entrevista con el Supervisor El principal problema es causado por la forma en que opera el SAP, se requiere de una gran cantidad de “pasos” para concretar una actividad. Sí hay conciencia de la necesidad de actualizar el sistema y se presentan menores niveles de resistencia al cambio. No hay beneficios en permanecer utilizando el sistema actual. Entrevista con los Técnicos La demora en la entrega de las órdenes requeridas para así retirar materiales y poder solventar las averías, es el problema principal para los técnicos. No se respondió sobre la necesidad de 39 actualizar el sistema y se cree que no hay conciencia sobre este tema. No hay beneficios si se sigue utilizando el modulo controlling del SAP. Pruebas al sistema Es una forma o una tarea para la cual se ha determinado un estándar normal, o para la cual se conoce las respuestas correctas. Elaborar una orden de Salida de Material lleva, aproximadamente, 20 minutos, se necesitan en promedio 1.4 órdenes por cada técnico, se cuentan con 25 técnicos, se contabilizan entonces 11,66 horas que debe dedicar el Supervisor para emitir el total de las órdenes. Establecer Criterios de Evaluación Los criterios de evaluación son los principios, normas o ideas de valoración en relación a los cuales se emite un juicio valorativo sobre el objeto evaluado. 40 Cuadro 3 Criterios de Evaluación. Criterios de Evaluación Establecido por el Gerente Optimizar la operatividad sin repercutir en la facilidad en el manejo del Software. Crear herramientas nuevas para ejecutar las tareas con Establecido por mayor celeridad. el Supervisor Apariencia agradable para el usuario. Establecido por los Técnicos Crear herramientas nuevas para ejecutar las tareas con mayor celeridad Nota. Los criterios fueron establecidos por cada uno de los entrevistados. El Autor 2015. Evaluar la primera fase con los usuarios del Sistema Al realizar las técnicas de entrevistas y pruebas, se recolectaron los datos, información, quejas y archivos históricos del sistema. Una evaluación cualitativa puede resultar útil en las etapas iniciales del desarrollo del sistema, medidas cuantitativas bajo unas mismas condiciones resultan de vital importancia para ver el progreso real del sistema y compararlo consigo mismo o con otros. Al final de estas evaluaciones se puede generar la primera propuesta para el sistema nuevo, CANTV-Mat El producto que se obtiene en la Fase Inicio es la Descripción del Sistema. 41 Gráfico 1. Descripción del Sistema, denotando las relaciones entre Supervisores y Técnicos en diferentes actividades. El Autor 2015. 42 Disciplina del Análisis de Requisitos. Cuadro 4 Análisis de Requisitos. Disciplina Actividades Productos Recopilar Requisitos. Análisis de Encontrar Casos de Uso. Modelo de Requisitos. Requisitos Determinar y Detallar los Casos de Uso. Nota. Actividades destinadas a detectar, establecer los Requisitos. El Autor 2015. Recopilar Requisitos De la aplicación de las técnicas de recolección de información y una vez culminada la Fase de Inicio, se presentan los siguientes requisitos: Cuadro 5 Requisitos categorizados. Categoría Requisitos Colores y diseños gráficos que no afecten las vista del Interfaz usuario. Iconos reescalables. 43 Diseño Adaptativo. Manejo de Insertar, Modificar y Consultar la Base de Datos. Datos Garantizar la estabilidad del Sistema CANTV-Mat Operatividad Bajo consumo de rescurso. Capacidad de ejecutarse desde Tablets y teléfonos inteligentes. Informe de Stock de Materiales. Reportes Orden de Salda de Material. Orden de Entrada de Material. Orden de Traspaso de Material. Nota. Agrupar por categorías los requisitos, creando grupos de requisitos dependiendo de su función en el sistema. El Autor 2015. Encontrar Casos de Uso “Normalmente, solo resta identificar una pequeña fracción de los casos de uso y actores durante la fase construcción”, (Jacobson, Booch, Rumbbaugh, 2000). Caso de uso para: Inicio de Sesión, Revisar el Stock de Materiales, Orden de Entrada de Material, Orden de Salida de Material y Orden de Traspaso de Material. Actores: Supervisor y Técnico. 44 Determinar y Detallar los Casos de Uso Cuadro 6 Descripción de los casos de uso. Caso de uso Descripción Inicio de Sesión El Supervisor ingresa al sistema, se validan los datos antes de ingresar. Revisar el Stock Se actualiza y muestra en pantalla la cantidad actual de de Materiales Orden de Entrada de los materiales, generar un reporte impreso. El usuario interactúa con un “formulario” para luego generar un reporte impreso de tipo Entrada de Material. Material Orden de Salida de Material El usuario interactúa con un “formulario” para luego generar un reporte impreso de tipo Salida de Material. Orden de El usuario interactúa con un “formulario” para luego Traspaso de generar un reporte impreso de tipo Traspaso de Material. Material Nota. Detalles descriptivos de los Casos de Uso encontrados. El Autor 2015. Cuadro 7 Caso de uso Inicio de Sesión, descripción. Nombre del Inicio de Sesión caso de uso Descripción El Supervisor ingresa al sistema, Se capturan los datos, se evalúan y se validan antes de ingresar. Actor Precondición. Supervisor. El actor debe ser Supervisor autorizado por la empresa 45 CANTV y conectarse desde la red de la Oficina Red de Acceso. Post-condición. Si se supera el proceso de validación de datos el usuario puede ingresar al sistema. Nota. Desarrollo detallado del Caso de Uso Inicio de Sesión. El Autor 2015. Cuadro 8 Caso de uso Revisar el Stock de Materiales. Nombre del caso de uso Revisar el Stock de Materiales Descripción Se actualiza y consulta la base de datos para posteriormente mostrar en pantalla información relacionada a los materiales. Imprimir reporte del Stock. Actor Precondición. Post-condición. Supervisor. Haber iniciado sesión. Usuario habilitado para imprimir reporte. Nota. Desarrollo detallado del Caso de Uso Revisar Stock de Materiales. El Autor 2015. Cuadro 9 Caso de uso Orden de Entrada de Material. Nombre del Orden de Entrada de Material caso de uso Descripción Interactuar con un formulario, para introducir los datos que formaran parte de la orden a imprimir. Se actualiza la base de datos. Se validan todos los campos. Para 46 seleccionar las fechas de solicitud y emisión el sistema cuenta con un calendario. En la mayoría de las tareas se realizan mediante selección de opciones. Actor Precondición. Post-condición. Supervisor. Haber iniciado sesión. Usuario habilitado para imprimir reporte. Materiales nuevos en el almacén. Nota. Desarrollo detallado del Caso de Uso Entrada de Material. El Autor 2015. Cuadro 10 Caso de uso Orden de Salida de Material. Nombre del Orden de Salida de Material caso de uso Descripción Interactuar con un formulario, para introducir los datos que formaran parte de la orden a imprimir. Se actualiza la base de datos. Se validan todos los campos. Para seleccionar las fechas de solicitud y emisión el sistema cuenta con un calendario. En la mayoría de las tareas se realizan mediante selección de opciones. Actor Precondición. Supervisor, técnico. Haber iniciado sesión. El supervisor debe haber recibido una solicitud de un técnico, donde muestre las averías que va a reparar. Post-condición. Usuario habilitado para imprimir reporte. 47 Materiales entregados al técnico. Nota. Desarrollo detallado del Caso de Uso Salida de Material. El Autor 2015. Cuadro 11 Caso de uso Orden de traspaso de Material. Nombre del Orden de Salida de Material caso de uso Descripción Interactuar con un formulario, para introducir los datos que formaran parte de la orden a imprimir. Se actualiza la base de datos. Se validan todos los campos. Para seleccionar las fechas de solicitud y emisión el sistema cuenta con un calendario. En la mayoría de las tareas se realizan mediante selección de opciones. Esta operación se realiza entre Supervisores. Actor Precondición. Dos supervisores. Haber iniciado sesión. El supervisor debe haber recibido una solicitud de un técnico, donde muestre las averías que va a reparar. Post-condición. Usuario habilitado para imprimir reporte. Materiales traspasados a otro almacén. Nota. Desarrollo detallado del Caso de Uso Salida de Material. El Autor 2015. FASE DE ELABORACIÓN “En esta Fase sólo se debe prestar atención a aquellos casos de uso que son significativos desde un puntos de vista de la arquitectura o que son 48 que necesarios para apoyar la propuesta”, (Jacobson, Booch, Rumbbaugh, 2000). Disciplina del Análisis y Diseño “En esta subsección consideraremos de nuevo las actividades de análisis de la arquitectura, analizar un caso de uso, analizar una clase iniciadas en la fase de elaboración”, (Jacobson, Booch, Rumbbaugh, 2000). Cuadro 12 Análisis de Requisitos. Disciplina Actividades Productos Análisis de la Arquitectura. Analizar los Casos de Uso. Analizar las Clases. Modelo de Análisis. Análisis y Analizar los Paquetes. Diseño. Modelo de Diseño. Diseño de la Arquitectura. Diseño de los Casos de Uso. Diseño de las Clases. 49 Diseño de Subsistemas. Nota. Actividades orientadas a concretar el modelo del diseño, una vez que se hayan realizado todos los análisis. El Autor 2015. Análisis de la Arquitectura En general las paginas cuentan con una sección superior donde se coloca una imagen con la que se identifica que es una página “oficial del gobierno” (como lo requiere la Ley del Infogobierno), una barra de estado donde se muestran mensajes de bienvenida, se indica si el usuario introdujo erróneamente los datos al momento de iniciar sesión, si los datos son correctos se indica el usuario conectado y la opción de cerrar sesión. Las páginas poseen una Barra de Navegación, con una serie de “enlaces” a sitios web oficiales relacionados a la empresa, en la página Iniciar Sesión, en esta barra de navegación se encuentra un menú desplegable en el cual está el formulario para iniciar sesión. Luego en la sección del “cuerpo” de la página varía, en la página de Iniciar Sesión se encuentra un Slideshow con imágenes alusivas a la empresa, en la página Inicio del Sistema se muestran las opciones de Revisar el Stock de Materiales, Orden de Salida de Material, Orden de Entrada de Material, Orden de Traspaso de Material. Todas las paginas cuentan con un pie de página donde hay información respecto a autor del sistema y la opción “volver al comienzo”. Entrando en detalles de cada opción, todas poseen un botón para imprimir los reportes. Orden de Salida de Material, Orden de Entrada de Material y Orden de Traspaso de Material, hay formularios donde se captan los datos necesarios, todos los campos son validados, pero con mayor nivel los campos de Nombre, Código y Cantidad de los materiales, con un botón 50 se valida individualmente cada material. También hay un botón para “Orden Nueva”. Analizar los Casos de Uso Al analizar cada Caso de Uso se identificaron las clases de Análisis cuyos objetos eran necesarios para desarrollar el flujo de eventos asociado al Caso de Uso que se estaba analizando, distribuyendo el comportamiento del mismo en los objetos de Análisis que interactuaban en él. Se trató con un Caso de Uso a la vez, pero en la realidad los Casos de Uso compartían recursos - como bases de datos y objetos de la interfaz – en el sistema, lo cual es revelado en el Modelo de Análisis. Identificar Clases de Análisis . Se identificaron las clases de Entidad, Control e Interface que intervinieron en el Caso de Uso, bosquejando sus nombres, atributos, responsabilidades y relaciones. Se refinaron las descripciones de los Casos de Uso del Documento de Requerimientos respecto al interior del sistema. Se deben tener en cuenta las Clases de Análisis que ya están en el Modelo de Análisis algunas de las cuales podrán reutilizarse. Al estudiar varios casos de uso simultáneamente se podrán identificar Clases de Análisis que participan en más de una Realización de Casos de Uso de Análisis, con lo cual se definirá para cada caso el Diagrama de Clases mostrando las relaciones definidas entre éstas por cada Realización del Caso de Uso de Análisis 51 Describir Interacciones entre Objetos de Análisis Se describieron mediante los Diagramas de Colaboración en los que participaron las distintas instancias de actores, objetos de Análisis y sus relaciones. Se comenzó por el principio del flujo del caso de uso, siguiendo un paso a la vez y decidiendo en cada paso que interacciones entre actores y/o objetos de Análisis son necesarias para llevarlo a cabo. Estos Diagramas de Colaboración serán complementados con sus respectivas descripciones en el Flujo de Eventos asociado. Analizar las Clases Una clase define los atributos y los métodos de una serie de objetos. Todos los objetos de esta clase (instancias de esa clase) tienen el mismo comportamiento y el mismo conjunto de atributos (cada objetos tiene el suyo propio). En ocasiones se utiliza el término «tipo» en lugar de clase, pero recuerde que no son lo mismo, y que el término tipo tiene un significado más general. Cuadro 13 Clases para el Caso de uso Iniciar Sesión. Nombre de la Clase Descripción container Elemento para ajustar la rejilla del sistema row clearfix Crea interfaces sin cambiar el flujo de la pagina web. col-md-12 column Crea una rejilla sin divisiones. navbar navbar-default Crea una barra de navegación. 52 navbar-header Crea una cabecera para la barra de navegación. navbar-toggle Asigna una propiedad de palanca a la barra de navegación. sr-only Oculta las etiquetas innecesarias en los formularios. icon-bar Agrega íconos a la barra de navegación. navbar-brand Asigna una imagen por defecto a la barra de navegación cuando esta se adapta a pantallas pequeñas. collapse navbar-collapse Cuando la pagina se adapta a pantallas pequeñas se compacta la bara de navegación. nav navbar-nav Ubica la barra de navegación al tope de la página. dropdown Asigna una propiedad de despliegue hacia abajo. dropdown-toggle Asigna un función de palanca de despliegue. caret Elemento para manejar los bordes de las tablas. dropdown-menu Divider navbar-right Mene de despligue hacia abajo. Divisor de listas. Posicion elementos de la barra de navegación hacia la derecha. form-signin Formulario para manejo de sesiones. 53 form-control btn btn-primary btn-block Formulario para cargar información. Crea un botón destacado. Crea un botón que ocupa todo el ancho del bloque donde se encuentre. required Asigna la propiedad de “campo requerido”. autofocus Propiedad de auntoenfoque para los campos principales. logout.php Objeto que ejecuta el Cierre de Sesión. conectar.php Objeto que ejecuta la conexión a la Base de Datos. inicio.php Objeto que ejecuta la página Inicio del Sistema. index.php Objeto que ejecuta la pagina Inicio de Sesión. bootstrap.js Objeto Javascript para cargar el Framework. bootstrap.min.js Objeto Javascript para cargar las herramientas mínimas del Framework. base.css Objeto que carga las propiedades básicas de la hoja de estilo. bootstrap.css bootstrap.css.map Hoja de estilo del Framework. Mapeo de la hoja de estilo del Framework. bootstrap.min.css Hoja de estilo de las herramientas mínimas del Framework. bootstrap-datetimepicker.css Hoja de estilo del Calendario. 54 bootstrap-theme.css Hoja de estilo para la fecha del calendario. bootstrap-theme.css.map Mapeo de los “temas” de las hojas de estilo del Framework. bootstrap-theme.min.css Hojas de estilo de los temas del Framework. datepicker.css hojas de estilo para el selector de la fecha. dropdown.css Hoja de estilo para los Menu Desplegables. font-awesome-4.0.3.css Hoja de estilo para las “fuentes” de los caracteres. prettify-1.0.css Hoja de estilo para la rejilla de la interfaz del sistema. glyphicons-halflings-regular.eot Objetos de Iconos Regulares. glyphicons-halflings-regular.svg Objetos de Iconos Regulares. glyphicons-halflings-regular.ttf Objetos de Iconos Regulares. glyphicons-halflings- Objetos de Iconos Irregulares. regular.woff Usuario Clase del modelo de datos donde se encuentran el Sap-ID y la Contraseña. Empleados Clase del modelo de datos donde se encuentra el Sap-ID. Nota. Descripción de las clases involucradas en el Caso de Uso Inicio de Sesión. El Autor 2015. 55 Cuadro 14 Clases para el Caso de uso Revisar Stock de Materiales. Nombre de la Clase container row clearfix Descripción Elemento para ajustar la rejilla del sistema Crea interfaces sin cambiar el flujo de la pagina web. col-md-12 column Crea una rejilla sin divisiones. navbar navbar-default Crea una barra de navegación. navbar-header Crea una cabecera para la barra de navegación. navbar-toggle Asigna una propiedad de palanca a la barra de navegación. sr-only Oculta las etiquetas innecesarias en los formularios. icon-bar navbar-brand Agrega íconos a la barra de navegación. Asigna una imagen por defecto a la barra de navegación cuando esta se adapta a pantallas pequeñas. collapse navbar-collapse Cuando la pagina se adapta a pantallas pequeñas se compacta la bara de navegación. nav navbar-nav Ubica la barra de navegación al tope de la página. dropdown Asigna una propiedad de despliegue hacia abajo. dropdown-toggle Asigna un función de palanca de despliegue. caret Elemento para manejar los bordes de las 56 tablas. dropdown-menu Divider navbar-right Mene de despligue hacia abajo. Divisor de listas. Posicion elementos de la barra de navegación hacia la derecha. form-signin Formulario para manejo de sesiones. form-control Formulario para cargar información. btn btn-primary btn-block Crea un botón destacado. Crea un botón que ocupa todo el ancho del bloque donde se encuentre. required autofocus Asigna la propiedad de “campo requerido”. Propiedad de auntoenfoque para los campos principales. img-responsive Propiedades adaptativas a una imagen. glyphicon glyphicon-home Icono de “hogar”. glyphicon glyphicon-info- Icono de Información. sign glyphicon glyphicon- Icono de interrogación, pregunta. question-sign glyphicon glyphicon-off btn btn-danger pull-right Icono para el cierre de sesión. Boton con características de “peligro”. Alinea hacia la derecha los elementos de un menú. Stock.php Objeto que ejecuta la Revisión del Stock de Materiales. logout.php conectar.php Objeto que ejecuta el Cierre de Sesión. Objeto que ejecuta la conexión a la Base de 57 Datos. logout.php conectar.php Objeto que ejecuta el Cierre de Sesión. Objeto que ejecuta la conexión a la Base de Datos. inicio.php Objeto que ejecuta la página Inicio del Sistema. index.php Objeto que ejecuta la pagina Inicio de Sesión. bootstrap.js bootstrap.min.js Objeto Javascript para cargar el Framework. Objeto Javascript para cargar las herramientas mínimas del Framework. base.css Objeto que carga las propiedades básicas de la hoja de estilo. bootstrap.css Hoja de estilo del Framework. bootstrap.css.map Mapeo de la hoja de estilo del Framework. bootstrap.min.css Hoja de estilo de las herramientas mínimas del Framework. bootstrap- Hoja de estilo del Calendario. datetimepicker.css bootstrap-theme.css bootstrap-theme.css.map Hoja de estilo para la fecha del calendario. Mapeo de los “temas” de las hojas de estilo del Framework. bootstrap-theme.min.css Hojas de estilo de los temas del Framework. datepicker.css hojas de estilo para el selector de la fecha. dropdown.css Hoja de estilo para los Menu Desplegables. font-awesome-4.0.3.css Hoja de estilo para las “fuentes” de los caracteres. 58 prettify-1.0.css Hoja de estilo para la rejilla de la interfaz del sistema. glyphicons-halflings- Objetos de Iconos Regulares. regular.eot glyphicons-halflings- Objetos de Iconos Regulares. regular.svg glyphicons-halflings- Objetos de Iconos Regulares. regular.ttf glyphicons-halflings- Objetos de Iconos Irregulares. regular.woff Material Clase del modelo de datos donde se encuentra la información relacionada a los materiales. Almacén Clase del modelo de datos donde se encuentra la información relacionada al almacén. Nota. Descripción de las clases involucradas en el Caso de Uso Revisar Stock de Materiales. El Autor 2015. Cuadro N°15 Clases para el Caso de uso Orden de Entrada. Nombre de la Clase container row clearfix Descripción Elemento para ajustar la rejilla del sistema Crea interfaces sin cambiar el flujo de la pagina web. col-md-12 column Crea una rejilla sin divisiones. navbar navbar-default Crea una barra de navegación. 59 navbar-header Crea una cabecera para la barra de navegación. navbar-toggle Asigna una propiedad de palanca a la barra de navegación. sr-only Oculta las etiquetas innecesarias en los formularios. icon-bar navbar-brand Agrega íconos a la barra de navegación. Asigna una imagen por defecto a la barra de navegación cuando esta se adapta a pantallas pequeñas. collapse navbar-collapse Cuando la pagina se adapta a pantallas pequeñas se compacta la bara de navegación. nav navbar-nav Ubica la barra de navegación al tope de la página. dropdown Asigna una propiedad de despliegue hacia abajo. dropdown-toggle caret Asigna un función de palanca de despliegue. Elemento para manejar los bordes de las tablas. dropdown-menu Divider navbar-right Mene de despligue hacia abajo. Divisor de listas. Posicion elementos de la barra de navegación hacia la derecha. form-signin Formulario para manejo de sesiones. form-control Formulario para cargar información. btn btn-primary Crea un botón destacado. 60 btn-block Crea un botón que ocupa todo el ancho del bloque donde se encuentre. required autofocus Asigna la propiedad de “campo requerido”. Propiedad de auntoenfoque para los campos principales. img-responsive Asigna propiedades adaptativas a una imagen. glyphicon glyphiconhome glyphicon glyphicon-info- Icono de “hogar” para hacer referencia al inicio de la pagina. Icono de Información. sign glyphicon glyphicon- Icono de interrogación, pregunta. question-sign glyphicon glyphicon-off btn btn-danger pull-right Icono para el cierre de sesión. Boton con características de “peligro”. Alinea hacia la derecha los elementos de un menú. glyphicon glyphicon-plus Date input-group-addon glyphicon glyphicon- Icono del símbolo “más” Elemento de Fecha. Grupo para entrada de datos Icono de calendario. calendar glyphicon glyphicon- Icono “chequear”. check btn btn-success orden-entrada.php Botón de con características de “exito”. Objeto que ejecuta Orden de Entrada de Material. 61 orden-salida.php Objeto que ejecuta Orden de Salida de Material. logout.php Objeto que ejecuta el Cierre de Sesión. inicio.php Objeto que ejecuta la página Inicio del Sistema. index.php Objeto que ejecuta la pagina Inicio de Sesión. conectar.php Objeto que ejecuta la conexión a la Base de Datos. procesar.php Objeto que procesa los datos cuando se trata de salida o traspaso de material. procesar_entrada.php Objeto que procesa los datos cuando se trata de entrada de material bootstrap.js bootstrap.min.js Objeto Javascript para cargar el Framework. Objeto Javascript para cargar las herramientas mínimas del Framework. base.css Objeto que carga las propiedades básicas de la hoja de estilo. bootstrap.css Hoja de estilo del Framework. bootstrap.css.map Mapeo de la hoja de estilo del Framework. bootstrap.min.css Hoja de estilo de las herramientas mínimas del Framework. bootstrap- Hoja de estilo del Calendario. datetimepicker.css bootstrap-theme.css bootstrap-theme.css.map Hoja de estilo para la fecha del calendario. Mapeo de los “temas” de las hojas de estilo del Framework. bootstrap-theme.min.css Hojas de estilo de los temas del Framework. 62 datepicker.css hojas de estilo para el selector de la fecha. dropdown.css Hoja de estilo para los Menu Desplegables. font-awesome-4.0.3.css Hoja de estilo para las “fuentes” de los caracteres. prettify-1.0.css Hoja de estilo para la rejilla de la interfaz del sistema. glyphicons-halflings- Objetos de Iconos Regulares. regular.eot glyphicons-halflings- Objetos de Iconos Regulares. regular.svg glyphicons-halflings- Objetos de Iconos Regulares. regular.ttf glyphicons-halflings- Objetos de Iconos Irregulares. regular.woff Orden Clase del modelos de datos donde se registran las transacciones de cada orden emitida. Almacén Clase del encuentra modelo la de datos información donde se relacionada al almacén. Empleado Clase del modelo de datos donde se encuentran el Sap-ID y la Contraseña. Usuario Clase del modelo de datos donde se encuentran la información de los supervisores y técnicos. Material Clase del modelo de datos donde se encuentra la información relacionada a los 63 materiales. Nota. Descripción de las clases involucradas en el Caso de Uso Orden de Salida de Material. El Autor 2015. Las clases de los Caso de uso Orden de Salida y Orden de Traspaso son las mismas del Caso de uso Orden de Entrada. Las clases anteriormente mencionada, son provistas en el Framework Bootstrap. Bootstrap es el framework de Twitter que permite crear interfaces web con CSS y Javascript que adaptan la interfaz dependiendo del tamaño del dispositivo en el que se visualice de forma nativa, es decir, automáticamente se adapta al tamaño de un ordenador o de una Tablet sin que el usuario tenga que hacer nada, esto se denomina diseño adaptativo o Responsive Design. Analizar los Paquetes Un paquete es un mecanismo utilizado para agrupar elementos. Permite organizar los elementos modelados con UML, facilitando de ésta forma el manejo de los modelos de un sistema complejo. 64 Cuadro 16 Paquetes del Sistema CANTV-Mat. Nombre del Paquete Interfaz de Usuario Descripción Agrupa todas ventanas, botones, formularios, mensajes emergentes y aspectos relacionados a la apariencia de la página web. Reportes Agrupa los formularios, ordenes y reportes impresos que genera el sistema. Modelos de Datos. Agrupa las tablas, columnas y campos de la base de datos. Nota. Descripción de los paquetes, detallando sus principales características. El Autor 2015. Cuadro 17 Clases Involucradas en los Paquetes del Sistema. Nombre del Paquete Interfaz de Usuario Clases Container, row clearfix, col-md-12 column, navbar navbar-default, navbar-header, navbartoggle, sr-only, icon-bar, navbar-brand, collapse navbar-collapse, nav navbar-nav, dropdown, dropdown-toggle, caret, dropdown-menu, divider, navbar-right, form-signin, form-control, btn btnprimary, btn-block, required, autofocus, imgresponsive, glyphicon glyphicon-home, glyphicon glyphicon-info-sign, sign, glyphicon 65 glyphicon glyphicon-info- glyphicon-question-sign, glyphicon glyphicon-off, btn btn-danger, pullright, glyphicon glyphicon-plus, input-group, date, input-group-addon, glyphicon glyphicon- calendar, glyphicon glyphicon-check, btn btnsuccess, bootstrap.js, bootstrap.min.js, base.css, bootstrap.css, bootstrap.css.map, bootstrap.min.css, bootstrap-datetimepicker.css, bootstrap-theme.css, bootstrap-theme.css.map, bootstrap-theme.min.css, datepicker.css, dropdown.css, font-awesome-4.0.3.css, prettify1.0.css, glyphicons-halflings-regular.eot, glyphicons-halflings-regular.svg, halflings-regular.ttf, glyphicons- glyphicons-halflings- regular.woff. Reportes Stock.php, orden-entrada.php, orden-salida.php, orden-salida.php, index.php, logout.php, conectar.php, inicio.php, procesar.php, procesar2.php, procesar3.php, procesar4.php, procesar5.php, procesar6.php, procesar7.php, procesar8.php, procesar9.php, procesar10.php, procesar_entrada.php, procesar_entrada2.php, procesar_entrada3.php, procesar_entrada4.php, procesar_entrada5.php, procesar_entrada6.php, procesar_entrada7.php, procesar_entrada8.php, procesar_entrada9.php, procesar_entrada10.php, required, form-signin, form-control, input-group, input-group-addon. Modelos de Datos. Orden, Almacén, Empleados, Usuario, Material, 66 Stock.php, orden-entrada.php, orden-salida.php, orden-salida.php, index.php, logout.php, conectar.php, inicio.php, procesar.php, procesar2.php, procesar3.php, procesar4.php, procesar5.php, procesar6.php, procesar7.php, procesar8.php, procesar9.php, procesar10.php, procesar_entrada.php, procesar_entrada2.php, procesar_entrada3.php, procesar_entrada4.php, procesar_entrada5.php, procesar_entrada6.php, procesar_entrada7.php, procesar_entrada8.php, procesar_entrada9.php, rocesar_entrada10.php, required, form-signin, form-control, input-group, input-group-addon. Nota. Descripción de las clases involucradas en los paquetes y sus relaciones. El Autor 2015. Diseño de la Arquitectura El se realizaron mejoras en la vista de la arquitectura de los modelos de diseño y despliegue, reflejando la experiencia de la fase previa. No obstante, y en general, se completo la arquitectura. El resultado es el Modelo de Diseño de la Arquitectura. 67 Grafico 2. Diseño de la Arquitectura de la página Iniciar Sesión. El Autor. 68 Grafico 3. Diseño de la Arquitectura de la página Inicio. El Autor. Grafico 4. Diseño de la Arquitectura de la página Revisar Stock de Materiales. El Autor. 69 Grafico 5. Diseño de la Arquitectura de las páginas Orden de Salida de Material, Orden de Entrada de Material, Orden de Traspaso de Material. El Autor. 70 Diseño de los Casos de Uso. Los casos de uso significativamente significativos son diseñados en términos de subsistemas del diseño, subsistemas de servicio y clases del diseño. Esta actividad es similar a la que se hace en el análisis con unas pocas diferencias importantes. Durante el análisis, se busca refinar los casos de uso para conseguir una especificación que fuese robusta, fácil de adaptar a futuros cambios y reutilizable. Esta especificación funcionaria como un primer boceto del diseño. También se trata de determinar las responsabilidades de las clases del análisis identificadas. En el diseño, se entra en muchos más detalles. Al moverse del análisis al diseño, los ingenieros de componentes tienen que adaptar el modelo del análisis para conseguir un modelo de diseño que pueda funciona, puesto que éste último está limitado por los mecanismos de diseño. Sin embargo, los paquetes y clases del análisis proporcionan una forma directa de encontrar subsistemas y clases del diseño. Una vez encontrados, se describe no solo las responsabilidades que estos elementos del diseño deben asumir. (Jacobson, Booch, Rumbbaugh, 2000). 71 Caso de uso de la página Iniciar Sesión. Grafico 6. Caso de Caso de uso de la página Iniciar Sesión. El Autor. 72 Caso de uso de la página Orden de Salida de Material. Grafico 7. Caso de Caso de uso de la página Orden de Salida de Material. El Autor. 73 Caso de uso de la página Orden de Traspaso de Material. Grafico 8. Caso de Caso de uso de la página Orden de Traspaso de Material. El Autor. 74 Caso de uso de la página Orden de Entrada de Material. Caso de uso de la página Revisar Stock de Materiales. Actores: Supervisor. Grafico 9. Caso de Caso de uso de la página Revisar Stock de Materiales. El Autor. 75 Integración de Casos de uso con los Subprocesos. Grafico 10. Relación entre los subsistemas en el Caso de Uso Iniciar Sesión. El Autor. 76 Diseño de las Clases Un diagrama de clases sirve para visualizar las relaciones entre las clases que involucran el sistema, las cuales pueden ser asociativas, de herencia, de uso y de contenimiento. Un diagrama de clases está compuesto por los siguientes elementos: Clase: atributos, métodos y visibilidad. Relaciones: Herencia, Composición, Agregación, Asociación y Uso. Es la unidad básica que encapsula toda la información de un Objeto (un objeto es una instancia de una clase). A través de ella se puede modelar el entorno en estudio (una Casa, un Auto, una Cuenta Corriente, etc.). Se desarrollan las Clases involucradas en el manejo de datos y sus relciones. Grafico 11. Clase Empleados. El Autor. 77 Grafico 12. Clase Usuario. El Autor. Grafico 13. Clase Almacén. El Autor. 78 Grafico 14. Clase Material. El Autor. Grafico 15. Clase Orden. El Autor. 79 Grafico 16. Relación entre las clases. El Autor. 80 Diseño de Subsistemas Un subsistema es un conjunto de elementos interrelacionados que, en sí mismo, es un sistema, pero a la vez es parte de un sistema superior. Un sistema puede estar constituido por múltiples partes y subsistemas. “Se diseñan los subsistemas resultantes del diseño de la arquitectura. Durante esta fase, el arquitecto actualizará, si es necesario, la vista de la arquitectura del modelo del diseño”, (Jacobson, Booch, Rumbbaugh, 2000). 81 Grafico 17. Relación entre los Subsistemas. El Autor. 82 FASE DE CONSTRUCCIÓN Disciplina de la Implementación Cuadro 18 Disciplina de Implementación. Disciplina Implementación Actividades Implementar la Arquitectura, Productos Sistema Implementado Clases, Subsistemas. Integrar el Sistema. Nota. Actividades para la implementación de sistema. El Autor 2015. Implementar la Arquitectura, Clases, Subsistemas. Integrar el Sistema En esta etapa se presentan los resultados definitivos de la elaboración del sistema, construcción de la base de datos proyectada en la tapa de diseño y la codificación del sistema en los lenguajes HTML, PHP, JAVASCRIPT, CSS y MySQL. 83 Gráfico 18. Página de Inicio de Sesión. Presentación en PC de escritorio. El Autor. 84 Gráfico 19. Página de Inicio de Sesión. Presentación en PC de escritorio. Menú “Enlaces Externos” desplegado. El Autor 85 Gráfico 20. Página de Inicio de Sesión. Presentación en PC de escritorio. Menú “Iniciar Sesión” desplegado. El Autor. 86 Gráfico 21. Página de Inicio de Sesión. Presentación en Tablet o Smartphone. El Autor. 87 Gráfico 22. Página de Inicio de Sesión. Presentación en Tablet o Smartphone. Barra de Navegación activa. El Autor. 88 Gráfico 23. Página de Inicio de Sesión. Presentación en Tablet o Smartphone. Barra de Navegación activa. Menú “Iniciar Sesión” desplegado. El Autor. 89 Gráfico 24. Página de Inicio de Sesión. Presentación en PC de escritorio. Sesión activa. Usuario identificado. El Autor. 90 Gráfico 25. Página de Inicio de Sesión. Presentación en Tablet o Smartphone. Sesión activa. Usuario identificado. El Autor. 91 Gráfico 26. Página de Inicio del Sistema. Presentación en PC de escritorio. Sesión activa. El Autor. Gráfico 27. Página de Inicio del Sistema. Presentación en Tablet o Smartphone. Sesión activa. El Autor. 92 Gráfico 28. Página de Inicio del Sistema. Presentación en Tablet o Smartphone. Sesión activa. Barra de Navegación activa. El Autor. 93 Gráfico 29. Página de Revisar Stock de Materiales. Presentación en PC de escritorio. Sesión activa. Información de los materiales mostrada en pantalla (parte 1). El Autor. 94 Gráfico 30. Página de Revisar Stock de Materiales. Presentación en PC de escritorio. Sesión activa. Información de los materiales mostrada en pantalla (parte 2). Opción Imprimir Stock de Materiales. El Autor. 95 Gráfico 31. Página de Revisar Stock de Materiales. Presentación en Tablet o Smartphone. Sesión activa. Información de los materiales mostrada en pantalla (parte 1). El Autor. 96 Gráfico 32. Página de Revisar Stock de Materiales. Presentación en Tablet o Smartphone. Sesión activa. Información de los materiales mostrada en pantalla (parte 2). Opción Imprimir Stock de Materiales. El Autor. 97 Gráfico 33. Página Orden de Salida de Material. Presentación en PC de escritorio. Sesión activa. El Autor. 98 Gráfico 34. Página Orden de Salida de Material. Presentación en PC de escritorio. Sesión activa. Seleccionar Fecha de Emisión utilizando el objeto “Datepicker”. El Autor. 99 Gráfico 35. Página Orden de Salida de Material. Presentación en PC de escritorio. Sesión activa. Seleccionar utilizando el objeto “Datepicker”. El Autor. 100 Fecha de Contabilización Gráfico 36. Página Orden de Salida de Material. Presentación en PC de escritorio. Sesión activa. Seleccionar Dropdown List activa. El Autor. 101 el Supervisor Solicitante. Gráfico 37. Página Orden de Salida de Material. Presentación en PC de escritorio. Sesión activa. Seleccionar el Técnico Solicitante. Dropdown List activa. El Autor. 102 Gráfico 38. Página Orden de Salida de Material. Presentación en PC de escritorio. Sesión activa. Seleccionar el Destino del Material. Dropdown List activa. El Autor. 103 Gráfico 39. El Autor.Página Orden de Salida de Material. Presentación en PC de escritorio. Sesión activa. Seleccionar Material. Dropdown List activa. El Autor. 104 Gráfico 40. Página Orden de Salida de Material. Presentación en PC de escritorio. Sesión activa. Introducir Cantidad de Material. Objeto Glyphicon activo. El Autor. 105 Gráfico 41. Página Orden de Salida de Material. Presentación en PC de escritorio. Sesión activa. Validación de Campo Vacío (Codigo del Material). Objeto Javascript “Message Alert” activo. El Autor. 106 Gráfico 42. Página Orden de Salida de Material. Presentación en PC de escritorio. Sesión activa. Validación de Campo Vacío (Cantidad de Material). Objeto Javascript “Message Alert” activo. El Autor. 107 Gráfico 43. Página Orden de Salida de Material. Presentación en PC de escritorio. Sesión activa. Validación de Campo Vacío (Solicitante). Campo de clase “Required”. Objeto “Validator” del Framework Bootstrap activo. El Autor. 108 Gráfico 44. Página Orden de Salida de Material. Presentación en PC de escritorio. Sesión activa. Validación de la Cantidad realizada. Validación de Campo Vacío (Destinatario). Campo de clase “Required”. Objeto “Validator” del Framework Bootstrap activo. El Autor. 109 Gráfico 45. Página Orden de Salida de Material. Presentación en PC de escritorio. Sesión activa. Validación de Campo Vacío (Destino). Campo de clase “Required”. Objeto “Validator” del Framework Bootstrap activo. El Autor. 110 Gráfico 46. Página Orden de Entrada de Material. Presentación en PC de escritorio. Sesión activa. El Autor. 111 Gráfico 47. Página Orden de Traspaso de Material. Presentación en PC de escritorio. Sesión activa. El Autor. En el esfuerzo de cumplir con la Ley de Info Gobierno, el Back-End en el cual se soporta la aplicación web CANTV-Mat, es un servidor LAMP. LAMP es el acrónimo usado para describir un sistema de infraestructura de internet que usa las siguientes herramientas: Linux, como sistema operativo. Apache, el servidor web; 112 MySQL, el gestor de bases de datos; PHP, lenguaje de programación que intercede como mediador para establecer conexiones entre la Base de Datos y el Servidor. La combinación de estas tecnologías es usada principalmente para definir la infraestructura de un servidor web, utilizando un paradigma de programación para el desarrollo. A pesar de que el origen de estos programas de código abierto no han sido específicamente diseñado para trabajar entre sí, la combinación se popularizó debido a su bajo coste de adquisición y ubicuidad de sus componentes (ya que vienen pre-instalados en la mayoría de las distribuciones linux). Cuando son combinados, representan un conjunto de soluciones que soportan servidores de aplicaciones. LAMP está considerada como una de las mejores herramientas disponibles para que cualquier organización o individuo pueda emplear un servidor web versátil y potente. Aunque creados por separado, cada una de las tecnologías que lo forman disponen de una serie de características comunes. Especialmente interesante es el hecho que estos cuatro productos pueden funcionar en una amplia gama de hardware, con requerimientos relativamente pequeños sin perder estabilidad. Esto ha convertido a LAMP en la alternativa más adecuada para pequeñas y medianas empresas. Algunas de las ventajas que se obtienen de utilizar LAMP son: Soporte a gran cantidad de arquitecturas, como son Intel y compatibles, SPARC, Mips y PPC (Macintosh). Código relativamente sencillo y con pocos cambios de una plataforma a otra. 113 Parches generados en poco tiempo después de encontrarse un agujero de seguridad. Actualizaciones del software vía Internet. Posibilidad de incrementar los servicios y funciones desde el código fuente. En esta fase de la metodología, se presentaron una serie de ventajas proporcionadas por el Framework Bootstrap: Utilización de componentes y servicios creados por la comunidad web, tales como: HTML5 shim, Normalize.css, OOCSS, jQuery UI, LESS y GitHub. Un conjunto de buenas prácticas que perduran en el tiempo. La implementación de HTML5 + CSS3 El famoso Grid system, que por defecto incluye 12 columnas fijas o fluidas, dependiendo de si tu diseño será responsivo o no. El uso de LESS, que es una ampliación a las famosas hojas de estilo CSS, pero a diferencia de estás, funciona como un lenguaje de programación, permitiendo el uso de variables, funciones, operaciones aritméticas, entre otras, para acelerar y enriquecer los estilos en un sitio web. OOCSS, css orientado a objetos, que está organizado por módulos independientes y reutilizables en todo el proyecto. Hay una enorme comunicad que soporta este desarrollo y cuenta con implementaciones externas como WordPress, Drupal, SASS o jQuery UI. 114 FASE DE TRANSICIÓN Disciplina de las Pruebas La Disciplina de Prueba, tal como expresa la metodología RUP, pretende garantizar la calidad del Sistema creado. (Bell, 2003), Cuadro 19 Disciplina de Pruebas. Disciplina Actividades Planificar Pruebas. Pruebas Productos Prototipo Aprobado Diseñar Pruebas. Realizar Pruebas del Sistema. Sistema Aprobado Nota. Actividades para la culminación del prototipo, relación entre las pruebas. El Autor 2015. Planificar Pruebas En una reunión con el Supervisor de la Oficina de Red de Acceso, se determinó el orden en el cual se llevarían a cabo las pruebas. Primero se comenzaría con evaluar el Hardware del departamento, luego la conexión a internet, el servidor, la base de datos y finalmente el front-end de la aplicación web CANTV-Mat. 115 Diseñar Pruebas Se determinaron las siguientes actividades y acciones para llevar a cabo las pruebas. Cuadro 20 Diseño de las pruebas al sistema. Elemento Hardware Prueba del Determinar el estado en el que se encuentran los departamento equipos. Recopilar información, cantidad de memoria ram, procesador y cuanto tiempo de uso tiene cada computadora. conexión a internet Velocidad. Estabilidad. Base de datos Comprobar que los datos se almacenen en el disco duro.. Estado físico del disco duro donde se almenaran los datos. Back-end. Vulnerabilidad en los puertos de conexión. Front-end Cumplir con la validación de datos al iniciar sesión. Validación de datos al momento de elaborar las Ordenes de Entrada, Salida y Traspaso. 116 Estresar el sistema realizando múltiples consultas a la base de datos. Nota. Descripción de las pruebas por categorías. El Autor 2015. Realizar Pruebas del Sistema. Cuadro 21 Resultados de las pruebas al sistema. Elemento Prueba Resultado La oficina cuenta con cinco computadoras de escritorio y dos laptops. Son equipos con una cantidad considerable de años de Determinar el estado en uso, en promedio dos y tres años. Hardware del el que se encuentran los departamento equipos. Se debe realizar un mantenimiento preventivo para evitar fallas futuras o en su defecto sustituirlas con equipos nuevos. Recopilar cantidad RAM, información, Las computadoras de escritorio de memoria son del mismo modelo, poseen procesador y dos gigabytes de memoria RAM, cuanto tiempo de uso un procesador Intel Dual Core tiene cada E2180 de 2.0 GHz y un disco 117 computadora. duro de 250 GB . Conexión a Velocidad. 8 MB/s internet Estabilidad. Estable. Pin de 35s en promedio. Back-end. Vulnerabilidad en los El corta fuego de Linux se puertos de conexión. mantiene puertos, chequeando ante amenazas los de ataque. Base de datos Comprobar que los Al consultar la base datos desde datos se almacenen en la consola de Linux, se verificó la el disco duro. existencia de la base de datos y de sus correspondientes tablas. Estado físico del disco Se cuentan en buen estado ya duro donde se que en la empresa CANTV se almenaran los datos. cuenta con óptimas las para instalaciones el buen mantenimiento de los equipos informáticos. Cumplir con la Se comprobó que si se cumple el validación de datos al proceso de validación. iniciar sesión. Validación de datos al Se comprobó que si se cumple el Front-end momento de elaborar proceso de validación. las Ordenes de Entrada, Salida y Traspaso. 118 Estresar realizando el sistema El sistema no presentó múltiples problemas la someterse a una consultas a la base de acelerada datos. generación de órdenes. Nota. Resultados obtenidos de las pruebas realizadas al Sistema CANTVMat. El Autor 2015. 119 Gráfico 48. Prueba de la Base de Datos. Al consultar la base datos desde la consola de Linux, se verificó la existencia de la base de datos y de sus correspondientes tablas. El Autor. Disciplina de la Transición El propósito de esta fase es asegurar que el software esté disponible para los usuarios finales, ajustar los errores y defectos encontrados en las pruebas de aceptación, capacitar a los usuarios y proveer el soporte técnico necesario. Se debe verificar que el producto cumpla con las especificaciones entregadas por las personas involucradas en el proyecto. 120 Esta disciplina es concebida como aquel conjunto de tareas que permiten a la gerencia de un proyecto planificar y ejecutar las distribución de un sistema creado. Cuadro 22 Disciplina de la Transición. Disciplina Actividades Productos Preparación de la Versión Transición Beta. Sistema Instalado Instalación de la versión beta. Nota. Actividades para la instalación del sistema. El Autor 2015. Preparación de la Versión Beta “La mayor parte del conjunto inicial de usuarios para las pruebas beta (o de aceptación) serán usuarios experimentados. La organización de transición pretenderá que trabajen a partir de documentación relativamente preliminar, pero también les proporcionará instrucciones específicas de cómo informar de los hallazgos de sus pruebas y observaciones. Al principio de esta frase, el equipo del proyecto reunirá la documentación, preparada con anterioridad, que necesiten lo usuarios beta o los encargados de las pruebas de aceptación. Esta información estará complementada con instrucciones específicas para las pruebas beta. Se seleccionará a los usuarios de la beta y se les distribuirá la versión beta y el material de acompañamiento”, (Jacobson, Booch, Rumbbaugh, 2000). En este sentido, el autor asumió el rol de usuario beta ya que es él quien cumple la condición de “usuario experimentado”. Una vez “testeada” la 121 versión beta, se procedió a elaborar el manual de usuario, instrumento de ayuda para los diferentes usuarios finales. Este manual se elaboró gradualmente al pasar por las diferentes disciplinas y haciendo énfasis en las consultas y dudas surgidas en la evaluación al prototipo durante las disciplina de prueba por parte de los usuarios. Para la elaboración del manual técnico se tomó en cuenta que “Un Manual técnico es un documento que se hace con la finalidad de dejar documentado, es decir, explicado todo el trabajo que se ha realizado al desarrollar un sistema o proyecto”, (Jacobson, Booch, Rumbbaugh, 2000), a tal fin se considera el informe del trabajo de grado como “manual técnico”, el cual se alcanzó al llevar registro de todos los pasos que se desarrollaron para la construcción del sistema CANTV-Mat que brinda el apoyo necesario para llevar el mantenimiento del Sistema. Instalación de la versión beta “Si la versión es una actualización o una sustitución de un software existente, el personal de transición debe proporcionar instrucciones a los usuarios beta sobre cómo deben migrar los datos o convertir las bases de datos a la nueva versión. Es posible que estas instrucciones deban indicar la operación en paralelo de la versión beta con el software existente durante cierto periodo de tiempo”, (Jacobson, Booch, Rumbbaugh, 2000). Para culminar el desarrollo de la Disciplina de Entrega se elaboró un Sistema de soporte para la instalación del Sistema CANTV-Mat como medio de respaldo del Sistema Intranet el cual fue entregado en medio de almacenamiento alterno (CD). 122 CAPÍTULO V CONCLUSIONES Al finalizar el trabajo se construyó un sistema web, CANTV-Mat, para la Oficina de Red de Acceso de la empresa CANTV, en la sede Yaracuy. El desarrollo se realizó siguiendo una metodología basada en la teoría de sistemas y en los métodos propios de la ciencia ingenieril. Para ello se hizo uso de la metodología RUP. Esta metodología proporcionó la estructura que permitió armar el plan de trabajo que permitió implementar el CANTVMat. De esta idea se deriva que: La metodología RUP cuenta con una guía factible de ser usada en la elaboración de un producto software tal como el sistema CANTV-Mat. En la realización de un sistema se debe llevar un plan de trabajo que lo guiará hasta su culminación. En la primera etapa de la metodología, Fase Inicio, se definió y se acordaron los alcances del proyecto, se identificaron los riesgos, se propuso una visión muy general de la arquitectura del sistema CANTV-Mat. Las principales tareas fueron Recopilar Requisitos, Encontrar Casos de Uso y Determinar y Detallar los Casos de Uso, se pretendía lograr era una extensa descripción del sistema, por medio de entrevistas con el Supervisor de la Oficina de Red de Acceso, y una serie de minuciosas pruebas al sistema anterior. Lo que correspondía ahora, era establecer los criterios de 123 evaluación de las pruebas anteriores, que encausarían los esfuerzos para obtener la amplia y necesaria descripción del sistema. Las fases posteriores estaban dirigidas a la elaboración, construcción y transición del sistema. Para alcanzar lo que se había propuesto como producto de la fase elaboración, fue necesario dirigir el proceso mediante Casos de Uso, es así como surgió la necesidad de detectar las clases, paquetes y subsistemas. Al aplicar estas técnicas y cumplir con cada disciplina de la metodología RUP se obtuvo interfaces, una base datos y un servidor, que formarían parte de la arquitectura del CANTV-Mat. Cuando se menciona la interfaz del sistema, se debe recordar que se emplearon variados lenguajes como HTML 5, CSS 3, PHP 5.5, JAVASCRIPT y se utilizó un entorno de trabajo o framework, como lo permite la metodología RUP, este framework es Bootstrap, que fue desarrollado por ingenieros de la empresa Twitter, quienes decidieron liberar el código. Dadas las capacidades que aporta al manejo de las interfaces de usuario, con el renombrado Diseño Adaptativo, que permite, por consiguiente, añadirle un valor agrado al sistema al poder ser operativo con cien por ciento de seguridad en tablets y teléfonos inteligentes, esto va de la mano con una de las necesidades principales que presentaba la elaboración de interfaces, el desarrollo de interfaces agradables al usuario y que no representara esto una desmejora en la seguridad del sistema. Fue necesario familiarizarse con una muy extensa cantidad de clases, objetos y paquetes pertenecientes al Bootstrap, lo que conllevó a realizar una robusta y extensa definición, análisis y diseño de clases. No quedó hasta ahí la definición de las clases, serían necesarias una serie de clases que le permitieran a estas interfaces poder interactuar con la base de datos, entonces, entró en juego el PHP, definiendo concretamente dos clases para procesar los datos requeridos y para emitir órdenes, algunas 124 de esas validaciones eran por ejemplo, establecer ciertos campos como “requeridos”, además se necesitó y se empleó el PHP para establecer la conexión con la base de datos, para esto se creó el objeto conectar.php el cual era incluido en cada subsistema que requería obtener o modificar información de la base de datos. También correspondía a esta fase la elaboración de los diseños prototipos de las interfaces del CANTV-Mat. Una vez dentro de la fase construcción se tenía un propósito, que era el de completar la funcionalidad del sistema, para ello clarificamos los requerimientos, se administraron ciertos cambios a partir de las evaluaciones realizada por usuarios y se introdujeron como mejoras al sistema CANTVMat. Fue en esta etapa donde se concretaron las ideas de innovación y los muy recalcados requisitos expuestos por el Supervisor de la empresa CANTV. En la actualidad los sistemas de información web presentan una tendencia que va de la mano con el arte minimalista, y los diseñadores gráficos se han encargado de proveerle al minimalismo de los website un nivel de calidad muy superior, creando una serie de temas, combinaciones de colores, iconos en incluso sonido de fondo en las diferentes websites que apliquen esta técnica de diseño. Tal “minimalismo” encajó perfectamente con los requisitos de crear un sistema de bajo consumo de recursos de hardware, resultando así unas interfaces ligeras, de buena calidad visual pero sobretodo, estables. En el contexto del subsistema de validación de datos, se desarrollaron dos objetos que manejarían los datos código y cantidad del material, ya que estos requieren un seguimiento especial y para no alterar con valores negativos la base de datos y asegurar que seleccionamos el material deseado. La principal validación proviene desde el mismo momento que se creó la base de datos en MySQL, al no permitir valores negativos en la Cantidad. 125 En términos de pruebas del sistema, se puede decir, que la emisión de órdenes impresas no garantiza haber aprobado los requerimientos, yendo más allá, fue a través de una técnica de “Stress” del sistema donde se comprobó y se determino que, bajo circunstancias normales el sistema CANTV-Mat no se tornó inoperativo, presentó fallas o redujo su rendimiento en términos de funcionalidad, tampoco elevó el consumo de recursos de hardware. Se creó una interfaz de usuario lo suficientemente intuitiva para agilizar la concreción de la disciplina de transición. RECOMENDACIONES Para CANTV: Evaluar la posibilidad de aumentar el número de técnicos destinados a resolver averías. Migrar de manera definitiva a un Sistema Operativo de base Unix, ya sea por la vía de mejorar el Sistema Operativo Canaima o utilizar uno más estable. Algunas de las aplicaciones web de CANTV fueron desarrolladas en la tecnología ASP que es privativa, se recomiendo migrar esas aplicaciones web a PHP. Utilizar UPS para la protección de los equipos electrónicos de las distintas oficinas. Disminuir la dependencia del SAP creando y desarrollando nuevo software. Actualizar software que son de vieja data y que hoy en día pueden resultar perjudiciales para el funcionamiento de la empresa. 126 Para la Universidad Nacional Abierta: Crear un manual extenso, detallado y que ejemplifique el desarrollo metodológico de las asignaturas Practica Profesional 1 y Practica Profesional 2, y que este manual esté disponible en digital. Es urgente la actualización de los pensum de estudios, asignaturas como Computación 2 Procesamiento de Datos y Base de Datos deberían utilizarse para impulsar, nivelar y superar a los estudiantes de la UNA en comparación a los estudiantes de otras universidades. Por ejemplo, computación 1 pudiera estar enfocada a aplicaciones sencillas de escritorio con java básico. computación 2 debería apuntar hacia páginas o aplicaciones web. Procesamiento de Datos pudiera estar enfocada a como conectarse a las bases de datos desde aplicaciones de escritorio y aplicaciones web. Base de Datos debería apuntar hacia el manejo de SQL y que el estudiante decida cual manejador de base de datos utilizar. 127 REFERENCIAS [Tamayo, M. y Tamayo 2008]. “Metodología de la Investigación”, México: Mc Graw. Hill Editores. [Sabino, C. 2007]. "El Proceso de Investigación". Caracas: El Cid Editor. [Fidias G. Arias 2012] “El Proyecto de Investigación”, Editorial Epistemel. [Martin Fowler 2003] “UML Distilled 3rd Edition”. [Tom Pender, John Wiley and Sons 2010] “UML Bible”. [Thomas M. Connolly y Carolyn E. Beggs, Pearson, Addison Wesley] “Sistemas de Base de Datos”, 4ta Edición. [Ivar Jaconson, Grady Booch, James Rumbaugh 2000], “El Proceso Unificado De Desarrollo De Software”, editorial Addyson Wesley. [Georges Gardarin] “Bases de Datos”, Paraninfo. [IBM Capacitación] “Base de Datos 1”. Networking All-in-One Desk Reference 4th Edition. [Uyless Black] “Redes de Computadoras, Protocolos, Normas e Interfaces”, Coedición: Macrobit y ra-ma”. 128 [Crreswill, J. 2005]. “Educational research: Planning,conducting,and evaluating quantitative and qualitative”. Research (2a. ed.). “Upper Saddle River: Pearson Education Inc”. [Mertens, D.M. 2005]. “Research and evaluation methods in special education”. Thounsand Oaks. Cowin Press/Sage. [Hernandez, Fernandez y Baptista]. “Metodología de la Investigación”. Cuarta Edición. Mc Graw Hill. México. [Rojas Soriano, R. 2001]. “Guía para realizar investigaciones sociales”, (26a. ed.). México: Plaza y Valdés. [Yedigis, B.L. y Weinback, R.W. 2005]. “Using existing knowledge”. [En R.M.Grinnell y Y.A. unrau (Eds.)]. “Social work: Research and evaluation. Quantitative and qualitative approaches”, (7a.ed. pp. 45-47). Nueva York: Oxford University Press. Universidad Nacional Experimental Simón Rodríguez, Vice-Rectorado Académico, Programade Postgrado, Alcances Generales Sobre Técnicas Andragógicas de Aprendizaje, Caracas, Universidad Simón Rodríguez. 129
© Copyright 2024