Sunteți pe pagina 1din 172

1

UNIVERSIDAD TECNOLGICA ISRAEL


FACULTAD DE SISTEMAS INFORMTICOS

TEMA: Desarrollo de un sistema de control de procesos de


entrada y salida de un producto mediante tecnologa mvil
en empresas comerciales

Estudiante
Mara Eulalia Gutirrez Tuapante

Tutor
Ing. Pablo Tamayo

Cuenca Ecuador
Diciembre 2011

UNIVERSIDAD TECNOLGICA ISRAEL


FACULTAD DE SISTEMAS INFORMTICOS

CERTIFICADO DE AUTORA

El documento de tesis con ttulo Desarrollo de un sistema para el control


de entradas y salidas de un producto mediante tecnologa mvil en
empresas comerciales ha sido desarrollado por Mara Eulalia Gutirrez
Tuapante con C.I N 010495243-7 persona que posee los derechos de autora
y responsabilidad, restringindose la copia o utilizacin de cada uno de los
productos de esta tesis sin previa autorizacin.

Mara Eulalia Gutirrez Tuapante

UNIVERSIDAD TECNOLGICA ISRAEL


FACULTAD DE SISTEMAS INFORMTICOS

CERTIFICADO DE RESPONSABILIDAD

Yo, Ing. Pablo Tamayo, certifico que la seora Mara Eulalia Gutirrez
Tuapante con C.I, N. 010495243-7 realiz la presente tesis con el ttulo
Desarrollo de un sistema para el control de entradas y salidas de un
producto mediante tecnologa mvil en empresas comerciales, y que es
autor intelectual del mismo, que es original, autntico y personal.

______________________________
Ing. Pablo Tamayo

UNIVERSIDAD TECNOLGICA ISRAEL


FACULTAD DE SISTEMAS INFORMTICOS

CERTIFICA:

Que el presente trabajo de investigacin Desarrollo de un sistema para el


control de entradas y salidas de un producto mediante tecnologa mvil en
empresas comerciales, realizado por la Sra. Mara Eulalia Gutirrez Tuapante,
egresada de la facultad Sistemas Informticos, se ajusta a los requerimientos
tcnicos-metodolgicos y legales establecidos por la Universidad Tecnolgica
Israel, por lo que se autoriza su presentacin.

Cuenca, 1 de Diciembre de 2011

___________________________
Ing. Pablo Tamayo
DIRECTOR DE TESIS

UNIVERSIDAD TECNOLGICA ISRAEL


FACULTAD DE SISTEMAS INFORMTICOS

ACTA DE CESIN DE DERECHOS

Yo, Mara Eulalia Gutirrez Tuapante declaro conocer y aceptar la disposicin


de la Normativa de la Universidad Tecnolgica Israel que en su parte pertinente
textualmente dice: Forma parte del Patrimonio de la Universidad la propiedad
intelectual de las investigaciones, trabajos cientficos o tcnicos y tesis de
grado que se realicen a travs, o con el apoyo financiero, acadmico o
institucional (operativo) de la Universidad.

Cuenca, Diciembre 1 del 2011

___________________________
Mara Eulalia Gutirrez Tuapante

AGRADECIMIENTO

Quiero agradecer y reconocer la colaboracin de todas las personas que


hicieron posible que esta tesis se realizara, es por ello que agradezco a todos
los profesores que durante el tiempo que he permanecido en esta Institucin,
han plasmado sus enseanzas en el contenido terico y prctico en esta tesis,
pero en especial a mi Tutor el Ingeniero Pablo Tamayo, por todo su apoyo
brindado al desarrollo de este proyecto, que ayud a que esta idea se convierta
en realidad, y quien con su colaboracin, esfuerzo, paciencia y comprensin,
ha sido la coautor de este importante logro obtenido.

DEDICATORIA

La presente Tesis de Grado la dedico primeramente a Dios por guiarme en


cada instante de mi vida, por darme la salud y la fuerza para poder culminar
esta etapa de mi carrera y por ser el amigo incondicional que est siempre
junto a m y que con su bondad me permiti alcanzar una meta ms de las que
me he propuesto.
A mi esposo y mis padres quienes con sus sacrificios diarios se constituyeron
en los principales gestores del objetivo que hoy alcanzo, que con paciencia y
compresin ha permanecido a mi lado en buenos y malos momentos.
Gracias al apoyo de todos ellos conseguir una educacin que permitir en el
futuro ser una profesional de provecho para mi familia y la sociedad.

TABLA DE CONTENIDO
Pg.
CAPITULO I
1.

INTRODUCCIN

1.1 Tema de investigacin

1.2 Planteamiento del Problema

1.2.1 Antecedentes

1.3 Diagnstico o planteamiento de la problemtica general

1.3.1 Causa

1.3.2 Efectos

1.4 Sistematizacin

1.4.1

Diagnostico

1.4.2

Pronostico.

1.4.3

Control del Pronstico

1.5 Objetivos

1.5.1

Objetivo general

1.5.2

Objetivos especficos

1.6 Justificacin

1.6.1

Justificacin Terica

1.6.2

Justificacin Prctica

1.6.3

Justificacin Metodolgica

1.7 Estudios de factibilidad

1.7.1

Factibilidad Tcnica

1.7.2

Factibilidad Operativa

1.7.3

Factibilidad Econmica

CAPITULO II
2.

MARCO DE REFERENCIA

10

2.1 Marco Conceptual

10

2.1.1 Definicin de Empresa

10

2.1.2

10

Empresas Comerciales

2.1.3

Definicin de Sistema Informtico

10

2.1.4

Software de control de entradas y salidas

11

2.1.5

Tecnologa Inalmbrica

12

2.1.5.1Ventajas de la Tecnologa Inalmbrica

13

2.1.6

Red Inalmbrica

13

2.1.7

La seguridad en las WLAN

13

2.1.8

Dispositivos mviles

14

2.1.8.1PDA (Personal Digital Assistant)

14

2.1.8.2Pocket PC

17

2.1.8.3Handheld PC

18

2.1.8.4Tablet PC

18

2.1.8.5Smartphone

19

2.1.8.6Telfonos celulares

20

2.1.9

20

Sistemas Operativos Mviles

2.1.9.1Windows Mobile

20

2.1.9.2Symbian

21

2.1.9.3Palm OS

23

2.1.9.4Android

24

2.1.10 Plataformas de desarrollo de aplicaciones mviles

24

2.1.10.1 J2ME

24

2.1.10.2 Microsoft .NET

25

2.1.11 Emuladores para Dispositivos Mviles

29

2.1.12 Centro de dispositivos de Windows Mobile

31

2.1.13 Gestores de Base de Datos

32

2.1.13.1 SQL Server 2005 Compact Edition

32

2.1.13.2 Oracle

32

2.1.13.3 MySQL

33

2.1.13.4 PostgreSQL

34

2.2 Marco Temporal/Espacial

35

CAPITULO III
3.
3.1.

METODOLOGA
Metodologa de Investigacin

36
36

10

3.1.1

Tipo de Investigacin

36

3.1.2

Mtodos

36

3.1.3

Tcnicas

37

3.2.

Metodologa de desarrollo de software

3.2.1

Proceso Unificado de Desarrollo

38
38

3.2.1.1 Descripcin de RUP (Rational Unified Process)

39

3.2.1.2 Fases del RUP

40

3.3.

42

Tecnologa

3.3.1
3.3.1.1

Sistemas Operativos para dispositivos mviles

42

Comparacin de los detalles bsicos y el funcionamiento de

los Sistemas Operativos

43

3.3.2

Herramientas para el desarrollo de la aplicacin mvil

45

3.3.3

Software de Desarrollo

45

3.3.3.1 Visual Studio 2008

46

3.3.4

Funcionalidad del Emulador en Windows Mobile

47

3.3.5

Centro de dispositivos de Windows Mobile

50

3.3.6

Gestor de Base de Datos a desarrollo en la aplicacin

51

3.3.6.1 SQL Server 2005 Compact Edition


3.3.6.2

51

Comparacin de SQL Server con otros gestores de base de

datos

53

CAPITULO IV
4.

DESARROLLO

54

4.1 Perspectiva del sistema

54

4.2 Restricciones del sistema de entrada y salida

54

4.3 Interfaces externas

55

4.3.1

Interfaces de usuario

55

4.3.2

Interfaces hardware

55

4.3.3

Interfaces software

56

4.4 Flujo de trabajo (Workflow) del sistema

56

4.4.1

56

Fase de Inicio

4.4.1.1 Anlisis del sistema actual

56

4.4.1.2 Descripcin de Actores

58

11

4.4.1.3 Identificacin de los casos de uso

58

4.4.1.4 Catlogo de Requerimientos del sistema

59

4.4.2

Fase de Elaboracin

62

4.4.2.1 Modelado de Caso de Uso

62

4.4.2.1.1 Aplicacin de Casos de Uso

63

4.4.2.1.1.1

Caso de uso Mantenimiento de Usuarios

63

4.4.2.1.1.2

Caso de uso Mantenimiento de Bodega

64

4.4.2.1.1.3

Caso de uso Mantenimiento de Producto

65

4.4.2.1.1.4

Caso de uso Mantenimiento de Proveedor

66

4.4.2.1.1.5

Caso de uso Movimiento de Entrada

67

4.4.2.1.1.6

Caso de uso Movimiento de Salida

68

4.4.2.1.2 Descripcin de casos de uso

69

4.4.2.2 Diagrama de Actividad

81

4.4.2.2.1

Diagrama de Actividad Ingreso al Sistema

81

4.4.2.2.2

Diagrama de Actividad Movimiento de Entrada

82

4.4.2.2.3

Diagrama de Actividad Movimiento de Salida

83

4.4.2.2.4

Diagrama de Actividad Consultas de los Movimientos

84

4.4.2.3 Diagrama de Colaboracin

85

4.4.2.3.1

Diagrama de Colaboracin Inicio de Sesin

85

4.4.2.3.2

Diagrama de Colaboracin del Movimiento de Entrada

85

4.4.2.3.3

Diagrama de Colaboracin del Movimiento de Salida

86

4.4.2.4 Diseo del sistema

86

4.4.2.4.1

Descripcin de las clases

86

4.4.2.4.2

Diccionario de clases

87

4.4.2.4.3

Diagrama de Clases

88

4.4.2.4.4

Diagrama de Secuencia

89

4.4.2.4.4.1 Diagrama de Secuencia Ingreso al Sistema

89

4.4.2.4.4.2 Diagrama de Secuencia Movimiento de Entrada

90

4.4.2.4.4.3 Diagrama de Secuencia Movimiento de Salida

91

4.4.2.4.5

92

Diagrama de Estado

4.4.2.4.5.1 Diagrama de Estado Inicio de Sesin

92

4.4.2.4.5.2 Diagrama de Estado de Ingreso de Productos

92

12

4.4.2.4.5.3 Diagrama de Estado de la Salida de Productos

93

4.4.2.4.6

94

Diseo de Interfaces

4.4.2.4.6.1 Pantalla Ingreso al Sistema

94

4.4.2.4.6.2 Men Principal del Administrador

94

4.4.2.4.6.3 Mantenimiento de Proveedores

95

4.4.2.4.6.4 Mantenimiento de Bodega

95

4.4.2.4.6.5 Mantenimiento de Usuarios

96

4.4.2.4.6.6 Mantenimiento de Productos

96

4.4.2.4.6.7 Men Principal del Bodeguero

97

4.4.2.4.6.8 Entrada de Mercadera

97

4.4.2.4.6.9 Salida de Mercadera

98

4.4.2.4.6.10

Consulta de los Movimiento de Entrada y Salida

98

4.4.2.4.6.11

Kardex del Producto

99

4.4.2.5 Implementacin

99

4.4.2.5.1

Creacin de tablas

99

4.4.2.5.2

Modelo Entidad Relacin

100

4.4.3

Fase de Construccin

102

4.4.3.1 Plan de Prueba

102

4.4.3.2 Objetos Evaluados

103

4.4.3.3 Acciones de Prueba

103

CAPITULO IV
5.

CONCLUSIONES Y RECOMENDACIONES

106

5.1 Conclusiones

106

5.2 Recomendaciones

106

BIBLIOGRAFA

107

ANEXOS

108

13

LISTA DE CUADOR Y GRAFICOS


Pg.
Figura 1. Matriz de Hardware necesario para el sistema

Figura 2 Matriz de Software necesario para el sistema

Figura 3. Matriz del costos de la implementacin del sistema

Figura 4. Grfico de la Interfaz de la aplicacin

11

Figura 5. Ejemplos de los PDA

16

Figura 6. Ejemplo de un Pocket PC

17

Figura 7. Ejemplo de un Handheld PC

18

Figura 8. Ejemplo de un Tablet PC

19

Figura 9. Ejemplos de Smartphones

19

Figura 10.

21

Vista del Sistema Operativo de Windows Mobile

Figura 11. Vista de la Plataforma S60

22

Figura 12. Vista de la Plataforma UIQ

22

Figura 13. Vista del Sistema Operativo de Palm OS

23

Figura 14. Vista del Sistema Operativo de Android

24

Figura 15. Esquema de Comunicacin de J2ME

25

Figura 16. Componentes de Visual C#

29

Figura 17. Centro de dispositivos de Windows Mobile

31

Figura 18. Fases del RUP

40

Figura 19.

Comparacin de los detalles bsicos entre los Sistemas

Operativos Mviles
Figura 20.

43

Comparacin sobre el Funcionamiento de los Sistemas

Operativos Mviles

44

Figura 21 Dispositivos mviles que se pueden programar con .NET

47

Figura 22. Administrador de emuladores de dispositivos

48

Figura 23. Emulador del Pocket PC

49

Figura 24. Matriz comparativa de gestores de base de datos

53

Figura 25. Matriz de Interfaz con el Hardware

55

Figura 26. Diagrama de Flujo de datos

57

14

Figura 27. Matriz de Actores del sistema

58

Figura 28. Diagrama de caso de uso

62

Figura 29. Caso de uso control de usuarios

63

Figura 30. Caso de uso control de bodegas

64

Figura 31. Caso de uso control de producto

65

Figura 32. Caso de uso control de proveedores

66

Figura 33. Caso de uso movimiento entrada

67

Figura 34. Caso de uso movimiento salida

67

Figura 35. Diagrama de Actividad Ingreso al sistema

81

Figura 36. Diagrama de Actividad del Movimiento de Entrada

82

Figura 37. Diagrama de Actividad del Movimiento de Salida

83

Figura 38. Diagrama de Actividad sobre consulta de los movimientos

84

Figura 39. Diagrama de Colaboracin de Inicio de Sesin

85

Figura 40. Diagrama de Colaboracin del Movimiento de Entrada

85

Figura 41. Diagrama de Colaboracin del Movimiento de Salida

86

Figura 42. Descripcin de clases

86

Figura 43. Matriz Diccionario de clases

87

Figura 44. Diagrama de clases

88

Figura 45. Diagrama de Secuencia Ingreso al Sistema

89

Figura 46. Diagrama de Secuencia Movimiento de Entrada

90

Figura 47. Diagrama de Secuencia Movimiento de Salida

91

Figura 48. Diagrama de Estado de Inicio de Sesin

92

Figura 49. Diagrama de Estado de la Entrada de Productos

92

Figura 50. Diagrama de Estado de la Salida de Productos

93

Figura 51. Pantalla Ingreso al Sistema

94

Figura 52. Men Principal del Administrador

94

Figura 53. Mantenimiento de Proveedores

95

Figura 54. Mantenimiento de Bodega

95

Figura 55. Mantenimiento de Usuarios

96

Figura 56. Mantenimiento de Productos

96

Figura 57. Men Principal del Bodeguero

97

15

Figura 58. Entrada de Mercadera

97

Figura 59. Entrada de Mercadera

98

Figura 60. Consulta de los Movimiento de Entrada y Salida

98

Figura 61. Kardex de productos

99

Figura 62. Tabla Bodega

99

Figura 63. Tabla Producto

100

Figura 64. Tabla Movimiento Cabecera

100

Figura 65. Tabla Movimiento Detalle

100

Figura 66. Tabla Usuario

101

Figura 67. Tabla Proveedor

101

Figura 68. Tabla Proveedor

101

Figura 69. Diagrama de Entidad Relacin

102

Figura 70. Caso de Prueba Entrada de Productos

103

Figura 71. Caso de Prueba Salida de Productos

104

Figura 72. Caso de Prueba Consulta de los movimientos

104

Figura 73. Caso de Prueba Kardex de los productos

105

16

RESUMEN

El presente tema de tesis tiene como objetivo el resolver la problemtica que


afronta actualmente la distribuidora Orellana, el cual no dispone de ningn
tipo de automatizacin en el proceso de Control de entrada y salida de
producto, ya que al realizarlo de forma manual est propenso a que se
cometan muchos errores y prdidas de informacin.
Se ha propuesto una alternativa efectiva y viable a este problema, la cual
soluciona de manera eficaz los contratiempos que en este momento afronta la
empresa.
La solucin para automatizar y mejorar el Control de Inventario de bodega, es
desarrollar un software que realice este proceso de manera segura y confiable,
usando tecnologa de punta y muy actual, como es el caso de los Asistentes
Personales Digitales, que accedern en tiempo real y de forma inalmbrica a la
base de datos de la aplicacin, registrando de forma inmediata la informacin
necesaria para llevar correctamente el inventario de bodega de la empresa.

17

SUMMARY

The present thesis theme is to resolve the trouble that the enterprise "Orellana"
has right now, as they dont have any software for the inventory control process
because when you do it by hand you can make a lot of mistakes and can miss
information.
Our proposal is a new effective choice for this problem, which solves effectively
all the problems that the enterprise has right now.
The solution to improve the control of the inventory of cellar, is development
software that makes this process trustful, using actual technology, like the
personal digital assistance (PDAs), that will access in real time and wireless to
the database of the application, registering immediately the required information
to maintain the inventory of cellar of the company correctly.

18

