Sistema Gestor de Conocimiento para Pymes

33
Sistema Gestor de Conocimiento para Pymes Instituto Tecnológico de Colima Página 26 3.3. Modelo conceptual La descripción funcional del modelo conceptual Usuarios: En esta sección se analizan los posibles usuarios que podrían intervenir en el proceso del sistema de gestión de conocimiento de la empresa. Personal Operativo: Es este tipo de usuario tendrá acceso a consultar y crear información delimitada por el administrador. Administrador: Este usuario desarrollara las actividades relacionadas de un gerente general o propietario, en donde este puede consultar cualquier vista de Fig. 6 Modelo conceptual

Transcript of Sistema Gestor de Conocimiento para Pymes

Page 1: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 26

3.3. Modelo conceptual

La descripción funcional del modelo conceptual

Usuarios: En esta sección se analizan los posibles usuarios que podrían

intervenir en el proceso del sistema de gestión de conocimiento de la empresa.

Personal Operativo: Es este tipo de usuario tendrá acceso a consultar y

crear información delimitada por el administrador.

Administrador: Este usuario desarrollara las actividades relacionadas de

un gerente general o propietario, en donde este puede consultar cualquier vista de

Fig. 6 Modelo conceptual

Page 2: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 27

información que se genera así como también podrá desarrollar reportes con

graficas e indicadores.

Experto: Es aquel usuario que por medio de la aplicación podrá generar

conocimiento ya teniendo toda la información en nuestro data wherehouse.

Interfaz de usuario: En este proyecto tesis nos enfocaremos en la interfaz del

sistema para generar el conocimiento y en la móvil, esta es un medio gráfico que

se utiliza para consultar a través de un dispositivo móvil como ya se mencionó

anteriormente, todas las operaciones y procesos relacionados con las ventas y

cobranza que se realizan en la empresa.

Servidor: Es el medio de comunicación que permite alojar las bases de datos,

servicios web y software para la minería de datos.

3.3.1. Requerimientos.

Sistema

En este punto se considera toda la información que se puede obtener de nuestras

fuentes de datos, en base de eso analizarla y llegar a la generación de

conocimiento, esto va llevado a que se cumplan los siguientes requerimientos del

sistema:

Generación de Sistema de gestor de conocimiento.

Creación de nuestro data warehouse.

Generación de consultas o plantillas de información (XML).

Generación de Servicio web para la consulta de datos desde móviles.

Generador de métodos de servicios web, que están basados en las

plantillas de información (XML).

Generador de reportes gráficos, tablas dinámicas, información plana

basados a las plantillas de información (XML).

Page 3: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 28

Usuarios

Consultar la información generado por el administrador del sistema.

Consultar la información generada por medio de un móvil dicha información

fue generada por el usuario con el conocimiento.

La información que puede ser obtenida puede ser desde diferente punto de vista

que se desea conocer de la empresa y puede estar basada en el tiempo, costos,

índices de productividad, etc. Para cada área será un resultado diferente.

3.4. Diseño del sistema

En el diseño del sistema presentara el sistema que se desarrolló basado en la

arquitectura SOA debido a que provee un mecanismo de comunicación estándar

entre las aplicaciones y los servicios existentes ver figura siguiente.

Page 4: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 29

3.4.1. Diseño arquitectónico

Fig. 7 Modelo de la arquitectura del sistema

La arquitectura orientada a servicios es un paradigma para diseñar y desarrollar

sistemas distribuidos, permitiendo así que nuestro sistema de información sea

altamente escalable.

3.4.2. Diseño de la base de datos (Diagrama Entidad-

Relación)

En esta sección se muestra un ejemplo del diagrama entidad relación en donde se

muestran las tablas necesarias para el proceso de gestión de conocimiento de

algunos departamentos, así como las relaciones entre estas y sus respectivas

llaves principales, el modelo está enfocado en el área administrativa de la

empresa.

Page 5: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 30

Uno de los motor de base de datos utilizado para el desarrollo de este trabajo es

SQL Server en su versión 2008 R2 es un sistema manejador de base de datos

cliente – servidor manejando los lenguajes para consultas son T-SQL y ANSI SQL.

Microsoft SQL Server. Funciona en plataformas Windows NT/2000/2003/XP/Vista,

además, puede ser usado con la mayoría de los lenguajes de programación

incluyendo C, C++, Python, Java, Tcl, PHP y Visual Basic.

Otros de los motores que se utilizaron fue Firebrid es un servidor de datos

multiplataforma que ha sido desarrollado a partir del código de Interbase 6.0 que

años atrás Borland Software Corp. Entrego al público del software libre bajo la

