Reporte Final 8 de Septiembre de 2010

78
ITCM Reporte Final de Residencia profesional i Instituto Tecnológico de Ciudad Madero Ing. Sistemas computacionales “CBFix” (Control de Bascula Para El Puerto Industrial De Altamira) Alumno No. De Control e-mail. García Villafuerte Gerardo 05070849 [email protected] Caloca Castillo José de Jesús 05070674 [email protected] Empresa: Fixer, Software Developing Tel. Oficina: (833) 216-87-41 Asesor Externo: Ing. David Ángeles Martínez Asesor Interno MC. Víctor Hugo Guerrero Treviño Asesor Técnico MC. Arquímedes Godoy Vinaja Fecha Inicio: 08/Febrero/2010 Fecha Terminación: 08/Junio/2010 Horario: 9:00-17:00 hrs. Total de Horas: 640 hrs. INDICE

Transcript of Reporte Final 8 de Septiembre de 2010

Page 1: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

i

Instituto Tecnológico de Ciudad Madero

Ing. Sistemas computacionales

“CBFix” (Control de Bascula Para El Puerto Industrial De Altamira)

Alumno No. De Control

e-mail.

García Villafuerte Gerardo 05070849 [email protected] Caloca Castillo José de Jesús

05070674 [email protected]

Empresa:

“ Fixer, Software Developing ”

Tel. Oficina: (833) 216-87-41

Asesor Externo:

Ing. David Ángeles Martínez

Asesor Interno

MC. Víctor Hugo Guerrero Treviño

Asesor Técnico

MC. Arquímedes Godoy Vinaja

Fecha Inicio: 08/Febrero/2010 Fecha Terminación: 08/Junio/2010 Horario: 9:00-17:00 hrs.

Total de Horas: 640 hrs.

INDICE

Page 2: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

ii

INDICE 1.- Introducción…………………………

2.- Justificación…………………………

2.1.-Planteamiento del

problema…………………………….

3.- Objetivos Generales y específicos

4.- Caracterización del área en que se

participo.

4.1.-Antecedentes de la empresa

5.- Problemas a resolver

6.-Alacances y Delimitaciones

7.-Marco Teórico

8.-Procedimiento y Descripción de las

actividades realizadas

8.1 Estructura del método

8.2 Fases del Modelo incremental

9. Resultados y Graficas

10. Conclusiones

11.Biblografia

12. Anexos

13. Glosario

……………………………....1

2

3

……………………………..3

………………………………4

4

5

5

6

10

10

11

16

16

68

69

70

74

75

Page 3: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

1

1.- INTRODUCCION

Las soluciones computacionales, para la resolución de problemas de la vida

diaria ha sido cada vez más comunes durante los más recientes 20 años.

Al día de hoy difícilmente entenderíamos las actividades sociales y humanas en

general sin la asistencia de una aplicación computacional, ya sea para

entornos de escritorio o aplicaciones Web

El apoyo a la toma de decisiones mediante sistemas computacionales, aparece

todos los días en casi cualquier lugar (en el supermercado, la tienda de ropa,

las oficinas de etc.).

Por eso actualmente las empresas utilizan la tecnología para el desarrollo de

sistemas computacionales, para agilizar operaciones que anteriormente las

hacia una persona.

Con el desarrollo de sistemas computacionales se trata de tener el mínimo

error de las operaciones realizadas por sistema, lo cual beneficia tanto a la

empresa que lo tienen como a los usuarios que lo utilizan.

El proyecto “Control de báscula para el puerto Industrial de Altamira “CBFix” es

un sistema computacional mas, que se desarrollara para el puerto industrial de

Altamira, para el control de la bascula de los barcos, las operaciones

principales de control, y sus reportes correspondientes.

Por eso se tomo la decisión de desarrollar el sistema en un ambiente de

escritorio, lo cual permitiría la instalación de este en cualquier Terminal del

puerto o estación para su uso.

A lo largo de este documento se pretende detallar el desarrollo de un sistema,

aplicado al control de báscula del puerto industrial de Altamira para la

optimización de las operaciones que esta realiza.

Page 4: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

2

2.- JUSTIFICACION La báscula del puerto tiene como función principal pesar los productos que

entran o salen del puerto industrial para una exportación o importación.

Actualmente se realiza este proceso mediante un sistema de FoxPro que para

los requerimientos y necesidades actuales se queda corto.

Ya que actualmente no se pueden obtener reportes al momento de que se

hace la operación en este sistema, para que los clientes cuenten con un control

exacto de las operaciones que realizan.

En la actualidad es un problema informar a los clientes la cantidad de

operaciones realizadas ya que en este momento para que un cliente obtenga el

reporte real de la cantidad del producto que está exportando o importando debe

comunicarse vía telefónica a la empresa para obtener el reporte al momento o

acudir al día siguiente para recibir un reporte impreso de las operaciones

realizadas en el día anterior.

La báscula en este momento tiene un sistema de captura de peso que está

obsoleto ya que se requiere que la información se imprima al momento del

pesaje.

Para solucionar estos detalles se propone la generación de un proyecto en un

ambiente escritorio que controle y administre las operaciones que se realicen

en la bascula y que pueda mostrar y imprimir la información en forma de

reportes al instante.

Se propone la tecnología visual Basic.net interactuando con SQL Server ya que

son tecnologías usadas en la actualidad. Para esto dicha tecnología ha

evolucionado y se adaptado para los nuevos requerimientos que exigen las

aplicaciones actuales. Para convertirse en una de las tecnologías más potentes

y completas para el desarrollo de sistemas computacionales.

Page 5: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

3

PLANTEAMIENTO DEL PROBLEMA

Con la fluidez marítima en el puerto industrial de Altamira, el control de

básculas y el exceso de información, el recurso humano se hace ineficaz, lento

y con errores, en las operaciones de la báscula.

Con ese principal motivo se planteo desarrollar un sistema de control para el

puerto industrial de Altamira (CBFix), el cual ayudara agilizando el tiempo de

administración de la báscula, con lo cual ayudar a la atención de más barcos

en un menor tiempo.

3.- OBJECTIVOS GENERALES

Desarrollo de una aplicación que lleve a cabo cada una de una de las

actividades administrativas relacionadas con el control de la bascula, reducir el

periodo de tiempo de trabajo para las personas a cargo de la bascula y la

reducción de errores.

Utilizando la tecnología de desarrollo Microsoft Visual Studio 2005, con el

gestor de bases de datos SQL Server 2005.

OBJETIVOS ESPECÍFICOS

Reducir tiempos de operación

Reducir margen de error

Mejor presentación de información , mediante resultados concisos

Tener una interfaz amigable para el usuario

Page 6: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

4

Atender más barcos, en el menor tiempo posible

4.-CARACTERIZACION DEL AREA EN QUE SE

PARTICIPO

El proyecto se desarrollo en el área de sistemas en el departamento de

desarrollo de software de la empresa FIXER SOFTWARE DEVELOPING.

ANTECEDENTES DE LA EMPRESA

Fixer Software Developing, se ubica en Ciudad Madero Tamaulipas, es una

empresa dedicada a proporcionar servicios en el sector público, tiene como

objetivo el empleo de las tecnologías existentes en el mercado beneficiando a

sus clientes para su desarrollo tecnológico.