1. INTRODUCCIN
Hoy en da, la informtica en red se ha convertido en un factor importante en la
vida de una empresa la razn principal implica la cantidad de informacin que
actualmente se maneja, hace que el tratamiento automtico de la informacin
sea realmente til y necesario.
En la actualidad los sistemas de informacin estn basados en computadoras
que son objetos de gran consideracin en la toma de decisiones oportunas,
confiables y efectivas en cuanto a tcnicas de planificacin, programacin y
administracin con el fin de garantizar su xito, limitar el riesgo y reducir costos
y aumentar las ganancias.
Debido a esta razn, nace la idea de automatizar el control de entradas y
salidas de los productos de una empresa; cabe mencionar el vertiginoso
avance de las telecomunicaciones y el progreso que han experimentado las
ciencias informticas que permiten entrar al moderno mundo de la tecnologa, y
ser ms competitivos.
Mediante el anlisis de las tcnicas de investigacin nos identifica claramente
falencias que afectan el funcionamiento de la empresa, situacin que se ha
hecho evidente en la forma como se ejecuta el proceso de control de entrada y
salida de un artculo.

19

Por lo tanto, estos aspectos son importantes para la elaboracin y diseo de


sistemas de informacin, as satisfacer los requerimientos de los usuarios y
mejoras las tareas de control del producto de la empresa.
Es importante en toda empresa, que se dedique a la comercializacin de
productos, tener un sistema eficiente de control de artculos, el cual permita
saber, cunto y cundo se debe pedir para el reabastecimiento de la bodega de
mercaderas para la venta.
1.1 Tema de investigacin
Desarrollo de un sistema para el control de entradas y salidas de un producto
mediante tecnologa mvil en empresas comerciales.
1.2 Planteamiento del Problema
1.2.1 Antecedentes
La Distribuidora Orellana fue creada en el ao 2005, actualmente est ubicada
en la calle Paseo de los Caars de la ciudad de Cuenca. Su objetivo es la
compra y venta de productos terminados,
Actualmente no mantienen datos actualizados de los niveles de stock la mayor
parte del tiempo, esto debido a que la empresa realiza sus controles de forma
manual, por lo que la entrada y salida de productos del inventario no son lo
suficientemente efectivos para poder controlar la informacin.
En conclusin si los procesos de carga y descarga del inventario no se realizan
directamente al sistema, si no que incluyen un proceso manual con papeleo se

20

genera una prdida de tiempo que conlleva a la falta de informacin


actualizada y al desaprovechamiento de recursos humanos, de tiempo y
financieros
1.3 Diagnstico o planteamiento de la problemtica general
1.3.1 Causa
La inversin que debe realizar una empresa en adquirir un software para
el control de los procesos de entrada y salida del inventario es baja,
teniendo en cuanta que su principal capital est en sus activos que
posee.
Es por eso que la forma tradicional de manejar el control de inventarios
en un sistema manual es insegura ya que puede existir la modificacin
o prdida de informacin.
1.3.2 Efectos
La no inversin de tecnologa en una empresa

que apoye a los

principales procesos disminuir el nivel de competitividad y productividad


de una organizacin.
Al mantenerse con un sistema manual de procesos, no se tendr un
soporte en la toma de decisiones, para ello necesitan llevar a cabo una
buena administracin, por lo cual se propone desarrollar un sistema que
facilite la administracin de los recursos y que a su vez proporcione
informacin veraz y oportuna en tiempo real.

21

1.4 Sistematizacin
1.4.1 Diagnostico
Mediante la investigacin que se ha realizado dentro de la Distribuidora
Orellana se ha determinado el siguiente diagnstico.
Esta empresa viene trabajando hace 6 aos atrs, Su objetivo es la compra y
venta de productos terminados, actualmente maneja sus procesos de forma
manual, su visin es poder controlar sus procesos mediante un sistema
automatizado que le permita agilizar sus actividades.
En este momento la empresa maneja el proceso de entrada mediante una hoja
de Excel y en cuanto al proceso de salida lo realiza de forma manual, es decir
este control es registro en una hoja de papel, para luego realizar la descarga
del inventario. Esos controles actualmente no mantienen datos actuales y
conlleva a no tener una informacin oportuna.
1.4.2 Pronostico.
Una empresa al no utilizar un sistema informtico, que le ayude a controlar

la

entrada y la salida de un producto, implica que no tendr una informacin


oportuna de su mercanca y por ello no se pueda tomar decisiones para el
bienestar de la empresa. Es por ello que se propone desarrollar una aplicacin
que cubra estos requerimientos, con el fin de automatizar y agilizar los
procesos.

22

1.4.3 Control del Pronstico


Debido al pronstico antes mencionado surge la idea de automatizar las
actividades de control de entradas y salidas de un producto; cabe mencionar el
vertiginoso avance de las telecomunicaciones y el progreso

que

experimentado las ciencias informticas que obliga a estar a

tono y entrar

al moderno mundo de la tecnologa, para poder ser competitivos.

Con

han

este

software se pretende controlar las entradas y salidas de los productos, tambin


se podr realizar consultas sobre los producto. Este proyecto a su vez
optimizar los recursos materiales y tiempo, ya que el usuario se podr
conectar en cualquier momento y lugar.
1.5 Objetivos
1.4.1 Objetivo general
Desarrollar un sistema de control de entradas y salidas de productos
mediante el uso de tecnologa mvil en el rea de bodega, permitiendo
automatizar y agilizar el proceso.
1.4.2 Objetivos especficos
Analizar y Disear un modelo de control de entradas de
productos.
Analizar y Disear un modelo de control de salida de productos
Control del movimiento de los productos de entrada y salida.
Generacin de consultas de los movimientos de entrada y salida.

23

1.6 Justificacin
1.5.1 Justificacin Terica
El software elegido a desarrollar previa la obtencin del ttulo de Ingeniera de
Sistemas se debe a los avances tecnolgicos y adems porque existen muchos
empresas comerciales que no cuentan con un sistema que les permita manejar
sus principales actividades de una manera eficaz y eficiente, dentro de nuestro
pas muchas organizaciones ya disponen de un software que controle sus
productos, siendo este una gran ayuda para el profesional de esta rama.
La realizacin de este software se lo realizara Microsoft Visual Studio 2008
herramientas de actualidad y con una base de datos SQL Server C.E, estas
herramientas facilitaran el mejor desarrollo de programas. Con el fin de
solucionar el control de productos de una empresa.
El desarrollo del sistema permite plasmar cada uno de los conocimientos
adquiridos en clases y de esta manera tambin adquirir nuevos conocimientos
a travs de la investigacin.
1.5.2 Justificacin Prctica
El presente tema de tesis tiene como objetivo el resolver la problemtica que
afronta actualmente la Distribuidora Orellana, el cual no dispone de ningn tipo
de automatizacin en los procesos de Control de Entrada y Salida de sus
productos, ya que al realizarlo de forma manual est propenso a que se
cometan muchos errores y prdidas de informacin.

24

Se ha propuesto una alternativa efectiva y viable a este problema, la cual


soluciona de manera eficaz los contratiempos que en este momento afronta el
almacn. La solucin para automatizar y mejorar el Control de Entrada y Salida
es desarrollar un software que realice estos procesos de manera segura y
confiable, usando tecnologa de punta y muy actual, como es el caso de los
Asistentes Personales Digitales (PDAs), que accedern en tiempo real y de
forma inalmbrica a la base de datos de la aplicacin, registrando de forma
inmediata la informacin necesaria para llevar correctamente el inventario de
bodega de la empresa.
1.5.3 Justificacin Metodolgica
El sistemas se lo realizar mediante una investigacin aplicada, la que nos
permitir conocer de manera amplia la problemtica que se est viviendo
dentro de las empresas comerciales.
Tambin se utilizara la metodologa inductiva-deductiva para poder determinar
los requerimientos. Se empleara la tcnica de las entrevistas, para recabar
informacin en forma verbal, ya que las opiniones, comentarios, ideas o
sugerencias en relacin a como se podra hacer solucionar los problemas que
estn surgiendo dentro del proceso de entrada y salida de los producto.

25

1.7 Estudios de factibilidad


1.6.1 Factibilidad Tcnica
Dentro de la factibilidad tcnica de este proyecto est la parte del hardware
necesario para el funcionamiento de la aplicacin, como es un Pocket PC y una
PC Pentium IV 1.8 Ghz.
En cuanto al Software, para el desarrollo de la aplicacin se usar el Visual
Studio .NET, con la cual tendremos la posibilidad de una vez desarrollada la
misma, cargarlo en el emulador de Microsoft Windows Mobile .NET
proporcionado por la Microsoft como Edicin Gratuita, as comprobar su
funcionamiento. Adems ser necesario SQL Server 2005 Compact Edition
para la Base de datos.
1.6.2 Factibilidad Operativa
En cuanto a la factibilidad operativa, para el desarrollo de este proyecto, no
existe resistencia al cambio por parte de los usuarios al automatizar sus
procesos actuales, ya que estos cambios permitir trabajar de manera ptima y
eficaz, con el fin de mejorar su productividad y atencin y servicio al cliente.
1.6.3 Factibilidad Econmica
En la factibilidad econmica se establecen los costos y beneficios del proyecto.
A continuacin se presenta un cuadro que muestra un resumen de los costos
de implantacin del Sistema para el Control de Entrada y Salida.

26

Hardware
Cantidad

Descripcin

Costo

Pocket PC

350

Costo del Hardware

350$

Figura 1. Matriz de Hardware necesario para el sistema


Software
Descripcin

Costo

Visual Studio 2008 Professional


Windows Mobile 5.0

SQL Server 2005 Compact Edition

Costo del Software

Figura 2. Matriz de Software


Costo de la implementacin del sistema
Descripcin
Hardware

Costo
350

Software
Gastos de operacin (Gastos de

200

papelera, impresin de
documentos, energa electica, otros
gastos)
Costo total de implementacin

550$

Figura 3. Matriz del costos de la implementacin del sistema

27

2. MARCO DE REFERENCIA
2.1 Marco Conceptual
2.1.1 Definicin de Empresa
La empresa es la organizacin econmico-social en la que el capital, el trabajo
y la direccin planifican y coordinan para realizar una produccin socialmente
til, de acuerdo con las exigencias de la sociedad que nos rodea.
El objetivo de una empresa es de satisfacer las necesidades del mercado
mediante la utilizacin de recursos materiales y humanos. Se encarga, por
tanto, de la organizacin de los factores de produccin, capital y trabajo.
2.1.2 Empresas Comerciales
Estas empresas son aquellos intermediarios entre el productor y el consumidor,
su funcin principal es la compra y venta de productos terminados y sus
canales de distribucin son los mercados mayoristas, minoristas o detallistas y
los comisionistas.
2.1.3 Definicin de Sistema Informtico
Un sistema informtico, es el conjunto de elementos interconectados para el
procedimiento de la informacin, en el cual se incluyen elementos fsicos
hardware y elementos lgicos como el software. Dentro del hardware estn los
procesadores, memoria, sistemas de almacenamiento externo, etc. Y dentro
del software incluye al sistema operativo, firmware, aplicaciones, y los sistemas
de gestin de bases de datos.

28

2.1.4 Software de control de entradas y salidas


El software de control de entradas y salidas, es una herramienta que nos
permitir controlar los productos ingresados a la rea de bodega de la empresa
de igual manera el control de la salida del producto se lo llevara mediante el
traslado entre sucursales o almacenes registrados en el sistema. Hoy en da
mediante el uso de tecnologa mvil, este sistema tiene la ventaja de realizar la
actualizacin y consulta de informacin en tiempo real, hacia la base de datos
del sistema de forma directa, lo cual agiliza las actividades de control de
entradas y salidas de productos. Esta aplicacin nos permite saber la cantidad
de producto que disponemos y la que se ha trasladado a las respectivas
sucursales o almacenes. Mediante este sistema, las empresas comerciales
obtendrn informacin real de los proceso del inventario de bodega con que se
cuenta fsicamente, el usuario tener informacin oportuna y actualizada para
poder tomar decisiones a bienestar de la empresa.

Figura 4. Grfico de la Interfaz de la aplicacin

29

2.1.5 Tecnologa Inalmbrica


La tecnologa inalmbrica ofrece una oportunidad extraordinaria para que las
empresas extiendan su informacin y servicios hasta los usuarios mviles. La
combinacin de estos factores puede aumentar la productividad, reducir los
costes operativos e incrementar la satisfaccin de los clientes.
Existen una gran cantidad de aplicaciones para la tecnologa inalmbrica como
una aplicacin de entradas y salidas de productos para una empresa comercial
mediante un dispositivo mvil, este tipo de aplicacin nos permite saber la
cantidad exacta de productos que ingresan a bodega y los que son trasladados
a las diferentes sucursales
La implementacin de este tipo de tecnologa es gracias a los diferentes tipos
de equipos mviles que poseen funciones similares a las de un computador
personal, con esto los usuarios solo necesitan un dispositivo mvil para
acceder a las aplicaciones empresariales y por consiguiente a su informacin,
con lo que se ver incrementado su rendimiento y la velocidad de respuesta en
un proceso. Con la implementacin de este tipo de aplicaciones se consigue la
disminucin de costos, incremento en la satisfaccin de sus clientes,
incremento en la velocidad de respuesta, mayor productividad de los
empleados e incremento en las utilidades de la empresa.
2.1.5.1 Ventajas de la Tecnologa Inalmbrica
La tecnologa inalmbrica aporta las siguientes ventajas:
Rapidez de instalacin.

30

Desaparicin del cableado.


Facilidad de funcionamiento.
Movilidad: Se debe de tomar en cuenta la zona de cobertura inalmbrica
(muy til para PDAs, porttiles, etc.)
Bajo coste de adquisicin y mantenimiento.
Escalabilidad: Se puede expandir a centenares de usuarios en una red
local inalmbrica.
Portabilidad: Se puede trasladar una red local sin depender de complejos
cableados fijos.
2.1.6 Red Inalmbrica
Una red inalmbrica es un sistema de comunicacin de datos que proporciona
conexin inalmbrica entre equipos situados dentro de la misma rea (interior o
exterior) de cobertura. En lugar de utilizar el par trenzado, el cable coaxial o la
fibra ptica, utilizado en las redes LAN convencionales, las redes inalmbricas
transmiten y reciben datos a travs de ondas electromagnticas, con esta
tecnologa, los empleados de las empresas pueden permanecer conectados a
las aplicaciones de productividad y a los recursos informativos prcticamente
en todo momento y lugar.
2.1.7 La seguridad en las WLAN
El tema de la seguridad representa un gran inconveniente en este tipo de redes
pues es muy difcil controlar el acceso a ellas, pues, en redes con cables suele
contarse con un firewall que impide el acceso desde el exterior a personas no
autorizadas, y no puede saltearse este dispositivo porque el cable pasa por l y

31

no hay forma de eludirlo. En cambio, en una red inalmbrica, un firewall puede


esquivarse, pues las ondas viajan en todas direcciones, con lo cual un intruso
puede saltear esa proteccin. Por ello, para proteger estas redes se utiliza un
mtodo de autentificacin y cifrado. El primero impide el acceso a personas no
autorizadas mediante un nombre de usuario y una contrasea, y el segundo
impide que algn intruso que intercepte una comunicacin pueda descifrarla.
2.1.8 Dispositivos mviles
Gran variedad de dispositivos mviles existen en la actualidad, cada uno con
diferentes funciones que se ajustan a las necesidades de los usuarios. Este
proyecto va dirigido a los Pocket PC

pero existen una gran variedad de

dispositivos que permiten utilizar aplicaciones inalmbricas. Entre estos


tenemos:
2.1.8.1 PDA (Personal Digital Assistant)
Es un pequeo ordenador de bolsillo equipado con pantalla de cristal lquido
que no posee teclado fsico, tiene un lpiz digital que hace las veces de ratn y
teclado. Este incluye un conjunto de programas tiles para el control de las
actividades personales: lista de telfonos, planificador de citas, bloc de notas,
calculadora, hoja de clculo, etc. Estos dispositivos poseen un MODEM o
tarjeta inalmbrica tienen acceso a Internet con lo que es posible correr
aplicaciones mviles, algunos tienen incorporadas una pequea cmara digital
y con esto es posible enviar imgenes mediante correo electrnico. Tambin
1

Pocket PC: es un ordenador de bolsillo, tambin llamado PDA (Personal Digital Assistant)

32

permite almacenar correo electrnico que el usuario desee. Este dispositivo


utiliza las redes de telefona celular para acceder a Internet y correr
aplicaciones mviles.
Ya que los PDAs carecen de teclado, utilizan como mtodo de introduccin de
datos un sistema de reconocimiento de escritura. El usuario escribe sobre la
pantalla del PDA con un lpiz de plstico (Stylus), y la mquina interpreta sus
trazos y los convierte en las letras correspondientes.
Elementos bsicos de un PDA
Sistema operativo. Los ms frecuentes son:
-

PalmOS de Sony.

Windows Mobile, tambin conocido como Pocket PC.

Procesador. Los PDA basados en Palm OS estn equipados con


procesadores de pocos Mhz (unos 16), pues resultan ms que
suficientes para el tipo de aplicaciones que tienen que ejecutar, mientras
que los PDA basados en Windows u otros sistemas operativos incluyen
procesadores ms potentes (hasta 150 Mhz).
Memoria. La memoria RAM de los PDA basados en Palm OS suele ser
de 2, 4 u 8 MB, y en muchas ocasiones no puede ampliarse; la de los
Pocket PC y Handheld PC, entre otros, es como mnimo de 16 32 MB,
pudiendo generalmente ampliarse mediante tarjetas de memoria flash.
Puertos expansin. Es el trmino que hace referencia a las posibles
ranuras de expansin existentes en un PDA, es decir, los puertos en que
pueden conectarse las tarjetas de memoria o mdems. Los PDA

33

basados en Palm OS no siempre disponen de una ranura para tarjetas


