You are on page 1of 65

Manual Tcnico Entorno para Administracin de Productos

Zapatera 3 Hermanos S.A de C.V

22/03/2011

Pgina

Manual Tcnico

OBJETIVO GENERAL

Presentar la definicin, los recursos, elementos y los lineamientos que se realizaron durante el diseo. Adems de proporcionar una gua que ofrece herramientas adicionales, necesarias para conocer la funcin del sistema al personal tcnico.

Manual Tcnico

rea de Documentacin Realizado por: Violeta Medina Ocaas

________________________ Firma

rea de Administracin Revisin: Freddy Mendoza Galindo

________________________ Firma

rea de Recursos Humanos Autorizo: Santiago Montes Emma Alicia

________________________ Firma

Manual Tcnico

ndice Introduccin ................................................................................................................... 5 CAPTULO 1 Anlisis ........................................................................................... 9 Requerimientos de las Interfaces ........................................................................ 25 A. Requisitos Funcionales ............................................................................. 26 CAPTULO 2 Diseo ............................................................................................ 9 Diagramas ........................................................................................................... 29 Diagrama Secuencia ................................................................................. 10 Diagrama de Actividades .......................................................................... 11 Diagrama de Estado ................................................................................. 12 Diagrama de Secuencia ............................................................................ 13

Diagramas de Caso de Uso ................................................................................. 20 C.U Diagrama General.............................................................................. 20 C.U Realizar Pedido.................................................................................. 21 C.U Gestin de Inventario ......................................................................... 21 C.U Gestin de Usuario ............................................................................ 21

Diagrama de Clases ............................................................................................ 23 Diccionario de Datos ............................................................................................ 23 CAPTULO 3 Descripcin de Interfaces ........................................................... 18 CAPTULO 4 Cdigo .......................................................................................... 34 CAPTULO 5 Pruebas ........................................................................................ 53 Plan de Prueba ......................................................................................... 53 Casos de Prueba ...................................................................................... 54

Mapas de Navegacin ......................................................................................... 61 Responsables ...................................................................................................... 65

Manual Tcnico

INTRODUCCIN

Windows 7 Ultmate

Windows 7 es la versin ms reciente, moderna y compleja de Microsoft Windows, lnea de sistemas operativos producida por Microsoft Corporation. Esta versin est diseada para uso en PC, incluyendo equipos de escritorio en hogares y oficinas, equipos porttiles, tablet PC, netbooks y equipos media center. El desarrollo de Windows 7 se complet el 22 de julio de 2009, siendo entonces confirmada su fecha de venta oficial para el 22 de octubre de 2009 junto a su equivalente para servidores Windows Server 2008 R2. A diferencia del gran salto arquitectnico y de caractersticas que sufri su antecesor Windows Vista con respecto a Windows XP, Windows 7 fue concebido como una actualizacin incremental y focalizada de Vista y su ncleo NT 6.0, lo que permiti mantener cierto grado de compatibilidad con aplicaciones y hardware en los que ste ya era compatible. Sin embargo, entre las metas de desarrollo para Windows 7 se dio importancia a mejorar su interfaz para volverla ms accesible al usuario e incluir nuevas caractersticas que permitieran hacer tareas de una manera ms fcil y rpida, al mismo tiempo que se realizaran esfuerzos para lograr un sistema ms ligero, estable y rpido.

Requerimientos mnimos de Hardware Para instalar Windows 7 Ultimate es necesario que nuestra PC tenga lo siguiente: 1 GB en Memoria RAM. 80 GB en Disco Duro. Tarjeta grfica. Lector de DVD-ROM o DVD-RW. Procesador Pentium 4 o superior, 2.8 GHz o superior. Tarjeta de audio.

Manual Tcnico

MySQL

Microsoft MySQL Server es un sistema para la gestin de bases de datos producido por Microsoft basado en el modelo relacional. Sus lenguajes para consultas son T-SQL y ANSI SQL. Microsoft SQL Server constituye la alternativa de Microsoft a otros potentes sistemas gestores de base de datos como son Oracle o PostgreSQL o MySQL.

VISUAL C#
Es un lenguaje de programacin orientado a objetos desarrollado y estandarizado por Microsoft como parte de su plataforma .NET, que despus fue aprobado como un estndar por la ECMA e ISO.

Su sintaxis bsica deriva de C/C++ y utiliza el modelo de objetos de la plataforma.NET, similar al de Java aunque incluye mejoras derivadas de otros lenguajes (entre ellos Delphi). Aunque C forma parte de la plataforma.NET, sta es una interfaz de programacin de aplicaciones (API), mientras que C es un lenguaje de programacin independiente diseado para generar programas sobre dicha plataforma. Ya existe un compilador implementado que provee el marco de DotGNU - Mono que genera programas para distintas plataformas como Win32, UNIX y Linux.

Manual Tcnico

DEFINICON Y POLTICAS DELA EMPRESA

Zapatera 3 Hermanos , surge de la necesidad

de abrir un mercado a la produccin

mexicana de zapatas ya que cada uno de los productos que se veden en dicho negocio son elaborados por manos artesanales Mexicanas, adems de implementar un concepto innovador en la exportacin de productos del pas. Dadas las operaciones que se realizan en el establecimiento se considera manejar un entorno informtico que permita realizar los procesos administrativos sin necesidad de capturar toda la informacin que se genera en la venta o pedido de productos.

Ubicacin Estado: Quertaro Municipio: Santiago de Quertaro Colonia: Plaza del Sol Domicilio: Avenida Plaza San Juan de Letrn 508 C.P.: 76099 Telfono: 2133130 1199 ORGANIGRAMA DE LA ZAPATERA

Administracin Lic. Alonso Mrquez Contreras

Ventas Lic. Maribel Gutirrez Snchez

Vendedor1 Felipe Torres Medero

Venedor2 Ana Ponce Gonzlez

Manual Tcnico

Polticas de la empresa

Poltica de calidad: 3 Hermanos se preocupa por ofrecer un producto de calidad y que su precio no sea elevado, con la finalidad de que nuestros clientes tengan la seguridad de volver a comprar uno de nuestros productos.

ENAP est basado en las reglas internas del negocio, integridad y seguridad en la informacin y seguimiento del rgimen para acceder a la informacin. Este sistema cuenta con dos modos de acceso; usuario normal y administrador en el cual, el usuario normal es implementado para los trabajadores de ventas y cuentan solo con acceso a los controles para registrar ventas o apartar producto. En la cuenta de administrador se tiene acceso a la manipulacin de base de datos y todo lo relacionado al inventario, as como permisos de poder modificar, actualizar y eliminar datos.

Debido a las polticas internas de la empresa el sistema ENAP est adaptado al horario de atencin que es de 9 a.m. a 6 p.m. y por esta situacin solo se puede ocupar en este horario.

Manual Tcnico

CAPTULO 1 ANLISIS

Objetivo especfico: Dar a conocer los diagramas que componen el proyecto para tener un mejor entendimiento de las direcciones que van tomando los procesos en cualquier parte del sistema y poder ubicar los puntos que se desean analizar y/o modificar.

Los diagramas con los que cuenta ENAP son los siguientes:

Diagramas de Casos de Uso

uc Caso de Uso General Diagrama de Caso de Uso General en el que una aplicacin web sirve de plataforma para realizar la venta y administracin de Productos de Calzado

Entorno Web

Gestionar Cliente

Administrador

Comprar Calzado

Sistema

Gestion de Inv entario Comprador

Figura 1.1 Caso de Uso General Aplicacin Web

Manual Tcnico

uc Gestin de Cuenta

Asignar Cuenta

include Registro de Cliente

Comprador

Consultar Datos de Cuenta

Administrador Modificar Datos de Cuenta

Sistema

Figura 1.3 Caso de Uso Gestin de Cuenta

No. Nombre Descripcin

1 Gestin de Cuentas. Permite registrar a los usuarios que utilizaran la aplicacin va internet.

Quien lo Inicia Quien Finaliza Precondicin

Comprador lo Sistema

Que el usuario realice un registro llenando un formulario con datos personales.

Post condicin Flujo Normal 1.Comprador

Registro de usuario y asignacin de cuenta.

registra

sus

datos

personales en formulario.

Manual Tcnico

2.-Usuario datos.

Confirma

veracidad

de 3.-Valida datos. 4.-Registra usuario, generar cuenta.

Flujo Alterno 3 a.- Si los datos no son correctos, o los campos no fueron llenados genera alertas. 3 b.- En caso de no terminar el proceso cancelarlo totalmente.