Su principal política es la calidad total en sus servicios, pretendiendo así

ofrecer productos competitivos y a la medida de las necesidades de los

clientes.

GERENCIA

Área de sistemas

Desarrollo de software

Reparación y soporte de

computadoras

Asistente de gerencia

Recursos humanos

Contabilidad y finanzas

Page 7: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

5

5.- PROBLEMAS A RESOLVER

El principal problema a resolver con el proyecto CBFix, es el del manejo

eficiente de las transacciones de la báscula, con lo que se minimizan costos y

errores.

El otro inconveniente a resolver, seria la mejora de la interacción del usuario

con la herramienta de administración, permitiéndole tener en sus manos una

aplicación con un ambiente amigable, en el que el usuario se sienta cómodo y

no tenga problemas de uso.

6.-ALCANCES Y DELIMITACION El proyecto es específico para una plataforma Windows XP o superior,

mediante el entorno de desarrollo Visual Studio 2005 y SQL Server de ídem

versión, es una aplicación de escritorio la cual también puede ser editada por

ediciones superiores del Visual Studio.

Es útil para la administración de la báscula con colaboración de un usuario,

aunque podría, volverse más autónomo.

Page 8: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

6

7.- MARCO TEORICO

En las siguientes páginas se describirán una serie de conceptos elementales

para el desarrollo del sistema Control de Bascula “CBFix”.

MICROSOFT VISUAL BASIC.NET

¿Que es Visual Basic.Net 2005? Como lo muestra la siguiente pagina es una

evolución del lenguaje Visual Basic que está diseñado para generar de manera

productiva aplicaciones con seguridad de tipos y orientadas a objetos. [1]

VISUAL STUDIO

Visual Studio como se indica es un entono integrado de desarrollo IDE en el

que los desarrolladores trabajan a la hora de crear programas en uno de los

muchos lenguajes posibles, incluido Visual Basic, para .NET Framework. [1]

.NET FRAMEWORK

.NET es toda una nueva arquitectura tecnológica, desarrollada por Microsoft

para la creación y distribución del software como un servicio. Esto quiere decir,

que mediante las herramientas de desarrollo proporcionadas por esta nueva

tecnología, los programadores podrán crear aplicaciones basadas en servicios

para la Web. [2]

Page 9: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

7

EL ENTORNO INTEGRADO DE DESARROLLO (IDE)

El Entorno Integrado de Desarrollo de visual Basic. Net como se muestra en la

Fig.1, es el entorno de trabajo, donde se muestran la gran variedad de

herramientas que contiene el visual Basic. Net para el desarrollo de

aplicaciones

BASE DE DATOS

Una base de datos es típicamente un grupo que incluye objetos tabla y la

mayoría de las veces, otros objetos tales como procedimientos almacenados y

vistas, que permiten la agrupación particular de un conjunto de datos de las

tablas[3]

MICROSOFT SQL SERVER 2005

Fig. 1 Entorno Integrado de Desarrollo

Page 10: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

8

SQL Server 2005 es una plataforma global de base de datos que ofrece

administración de datos empresariales con herramientas integradas de

inteligencia empresarial (BI). El motor de la base de datos SQL Server 2005

ofrece almacenamiento más seguro y confiable tanto para datos relacionales

como estructurados, lo que le permite crear y administrar aplicaciones de datos

altamente disponibles y con mayor rendimiento para utilizar en su negocio.

El motor de datos SQL Server 2005 constituye el núcleo de esta solución de

administración de datos empresariales. Asimismo, SQL Server 2005 combina lo

mejor en análisis, información, integración y notificación. Esto permite que su

negocio cree y despliegue soluciones de BI rentables que ayuden a su equipo a

incorporar datos en cada rincón del negocio a través de tableros de comando,

escritorios digitales, servicios Web y dispositivos móviles. [4]

SQL SERVER MANAGEMENT STUDIO (SSMS)

Es una herramienta gráfica de administración gratuita y fácil de usar para SQL

Server 2005 Express Edition y SQL Server 2005 Express Edition with

Advanced Services. También puede administrar instancias del motor de base

de datos de SQL Server creados con cualquier edición de SQL Server 2005. [5]

A continuación en la Fig.2 se muestra el entorno de SQL Server Management

Fig.2 Entorno De SQL Server Management

Page 11: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

9

CONFIGURACIÓN DE SUPERFICIE DE SQL SERVER

Instala e inicia servicios y características clave de forma selectiva. Esto ayuda a

reducir el área de un sistema susceptible de recibir ataques. Con la

configuración predeterminada de nuevas instalaciones, no se habilitan muchas

de las características. [6]

A continuación en la Fig.3 se muestra el entorno de la configuración de

superficie

Fig.3 Entorno de la Configuración de Superficie

Page 12: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

10

8.- PROCEDIMIENTO Y DESCRIPCIÓN DE LAS

ACTIVIDADES REALIZADAS

Para el desarrollo del proyecto “CBFix”, se optó por utilizar el método

incremental. Este método resultó conveniente pues fija entregas periódicas de

incrementos a la solución del problema y permite evaluar los resultados que

dan la pauta para avanzar o regresar a una fase previa.

Los incrementos son revisados por el asesor y constituyen una

retroalimentación constante. Debido a sus características, este modelo se

acopló perfectamente al proyecto de investigación en cuestión.

El modelo incremental combina elementos del modelo lineal secuencial

(aplicados repetidamente) con la filosofía interactiva de construcción de

prototipos. El modelo incremental aplica secuencias lineales de forma

escalonada mientras progresa el tiempo en el calendario. Cada secuencia

lineal produce un incremento en el ciclo de vida del proyecto.

ESTRUCTURA DEL METODO

A continuación se presenta en la Fig. 4 la estructura del método utilizado para

el desarrollo del sistema control de basculas para el puerto industrial de

Altamira “CBFix”

Fig. 4 Fases del método incremental

Page 13: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

11

FASES DEL MODELO INCREMENTAL

A continuación se describe cada una de las fases del modelo utilizado para el

desarrollo del sistema “CBFix”

ANÁLISIS

Esta es la primera etapa dentro del modelo, en la cual se incluyen las

especificaciones con las que debe cumplir el sistema a desarrollar:

La etapa de análisis se divide en:

Análisis de requisitos.

Análisis técnico.

En el análisis de requisitos, se lleva a cabo una reunión con el cliente y/o

usuario y se identifican las metas globales, se analizan las perspectivas del

cliente, sus necesidades y requerimientos sobre la planificación temporal.

El análisis de requisitos se divide en cuatro partes: Reconocimiento del

problema, evaluación y síntesis, especificación y revisión.

En el análisis técnico, se evalúan los principios técnicos del sistema y al mismo

tiempo recoge información adicional sobre el rendimiento, fiabilidad,

características de mantenimiento y productividad.

Los resultados obtenidos de este análisis son la base para determinar sobre si

continuar o abandonar el proyecto, si hay riesgos de que no funcione, no tenga

el rendimiento deseado, o si las piezas no encajan perfectamente unas con

otras.

Page 14: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

12

DISEÑO

El Diseño de Sistemas se ocupa de desarrollar las directrices propuestas

durante el análisis en función de aquella configuración que tenga más

posibilidades de satisfacer los objetivos planteados tanto desde el punto de

vista funcional como del no funcional.