Licencia Publica de Interbase. Es muy práctico en todo sentido; sencillo de

instalar, fácil de usar, requiere poca administración con requerimientos da

hardware bajos y es gratuito, es un motor de base datos muy poco conocido al

contrario que un SQL SERVER.

Por último la otra fuente de datos que se utilizó fueron las hojas de cálculo en

Excel, se utilizó esta fuente información ya que en la mayoría de los sistemas se

puede exportar la información en Excel y desde ahí procesarla.

En seguida se presenta el diseño de entidad relación de los procesos del sistema.

La siguiente figura (Fig. 8) muestra el modelo entidad relación del proceso del

detalle de las ventas de la empresa de donde se aplicó el proyecto., generando las

relaciones de almacenes, artículos y detalle del documento de ventas.

Page 6: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 31

La siguiente figura (Fig. 9) muestra el modelo entidad relación del proceso del

detalle de inventarios de la empresa de donde se aplicó el proyecto.

Fig. 8 Diagrama entidad-relación del proceso de ventas

Fig. 9 Proceso de Inventarios

Page 7: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 32

La siguiente figura (Fig. 10) muestra el modelo entidad relación del proceso del

detalle de cuentas por cobrar de la empresa de donde se aplicó el proyecto.

3.4.3. Diseño de interfaces

La interfaz de usuario le permite interactuar con la información del sistema que se

desarrolló para el manejo de la información por lo tanto mostraremos algunas de

las interfaces necesarias para lograr el proceso de gestión de conocimiento para la

empresa.

El sistema que se encarga de procesar la información de nuestras distintas

fuentes de datos se instaló en el servidor, dicho sistema es el que procesa la

información de distintas fuentes de datos para ser procesadas y generar el Data

Wherehouse de la empresa.

Interfaz de selección de fuente de datos y procesamiento de datos como se

muestra en la figura (Fig. 11).

Fig. 10 Proceso de Cuentas por Cobrar

Page 8: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 33

Fig. 11 Interfaz de selección de fuente de datos

Interfaz para la creación de plantillas (XML) para la extracción de información

como se muestra en la figura 12.

Este módulo es un editor de consultas, mostrando la lista de entidades del sistema

de data Wherehouse así como los atributos de cada uno de ellos con ayuda

básica de generación de consultas. Dentro de esta interfaz podemos compilar la

consulta para revisar si la información que estamos requiriendo es correcta.

Cuneta con la opción de guardar el esquema XML con un nombre específico.

Page 9: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 34

Interfaz para la visualización de información en gráficos lineales figura 13. Esta

interfaz muestra de forma gráfica los datos procesados por medio del esquema

XML que se generó previamente.

Fig. 12 Creación de plantillas XML para la extracción de Información.

Fig. 13 Grafico Lineal de Información.

Page 10: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 35

Interfaz para la visualización de información en gráficos de barras figura 14. Esta

interfaz muestra de forma gráfica los datos procesados por medio del esquema

XML que se generó previamente.

Interfaz para la visualización de información en gráficos de pastel figura 15. Esta

interfaz muestra de forma gráfica los datos procesados por medio del esquema

XML que se generó previamente.

Fig. 15 Grafica en Pastel de Información.

Fig. 14 Grafica en Barra de Información.

Page 11: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 36

Interfaz para la visualización de información en forma de tabla dinámica, cargando

plantillas de formatos ya establecidos por un usuario, como se muestra en la figura

16.

Interfaz para la para la creación de servicios web de manera transparante para el

usuario por medio del XML que se generó previamente, como se muestra en la

figura 17

Fig. 16 Interfaz de visualización en tabla dinámica.

Fig. 17 Creación de servicios web por medio de XML.

Page 12: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 37

Servicios web creados y montados en el servidor IIS, figura 18.

A continuación se presenta algunas de las interfaces móviles para la consulta de

información mediante el dispositivo móvil. Interfaz inicial de la aplicación móvil.

Pantalla principal del sistema móvil desarrollara para sistema android figura 19.

Fig. 18 Servicios Web para aplicación Móvil.

Fig. 19 Pantalla Principal

Page 13: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 38

En la figura 20 se muestra la pantalla de configuración del servicio web donde el

sistema se enlazara para extraer la información para ser visualizada.

La siguiente interfaz es para el inicio de sesión del usuario del dispositivo móvil

(Fig. 21)

Fig. 20 Pantalla de Configuración del WS

Fig. 21 Inicio de Sesión

Page 14: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 39

En la figura 22 se muestra el menú de los servicios web que se precargaron en el

sistema del servidor.