Figura 1.4 Detalle de Caso de Uso Gestn de Cuenta

uc Comprar Calzado

Autentificar Usuario

Seleccionar Calzado

Sistema Comprador Calcular Total

Realiza Pago

Registrar Compra extend Apartar Pedido

include Pago con Tarj eta

Figura 1.5 Caso de Uso Comprar Calzado

No. Nombre Descripcin Quien lo Inicia

2 Comprar Calzado El Sistema actualizara automticamente el Stock Usuario

Manual Tcnico

Quien Finaliza Precondicin

lo Sistema

Que el Usuario se logue en el sistema Actualizar Inventario

Post condicin Flujo Normal

1. El usuario se autentifica en sistema. 2. Usuario selecciona productos del catlogo. 3. Realiza Pago.

4. Calcula el Total de compra. 5. Realiza pago. 6. Aparta pedido.

Flujo Alterno 1 a. El usuario no se autentifica por lo cual se deniega el acceso al sistema. 6 a.- En caso de no terminar el proceso cancelarlo totalmente.

Figura 1.6 Detalle Caso de uso Comprar Calzado

uc Gestin de Inv enta...

Registrar Producto

Consultar Producto

Administrador Sistema Modificar Producto

Confirmar Existencia y Producto

Figura 1.7 Caso de uso Gestin de Inventario

Manual Tcnico

No. Nombre Descripcin

3 Gestin de Inventario El Administrador Designara las cuentas de usuario y declara los permisos para cada caso.

Quien lo Inicia Quien Finaliza Precondicin

Usuario lo Sistema

El sistema valida la existencia y datos de producto.

Diagrama de Clases

class Class Mo...

USUARIO + + + + + Id_Usuario: char Password: string Buscar() : void Eliminar() : void Loguear() : void Modificar() : void Registrar() : void

PEDIDOS INVENTARIO + + + + Cdigo: int Color: string Descripcin: string Existencia: int Marca: string Precio: float Eliminar() : void EnviarMensajeExistencias() : void Mostrar Existencia de Producto() : void Registra() : void + + + + + + + + Cantidad: float CdigoZapato: int EstadoPedido: char Fecha Pedido: date FechaEntrega: date Id_Pedido: int Id_Venta: int IVA: int MontoRecibido: int Precio: float PrecioUnitario: float SubTotal: float TotaldeVenta: int ApartarProductos() : void CalcularCambio() : void DisminuirStock() : void ImprimirComprobante() : void MarcarPedido() : void MarcarProductos() : void RealizarPedido() : void RegistrarVenta() : void

Figura 1.8 Diagrama de Clases

Manual Tcnico

Diagrama de Actividades

act Diagrama de Activ idad... Usuario Sistema Inv entario

Verifica Producto

Indica Existencia

Registra Pedido Env ia Mensaj e

Indica Operacin

Calcula Total

Recibe Operacin

Indica Monto

Venta

Apartado

Calcular Cambio

Aparta Producto

Reduce Stock

Imprime Ticket

Registra Pedido

Final

Figura 1.9 Diagrama de Actividades

Manual Tcnico

Diagramas de Estados

stm Diagrama de Estado Pedido

Pedido En Espera Introduce Datos de Producto Producto No Existente Registra pedido

Apartado

Espera

Cancelado

Vendido Imprime Ticket

Figura 1.10 Diagrama de Estados

Manual Tcnico

Diagramas de Secuencia

sd Diagrama Secuencia para Catalogo GUI Usuario Inventario

Introduce Datos de Producto()

[Datos=Exitencia ]:Consultar Producto()

Muestra Estado de Producto()

Figura 1.11 Diagrama de Secuencia para Catalogo.

sd Diagrama de Secuencia Loguear Usuario


GUI Usuario FrmInicio Inventario FrmInventario Sistema ENAP

[Indica Password]: Indica Usuario() [Intentos=2]:Envia Datos() [usuario=True && password=True]:Comprueba Datos()

Permite Acceso()

Pide Reintento()

Bloquea Cuenta()

Figura 1.12 Diagrama de Secuencia Acceso de Usuario.

Manual Tcnico

sd Diagrama de secuencia Realizar Pedido Sistema Usuario Introduce datos de Producto() Inventario

[Producto=Disponible]: Producto Disponible() Indica Existencia()

Mensaje de Informacin()

Indica Operacin() Registra Pedido()

Calcula Total() [Si operacin=Venta]: Tipo de Operacin()

Indica Monto()

Calcula Cambio()

Imprime Ticket() Reduce Stock() Aparta Producto() Registra Pedido()

Imprimete Ticket()

Figura 1.13 Diagram de Secuencia Realizar Pedido

Manual Tcnico

CAPTULO 3 DESCRIPCIN DE INTERFACES


Objetivo especifico: Mostrar la estructura y componentes de las interfaces por medio de la descripcion de pantallas y dar a conocer de forma general las fuciones que se ejecuta cada elemento.

Interfaz Inicio de Sesin (Login). Esta interfaz consulta a la tabla usuario de la base de datos para

1 2 3

Componentes

1.- IniciarSesin:Formulario que cotiene los campos a llenar para el acceso. 2.- txtNomUsuario:Recibe caracteres de tipo texto y verifica en el campo usuario. 3.- txtPassword: Recibe caracteres de tipo texto y verifica. 4.- btnEntrar: Medio por el cual se realiza la accion de peticin de acceso.

Manual Tcnico

Interfaz Principal que muestra las opciones disponibles segn el tipo de usuario que accesa.

2 1 3

Componentes

1.- ventasToolStripMenuItem:Seleccin de opciones. 2.- administrarToolStripMenuItem: Men al que accesa el administrador. 3.- ayudaToolStripButton: Medio por el cual se realiza la accion de peticin de acceso. 4.- lblUsuario:Etiqueta que muestra el nombre del ususario que accesa. 5.- InlSalir:Link que permite cerrar la aplicacin.

Manual Tcnico

Interfaz Acerca_de que muestra los datos generales del Sistema.

Componentes

1.- lblTitulo:Muestra el titulo de la aplicacin. 2.- logoPictureBox: Muestra la imagen empresarial. 3.- textBox1: Informacin bsica de la aplicacin. 4.- okButton: Da acceso al men siguiente.

Manual Tcnico

Interfaz Ayuda muestra las opciones y contenido de ayuda para los usuarios.

1, 2 3, 5 4 6 12 7 8 9 10 11 13

Componentes

1.- toolStripMenuItem1:Seleccin de opciones. 2.- preguntarToolStripMenuItem:Obtener ayuda personalizada. 3.- toolStripButton1: Botn a ms ayuda. 4.- toolStripButton2: Botn que ayuda a imprimir la informacin 5.- toolStripButton3: Medio por el cual se realiza la accion de peticin de acceso. 6.- lnlAcceder: Vinculo a informacin de sistema. 7.- lnlLog: Vinculo a informacin de sistema. 8.- lnlBd: Vinculo a informacin de acceso a la BD. 9.- lnlImpText: Vinculo a imprimir. 10.- lnlPreg: Vinculo a informacin para preguntas. 11.- lnlTamTxt: Vinculo a informacin de testo. 12.- rtxInfo: Se visualiza la informacin contenida en el link. 13.-toolStripStatusLabel1:Estado de la ventana

Manual Tcnico

Interfaz Registro Productoa actualiza en la Base los Datos de la Tabla Producto.

2 1 3 5 7 9 11 4 6 8 10 12 13

Componentes 1.- lblCodigoZap:Recibe caracteres de tipo texto y verifica en el campo usuario. 2.- txtCodZap: Recibe caracteres de tipo texto y verifica 3.- lblColor: Medio por el cual se realiza la accion de peticin de acceso. 4.- txtColor:Recibe caracteres de tipo texto y verifica en el campo usuario. 5.- lblDescripcion: Recibe caracteres de tipo texto y verifica 6.- txtDescrip: Medio por el cual se realiza la accion de peticin de acceso. 7.- lblMarca:Recibe caracteres de tipo texto y verifica en el campo usuario. 8.- txtMarca: Recibe caracteres de tipo texto y verifica 9.- lblPrecio: Medio por el cual se realiza la accion de peticin de acceso. 10.- txtPrecio:Recibe caracteres de tipo texto y verifica en el campo usuario. 11.- lblExist: Recibe caracteres de tipo texto y verifica 12.- txtExist: Medio por el cual se realiza la accion de peticin de acceso. 13.- lnlOut:Recibe caracteres de tipo texto y verifica en el campo usuario. 14.- btnRegistrar: Medio por el cual se realiza la accion de peticin de acceso.