de memoria.
Pantalla. Supone casi el 80% de la superficie del aparato. Existen
pantallas monocromas y con pantallas a color. La resolucin es otra
consideracin clave. Generalmente se miden en pxeles horizontales por
verticales, determinando as el nmero de puntos en pantalla. Por
ejemplo las de 160 x 160 son de baja resolucin, mientras que las 640 x
480 constituyen las mejores.
Peso y ergonoma. Debido al tipo de uso, su PDA est destinado a
convertirse en un acompaante diario. Por ello es necesario considerar
su peso. Generalmente, los modelos de ms de 200 gr o demasiado
gruesos no son realmente funcionales. Es el peso ptimo se encuentra
alrededor de los 110 y los 130 gr. En lo que respecta al tamao, debe
adaptarse lo mejor posible al de su mano.

Figura 5. Ejemplos de los PDA

34

2.1.8.2 Pocket PC
Una Pocket PC es un dispositivo que brinda al usuario las funciones ms
comunes de un computador, diseado para ocupar el mnimo espacio y ser
fcilmente transportable que ejecuta el sistema operativo Windows CE de
Microsoft entre otros, el cual le proporciona capacidades similares a los PC de
escritorio. Entre sus principales funciones son:
Organizador de tareas, permite organizar y recordar tareas pendientes
Bloc de notas, se puede almacenar cualquier tipo de nota.
Hoja de clculo y editor de texto, da la facilidad de realizar cualquier tipo
de informe desde este dispositivo.
Permite reproducir archivos de audio y video
Acceso a Internet, se puede almacenar correo electrnico y correr
aplicaciones mviles desde este dispositivo.
Este no posee teclado, en su lugar posee un lpiz digital llamado stylus. De
igual manera que el PDA este tiene acceso mediante las redes de telefona
celular a Internet y a las aplicaciones mviles.

Figura 6. Ejemplo de un Pocket PC

35

2.1.8.3 Handheld PC
Sus caractersticas son similares que un PDA y un Pocket PC, su diferencia
est en sus caractersticas fsicas ya que estos poseen una pantalla ms
grande y tienen incorporado un teclado. Estos dispositivos son ideales al
momento de redactar cualquier tipo de informes gracias a su teclado y su
software de edicin de texto y hoja de clculo. A diferencia de los dispositivos
anteriores este posee un mdem el cual permite el acceso a Internet mediante
la lnea telefnica convencional.

Figura 7. Ejemplo de un Handheld PC


2.1.8.4 Tablet PC
Estos dispositivos bsicamente no poseen teclado pero tienen un puerto por el
cual es posible conectar un teclado para facilidad del usuario. Sus
caractersticas son similares a un computador personal por el software que
tiene instalado, de igual manera sus principales funciones son: organizador de
citas, libreta de direcciones, bloc de notas, editor de texto, hoja de clculo,
administracin de correo electrnico, etc.

36

Tienen acceso a redes inalmbricas mediante el protocolo 802.11

Wi-Fi, por

lo cual es posible correr aplicaciones mviles empresariales.

Figura 8. Ejemplo de un Tablet PC


2.1.8.5 Smartphone
Estos dispositivos tienen caractersticas similares a un telfono celular, adems
incluyen las principales funciones de un PDA que son: libreta de direcciones,
organizador de tareas, bloc de notas, calculadora, hoja de clculo, etc. Al tener
la capacidad de un telfono celular para realizar comunicaciones es posible
acceder a diferentes tipos de aplicaciones mviles usando tecnologas de
comunicacin celular.

Figura 9. Ejemplos de Smartphones

802.11: es un estndar internacional que define las caractersticas de una red de rea local inalmbrica

37

2.1.8.6 Telfonos celulares


Son los ms utilizados en nuestro medio, su funcin principal es la
comunicacin. Actualmente existen telfonos celulares que incorporan
diferentes funciones como libreta de direcciones, calculadora, organizador de
tareas, etc. Mediante estos dispositivos es posible acceder a diferentes tipos de
aplicaciones mviles, la limitacin de estos es la capacidad de procesamiento y
el tipo de pantalla que poseen que limita el acceso a diferentes aplicaciones
mviles.
2.1.9 Sistemas Operativos Mviles
Un Sistema operativo es un programa que acta como intermediario entre el
usuario y el hardware de un PC. Su propsito es proporcionar un entorno en el
cual el usuario pueda ejecutar programas.
El objetivo principal de un Sistema Operativo es lograr que el sistema de
clculo se use de manera cmoda y que el hardware del PC se emplee de
manera eficiente. Entre los Sistemas Operativos Mviles ms vistos en los
dispositivos estn:
2.1.9.1 Windows Mobile
El desarrollo de este proyecto est bajo esta Sistemas Operativos Mviles,
debido a que est basado al PocketPC. Este sistema operativo es el que
cuenta con la mayor difusin en el mercado de PDAs.

38

Windows Mobile, permite una fcil conexin a una gran variedad de redes
inalmbricas, detecta automticamente las redes Wi-Fi y se conecta de forma
sencilla a ellas y a las redes de rea personal a travs de Bluetooth.
Los lenguajes de programacin que se pueden utilizar mediante Visual Studio
para desarrollar una aplicacin son; C#, C++, J#, JScript o ASP .Net.

Figura 10. Vista del Sistema Operativo de Windows Mobile


2.1.9.2 Symbian
Es el Sistemas Operativos instalado en mayor nmero de dispositivos mviles
en la actualidad, sobre todo en telfonos mviles. Tiene dos plataformas: S60 y
UIQ
Plataforma S60
Es una plataforma para terminales mviles que utilicen el sistema operativo
Symbian OS. Esta plataforma consiste en un conjunto de bibliotecas y
aplicaciones informticas estndar, tales como telefona, herramientas de
gestin de informacin personal, y reproductores multimedia. Se puede
encontrar en terminales mviles modernos de amplias caractersticas, con

39

pantallas en color muy grandes, que son conocidos comnmente como


terminales Smartphone.

Figura 11. Vista de la Plataforma S60


Plataforma UIQ
UIQ (Interfaz de Usuario Quartz) es una plataforma para terminales mviles
desarrollada por UIQ Technology basada en el sistema operativo Symbian. Se
caracteriza por agregar soporte para pantallas tctiles. Se usa principalmente
en smartphones de Sony Ericsson.

Figura 12. Vista de la Plataforma UIQ


Symbian est basado en un micro kernel, una mnima porcin del sistema tiene
privilegios del kernel. Una de las tareas del kernel es manejar las interrupciones

40

y prioridades. El sistema posee componentes que permiten el diseo de


aplicaciones multiplataforma, diferentes tamaos de pantalla, color, resolucin,
teclados, etc. La mayora de estos componentes han sido diseados en C++.
Las empresas que han intervenido en el desarrollo de aplicaciones de la
plataforma Symbian son: IBM, Lotus, Oracle, SAP, Sybase, Nokia Developer
Community.
Los lenguajes de programacin utilizados en la plataforma Symbian son: C++,
Java y Visual Basic sobre un emulador.
2.1.9.3 Palm OS
Palm OS es un sistema operativo para mviles inicialmente desarrollado por
Palm Inc, est diseado para ser de fcil uso con una interfaz grfica de
usuario basada en el touch screen, en este vienen incluidas aplicaciones
bsicas

para

la

administracin

de

informacin

personal

(calendario,

calculadora, notas, etc.).


Dentro de las versiones ms recientes de este sistema operativo fueron
extendidas para soportar smartphones.

Figura 13. Vista del Sistema Operativo de Palm OS

41

2.1.9.4 Android
Android es el sistema operativo de Google, y est basado en el ncleo Linux,
diseado originalmente para dispositivos mviles, tales como telfonos
inteligentes, pero que posteriormente se expandi su desarrollo para soportar
otros dispositivos tales como tablet, reproductores MP3, netbook, PC, entre
otros. Es a cdigo abierto y existen de aplicaciones gratis.

Figura 14. Vista del Sistema Operativo de Android


2.1.10 Plataformas de desarrollo de aplicaciones mviles
2.1.10.1 J2ME
J2ME es la versin de Java orientada a los dispositivos mviles con poca
capacidad de memoria, poca capacidad de proceso y pantallas de reducidas
dimensiones, es multiplataforma y se ejecuta bajo una mquina virtual especial.
Dentro de los dispositivos que se pueden utilizar con J2ME esta los siguiente;
Telfonos Celulares Convencionales
Smart Phones
Palms
Hanhelds
Otros Dispositivos Porttiles

42

La arquitectura J2ME brinda adems conectividad a Internet a travs de


GPRs3, con lo cual todos los dispositivos telefnicos celulares convencionales
tienen enlace a Internet, evitando as disponibilidad de Wifi u otros servicios.

Figura 15. Esquema de Comunicacin de J2ME


2.1.10.2 Microsoft .NET
Microsoft .NET es una plataforma de desarrollo y ejecucin de aplicaciones.
Los componentes principales de la plataforma .NET son:
Un entorno de ejecucin de aplicaciones, tambin llamado Runtime.
Un conjunto de bibliotecas
Un conjunto de lenguajes de programacin de alto nivel, junto con sus
compiladores y linkers, que permitirn el desarrollo de aplicaciones
sobre la plataforma .NET.
Un conjunto de herramientas de desarrollo para simplificar las tareas
ms comunes del proceso de desarrollo de aplicaciones
3

GPRs (General Packet Radio Service) oservicio general de paquetes va radio es una extensin del
Sistema Global para Comunicaciones Mviles.

43

Microsoft .NET Framework


Este es el modelo de programacin de Microsoft .NET para desarrollar
aplicaciones de tipo Web, cliente y servicios Web XML.4
Dentro de la plataforma de Microsoft .NET existen algunas herramientas como
son:
Common Language Runtime (CLR) Este es responsable de los servicios
en tiempo de ejecucin.
Libreras de clases, proporcionan funcionalidad estndar, manipulacin
de strings, gestin de la seguridad, comunicaciones en redes, etc.
Adems nos permite tener acceso a bases de datos con ADO.Net y
pginas Web dinmicas y Servicios Web con ASP.Net
Visual Studio.NET
Visual Studio .NET es un conjunto completo de herramientas de desarrollo para
la construccin de aplicaciones; Web ASP, servicios Web XML, aplicaciones
para escritorio y aplicaciones mviles. Visual Basic, Visual C++, Visual C#,
estos lenguajes de programacin aprovechan las funciones de .NET
Framework. Visual Studio cuenta con un framework (.Net 3.5) y est diseado
para mejoras de desempeo, escalabilidad y seguridad.

Los servicios Web XML son un conjunto de aplicaciones o de tecnologas con capacidad para
interoperar en la Web.

44

Visual Basic .NET


Es un lenguaje orientado a objetos y eventos que soporta encapsulacin,
herencia y polimorfismo. Visual Basic permite a los desarrolladores centrar el
diseo en Windows, el Web y dispositivos mviles. Como con todos los
lenguajes que tienen por objetivo Microsoft .NET Framework, los programas
escritos en Visual Basic se benefician de la seguridad y la interoperabilidad de
lenguajes, ofrece una manera rpida y fcil de crear aplicaciones basadas en
.NET Framework.
Esta plataforma cuenta con un entorno de desarrollo de alto rendimiento, es
posible aprovechar su entorno para construir una amplia gama de aplicaciones
mviles, Web, Windows y basadas en Office. Presenta mejoras en el IDE,
adems de que proporciona soporte de depuracin remoto, posibilidad de
generar aplicaciones de 64 bits, y acceso completo a los servicios del sistema y
a las bases de datos. Incluye Crystal Reports para la generacin de reportes y
proyectos de instalacin basados en Windows Installer.
Visual C++ .NET
Visual C++ .NET es un completo conjunto de herramientas para la creacin de
aplicaciones basadas en Microsoft Windows y Microsoft .NET, aplicaciones
Web dinmicas y servicios Web XML utilizando el lenguaje de programacin
C++. Este slido entorno de desarrollo incluye las bibliotecas estndar como
son; ATL (Active Template Library) y MFC (Microsoft Foundation Class),
extensiones avanzadas del lenguaje y eficaces caractersticas del entorno de

45

desarrollo integrado (IDE) que permiten a los programadores editar y depurar


cdigo fuente de un modo eficaz.
Entre las nuevas caractersticas de Visual C++ .NET, se encuentran atributos
de C++, extensiones administradas, servidor ATL y numerosas optimizaciones
y mejoras de las bibliotecas, el IDE y el compilador.
Visual C++ .NET es nico entre los lenguajes compatibles con .NET porque
admite tanto el modelo de cdigo administrado que proporciona .NET
Framework como el modelo de cdigo nativo no administrado basado en
Windows. Al ser compatible con ambos modelos de programacin, Visual C++
.NET mantiene y mejora el cdigo y los conocimientos existentes, y
proporciona las mximas opciones posibles para los programadores y las
organizaciones.
Visual C# .NET
C# es un lenguaje de programacin orientado a objetos desarrollado y
estandarizado por Microsoft como parte de su plataforma .NET, es uno de los
lenguajes de programacin diseados para la infraestructura de lenguaje
comn. C# permite la creacin de aplicaciones para Windows, servicios web,
herramientas de bases de datos, componentes, controles, etc.
Ventajas de Visual C#
La facilidad del lenguaje permite crear aplicaciones para Windows en
muy poco tiempo. Es decir, permite un desarrollo eficaz y menor
inversin en tiempo que con otros lenguajes.

46

Permite generar libreras dinmicas (DLL) mediante una reconfiguracin


de su enlazador en el proceso de compilacin.

Figura 16. Componentes de Visual C#


2.1.11 Emuladores para Dispositivos Mviles
Los emuladores nos permiten probar nuestras aplicaciones sin necesidad de
utilizar un dispositivo real. Es importante recalcar el hecho de que los
emuladores con los que vamos a trabajar emulan y no simulan los dispositivos
reales. Esto significa que nuestras aplicaciones se ejecutan tal y como se
ejecutaran sobre el dispositivo real, pues lo que se emula es realmente el
hardware tipo de una PDA.
Existe algunos tipos de emuladores de mvil, entre estos hay tres categoras
principales:

47

Emuladores de dispositivos: Generalmente los ofrecen los fabricantes


de dispositivos y simulan el dispositivo real. Son vlidos para las
pruebas de aplicacin del sitio web en un dispositivo o conjunto de
dispositivos.
Emuladores de navegadores: Simulan los navegadores de los
entornos mviles. Son tiles para determinan la funcionalidad disponible
en un navegador, pero no valen para la prueba especfica del
dispositivo.
Emuladores del sistema operativo: Microsoft proporciona emuladores
para Windows Mobile y Google proporciona un emulador de Android. Se
ejecutan en un entorno simulado de dispositivos mviles y proporcionan
acceso a aplicaciones que se ejecutan en el sistema operativo.
El SDK de Windows consiste en un conjunto de herramientas, ejemplos de
cdigo, documentacin, compiladores, encabezados y bibliotecas que pueden
usar los desarrolladores para crear aplicaciones que se ejecuten en los
sistemas operativos con modelos de programacin nativos (Win32) o
administrados (.NET Framework).As tenemos actualmente los siguientes
SDKs disponibles:
Windows Mobile 5.0 Pockets PC SDK: En el SDK de Windows Mobile
5.0 para Pocket PC se puede escribir software administrado y nativo de
aplicaciones dirigidas a Windows Mobile 5.0 dispositivos basados en
Pocket PC. Que contiene un emulador de dispositivo.

48

2.1.12 Centro de dispositivos de Windows Mobile


El Centro de dispositivos de Windows Mobile es un software de sincronizacin
desarrollado por Microsoft, y el sucesor de ActiveSync 5. Est diseado para
sincronizar el contenido de diversas aplicaciones como msica, vdeo,
contactos, calendario de eventos, favoritos del navegador web, y otros archivos
entre los dispositivos de Windows Mobile y el sistema operativo de Microsoft
Windows. Centro de dispositivos de Windows Mobile tiene la capacidad de
sincronizar lo siguiente:
Fotos con Galera fotogrfica de Windows
Videos con Windows Media Player
Msica con Windows Media Player
Favoritos de Internet Explorer
Carpetas / archivos generales con el Explorador de Windows
Los programas de Windows Mobile y actualizaciones de la versin

Figura 17. Centro de dispositivos de Windows Mobile

ActiveSync es la aplicacin que nos permitir conectar nuestro Pocket PC con la computadora de
escritorio para intercambiar informacin entre ambos dispositivos.

49

2.1.13 Gestores de Base de Datos


Una base de datos es un sistema formado por un conjunto de datos
almacenados en discos que permite guardar grandes cantidades de
informacin de forma organizada para luego poder encontrar y utilizar
fcilmente. El presente proyecto est realizado mediante la base de datos SQL
Server CE, pero existen otros tipos de base de datos como son Oracle,
PostgreSQL o MySQL.
2.1.13.1 SQL Server 2005 Compact Edition
Microsoft SQL Server 2005 Compact Edition (anteriormente denominada
Microsoft SQL Server 2005 Mobile Edition) es una base de datos compacta
ideal para ser incrustada en aplicaciones mviles y de escritorio.
SQL Server Compact Edition proporciona a los programadores un modelo de
programacin comn a otras ediciones de SQL Server para el desarrollo tanto
de aplicaciones nativas como administradas.
Ofrece funcionalidad de base de datos relacional en un espacio reducido: un
slido almacn de datos, un procesador de consultas de optimizacin y una
conectividad escalable y de confianza.
2.1.13.2 Oracle
Oracle es un sistema de administracin de base de datos, fabricado por Oracle
Corporation. Se considera a Oracle como el sistema de bases de datos ms

50

completo que existe, debido al soporte de transacciones, su gran estabilidad,