Visualización de información de forma totalizada ver imagen 23.

Figura 1 Detalle de un

Fig. 22 Menú del sistema móvil.

Fig. 23 Total de consulta

Page 15: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 40

Visualización de información de forma detallada ver imagen 23.

3.5. Programación

La programación del proyecto tiene como objetivo dar a conocer el procedimiento

con el que se desarrollaron los módulos que conforman el sistema. Se encuentra

organizado en 4 fases:

Creación del software para la extracción de información.

Creación de los servicios web.

Configuración del IIS.

Desarrollo de la aplicación móvil.

Fig. 24 Detalle del Total de Consulta

Page 16: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 41

3.5.1. Creación del Software para la extracción de

información.

La primera fase es el desarrollo del software para la extracción de datos y

visualización de información el cual se creó en el lenguaje de programación .NET

2012 en combinación con las librerías de Devexpress dicha librería contiene

herramientas para la visualización de información así como diseños en sus

formularios.

3.5.2. Desarrollo de los servicios web.

Para la segunda fase que está enfocada en el desarrollo de los servicios Web o

WebService que es un servicio ofrecido por una aplicación que expone su lógica a

clientes de cualquier plataforma mediante una interfaz accesible a través de la red

utilizando tecnologías (protocolos) estándar de Internet.

La idea de los servicios es la misma, aunque éstos no tienen por qué estar en el

misma pc que el cliente y además son accedidos a través de un servidor Web y de

un modo independiente de la plataforma, utilizando protocolos estándar (HTTP,

SOAP, WSDL, UDDI) ver imagen 25.

Page 17: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 42

Para la implementación de estos servicios tenemos que cumplir con 2 requisitos

previos.

Microsoft Internet Información Services (IIS) instalado localmente en el

equipo.

.NET Framework versión 3.5 o posterior.

El primer elemento que se tomó en cuenta para el desarrollo del servicio web fue

la configuración del método de envió de parámetros para nuestra conexión con el

dispositivo móvil, para el desarrollo del proyecto presentado en este documento se

trabajó con el método POST ya que este método es más seguro puesto que no

van los datos que se solicitan por medio de la URL la configuración se hace en el

archivo web.config, en la siguiente figura se muestra el código de la configuración

del servicio web como se muestra en la tabla 1 .

Fig. 25 Pila de protocolo os de los WebService

Page 18: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 43

Definido el método de envió de datos continuamos con conexión con el servidor

de datos, es aquí cuando se define la conexión entre el cliente y el servidor de

datos. Para nuestro caso manejamos una conexión interna para la comunicación

con el servidor de datos nuestro data warehouse , en la figura se muestra la parte

de código de conexión entre el servicio web y los datos (ver tabla 2).

Para realizar el cambio de información con el dispositivo móvil utilizamos JSON

que es un formato ligero para el intercambio de datos, para ello generamos una

función para que las respuestas de las funciones de nuestro servicio web no las

interpretara en el formato JSON, la tabla 3 se muestra parte del código que hace

la interpretación de los datos.

<webServices>

<protocols>

<add name="HttpPost"/>

<remove name="HttpGet" />

<remove name="HttpSoap" />

</protocols>

</webServices>

Function conexion_datahouse ()

Try

Dim strConn As String = "User=SYSDBA; Password=*****;

Database=D:\Microsip

datos\datahouses.FDB;DataSource=localhost;"

Conexion = New FirebirdSql.Data.FirebirdClient.FbConnection

(strConn)

Conexion.Open ()

If Conexion.State = ConnectionState.Open Then

Return True

Else

Return False

End If

Return True

Catch A As Exception

Return False

End Try

End Function

Tabla 2 Conexión interna para la comunicación con el servidor de datos

Tabla 1 Configuración del método POST

Page 19: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 44

3.5.3. Configuración IIS.

Una vez creado el servicio web del data werehouse es necesario publicarlo para

que pueda ser consumido por el sistema cliente móvil (Android).

Para el caso particular del proyecto de tesis los servicios web fueron hospedado

en un servidor Web IIS de Windows server 2008.

Para hospedar correctamente el servicio web fue necesario instalar primero el IIS,

después de instalar el IIS se creó una nueva aplicación para este caso se llamada

wsSIG, en la figura 27 se muestra la creación de la aplicación del servicio web y

en la figura 28 se presenta el servicio web ya agregado al IIS.

Public Function GetJson(ByVal dt As DataTable) As String

Dim serializer As

System.Web.Script.Serialization.JavaScriptSerializer = New

System.Web.Script.Serialization.JavaScriptSerializer()

Dim rows As New List(Of Dictionary(Of String, Object))