Manual Tcnico

Interfaz Pedido que consulta y muestra la informacin de los detalees de pedidos que se han realizado en la tabla Pedidos de la Base de Datos.

Componentes

1.- dgvPedidos:Muestra los datos del pedido.

Interfaz Regsitro de Usuario da de alta en la Base de Datos a nuevos usuarios creddos por el aministrador.

1 2

3 5 4

Componentes

1.- txtUser:Recibe caracteres de tipo texto y verifica en el campo usuario. 2.- txtPass: Recibe caracteres de tipo texto y verifica 3.-lblUser: Etiqueta 4.- lnlSalir:.Cierra la apalicacin.

Manual Tcnico

5.- lblContra:Etiqueta 6.- btnAlta: Medio por el cual se realiza la peticin de registro.

Interfaz Apartado permite colocar un pedido en estado de apartado.

2 3 4 5 6 7 1 8 9 10

Componentes

1.- dgvApartado: Muestra 2.- cmbId_Pedido: Recibe caracteres de tipo texto y verifica 3.- txtCant_Pedido: Recibe caracteres de tipo numero. 4.- txtEst_Ped:Recibe caracteres de tipo texto y verifica en el campo usuario. 5.- txtTotal: Recibe caracteres de tipo numero. 6.- txtMontRecibido: Medio por el cual se realiza la accion de peticin de acceso. 7.- txtUsario:Recibe caracteres de tipo texto y verifica en el campo usuario. 8.- txtPorPag: Recibe caracteres de tipo nmero y verifica 9.- txtCambio:la aplicacin devuelve el calculo de cambio a entregar. 10.- btnRealizar: Medio por el cual se realiza la peticin de registro.

Manual Tcnico

REQUERIMIENTOS DE LAS INTERFACES

Las interfaces de ENAP fueron desarrolladas bajo las siguientes caractersticas para su correcto funcionamiento requiriendo forzosamente la conexin a la Base de Datos Zapatera: Interfaz Resolucin Orientacin Requiere Interfaz Resolucin Orientacin Requiere Interfaz Resolucin Orientacin Requiere Interfaz Resolucin Orientacin Requiere Interfaz Resolucin Orientacin Requiere Interfaz Resolucin Orientacin Requiere Interfaz Resolucin Orientacin Requiere Inicias Sesin

1440x9000 px

Horizontal Tabla Usuario de la BD Registrar Usuario

1440x9000 px

Horizontal Tabla Usuario de la BD Registrar Producto

1440x9000 px

Horizontal Tabla Producto de la BD Venta

1440x9000 px
Horizontal Tabla Venta de la BD Principal

1440x9000 px
Horizontal Ingresar datos en Interfaz Inicio de Sesin Apartados

1440x9000 px
Horizontal Tabla Apartados de la BD Pedidos

1440x9000 px
Horizontal Tabla Pedidos de la BD

Manual Tcnico

Requisitos Funcionales Registrar la Venta de los Productos. Calcular el total incluyendo el IVA. Capturar el efectivo entregado. Calcular el cambio. Mostrar catalogo de productos. Reducir stock de los productos cuando se realice la venta. Mostrar alerta de producto, cuando stock sea igual o menor a 5. Realizar pedido de productos cuando sea la venta. Mostrar precio y descripcin de los productos. Poder realizar apartado de productos. Marcar el pedido como apartado si se realiza 2 o 1 da antes. Todos los artculos que estn marcados deben ser marcados y disminuir del stock de forma parcial. Marcar el pedido como pagado cuando este cubierto. Marcar el pedido como entregado cuando se vaya.

Manual Tcnico

MODELO LGICO

A continuacion se visualiza el diagrama entidad relacin, en el cual se describe la relacion que tienen las tablas dentro de la bases de datos .

Telefono Fecha IdPrenda Direccion

numUsuario Apartado
N:M

Usuario

Nombre

Usuarios

Contrasea

NumApartado

Realiza

Talla Descripcion Precio idProducto Genero PiezasExistentes


N:M

N:M

Realiza

N:M

Tipo
N:M

N:M

Productos Existentes

RutaImagen Division

IdVentas Genero Fecha

Ventas

Precio Clasificacion

IdProductos

Manual Tcnico

MODELO FISICO

Diagrama de componentes

Manual Tcnico

Diagrama de despliegue

Diccionario de Datos

Para la realizacin de este proyecto, se requirieron de, cuatro tablas las cuales son, Pedido, Zapato, Venta y Cuenta; en cada tabla se puede observar cual es la relacin existente con las dems tablas, sus llaves primarias, llaves forneas, para que sirve cada campo y cal es la funcin principal que tienen, en las cuales se muestran en las figuras 1.13, 1.14, 1.15 y 1.16.

Manual Tcnico

Tabla Pedido Contiene los datos de la tabla Pedido CAMPO TIPO DE DATO Y TAMAO RESTRICCIN Id_Pedido String No nulo Cantidad _Zapato Int No nulo Fecha_Pedido Date Nulo Fecha_Entrega Date Nulo Estado_Pedido String No nulo Precio_Zapato Flotante No nulo Subtotal Flotante No nulo IVA Flotante No nulo Total Flotante No nulo Monto_Recibido Flotante No nulo Id_Cuenta String No nulo Id_Zapato String No nulo Las tablas con las que se relaciona son Zapato y Cuenta Con el campo Id_Cuenta e Id_Zapato 20 Llave fornea de Zapato 20 10 Cantidad entregada al pagar los zapatos Llave fornea de Cuenta 10 Precio total de los zapatos 10 IVA aplicado al precio de los zapatos 10 Subtotal a pagar de los zapatos 10 20 Estado en el que se encuentra el pedido Precio que tienen los zapatos Fecha de entrega del pedido Fecha de realizacin del pedido 10 Cantidad del zapato pedido 20 Llave primaria de Pedido DESCRIPCIN

Figura 1.13 Tabla de Pedido

Manual Tcnico

Tabla Cuenta Contiene los datos de la tabla Cuenta CAMPO TIPO DE DATO Y TAMAO RESTRICCIN Id_Cuenta String No nulo Contrasea Int No nulo Nombre String No nulo Apellido_Paterno String No nulo Apellido_Materno String No nulo Calle String No nulo Numero Entero Nulo Colonia String No nulo Municipio String No nulo Sexo String Nulo Codigo_Postal Entero No nulo Edad Entero Nulo Telfono Entero Nulo Correo_Electronico String Nulo 30 10 Telfono en el cual se puede localizar al registrado Correo electrnico al cual se le puede enviar mensajera instantnea al 5 5 20 Tipo de gnero al cual pertenece la persona registrada Cdigo Postal al cual pertenece la casa del registrado Edad que tiene el registrado 20 Municipio del cual forma parte la casa 20 10 Numero con el que se identifica la casa en la que vive el registrado Colonia a la que pertenece la casa 20 20 20 20 10 Numero con el que se accesa a la Cuenta Nombre con el que est registrado la cuenta Primer apellido del registrado en la cuenta Segundo apellido del registrado en la cuenta Nombre de la calle 20 Llave primaria de Cuenta DESCRIPCIN

Manual Tcnico

registrado Las tablas con las que se relaciona es Cuenta Con el campo Id_Cuenta

Figura 1.14 Tabla de Cuenta

Tabla Zapato Contiene los datos de la tabla Zapato CAMPO TIPO DE DATO Y TAMAO RESTRICCIN Id_Zapato String No nulo Modelo String No nulo Color String Nulo Talla String No nulo Descripcion String No nulo Marca String No nulo Precio Flotante No nulo Existencia Entero No nulo Las tablas con las que se relaciona son Pedido Con el campo Id_Pedido 10 Cantidad de zapatos con los que cuenta la zapatera 10 30 50 De que material esta hecho el zapato y que genero lo puede usar Marca a la que pertenecen los zapatos Precio a pagar de los zapatos 30 Medida del zapato 20 20 Modelo con el que se identifica el zapato Color del zapato 20 Llave primaria de Zapato DESCRIPCIN

Figura 1.15 Tabla de Zapato

Manual Tcnico