seguridad, es multiplataforma y soporta PL/SQL.
La arquitectura de un servidor Oracle se compone por tres partes importantes:
1. Procesos de usuarios.
2. Estructuras lgicas de memoria que en conjunto son conocidas como la
instancia Oracle (Oracle instance).
3. Estructuras de archivos fsicos que en conjunto son llamados la base de
datos oradle (oradle database).
Oracle es bsicamente una herramienta cliente/servidor para la gestin de
Bases de Datos. Es un producto vendido a nivel mundial, aunque la gran
potencia que tiene y su elevado precio hacen que slo se vea en empresas
muy grandes y multinacionales.
2.1.13.3 MySQL
MySQL es un sistema de administracin de bases de datos (Database
Management System, DBMS) para bases de datos relacionales. As, MySQL
no es ms que una aplicacin que permite gestionar archivos llamados de
bases de datos. MySQL es la base de datos open source ms popular y, su
continuo desarrollo y su creciente popularidad est haciendo de MySQL un
competidor cada vez ms directo de gigantes en la materia de las bases de
datos como Oracle
MySQL fue escrito en C y C++ y destaca por su gran adaptacin a diferentes
entornos de desarrollo, permitiendo su interactuacin con los lenguajes de

51

programacin ms utilizados como PHP, Perl y Java y su integracin en


distintos sistemas operativos.
Tambin es muy destacable, la condicin de open source de MySQL, que hace
que su utilizacin sea gratuita e incluso se pueda modificar con total libertad,
pudiendo descargar su cdigo fuente. Esto ha favorecido muy positivamente en
su desarrollo y continuas actualizaciones, para hacer de MySQL una de las
herramientas ms utilizadas por los programadores orientados a Internet.
2.1.13.4 PostgreSQL
PostgreSQL es un gestor de bases de datos orientadas a objetos, muy
conocido y usado en entornos de software libre porque cumple los estndares
SQL92 y SQL99, y tambin por el conjunto de funcionalidades avanzadas que
soporta, lo que lo sita al mismo o a un mejor nivel que muchos SGBD
comerciales.
PostgreSQL es un motor de bases de datos relacionales, que verifica integridad
referencial con gran funcionalidad como base de datos, aunque un poco ms
lenta que otros motores. PostgreSQL se distribuye bajo licencia BSD, lo que
permite su uso, redistribucin, modificacin con la nica restriccin de
mantener el copyright del software a sus autores, PostgreSQL Global
Development Group y la Universidad de California
PostgreSQL corre en casi todos los principales sistemas operativos como son;
Linux, Unix, Solaris, BSDs, Mac OS, Beos, Windows, etc. Soporta los lenguajes
ms populares del medio como es; PHP, C, C++, Java, Perl, Python, Ruby, etc.

52

2.2 Marco Temporal/Espacial


El tiempo estimado para el anlisis y realizacin de este proyecto planteado, es
de dos meses, es decir hasta Noviembre del presente ao. La empresa en
donde se va a recopilar la informacin es en la Distribuidora Orellana que est
ubicada Paseo de los Caars

53

3. METODOLOGA
3.1. Metodologa de Investigacin
3.1.1 Tipo de Investigacin
El tipo de investigacin que se empleara en este proyecto es aplicada, debido a
que se utilizara conocimientos existentes para aplicarlos a la solucin de un
problema o necesidad en un corto tiempo.
Conjuntamente se empleara una investigacin descriptiva, ya que ste describe
las situaciones y eventos, es decir cmo se manifiesta el fenmeno a
investigar. Esta investigacin es importante para el proyecto puesto que nos
ayudar a tener en cuenta cuales son las necesidades ms prioritarias para la
mejora del sistema actual.
3.1.2 Mtodos
Se utilizar el Mtodo Inductivo, debido a que partiremos de la investigacin de
las actividades desarrolladas dentro de la Empresa, para luego partir de la
informacin obtenida, se puedan organizar los datos en forma de procesos
establecidos.
Mediante este mtodo se lograra la recoleccin de informacin de manera
independiente de varias fuentes, para luego realizar un estudio e investigacin
exhaustiva de los puntos que estn relacionados

54

3.1.3 Tcnicas
La tcnica que se implementara es la entrevista, con la cual se recaudar
informacin precisa de las actividades o procesos de que realizan en cuanto al
manejo de datos y las actividades que se desarrollan dentro de la empresa.
Con el fin de conocer ms a fondo el funcionamiento del control de entrada y
salida del producto de bodega de la empresa.
Preguntas de la entrevista
1. Cmo se manejan los procedimientos de control de entrada y salida del
producto de la empresa?
2. El tiempo de respuesta acerca de los productos del inventario de bodega
es rpida y eficaz
3. La venta de sus productos lo hace mediante vendedores?
4. Utiliza algn Sistema en red para el ingreso y salida de sus productos?
5. Conoce usted acerca de los Sistemas de control de entrada y salida de
productos con tecnologa mvil?
6. Usted se interesara en adquirir un sistema utilizando la tecnologa
mvil?
Conclusiones de la entrevista:
Durante la entrevista se pudo recabar la informacin necesaria, con respecto al
volumen de actividad que se presenta dentro de la empresa es muy buena, el
manejo de los registro se lleva mediante hojas de Excel, los datos que son
manipulados es el cdigo del producto, el nombre del producto, cantidad en

55

stock y un campo de observacin en el que se puede describir informacin que


suceda con el producto.
En cuanto a la seguridad de la informacin de la empresa, no tienen mayor
seguridad por cuanto que una parte es llevada en hojas de Excel y otra es
registrada en papel, estos documentos tangibles son archivados en un fichero,
con el riesgo de ser alterados o extraviados.
Existe otro problema que es al momento de realizar una bsqueda de un
producto, ya que se dificulta mucho, porque hay que realizar una bsqueda por
fichero, siendo esto una desventaja para el cliente por el tiempo de espera y
para el usuario por no tener informacin oportuna para poder tomar decisiones
a beneficio de la empresa.
3.2. Metodologa de desarrollo de software
3.2.1 Proceso Unificado de Desarrollo
Un proceso es un conjunto de pasos ordenador parcialmente, para alcanzar un
objetivo. En la ingenieria del software, el objetivo es entregar un producto
software que satisfaga las necesidades del usuario, de foma efeciente.
3.2.1.1 Descripcin de RUP (Rational Unified Process)
RUP es un proceso de ingenieria de software para modelado orientado a
objetos, basado en la notacin UML (Lenguaje Unificado de Modelado).
Centrandose en los casos de uso y la arquitectura, es interactivo e incremental.

56

UML es bastane independiente del proceso, lo que significa que se puede


utilizar con diferentes proceso de ingenieria de software. El Proceso Unificado
de Rational (RUP), es uno de esos enfoques de ciclo de vida que se adapta
especialmete bien a UML.
Las caractersticas de RUP son:
Est basado en UML.
Orientado a sistemas de informacin de gestin.
Simple, eficaz y pequeo, fcil de aprender y usar.
Centrado en el anlisis y diseo.
Permite el desarrollo iterativo e incremental del software.
Est dirigido por casos de uso y permite la administracin de
requerimientos.
Control de cambios.
Modelado visual del software
Verificacin de la calidad del software
El objetivo del Proceso Unificado de Rational es permitir la produccion de un
software de la mayor calidad que satisfaga las necesidades de los usuarios
finales, dentro de planificaciones y presupuesto predecibles. El El Proceso
Unificado de Rational captura algunas de las mejores practicas de desarrollo de
software, de una forma que es adaptable a un amplio rango de proyectos y
organizaciones. En el aspecto de la gestin, el El Proceso Unificado de
Rational proporciona un enfoque disciplinado sobre como asignar tares y
responsabilidades dentro de una organizacin de desarrollo de software.

57

3.2.1.2 Fases del RUP


Una fase es el intervalo de tiempo entre dos hitos importantes del proceso
durante la cual se cumple un conjunto bien definido de objetivos, completan
artefactos y se toman las decisiones sobre si pasa a la siguiente fase. El
Proceso Unificado de Rational consta de las cuatrro fases siguientes:
Iniciacin: Establece la planificacin del proyecto.
Elaboracin: Establece un plan para el proyecot y una arquitectura.
Construccion: Desarrollar el sistema
Transicin: Proporcinar el sitema a sus usuarios finales.

Figura 18. Fases del RUP


Las fases de iniciacin y elaboracin incluyen las actividades de diseo de ciclo
de vida del desarrollo; la construccin y la transicin constituyen su produccin.
Dentro de cada fase hay varias iteraciones. Una iteracin representa un ciclo
de desarrollo completo, desde la captura de requisitos en el anlisis hasta la

58

implementacin y pruebas, que produce como resultado la entrega al cliente o


la salida al mercado de un proyecto ejecutable.
Fase de inicio: Durante la fase de iniciacin, se establece la planificacin del
proyecto y se delimita su alcance. La planificacin del proyecto incluye los
criterios de xito, la evaluacin del riesgo, estimulaciones de recursos que se
necesita y un plan de fases que muestra la planificacin de los hitos
principales. Durante la iniciacin, es frecuentemente crear un prototipo
ejecutable que sirva para probar los conceptos. Al final de la fase de inicio se
examinan los objetivos del ciclo de vida del proyecto y se decide si proceder
con el desarrollo del sistema.
Fase de Elaboracin: Los objetivos de la fase de elaboracin son analizar el
dominio del problema, establecer una base arquitectnica slida, desarrollar el
plan de proyecto y eliminar los elementos de ms alto riesgo del proyecto. Esto
implica que se debe describir la mayora de los requisitos del sistema.
Fase de Construccin: Durante la fase de construccin, se desarrolla de
forma iterativa e incremental un producto completo que est preparado para la
transicin hacia la comunidad de usuarios. Esto implica describir los requisitos
restantes y los criterios de aceptacin, refinando el diseo y completando la
implementacin y las pruebas del software.
Fase de Transicin: Durante la fase de transicin, el software se despliega en
la comunidad de usuarios. Una vez que el sistema ha sido puesto en manos de
los usuarios finales, a menudo aparecen cuestiones que requieren un
desarrollo adicional para ajustar el sistema, corregir algunos problemas no

59

detectados o finalizar algunas caractersticas que haban sido pospuestas. Esta


fase comienza normalmente con una visin beta del sistema, que luego ser
reemplazada con el sistema de produccin.
Al final de la fase de transicin se decide si se han satisfecho los objetivos de
ciclo de vida del proyecto, y se determina si se debera empezar otro ciclo de
desarrollo.
3.3. Tecnologa
3.3.1 Sistemas Operativos para dispositivos mviles
Como se mensiono anteriormente que el Sistema Operativo, facilita al usuario
las herramientas e interfaces adecuadas para realizar sus tareas informticas.
Podemos deducir que el uso de uno u otro Sistema Operativo determinarn las
capacidades multimedia de los dispositivos, y la forma de stas de interactuar
con el usuario.
Este proyecto estara bajo el sistema operativo de Windows Mobile, pero
existen multitud de opciones en cuanto a los Sistema Operativo, si bien las ms
conocido hoy en da son; Symbian, BlackBerry OS y recientemente iPhone OS
y el sistema mvil de Google, Android, adems por supuesto de los dispositivos
con sistema operativo Linux.

60

3.3.1.1

Comparacion de los detalles bsicos y el funcionamiento de los Sistemas Operativos

Tipo de ncleo

Android

BlackBerry

S60

Cupcake

OS 4.7

Edition

WebOS

Mobile 6.5

Linux

Propietario

Symbian

Linux

Windows CE

Nada

BlackBerry

Exchange,

Exchange

Exchange,

Soporte para empresas

Tecnologas
inalmbricas

GSM, WiFi

GSM,
CDMA, WiFi

5th Palm

Windows

Domino,

Domino,

BlackBerry

BlackBerry

GSM, WiFi

GSM,

GSM, CDMA,

CDMA, WiFi WiFi

Figura 19. Comparacion de los detalles basicos entre los Sistemas Operativos Mviles

61

Notificacin

Android

BlackBerry OS

S60 5th

Cupcake

4.7

Edition

Bandeja

Pop-up, fondo

Pop-up

Palm WebOS

Windows
Mobile 6.5

Bandeja

Bandeja, popup

Administracin de

Google

BES, BIS

contactos

Exchange,

Synergy

Exchange,

Domino,

Domino,

BlackBerry,

BlackBerry,

iSync

ActiveSync

Multitasking

Copiar / pegar

Ecosistema / Soporte

Amazon

iTunes sin

Ovi

Amazon

Windows Media

multimedia

DRM

Player

Bsqueda global

No

No

No

Actualizacin de firmware

OTA

Tethered, OTA

Tethered, OTA

Desconocido

Tethered, OTA

Motor del navegador

WebKit

Propietario

WebKit

WebKit

Internet
Explorer

Tethering (mdem)

S (no oficial)

Bluetooth estreo

Figura 20. Comparacin sobre el Funcionamiento de los Sistemas Operativos Mviles

62

3.3.2 Herramientas para el desarrollo de la aplicacin mvil


Para el desarrollo de este proyecto fueron necesario instalar las siguientes
herramientas;
Visual Studio 2008 Professional
Emulador en Windows Mobile

Windows Mobile 5.0 Pocket PC SDK

Centro de dispositivos de Windows Mobile


Microsoft SQL Server 2005 Compact Edition

3.3.3 Software de Desarrollo


Las herramientas usadas en este proyecto como Visual Studio .Net facilita la
interfaz para el desarrollo de aplicaciones de varios tipos como son:
aplicaciones distribuidas, aplicaciones para Web y aplicaciones para servicios
mviles.
Esta herramienta presenta facilidades en el momento de programar, como
conexin a la base de datos, creacin de componentes, etc.
Para el desarrollo de este proyecto se utilizar especficamente el lenguaje
Visual C# de Visual Studio.Net. De igual manera se usar SQL Server 2005
Compact Edition para el almacenamiento de datos de la aplicacin.

63

3.3.3.1 Visual Studio 2008


Visual Studio 2008 proporciona mltiples versiones de. NET Framework desde
el mismo entorno de desarrollo, es decir se puede crear aplicaciones que se
dirigen al. NET Framework 2.0, 3.0 o 3.5, lo que significa que puede soportar
una amplia variedad de proyectos en el mismo entorno.
Visual Studio .Net
Visual Studio .NET proporciona una herramienta que permite generar
aplicaciones para Microsoft Windows y el Web. Visual Studio .NET permite
crear aplicaciones para dispositivos compatibles con Internet que se integren
en cualquier plataforma, tambin permite optimizar la programacin basada en
el Web y brinda facilidad para la creacin de aplicaciones basadas en
Windows.
Para el mayor alcance posible de dispositivos compatibles con Internet, Visual
Studio .NET proporciona caractersticas de Internet Mvil que permite generar
una interfaz Web mvil compatible con una amplia gama de dispositivos
mviles.
Para el desarrollo de aplicaciones mviles Visual Studio.Net dispone de un
mdulo que permite el desarrollo de una manera rpida de este tipo de
aplicaciones.Para el desarrollo de esta aplicacin se utilizara el lenguaje Visual
C# de la aplicacin Visual Studio.Net

64

Existe una gran ventaja al trabajar con la plataforma .NET ya que se puede
acceder a toda la gama de equipos mviles en el mercado, ya sea con
aplicaciones online o aplicaciones ejecutables.

Figura 21. Dispositivos moviles que se pueden programar con .NET


Este proyecto esta desarrollado bajo la plataforma de Visual Studio 2008 en el
Lenguaje de progamacin Visual C# .NET y esta orientado hacia los
dispositivos moviles Pocket PC, en el siguente cuadro comparativo nos
muestra las razones de porque se a utilizado este lenguaje.
3.3.4 Funcionalidad del Emulador en Windows Mobile
Como se menciono anteriormente el emularo nos permitira probar nuestra
aplicacion sin necesidad de utilizar un dispositivo real. Es muy importante
sealar que los emuladores con los que vamos a trabajar emulan y no simulan
los dispositivos reales. Esto significa que nuestra aplicacin se ejecutara tal y
como se ejecutaran sobre el dispositivo real, pues lo que se emula es
realmente el hardware de una PDA.

65

Para abrir la ejecucin del emulador de Windows Mobile, accedemos a


la barra de herramientas y a continuacin abrimos el Administrador de
emuladores de dispositivos. En el proyecto a presentar se utilizara
Windows Mobile 5.0 Pocket PC y se realiza la coneccion.

Figura 22. Administrador de emuladores de dispositivos


Al momento que hacemos click en conectar lanzaremos a ejecucin el
emulador correspondiente. La pantalla del emulador nos ofrece tres
mens: Archivo, Flash y Ayuda.
A travs del men Archivo podremos guardar el estado del emulador,
borrar un estado guardado, realizar una reinicializacin hardware o
software y configurar el emulador. La diferencia entre una reinicializacin
hardware y uno software es que mediante el primero realizamos el
restablecimiento de los ajustes de fbrica de la PDA, mientras que con el
segundo no perdemos los programas instalados ni los datos
almacenados, simplemente vaciamos la RAM del sistema.

66

Figura 23. Emulador del Pocket PC


El emulador del dispositivo contiene exactamente una copia de un dispositivo
real y puede ser utilizado como tal. Adems se puede administrar el dispositivo
desde las opciones del men realizando acciones tales como:
Guardar el estado: Esta accin realiza la emulacin de conservacin en
memoria de todo lo que se encuentra en el dispositivo, esta opcin es
til ya que cada vez que se lanza el dispositivo es como un nuevo inicio
desde cero.
Borrar el estado guardado: En esta opcin nos permite formatear la PC y
volver a instalar el Sistema Operativo.
Restablecer software: En este caso se reinicia el sistema operativo de la
mquina, es un reinicio normal del sistema operativo.
Restablecer hardware: Es una forma de reiniciar el sistema operativo
desde cero, como formatear el dispositivo.

67

Configurar: El emulador del dispositivo se puede configurar para estar