Dim row As Dictionary(Of String, Object)

Try

For Each dr As DataRow In dt.Rows

row = New Dictionary(Of String, Object)

For Each col As DataColumn In dt.Columns

row.Add(col.ColumnName, dr(col))

Next

rows.Add(row)

Next

Return serializer.Serialize(rows)

Catch ex As Exception

Return "-1"

End Try

End Function

End Function

Tabla 3 Función JSON para envió de datos.

Page 20: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 45

Fig. 26 Agregar Servicio Web como aplicación.

.

Dentro del directorio que se genera con la aplicación se agregan a ese directorio

los archivos fuentes para el funcionamiento del servicio, en seguida se listan los

archivos copiados, en la figura se muestra 28 la imagen del directorio de la

aplicación:

Fig. 27 Servicio web de alta en el IIS.

Page 21: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 46

carpeta bin. Esta carpeta contiene archivos y librerías de los códigos que

hacen operar el servicio.

Informacion.asmx. Es el archivo que contiene la definición de los servicios

web.

web.config. Contiene la configuración en XML del servicio web.

Una vez que el servidor este configurado para ser utilizado por las aplicaciones

clientes es necesario hacer la prueba de invocación al servicio web para esto en el

explorador de internet, tecleamos la url:

http://localhost:8081/wsSIG/Informacion.asmx se llama al servicio web como se

muestra en la figura 29.

Fig. 28 Directorio los archivos fuentes.

Page 22: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 47

Para comprobar si está funcionando correctamente el servicio web bastara con

seleccionar uno de los web métodos web que tenemos en ese momento

disponible como se muestra en la figura 30.

Fig. 29 Invocando al servicio web.

Fig. 30 Ejecución de un método web.

Page 23: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 48

3.5.4. Desarrollo de la aplicación móvil.

Esta fase habla sobre el desarrollo del software para la consulta y visualización de

información por medio del dispositivo móvil: tableta o teléfono con sistema base

Android la cual se creó en el lenguaje Java y con el entorno de desarrollo de

Eclipse; proporciona un editor gráfico de layouts, que aparece cuando se

selecciona el correspondiente fichero .xml bajo el directorio “res/layout”, la cual se

muestra en la siguiente figura 31.

Fig. 31 Editor gráfico de layouts

Las zonas marcadas de la imagen corresponden a:

1. Es donde se visualiza el aspecto de la pantalla que se está editando

2. Es la paleta, en donde es posible seleccionar distintos layouts y controles

para incorporar a la interfaz.

3. Pestañas para pasar del editor gráfico al editor de texto y viceversa

Page 24: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 49

4. Selección del tamaño y resolución de la pantalla para la cual se está

realizando el diseño

5. Selector para ver la pantalla en vertical u horizontal

6. Representación en forma de árbol de la estructura jerárquica de layouts y

elementos añadidos a la pantalla.

En seguida se muestra parte del código para el consumo de los servicios web

desde Android, este código fue el más se utilizó en el sistema móvil ya que la

aplicación solo consume los servicios web con envió de parámetros para mostrar

la información de una forma rápida y sencilla (ver tabla 4).

Tabla 4 Consumo de Servicios Web.

3.5.5. De interfaces

Para el diseño de interfaces del software para la extracción de datos y

visualización de información se utilizó DevExpress la cual es un conjunto de

herramientas de desarrollo de software más completa para desarrolladores .NET

2012. Crear aplicaciones para Windows, Web, Móviles y Tablet con DevExpress

ahora es más fácil mediante WinForms.

Page 25: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 50

Código de la generación de Interfaz de la selección de fuente de datos y

procesamiento de datos como se muestra en la siguiente tabla.

Tabla 5 Código interfaz de fuente de datos.

<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _

Partial Class frmCargaFuenteDatos

Inherits System.Windows.Forms.Form

'Form overrides dispose to clean up the component list.

<System.Diagnostics.DebuggerNonUserCode()> _

Protected Overrides Sub Dispose(ByVal disposing As Boolean)

Try

If disposing AndAlso components IsNot Nothing Then

components.Dispose()

End If

Finally

MyBase.Dispose(disposing)

End Try

End Sub

'Required by the Windows Form Designer

Private components As System.ComponentModel.IContainer

'NOTE: The following procedure is required by the Windows Form Designer

'It can be modified using the Windows Form Designer.

'Do not modify it using the code editor.

<System.Diagnostics.DebuggerStepThrough()> _

Private Sub InitializeComponent()

Me.PanelControl1 = New DevExpress.XtraEditors.PanelControl()

Me.LabelControl1 = New DevExpress.XtraEditors.LabelControl()