Tabla Venta Contiene los datos de la tabla Venta CAMPO TIPO DE DATO Y TAMAO RESTRICCIN Id_Venta String No nulo Fecha Date No nulo Id_Pedido String No nulo Las tablas con las que se relaciona son Pedido Mediante el campo Id_Pedido 20 Llave fornea de Pedido Fecha en la que se realiza la venta 20 Llave primaria de Venta DESCRIPCIN

Figura 1.16 Tabla de Venta

PLATAFORMA USUARIO-HARDWARE

Computadora Procesador Intel Centrino 2 Do 1.5 GHz Memoria RAM 2GB. Disco Duro 150Gb. Windows XP o superior. Tecnologa AJAX MySQL

Manual Tcnico

CAPTULO 4 CDIGO
Objetivo especifico: En este apartado se visualiza el cdigo de la aplizacion, dividido en secciones para facilitar la busqueda y reconocimiento de algn proceso especfico. A si mismo se presenta la estandarizacion del cdigo para facilitar la lectura del mismo

El estndar est desarrollado bajo las siguientes reglas: Las variables llevan var antecedente al nombre indicador de la variable. Los contadores no llevan var, para estos se usan vocales. Los botones llevan como nombre algo que describa la accin que se ejecuta

Manual Tcnico

Cdigo Interfaz principal que muestra las opciones del Sistema formulario Inicio Sesin
using using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Linq; System.Text; System.Windows.Forms;

namespace ENAP { publicpartialclassPrincipal : Form { string AP_usu; publicstring AP_Usuario { set { AP_usu = value; } } public Principal() { InitializeComponent(); } privatevoid lnlSalir_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { this.Close(); } privatevoid acercaDeENAPToolStripMenuItem_Click(object sender, EventArgs e) { Acerca_de AP_Acerca = newAcerca_de(); AP_Acerca.Show(); } privatevoid ayudaToolStripMenuItem_Click(object sender, EventArgs e) { Ayuda AP_Ayuda = newAyuda(); AP_Ayuda.Show(); } privatevoid nuevaToolStripMenuItem_Click(object sender, EventArgs e) { Venta AP_Venta = newVenta(); AP_Venta.Text = "Nueva venta " + MdiChildren.Length.ToString(); AP_Venta.MdiParent = this; AP_Venta.AP_UUsuario = lblUsuario.Text; AP_Venta.Show(); } privatevoid Principal_Load(object sender, EventArgs e) { string AP_Admin="administrador"; lblUsuario.Text = AP_usu; if (lblUsuario.Text != AP_Admin) { administrarToolStripMenuItem.Enabled = false; } } privatevoid usuariosToolStripMenuItem_Click(object sender, EventArgs e)

Manual Tcnico

{ Registro_Usuario AP_RegUsu = newRegistro_Usuario(); AP_RegUsu.MdiParent = this; AP_RegUsu.Show(); } privatevoid catalogoToolStripMenuItem_Click(object sender, EventArgs e) { Registro_Producto AP_ProdNue = newRegistro_Producto(); AP_ProdNue.MdiParent = this; AP_ProdNue.Show(); } privatevoid apartadosToolStripMenuItem_Click(object sender, EventArgs e) { Apartados AP_Apart = newApartados(); AP_Apart.MdiParent = this; AP_Apart.Show(); } privatevoid pedidosToolStripMenuItem_Click(object sender, EventArgs e) { Pedidos AP_Ped = newPedidos(); AP_Ped.MdiParent = this; AP_Ped.Show(); } privatevoid realizarPruebaToolStripMenuItem_Click(object sender, EventArgs e) { Login2 AP_Log = newLogin2(); AP_Log.MdiParent = this; AP_Log.Show(); } } }

Cdigo Interfaz Login para realizar pruebas al Sistema formulario Login2