Se obtiene el diseño de cómo serán las interfaces, scripts y bases de datos,

siempre los requerimientos principales serán cumplir con los requerimientos del

usuario para ello se utilizan distintas herramientas.

DISEÑO DEL SOFTWARE

Es un proceso a través del cual se traducen los requisitos en una

representación del software, se presenta de forma abstracta

DISEÑO DE INTERFAZ

El diseño de interfaz es uno de los elementos de suma importancia en la

realización del sistema desarrollado. Se puede definir interfaz como:

“Una serie de pasos que el usuario podrá seguir, durante su estancia e

interacción con la página Web, detallando los gráficos que visualizará en cada

instante, así como las acciones que realizará y las respuestas que la página

Web le arrojará”.[7]

Page 15: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

13

Las características básicas que se quieren conseguir con esta interfaz, se

podrían sintetizar en:

Facilidad de uso.

Representación permanente de un contexto de acción.

El objeto de interés ha de ser de fácil identificación.

Diseño ergonómico (barra de acciones o iconos con una buena

ubicación).

Las interacciones se basarán en acciones físicas sobre elementos de

código visual como iconos, imágenes y mensajes antes que en

selecciones de tipo menú con sintaxis y órdenes.

Las operaciones serán rápidas.

Tratamiento del error bien cuidado y adecuado al nivel de usuario y

contenidos trabajados.

Tratamiento de color y tipografía.

DISEÑO DE LA BASE DE DATOS

El diseño de la Base de datos se clasifica en las siguientes etapas: diseño

conceptual, diseño lógico y diseño físico.

En el diseño conceptual se debe construir un esquema de la información que

manejará el sistema desarrollado. Al construir el esquema, se descubren la

semántica (significado) de los datos a manejar, se encuentran entidades,

atributos y relaciones.

El esquema conceptual se construye utilizando la información que se encuentra

en la especificación de los requisitos de usuario. El diseño conceptual es

completamente independiente de los aspectos de implementación, como puede

ser el manejador de base de datos que se vaya a usar, los programas de

aplicación, los lenguajes de programación, el hardware disponible o cualquier

otra consideración física. Durante todo el proceso de desarrollo del esquema

conceptual éste se prueba y se valida con los requisitos de los usuarios. El

Page 16: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

14

esquema conceptual es una fuente de información para el diseño lógico de la

base de datos.

El diseño lógico, es el proceso de construir un esquema de la información que

utiliza la empresa, basándose en un modelo de base de datos específico,

independiente del manejador de base de datos concreto que se vaya a utilizar.

La normalización es una técnica que se utiliza para comprobar la validez de los

esquemas lógicos basados en el modelo relacional, ya que asegura que las

relaciones (tablas) obtenidas no tienen datos redundantes.

Tanto el diseño conceptual, como el diseño lógico, son procesos iterativos,

tienen un punto de inicio y se van refinando continuamente.

El diseño físico, es el proceso de producir la descripción de la implementación

de la base de datos en memoria secundaria: estructuras de almacenamiento y

métodos de acceso que garanticen un acceso eficiente a los datos.

Para llevar a cabo esta etapa, se debe haber decidido cuál es el manejador de

base de datos que se va a utilizar, ya que el esquema físico se adapta a él.

Entre el diseño físico y el diseño lógico hay una realimentación, ya que algunas

de las decisiones que se tomen durante el diseño físico para mejorar las

prestaciones, pueden afectar a la estructura del esquema lógico.

En general, el propósito del diseño físico es describir cómo se va a implementar

físicamente el esquema lógico obtenido en la fase anterior.

Page 17: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

15

PROGRAMACIÓN O CÓDIGO

La programación o codificación se basa en un buen diseño, ya que se tiene que

interpretar a un lenguaje de programación adecuado para cumplir con las

tareas planteadas con anterioridad.

Las herramientas utilizadas para el desarrollo del proyecto fueron orientadas a

leguajes para desarrollo de sistema de escritorio.

A continuación se muestran las herramientas y tecnologías utilizadas para la

creación del proyecto.

Lenguaje Microsoft Visual Basic. Net 2005

Microsoft SQL Server 2005

Manejador de base de datos SQL Server Management Studio

PRUEBAS

Esta es la última etapa, y por consiguiente aquí se realizan las pruebas y

verificaciones necesarias para comprobar el funcionamiento adecuado del

sistema desarrollado y el cumplimiento de las especificaciones requeridas y

satisfacción del usuario.

Durante esta etapa se deben cubrir todas las posibles estrategias, para

garantizar su uso adecuado y en caso de requerir correcciones, llevarlas a

cabo oportunamente para su buen funcionamiento.

Page 18: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

16

9.-RESULTADOS Y GRÁFICAS

En esta parte de este documento se mostrara los resultados obtenidos en el

desarrollo del sistema “CBfix”, conforme al modelo escogido mencionado

anteriormente.

ANÁLISIS

Se realizo el análisis de un documento integrado por el Ing. David Ángeles, el

cual describía cada uno de los catálogos que debería de tener el sistema

“CBFix”, este documento lo pueden observar en la sección de anexos.

ANÁLISIS DE REQUISITOS

Se nos pidió que le sistema CBFix tendría que contar con los siguientes

requisitos.

El sistema debe de tener un login de usuarios

El Sistema deberá Contar con los siguientes catálogos esenciales, con

sus respectivas funciones (insertar, eliminar, modificar y consultar

registros)

o Catalogo de agentes adúnales

o Catalogo de barcos

o Catalogo de clientes

o Catalogo de mercancías

o Catalogo de inicios

o Catalogo de usuarios

o Catalogo de transporte

o Registro de operaciones de importación y exportación.

Page 19: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

17

El sistema deberá tener un modulo de factura, el cual deberá poder el

usuario imprimir su factura, como tan bien podrá guardarla si es que el

usuario no la quiera imprimir en ese momento.

El sistema deberá mostrar reportes correspondientes a los catálogos, así

como su impresión.

El sistema tendrá un modulo de copia de seguridad (Backup)

ANÁLISIS TÉCNICO

La evaluación técnica fue satisfactoria, ya que el sistema “CBFix” cuenta con

una columna vertebral base que son los 8 catálogos mencionados

anteriormente, los cuales están estructurados y bien definidos cada uno.

Con el uso de visual Basic.net 2005 hace más fácil hacer un interfaz de usuario

más agradable, ya que este cuenta con su entorno integrado de desarrollo

(IDE).

Con el servidor SQL Server permite que el sistema tenga un mayor rendimiento

y rapidez en cada iteración que el usuario haga con la base de datos.

Page 20: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

18

Page 21: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

19

CASOS DE USO

A continuación se muestra los casos de uso del sistema “CBFix”

Page 22: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

20

Page 23: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

21

Page 24: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

22

DISEÑO En esta parte se describe cada una de las formas que se utilizaron para realizar la fase del diseño del sistema DISEÑO DEL SOFTWARE Para la realización del sistema se requirieron los siguientes programas: Visual Basic.Net 2005 SQL Server 2005 El Manejador de base de datos SQL Server Management Studio

Los conocimientos utilizados

Programación y manejo de visual Basic.net

Manejo y interacción de SQL Server 2005

Infraestructura física

Hardware

Una computadora de escritorio

Características:

o Procesador Intel Pentium 4 a 1.8 GHz