Me.chkalmacen = New DevExpress.XtraEditors.CheckEdit()

Me.txtnombre = New DevExpress.XtraEditors.TextEdit()

Me.LabelControl3 = New DevExpress.XtraEditors.LabelControl()

Me.TextEdit1 = New DevExpress.XtraEditors.TextEdit()

Me.LabelControl4 = New DevExpress.XtraEditors.LabelControl()

Me.TextEdit2 = New DevExpress.XtraEditors.TextEdit()

Me.LabelControl5 = New DevExpress.XtraEditors.LabelControl()

Me.TextEdit3 = New DevExpress.XtraEditors.TextEdit()

Me.LabelControl6 = New DevExpress.XtraEditors.LabelControl()

Me.GroupControl1 = New DevExpress.XtraEditors.GroupControl()

Me.GroupControl2 = New DevExpress.XtraEditors.GroupControl()

Me.CheckEdit1 = New DevExpress.XtraEditors.CheckEdit()

Me.TextEdit4 = New DevExpress.XtraEditors.TextEdit()

Me.LabelControl2 = New DevExpress.XtraEditors.LabelControl()

Me.LabelControl7 = New DevExpress.XtraEditors.LabelControl()

Me.TextEdit5 = New DevExpress.XtraEditors.TextEdit()

Me.TextEdit6 = New DevExpress.XtraEditors.TextEdit()

Me.LabelControl8 = New DevExpress.XtraEditors.LabelControl()

Me.LabelControl9 = New DevExpress.XtraEditors.LabelControl()

Me.TextEdit7 = New DevExpress.XtraEditors.TextEdit()

Me.GroupControl3 = New DevExpress.XtraEditors.GroupControl()

Me.CheckEdit2 = New DevExpress.XtraEditors.CheckEdit()

Me.LabelControl10 = New DevExpress.XtraEditors.LabelControl()

Me.TextEdit9 = New DevExpress.XtraEditors.TextEdit()

Me.SimpleButton4 = New DevExpress.XtraEditors.SimpleButton()

Me.SimpleButton2 = New DevExpress.XtraEditors.SimpleButton()

CType(Me.PanelControl1, System.ComponentModel.ISupportInitialize).BeginInit()

Me.PanelControl1.SuspendLayout()

CType(Me.chkalmacen.Properties,

System.ComponentModel.ISupportInitialize).BeginInit()

CType(Me.txtnombre.Properties,

System.ComponentModel.ISupportInitialize).BeginInit()

CType(Me.TextEdit1.Properties,

System.ComponentModel.ISupportInitialize).BeginInit()

CType(Me.TextEdit2.Properties,

System.ComponentModel.ISupportInitialize).BeginInit()

Page 26: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 51

CType(Me.TextEdit3.Properties,

System.ComponentModel.ISupportInitialize).BeginInit()

CType(Me.GroupControl1, System.ComponentModel.ISupportInitialize).BeginInit()

Me.GroupControl1.SuspendLayout()

CType(Me.GroupControl2, System.ComponentModel.ISupportInitialize).BeginInit()

Me.GroupControl2.SuspendLayout()

CType(Me.CheckEdit1.Properties,

System.ComponentModel.ISupportInitialize).BeginInit()

CType(Me.TextEdit4.Properties,

System.ComponentModel.ISupportInitialize).BeginInit()

CType(Me.TextEdit5.Properties,

System.ComponentModel.ISupportInitialize).BeginInit()

CType(Me.TextEdit6.Properties,

System.ComponentModel.ISupportInitialize).BeginInit()

CType(Me.TextEdit7.Properties,

System.ComponentModel.ISupportInitialize).BeginInit()

CType(Me.GroupControl3, System.ComponentModel.ISupportInitialize).BeginInit()

Me.GroupControl3.SuspendLayout()

CType(Me.CheckEdit2.Properties,

System.ComponentModel.ISupportInitialize).BeginInit()

CType(Me.TextEdit9.Properties,

System.ComponentModel.ISupportInitialize).BeginInit()

Me.SuspendLayout()

'

'PanelControl1

'

Me.PanelControl1.Controls.Add(Me.SimpleButton2)

Me.PanelControl1.Controls.Add(Me.GroupControl3)

Me.PanelControl1.Controls.Add(Me.GroupControl2)

Me.PanelControl1.Controls.Add(Me.GroupControl1)

Me.PanelControl1.Controls.Add(Me.LabelControl1)

Me.PanelControl1.Dock = System.Windows.Forms.DockStyle.Fill

Me.PanelControl1.Location = New System.Drawing.Point(0, 0)