OpenFileDialog miDialogo = newOpenFileDialog(); miDialogo.Title = "Selecciona el Archivo que deseas leer"; if (miDialogo.ShowDialog() == DialogResult.OK) { string nomar; nomar = miDialogo.FileName.ToString(); sr = newStreamReader(nomar); str = sr.ReadToEnd(); rctTexto.Text = str; while (str != null) { rctTexto.TextLength.ToString(); str = sr.ReadLine(); } } else { MessageBox.Show("NO se ha seleccionado ningun Archivo"); } Conectar(); } privatevoid btnEntrar_Click(object sender, EventArgs e) { string AP_Registro; int AP_n = 0;

Manual Tcnico

AP_Registro = rctTexto.Text; //int tama = rctInfo.TextLength; int AP_x = 0; try { for (int i = 0; AP_Registro[AP_x] != '\n'; i++) { while (AP_Registro[i] != '\t') { txtNomUsiario.Text += AP_Registro[i]; i++; } AP_n = i++; while (AP_Registro[i] != '\n') { txtPassword.Text += AP_Registro[i]; i++; } if (txtNomUsiario.Text == "") { if (txtPassword.Text == "") { MessageBox.Show("Favor de ingresar datos", "Incorrecto", MessageBoxButtons.OK, MessageBoxIcon.Hand); } } if (txtNomUsiario.Text == "" )//&& txtPassword.Text == AP_Lector[1].ToString()) { MessageBox.Show("Favor de ingresar usuario", "Incorrecto", MessageBoxButtons.OK, MessageBoxIcon.Hand); } if (txtPassword.Text == "") { MessageBox.Show("Favor de ingresar contrasea", "Incorrecto", MessageBoxButtons.OK, MessageBoxIcon.Hand); } AP_Comando = newOleDbCommand("select * from Usuario where Id_Usuario='" + txtNomUsiario.Text + "'", AP_MiConex); AP_Lector = AP_Comando.ExecuteReader(); while (AP_Lector.Read()) { { if (txtNomUsiario.Text == AP_Lector[0].ToString() && txtPassword.Text == AP_Lector[1].ToString()) { MessageBox.Show("Acceso permitido", "Correcto", MessageBoxButtons.OK, MessageBoxIcon.Information); } if (txtNomUsiario.Text == AP_Lector[0].ToString() && txtPassword.Text != AP_Lector[1].ToString()) { MessageBox.Show("Acceso denegado", "Incorrecto", MessageBoxButtons.OK, MessageBoxIcon.Hand); } //if (txtNomUsiario.Text == AP_Lector[0].ToString() && txtPassword.Text == "") //{ // MessageBox.Show("Favor de ingresar contrasea", "Incorrecto", MessageBoxButtons.OK, MessageBoxIcon.Hand);

Manual Tcnico

//} } } AP_Lector.Close(); //AP_MiConex.Close(); if (txtNomUsiario.Text != null) txtNomUsiario.Text = ""; if (txtPassword.Text != null) txtPassword.Text = ""; } } catch (IndexOutOfRangeException) { MessageBox.Show("Prueba finalizada","Meta",MessageBoxButtons.OK,MessageBoxIcon.Asterisk); } } } }

Cdigo Interfaz Iniciar Sesin para acceder al Sistema formulario Login


using using using using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Linq; System.Text; System.Windows.Forms; System.Data.OleDb; System.Data.Common;

namespace ENAP { publicpartialclassLogin : Form { //Declaracin de variables estandarizadas con "AP_" OleDbCommand AP_Comando; OleDbConnection AP_MiConex; OleDbDataReader AP_Lector; public Login() { InitializeComponent(); } //Mtodo publico para la conexion a una base de datos en SQL Server publicvoid Conectar() { string conexion = "Provider=SQLOLEDB;Data Source=ALICIA-PC\\ALICIA;Integrated Security=SSPI;Initial Catalog=baseZapa"; AP_MiConex = newOleDbConnection(conexion); AP_MiConex.Open(); } privatevoid btnEntrar_Click(object sender, EventArgs e) { //Conexin a la base de datos

Manual Tcnico

Conectar(); //Comando para hacer la consulta necesaria para permitir el acceso a usuarios al sistema AP_Comando = newOleDbCommand("select * from Usuario where Id_Usuario='"+txtNomUsiario.Text+"'", AP_MiConex); //Lectura del comando AP_Lector = AP_Comando.ExecuteReader(); //Muestra de la pantalla principal del sistema Principal AP_Princ = newPrincipal(); while (AP_Lector.Read()) { if (txtNomUsiario.Text == AP_Lector[0].ToString() && txtPassword.Text == AP_Lector[1].ToString()) { AP_Princ.AP_Usuario = txtNomUsiario.Text; AP_Princ.Show(); btnEntrar.Visible = false; lnlCerrar.Visible = true; } else { //Caja de mensaje cuando el usuario y/o contrasea con incorrectos MessageBox.Show("El usuario y/o contrasea son incorrectos", "Incorrecto", MessageBoxButtons.OK, MessageBoxIcon.Error); } } //Cierre de la conexin y lector AP_MiConex.Close(); AP_Lector.Close(); this.Visible = false; } privatevoid lnlCerrar_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { AP_MiConex.Close(); this.Close(); } privatevoid Login_Load(object sender, EventArgs e) { } } }

Cdigo Interfaz Ayuda del Sistema formularioAyuda


using using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Linq; System.Text; System.Windows.Forms;

namespace ENAP { publicpartialclassAyuda : Form

Manual Tcnico

{ public Ayuda() { InitializeComponent(); } //Declaracin de variables estandarizadas con "AP_" string AP_Ayuda1; string AP_Ayuda2; string AP_Ayuda3; string AP_Ayuda4; string AP_Ayuda5; string AP_Ayuda6; privatevoid lnlAcceder_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { //Mostrar el texto de ayuda en un RichTextBox AP_Ayuda1 = "Se busca el archivo en el cual se esta trabajando y se le da click en aceptar"; rtxtInfo.Text = AP_Ayuda1; rtxtInfo.Visible = true; } privatevoid lnlLog_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { //Mostrar el texto de ayuda en un RichTextBox rtxtInfo.Visible = false; AP_Ayuda2 = "Existen dos cuentas una de usuario y la otra de administrador, para cualquiera de las dos se accede en la casilla de nombre "+ "de usuario, se va a escribir el nombre de usuario correspondiente a cada persona y en la casilla de contrasea, se va a "+ "introducir la respectiva contrasea que cada usuario usa y finalmente se da click en aceptar."; rtxtInfo.Text = ""; rtxtInfo.Text = AP_Ayuda2; rtxtInfo.Visible = true; } privatevoid lnlBaseD_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { //Mostrar el texto de ayuda en un RichTextBox rtxtInfo.Visible = false; AP_Ayuda3 = "Al momento de acceder al sistema aparece una ventana en la cual hay un boton, se le da click en ese boton y automaticamente "+ "nos conecta a la base de datos, nos aparece un cuadro de dialogo el cual nos indica que esta conectado y listo para usarse."; rtxtInfo.Text = ""; rtxtInfo.Text = AP_Ayuda3; rtxtInfo.Visible = true; } privatevoid lnlImpText_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { //Mostrar el texto de ayuda en un RichTextBox rtxtInfo.Visible = false; AP_Ayuda4 = "Dentro del formulario hay una pestaa en la cual dice imprimir, se le da click en esa pestaa y nos saca un cuadro de dialogo "+ "en el cual, si lo deseamos le damos click en aceptar y automaticamente nos da la impresora que tenemos por default, le "+ "damos clic en aceptar y listo se obtiene la impresion del formulario."; rtxtInfo.Text = "";

Manual Tcnico

rtxtInfo.Text = AP_Ayuda4; rtxtInfo.Visible = true; } privatevoid lnlPreg_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { //Mostrar el texto de ayuda en un RichTextBox rtxtInfo.Visible = false; AP_Ayuda5 = "Dentro del formulario hay un cuadro de dialogo, en el cual si se llega a tener alguna otra duda referente a la utilizacin del " + "formulario, se escribe la palabra o frase que deseas buscar y se le da click en Aceptar."; rtxtInfo.Text = ""; rtxtInfo.Text = AP_Ayuda5; rtxtInfo.Visible = true; } privatevoid lnlTamTxt_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { //Mostrar el texto de ayuda en un RichTextBox rtxtInfo.Visible = false; AP_Ayuda6 = "Dentro del formulario aparece una pestaa la cual dice cambiar el tamao del texto, se le da click en la pestaa y nos aparece "+ "un cuadro de dialogo en la cual tenemos varias opciones de fuente y de tamao de letra, seleccionamos la que sea de nuestro"+ "agrado y se le da click en Aceptar. "; rtxtInfo.Text = ""; rtxtInfo.Text = AP_Ayuda6; rtxtInfo.Visible = true; } privatevoid menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { } } }

Cdigo Interfaz Acerca deal Sistema formulario Acerca_de


using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Drawing; System.Linq; System.Reflection; System.Windows.Forms;

namespace ENAP { partialclassAcerca_de : Form { public Acerca_de() { InitializeComponent(); this.Text = String.Format("Acerca de {0}", AssemblyTitle); //this.labelProductName.Text = AssemblyProduct; //this.labelVersion.Text = String.Format("Versin {0}", AssemblyVersion); this.labelCopyright.Text = AssemblyCopyright; //this.labelCompanyName.Text = AssemblyCompany;

Manual Tcnico

//this.textBoxDescription.Text = AssemblyDescription; } #region Descriptores de acceso de atributos de ensamblado publicstring AssemblyTitle { get { object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false); if (attributes.Length > 0) { AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0]; if (titleAttribute.Title != "") { return titleAttribute.Title; } } return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase); } } publicstring AssemblyVersion { get { returnAssembly.GetExecutingAssembly().GetName().Version.ToString(); } } publicstring AssemblyDescription { get { object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false); if (attributes.Length == 0) { return""; } return ((AssemblyDescriptionAttribute)attributes[0]).Description; } } publicstring AssemblyProduct { get { object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false); if (attributes.Length == 0) { return""; } return ((AssemblyProductAttribute)attributes[0]).Product; } }

Manual Tcnico

publicstring AssemblyCopyright { get { object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false); if (attributes.Length == 0) { return""; } return ((AssemblyCopyrightAttribute)attributes[0]).Copyright; } } publicstring AssemblyCompany { get { object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false); if (attributes.Length == 0) { return""; } return ((AssemblyCompanyAttribute)attributes[0]).Company; } } #endregion privatevoid okButton_Click(object sender, EventArgs e) { //Cierre de la ventana Acerca de this.Close(); } privatevoid Acerca_de_Load(object sender, EventArgs e) { } } }

Cdigo Interfaz Apartados del Sistema formulario Apartados


using using using using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Linq; System.Text; System.Windows.Forms; System.Data.Common; System.Data.OleDb;

Manual Tcnico

namespace ENAP { publicpartialclassApartados : Form { OleDbConnection AP_MiConex; OleDbCommand AP_Comando; OleDbDataReader AP_Lector; public Apartados() { InitializeComponent(); } publicvoid Conectar() { string conexion = "Provider=SQLOLEDB;Data Source=ALICIA-PC\\ALICIA;Integrated Security=SSPI;Initial Catalog=baseZapa"; AP_MiConex = newOleDbConnection(conexion); AP_MiConex.Open(); } privatevoid Apartados_Load(object sender, EventArgs e) { Conectar(); DataSet AP_Ds = newDataSet(); OleDbDataAdapter AP_Adaptador = newOleDbDataAdapter("SELECT * FROM Pedidos WHERE Estado_Pedido='pendiente'", AP_MiConex); AP_Adaptador.Fill(AP_Ds, "Pedidos"); dgvApartados.DataSource = AP_Ds; dgvApartados.DataMember = "Pedidos"; AP_Comando = newOleDbCommand("SELECT * FROM Pedidos WHERE Estado_Pedido='pendiente'", AP_MiConex); AP_Lector = AP_Comando.ExecuteReader(); while (AP_Lector.Read()) { cmbId_Pedido.Items.Add(AP_Lector[0].ToString()); } AP_Lector.Close(); } privatevoid cmbId_Pedido_SelectedIndexChanged(object sender, EventArgs e) { AP_Comando = newOleDbCommand("SELECT * FROM Pedidos where Id_Pedido='" + cmbId_Pedido.Text + "'", AP_MiConex); AP_Lector = AP_Comando.ExecuteReader(); while (AP_Lector.Read()) { txtCant_Pedido.Text=AP_Lector[1].ToString(); txtEst_Ped.Text=AP_Lector[3].ToString(); txtTotal.Text=AP_Lector[9].ToString(); txtMonRecibido.Text=AP_Lector[10].ToString(); txtUusario.Text=AP_Lector[11].ToString(); } AP_Lector.Close(); Conectar(); DataSet AP_Ds = newDataSet(); OleDbDataAdapter AP_Adaptador = newOleDbDataAdapter("SELECT * FROM DetallePedido WHERE Id_Pedido='" + cmbId_Pedido.SelectedItem + "'", AP_MiConex); AP_Adaptador.Fill(AP_Ds, "DetallePedidos"); dgvApartados.DataSource = AP_Ds; dgvApartados.DataMember = "DetallePedidos";

Manual Tcnico

float TotVen, Monto1,XPagar; TotVen = float.Parse(txtTotal.Text); Monto1 = float.Parse(txtMonRecibido.Text); XPagar = TotVen - Monto1; txtPorPag.Text = XPagar.ToString(); } privatevoid btnRealizar_Click(object sender, EventArgs e) { float Monto2, XPagar, Cambio; XPagar = float.Parse(txtPorPag.Text); Monto2 = float.Parse(txtMontoRec.Text); Cambio = Monto2 - XPagar; txtCambio.Text = Cambio.ToString(); string hoy = DateTime.Now.ToShortDateString(); Conectar(); //strComando = "UPDATE cliente set Nombre='" + txtNomCli.Text + "',Direccion='" + txtDirecCli.Text + "',Telefono='" + txtTelCli.Text + "' where NoCliente='" + nc + "'"; AP_Comando = newOleDbCommand("UPDATE Pedidos set Estado_Pedido='entregado',Fecha_Entrega='"+ hoy +"'where Id_Pedido='"+ cmbId_Pedido.SelectedItem + "'", AP_MiConex); AP_Comando.ExecuteNonQuery(); MessageBox.Show("Pedido pagado","Pedido entregado",MessageBoxButtons.OK,MessageBoxIcon.Information); } } }

Cdigo Interfaz Pedidos del Sistema formulario Pedidos


using using using using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Linq; System.Text; System.Windows.Forms; System.Data.Common; System.Data.OleDb;

namespace ENAP { publicpartialclassPedidos : Form { OleDbConnection AP_MiConex; public Pedidos() { InitializeComponent(); } publicvoid Conectar() {

Manual Tcnico

string conexion = "Provider=SQLOLEDB;Data Source=ALICIA-PC\\ALICIA;Integrated Security=SSPI;Initial Catalog=baseZapa"; AP_MiConex = newOleDbConnection(conexion); AP_MiConex.Open(); } privatevoid Pedidos_Load(object sender, EventArgs e) { Conectar(); DataSet AP_Ds = newDataSet(); OleDbDataAdapter AP_Adaptador = newOleDbDataAdapter("SELECT * FROM Pedidos", AP_MiConex); AP_Adaptador.Fill(AP_Ds, "Pedidos"); dgvPedidos.DataSource = AP_Ds; dgvPedidos.DataMember = "Pedidos"; } } }

Cdigo Interfaz Ventas del Sistema formulario Ventas


using using using using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Linq; System.Text; System.Windows.Forms; System.Data.OleDb; System.Data.Common;

namespace ENAP { publicpartialclassVenta : Form { //Declaracin de ariables estandarizadas con "AP_" OleDbCommand AP_Comando; OleDbConnection AP_MiConex; OleDbDataReader AP_Lector; string AP_usuario; publicstring AP_UUsuario { set { AP_usuario = value; } } public Venta() { InitializeComponent(); } //Mtodo publico de conexin a la base de datos publicvoid Conectar() { string conexion = "Provider=SQLOLEDB;Data Source=ALICIA-PC\\ALICIA;Integrated Security=SSPI;Initial Catalog=baseZapa"; AP_MiConex = newOleDbConnection(conexion); AP_MiConex.Open(); } privatevoid Venta_Load(object sender, EventArgs e) {

Manual Tcnico

//Conexin a la base Conectar(); //Comando para agregar el cdigo del producto existente en el inventario AP_Comando = newOleDbCommand("SELECT * FROM Inventario",AP_MiConex); AP_Lector = AP_Comando.ExecuteReader(); while (AP_Lector.Read()) { cmbCdigo.Items.Add(AP_Lector[0].ToString()); } AP_Lector.Close(); //Comando que ayuda a la incrementacin autmatica del Id_Venta e Id_Pedido AP_Comando = newOleDbCommand("SELECT COUNT(*) FROM Pedidos",AP_MiConex); AP_Lector = AP_Comando.ExecuteReader(); while (AP_Lector.Read()) { int AP_NumAtm=int.Parse(AP_Lector[0].ToString()); txtIdVenta.Text="ven-0"+(AP_NumAtm+1); lblNumPed.Text = "ped-0" + (AP_NumAtm + 1); } //Para la visualizacin de la fecha del da de la operacin lblFechActual.Text = DateTime.Now.ToShortDateString(); lblUsuario.Text = AP_usuario; } privatevoid cmbCdigo_SelectedIndexChanged(object sender, EventArgs e) { //Comando necesario para poder visualizar todos los campos que son existentes en el inventario AP_Comando = newOleDbCommand("SELECT * FROM Inventario where Cod_Inventario='"+cmbCdigo.Text+"'",AP_MiConex); AP_Lector = AP_Comando.ExecuteReader(); while (AP_Lector.Read()) { txtColor.Text = AP_Lector[1].ToString(); txtMarca.Text = AP_Lector[3].ToString(); txtDescripcion.Text = AP_Lector[2].ToString(); txtPrecio.Text = AP_Lector[4].ToString(); } AP_Lector.Close(); } privatevoid btnSubtotal_Click(object sender, EventArgs e) { try { //Calculo de el subtotal de un producto tomando en cuenta el precio unitario //y la cantidad que se lleva del producto float AP_Subtotal; float AP_Precio = float.Parse(txtPrecio.Text); int AP_Cantidad = int.Parse(txtCantidad.Text); AP_Subtotal = AP_Precio * AP_Cantidad; txtSubtotal.Text = AP_Subtotal.ToString(); } //Excepcin para controlar falla de campos vacios catch (Exception) { MessageBox.Show("Campos necesarios vacios, favor de verificar","Verificacin de datos",MessageBoxButtons.OK,MessageBoxIcon.Error); } }

Manual Tcnico

privatevoid btnAgregar_Click(object sender, EventArgs e) { //Comando necesario para agregar a listas el producto que posiblemente se lleve el cliente AP_Comando = newOleDbCommand ("SELECT * FROM Inventario where Cod_Inventario='"+ cmbCdigo.Text + "'",AP_MiConex); AP_Lector = AP_Comando.ExecuteReader(); while (AP_Lector.Read()) { //Seleccin de la existencia para avisar proximo agotamiento si esta es menor a 5 productos int AP_Existencia = int.Parse(AP_Lector[5].ToString()); int AP_CantPedida = int.Parse(txtCantidad.Text); int AP_ResultadoC; AP_ResultadoC = AP_Existencia - AP_CantPedida; lblRecE.Text = AP_ResultadoC.ToString(); if (AP_ResultadoC <= 5) { MessageBox.Show("La existencia esta por agotarse"); } } lstZapato.Items.Add(txtDescripcion.Text); lstCantidad.Items.Add(txtCantidad.Text); lstSubtotal.Items.Add(txtSubtotal.Text); AP_Lector.Close(); AP_Comando = newOleDbCommand("UPDATE Inventario set Existencia="+ lblRecE.Text + "where Cod_Inventario='" + cmbCdigo.Text + "'", AP_MiConex); AP_Comando.ExecuteNonQuery(); AP_Comando = newOleDbCommand("Insert INTO DetallePedido VALUES('"+ lblNumPed.Text+"','"+cmbCdigo.Text+"',"+txtCantidad.Text+","+txtPrecio.Text+")",AP_MiConex); int AP_X = AP_Comando.ExecuteNonQuery(); } privatevoid btnTotal_Click(object sender, EventArgs e) { //Calculo del total de la venta con el 15% de IVA incluido y al mismo tiempo calcular //la cantidad de producto que se lleva el cliente float AP_Total = 0, AP_Registro;int AP_TotCant=0, AP_Tcant; AP_Registro = lstSubtotal.Items.Count; for (int i = 0; i < AP_Registro; i++) { AP_Total += float.Parse(lstSubtotal.Items[i].ToString()) * 1.15f; } //Mostrar el total de dinero en una caja de texto txtTotal.Text = AP_Total.ToString(); lblIva.Visible = true; lblTotalDeVenta.Visible = true; //Mostrar el total de cantidad de producto en un label AP_Tcant = lstCantidad.Items.Count; for (int i = 0; i < AP_Tcant; i++) { AP_TotCant += int.Parse(lstCantidad.Items[i].ToString()); } lblTotCant.Text = AP_TotCant.ToString(); } privatevoid btnCambio_Click(object sender, EventArgs e) { try {

Manual Tcnico

//Calculo del cambio que se le va a dar al cliente y mostrarlo en un label float AP_Recibido = float.Parse(txtRecibido.Text); float AP_Tot = float.Parse(txtTotal.Text); float AP_Cambio; if (AP_Recibido > AP_Tot) { AP_Cambio = AP_Recibido - AP_Tot; lblCambio.Text = AP_Cambio.ToString(); } else { //Si el monto recibido es menor al total lanza una caja de texto solicitando marcar como apartado MessageBox.Show("El monto recibido es menor al total, Desea marcar como apartado?", "Realizar apartado", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); } } catch (Exception) { MessageBox.Show("Especifique el monto para pagar la venta", "Monto", MessageBoxButtons.OK, MessageBoxIcon.Information); } } privatevoid btnOk_Click(object sender, EventArgs e) { string AP_FecEnt = dtpFechEntrega.Value.ToShortDateString();

AP_Comando= newOleDbCommand("INSERT INTO Pedidos VALUES('"+lblNumPed.Text + "','"+lblTotCant.Text +"','"+cmbCdigo.Text + "','"+lblEstPedido.Text+"','"+ lblFechActual.Text+"','" +AP_FecEnt+"','"+txtIdVenta.Text+"','"+txtPrecio.Text+"','"+ txtSubtotal.Text+"','"+txtTotal.Text+"','"+txtRecibido.Text+"','"+lblUsuario.Text+ "')",AP_MiConex); int AP_X = AP_Comando.ExecuteNonQuery(); if (AP_X == 1) { if (cbxPedido.Checked == false) MessageBox.Show("Venta exitosa. Pedido registrado", "Venta Realizada", MessageBoxButtons.OK, MessageBoxIcon.Information); else { MessageBox.Show("Pedido apartado. Pedido registrado", "Apartado Realizado", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } privatevoid btnQuitar_Click(object sender, EventArgs e) { Conectar(); /* AP_Comando = new OleDbCommand("DELETE * FROM DetallePedido VALUES('"+ lblNumPed.Text+"','"+cmbCdigo.Text+"',"+txtCantidad.Text+","+txtPrecio.Text+")",AP_MiConex); int AP_X = AP_Comando.ExecuteNonQuery();*/ int AP_Eliminar; AP_Eliminar = lstZapato.Items.IndexOf(lstZapato.SelectedItem); lstZapato.Items.RemoveAt(AP_Eliminar); lstCantidad.Items.RemoveAt(AP_Eliminar);

Manual Tcnico

lstSubtotal.Items.RemoveAt(AP_Eliminar); } privatevoid cbxPedido_CheckedChanged(object sender, EventArgs e) { if (cbxPedido.Checked == true) { lblEstPedido.Text = "Pendiente"; dtpFechEntrega.Visible = true; lblFechEntrega.Visible = true; } if (cbxPedido.Checked == false) { lblEstPedido.Text = "Venta"; dtpFechEntrega.Visible = false; lblFechEntrega.Visible = false; } } privatevoid lblFechActual_Click(object sender, EventArgs e) { } } }

Cdigo Interfaz Registro Producto formulario Registro_Producto


using using using using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Linq; System.Text; System.Windows.Forms; System.Data.OleDb; System.Data.Common;

namespace ENAP { publicpartialclassRegistro_Producto : Form { OleDbCommand AP_Comando; OleDbConnection AP_MiConex; public Registro_Producto() { InitializeComponent(); } publicvoid Conectar() { string conexion = "Provider=SQLOLEDB;Data Source=ALICIA-PC\\ALICIA;Integrated Security=SSPI;Initial Catalog=baseZapa"; AP_MiConex = newOleDbConnection(conexion); AP_MiConex.Open(); }

Manual Tcnico

privatevoid btnAgregar_Click(object sender, EventArgs e) { Conectar(); //try { try { AP_Comando = newOleDbCommand("INSERT INTO Inventario VALUES('" + txtCodZap.Text + "','" + txtColor.Text + "','" + txtDescrip.Text + "','" + txtMarca.Text + "','" + txtPrecio.Text + "','" + txtExist.Text + "')", AP_MiConex); int AP_X = AP_Comando.ExecuteNonQuery(); if (AP_X == 1) MessageBox.Show("Producto agregado al inventario", "Correcto", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (FormatException) { MessageBox.Show("Datos Incorrectos", "Incorrecto", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } privatevoid lnlOut_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { AP_MiConex.Close(); this.Close(); } privatevoid Registro_Producto_Load(object sender, EventArgs e) { } } }

Cdigo Interfaz Registro Usuario formulario Registro_Ususario


using using using using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Linq; System.Text; System.Windows.Forms; System.Data.OleDb; System.Data.Common;

namespace ENAP { publicpartialclassRegistro_Usuario : Form {

Manual Tcnico

OleDbCommand AP_Comando; OleDbConnection AP_MiConex; public Registro_Usuario() { InitializeComponent(); } publicvoid Conectar() { string conexion = "Provider=SQLOLEDB;Data Source=ALICIA-PC\\ALICIA;Integrated Security=SSPI;Initial Catalog=baseZapa"; AP_MiConex = newOleDbConnection(conexion); AP_MiConex.Open(); } privatevoid btnAlta_Click(object sender, EventArgs e) { Conectar(); AP_Comando = newOleDbCommand("INSERT INTO Usuario VALUES('" + txtUser.Text + "','" + txtPass.Text + "')", AP_MiConex); int AP_X = AP_Comando.ExecuteNonQuery(); if (AP_X == 1) MessageBox.Show("Usuario dado de alta","Correcto",MessageBoxButtons.OK,MessageBoxIcon.Information); } privatevoid lnlSalir_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { AP_MiConex.Close(); this.Close(); } privatevoid Registro_Usuario_Load(object sender, EventArgs e) { } } }

Manual Tcnico

CAPTULO 5: PRUEBAS
Objetivo especfico: Realizar las pruebas correspondientes a manera que cuando ENAP este en uso no tenga fallas o bien se puedan modificar.

PLAN DE PRUEBAS AUTOMATIZADO


Identificador Test1 Verificar Alcances tems Estrategia el acceso de usuarios al sistema

correctamente. Test Ingreso. Exportar un archivo de texto a la interfaz de inicio para verificar el acceso correcto. Se realizan pruebas de caja negra. Si el archivo tex Prueba exitosa mayor a 85% Si la lectura del archivo tex no logra un Prueba cancelada Prueba Reprogramada porcentaje mayor a 50% Si la lectura del archivo tex no inicializa. Si la lectura del archivo es menor a 50% es ledo en un porcentaje

Categorizacin Configuracin

de

Caso de Prueba "Test Ingreso" verificar anexo 1. Tangibles Procedimientos Especiales Aplicacin disponible. Recursos Archivo de texto disponible. PC disponible para realizar pruebas. Las pruebas se realizaran en la semana 10 de la planeacin: 9-Marzo-2011 de 11:00 am a 13:00 pm. Calendario Aplicacin No disponible: Equipo trabajando paralelamente al actual. Manejo de Riesgos Archivo de texto No disponible: Contar con respaldo del mismo. Contar con el archivo de texto con las caractersticas indicadas en el anexo 1.

Fallas de Energa a los equipos: Tener un sistemas de respaldo (Nobreak)

Manual Tcnico

Programador: Alicia Santiago Montes, Admon.BD Freddy Mendoza Galindo, Lder de Responsables Proyecto Violeta Medina Ocaas

PLAN DE PRUEBAS MANUAL Identificador Test2 Verificar el correcto funcionamiento Alcances de la aplicacin. Test Producto, Test Inventario, Test tems Usuario. Realizar un chek list al inicializar la Estrategia aplicacin. Se realizan pruebas de caja blanca. Si el resultado del chek list es mayor al 85% de su Prueba exitosa Categorizacin Configuracin de Prueba cancelada totalidad. Si el resultado del chek list no es mayor al 50% de su totalidad. Si los recursos indicados para la realizacin no Prueba Reprogramada estn disponibles. Si el resultado del chek list es menor a 50% Caso de Prueba "Test Ingreso", Caso de Prueba "Test Producto", Caso de Prueba "Test Registro Usuario". Tangibles Procedimientos Especiales Aplicacin disponible. Recursos Usuario disponible. PC disponible para realizar pruebas. Las pruebas se realizaran en la semana 10 de la planeacin: 9-Marzo-2011 de 11:00 am Calendario a 13:00 pm. El usuario deber realizar la evaluacin de acuerdo al anexo 1.

Manejo de Riesgos Aplicacin No disponible: Equipo trabajando paralelamente al actual. Usuario No disponible: pruebas. Fallas de Energa a los equipos: Tener un sistemas de respaldo (Nobreak) Programador: Alicia Santiago Montes, Admon.BD Freddy Mendoza Galindo, Lder de Responsables Proyecto Violeta Medina Ocaas Contar con una persona alterna o programar el da a realizar las

Manual Tcnico

CASOS DE PRUEBA Anexo 1 Identificador: Creado: Versin: Nombre: Propsito: Test Ingreso Alicia, Freddy, Violeta 1.00 Test Ingreso Accesar al Sistema

Ambiente de Pruebas: BD <Usuario> SQL Inicializacin Finalizacin Interfaz GUI Realizar Log In Entrar al Sistema Acciones 1.-Introduce Usuario 2.-Introduce Contrasea 3.-Oprime Botn Entrar Resultados Valores de Entrada USUARIO Correcto Correcto Incorrecto Blanco Correcto Blanco CONTRASEA correcto incorrecto correcto correcto blanco blanco "Acceso Permitido" "Datos Incorrectos" "Datos Incorrectos" "Favor de Ingresar Usuario" " Favor de Ingresar Contrasea"" " Favor de Ingresar Datos"

Resultado Esperado

Resultados Reales

Usuario Administrador Alicia Freddy Ricardo Silvia Violeta

Contrasea admin123 789 456 246 46557 123

Figura 1.1 Tabla de Usuario

Manual Tcnico

Usuario administrador alicia roberto

Contrasea admin123 __ 456 246 "Acceso Permitido" "Datos Incorrectos" "Datos Incorrectos" "Favor de Ingresar Usuario" " Favor de Ingresar

silvia

Contrasea"" " Favor de Ingresar Datos"

Anexo 2 Identificador: Creado: Versin: Nombre: Propsito: Ambiente de Pruebas: Inicializacin Finalizacin Test Registro Usuario Alicia, Freddy, Violeta 1.00 Test Registro Usuario Dar de alta una cuenta de usuario que acceda al sistema. BD Tabla <Usuario> SQL con valores indicados en la figura 1.2 Interfaz GUI Realizar consulta de Registro. Entrar al Sistema Acciones 1.-Introduce Usuario 2.-Introduce Contrasea 3.-Oprime Botn Registrar Resultados Valores de Entrada USUARIO Correcto Correcto no valores Blanco Correcto Blanco Repetido CONTRASEA correcto no valores correcto correcto blanco blanco repetido "Usuario Registrado" "Verifique datos" "Verifique datos" "Campos vacios" "Campos vacios" "Introduzca Datos" "Datos Existentes en la Base"

Resultado Esperado

Resultados Reales

Manual Tcnico

Usuario freddy violeta roberto ___ ximena

Contrasea 12345 __ 12345 12345 __ "Usuario Registrado" "Verifique datos" "Verifique datos" "Campos vacios" "Campos vacios" "Introduzca Datos"

Figura 1.2 Tabla con valores que se ingresan en la prueba.Anexo3

Identificador: Creado: Versin: Nombre: Propsito: Ambiente Pruebas: Inicializacin Finalizacin de

Test Venta Alicia, Freddy, Violeta 1.00 Test Ingreso Registrar la venta de productos.

BD Tabla <Usuario> SQL con valores indicados en la figura 1.2 Interfaz GUI Realizar consulta para verificar existencia de producto. Entrar al Sistema 1.-Indica Id_zapato.

Acciones

2.-Indica cantidad. 2.-Indica monto. 3.-Oprime Botn Registrar.

Resultados Escenarios Valores de Entrada CANTI CDIGO DAD MON TO EXISTENCIA "VentaExitosa. Pedido Registrado" "El monto recibido es menor al total, Desea correcto marcar como apartado?" "Campos necesarios vacios, favor de verificar" Valores Esperados Resultado Esperado Resultados Reales

Correct correc correcto o to correcto

Correct incorr correcto incorrecto o ecto

Correct correc correcto

Manual Tcnico

to "Campos necesarios vacios, favor de verificar"

Correct blanc Correcto o o correcto

Correct blanc Blanco o Correct Correcto o --o correcto Existencia en 5

"Especifique el monto para pagar la venta"

"No hay producto disponible"

CDIGO EXISTENCIA MONTO Inv-001 Inv-002 Inv-003 Inv-004 Inv-005 Inv-005 Inv-007 3 5 3 6 6 1 1 500 800 400 1000 1200 1500 1500

Figura 1.3 Tabla de Venta

CDIG O Inv-004

CANTIDA D 2

MONT O 500

EXISTENCI A 10 "Venta Exitosa. Pedido Registrado" "El monto recibido es menor al total, Desea marcar como

Inv-011

3 3

100 1000

47 6 6 1

apartado?" "Campos necesarios vacios, favor de verificar" "Campos necesarios vacios, favor de verificar" "Campos necesarios vacios, favor de verificar" "Especifique el monto para pagar la venta"

Inv-001

4 5

Inv-003

1400

Identificador: Creado: Versin: Nombre: Propsito:

Test Registro Producto Alicia, Freddy, Violeta 1.00 Test Ingreso Registrar existencias de producto.

Manual Tcnico

Ambiente Pruebas: Inicializacin Finalizacin

de

BD Tabla <Producto> SQL con valores indicados en la figura 1.4 Interfaz GUI Actualizar el Inventario de Productos Entrar al Sistema 1.-Indica id_zapato 2.-Indica modelo 3.-Indica color

Acciones

4.-Indica talla 5.-Indica descripcin 6.-Indica marca 7.-Indica precio 8.-Introduce existencia 9.-Oprime el botn Registrar

Resultados Valores de Entrada COLO DESCRIPCI ID_ZAPATO R correc correcto to correcto N MARC PRECI EXISTENC A O IA "Venta registrada" "Datos incorrecto Incorrectos" "Faltan datos" Resultado Esperado Resultados Reales

correc correct to o correcto

correc correct correcto correc blanco to correc correcto to correcto correcto correcto to o correcto

correc correct to o correcto

"Campos vacios"

correc correct to o blanco

"Campos vacios" "Introduzca

Datos"

Manual Tcnico

ID_ZAPATO COLOR DESCRIPCIN 2001 2002 2003 2004 2005 2006 2001 negro caf blanco negro blanco rosa negro

MARCA

PRECIO EXISTENCIA 220 199.5 285 199 6 5 5 6 4 5 6

zapato de caballero la pag zapato de caballero eligios tenis sport hombre zapatilla de mujer zapatilla de mujer zapatilla de mujer caprice zanadu

moda bella 185.5 capricho 190 220

zapato de caballero la pag

Figura 1.4 Tabla Producto

ID_ZAPAT O

COLO R DESCRIPCIN zapato de la pag MARCA

PRECI O

EXISTENCI A ""Producto agregado al

Inv-021 Inv-022

negro

caballero

220

inventario"" "Datos Incorrectos"

tenis Inv-023 Inv-024 negro hombre

sport caprice zanadu moda 285 199 5 6 "Faltan datos" "Campos vacios"

zapatilla de mujer

Inv-025

blanco

zapatilla de mujer

bella

185.5

"Campos vacios"

Inv-026

"Introduzca Datos"

Manual Tcnico

MAPAS DE NAVEGACIN

Objetivo especifico: Dar a conocer los lugares por los que pasas al momento de interactuar con la aplicacin.

En la aplicacin tenemos dos tipos e ususarios por lo cual algunos tienen permisos como administrador que es la persona encargada de administrar el sistema y los usuariorios a quienes se les limita el uso de determinadas seccines. Para el Administradoror la navegacipon en el sistema es de la siguinete manera: 1. Iniciar Sesin. 2. Principal. 3. Registro de Producto. 4. Registro de Usuario. 5. Venta. 6. Apartado. 7. Pedido.

Manual Tcnico

7 1

Manual Tcnico

Para los Usuarios la navegacipon en el sistema es de la siguinete manera: 1. Iniciar Sesin. 2. Principal. 3. Venta. 4. Apartado. 5. Pedido.

Manual Tcnico

Manual Tcnico

RESPONSABLES
rea de Documentacin Violeta Medina Ocaas

rea de Administracin Revisin: Freddy Mendoza Galindo

rea de Recursos Humanos Autorizo: Santiago Montes Emma Alicia

You might also like