siempre presente, cambiar de modo de visualizacin y utilizar recursos
del pc como parte del emulador.
3.3.5 Centro de dispositivos de Windows Mobile
El Centro de dispositivos de Windows Mobile ofrece administracin de
dispositivos y sincronizacin de datos entre un dispositivo basado en Windows
Mobile y un equipo. El Centro de dispositivos de Windows Mobile incluye las
siguientes caractersticas:
Programa de instalacin optimizada: El Centro de dispositivos de
Windows Mobile tiene un asistente de asociacin nuevo y simplificado y
ha mejorado la administracin de asociacin.
Sincronizacin slida
Administracin de foto: La funcin de administracin de fotos le ayuda
a detectar nuevas fotos en un dispositivo basado en Windows Mobile.
Por lo tanto, esta caracterstica le ayuda etiquetar las fotografas e
importarlas en la Galera fotogrfica de Windows Vista.
Sincronizacin de medios: Puede usar el Reproductor de Windows
Media de Microsoft para sincronizar archivos de msica y para
reproducir aleatoriamente estos archivos en un dispositivo basado en
Windows Mobile.
Bsqueda de archivos: Una nueva experiencia de bsqueda de
dispositivo le permite examinar rpidamente archivos y carpetas.

68

Adems, puede abrir documentos que se encuentren en un dispositivo


basado en Windows Mobile directamente desde el equipo.
Interfaz de usuario mejorada: El Centro de dispositivos de Windows
Mobile tiene una interfaz de usuario simple que ayuda a obtener acceso
rpido a tareas importantes y a configurar un dispositivo basado en
Windows Mobile.
3.3.6 Gestor de Base de Datos a desarrollo en la aplicacin
3.3.6.1 SQL Server 2005 Compact Edition
SQL Server Compact Edition es una tecnologa de bases de datos verstil
compatible con todas las plataformas de Windows y tiene una evolucin de la
tecnologa de bases de datos de Windows Mobile conocida como SQL Server
Mobile Edition (SQL Mobile).
SQL Server Compact Edition cuenta con muchas caractersticas nuevas y
actualizadas que mejoran la confiabilidad y el rendimiento de las bases de
datos. Estas mejoras se pueden dividir en categoras generales: motor de
almacenamiento y procesador de consultas.
Las caracteristicas de SQL Server Compact Edition
Un motor de base de datos compacto y un slido optimizador de
consultas.
Compatibilidad con la rplica de mezcla y el acceso a datos remotos.
Integracin con Microsoft SQL Server 2005.
Integracin con Microsoft Visual Studio.

69

Acceso a datos remotos y rplica de mezcla para sincronizar datos.


Compatibilidad con Microsoft ADO.NET
Posee un subconjunto de sintaxis SQL.
Se implementa como una base de datos incrustada en equipos de
escritorio, dispositivos mviles y Tablet PC.
Ventajas de SQL Server Compact Edition
Funciones ms bsicas de BD relacional en un formato compacto
Ideal para aplicaciones de mviles y de escritorio, como ciertas
aplicaciones de conexin espordica
Se puede inserta dentro de las aplicaciones
La descarga, desarrollo, instalacin y redistribucin son gratuitas
En conclusion el motor de base de datos para este proyeto sera SQL Server
2005 Compact Edition, por su flexibilidad y por sus caracteristicas antes
mencionad, una de las ventajas de esta base de datos es que el usuario
pueden tener acceso a los resultados mediante un mtodo ms completo y
sencillo.

70

3.3.6.2 Comparacin de SQL Server con otros gestores de base de datos


SQL
CARACTERSTICAS

SERVER ORACLE MYSQL POSTGRESQL

Soporte de transacciones

Si

Si

Si

Si

Escalabilidad, estabilidad

Si

Si

No

No

Si

No

Si

No

Si

No

Si

No

SI

No

No

No

SI

No

SI

No

No

SI

No

No

SI

No

No

No

y seguridad.
Soporta procedimientos
almacenados.
Permite realizar Vistas,
Triggers
Posee un entorno grfico
de administracin, que
permite el uso de
comandos DDL y DML
grficamente.
Permite trabajar en modo
cliente-servidor
Su soporte
multiplataforma
Posee un entorno grfico
de administracin, que
permite el uso de
comandos DDL y DML
grficamente.
Figura 24. Matriz comparativa de gestores de base de datos

71

4. DESARROLLO
El sistema de Control de Entradas y Salidas, responde a la necesidad que
tienen, las empresas comerciales de crear un sistema que automatice el control
de inventario de bodega, brindando de esta manera un servicio de calidad e
innovador. Este sistema ha sido diseado pensando en el usuario, ya que su
acceso y navegacin ser de fcil comprensin y manejo, el sistema
presentara mensajes de error y de ayuda entendibles cuando fuese necesario,
para resolver problemas.
4.1 Perspectiva del sistema
La idea fundamental de este sistema es proveer facilidades a los encargados
de inventarios de bodega de la empresa, automatizando los procesos de
entrada y salida de los producto, para tener una reduccin de tiempo
considerable comparada con la forma manual de llevar inventarios. Nuestro
futuro sistema interactuar con una base de datos que almacenar a todas las
sucursales o almacenes para realizar los respectivos traspasos de productos,
con este proceso se dar de baja a los productos del inventario.
4.2 Restricciones del sistema de entrada y salida
El sistema de entrada y salida de productos tendr las siguientes restricciones:
No poder operar en un sistema abierto a cualquier plataforma, como por
ejemplo en Linux, ya que fue especialmente ideado para que funcione
en Windows.

72

En cuanto a las limitaciones del hardware debemos tener en cuenta que


cada usuario tiene una velocidad de acceso a la red diferente. Para
poder tener acceso en tiempo real a cualquier tipo de informacin.
En cuanto a la seguridad del sistema, deberemos protegerlo frente a
cualquier intento de acceso no permitido, por ello todo usuario dispondr
de una contrasea para poder acceder al sistema.

4.3 Interfaces externas


4.3.1 Interfaces de usuario
Estas interfaces permitirn realizar procesos de registros de productos, ingreso
de artculos, y salida de productos, adems nos presentara las consultas
necesarias. El ingreso al sistema requiere un tipo de usuario y contrasea.
Nuestra aplicacin funcionar bajo el entorno de Windows y dentro de ste, la
interfaz hacia el usuario se mostrar mediante un emulador de dispositivo, para
introducir datos en los respectivos campos.
4.3.2 Interfaces hardware
El sistema soportar las siguientes actividades:
Navegacin entre interfaces

Mouse y Teclado.

Ingresos de datos

Teclado, Administrador del


Emulador del dispositivo.

Salida de datos

Monitor

Figura 25. Matriz de Interfaz con el Hardware

73

4.3.3 Interfaces software


Se usar el siguiente software:
Herramienta UML para el anlisis y diseo del
Herramientas Base de Datos

SQL Server 2005 Compact Edition

Herramientas de desarrollo

Visual Studio .Net 2008. Lenguaje Visual C# .NET

Para Documentar

Microsoft Word.

4.4 Flujo de trabajo (Workflow) del sistema


4.4.1 Fase de Inicio
4.4.1.1 Anlisis del sistema actual
Los mtodos tradicionales que se han utilizado para llevar el control de entrada
y salida de un producto, de cierta forma son inseguros. La problemtica que se
vive actualmente dentro de la Distribuidora es que los procesos son llevados de
forma manual, provocando prdida de tiempo en la actualizacin de datos y la
falta de informacin al momento de tomar una decisin.
Hoy en da gracias a los avances de la tecnologa permite que las
organizaciones se hagan competitivas en este mundo globalizado en el que las
organizaciones luchan por mantenerse en el mercado. Es favorable para
nuestro pas la implementacin de tecnologa mediante la implementacin de
proyectos como este, el mismo que permite mantener la informacin a toda
hora y en todo lugar. La necesidad de obtener la informacin de una manera

74

rpida y eficiente no surge de recin, sino desde que existen las empresas que
manejan grandes cantidades de informacin y el servicio al cliente es parte
esencial de la empresa, es por ello que se plantea el desarrollo de un sistema
de control de entradas y salidas de productos utilizando tecnologa PDA.
Con esto nos ayudara a tener una informacin rpida, segura y que ayude a la
gerencia en la toma de decisiones para lograr ser ms productivos.

Figura 26. Diagrama de Flujo de datos

75

4.4.1.2 Descripcin de Actores


ACTORES DEL SISTEMA
Administrador Responsable de la gestin y buen funcionamiento del
sistema, y dar mantenimiento de usuarios, bodega,
productos y proveedores.
Bodegueros

Cualquier persona que utilice el sistema para la


entrada y salida del producto.
Figura 27. Matriz de Actores del sistema

4.4.1.3 Identificacin de los casos de uso


El sistema de control de entradas y salidas est constituido por los siguientes
casos de uso que son:
ACTOR

CASO DE USO
Mantenimiento de Usuarios

Administrador

Mantenimiento de Productos
Mantenimiento de Bodegas
Mantenimiento de Proveedores

Bodeguero

Control de entrada de productos


Control de salida de productos
Consulta de movimientos

Figura 28. Matriz de identificacin de casos de uso

76

4.4.1.4 Catlogo de Requerimientos del sistema

IRQ N 1

Mantenimiento de Usuarios

Actor

Administrador

Descripcin

El sistema deber tener la opcin de


mantenimiento de usuarios, permitir crear,
modificar y eliminar un usuario del sistema.

Datos Especficos

Nombre del usuario


Contrasea

Importancia

Alta

Comentario

Es necesario crear los usuarios para acceder


a los diferentes mens del sistema.

IRQ N 2

Mantenimiento de Productos

Actor

Administrador

Descripcin

El sistema deber tener la opcin de


mantenimiento de productos, permitir crear,
modificar y eliminar un producto del sistema.

Datos Especficos

Cdigo
Nombre del producto
Stock

Importancia

Alta

Comentario

Es necesario crear los productos ya que


estos nos servirn para realizar el
movimiento de entrada y salida.

77

IRQ N 3

Mantenimiento de Bodegas

Actor

Administrador

Descripcin

El sistema deber tener la opcin de


mantenimiento de bodegas, permitir crear,
modificar y eliminar una bodega del sistema.

Datos Especficos

Cdigo
Nombre del bodega

Importancia

Alta

Comentario

El mantenimiento de bodegas nos servir


para realizar el movimiento de salida del
producto.

IRQ N 4

Mantenimiento de Proveedores

Actor

Administrador

Descripcin

El sistema deber tener la opcin de


mantenimiento de proveedores, permitir
crear, modificar y eliminar un proveedor del
sistema.

Datos Especficos

Nombre del Proveedor


Direccin
Telfono
RUC

Importancia

Alta

Comentario

La lista de los proveedores se utilizara al


momento de realizar el movimiento de
entrada del producto.

78

IRQ N 5

Control de Entrada de productos

Actor

Bodeguero

Descripcin

El sistema permitir al usuario bodeguero


realizar el movimiento de entrada de un
producto hacia el inventario de bodega.

Datos Especficos

Fecha
Usuario
Bodega
Proveedor
Producto

Importancia

Alta

Comentario

Con este movimiento se actualizara el


Kardex de productos.

IRQ N 5

Control de Salida de productos

Actor

Bodeguero

Descripcin

El sistema permitir al usuario bodeguero


realizar el movimiento de salida del producto
del inventario de bodega.

Datos Especficos

Fecha
Usuario
Bodega
Observacin
Producto

Importancia

Alta

Comentario

Con este movimiento se actualizara el


Kardex de productos.

79

4.4.2 Fase de Elaboracin


4.4.2.1 Modelado de Caso de Uso

Identificador y nombre
Actores

Control de entrada y salida de productos

Administrador y Bodeguero

Diagrama
detallado

Figura 29. Diagrama de caso de uso

80

4.4.2.1.1 Aplicacin de Casos de Uso


4.4.2.1.1.1

Caso de uso Mantenimiento de Usuarios

Caso de uso # 1
Identificador y nombre
Actores

Control de Usuarios

Administrador

Diagrama

Control de Usuarios

detallado
Registra Nuevo
Usuario

Modifica Usuario

Elimina Usuario
Administrador

Figura 30. Caso de uso control de usuarios

81

4.4.2.1.1.2

Caso de uso Mantenimiento de Bodega

Caso de uso # 2
Identificador y nombre
Actores

Control de Bodegas

Administrador

Diagrama

Control de Bodegas

detallado

Registra Nueva
Bodega

Modifica Bodega

Elimina Bodega
Administrador

Figura 31. Caso de uso control de bodegas

82

4.4.2.1.1.3

Caso de uso Mantenimiento de Producto

Caso de uso # 3
Identificador y nombre
Actores

Control de Productos

Administrador

Diagrama

Control de Productos

detallado

Registra Nueva
Producto

Modifica Producto

Elimina Producto
Administrador

Figura 32. Caso de uso control de producto

83

4.4.2.1.1.4

Caso de uso Mantenimiento de Proveedor

Caso de uso # 4
Identificador y nombre
Actores

Control de Proveedor

Administrador

Diagrama
detallado

Figura 33. Caso de uso control de proveedores

84

4.4.2.1.1.5

Caso de uso Movimiento de Entrada

Caso de uso # 5
Identificador y nombre
Actores

Control de Entrada del Producto

Bodeguero

Diagrama

Control de Entrada de Producto

detallado
Ingresa al menu
Ingreso de Productos

Selecciona el
proveedor
Selecciona el
producto
Bodeguero
Selecciona la
cantidad
extends
Actualiza el Stock

Figura 34. Caso de uso movimiento entrada

Consultar

85

4.4.2.1.1.6

Caso de uso Movimiento de Salida

Caso de uso # 6
Identificador y nombre
Actores

Control de Salida del Producto

Bodeguero

Diagrama
detallado

Figura 35. Caso de uso movimiento salida

86

4.4.2.1.2 Descripcin de casos de uso


El sistema debe gestionar informacin relacionada con el usuario.
Nombre

Iniciar sesin

Objetivo

Identificar el nivel de acceso de los usuarios al


sistema
Conexin a la base de datos satisfactoria

Precondicin

Que el usuario este registrado en el sistema


Que se haya iniciado el programa
Usuario

Sistema

1. Inicia cuando el

2. El sistema despliega

usuario pide

una interfaz de usuario

funcionalidad para

para iniciar sesin, con

iniciar sesin.

dos campos de contrasea


y usuario

Flujo del Sistema

3. El usuario, ingresa el

4. El sistema valida los

usuario y la contrasea.

datos
5. El sistema consulta la
existencia del usuario en
la base de datos
6. El sistema despliega la
interfaz grfica para dicho
usuario.

87

Caso de uso # 1
Nombre

Registra Nuevo Usuario

Objetivo

Registrar un nuevo usuario

Actor

Administrador

Precondicin

Conexin a la base de datos satisfactoria


Haber iniciado sesin un Administrador
Usuario

Sistema

1. El usuario a

2. El sistema valida si el

ingresado como

usuario en sesin tiene

administrador al sistema

nivel de accesibilidad de
administrador

Flujo del Sistema

3. El usuario pide

4. El sistema despliega la

funcionalidad a registrar

interfaz grfica para

nuevo usuario

registrar un nuevo usuario

5. El usuario llena los

6. El sistema valida los

atributos del nuevo

datos introducidos por el

usuario solicitados por

usuario

la interfaz grfica dada


por el sistema
7. El sistema guarda en la
base de datos el nuevo
usuario

88

Caso de uso # 1
Nombre

Modificar usuario

Objetivo

Registrar modificaciones en un usuario deseado

Actor

Administrador

Precondicin

Conexin a la base de datos satisfactoria


Haber iniciado sesin un Administrador
Usuario

Sistema

1. El usuario a

2. El sistema valida si el

ingresado como

usuario en sesin tiene

administrador al sistema

nivel de accesibilidad de
administrador

Flujo del Sistema

3. El usuario selecciona

4. El sistema despliega

Modificar Usuario

una interfaz grfica para


modificar

5. El usuario selecciona

6. El sistema valida los

los atributos del usuario

datos entrantes.

que desee modificar.


7. El sistema actualiza en
la base de datos la nueva
modificacin

89

Caso de uso # 1
Nombre

Eliminar usuario

Objetivo

Eliminar del sistema un usuario ya sea por causas no


relacionadas con el sistema sino con la empresa

Actores
Precondicin

Administrador
Conexin a la base de datos satisfactoria
Haber iniciado sesin un Administrador
Usuario

Sistema

1. El usuario a

2. El sistema valida si el

ingresado como

usuario en sesin tiene

administrador al sistema

nivel de accesibilidad de
administrador

Flujo del Sistema

3. El usuario selecciona

4. El sistema despliega

Eliminar Usuario

una interfaz grfica para


eliminar

5. El usuario selecciona

6. El sistema valida el dato

el usuario a eliminar

entrante.
7. El sistema actualiza la
base de datos

90

El sistema debe gestionar informacin relacionada con Bodega.


Caso de uso # 2
Nombre

Crea Nueva Bodega

Objetivo

Registrar un nuevo Bodega

Actor

Administrador

Precondicin

Conexin a la base de datos satisfactoria


Haber iniciado sesin un Administrador
Usuario

Sistema

1. El usuario a

2. El sistema valida si el

ingresado como

usuario en sesin tiene

administrador al sistema

nivel de accesibilidad de
administrador

Flujo del Sistema

3. El usuario pide

4. El sistema despliega la

funcionalidad a crear

interfaz grfica para

nueva bodega

registrar un nueva bodega

5. El usuario llena los

6. El sistema valida los

campos de la nueva

datos introducidos por el

bodega solicitados por

usuario

la interfaz grfica dada


por el sistema
7. El sistema guarda en la
base de datos la nueva
bodega

91

Caso de uso # 2
Nombre

Modificar Bodega

Objetivo

Registrar modificaciones en una bodega deseada

Actor

Administrador

Precondicin

Conexin a la base de datos satisfactoria


Haber iniciado sesin un Administrador
Usuario

Sistema

1. El usuario a

2. El sistema valida si el

ingresado como

usuario en sesin tiene

administrador al sistema

nivel de accesibilidad de
administrador

Flujo del Sistema

3. El usuario selecciona

4. El sistema despliega

Modificar Bodega

una interfaz grfica para


modificar

5. El usuario selecciona

6. El sistema valida los

los campos de la

datos entrantes.

bodega que desee