Me.PanelControl1.Name = "PanelControl1"

Me.PanelControl1.Size = New System.Drawing.Size(523, 486)

Me.PanelControl1.TabIndex = 2

'

'LabelControl1

'

Me.LabelControl1.Appearance.Font = New System.Drawing.Font("Tahoma", 14.25!,

System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))

Me.LabelControl1.Location = New System.Drawing.Point(66, 5)

Me.LabelControl1.Name = "LabelControl1"

Me.LabelControl1.Size = New System.Drawing.Size(419, 23)

Me.LabelControl1.TabIndex = 4

Me.LabelControl1.Text = "Seleccionar fuente de datos de información."

'

'chkalmacen

'

Me.chkalmacen.Location = New System.Drawing.Point(347, 21)

Me.chkalmacen.Name = "chkalmacen"

Me.chkalmacen.Properties.Appearance.Font = New System.Drawing.Font("Tahoma", 9.0!,

System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))

Me.chkalmacen.Properties.Appearance.Options.UseFont = True

Me.chkalmacen.Properties.Caption = "Procesar"

Me.chkalmacen.Size = New System.Drawing.Size(87, 19)

Me.chkalmacen.TabIndex = 154

'

'txtnombre

'

Me.txtnombre.EditValue = "192.168.1.2"

Me.txtnombre.Location = New System.Drawing.Point(154, 42)

Me.txtnombre.Name = "txtnombre"

Me.txtnombre.Size = New System.Drawing.Size(280, 20)

Me.txtnombre.TabIndex = 151

'

'LabelControl3

'

Me.LabelControl3.Appearance.Font = New System.Drawing.Font("Tahoma", 9.75!,

System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))

Me.LabelControl3.Location = New System.Drawing.Point(23, 43)

Page 27: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 52

Código de la Interfaz para la creación de plantillas (XML) para la extracción de

información como se muestra en la tabla.

Tabla 6 Código de Interfaz generador de Datos.

<System.Diagnostics.DebuggerNonUserCode()> _

Protected Overrides Sub Dispose(ByVal disposing As Boolean)

Try

If disposing AndAlso components IsNot Nothing Then

components.Dispose()

End If

Finally

MyBase.Dispose(disposing)

End Try

End Sub

'Required by the Windows Form Designer

Private components As System.ComponentModel.IContainer

'NOTE: The following procedure is required by the Windows Form Designer

'It can be modified using the Windows Form Designer.

'Do not modify it using the code editor.

<System.Diagnostics.DebuggerStepThrough()> _

Private Sub InitializeComponent()

Dim SuperToolTip1 As DevExpress.Utils.SuperToolTip = New

DevExpress.Utils.SuperToolTip()

Dim ToolTipTitleItem1 As DevExpress.Utils.ToolTipTitleItem = New

DevExpress.Utils.ToolTipTitleItem()

Me.SimpleButton1 = New DevExpress.XtraEditors.SimpleButton()

Me.TXTCONSULTA = New DevExpress.XtraEditors.MemoEdit()

Me.SimpleButton2 = New DevExpress.XtraEditors.SimpleButton()

Me.LabelControl1 = New DevExpress.XtraEditors.LabelControl()

Me.gc_resultados = New DevExpress.XtraGrid.GridControl()

Me.GridView1 = New DevExpress.XtraGrid.Views.Grid.GridView()

Me.lue_vistas = New DevExpress.XtraEditors.LookUpEdit()

Me.txtnombre = New DevExpress.XtraEditors.TextEdit()

Me.SimpleButton3 = New DevExpress.XtraEditors.SimpleButton()

Me.LabelControl2 = New DevExpress.XtraEditors.LabelControl()

Me.txtdescripcion = New DevExpress.XtraEditors.TextEdit()

Me.chkalmacen = New DevExpress.XtraEditors.CheckEdit()

Me.chkfechas = New DevExpress.XtraEditors.CheckEdit()

Me.chkfechafin = New DevExpress.XtraEditors.CheckEdit()

Me.SimpleButton4 = New DevExpress.XtraEditors.SimpleButton()

Me.SimpleButton5 = New DevExpress.XtraEditors.SimpleButton()

Me.SimpleButton6 = New DevExpress.XtraEditors.SimpleButton()

CType(Me.TXTCONSULTA.Properties,

System.ComponentModel.ISupportInitialize).BeginInit()

CType(Me.gc_resultados, System.ComponentModel.ISupportInitialize).BeginInit()

CType(Me.GridView1, System.ComponentModel.ISupportInitialize).BeginInit()

CType(Me.lue_vistas.Properties,

System.ComponentModel.ISupportInitialize).BeginInit()