o Disco Duro: 40 GB

o Memoria RAM : 1 GB

Una laptop:

Características:

o Procesador Intel Celeron a 2.0 GHz

o Disco duro: 80 GB

o Memoria RAM: 1 GB

Page 25: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

23

RECURSO HUMANO Son necesarios 2 programadores, que desarrollaran el software con las herramientas ya mencionadas; y serán supervisados por el ISC David Ángeles Martínez. ARQUITECTURA DEL SOFTWARE El modelo de la arquitectura es el de la arquitectura centrada en datos la cual se define de la siguiente manera: “El centro de esta arquitectura es el almacén de datos. Al que acceden otros componentes. Los componentes pueden agregarse o modificarse sin preocuparse por los otros. Los componentes (clientes) se comunican a través del servidor.”(Rodríguez, 2007, pág. 12) El sistema poseerá una arquitectura cliente/ servidor; centrada en datos ya que se requerirá; consultar muy frecuentemente la base de datos, podremos imprimir facturas de días anteriores, o consultar las boletas, no incluidas en alguna facturas.

DISEÑO DE INTERFAZ DE USUARIO La interfaz de usuario del Sistema de Control de bascula CBFix es una interfaz característica de los entornos de trabajo de Microsoft, sobre todo ante el requisito que ha pedido el cliente de hacer un sistema más amigable e intuitivo. La interfaz debe tener:

Familiaridad

Uniformidad

Recuperabilidad

Se ha decidido que la interfaz deba tener la siguiente distribución y características:

Facturación Operaciones

en catálogos

Registro de operaciones

de importación y

exportación

Page 26: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

24

La ventana principal presentara un menú para cada uno de los

apartados del sistema

En los catálogos de entrada presentará una ventana con las cuatro

operaciones; mostradas mediante un control pestaña de Visual Basic.

Tendrá una pantalla de inicio de sesión

A continuación se mostrara cada una de las interfaces de cada catalogo.

INICIO DE SESIÓN

En el inicio de sesión nos muestra una pantalla donde se pondrá el correspondiente nombre de usuario y su respectiva contraseña, si dado caso no pusieran ya sea el nombre de usuario o la contraseña se le dará tres intentos si no se saldrá del sistema.

Page 27: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

25

PANTALLA PRINCIPAL En ella se encuentra cada uno de los catálogos.

MODULO PESADA Este es un modulo esencial del sistema CBFiX en él se registra cada barco cuando entra y sale.

Page 28: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

26

MODULO CLIENTES En el se registran, eliminan, modifican o consultan los posibles clientes.

MODULO BARCOS En el registran, eliminan, modifican o consultan los posibles barcos que llegan a pesarse.

MODULO AGENTES

Page 29: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

27

En el registran, eliminan, modifican o consultan los agentes aduanales.

MODULO DE INICIO En el registran, eliminan, modifican o consultan los inicios que se le asignan a cada barco que llega al puerto.

Page 30: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

28

MODULO DE MERCANCÍA En el registran, eliminan, modifican o consultan las mercancías que importara o exportara el barco

MODULO DE TRANSPORTE En el registran, eliminan, modifican y consultan los transporte, indicando por ejemplo el tipo de transporte que es, su nombre etc.

Page 31: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

29

MODULO DE USUARIOS En el registran, eliminan, modifican y consultan los posibles usuarios que administraran el sistema.

MODULO REPORTES En él se muestra los reportes con sus respectiva grafica, con el fin de informar con gráficos y ser más entendible la información.

Page 32: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

30

MODULO FACTURA Este modulo sirve para facturar cada boleta del barco e imprimir esa factura

DISEÑO DE BASE DE DATOS La base de datos del Sistema “Control de Bascula (CBFix) está diseñada de la siguiente manera: Para cada uno de los catálogos descritos anteriormente, se creó una tabla en la base de datos llamada cbfixbd. Las tablas tienen los siguientes atributos y nombres.

Agentes:

Atributo Tipo de dato

Id_agente Int

patente varchar(50)

nombre varchar(50)

rfc varchar(50)

dirección varchar(50)

colonia varchar(50)

ciudad varchar(50)

estado varchar(50)

país varchar(50)

cp varchar(50)

teléfonos varchar(50)

observaciones varchar(150)

Page 33: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

31

Clientes:

Pesada

Atributo Tipo de dato

clave_c Int

patente varchar(50)

nombre varchar(50)

rfc varchar(50)

dirección varchar(50)

colonia varchar(50)

ciudad varchar(50)

estado varchar(50)

país varchar(50)

cp varchar(50)

teléfonos varchar(50)

observaciones varchar(150)

Atributo Tipo de dato

Numero de boleta Int

Placas varchar(50)

transporte varchar(50)

patente varchar(50)

inicio Int

Operación varchar(50)

agente varchar(50)

cliente varchar(50)

barco varchar(50)

Mercancía varchar(50)

nom_cont1 varchar(50)

tara 1 float

nom_cont2 varchar(50)

tara 2 varchar(50)

peso_vacio float

peso_lleno float

peso_neto float

tara_total float

fecha_inicio float

hora_inicio datetime

fecha_fin datetime

status date time

Page 34: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

32

Inicios

Mercancías

Atributo Tipo de dato

clave_m Int

nombre varchar(50)

Factura

Barcos

Atributo Tipo de dato

clave_b Int

Nombre Varchar(50)

Fecha_ingreso datetime

toneladas float

Transporte

Atributo Tipo de dato

id_inicio Int

patente varchar(50)

pedimento

cliente varchar(50)

barco varchar(50)

mercancía varchar(50)

tipo varchar(50)

terminal varchar(50)

muelle varchar(50)

observaciones varchar(150)

Atributo Tipo de dato

id_factura Tipo Int

num_boleta Tipo Int

cliente Varchar(50)

dirección Varchar(50)

colonia Varchar(50)

ciudad Varchar(50)

estado Varchar(50)

rfc Varchar(50)

agente Varchar(50)

estatus Varchar(50)

monto Varchar(50)

nfp Varchar(50)

Page 35: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

33

Usuarios

RELACIONES DE LAS TABLAS DE LA BASE DE DATOS

Relación de la tabla cliente con pesada

Relación de la tabla transporte con pesada

Atributo Tipo de dato

clave_t Int

nombre varchar(50)

precio_uni salmones

precio_iva smallmoney

Atributo Tipo de dato

Id_usuario Int

nombre varchar(50)

apellidopa varchar(50)

apellidoma varchar(50)

usuario varchar(50)

password varchar(50)

transporte

clave

nombre

precio

precio_iva

Pesada

num_boleta

placas

Transporte

inicio

patente

pedimento

agente

cliente

barco

mercancia

Pesada

num_boleta

placas

Transporte

inicio

patente

pedimento

agente

cliente

barco

mercancia

Cliente

Clave

Nombre

RFC

Direccion

Page 36: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

34

Relación de la tabla barcos con pesada

Relación de la tabla inicio con pesada

barcos

clave

nombre

fecha_ingreso

toneladas

Pesada

num_boleta

placas

Transporte

inicio

patente

pedimento

agente

cliente

barco

mercancia

inicio

inicio

patente

pedimento

cliente

barco

mercancia

Pesada

num_boleta

placas

Transporte

inicio

patente

pedimento

agente