modificar.
7. El sistema actualiza en
la base de datos la nueva
modificacin

92

El sistema debe gestionar informacin relacionada con el Producto.


Caso de uso # 3
Nombre

Crea Nueva Producto

Objetivo

Registrar un nuevo producto para poder realizar las


entradas de los productos al inventario de bodega

Actor
Precondicin

Administrador
Conexin a la base de datos satisfactoria
Haber iniciado sesin un Administrador
Usuario

Sistema

1. El usuario a

2. El sistema valida si el

ingresado como

usuario en sesin tiene

administrador al sistema

nivel de accesibilidad de
administrador

Flujo del Sistema

3. El usuario pide

4. El sistema despliega la

funcionalidad a crear

interfaz grfica para

nueva producto

registrar un nueva
producto

5. El usuario llena los

6. El sistema valida los

campos del nuevo

datos introducidos por el

producto solicitados por

usuario

la interfaz grfica dada


por el sistema
7. El sistema guarda en la
base de datos el nuevo
producto

93

Caso de uso # 3
Nombre

Modificar producto

Objetivo

Registrar modificaciones en un producto deseado

Actor

Administrador

Precondicin

Conexin a la base de datos satisfactoria


Haber iniciado sesin un Administrador
Usuario

Sistema

1. El usuario a

2. El sistema valida si el

ingresado como

usuario en sesin tiene

administrador al sistema

nivel de accesibilidad de
administrador

Flujo del Sistema

3. El usuario selecciona

4. El sistema despliega

Modificar producto

una interfaz grfica para


modificar

5. El usuario selecciona

6. El sistema valida los

los campos del producto

datos entrantes.

que desee modificar.


7. El sistema actualiza en
la base de datos la nueva
modificacin

94

Caso de uso # 3
Nombre

Eliminar producto

Objetivo

Eliminar del sistema un producto ya sea por causas


no relacionadas con el sistema sino con la empresa

Actores
Precondicin

Administrador
Conexin a la base de datos satisfactoria
Haber iniciado sesin un Administrador
Usuario

Sistema

1. El usuario a

2. El sistema valida si el

ingresado como

usuario en sesin tiene

administrador al sistema

nivel de accesibilidad de
administrador

Flujo del Sistema

3. El usuario selecciona

4. El sistema despliega

Eliminar producto

una interfaz grfica para


eliminar

5. El usuario selecciona

6. El sistema valida el dato

el producto a eliminar

entrante.
7. El sistema actualiza la
base de datos

95

El sistema debe controlar la entrada del producto de la empresa.


Caso de uso # 4
Nombre
Objetivo
Actor
Precondicin

Flujo del Sistema

Registrar la entrada del producto


Controlar las entradas de los productos hacia el rea
de Bodega.
Bodeguero
Conexin a la base de datos satisfactoria
Haber iniciado sesin un Bodeguero
Usuario
Sistema
1. El usuario a
2. El sistema valida si el
ingresado como
usuario en sesin tiene
bodeguero al sistema
nivel de accesibilidad de
bodeguero
3. El usuario selecciona 4. El sistema despliega la
entrada de productos
interfaz grfica para
registrar la entrada de un
producto.
5. El usuario llena los
campos; fecha, nombre
del proveedor, nombre
del usuario, en la
interfaz grfica dada por
el sistema
6. El usuario graba esta 7. El sistema muestra la
informacin
lista de los productos
disponible para realiza la
carga al inventario.
8. El usuario selecciona 9. El sistema valida los
el nombre del producto
datos introducidos por el
y la cantidad que desee usuario
ingresar.
10. El sistema guarda en
la base de datos el ingreso
de los productos y
actualiza el stock.

96

El sistema debe controlar la salida del producto de la empresa.


Caso de uso # 5
Nombre
Objetivo
Actor
Precondicin

Flujo del Sistema

Registrar la salida del producto


Controlar las salidas del productos
Bodeguero
Conexin a la base de datos satisfactoria
Haber iniciado sesin un Bodeguero
Usuario
Sistema
1. El usuario a
2. El sistema valida si el
ingresado como
usuario en sesin tiene
bodeguero al sistema
nivel de accesibilidad de
bodeguero
3. El usuario selecciona 4. El sistema despliega la
salida de productos
interfaz grfica para
registrar la salida de un
producto.
5. El usuario llena los
campos; fecha, nombre
del bodega, nombre del
usuario, en la interfaz
grfica dada por el
sistema
6. El usuario graba esta 7. El sistema muestra la
informacin
lista de los productos
disponible para realiza la
descarga del inventario.
8. El usuario selecciona 9. El sistema valida los
el nombre del producto
datos introducidos por el
y la cantidad que desee usuario
transferir.
10. El sistema guarda en
la base de datos la salida
de los productos y
actualiza el stock.

97

El sistema debe generar las consultas de entrada y salida del producto


Caso de uso # 4, 5
Nombre

Consulta de las entradas y salidas de los productos

Objetivo

Ver la lista de los productos entrantes y salientes del


sistema. Donde nos muestre el stock actualizado.

Actores

Bodeguero

Precondicin

Conexin a la base de datos satisfactoria


Haber iniciado sesin un Bodeguero

Flujo del Sistema

Usuario

Sistema

1. El usuario desea ver

2. El sistema despliega

la lista de los productos

una interfaz grfica para

de entrada y salida que

consultar las entradas y

se han realizado en el

salidas de los productos,

da

mediante la fecha de
ingreso o egreso del
producto.

3. El usuario ingresa la

4. El sistema consulta en

fecha desde y hasta que base de datos la


desea ver los producto

existencia de dichos
productos
3. El sistema despliega
una interfaz grfica
mostrando la lista de
productos actualizada.

98

4.4.2.2 Diagrama de Actividad


4.4.2.2.1 Diagrama de Actividad Ingreso al Sistema

Usuario

Ingreso de Usuario y contrasea valido

Validad parmetros de acceso al sistema


No

Usuario no existe

Si
Conectar a la Base de Datos del Sistema

Acceso al Sistema

Figura 36. Diagrama de Actividad Ingreso al sistema

99

4.4.2.2.2 Diagrama de Actividad Movimiento de Entrada

Iniciar secin como bodeguero

Interfaz del menu principal

Ingresar al movimiento de entrada

No

Retorna

Si
Ingresa Datos

Tipo de dato correcto


No
Corregir dato

Si

Graba los datos validados

Muestra datos en la pantalla

Figura 37. Diagrama de Actividad del Movimiento de Entrada

100

4.4.2.2.3 Diagrama de Actividad Movimiento de Salida

Iniciar secin como bodeguero

Interfaz del menu principal

Ingresar al movimiento de salida

No

Retorna

Si
Ingresa Datos

Tipo de dato correcto


No
Corregir dato

Si

Graba los datos validados

Muestra datos en la pantalla

Figura 38. Diagrama de Actividad del Movimiento de Salida

101

4.4.2.2.4 Diagrama de Actividad Consultas de los Movimientos

Iniciar secin como bodeguero

Interfaz del menu principal

Consulta de movimientos

Selecciona el tipo de movimiento (Entrada / Salida)

Valida la fecha

Realiza la consulta en la BD

Muestra Informacin

Figura 39. Diagrama de Actividad sobre consulta de los movimientos

102

4.4.2.3 Diagrama de Colaboracin


4.4.2.3.1 Diagrama de Colaboracin Inicio de Sesin

2. Datos del Usuario

1. Ingresar al sistema
Interfaz

Usuario

Sistema

5. Inicio de Secion
4. Verificacin
Usuario del Sistema
3. Conexin

Base de Datos

Figura 40. Diagrama de Colaboracin de Inicio de Sesin

4.4.2.3.2 Diagrama de Colaboracin del Movimiento de Entrada

1. Ingresar al sistema

2. Ingreso de Datos
Interfaz

Sistema Movimiento Entrada


5. Muestra informacin de la entrada

Bodeguero

4. Guarda

3. Conexin

Base de Datos

Figura 41. Diagrama de Colaboracin del Movimiento de Entrada

103

4.4.2.3.3 Diagrama de Colaboracin del Movimiento de Salida

1. Ingresar al sistema

2. Ingreso de Datos
Interfaz

Sistema Movimiento Salida


5. Muestra informacin de la salida
4. Guarda

Bodeguero

3. Conexin

Base de Datos

Figura 42. Diagrama de Colaboracin del Movimiento de Salida

4.4.2.4 Diseo del sistema


4.4.2.4.1 Descripcin de las clases

Figura 43. Descripcin de clases

104

4.4.2.4.2 Diccionario de clases

CLASE

DESCRIPCIN

Bodega

Esta clase representa las sucursales o


almacn donde se vende los productos

Usuaridat

Es la clase que registra las caractersticas


principales que identifican a usuario
administrador o usuario bodeguero.

Rol

Almacena los tipos de usuarios del sistema

Proveedor

Permite almacenar las caractersticas


principales que identifican a un proveedor.

Producto

Es la clase que registra las caractersticas


principales que identifican a un producto

MovimientoC

Esta clase nos permite sacar los datos por


rango de fechas

Consulta Filtrada

Esta clase nos permite sacar el movimiento del


kardex del producto

Figura 44. Matriz Diccionario de clases

105

4.4.2.4.3 Diagrama de Clases

MovimientoC
Bodega
-codigo
-descripcion
+Eliminar()
+Insertar()
+LlenarBodega()
+Modificar()
+ObtieneBodega()

-Bodcod
-Fecha
-Observacion
-Tipo
-UsuCod
+Insertar()
+LlenarMoviC()
+ObtieneMovxNum()
+ObtieneUltimo()

Consulta Filtrada
Usuario
-clave
-codigo
-descripcion
-rol
+Eliminar()
+Insertar()
+LlenarUsuario()
+Modificar()
+ObtieneUsuario()

+ConsultaDetalle()
+ConsultaKardex()
+ConsultaxFechas()

Proveedor
-codigo
-direccion
-nombre
-ruc
-telefono
+Eliminar()
+Insertar()
+LlenarProveedor()
+Modificar()
+ObtieneProveedor()
Producto
-descripcion
-stock
+ActualizaStock()
+Eliminar()
+Insertar()
+LlenarProducto()
+Modificar()
+ObtieneProducto()

Rol
-codigo
-descripcin
+Eliminar()
+Insertar()
+LlenarRol()
+Modificar()
+ObtieneRol()

Figura 45. Diagrama de clases

106

4.4.2.4.4 Diagrama de Secuencia


4.4.2.4.4.1

Diagrama de Secuencia Ingreso al Sistema

Conexion BD

Interfaz con el sistema


Usuario

1. Ingresar Usuario
2. Solicita contrasea

3. Ingresa Contrasea
4. Set_Usuario

5. Set_contrasea
6. Comparar contrasea

7. Inicia Secin
8. Muestra Inicio de Secin

Figura 46. Diagrama de Secuencia Ingreso al Sistema

107

108

4.4.2.4.4.2

Diagrama de Secuencia Movimiento de Entrada

Interface Usuario

Menu Principal

Movimiento Entrada

Interface Base de Datos


Base de Datos

Bodeguero
1. Inicia secion
2. Ingresa Usuario y Contrasea

3. Validacin de los datos


4. Busca si existe el usuario

5. Acepta que existe

6. Despliega el menu principal

7. Selecciona Movimiento de Entrada


8. Registra informacion para la entrada del producto
9. Registra el nombre y cantidad del producto
10. Maneja Evento (Guardar)
11. Execute Create (SQL)

12. Aceptar
13. Salir

Figura 47. Diagrama de Secuencia Movimiento de Entrada

109

4.4.2.4.4.3

Diagrama de Secuencia Movimiento de Salida

Interface Usuario

Menu Principal

Movimiento Salida

Interface Base de Datos


Base de Datos

Bodeguero
1. Inicia secion
2. Ingresa Usuario y Contrasea
3. Validacin de los datos

4. Busca si existe el usuario

5. Acepta que existe

6. Despliega el menu principal

7. Selecciona Movimiento de Salida


8. Registra informacion para la salida del producto
9. Registra el nombre del producto
10. Maneja Evento (Guardar)
11. Execute Create (SQL)

12. Aceptar
13. Salir

Figura 48. Diagrama de Secuencia Movimiento de Salida

110

4.4.2.4.5 Diagrama de Estado


4.4.2.4.5.1

Diagrama de Estado Inicio de Sesin


Comparar contrasea
(Contrasea incorrecta)

Volver a entrar
Comparar contrasea
(contrasea incorrecta)

En reposo

Se introduce la
contrasea

Comparando
Comparar contrasea
(contrasea correcta)

Activacin
correcta

Seleccionando

Figura 49. Diagrama de Estado de Inicio de Sesin

4.4.2.4.5.2

Diagrama de Estado de Ingreso de Productos


Inicio

Ingreso de nuevos
producto a bodega

Bodeguero

Verifica

Ingresa los productos al


inventario de bodega

Modulo Productos

Actualiza el stock
Sistema

Fin

Figura 50. Diagrama de Estado de Ingreso de Productos

111

4.4.2.4.5.3

Diagrama de Estado de la Salida de Productos


Inicio

Bodeguero

Recibe

Solicitud de salida

Inventario

Descarga de Productos

Sistema

Actualiza el stock

Fin

Figura 51. Diagrama de Estado de la Salida de Productos

112

4.4.2.4.6 Diseo de Interfaces


4.4.2.4.6.1

Pantalla Ingreso al Sistema

Figura 52. Pantalla Ingreso al Sistema

4.4.2.4.6.2

Men Principal del Administrador

Figura 53. Men Principal del Administrador

113

4.4.2.4.6.3

Mantenimiento de Proveedores

Figura 54. Mantenimiento de Proveedores

4.4.2.4.6.4

Mantenimiento de Bodega

Figura 55. Mantenimiento de Bodega

114

4.4.2.4.6.5

Mantenimiento de Usuarios

Figura 56. Mantenimiento de Usuarios

4.4.2.4.6.6

Mantenimiento de Productos

Figura 57. Mantenimiento de Productos

115

4.4.2.4.6.7

Men Principal del Bodeguero

Figura 58. Men Principal del Bodeguero

4.4.2.4.6.8

Entrada de Mercadera

Figura 59. Entrada de Mercadera

116

4.4.2.4.6.9

Salida de Mercadera

Figura 60. Entrada de Mercadera

4.4.2.4.6.10 Consulta de los Movimiento de Entrada y Salida

Figura 61. Consulta de los Movimiento de Entrada y Salida

117

4.4.2.4.6.11 Kardex del Producto

Figura 62. Kardex de productos


4.4.2.5 Implementacin
4.4.2.5.1

Creacin de tablas

Tabla Bodega

Figura 63. Tabla Bodega

118

Tabla Productos

Figura 64. Tabla Producto


Tabla Rol

Figura 65. Tabla Proveedor

Tabla Movimiento Cabecera

119

Figura 66. Tabla Movimiento Cabecera


Tabla Movimiento Detalle

Figura 67. Tabla Movimiento Detalle


Tabla Usuario

Figura 68. Tabla Usuario


Tabla Proveedor

Figura 69. Tabla Proveedor

120

4.4.2.5.2

Modelo Entidad Relacin

Figura 70. Diagrama de Entidad Relacin

4.4.3 Fase de Construccin


4.4.3.1 Plan de Prueba
Mediante el Proceso Unificado de Desarrollo de Software, determina que la
fase de pruebas es la encargada de; Planificar las pruebas en cada iteracin,
incluyendo las pruebas de interaccin del sistema. Ejecutar las diferentes
pruebas y manejar los resultados de cada prueba sistemticamente.

121

4.4.3.2 Objetos Evaluados


Para el plan de pruebas identificamos los siguientes artefactos a ser probados.
Entrada de productos
Salida de productos
Consulta de los movimientos
Kardex de Productos

4.4.3.3 Acciones de Prueba


Caso de Prueba

Entrada de productos

Accin

Resultado

xito

Verificar si ingreso correcto

Se ingres de manera correcta

si

Se despliega correctamente

si

Se ejecuta sin problema esta

si

como bodeguero
2

Seleccionar entrada de
productos

Validacin de los campos

accin.
4
5

Carga de productos
Grabar el movimiento

Se mostr todos los productos


que dispone la empresa

si

Se ejecuta correctamente y

si

actualiza los datos.


Figura 71. Caso de Prueba Entrada de Productos

122

Caso de Prueba

Salida de productos

Accin

Resultado

xito

Verificar si ingreso correcto

Se ingres de manera correcta

si

Se despliega correctamente

si

Se ejecuta sin problema esta

si

como bodeguero
2

Seleccionar la opcin salida


de productos

Validacin de los campos

accin.
4
5

Carga de productos
Grabar el movimiento

Se mostr todos los productos


que dispone la empresa

si

Se ejecut correctamente y

si

actualiza los datos.


Figura 72. Caso de Prueba Salida de Productos

Caso de Prueba

Consulta de los Movimientos

Accin

Resultado

xito

Seleccionar la opcin

Se despliega correctamente

si

Selecciona la fecha y el tipo

Se ejecuta esta accin

si

de movimiento

correctamente.

Seleccionar la opcin

Se carga los datos en la grilla.

Consulta de movimientos

si

Consultar
4
5

Ver detalle
Selecciona Salir

Nos muestra el producto que


ha sido ingresa o egresado

si

Regresa al men principal del

si

bodeguero.
Figura 73. Caso de Prueba Consulta de los movimientos

123

Caso de Prueba

Kardex de los productos

Accin

Resultado

xito

Seleccionar la opcin Kardex

Se despliega correctamente

si

Selecciona la fecha y el

Se ejecuta esta accin

si

nombre del producto

correctamente.

Seleccionar la opcin

Nos muestra el movimiento

Consultar

que ha tenido un producto.

Selecciona Salir

Regresa al men principal del

de los productos

3
5

bodeguero.
Figura 74. Caso de Prueba Kardex de los productos

si
si

124