CType(Me.txtnombre.Properties, System.ComponentModel.ISupportInitialize).BeginInit()

CType(Me.txtdescripcion.Properties,

System.ComponentModel.ISupportInitialize).BeginInit()

CType(Me.chkalmacen.Properties,

System.ComponentModel.ISupportInitialize).BeginInit()

CType(Me.chkfechas.Properties, System.ComponentModel.ISupportInitialize).BeginInit()

CType(Me.chkfechafin.Properties,

System.ComponentModel.ISupportInitialize).BeginInit()

Me.SuspendLayout()

'

'SimpleButton1

'

Me.SimpleButton1.Appearance.Font = New System.Drawing.Font("Tahoma", 8.25!,

System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))

Me.SimpleButton1.Appearance.Options.UseFont = True

Me.SimpleButton1.Image = Global.PizzaHappy.My.Resources.Resources.rayo_icono_7354_32

Page 28: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 53

Me.SimpleButton1.Location = New System.Drawing.Point(12, 241)

Me.SimpleButton1.Name = "SimpleButton1"

Me.SimpleButton1.Size = New System.Drawing.Size(117, 36)

Me.SimpleButton1.TabIndex = 0

Me.SimpleButton1.Text = "Ejecutar"

'

'TXTCONSULTA

'

Me.TXTCONSULTA.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or

System.Windows.Forms.AnchorStyles.Left) _

Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)

Me.TXTCONSULTA.Location = New System.Drawing.Point(12, 60)

Me.TXTCONSULTA.Name = "TXTCONSULTA"

Me.TXTCONSULTA.Properties.Appearance.Font = New System.Drawing.Font("Tahoma", 9.0!,

System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))

Me.TXTCONSULTA.Properties.Appearance.Options.UseFont = True

Me.TXTCONSULTA.Size = New System.Drawing.Size(914, 175)

Me.TXTCONSULTA.TabIndex = 1

'

'SimpleButton2

'

Me.SimpleButton2.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or

System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)

Me.SimpleButton2.Appearance.Font = New System.Drawing.Font("Tahoma", 8.25!,

System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))

Me.SimpleButton2.Appearance.Options.UseFont = True

Me.SimpleButton2.Image = Global.PizzaHappy.My.Resources.Resources.guardar

Me.SimpleButton2.Location = New System.Drawing.Point(808, 241)

Me.SimpleButton2.Name = "SimpleButton2"

Me.SimpleButton2.Size = New System.Drawing.Size(117, 36)

Me.SimpleButton2.TabIndex = 2

Me.SimpleButton2.Text = "Guardar"

'

'LabelControl1

'

Me.LabelControl1.Appearance.Font = New System.Drawing.Font("Tahoma", 9.75!,

System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))

Me.LabelControl1.Location = New System.Drawing.Point(12, 12)

Me.LabelControl1.Name = "LabelControl1"

Me.LabelControl1.Size = New System.Drawing.Size(109, 16)

Me.LabelControl1.TabIndex = 3

Me.LabelControl1.Text = "Nombre Consulta"

'

'gc_resultados

'

Me.gc_resultados.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or

System.Windows.Forms.AnchorStyles.Bottom) _

Or System.Windows.Forms.AnchorStyles.Left) _

Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)

Me.gc_resultados.Location = New System.Drawing.Point(14, 283)

Me.gc_resultados.MainView = Me.GridView1

Me.gc_resultados.Name = "gc_resultados"

Me.gc_resultados.Size = New System.Drawing.Size(911, 205)

Me.gc_resultados.TabIndex = 4

Me.gc_resultados.ViewCollection.AddRange(New

DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView1})

'

'GridView1

'

Me.GridView1.GridControl = Me.gc_resultados

Me.GridView1.Name = "GridView1"

Me.GridView1.OptionsBehavior.Editable = False

Me.GridView1.OptionsView.GroupDrawMode =

DevExpress.XtraGrid.Views.Grid.GroupDrawMode.Office2003

Me.GridView1.OptionsView.ShowAutoFilterRow = True

Me.GridView1.OptionsView.ShowGroupPanel = False

'

'lue_vistas

'

Me.lue_vistas.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or

System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) '

Page 29: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 54

3.6. Pruebas

3.6.1 De unidad e integración

Para llevar a cabo esta prueba de integración se utilizó cada uno de los módulos

del sistema que procesa la información, así como la integración de los servicios

web y la aplicación móvil.

En si todo el sistema estuvo trabajando correctamente y mostrando su

procesamiento e información que se pedía para cada sección.

Fig. 32 Prueba de integración con el proceso de información.