cliente

barco

mercancia

Page 37: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

35

Relación de la tabla mercancía con pesada

Relaciones de las tablas barcos, mercancía, cliente con inicio

mercancia

clave

nombre

Pesada

num_boleta

placas

Transporte

inicio

patente

pedimento

agente

cliente

barco

mercancia

mercancia

clave

nombre

inicio

inicio

patente

pedimento

cliente

barco

mercancia

barcos

clave

nombre

fecha_ingreso

toneladas

Cliente

Clave

Nombre

RFC

Direccion

Page 38: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

36

Page 39: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

37

DIAGRAMAS UML

VISTA PROCESOS

Page 40: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

38

VISTA LÓGICA

Page 41: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

39

VISTA FISICA

Page 42: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

40

VISTA DESARROLLO

Page 43: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

41

DIAGRAMA DE CLASES

Page 44: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

42

DIAGRAMA DE ESTADOS

Page 45: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

43

DIAGRAMA DE SECUENCIAS

Page 46: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

44

PROGRAMACIÓN O CÓDIGO En esta fase es la implementación en base al análisis y diseño, en cada uno de los módulos se ha definido cuatro operaciones de Inserción, eliminación, borrado y edición. La conexión a la base de datos en la aplicación es la siguiente: Dim cnn As New SqlConnection("Data Source=CAZA-F7E3563070;Initial

Catalog=cbfixbd;Integrated Security=True;Pooling=False")

El llamado a una operación se hace mediante un select….case de la siguiente forma Select TabControl Case: Registrar Me. Insertar Case: “eliminar” Me. Eliminar Case: Modificar Me. Editar End Select MODULO DEL LOGIN Enseguida se muestra el código del modulo de entrada al sistema el cual se llama Login. Private Sub OK_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles OK.Click

cnn.ConnectionString = "Data Source=CAZA-F7E3563070;Initial

Catalog=cbfixbd;Integrated Security=True"

If UsernameTextBox.Text.Trim <> "" And

PasswordTextBox.Text.Trim <> "" Then

ErrorProvider1.SetError(Me.UsernameTextBox, "Debe poner un

nombre usuario")

ErrorProvider2.SetError(Me.PasswordTextBox, "Debe poner

una contraseña")

cmdCommand.CommandText = "Select * From [usuarios] where

usuario ='" & UsernameTextBox.Text.Trim & "' And password ='" &

PasswordTextBox.Text.Trim & "'"

cnn.Open()

cmdCommand.Connection = cnn

daDatos.SelectCommand = cmdCommand

Page 47: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

45

daDatos.Fill(dsDatos, "0")

cnn.Close()

Dim cont = dsDatos.Tables(0).Rows.Count

If cont > 0 Then

Form1.Show()

Me.Hide()

Else

MsgBox("Datos erroneos", MsgBoxStyle.Exclamation,

"Error!")

veces = veces + 1

If veces < intentos Then

'Label1.Text = "Quedan" & (intentos - veces) &

"intentos"

ElseIf intentos = 5 Then

'MsgBox("Excediste el numero de intentos",

MsgBoxStyle.Critical, "Error!")

End

End If

End If

Else

ErrorProvider1.SetError(Me.UsernameTextBox, "Debe tener un

valor")

ErrorProvider2.SetError(Me.PasswordTextBox, "Debe tener un

valor")

End If

End Sub

Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Cancel.Click

Me.Close()

End Sub

End Class

MODULO DE CLIENTES. Este modulo sirve para las operaciones relacionadas con los clientes, a continuación se presenta un extracto del código. Dim res As New resolucion

Dim con As New Conexion

Dim val As New validaciones

Dim cnn As New SqlConnection("Data Source=CAZA-F7E3563070;Initial

Catalog=cbfixbd;Integrated Security=True;Pooling=False")

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles Button1.Click

Page 48: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

46

Select Case TabControl1.SelectedTab.Text

Case "Registrar"

insertar()

'Me.limpiar()

Case "Eliminar"

eliminar()

Me.limpiar()

Case "Modificar"

modificar()

Me.limpiar()

Case "Consultar"

consultar()

End Select

MODULO DE AGENTES Public Class agentes

Dim con As New Conexion

Dim val As New validaciones

Dim cnn As New SqlConnection("Data Source=CAZA-F7E3563070;Initial

Catalog=cbfixbd;Integrated Security=True;Pooling=False")

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles Button1.Click

Select Case TabControl1.SelectedTab.Text

Case "Registrar"

insertar()

'Me.limpiar()

Case "Eliminar"

eliminar()

' Me.limpiar()

Case "Modificar"

con.consulta_non_query("update agentes set nombre ='"

& Me.TextBox19.Text.Trim() & "',patente = '" &

Me.TextBox26.Text.Trim() & "',direccion = '" &

Me.TextBox27.Text.Trim() & "',colonia = '" & Me.TextBox25.Text.Trim()

& "',ciudad='" & Me.TextBox24.Text.Trim() & " ',estado='" &

Me.TextBox23.Text.Trim() & " ',pais='" & Me.TextBox22.Text.Trim() & "

',rfc='" & Me.TextBox21.Text.Trim() & " ',cp='" &

Me.MaskedTextBox8.Text.Trim() & " ',telefonos='" &

Me.MaskedTextBox7.Text.Trim() & " ',observaciones='" &

Me.TextBox20.Text.Trim() & "'where id_agentes =" &

Me.MaskedTextBox9.Text.Trim())

' Me.limpiar()

Case "Consultar"

Me.consultar()

End Select

End Sub

Page 49: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

47

Modulo de Barcos Public Class barcos

Dim con As New Conexion

Dim val As New validaciones

Dim cnn As New SqlConnection("Data Source=CAZA-F7E3563070;Initial

Catalog=cbfixbd;Integrated Security=True;Pooling=False")

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles Button1.Click

Select Case TabControl1.SelectedTab.Text

Case "Registrar"

Me.insertar()

Case "Eliminar"

Me.eliminar()

Case "Modificar"

Me.modificar()

Case "Consultar"

Me.consultar()

End Select

End Sub

MODULO DE INICIOS Public Class inicios

Dim con As New Conexion

Dim val As New validaciones

Dim cnn As New SqlConnection("Data Source=CAZA-F7E3563070;Initial

Catalog=cbfixbd;Integrated Security=True;Pooling=False")

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles Button1.Click

Select Case TabControl1.SelectedTab.Text

Case "Registrar"

insertar()

Case "Eliminar"

eliminar()

Case "Modificar"

editar()

Case "Consultar"

consultar()

End Select

End Sub

Page 50: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

48

A continuacion veremos un ejemplo de cada una de las operaciones que se efctuan en los 8 catalogos, iniciales. INSERTAR Public Sub insertar()

If MaskedTextBox1.Text = String.Empty Or TextBox1.Text =

String.Empty Or TextBox2.Text = String.Empty Or TextBox8.Text =

String.Empty Then

MsgBox("Faltan datos en los campos",

MsgBoxStyle.Exclamation, "CBFix-Aviso")

Else

If TextBox1.Text.Trim.Length > 50 Or

TextBox2.Text.Trim.Length > 50 Or TextBox8.Text.Trim.Length > 50 Or

TextBox4.Text.Trim.Length > 50 Then

MsgBox("La longitud de los campos de 50 caracteres",

MsgBoxStyle.Exclamation, "CBFix Aviso")

Else

If con.verificar_existencia("Select * From transporte where clave_t

='" & Me.MaskedTextBox1.Text.Trim & "'") Then

val.Msgexiste()

Else

If Not Char.IsLetterOrDigit(TextBox1.Text.Trim)

Then

MsgBox("Estos campos no permiten caracteres

especiales", MsgBoxStyle.Exclamation, "!Error!")

If Not IsNumeric(TextBox2.Text) Then

MsgBox("!El dato en el campo precio

unitario no es numerico!", MsgBoxStyle.Exclamation, "CBFix Aviso")

End If

Else

If con.verificar_existencia("Select * from

transporte where clave_t = '" & Me.TextBox1.Text & "'") Then

val.Msgexiste()

Else

con.consulta_non_query("insert transporte

(clave_t,nombre,precio_uni)values('" & Me.MaskedTextBox1.Text.Trim() &

"','" & Me.TextBox1.Text.Trim() & " ','" & Me.TextBox2.Text.Trim &

"')")

p = (Convert.ToDouble(TextBox2.Text) *

0.16) + Convert.ToDouble(TextBox2.Text)

p = TextBox8.Text

con.consulta_especial("update transporte set precio_iva ='" &

Me.TextBox8.Text.Trim() & "'where clave_t =" &

Me.MaskedTextBox1.Text.Trim())

End If

End If

End If

End If

End If

val.limpiarCajas(GroupBox1)

Page 51: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

49

ELIMINAR Private Sub eliminar()

If Me.MaskedTextBox2.Text = String.Empty Then

val.MsgBoxVacios()

Else

If con.verificar_existencia(" Select * from transporte

where clave_t = '" & Me.MaskedTextBox2.Text & "'") Then

If MessageBox.Show("¿Deseas eliminarlo realmente?",

"CBFix", MessageBoxButtons.YesNo, MessageBoxIcon.Question) =

Windows.Forms.DialogResult.Yes Then

con.eliminar("Delete from transporte where clave_t

= " & Me.MaskedTextBox2.Text.Trim())

End If

Else

val.MsgNoexiste()

End If

End If

val.limpiarCajas(GroupBox2)

CONSULTAR Private Sub consultar()

If ComboBox1.SelectedItem = "Clave" Then

If TextBox33.Text = String.Empty Then

val.MsgBoxVacios()

Else

If Not IsNumeric(TextBox33.Text) Then

val.MsgCriteriodeBusqueda()

Else

Dim ds As New DataSet

Dim da As New Data.SqlClient.SqlDataAdapter("Select * from transporte

where clave_t = " & Me.TextBox33.Text.Trim, cnn)

da.Fill(ds)

DataGridView1.DataSource = ds.Tables(0)

cnn.Close()

End If

End If

End If

If ComboBox1.SelectedItem = "Nombre" Then

If TextBox33.Text = "" Then

val.MsgBoxVacios()

Else

Page 52: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

50

If Me.TextBox33.Text.Trim.Length > 50 Then

MsgBox("!La longitud maxima es de 50 caracteres!",

MsgBoxStyle.Exclamation, "CBFix Aviso")

Else

Dim ds As New DataSet

Dim da As New

Data.SqlClient.SqlDataAdapter("Select * from transporte where nombre

LIKE '%" & Me.TextBox33.Text.Trim & "%'", cnn)

da.Fill(ds)

DataGridView1.DataSource = ds.Tables(0)

End If

End If

End If

If ComboBox1.SelectedItem = "Todos" Then

If TextBox33.Text <> String.Empty Then

val.MsgNoesnecesario()

Else

Dim ds As New DataSet

Dim da As New Data.SqlClient.SqlDataAdapter("Select *

from transporte ", cnn)

da.Fill(ds)

DataGridView1.DataSource = ds.Tables(0)

End If

End If

End Sub

EDITAR Public Sub editar()

If MaskedTextBox4.Text = String.Empty Or TextBox13.Text =

String.Empty Or TextBox12.Text = String.Empty Or TextBox11.Text =

String.Empty Then

MsgBox("Faltan datos en los campos",

MsgBoxStyle.Exclamation, "CBFix-Aviso")

Else

If TextBox13.Text.Trim.Length > 50 Or

TextBox12.Text.Trim.Length > 50 Or TextBox11.Text.Trim.Length > 50

Then

MsgBox("La longitud de los campos de 50 caracteres",

MsgBoxStyle.Exclamation, "CBFix Aviso")

Else

If Not Char.IsLetterOrDigit(TextBox13.Text.Trim) Then

MsgBox("Estos campos no permiten caracteres

especiales", MsgBoxStyle.Exclamation, "!Error!")

If Not IsNumeric(TextBox12.Text) Then

MsgBox("!El dato en el campo precio unitario

no es numerico!", MsgBoxStyle.Exclamation, "CBFix Aviso")

Page 53: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

51

End If

Else

If con.verificar_existencia("Select * from

transporte where clave_t = '" & Me.MaskedTextBox4.Text & "'") Then

con.actualizar("update transporte set nombre

='" & Me.TextBox13.Text.Trim() & "',precio_uni = '" &

Me.TextBox12.Text.Trim() & "'where clave_t =" &

Me.MaskedTextBox4.Text.Trim())

p = (Convert.ToDouble(TextBox12.Text) * 0.16)

+ Convert.ToDouble(TextBox12.Text)

p = TextBox11.Text

con.consulta_especial("update transporte set

precio_iva ='" & Me.TextBox11.Text.Trim() & "'where clave_t =" &

Me.MaskedTextBox4.Text.Trim())

Else

val.MsgNoexisteEdit()

End If

End If

End If

End If

val.limpiarCajas(GroupBox4)

End Sub

FACTURA

Este modulo es el que efectura las transacciones, para calcular el coste de la cantidad de operaciones de importacion y exportacion que ha realizado el cliente.

Private Function facturar()

cmdCommand.Connection = cnn

cnn.Open()

cmdCommand.CommandText = "Select num_factura from facturas"

drReader = cmdCommand.ExecuteReader()

While drReader.Read

Me.ComboBox3.Text = drReader("num_factura")

End While

txtnumfac.Text = CInt(ComboBox3.Text) + 1

' con.consulta_non_query("update facturas set num_factura='" &

Me.txtnumfac.Text & "'")

'Me.txtnumfac.Text = CInt(ComboBox1.Text.Trim) + 1

'txtnumfac.Te xt = CInt(txtnumfac.Text) + 1

'cmdCommand.CommandText = "update facturas set num_factura='"

& Me.txtnumfac.Text & "'"

cnn.Close()

cantboletas = 0

'Dim cmdCommand As New SqlClient.SqlCommand

For i = 0 To Me.DataGridView1.Rows.Count - 1

Page 54: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

52

Dim checkBoxCell As DataGridViewCheckBoxCell =

TryCast(Me.DataGridView1.Rows(i).Cells(0), DataGridViewCheckBoxCell)

If checkBoxCell.Value = True Then

Try

txtdato.Text =

DataGridView1.Rows(i).Cells(9).Value 'Nombre del cliente

prueba.Text = DataGridView1.Rows(i).Cells(1).Value

con.consulta_non_query("Insert control(nf,nb)

values('" & txtnumfac.Text & "', '" & prueba.Text.Trim & "')")

Catch ex As Exception

End Try

cnn.Open()

cmdCommand.Connection = cnn

drReader = cmdCommand.ExecuteReader

'If con.verificar_existencia("Select * from facturas

where cliente= '" & txtdato.Text & "'") Then

'MsgBox("La boleta o boletas ya existe",

MsgBoxStyle.Exclamation, "Aviso")

cnn.Close()

'cantboletas = cantboletas + 1

' cboletas.Text = cantboletas

cmdCommand.CommandText = "Select num_boletas,

cliente,direccion,colonia,ciudad,estado,rfc,agente,fecha_fin from

pesada,clientes where cliente ='" & txtdato.Text.Trim & "' and

pesada.cliente = clientes.nombre"

cmdCommand.Connection = cnn

cnn.Open()

drReader = cmdCommand.ExecuteReader

While drReader.Read

numboleta.Text = drReader("num_boletas")

cliente.Text = drReader("cliente").ToString

direccion.Text = drReader("direccion").ToString

colonia.Text = drReader("colonia").ToString

ciudad.Text = drReader("ciudad").ToString

estado.Text = drReader("estado").ToString

rfc.Text = drReader("rfc").ToString

agente.Text = drReader("agente").ToString

fecha.Text = drReader("fecha_fin").ToString

End While

cmdCommand.CommandText = "Insert

facturas(num_boleta,cliente,direccion,colonia,ciudad,estado,rfc,agente

,fecha_factura,num_factura,estado_pago,monto,subtotal) values('" &

prueba.Text & "' ,'" & cliente.Text & "','" & direccion.Text & "','" &

colonia.Text & "','" & ciudad.Text & "','" & estado.Text & "','" &

rfc.Text & "','" & agente.Text & "','" & fecha.Text & "','" &

Me.txtnumfac.Text & "','" & CBEstado.Text & "','" & txtotalsf & "','"

& txsubtotalsf & "')"

cnn.Close()

cnn.Close()

End If

Next

Page 55: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

53

MsgBox("Se guardaron las boletas seleccionadas",

MsgBoxStyle.Information, "Informacion")

Me.txtcf.Text = String.Empty

Me.ComboBox3.Text = String.Empty

Me.txsubtotal.Text = " "

Me.txtotal.Text = " "

Me.txtiva.Text = " "

Me.txtdato.Text = String.Empty

Return txtdato.Text

End Function

Public Sub limpiar_seleccion()

For i = 0 To Me.DataGridView1.Rows.Count - 1

Dim checkBoxCell As DataGridViewCheckBoxCell =

TryCast(Me.DataGridView1.Rows(i).Cells(0), DataGridViewCheckBoxCell)

checkBoxCell.Value = False

Next

End Sub

PRUEBAS En la siguiente seccion se efectuan una serie de pruebas tantounitarias como de sistema, iniciaremos por las pruebas de seguridad, luego las de aceptacion e integracion. PRUEBAS DE SEGURIDAD

Están enfocadas para permitir el acceso a personas registradas en nuestra base de datos. Objetivo: Verificar permisos Descripción: el único usuario que tiene todos los permisos, para registrar, borrar o modificar en los diversos módulos es el administrador Desarrollo: Para verificar el correcto funcionamiento de los permisos y el acceso a la aplicación, para la verificación se usara una cuenta con el usuario administrador llamado “admin”. A continuación las figuras mostrando la interacción.

Page 56: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

54

Fig 9.1 Log in

Como puede observarse en la figura en caso de tener algun dato de entrada

erroneo lo marca con el mensaje “Datos erroneos”

Para esta situacion particular dimos una contraseña incorrecta.

Fig. 9.2 “Datos erroneos”

Page 57: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

55

En el caso de que el usuario deje vacio alguno de los dos o ambos campos

aparecen los proveedores de error que se muestran. En este caso el sistema no lo

cuenta como intento de inicio de sesión ya que faltan datos.

Fig. . 9.3 Log

in con campos vacios

b)

Fig. 9.4 Un campo vacio muestra un ErrorProvider

Page 58: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

56

a)

La siguiente situación es probar la posibilidad de tener varios intentos de inicio

de sesión. Si no se logra ha de mostrarse el mensaje “Excediste el numero de

intentos”

Page 59: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

57

PRUEBAS DE ACEPTACION

En caso contrario de que se haya ingresado en forma exitosa se muestra la

siguiente pantalla:

Fig. 9.8 Pantalla de Inicio

Esta pantalla presenta las opciones de los catálogos presentados anteriormente:

con Pesadas, Clientes, Agentes, Usuarios, Transporte, Mercancías, etc.

Si en alguno de los catálogos un registro es exitoso:

Figura 9.9 Registro Exitoso

Page 60: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

58

Fig. 9.10 Validación de campos vacios

Fig. 9.11 Validación de la longitud de los campos

Page 61: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

59

Figura 9.12 Validación de caracteres especiales

*Estas validaciones son iguales en los restantes 7 catálogos en las pestañas

registrar y modificar

En seguida se mostraran las validaciones correspondientes a consultar y eliminar.

Page 62: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

60

PRUEBAS DE ACEPTACIÓN PARA LAS PESTAÑAS ELIMINAR Y CONSULTAR

En las pestañas de eliminación se pregunta primero si se desea eliminar para así

dar oportunidad de que el usuario este seguro de que es el elemento a eliminar.

Figura 9.13 Pregunta de ¿Deseas eliminar este elemento realmente?

Si se dice que si muestra esta pantalla

Figura 9.14 Nos muestra el mensaje que la operación ha sido exitosa. En caso de que queramos eliminar un elemento ya borrado muestra lo siguiente:

Page 63: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

61

Figura 9.15 Nos muestra el mensaje “El registro a eliminar ya no existe” Para las pestañas consultar son las siguientes bifurcaciones las que se dan:

Figura 9.16 Si se eligió clave y se ha dejado vacio el valor de búsqueda

Page 64: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

62

Figura 9.17 Si se eligió clave y el valor no es numérico presenta el mensaje “El

criterio elegido es por clave y el valor introducido no es numérico”

Si el criterio elegido es Todo y se escribe un valor de búsqueda el mensaje que

muestra es “! No es necesario un valor de búsqueda!”

Estas validaciones son iguales en estas pestañas para el resto de

los catálogos.

Figura 9.18 “! No es necesario un valor de búsqueda!”

Page 65: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

63

PRUEBAS DE ACEPTACIÓN DE FACTURAS Si falta el inicio o el cliente a facturar o el tipo de boleta muestra el siguiente mensaje:

Figura 9.19 “Faltan datos en los campos” En caso contrario:

Figura 9.20 a) Elección de las boletas a facturar

Page 66: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

64

Figura 9.20 b) Después de dar clic en guardar

Figura 9..20 c) Cuando se da clic en imprimir

Dentro del mismo Facturas cuando se da clic al botón “Buscar facturas

guardadas aparece”

Page 67: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

65

Figura 9.21 a) El buscador de las facturas

Page 68: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

66

9.21b) Búsqueda por número de factura

Figura 9.21 c) Búsqueda por cliente

Page 69: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

67

Al dar clic en “Imprimir” copia los datos al formulario de facturas y regresa para imprimir ahí. En tanto que para eliminar

Figura 9.21 d Impresión pasada del buscador

Figura 9.22 Si se elige criterio de búsqueda numero y se deja vacio el TextBox aparece el mensaje “El dato no es numérico”

Page 70: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

68

Fig. 9.23 Si se da clic en eliminar aparece la pregunta ¿Es el elemento que desea borrar?

Figura 9.24 Confirmación de la eliminación

Page 71: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

69

CONCLUSIONES

Al término de la creación del sistema CBFix, se nos permitió reafirmar nuestros

conocimientos de visual Basic. Net y de SQL Server y también aplicar nuestros

conocimientos de programación a un problema real.

Se concluye que el sistema CBFix cumple con las expectativas esperadas,

como la mejora del entorno de trabajo para los usuarios de CBFix, haciéndolas

más amigables en función de un entorno grafico tipo Windows, permite la

generación de reportes con graficas haciéndolo más visual para el

administrador.

Se recomienda que sistema sea ejecutado en una computadora de gama

medio, se puedo hacer el sistema a un entorno Web, con lo cual la información

será vista por los clientes en Internet, se le puede agregar más reportes

dependiendo de las necesidades del administrador.

Page 72: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

70

BIBLIOGRAFÍA

[1].-Introducción a Microsoft Visual Basic http://msdn.microsoft.com/es-mx/vbasic/bb466159.aspx) [2].- BLANCO , Luis Miguel, PROGRAMACION CON VB.NET , Eidos, 1ª ed

,2002 ,España

http://www.megaupload.com/?d=MH819H84

[3].-VIEIRA, Robert, Beginning SQL Server™ 2005 Programming, Wiley

Publishing, Wrox Press, 1ed, 2006, EUA

[4].-. ¿Qué es SQL Server 2005?

http://www.microsoft.com/spain/sql/productinfo/overview/what-is-sql-

server.mspx

[5].- ¿que es SQL Managment Studio?

http://www.microsoft.com/downloads/details.aspx?displaylang=es&FamilyID=c2

43a5ae-4bd1-4e3d-94b8-5a0f62bf7796

[6].- que es la configuración de superficie

http://technet.microsoft.com/es-es/library/ms161956%28SQL.90%29.aspx

[7] .-Dorado Perea, Carlos."Diseño de Interfaz".(Documento web).(s/f)

http://www.xtec.net/~cdorado/cdora1/esp/disseny.htm

Page 73: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

71

ANEXOS DOCUMENTO DE REQUERIMIENTOS DEL SISTEMA CBFix Para el sistema de báscula los catálogos deben contar con la siguiente información:

Page 74: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

72

Para registrar una pesada se debe registrar la siguiente información

Al momento de registrar una pesada se deben tomar en cuenta las siguientes consideraciones Tara Total = Tara del Contenedor 1 + Tara del Contenedor 2 Peso Neto = Peso Lleno – (Tara del Contenedor 1 + Tara del Contenedor 2 + Peso Vació)

Page 75: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

73

Cronograma de actividades

Actividad Inicio Duración Fin

Análisis de los requerimientos del

software 08/02/2010 21 01/03/2010

Diseño 09/03/2010 29 17/03/2010

Creación de base de datos 09/03/2010 9 18/03/2010

Realizar los casos de estudio del proyecto 22/03/2010 5 27/03/2010

Diagrama de Entidad-Relación 29/03/2010 2 31/03/2010

Vistas del proyecto 31/03/2010 4 04/04/2010

Diagrama de clases 06/04/2010 3 09/04/2010

Diagrama de secuencia 09/04/2010 3 12/04/2010

Diseño de interfaz de usuario 14/04/2010 3 17/04/2010

Código 19/04/2010 15 04/05/2010

Pruebas 10/05/2010 15 25/05/2010

Elaboración del plan de pruebas 10/05/2010 15 25/05/2010

Mantenimiento 31/05/2010 8 08/06/2010

Page 76: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

74

21 dias 01/03/2010

16/02/2010 8 dias 9/03/2010

08/02/2010

Análisis de los requerimientos del software

29 dias 17/03/2010

14/03/2010Margen de

demora22/03/2010

09/03/2010

Diseño

9 dias 18/03/2010

15/03/2010 6 días 24/03/2010

09/03/2010

Creación de base de datos

5 días 27/03/2010

28/03/2010 6 días 1/04/2010

22/03/2010

Casos de uso del proyecto

2 dias 31/03/2010

31/03/2010 2 días 2/04/2010

29/03/2010

Diagrama de Entidad Relacion

5 dias 04/04/2010

2/04/2010 2 dias 06/04/2010

31/03/2010

Vistas de Proyecto

3 dias 09/04/2010

08/04/2010 2 11/04/2010

06/04/2010

Diagrama de Clases

3 dias 12/04/2010

15/04/2010 6 18/04/2010

09/04/2010

Diagrama de Secuencia

3 dias 17/04/2010

15/04/2010 1 18/04/2010

14/04/2010

Interfaz de usuario

15 04/05/2010

21/04/2010 2 6/05/2010

19/04/2010

Código

15 25/05/2010

20/05/2010 2 6/06/2010

10/05/2010

Pruebas

8 8/06/2010

2/06/2010 2 10/06/2010

31/05/2010

Mantenimiento

Page 77: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

75

Glosario Abstracción: Tomar en cuenta solo los aspectos más importantes de un objeto para realizar un mejor análisis. Base de Datos: es una colección de información almacenada en archivos guardados en discos que siguen una estructura. Campo: Es el valor contenido en una clase CBFix. Nombre de la versión funcional final del proyecto Control de Bascula para el puerto industrial de Altamira Eventos: Son usados para notificar que un objeto escucho un cambio de estado

Contenedor: es un recipiente de carga para el transporte aéreo, marítimo o fluvial, transporte terrestre y transporte multimodal. Las dimensiones del contenedor se encuentran normalizadas para facilitar su manipulación.

Diagramas de casos de uso: Muestran un conjunto de casos de uso y actores (tipo especial de clases) y sus relaciones. Cubren la vista estática de los casos de uso y son especialmente importantes para el modelado y organización del comportamiento. Diagramas de Clases Un diagrama de clases es un diagrama que muestra un conjunto de clases, interfaces, colaboraciones y sus relaciones

Diagramas de Estados .Muestran una maquina de estados compuesta por

estados, transiciones, eventos y actividades. Estos diagramas cubren la vista dinámica de un sistema y son muy importantes a la hora de modelar el comportamiento de una interfaz, clase o colaboración.

Jerarquía: es una propiedad que permite una ordenación de las abstracciones. Método: Es una unidad de funcionalidad Modularidad: Separar los métodos en programas más pequeños al sistema final IDE (Entorno de desarrollo integrado) Herramientas de software que ayudan a los desarrolladores a escribir programas Peso Neto: Es la unidad de medida de la mercancía expresada en Kilogramos, sin

incluir el embalaje. Propiedad: Parte del estado de un objeto. Hibrido entre campo y método

Tara: Es el peso del contenedor vacío y viene inscrito en una de las puertas del contenedor debe tenerse en cuenta y adicionarlo al peso bruto de la carga. UML: Lenguaje unificado modelado

Page 78: Reporte Final 8 de Septiembre de 2010

ITCM Reporte Final de Residencia profesional

1