5. CONCLUSIONES Y RECOMENDACIONES
5.1 Conclusiones
La utilizacin de un sistema automatizado mediante un dispositivo mvil
brindar soluciones efectivas al proceso de entrada y traslado de
productos, logrando as dar un servicio eficiente y de calidad a sus
clientes.
Acortar el tiempo de bsqueda, acceso y abastecimiento de productos
requeridos en almacn.
Informacin precisa y confiable
Con la utilizacin de la tecnologa mvil se logra optimizar el tiempo en
el proceso de gestin de entrada y traslado, as como tambin la
reduccin en cuanto a gastos de tiles de oficina como la utilizacin de
papel.
La portabilidad de un dispositivo mvil hace que los usuarios puedan
manejarlos en todo momento y lugar ya que este dispositivo tiene casi el
mismo tamao que un telfono celular.

5.2 Recomendaciones
Se recomienda fomentar la utilizacin de la tecnologa de dispositivos
mviles en un mayor porcentaje, dentro del sector industrial y
comercial de nuestra ciudad as como tambin a nivel nacional.
Se recomienda capacitar a los usuarios en cuanto a las aplicaciones
en tecnologa mvil.

125

BIBLIOGRAFA

[1] Wikipedia (sf) consultado el 06.sep.2011 Copiado de:

http://es.wikipedia.org/wiki/Comunicaci%C3%B3n_inal%C3%A1mbric
a

[2]

Wikipedia

(sf)

consultado

el

02.sep.2011

Copiado

de:

http://es.wikipedia.org/wiki/Proceso_Unificado_de_Rational
-

[3]

Wikipedia

(sf)

consultado

el

02.sep.2011

Copiado

de:

http://es.wikipedia.org/wiki/Lenguaje_Unificado_de_Modelado
-

[4] Wikipedia (sf) consultado el

26.ago.2011 Copiado de:

http://es.wikipedia.org/wiki/Microsoft_SQL_Server

126

ANEXOS
MANUAL DE USUARIO
INTRODUCCIN
El manual del sistema de entrada y salida, permite visualizar de manera
perceptible su entorno grfico y su operatividad, ya que en l se explica
detalladamente los pasos que deben seguir para el manejo general de las
estructuras de las pantallas, as como las funciones de los iconos bsicos.
Por consiguiente, el usuario obtendr informacin valiosa para el manejo de las
herramientas que le permitirn aprovechar las bondades que le ofrece el
Sistema.
Entre las bondades que ofrece el Sistema, se pueden citar las siguientes:
Es amigable y de fcil manejo, ya que queda a conveniencia del usuario
utilizar desde el emulador o mediante un dispositivo mvil.
Facilita la gestin de manejo y control de procesos del inventario, a
travs de los procesos de entrada y salida.
Contiene mensajes en caso que el usuario ingrese alguna informacin
mal.

127

Ingreso al sistema
El sistema de Entrada y Salida cuenta con tres tipos de usuarios. Para realizar
los mantenimientos del sistema se ingresara como Administrador. Para
acceder al sistema es necesario tener un nombre del usuario y contrasea.

Men Principal del Administrador


Dentro del men principal del administrador, esta los mantenimientos de
Usuarios, Productos, Proveedores, Bodegas

128

Mantenimiento de Proveedores
La aplicacin permite crear, modificar y eliminar un proveedor del sistema

Nuevo Proveedores
Al seleccionar Nuevo se abre una pantalla mostrandomos los campos que se
debe llenar (Nombre, Direccion, Telefono, RUC), luego de llenar estos datos,
hacemos clik en Grabar y nos visualiza un mensaje que el producto a sido
creado y si no queremos guardar damos clik en Cerrar y nos regresaremos al
mantenimiento de proveedores.

129

Modificar Proveedores
Al seleccionar Modificar se abre una pantalla mostrandomos los campos que
deseemos cambiar (Nombre, Direccion, Telefono, RUC), luego de modificar los
datos, hacemos clik en Grabar y nos visualiza un mensaje que el producto a
sido modificado, presionamos ok y regresa al mantenimiento del proveedores y
si no queremos guardar los cambios damos clik en Cerrar y nos regresaremos
al mantenimiento de proveedores.

Eliminar Proveedores
Al seleccionar Eliminar se abre una pantalla mostrandomos los campos de lo
que vamos a eliminar (Nombre, Direccion, Telefono, RUC), hacemos clik en
Eliminar y nos visualiza un mensaje Realmente desea Eliminar, si damos clik
en Si se eliminara automaticamente y regresa al mantenimiento del
proveedores y si no queremos eliminar damos clik en No y nos regresaremos
al mantenimiento de proveedores.

130

Mantenimiento de Bodega
La aplicacin permite crear, modificar y eliminar una bodega del sistema

Nuevo Bodega
Al seleccionar Nuevo se abre una pantalla mostrandomos el campo que se
debe llenar (Descripcin), luego de llenar ese dato, hacemos clik en Grabar y
nos visualiza un mensaje que el producto a sido creado y si no queremos
guardar damos clik en Cerrar y nos regresaremos al mantenimiento de bodega.

131

Modificar Bodega
Al seleccionar Modificar se abre una pantalla mostrando el campo a cambiar
cambiar (Descripcin), luego de modificar el dato, hacemos clik en Grabar y
nos visualiza un mensaje que el producto a sido modificado, presionamos ok y
regresa al mantenimiento del bodega y si no queremos guardar los cambios
damos clik en Cerrar y nos regresaremos al mantenimiento de bodega.

132

Eliminar Bodega
Al seleccionar Eliminar se abre una pantalla mostrandomos el campo que
vamos a eliminar (Descripcin), hacemos clik en Eliminar nos visualiza un
mensaje Realmente desea Eliminar, si damos clik en Si se eliminara
automaticamente y regresa al mantenimiento del producto y si no queremos
eliminar damos clik en Cerrar y nos regresaremos al mantenimiento de
bodega.

Mantenimiento de Usuarios
La aplicacin permite crear, modificar y eliminar un usuario del sistema

133

Nuevo Usuario
Al seleccionar Nuevo se abre una pantalla mostrandomos los campos que se
debe llenar (Descripcin, Rol, Clave), luego de llenar estos datos, hacemos clik
en Grabar si deseamos que se guarde la informacin y no damos clik en
Cerrar y nos regresaremos al mantenimiento de usuarios.

Modificar Usuario
Al seleccionar Modificar se abre una pantalla mostrandomos los campos que
deseemos cambiar (Descripcin, Rol, Clave), luego de modificar los datos,
hacemos clik en Grabar si deseamos que se guarde la informacin y no damos
clik en Cerrar y nos regresaremos al mantenimiento de usuarios.

134

Eliminar Usuario
Al seleccionar Eliminar se abre una pantalla mostrandomos los campos de lo
que deseemos eliminar (Descripcin, Rol, Clave), al dar clik en Eliminar nos
muestra un mensaje, si estamos seguros que deseamos elimar la informacin
si estamos seguros damos clik en Si y se elimian el dato y si damos clik en No
regresaremos al mantenimiento de usuarios.

135

Mantenimiento de Productos
La aplicacin permite crear, modificar y eliminar un producto del sistema

Nuevo Productos
Al seleccionar Nuevo se abre una pantalla mostrandomos los campos que se
debe llenar (Descripcin, Stock), luego de llenar estos datos, hacemos clik en
Grabar y nos visualiza un mensaje que el producto a sido creado y si no
queremos guardar damos clik en Cerrar y nos regresaremos al mantenimiento
de productos.

136

Modificar Productos
Al seleccionar Modificar se abre una pantalla mostrandomos los campos que
deseemos cambiar (Descripcin, Rol, Clave), luego de modificar los datos,
hacemos clik en Grabar y nos visualiza un mensaje que el producto a sido
modificado, presionamos ok y regresa al mantenimiento del producto y si no
queremos guardar los cambios damos clik en Cerrar y nos regresaremos al
mantenimiento de productos.

Eliminar Productos
Al seleccionar Eliminar se abre una pantalla mostrandomos los campos de lo
que vamos a eliminar (Descripcin, Rol, Clave), hacemos clik en Eliminar y
nos visualiza un mensaje Realmente desea Eliminar, si damos clik en Si se
eliminara automaticamente y regresa al mantenimiento del producto y si no
queremos eliminar damos clik en Cerrar y nos regresaremos al mantenimiento
de productos.

137

Men Principal del Bodeguero


Dentro del men principal del bodeguero, esta los movimientos de entrada y
salida, consultas de los movimientos y kardex del producto.

138

Entrada de Mercadera
Luego de haber ingresado como usuario Bodeguero, tiene la opcin de realizar
este movimiento de entrada, para esta accin se debe registrar los campos
solicitados (Fecha, Usuario, Proveedor, Bodega, Observacin), luego de llenar
esta informacin, hacemos clik en Grabar, no aparece un mensaje movimiento
registrado se procede a solicitar la mercadera, damos clik en ok y se carga la
lista de los productos en el cual nos aparece le stock actual de los mismos, el
usuario debe colocar la cantidad que va a ingresar al sistema, luego de esto
damos clik en Grabar y nos muestra un mensaje Producto Grabado y damos
clik en ok y seguimos cargando los productos, si ya no se quiere damos clik en
Salir.

Salida de Mercadera
Esta opcin realizar este movimiento de salida del producto, para registrar la
salida se debe registrar los campos solicitados (Fecha, Usuario, Proveedor,
Bodega, Observacin), luego de llenar esta informacin, hacemos clik en

139

Grabar, no aparece un mensaje movimiento registrado se procede a solicitar la


mercadera, damos clik en ok y se carga la lista de los productos en el cual
nos aparece le stock actual de los mismos, el usuario debe colocar la cantidad
que va a ingresar al sistema, luego de esto damos clik en Grabar y nos
muestra un mensaje Producto Grabado y damos clik en ok y seguimos
cargando los productos, si ya no se quiere damos clik en Salir.
Salida de Mercadera
Esta opcin realizar este movimiento de salida del producto, para registrar la
salida se debe registrar los campos solicitados (Fecha, Usuario, Bodega,
Observacin), luego de llenar esta informacin, hacemos clik en Grabar, no
aparece un mensaje movimiento registrado se procede a solicitar la
mercadera, damos clik en ok y se carga la lista de los productos en el cual
nos aparece le stock actual de los mismos, el usuario debe colocar la cantidad
que va a ingresar al sistema, luego de esto damos clik en Grabar y nos
muestra un mensaje Producto Grabado y damos clik en ok y seguimos
cargando los productos, si ya no se quiere damos clik en Salir.

140

Consulta de Entrada y Salida


El sistema permite realizar consultas sobre los movimientos de entrada y salida
de los productos, para ello el usuario deber colocar la fecha desde y hasta,
luego seleccionar el tipo de movimiento (Entrada o Salida), y dar clik en
Consultar. A continuacin nos muestra en la grilla la informacin solicitada y
para ver con ms detalle de que producto se trata damos clik en Ver Detalle y
nos muestra el producto que ha tenido la accin.

Kardex de Producto
El usuario podr consultar el historial de cada uno de los productos, para ello
debe ingresar la fecha desde y hasta, el nombre del producto y dar clik en
Consulta, y en seguida nos muestra los movimientos que ha tenido el
producto. Si se desea salir damos clik en Salir y regresamos al men principal
del bodeguero.

141

Men del Programador


Esta opcin es para el programador del sistema en casa que se desee crear
ms roles dentro del sistema

142

Mantenimiento de Roles
La aplicacin permite crear, modificar y eliminar los roles del sistema

Nuevo Rol
Al seleccionar Nuevo se abre una pantalla mostrandomos el campo que se
debe llenar (Descripcin), luego de llenar ese dato, hacemos clik en Grabar y
nos visualiza un mensaje Rol Creado, damos clik en ok y regresamos al
mantenimiento de roles y si no queremos guardar damos clik en Cerrar y nos
regresaremos al mantenimiento de roles.

Modificar Rol
Al seleccionar Modificar se abre una pantalla mostrando el campo a cambiar
cambiar (Descripcin), luego de modificar el dato, hacemos clik en Grabar y

143

nos visualiza un mensaje Rol Modificado, damos clik ok y regresa al


mantenimiento del roles y si no queremos guardar los cambios damos clik en
Cerrar y nos regresaremos al mantenimiento de roles.

Eliminar Rol
Al seleccionar Eliminar se abre una pantalla mostrandomos el campo que
vamos a eliminar (Descripcin), hacemos clik en Eliminar nos visualiza un
mensaje Realmente desea Eliminar, si damos clik en Si se eliminara
automaticamente y regresa al mantenimiento del roles y si no queremos
eliminar damos clik en Cerrar y nos regresaremos al mantenimiento de roles.

144

UNIVERSIDAD TECNOLGICA ISRAEL


DIRECCIN DE POSGRADOS
AUTORIZACIN DE EMPASTADO

DE: Ing. Miriam Almache


PARA: Msc. Luis Andrs Chvez Ing.
DIRECTOR DEL SINED DE LA UNIVERSIDAD ISRAEL
ASUNTO: Autorizacin de Empastado
FECHA Cuenca, Diciembre 1 de 2011

Por medio de la presente certifico que la pregradista Mara Eulalia Gutirrez


Tuapante con CI No.0104952437 han realizado las modificaciones solicitadas
de acuerdo a la ltima revisin realizada en mi tutora, al documento de tesis
titulada Desarrollo de un sistema para el control de entradas y salidas de
un producto mediante tecnologa mvil en empresas comerciales, del
ttulo de ingenieros en sistemas informticos

Atentamente

_______________________________
Ing. Miriam Almache

145

UNIVERSIDAD TECNOLGICA ISRAEL


DIRECCIN DE POSGRADOS

AUTORIZACIN DE EMPASTADO

DE: Ing. Henry Crdova


PARA: Msc. Luis Andrs Chvez Ing.
DIRECTOR DEL SINED DE LA UNIVERSIDAD ISRAEL
ASUNTO: Autorizacin de Empastado
FECHA Cuenca, Diciembre 1 de 2011

Por medio de la presente certifico que la pregradista Mara Eulalia Gutirrez


Tuapante con CI No.0104952437 han realizado las modificaciones solicitadas
de acuerdo a la ltima revisin realizada en mi tutora, al documento de tesis
titulada Desarrollo de un sistema para el control de entradas y salidas de
un producto mediante tecnologa mvil en empresas comerciales, del
ttulo de ingenieros en sistemas informticos

Atentamente

_______________________________
Ing. Henry Crdova

146

UNIVERSIDAD TECNOLGICA ISRAEL


DIRECCIN DE POSGRADOS
AUTORIZACIN DE EMPASTADO

DE: Ing. Max Ziga


PARA: Msc. Luis Andrs Chvez Ing.
DIRECTOR DEL SINED DE LA UNIVERSIDAD ISRAEL
ASUNTO: Autorizacin de Empastado
FECHA Cuenca, Diciembre 1 de 2011

Por medio de la presente certifico que la pregradista Mara Eulalia Gutirrez


Tuapante con CI No.0104952437 han realizado las modificaciones solicitadas
de acuerdo a la ltima revisin realizada en mi tutora, al documento de tesis
titulada Desarrollo de un sistema para el control de entradas y salidas de
un producto mediante tecnologa mvil en empresas comerciales, del
ttulo de ingenieros en sistemas informticos

Atentamente

_______________________________
Ing. Max Ziga

147

Manual de Programacin
Podremos revisar en nuestro trabajo que est desarrollado con la tcnica de
programacin orientada a objetos, para eso hemos creado una para cada tipo
de movimiento, es decir, tenemos clases como: Bodega, Consulta Filtrada,
MovimientoC, producto, etc.
A continuacin revisaremos las mismas donde detallamos el cdigo fuente:

CLASE BODEGA.using System;