Se generaron pruebas de tiempos entre el proceso que se manejaba actualmente

con el proceso implementado de esta tesis y se obtuvieron resultados favorables

para el proceso implementados puesto que se bajaron los tiempos a un 80% de

cómo se estaba trabajando anteriormente para esto ver anexos 1 y 2.

Page 30: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 55

3.6.2 De operación

Para llevar a cabo esta prueba se testearon los distintos módulos bajo los

distintos posibles errores en tiempo de ejecución que podrían en un caso dado

aparecer, entre ellos un apagón de servidor al momento de un procesamiento de

datos, los resultados fueron favorables ya que tanto la información de las fuente

de datos y la información del servidor no resultó dañada.

Por parte de los servicios web las pruebas fueran favorables ya que se ejecutaron

con datos incongruentes y su operación se detenía sin problemas para ser otra

vez procesados.

En la parte móvil se probó la aplicación en distintas versiones de Android y

encontramos una deficiencia, la aplicación debe ser ejecutada en Android versión

4.0 o superior ya algunas funciones que necesita la aplicación no son soportadas

por versiones anteriores.

3.6.3 De Tención

La prueba realizada consistió en el procesamiento de información histórica de las

bases de datos de respaldo de sus sistemas en el servidor, también en ese mismo

lapso de tiempo consultar desde dispositivos móvil y consultar información con

gráficos.

Para realizar esta prueba se utilizó un servidor, un cliente de escritorio y 2 móviles

ver tabla 7,8 y 9.

Tabla 7 Características del Servidor.

Procesador Intel(R) CPU E3-1220 V2 @ 3.10 GHz

Memoria 8.00 GB

Disco duro 1 TB Serial ATA

Velocidad de disco duro 7200 r/min

Sistema Operativo Windows Server Enterprise 2008 64 bits

Page 31: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 56

Tabla 8 Características del Cliente Escritorio.

Procesador Intel(R) Core(TM) i-3 CPU 2.10 GHz

Memoria 4.00 GB

Disco duro 500 GB Serial ATA

Velocidad de disco duro 7200 r/min

Sistema Operativo Windows7 64 bits

Tabla 9 Características de dispositivo móvil.

Procesador Procesador de 4 núcleos de 1,6 GHz

Memoria 2 GB (RAM)

Disco duro 32 GB

Sistema Operativo Android 4.1 (Jelly Bean)

Las pruebas realizadas fueron aceptadas debido a que el tiempo de

procesamiento es muy corto porque está basado a la normalización de los datos y

a los índices manejados en las tablas así como el proceso de extracción , en la

figura 32 mostramos el trabajo del servidor al momento de generar las peticiones.

Page 32: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 57

Fig. 33 Rendimiento de Servidor.

3.6.4 De usabilidad

La usabilidad es importante principalmente en la interfaz móvil, que es donde los

usuarios interactúan más con el dispositivo cada uno de diferentes características,

la navegación del App es fluida, simple y fácil de entender, sin presentar

características complicadas, esto proporciona que los usuarios con niveles básicos

de manejo de aplicaciones para Android puedan utilizar perfectamente la

herramienta.

En el módulo de visualización también se realizaron las pruebas y se aceptó la

forma estructurado del formulario y aprovechando los espacios para realizar 3

tipos de gráficos en el mismo formulario.

Page 33: Sistema Gestor de Conocimiento para Pymes

Sistema Gestor de Conocimiento para Pymes

Instituto Tecnológico de Colima Página 58

3.7 Conclusión

En este capítulo se presentó el desarrollo del proyecto con una serie de pasos a

seguir:

Análisis del sistema: Definir los lineamientos del diseño del software

para tomar el rumbo del desarrollo del proyecto de tesis.

Modelo conceptual: Se desarrolló un modelo conceptual de trabajo del

proyecto

Creación del software para la extracción de información: Se desarrolló

el software de extracción de información de datos.

Creación de los servicios web: Creación de los servicios web para la

consulta desde los dispositivos móviles y tener integrada todo el

desarrollo.

Configuración del IIS: Se configuro el iis para montar los servicios web

en el servidor así enlazando el data werehouse con el dispositivo

móvil.

Desarrollo de la aplicación móvil : Desarrollo del sistema de

información para el dispositivo móvil , aplicación nativa en Android.

En esta capitulo generamos pruebas al sistema para lograr su estabilidad y que su

funcionamiento sea operativo en diferentes escenarios. Las pruebas que se

realizaron son:

De unidad e integración

Tensión

Operación

Usabilidad

Teniendo resultaros objetivos para el sistema desarrolladora para esta tesis.