using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlServerCe;
using System.Data;
namespace Tesis_ES_Movil.Bodegas
{
classBodega
{
publicstaticTesisBD_ESDataSet.BodegaDataTable llenarBodega()
{
TesisBD_ESDataSet.BodegaDataTable dat =
newTesisBD_ESDataSet.BodegaDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));

148

{
conn.Open();
string sql = @"select * FROM Bodega";
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
conn.Close();
}
return dat;
}
publicstaticstring Insertar(string Descripcion)
{
TesisBD_ESDataSet.BodegaDataTable dat =
newTesisBD_ESDataSet.BodegaDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"Insert into Bodega(Descripcion)values('" + Descripcion + "')";
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
conn.Close();
}
return"OK";
}
publicstaticstring Modificar(int Codigo, string Descripcion)
{
TesisBD_ESDataSet.BodegaDataTable dat =
newTesisBD_ESDataSet.BodegaDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{

149

string sql = @"Update Bodega Set Descripcion ='" + Descripcion + "' Where
Codigo=" + Codigo;
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
conn.Close();
}
return"OK";
}
publicstaticstring Eliminar(int Codigo)
{
TesisBD_ESDataSet.BodegaDataTable dat =
newTesisBD_ESDataSet.BodegaDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"Delete from Bodega Where Codigo=" + Codigo;
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
conn.Close();
}
return"OK";
}
publicstaticstring ObtieneBodega(int Codigo)
{
string Descripcion;
System.Data.SqlServerCe.SqlCeConnection cn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
TesisBD_ESDataSet.BodegaDataTable dat =
newTesisBD_ESDataSet.BodegaDataTable();
SqlCeCommand cmd = newSqlCeCommand();
cmd.Connection = cn;

150

string sql = @"Select * from Bodega where Codigo = " + Codigo;


cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
cn.Open();
SqlCeDataReader reader = cmd.ExecuteReader();
do
{
reader.Read();
Descripcion = reader.GetString(1).Trim();
} while (reader.NextResult());
reader.Close();
cn.Close();
return Descripcion;
}
}
}
Clase MOVIMIENTOC
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlServerCe;
using System.Data;
namespace Tesis_ES_Movil
{
classMovimientoC
{
publicstring Tipo;
publicDateTime Fecha;
publicint UsuCod;
publicint Bodcod;
publicstring Observacion;
publicint PrvCod;
publicstaticTesisBD_ESDataSet.MoviCDataTable llenarMoviC()
{
TesisBD_ESDataSet.MoviCDataTable dat =
newTesisBD_ESDataSet.MoviCDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(

151

("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
conn.Open();
string sql = @"select * FROM MoviC";
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
conn.Close();
}
return dat;
}
publicstaticstring Insertar(string Tipo, DateTime Fecha, int UsuCod, int BodCod,
string Observacion, int Estado, int Proveedor)
{
TesisBD_ESDataSet.ProductoDataTable dat =
newTesisBD_ESDataSet.ProductoDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string LaFecha;
LaFecha = Fecha.ToString("MM/dd/yyyy hh:mm");
string sql = @"Insert into MoviC(Tipo, Fecha, UsuCod, BodCod, Observacion,
Estado, PrvCod)values('" + Tipo + "','" + LaFecha + "', " + UsuCod + ", " +
BodCod + ", '" + Observacion + "', 1, " + Proveedor + ")";
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
conn.Close();
}
return"OK";
}
publicstaticstring Insertar(string Tipo, DateTime Fecha, int UsuCod, int BodCod,
string Observacion, int Estado)
{

152

TesisBD_ESDataSet.ProductoDataTable dat =
newTesisBD_ESDataSet.ProductoDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string LaFecha;
LaFecha = Fecha.ToString("MM/dd/yyyy hh:mm");
string sql = @"Insert into MoviC(Tipo, Fecha, UsuCod, BodCod, Observacion,
Estado, PrvCod)values('" + Tipo + "','" + LaFecha + "', " + UsuCod + ", " +
BodCod + ", '" + Observacion + "', 1, 0)";
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
conn.Close();
}
return"OK";
}
publicstaticMovimientoC ObtieneMovxNum(int NumMov)
{
MovimientoC MC = newMovimientoC();
System.Data.SqlServerCe.SqlCeConnection cn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
TesisBD_ESDataSet.MoviCDataTable dat =
newTesisBD_ESDataSet.MoviCDataTable();
SqlCeCommand cmd = newSqlCeCommand();
cmd.Connection = cn;
string sql = @"Select * from MoviC where Numero = " + NumMov;
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
cn.Open();
SqlCeDataReader reader = cmd.ExecuteReader();
do
{
reader.Read();

153

MC.Tipo = reader.GetString(1).Trim();
MC.Fecha = reader.GetDateTime(2);
MC.UsuCod = reader.GetInt32(3);
MC.Bodcod = reader.GetInt32(4);
MC.Observacion = reader.GetString(5);
MC.PrvCod = reader.GetInt32(6);
} while (reader.NextResult());
reader.Close();
cn.Close();
return MC;
}
publicstaticint ObtieneUltimo()
{
int Numero;
System.Data.SqlServerCe.SqlCeConnection cn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
TesisBD_ESDataSet.MoviCDataTable dat =
newTesisBD_ESDataSet.MoviCDataTable();
SqlCeCommand cmd = newSqlCeCommand();
cmd.Connection = cn;
string sql = @"Select * from MoviC order by Numero Desc";
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
cn.Open();
SqlCeDataReader reader = cmd.ExecuteReader();
reader.Read();
Numero = reader.GetInt32(0);
return Numero;
}
}
}

CLASE CONSULTAFILTRADA
using System;
using System.Linq;

154

using System.Collections.Generic;
using System.Text;
using System.Data.SqlServerCe;
namespace Tesis_ES_Movil
{
classConsultaFiltrada
{
publicstaticTesisBD_ESDataSet.MoviCDataTable ConsultaxFechas(DateTime
desde, DateTime hasta, string Consultar)
{
string tipo;
if (Consultar == "Entrada")
tipo = "E";
else
tipo = "S";
TesisBD_ESDataSet.MoviCDataTable dt =
newTesisBD_ESDataSet.MoviCDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"select * FROM MoviC where fecha >= '"+
desde.ToString("MM/dd/yyyy")+ " 00:00:01' and fecha <= '"+
hasta.ToString("MM/dd/yyyy")+ " 23:59:59' and tipo = @tipo";
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
cmd.Parameters.AddWithValue("@tipo", tipo);
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dt);
}
return dt;
}
publicstaticTesisBD_ESDataSet.MoviDDataTable ConsultaDetalle(int NumMov)
{
TesisBD_ESDataSet.MoviDDataTable dat =
newTesisBD_ESDataSet.MoviDDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio

155

n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"select MoviD.Secuencia, MoviD.MoDCantidad, MoviD.ProCod,
Producto.Descripcion FROM MoviD
inner join Producto
on MoviD.ProCod = Producto.codigo and Numero = @NumMov ";
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
cmd.Parameters.AddWithValue("@NumMov", NumMov);
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
}
return dat;
}
publicstaticTesisBD_ESDataSet.MoviDDataTable ConsultaKardex(DateTime
desde, DateTime hasta, int CodPro)
{
TesisBD_ESDataSet.MoviDDataTable dt =
newTesisBD_ESDataSet.MoviDDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"select * FROM MoviD
where MoDfecha >= '"+desde.ToString("MM/dd/yyyy")+ " 00:00:01'
and MoDfecha <= '"+ hasta.ToString("MM/dd/yyyy")+ " 23:59:59' and ProCod =
@CodPro Order By Orden";
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
cmd.Parameters.AddWithValue("@CodPro", CodPro);
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dt);
}
return dt;
}

156

}
CLASE PRODUCTO
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlServerCe;
using System.Data;
namespace Tesis_ES_Movil.Productos
{
classProducto
{
publicstring Descripcion;
publicint Stock;
publicstaticTesisBD_ESDataSet.ProductoDataTable llenarProducto()
{
TesisBD_ESDataSet.ProductoDataTable dat =
newTesisBD_ESDataSet.ProductoDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
conn.Open();
string sql = @"select * FROM Producto";
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
conn.Close();
}
return dat;
}
publicstaticstring Insertar(string Descripcion)
{
TesisBD_ESDataSet.ProductoDataTable dat =
newTesisBD_ESDataSet.ProductoDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(

157

("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"Insert into Producto(Descripcion, Stock)values('" + Descripcion +
"', 0)";
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
conn.Close();
}
return"OK";
}
publicstaticstring Modificar(int Codigo, string Descripcion)
{
TesisBD_ESDataSet.ProductoDataTable dat =
newTesisBD_ESDataSet.ProductoDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"Update Producto Set Descripcion ='" + Descripcion + "' Where
Codigo=" + Codigo;
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
conn.Close();
}
return"OK";
}
publicstaticstring Eliminar(int Codigo)
{
TesisBD_ESDataSet.ProductoDataTable dat =
newTesisBD_ESDataSet.ProductoDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(

158

("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"Delete from Producto Where Codigo=" + Codigo;
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
conn.Close();
}
return"OK";
}
publicstaticProducto ObtieneProducto(int Codigo)
{
Producto MiProducto = newProducto();
System.Data.SqlServerCe.SqlCeConnection cn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
TesisBD_ESDataSet.ProductoDataTable dat =
newTesisBD_ESDataSet.ProductoDataTable();
SqlCeCommand cmd = newSqlCeCommand();
cmd.Connection = cn;
string sql = @"Select * from Producto where Codigo = " + Codigo;
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
cn.Open();
SqlCeDataReader reader = cmd.ExecuteReader();
do
{
reader.Read();
MiProducto.Descripcion = reader.GetString(1).Trim();
MiProducto.Stock = reader.GetInt32(2);
} while (reader.NextResult());
reader.Close();
cn.Close();
return MiProducto;
}

159

publicstaticint ActualizaStock(int Codigo, string Operacion, int Cantidad)


{
Producto MiProducto = newProducto();
int Cant2;
TesisBD_ESDataSet.ProductoDataTable dat =
newTesisBD_ESDataSet.ProductoDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"Update Producto Set Stock = Stock " + Operacion +
Cantidad.ToString() +" Where Codigo=" + Codigo;
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
conn.Close();
TesisBD_ESDataSet.ProductoDataTable dat2 =
newTesisBD_ESDataSet.ProductoDataTable();
SqlCeCommand cmd2 = newSqlCeCommand();
cmd2.Connection = conn;
sql = @"Select Stock from Producto where Codigo = " + Codigo;
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat2);
conn.Open();
SqlCeDataReader reader = cmd.ExecuteReader();
do
{
reader.Read();
MiProducto.Stock = reader.GetInt32(0);
} while (reader.NextResult());
reader.Close();
conn.Close();
Cant2 = MiProducto.Stock;
}
return Cant2;
}
}

160

}
CLASE PROVEEDOR
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlServerCe;
using System.Data;
namespace Tesis_ES_Movil.Proveedores
{
publicclassProveedor
{
publicint Codigo;
publicstring Nombre;
publicstring Direccion;
publicstring Telefono;
publicstring Ruc;
publicstaticTesisBD_ESDataSet.ProveedorDataTable llenarProveedor()
{
TesisBD_ESDataSet.ProveedorDataTable dat =
newTesisBD_ESDataSet.ProveedorDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
conn.Open();
string sql = @"select * FROM Proveedor";
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
conn.Close();
}
return dat;
}
publicstaticstring Insertar(string Nombre, string Direccion, string Telefono, string
Ruc)
{

161

TesisBD_ESDataSet.ProveedorDataTable dat =
newTesisBD_ESDataSet.ProveedorDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"Insert into Proveedor(Nombre, Direccion, Telefono, Ruc)values('"
+ Nombre + "','" + Direccion + "','" + Telefono + "','" + Ruc + "' )";
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
conn.Close();
}
return"OK";
}
publicstaticstring Modificar(int Codigo, string Nombre, string Direccion, string
Telefono, string Ruc)
{
TesisBD_ESDataSet.ProveedorDataTable dat =
newTesisBD_ESDataSet.ProveedorDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"Update Proveedor Set Nombre ='" + Nombre + "', Direccion='" +
Direccion + "', Telefono='"+Telefono + "', Ruc='"+Ruc+"' Where Codigo=" +
Codigo;
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
conn.Close();
}
return"OK";
}
publicstaticstring Eliminar(int Codigo)

162

{
TesisBD_ESDataSet.ProveedorDataTable dat =
newTesisBD_ESDataSet.ProveedorDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"Delete from Proveedor Where Codigo=" + Codigo;
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
conn.Close();
}
return"OK";
}
publicstaticProveedor ObtieneProveedor(int Codigo)
{
Proveedor MiProveedor = newProveedor();
System.Data.SqlServerCe.SqlCeConnection cn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
TesisBD_ESDataSet.ProveedorDataTable dat =
newTesisBD_ESDataSet.ProveedorDataTable();
SqlCeCommand cmd = newSqlCeCommand();
cmd.Connection = cn;
string sql = @"Select * from Proveedor where Codigo = " + Codigo;
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
cn.Open();
SqlCeDataReader reader = cmd.ExecuteReader();
do
{
reader.Read();
MiProveedor.Nombre = reader.GetString(1).Trim();
MiProveedor.Direccion = reader.GetString(2).Trim();
MiProveedor.Telefono = reader.GetString(3).Trim();
MiProveedor.Ruc
= reader.GetString(4).Trim();
} while (reader.NextResult());

163

reader.Close();
cn.Close();
return MiProveedor;
}
//
}
}

CLASE ROL
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlServerCe;
using System.Data;
namespace Tesis_ES_Movil
{
publicclassRol
{
publicstaticTesisBD_ESDataSet.RolDataTable llenarRol()
{
TesisBD_ESDataSet.RolDataTable dat =
newTesisBD_ESDataSet.RolDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
conn.Open();
string sql = @"select * FROM Rol";
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
conn.Close();
}

164

return dat;
}
publicstaticstring Insertar(string Descripcion)
{
TesisBD_ESDataSet.RolDataTable dat =
newTesisBD_ESDataSet.RolDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"Insert into Rol(Descripcion)values('"+Descripcion+"')";
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
conn.Close();
}
return"OK";
}
publicstaticstring Modificar(int Codigo, string Descripcion)
{
TesisBD_ESDataSet.RolDataTable dat =
newTesisBD_ESDataSet.RolDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"Update Rol Set Descripcion ='" + Descripcion + "' Where
Codigo=" + Codigo;
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
conn.Close();
}
return"OK";
}

165

publicstaticstring Eliminar(int Codigo)


{
TesisBD_ESDataSet.RolDataTable dat =
newTesisBD_ESDataSet.RolDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"Delete from Rol Where Codigo=" + Codigo;
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
conn.Close();
}
return"OK";
}
publicstaticstring ObtieneRol(int Codigo)
{
string Descripcion;
System.Data.SqlServerCe.SqlCeConnection cn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
TesisBD_ESDataSet.RolDataTable dat =
newTesisBD_ESDataSet.RolDataTable();
SqlCeCommand cmd = newSqlCeCommand();
cmd.Connection = cn;
string sql = @"Select * from Rol where Codigo = " + Codigo;
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
cn.Open();
SqlCeDataReader reader = cmd.ExecuteReader();
do
{
reader.Read();
Descripcion = reader.GetString(1).Trim();
} while (reader.NextResult());

166

reader.Close();
cn.Close();
return Descripcion;
}
}
}
CLASE USUARIO
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlServerCe;
using System.Data;
namespace Tesis_ES_Movil.Usuarios
{
publicclassUsuario
{
publicint Codigo;
publicstring Descripcion;
publicint Rol;
publicstring Clave;
publicstaticTesisBD_ESDataSet.UsuarioDataTable llenarUsuario()
{
TesisBD_ESDataSet.UsuarioDataTable dat =
newTesisBD_ESDataSet.UsuarioDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
conn.Open();
string sql = @"select * FROM Usuario";
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
conn.Close();
}
return dat;

167

}
publicstaticstring Insertar(string Descripcion, int CodRol, string Clave)
{
TesisBD_ESDataSet.UsuarioDataTable dat =
newTesisBD_ESDataSet.UsuarioDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"Insert into Usuario(Nombre, Rol, Clave)values('" + Descripcion +
"',"+CodRol+",'" + Clave + "' )";
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
conn.Close();
}
return"OK";
}
publicstaticstring Modificar(int Codigo, string Descripcion, int CodRol, string
Clave)
{
TesisBD_ESDataSet.UsuarioDataTable dat =
newTesisBD_ESDataSet.UsuarioDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"Update Usuario Set Nombre ='" + Descripcion + "', Rol="+
CodRol +", Clave = '"+ Clave +"' Where Codigo=" + Codigo;
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
conn.Close();
}
return"OK";

168

}
publicstaticstring Eliminar(int Codigo)
{
TesisBD_ESDataSet.UsuarioDataTable dat =
newTesisBD_ESDataSet.UsuarioDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"Delete from Usuario Where Codigo=" + Codigo;
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
conn.Close();
}
return"OK";
}
publicstaticUsuario ObtieneUsuario(int Codigo)
{
Usuario MiUsuario = newUsuario();
System.Data.SqlServerCe.SqlCeConnection cn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
TesisBD_ESDataSet.UsuarioDataTable dat =
newTesisBD_ESDataSet.UsuarioDataTable();
SqlCeCommand cmd = newSqlCeCommand();
cmd.Connection = cn;
string sql = @"Select * from Usuario where Codigo = " + Codigo;
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
cn.Open();
SqlCeDataReader reader = cmd.ExecuteReader();
do
{
reader.Read();
MiUsuario.Descripcion = reader.GetString(1).Trim();
MiUsuario.Rol = reader.GetInt32(2);

169

MiUsuario.Clave = reader.GetString(3);
} while (reader.NextResult());
reader.Close();
cn.Close();
return MiUsuario;
}
}
}
ORGANIZACIN
Debemos ser organizados en nuestra programacin para poder realizar
modificaciones al mismo sin tener que perderse entre tantos objetos, para esto
usamos carpetas que nos sirven para agrupar determinados temas de nuestro
proyecto, de esta forma:

Como vemos en el ejemplo de los Productos los agrupamos dentro la pantalla


de lista de productos, la clase que realiza las actividades, y la pantalla de
digitacin de los datos del producto. De esta forma esta cada uno de los temas
o tpicos de nuestro proyecto.
CONEXIN
Para las conexiones que haremos a nuestra Base de Datos se utilizar la
siguiente cadena, se la pone en este manual pues es un poco complicado
armarla ya que los directorios de instalacin de la aplicacin dentro del
dispositivo mvil (EMULADOR) son diferentes al de una Pc comn.

170

System.Data.SqlServerCe.SqlCeConnection conn = new


System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
Donde TesisBD_ES.sdf es nuestra BD local que se migra al emulador.

VISION DE PROGRAMACION SOBRE EL USO DE LOS OBJETOS


Segn nuestro criterio el usuario se facilitara si todo est claro para l, por ello,
pensamos en listar la informacin que estamos utilizando, es decir, si deseo
utilizar los productos, entonces lo primero que debemos hacer es mostrar un
listado de productos el cual el usuario puede utilizar para realizar cualquier
accin:

Como vemos tenemos una grilla donde se cargar los productos, y a su vez
tenemos 3 acciones ms, como es crear un productos con el botn NUEVO,
modificar los datos de algn producto que seleccionemos en la grilla o tambin
eliminarlo si se necesita. Para Modificar o Eliminar debemos seleccionar la fila
en la grilla y de ah dar clic en el botn respectivo.
Una vez q presiones una accin el sistema me enviar a una pantalla donde se
realizar dicha accin, en este caso la pantalla Producto:

171

Aqu digitaremos los nuevos datos, cambiaremos los datos o confirmaremos la


eliminacin segn sea la accin que se eligi en la pantalla anterior. Una vez
grabado se retorna a la pantalla de listado con una grilla llena de informacin
actualizada.

OBJETOS UTILIZADOS.
A continuacin listaremos los objetos utilizados para la elaboracin del
programa.

Formulario

Botones de comando
Labels y TextBox
DateTimePicker
ComboBox

172

MenuForm

DataGrid
DataSets
Enlaces a la BD
Adaptadores
Base de Datos

S-ar putea să vă placă și