Está en la página 1de 88

CASO DE ESTUDIO

SISTEMA DE GESTION DE LA EMPRESA


TRANSPORTES FELICES
FASE DE CONCEPCION
DESCRIPCIÓN DEL SISTEMA:
La Empresa Transportes Felices es una organizacion que ofrece los servicios de
transporte de pasajeros interprovincial y otros servicios como envíos de encomiendas, giros
y correspondencias, a la cual nos referiremos en adelante como la EMPRESA.
Actualmente la EMPRESA cuenta con un sistema manual manejado por tres
empleados quienes realizan la venta de pasajes, el envío de encomiendas, giros y
correspondencias.
Con la finalidad de lograr un control eficiente la gerenia de la EMPRESA se ha
propuesto la implementacion de un sistema informatico que permitirá realizar las diversas
tareas requeridas como registrar los datos del cliente, registrar las ventas de pasaje, envíos
de encomiendas, giros y correspondencias, así como el mantenimiento de registros de los
empleados, unidades de transporte y rutas.
El sistema calculará el total de pasajes vendidos, el número de asientos disponibles
para cada ruta en el horario respectivo, también mostrará las tarifas respectivas para los
diversos servicios.

METAS DEL SISTEMA


?? Atención rápida al cliente
?? Control eficiente de las ventas de pasajes y otros servicios (envíos).
?? Cálculo total de ingresos de acuerdo a los servicios brindados.
FUNCIONES DEL SISTEMA

REF. # FUNCIÓN CATEGORÍA

R1.1 Registrar los datos del cliente Evidente

R1.2 Registrar el número de pasaje, ruta, fecha, hora y número de Evidente


asiento

R1.3 Registrar las ventas de pasaje efectuados Oculto

R1.4 Registrar datos del destinatario Evidente

R1.5 Registrar datos de envíos (encomiendas, giros y Evidente


correspondencias)

R1.6 Registrar datos de las unidades de transporte Evidente

R1.7 Calcula el total de pasajes vendidos Evidente

R1.8 Permitir el acceso de usuarios específicos Evidente

R1.9 Muestra precios de pasajes de acuerdo a las rutas Evidente

R1.10 Muestra precios de envíos de acuerdo a pesos y destinos Evidente

R1.11 Muestra el número de asientos disponibles Evidente

R1.12 Muestra datos del cliente Evidente

R1.13 Ofrece un mecanismo de almacenamiento. Oculta

R1.14 Reduce las cantidades de asientos disponibles cuando se Oculta


realiza una venta de pasaje.
ATRIBUTOS DEL SISTEMA

Ref.# Función Categ. Atributo Detalles y restricciones Categ

R1.7 Calcula el total de Evidente Tiempo de 6 seg. Como máximo Obligatorio


pasajes vendidos respuesta

Tolerancia a Debe reducir el número


fallas de pasajes en un plazo
máximo de 2 horas, aún Obligatorio
cuando se produzcan
fallas de energía o de
equipo.

R.1.9 Mostrar precios de Evidente Tiempo de


pasajes de acuerdo a respuesta 5 seg. Como máximo Obligatorio
las rutas

Metáfora de Pantallas basadas en un Obligatorio


interfaz orden.

R1.10 Mostrar precios de Evidente Tiempo de 5 seg como máximo Obligatorio


envíos respuesta

Metáfora de Pantallas basadas en un Obligatorio


interfaz orden.

R1.11 Mostrar el número de Evidente Tiempo de 5 seg. Como máximo Obligatorio


asientos disponibles respuesta

Metáfora de Pantallas basadas en un Obligatorio


interfaz orden

R1.13 Metáfora de Colorido Obligatorio


Evidente interfaz

R.1.14 Reduce el número de Oculto Tiempo de 5 seg. Como máximo Obligatorio


asientos disponibles respuesta
FASE DE ELABORACION
ANÁLISIS DEL SISTEMA

ACTORES
Se han identificado los actores:

Actores Categoría

Empleado Principal

Administrador Secundario

Chofer Externo

Cliente Externo

CASOS DE USO

ACTORES CASOS DE USO

Inicia el sistema
Administrador Mantiene registros
Da acceso a usuarios específicos
Cierra el sistema

Venta de pasaje
Registra la venta del pasaje
Empleado Registra envíos
Registra datos del cliente

Chofer Solicita información sobre viaje

Solicita información sobre el costo de


Cliente pasajes, envíos y correspondencias.
Compra pasaje
Cancela el importe del servicio
CLASIFICACIÓN DE LOS CASOS DE USOS:

Clasificación Casos de Uso Justificación

Venta pasaje Corresponde una de las partes más


importantes para que se lleve a cabo una
Alto venta.
Dar acceso a usuarios Importante para la seguridad del sistema
específicos
Mantenimiento de registros Importante para el control del sistema

Registrar venta de pasaje Proceso que afecta el control del sistema.


Medio Registrar envíos Proceso que afecta el control del sistema.
Cancelar el importe del servicio Proceso importante para la contabilidad
de la empresa.
Registrar datos del cliente Importante para el control del sistema

Inicia el sistema Proceso del cual dependen otros casos de


Bajo uso.
Solicitar información sobre Proceso que no afecta al sistema
costo de pasaje, envíos, giros y
correspondencia.
Solicita información sobre Proceso que no afecta al sistema
viaje.
Cierra el sistema Proceso que depende de otros casos de
uso.
Entrega cambio
Entrega pasaje Proceso que depende de otros casos de
uso.

Casos de uso en formato de alto nivel


Caso de Uso : Venta de pasaje
Actores : Cliente, empleado
Tipo : Primario
Descripción : El cliente llega al establecimiento y solicita la venta de un
pasaje, el empleado procede a registrar los datos del cliente y
a registrar los datos del pasaje. El empleado informa del
precio al cliente y este procede a cancelar el importe del
pasaje. Al terminar esta operación el empleado procede a
entregar el boleto al cliente, el cliente procede a marcharse.

Caso de Uso : Mantenimiento de registros


Actores : Administrador
Tipo : Primario
Descripción : El Administrador procede a ingresar datos de los nuevos
empleados, nuevas unidades de transporte.
Si se desea modificar los datos de los registros el
Administrador procede a ingresar al sistema la información
correcta.

Caso de Uso : Registrar venta de pasaje


Actores : Cliente, empleado
Tipo : Primario
Descripción : El empleado ingresa los datos del pasaje, ingresando el
número de asiento, destino, fecha y hora de viaje e informa al
cliente de la fecha y hora de viaje.
Caso de Uso : Registrar envíos
Actores : Cliente, empleado
Tipo : Primario
Descripción : El empleado procede a registrar los datos del cliente y a
registrar los datos del envío(encomienda, giro o
correspondencia) como peso ,destino y precio. El empleado
informa del precio al cliente y este procede a cancelar el
importe del pasaje. Al terminar esta operación el empleado
procede a entregar el recibo al cliente, el cliente procede a
marcharse.

Caso de Uso : Cancelar importe del servicio.


Actores : Cliente, empleado
Tipo : Primario
Descripción : El cliente procede a cancelar el importe del servicio y recibe
el pasaje/ boleta correspondiente a la operación
correspondiente.

Caso de Uso : Registrar datos del cliente


Actores : Cliente, empleado
Tipo : Primario
Descripción : El cliente informa de sus datos al empleado, este procede a
ingresar los datos cliente como nombre, DNI(y nombre y
dirección del destinatario en caso de envíos).

Caso de Uso : Inicia el sistema


Actores : Administrador
Tipo : Primario
Descripción : El administrador se encarga de activar el sistema y
prepararlo para que sea usado por el empleado.

Caso de Uso : Solicitar información sobre pasajes y/o envíos


Actores : Cliente, empleado
Tipo : Secundario
Descripción : El cliente llega al establecimiento y solicita información
sobre el precio de un pasaje a determinado destino o por el
precio de realizar un envío. El empleado procede a consultar
al sistema sobre los datos solicitados e informa al cliente.

Caso de Uso : Solicitar información sobre viaje


Actores : chofer, empleado
Tipo : Secundario
Descripción : El chofer solicita información sobre el número de pasajeros
de determinado viaje así como la hora de partida y la unida de
transporte con que cuenta para realizar el viaje.

Casos expandidos de uso

Aquí se detallarán los casos de uso más importantes, estos son:

Casos de uso : Comprar pasaje


Actores : Cliente, empleado
Propósito : Almacenar la venta y el pago del importe correspondiente.
Tipo : Primario y esencial.
Referencias
Cruzadas: R1.1,R1.2,R1.3,R1.9, R1.14.
Casos de uso : Debe haber terminado: Registrar datos del cliente datos del pasaje y
el pago del importe del pasaje.

Curso normal de los eventos

Acción de los actores Respuesta del sistema


1. Este caso de uso comienza cuando el
cliente llega y pregunta si hay
disponibilidad de pasajes con un
determinado destino.
2. El empleado verifica la disponibilidad 3. El sistema muestra los asientos
de asientos y destinos solicitados. disponibles, hora, fecha y costo del pasaje.
4. El empleado al ver la disponibilidad de 5. El sistema almacena los datos del
pasajes, procede a pedir los datos del cliente.
cliente el destino, la fecha, la hora y le
asigna el N° de asiento.
6. Al terminar de registrar los datos del 7. El sistema almacena la venta ,genera el
pasaje, el cliente efectúa el pago de dicho pasaje y disminuye el número de asientos
servicio. disponibles.
8. El empleado entrega el boleto al cliente.
9. El cliente se marcha con su boleto a
esperar la hora de partida.

Casos Alternos:
Línea 7: el cliente no tenía suficiente dinero, se cancela la transacción de la venta.

?? Casos de uso : Inicia sistema


Actores : Administrador.
Propósito : Accesar al sistema.
Tipo : Primario y esencial.
Referencias
Cruzadas : R1.8.

Curso Normal De Los Eventos

ACCIÓN DE LOS ACTORES RESPUESTA DEL SISTEMA

1. Este caso de uso comienza cuando la


propietaria de la bodega llega al
establecimiento.
2. La propietaria enciende el equipo e 3. Si la clave y contraseña son correctos,
ingresa una clave y contraseña para accesa al sistema.
accesar al sistema. De lo contrario, mensaje de error e
intentará nuevamente.
4. Al accesar al sistema, la propietaria
verificará la fecha y hora del sistema; y el
cajero se dispondrá a trabajar en el sistema.

Casos de uso : Mantenimiento de registros


Actores : Administrador
Propósito : Almacenar datos de empleados/rutas/unidades de transporte.
Tipo : Primario y esencial.
Referencias
Cruzadas : R1.2,R1.9,R1.6
Casos de uso : Debe haber terminado: Iniciar el sistema

Curso normal de los eventos

Acción de los actores Respuesta del sistema


1. El administrador ingresa datos de un
nuevo empleado, ruta o unidad de
transporte.
2. El sistema almacena los datos
respectivos y actualiza la base de datos.
Casos de uso : Registrar envíos
Actores : Cliente, empleado
Propósito : Almacenar la operación y el pago del importe correspondiente.
Tipo : Primario y esencial.
Referencias
Cruzadas : R1.4,R1.5,R1.10.
Casos de uso : Debe haber terminado: Registrar datos del cliente datos de la
operación y el pago del importe correspondiente.

Curso normal de los eventos

Acción de los actores Respuesta del sistema


1. Este caso de uso comienza cuando el
cliente llega y pregunta los precios sobre
una determinada operación (encomiendas,
giros o correspondencias )
2. El empleado verifica la información 3. El sistema muestra los precios de la
solicitada por el cliente. operación solicitada por el cliente.
4. El empleado informa al cliente los 5. El sistema almacena los datos del cliente
precios y procede a registrar los datos del y de la operación.
cliente, el destino del envío y el costo total.
6. Al terminar de registrar los datos del
envío, el cliente efectúa el pago de dicho 7. El sistema almacena la operación,
servicio. genera la boleta.
8. El empleado entrega la boleta al cliente.
9. El cliente se marcha con su boleta.
Casos Alternos:
Línea 7: el cliente no tenía suficiente dinero, se cancela la transacción de la venta.

Explicación del Formato Expandido


Caso de uso: venta de pasaje.
Actores: cliente, empleado.
Propósito: llevar un control automatizado de la venta de pasaje.
Resumen: El cliente se acerca al empleado de la empresa de
transporte y solicita venta de un pasaje. El empleado verifica si hay
disponibilidad de pasajes y si hay disponibilidad se procede a registrar la venta.
Al finalizar la transacción, el cliente paga el pasaje y se retira con su boleto.
Tipo : primario.
Referencias Cruzadas: R1.1, R1.2, R1.3, R1.9, R1.11, R1.12, R1.14.
DIAGRAMA DE CASOS DE USO

Cancela el importe del

Registra venta del pasaje

Empleado

Registra datos del cliente

Registra envíos

Venta de pasaje Manteni

Solicita información sobre el Acceso a usua


costo de pasajes

Chofer Solicita información


sobre el viaje
Compra pasaje Cierr
MODELO CONCEPTUAL

Unidad de transporte Especificación de


Envíos Pasaje
IdControl 1..*
Estado Tipo Numero de asiento
Fecha Costo Origen
Descripción Destino
Hora
Costo

1 1
1..*
1 1..*
Venta Establecimiento Pasaje1
1 1..*
Fecha Ubicación Numero Pasaje
Hora 1 Nombre
1

1 1 1...*

1 1 1

Cliente SVP Empleado

Nombre Nombre
DNI Dirección
DNI

1
Administrador
1
DIAGRAMA DE SECUENCIA DEL SISTEMA

CASOS DE USO: VENTA DE PASAJES

SISTEMA
: Empleado

1: Introducir datos del cliente(nombre,DNI,Ruc)

2: Introducir datos de pasaje( orgen,destino,fecha ,hoara,tarifa)

3: Finalizar venta

4 : Generar pasaje

CASOS DE USO: MANTENIMIENTO DE REGISTROS

SISTEMA
: Administrador

1: Introducir datos del empleado( nombre,apellido,cargo)

2: Finalizar registro ()
CASOS DE USO: REGISTRO DE ENVÍOS

SISTEMA
: Empleado

1: Introducir datos del cliente(nombre,DNI,Ruc)

2: Introducir datos del envío(origen,destino,fecha , hora,tarifa)

3: Finalizar operación( )

4 : Generar boleta

Contrato para el caso de uso: Venta de pasaje

- Contrato para introducir datos del cliente:


Nombre: Introducir datos del cliente (nombre, DNI, Ruc, Dirección)
Responsabilidades: Registrar a un nuevo cliente
Tipo: Sistema
Ref. Cruzadas: Funciones: R1.1, R1.9,R1.12
Notas:
Salida:
Precondiciones: Inicio del sistema
Postcondiciones: La venta se asocia al sistema

- Contrato para introducir datos del pasaje


Nombre: Introducir datos de pasaje (Numero de Pasaje, tarifa, fecha,destino)
Responsabilidades: Introducir datos de pasaje como NumeroPasaje
Tipo: Sistema
Ref. Cruzadas: Funciones : R1.2, R1.10
Notas:
Salida:
Precondiciones: registrar los datos del cliente
Postcondiciones: Almacenamiento de datos en el sistema

- Contrato para efectuarPago


Nombre : efectuarPago()

Responsabilidades: Señalar que es el final de la transacción y generar un boleto.


Tipo: Sistema.
Referencias
Cruzadas:
Nota:
Excepciones:
Salida:
Precondiciones:
Poscondiciones: La instancia Venta se asocia a una instancia Pago.
?? El total de la venta se asigna a monto.Pago.

- Contrato para Finalizar Proceso de Venta :

Nombre: FinalizarVenta ( ).
Responsabilidades: Registrar el final de la venta, almacenando el total y
disminuyendo el numero de asientos disponibles.
Tipo: Sistema
Ref. Cruzadas: Funciones: R1.3, R1.11,R1.14
Notas:
Excepciones: Si el cliente no tiene el dinero suficiente para hacer la compra,
se cancela la transacción.

Salida:
Precondiciones: El sistema haya impreso el pasaje.
Postcondiciones: La venta se asocia al sistema

Contrato para el caso de uso: Registrar envíos


- Contrato para introducir datos del cliente:
Nombre: Introducir datos del cliente (nombre, DNI, Ruc, Dirección)
Responsabilidades: Registrar a un nuevo cliente
Tipo: Sistema
Ref. Cruzadas: Funciones: R1.1, R1.9,R1.12
Notas:
Salida:
Precondiciones: Inicio del sistema
Postcondiciones: La venta se asocia al sistema

- Contrato para introducir datos del envío


Nombre: Introducir datos de pasaje (tipo , fecha, destino)
Responsabilidades: Introducir datos de operación como Numerodeboleta
Tipo: Sistema
Ref. Cruzadas: Funciones : R1.2, R1.5,R1.10
Notas:
Salida:
Precondiciones: registrar los datos del envío
Postcondiciones: Almacenamiento de datos de los envíos en el sistema

- Contrato para efectuarPago


Nombre : efectuarPago()

Responsabilidades: Señalar que es el final de la transacción y generar un boleto.


Tipo: Sistema.
Referencias
Cruzadas:
Nota:
Excepciones:
Salida: Genera boleta
Precondiciones: Almacenamiento de los datos de operación
Poscondiciones: La instancia Venta se asocia a una instancia Pago.
?? El total de la venta se asigna a monto.Pago.

- Contrato para Finalizar Registro de envío :

Nombre: FinalizarRegistro ( ).
Responsabilidades: Registrar datos del envío, almacenando el total.
Tipo: Sistema
Ref. Cruzadas: Funciones: R1.4, R1.5,R1.11
Notas:
Excepciones: Si el cliente no tiene el dinero suficiente para hacer el envío,
se cancela la transacción.
Salida:
Precondiciones: El sistema haya impreso la boleta
Postcondiciones: El registro se asocia al sistema
DISEÑO DEL SISTEMA
Caso de uso: venta de pasaje.
Actores : cliente, empleado.
Propósito: llevar un control automatizado de la venta de pasaje.
Resumen : El cliente se acerca al empleado de la empresa de
y solicita transporte venta de un pasaje. El empleado verifica si hay
disponibilidad de pasajes y si hay disponibilidad se procede a registrar la venta.
Al finalizar la transacción, el cliente paga el pasaje y se retira con su boleto.
Tipo : primario.
Referencias Cruzadas: R1.1, R1.2, R1.3, R1.6.

Caso de uso: Registrar Envíos:


Actores : cliente, empleado.
Propósito: llevar un control automatizado del envío, correspondencias, encomiendas y
giros. la venta de pasaje.
Resumen : El cliente se acerca al empleado de la empresa de transportes
y solicita el servicio de envío . El empleado verifica toma los datos del
remitente y del destinatario así como también los datos del envío.
Tipo : primario.
Referencias Cruzadas: R1.4, R1.5, R1.10.

Caso de uso: Cancelar Importe de servicio:


Actores : cliente, empleado.
Propósito: llevar un control detallado acerca de los pagos por servicios .
Resumen : El cliente cancela el servicio recibido al empleado y este último
registra en el sistema tal transacción y esta culmina con la entrega del
comprobante.
Tipo : primario.
Referencias Cruzadas: R1.4, R1.5, R1.10.

Caso de uso: Solicitar información sobre costo de pasaje:


Actores : cliente, empleado.
Propósito: El sistema es capaz de proporcionar información detallada acerca del costo del
pasaje de acuerdo a las respectivas rutas .
Resumen : El cliente se acerca al empleado, le indica el lugar al que desea
viajar y el empleado proporciona el costo respectivo.
Tipo : primario.
Referencias Cruzadas: R1.9.
1. Se identifican las clases de nuestro sistema:

RUTAS TARIFASERVICIO SERVICIOS

IDSERVICIO
ORIGEN NOMBRE
ORIGEN
DESTINO 1..* DETALLE
DESTINO 1
1 1..* IDTARIFA

1..* ÓMNIBUS

TRANSACCIÓN PLACA
PESOMÁXIMO
TOTALDEASIENTOS
IDTRANSACCIÓN 1..* 1
TARJETA
HORA DEPROPIEDAD
FECHAVIAJE FECHA
NOMBRECLIENTE DESCRIPCIÓN
APELLIDOCLIENTE
RUC
PLACA
1
IDSV
PRECIO
DNIDELCLIENTE 1..*
ORIGEN
DESTINO CONTROL DE
1..* ÓMNIBUS

IDCONTROL
ESTADO
1..* FECHA
1 HORA
SERVICIOS VARIOS EMPLEADO
CONTROL DE
IDSERVICIO 1
EMPLEADO
REMITENTE NOMBRE
DESTINATARIO APELLIDO IDCE
ORIGENSERVICIO DNI HORAENTRADA
DESTINOSERVICIO FECHANA C HORASALIDA
TIPO DIRECCION 1 1..*
DESCRIPICIÓN
PESOMÁXIMO TELÉFONO DÍA
COSTO CARGO
CONTRASEÑA
DIAGRAMAS DE COLABORACIÓN

Diagramas de Colaboración del caso de uso: Venta de Pasaje


Diagrama de colaboración: Registrar venta de pasajes

VENTA

FECHA
HORA

: ST Registrar pasaje : VENTA

2. Agregar los nombres de los métodos:


Para continuar con este paso se necesita recordar el diagrama de colaboración:

El mensaje: registrar pasaje.


El mensaje se envía a una instancia de clase llamada Cliente, ésta define el método.
Diagrama de Colaboración: Introducir Datos del Cliente

: ST Registrar datos : VENTA

Diagramas de Colaboración: efectuarPago.

1: efectuarPago( )
efectuarPago()
: ST : Venta

2: crearPago()

: Pago

Al observar detenidamente todos los diagramas de colaboración referente a la aplicación


del Sistema de Venta de pasajes:

ST VENTA

FECHA
HORA
Registrar datos del pasaje ( )
Registrar datos del cliente ( ) Hacer el pasaje ( )
Registrar ventas ( ) Terminar venta ( )
Terminar venta ( )
3. Agregar más información de los tipos:
Es importante ya que nos permite mostrar los atributos, los parámetros del método y los
valores que debe devolver el método.

ST

Registrar datos del cliente (DNI,


Nombre , Edad )
Registrar ventas (N° de pasaje,
nombrepasajero, destino, importe )
Terminar venta ( )

4. Incorporación de asociaciones y navegabilidad:


Se utiliza la navegabilidad que es una propiedad del papel e indica la posibilidad de
manejar unidireccionalmente en una asociación.
DIAGRAMAS DE ESTADO

Registrar pasaje

Disponibilidad=FALSE
NohayDisponibilidad

Hay asientos Disponibles

Disponibilidad=TRUE

HayDisponibilidaddePasajes

Requerimientos Introducir Datos(origen,


destino, fecha)

Mostrar Asientos disponibles

Introducir Datos(Nombre,
Apellidos,fecha)

Registrar pasaje

Registrando Pasaje
Registrar Envíos

Costo del Servicio


de envío

Hacer Boleta

Requerimientos Introducir Datos(IDSV, Remitente,


Destinatario,OrigenServicio,DestinoSer
vicio,Tipo,Pesomáximo,Costo)

Registrar Envío

Registrando Envío
ARQUITECTURA DEL SISTEMA

ARQUITECTURA DE 3 CAPAS
Una arquitectura común de los sistemas de información abarca una interfaz para el usuario

y el almacenamiento persistente de datos se conoce con el nombre de arquitectura de tres

capas:

1. Presentación: ventanas, reportes, etc.

2.-Lógica de Aplicaciones: tareas y reglas que rigen el proceso.

3.- Almacenamiento: mecanismo de almacenamiento persistente.


Control de Ómnibus

Presentación
1

Lógica
2 Registro de Control
de Ómnibus

3
Base de Almacenamiento
Datos
Presentación: ST

Control de SERVICIOS
Ómnibus OFRECIDOS
Lógica de
Aplicacion
INTERFAZ DE LA GENERADOR DE
BASE DE DATOS REPORTES

Almacenamient

BASE DE
DATOS
Oprime
un botón

Introducir datos del ómnibus( )

Presentación Vista Registro de


Ómnibus
Ómnibus
<<asociacion>>

1: Introducir datos ( Placa, Totaldeasie ntos, Pesomáximo,


Tarjetadepropiedad, fecha, descripción)
Documento de
Coordinador de
aplicaciones Control
<<asociacion>>

ST <<asociacion>> Control de
Dominio
Ómnibus
Inscripción de Empleados

Presentación
1

Lógica
2 Registro de Control
de Empleados

3
Base de Almacenamiento
Datos
Presentación: ST

SERVICIOS
CONTROL DE
OFRECIDOS
EMPLEADOS
Lógica de
Aplicacion
ess
INTERFAZ DE LA GENERADOR DE
BASE DE DATOS REPORTES

Almacenamient
o
BASE DE
DATOS
Oprime
un botón

Presentación Vista Control


Empleados
<<asociacion>>
1: Introducir datos ( Nombre,
Apellidos,DNI,Teléfono, Dirección, Cargo)
Coordinador de Documento de
aplicaciones Control <<asociacion>>

Dominio ST <<asociacion>> Control de


Empleados
Registro de Envíos

Presentación
1

Lógica
2 Registro de Control
de Servicios Varios

3
Base de Almacenamiento
Datos
Presentación: ST

REGISTRO DE SERVICIOS
ENVÍOS OFRECIDOS
Lógica de
Aplicaciones
INTERFAZ DE LA GENERADOR DE
BASE DE DATOS REPORTES

Almacenamiento

BASE DE
DATOS
Oprime
un botón

Introducir datos de servicios varios( )

Presentación Vista Control


Servicios varios
<<asociacion>>
1: Introducir datos ( Idservicio, remitente, destinatario,
origenservicio, destinoservicio, tipo, pesomáximo, costo)
Coordinador de Documento de
aplicaciones Control
<<asociacion>>

Dominio ST <<asociacion>> Control de


Serviciosvarios
Registro de Rutas

Presentación
1

Lógica
2 Registro de Rutas

3
Base de Almacenamiento
Datos
Presentación: ST

Registro de SERVICIOS
Rutas OFRECIDOS
Lógica de
Aplicacioness
INTERFAZ DE LA GENERADOR DE
BASE DE DATOS REPORTES

Almacenamiento

BASE DE
DATOS
Oprime
un botón

Introducir datos Ruta( )

Presentación Vista Rutas

<<asociacion>>
1: Introducir datos (Origen,Destino)

Coordinador de Documento de
aplicaciones Control
<<asociacion>>

ST <<asociacion>> Registro de Rutas


Dominio
Nuevo Servicio

Presentación
1

Lógica
2 Nuevo Servicio

3
Base de Almacenamiento
Datos
Presentación: ST

Nuevo SERVICIOS
Servicio OFRECIDOS
Lógica de
Aplicacion
INTERFAZ DE LA GENERADOR DE
BASE DE DATOS REPORTES

Almacenamient

BASE DE
DATOS
Oprime
un botón

Introducir datos del Servicio( )

Presentación Vista Nuevo


Servicio
<<asociacion>>
1:Introducir
Datos(Código,Nombre,Detalle
Coordinador de Documento de
aplicaciones Control
<<asociacion>>

ST <<asociacion>> Nuevo
Dominio
Servicio
Registrar Pasaje

Presentación
1

Lógica
2 Registro de Venta de
Pasaje

3
Base de Almacenamiento
Datos
Presentación: ST

Registro de SERVICIOS
Venta de Pasaje OFRECIDOS
Lógica de
Aplicacion
INTERFAZ DE LA GENERADOR DE
BASE DE DATOS REPORTES

Almacenamient

BASE DE
DATOS
Oprime
un botón

Introducir datos del cliente( )

Presentación Vista Registro de


Venta de Pasaje
Ómnibus
<<asociacion>>

1: Introducir datos (Nombre, Apellidos, DNI, Edad)

Coordinador de
Documento de
aplicaciones Control
<<asociacion>>

ST <<asociacion>> Control de
Dominio
Venta de Pasaje
FASE DE CONSTRUCCION
IMPLEMENTACION DEL SERVICIO DE DATOS

La Implementacion de la base de datos de realiza a partir del siguiente modelo conceptual:

RUTAS
TARIFASERVICIO SERVICIOS

IDSERVICIO
ORIGEN NOMBRE
ORIGEN DESTINO 1..* DETALLE
DESTINO 1
1 1..* IDTARIFA

1..* ÓMNIBUS

TRANSACCIÓN PLACA
PESOMÁXIMO
TOTALDEASIENTOS
IDTRANSACCIÓN 1..* 1
TARJETA
HORA DEPROPIEDAD
FECHAVIAJE FECHA
NOMBRECLIENTE DESCRIPCIÓN
APELLIDOCLIENTE
RUC
PLACA 1
IDSV
PRECIO
DNIDELCLIENTE CONTROL
1..*DE
ORIGEN ÓMNIBUS
1..* DESTINO
IDCONTROL
1 ESTADO
FECHA
1..* HORA

SERVICIOS VARIOS EMPLEADO

IDSERVICIO CONTROL DE
REMITENTE EMPLEADO
NOMBRE 1
DESTINATARIO APELLIDO
ORIGENSERVICIO IDCE
DNI
DESTINOSERVICIO HORAENTRADA
FECHANAC HORASALIDA
TIPO DIRECCION 1 1..*
PESOMÁXIMO DESCRIPICIÓN
TELÉFONO
COSTO DÍA
CARGO
CONTRASEÑA
DIAGRAMA DE LA BASE DE DATOS
IMPLEMENTACION DEL CLIENTE
los formularios creados son los sgtes. con su respectivo còdigo:
Private WithEvents PrimaryCLS As clsEMPLEADO2
Dim mbChangedByCode As Boolean
Dim mvBookMark As Variant
Dim mbEditFlag As Boolean
Dim mbAddNewFlag As Boolean
Dim mbDataChanged As Boolean

Private Sub Form_Activate()


cmdAdd.Enabled = False
End Sub

Private Sub Form_Load()


Set PrimaryCLS = New clsEMPLEADO2

Dim oText As TextBox


'Enlaza los cuadros de texto con el proveedor de datos
For Each oText In Me.txtFields
oText.DataMember = "Primary"
Set oText.DataSource = PrimaryCLS
Next
grdDataGrid.DataMember = "Secondary"
Set grdDataGrid.DataSource = PrimaryCLS
End Sub

Private Sub Form_Resize()


On Error Resume Next
'Esto cambiará el tamaño de la cuadrícula al cambiar el tamaño del formulario
grdDataGrid.Width = Me.ScaleWidth
grdDataGrid.Height = Me.ScaleHeight - grdDataGrid.Top - 30 - picButtons.Height - picStatBox.Height
lblStatus.Width = Me.Width - 1500
cmdNext.Left = lblStatus.Width + 700
cmdLast.Left = cmdNext.Left + 340
End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)


If mbEditFlag Or mbAddNewFlag Then Exit Sub

Select Case KeyCode


Case vbKeyEscape
cmdClose_Click
Case vbKeyEnd
cmdLast_Click
Case vbKeyHome
cmdFirst_Click
Case vbKeyUp, vbKeyPageUp
If Shift = vbCtrlMask Then
cmdFirst_Click
Else
cmdPrevious_Click
End If
Case vbKeyDown, vbKeyPageDown
If Shift = vbCtrlMask Then
cmdLast_Click
Else
cmdNext_Click
End If
End Select
End Sub

Private Sub Form_Unload(Cancel As Integer)


Screen.MousePointer = vbDefault
End Sub

Private Sub PrimaryCLS_MoveComplete()


'Esto mostrará la posición de registro actual para este Recordset
lblStatus.Caption = "Record: " & CStr(PrimaryCLS.AbsolutePosition)
End Sub

Private Sub cmdAdd_Click()


On Error GoTo AddErr
PrimaryCLS.AddNew
lblStatus.Caption = "Agregar registro"
mbAddNewFlag = True
SetButtons False

Exit Sub
AddErr:
MsgBox Err.Description
End Sub

Private Sub cmdDelete_Click()


On Error GoTo DeleteErr
PrimaryCLS.Delete
Exit Sub
DeleteErr:
MsgBox Err.Description
End Sub

Private Sub cmdRefresh_Click()


'Esto sólo es necesario en aplicaciones multiusuario
On Error GoTo RefreshErr
PrimaryCLS.Requery
Exit Sub
RefreshErr:
MsgBox Err.Description
End Sub

Private Sub cmdEdit_Click()


On Error GoTo EditErr

lblStatus.Caption = "Modificar registro"


mbEditFlag = True
SetButtons False
Exit Sub

EditErr:
MsgBox Err.Description
End Sub
Private Sub cmdCancel_Click()
On Error Resume Next

PrimaryCLS.Cancel
SetButtons True
End Sub

Private Sub cmdUpdate_Click()


On Error GoTo UpdateErr

PrimaryCLS.Update
SetButtons True
Exit Sub
UpdateErr:
MsgBox Err.Description
End Sub

Private Sub cmdClose_Click()


Unload Me
End Sub

Private Sub cmdFirst_Click()


On Error GoTo GoFirstError

PrimaryCLS.MoveFirst
mbDataChanged = False

Exit Sub
GoFirstError:
MsgBox Err.Description
End Sub

Private Sub cmdLast_Click()


On Error GoTo GoLastError

PrimaryCLS.MoveLast
mbDataChanged = False

Exit Sub

GoLastError:
MsgBox Err.Description
End Sub

Private Sub cmdNext_Click()


On Error GoTo GoNextError

PrimaryCLS.MoveNext
Exit Sub
GoNextError:
MsgBox Err.Description
End Sub

Private Sub cmdPrevious_Click()


On Error GoTo GoPrevError

PrimaryCLS.MovePrevious
Exit Sub

GoPre vError:
MsgBox Err.Description
End Sub

Private Sub SetButtons(bVal As Boolean)


cmdAdd.Visible = bVal
cmdUpdate.Visible = Not bVal
cmdCancel.Visible = Not bVal
cmdDelete.Visible = bVal
cmdClose.Visible = bVal
cmdRefresh.Visible = bVal
cmdNext.Enabled = bVal
cmdFirst.Enabled = bVal
cmdLast.Enabled = bVal
cmdPrevious.Enabled = bVal
End Sub
Private WithEvents PrimaryCLS As clsOMNIBUS2
Dim mbChangedByCode As Boolean
Dim mvBookMark As Variant
Dim mbEditFlag As Boolean
Dim mbAddNewFlag As Boolean
Dim mbDataChanged As Boolean

Private Sub Form_Activate()


cmdAdd.Enabled = False
End Sub

Private Sub Form_Load()


Set PrimaryCLS = New clsOMNIBUS2

Dim oText As TextBox


'Enlaza los cuadros de texto con el proveedor de datos
For Each oText In Me.txtFields
oText.DataMember = "Primary"
Set oText.DataSource = PrimaryCLS
Next
grdDataGrid.DataMember = "Secondary"
Set grdDataGrid.DataSource = PrimaryCLS
End Sub

Private Sub Form_Resize()


On Error Resume Next
'Esto cambiará el tamaño de la cuadrícula al cambiar el tamaño del formulario
grdDataGrid.Width = Me.ScaleWidth
grdDataGrid.Height = Me.ScaleHeight - grdDataGrid.Top - 30 - picButtons.Height - picStatBox.Height
lblStatus.Width = Me.Width - 1500
cmdNext.Left = lb lStatus.Width + 700
cmdLast.Left = cmdNext.Left + 340
End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)


If mbEditFlag Or mbAddNewFlag Then Exit Sub

Select Case KeyCode


Case vbKeyEscape
cmdClose_Click
Case vbKeyEnd
cmdLast_Click
Case vbKeyHome
cmdFirst_Click
Case vbKeyUp, vbKeyPageUp
If Shift = vbCtrlMask Then
cmdFirst_Click
Else
cmdPrevious_Click
End If
Case vbKeyDown, vbKeyPageDown
If Shift = vbCtrlMask Then
cmdLast_Click
Else
cmdNext_Click
End If
End Select
End Sub

Private Sub Form_Unload(Cancel As Integer)


Screen.MousePointer = vbDefault
End Sub

Private Sub PrimaryCLS_MoveComplete()


'Esto mostrará la posición de registro actual para este Recordset
lblStatus.Caption = "Record: " & CStr(PrimaryCLS.AbsolutePosition)
End Sub

Private Sub cmdAdd_Click()


On Error GoTo AddErr
PrimaryCLS.AddNew
lblStatus.Caption = "Agregar registro"
mbAddNewFlag = True
SetButtons False

Exit Sub
AddErr:
MsgBox Err.Description
End Sub

Private Sub cmdDelete_Click()


On Error GoTo DeleteErr
PrimaryCLS.Delete
Exit Sub
DeleteErr:
MsgBox Err.Description
End Sub

Private Sub cmdRefresh_Click()


'Esto sólo es necesario en aplicaciones multiusuario
On Error GoTo RefreshErr
PrimaryCLS.Requery
Exit Sub
RefreshErr:
MsgBox Err.Description
End Sub

Private Sub cmdEdit_Click()


On Error GoTo EditErr

lblStatus.Caption = "Modificar registro"


mbEditFlag = True
SetButtons False
Exit Sub

EditErr:
MsgBox Err.Description
End Sub
Private Sub cmdCancel_Click()
On Error Resume Next

PrimaryCLS.Cancel
SetButtons True
End Sub

Private Sub cmdUpdate_Click()


On Error GoTo UpdateErr

PrimaryCLS.Update
SetButtons True
Exit Sub
UpdateErr:
MsgBox Err.Description
End Sub

Private Sub cmdClose_Click()


Unload Me
End Sub

Private Sub cmdFirst_Click()


On Error GoTo GoFirstError

PrimaryCLS.MoveFirst
mbDataChanged = False

Exit Sub

GoFirstError:
MsgBox Err.Description
End Sub

Private Sub cmdLast_Click()


On Error GoTo GoLastError

PrimaryCLS.MoveLast
mbDataChanged = False

Exit Sub

GoLastError:
MsgBox Err.Description
End Sub

Private Sub cmdNext_Click()


On Error GoTo GoNextError

PrimaryCLS.MoveNext
Exit Sub
GoNextError:
MsgBox Err.Description
End Sub

Private Sub cmdPrevious_Click()


On Error GoTo GoPrevError

PrimaryCLS.MovePrevious
Exit Sub
GoPrevError:
MsgBox Err.Description
End Sub

Private Sub SetButtons(bVal As Boolean)


cmdAdd.Visible = bVal
cmdUpdate.Visible = Not bVal
cmdCancel.Visible = Not bVal
cmdDelete.Visible = bVal
cmdClose.Visible = bVal
cmdRefresh.Visible = bVal
cmdNext.Enabled = bVal
cmdFirst.Enabled = bVal
cmdLast.Enabled = bVal
cmdPrevious.Enabled = bVal
End Sub
Private WithEvents PrimaryCLS As clsSERVICIOSVARIOS1
Dim mbChangedByCode As Boolean
Dim mvBookMark As Variant
Dim mbEditFlag As Boolean
Dim mbAddNewFlag As Boolean
Dim mbDataChanged As Boolean

Private Sub Form_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then
SendKeys "{tab}"
KeyAscii = 0
End If

End Sub

Private Sub Form_Load()


Set PrimaryCLS = New clsSERVICIOSVARIOS1
Dim sss As ComboBox
Dim oText As TextBox
'Enlaza los cuadros de texto con el proveedor de datos
For Each oText In Me.txtFields
oText.DataMember = "Primary"
Set oText.DataSource = PrimaryCLS
Next
For Each sss In Me.Combo
sss.DataMember = "Primary"
Set sss.DataSource = PrimaryCLS
Next
End Sub

Private Sub Form_Resize()


On Error Resume Next
lblStatus.Width = Me.Width - 1500
cmdNext.Left = lblStatus.Width + 700
cmdLast.Left = cmdNext.Left + 340
End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)


If mbEditFlag Or mbAddNewFlag Then Exit Sub

Select Case KeyCode


Case vbKeyEscape
cmdClose_Click
Case vbKeyEnd
cmdLast_Click
Case vbKeyHome
cmdFirst_Click
Case vbKeyUp, vbKeyPageUp
If Shift = vbCtrlMask Then
cmdFirst_Click
Else
cmdPrevious_Click
End If
Case vbKeyDown, vbKeyPageDown
If Shift = vbCtrlMask Then
cmdLast_Click
Else
cmdNext_Click
End If
End Select
End Sub

Private Sub Form_Unload(Cancel As Integer)


Screen.MousePointer = vbDefault
End Sub

Private Sub PrimaryCLS_MoveComplete()


'Esto mostrará la posición de registro actual para este Recordset
lblStatus.Caption = "Record: " & CStr(PrimaryCLS.AbsolutePosition)
End Sub

Private Sub cmdAdd_Click()


On Error GoTo AddErr
PrimaryCLS.AddNew
lblStatus.Caption = "Agregar registro"
mbAddNewFlag = True
SetButtons False

Exit Sub
AddErr:
MsgBox Err.Description
End Sub

Private Sub cmdDelete_Click()


On Error GoTo DeleteErr
PrimaryCLS.Delete
Exit Sub
DeleteErr:
MsgBox Err.Description
End Sub

Private Sub cmdRefresh_Click()


'Esto sólo es necesario en aplicaciones multiusuario
On Error GoTo RefreshErr
PrimaryCLS.Requery
Exit Sub
RefreshErr:
MsgBox Err.Description
End Sub

Private Sub cmdEdit_Click()


On Error GoTo EditErr

lblStatus.Caption = "Modificar registro"


mbEditFlag = True
SetButtons False
Exit Sub

EditErr:
MsgBox Err.Description
End Sub
Private Sub cmdCancel_Click()
On Error Resume Next

PrimaryCLS.Cancel
SetButtons True
End Sub

Private Sub cmdUpdate_Click()


On Error GoTo UpdateErr

PrimaryCLS.Update
PrimaryCLS.Requery
SetButtons True
Exit Sub
UpdateErr:
MsgBox Err.Description
End Sub

Private Sub cmdClose_Click()


Unload Me
End Sub

Private Sub cmdFirst_Click()


On Error GoTo GoFirstError
PrimaryCLS.MoveFirst
mbDataChanged = False

Exit Sub

GoFirstError:
MsgBox Err.Description
End Sub

Private Sub cmdLast_Click()


On Error GoTo GoLastError

PrimaryCLS.MoveLast
mbDataChanged = False

Exit Sub

GoLastError:
MsgBox Err.Description
End Sub

Private Sub cmdNext_Click()


On Error GoTo GoNextError

PrimaryCLS.MoveNext
Exit Sub
GoNextError:
MsgBox Err.Description
End Sub

Private Sub cmdPrevious_Click()


On Error GoTo GoPrevError

PrimaryCLS.MovePrevious
Exit Sub

GoPrevError:
MsgBox Err.Description
End Sub

Private Sub SetButtons(bVal As Boolean)


cmdAdd.Visible = bVal
cmdUpdate.Visible = Not bVal
cmdCancel.Visible = Not bVal
cmdDelete.Visible = bVal
cmdClose.Visible = bVal
cmdRefresh.Visible = bVal
cmdNext.Enabled = bVal
cmdFirst.Enabled = bVal
cmdLast.Enabled = bVal
cmdPrevious.Enabled = bVal
End Sub
Private WithEvents PrimaryCLS As clsTRANSACCION1
Dim rs As Recordset
Dim mbChangedByCode As Boolean
Dim activa As Integer
Dim mvBookMark As Variant
Dim mbEditFlag As Boolean
Dim mbAddNewFlag As Boolean
Dim mbDataChanged As Boolean

Private Sub Command1_Click()


Dim Titulo1 As String
Titulo1 = "Boleto de Viaje"
'caracteres
Printer.ScaleMode = 4
Printer.FontName = "Arial"
Printer.FontSize = 18
Printer.CurrentX = Printer.ScaleWidth \ 2 - Len(Titulo)
Printer.CurrentY = 6
Printer.FontBold = -1
Printer.Print Titulo1;
Printer.Print Spc(20);
Printer.Print "Pag. ";
Printer.CurrentY = 7
Y=7
Printer.Line (0, Y)-(Printer.ScaleWidth, Y)
Printer.FontSize = 10
Printer.FontBold = 0
Adodc3.Refresh
' DatAlumnos.Refresh
' DatAlumnos.Recordset.MoveFirst
Adodc3.Recordset.MoveFirst
Printer.Print
Do While Not Adodc3.Recordset.EOF
Printer.Print Adodc3.Recordset(0);
Printer.Print Tab(10)
Printer.Print Adodc3.Recordset(1);
Printer.Print Tab(30)
Printer.Print Adodc3.Recordset(2);
Printer.Print Tab(50)
Printer.Print Adodc3.Recordset(3);
Printer.Print Tab(70)
Printer.Print Adodc3.Recordset(4);
Printer.Print Tab(85)
Printer.Print Adodc3.Recordset(5);
Adodc3.Recordset.MoveNext
Loop
Printer.EndDoc
Adodc3.Recordset.Close
End

End Sub

Private Sub Command2_Click()


Form4.Show vbModal

End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then
SendKeys "{tab}"
KeyAscii = 0
End If

End Sub

Private Sub Form_Load()


Set PrimaryCLS = New clsTRANSACCION1
Dim xxx As DataCombo 'xxx es para los combos

Dim oText As TextBox


'Enlaza los cuadros de texto con el proveedor de datos
For Each oText In Me.txtFields
oText.DataMember = "Primary"
Set oText.DataSource = PrimaryCLS
Next

'enlazamos los datacombos con la tabla rutas


For Each xxx In Me.DataCombo
xxx.DataMember = "Primary"
Set xxx.DataSource = PrimaryCLS
Next
Dim Opicket As DTPicker
'enlazamos los dtpicker con la tabla transaccion
For Each Opicket In Me.DTPicker
Opicket.DataMember = "Primary"
Set Opicket.DataSource = PrimaryCLS
Next

Dim Ocombo As ComboBox


'enlazamos los dtpicker con la tabla transaccion
For Each Ocombo In Me.Combo
Ocombo.DataMember = "Primary"
Set Ocombo.DataSource = PrimaryCLS
Next

End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)


If mbEditFlag Or mbAddNewFlag Then Exit Sub

Select Case KeyCode


Case vbKeyEscape
cmdClose_Click
Case vbKeyEnd
cmdLast_Click
Case vbKeyHome
cmdFirst_Click
Case vbKeyUp, vbKeyPageUp
If Shift = vbCtrlMask Then
cmdFirst_Click
Else
cmdPrevious_Click
End If
Case vbKeyDown, vbKeyPageDown
If Shift = vbCtrlMask Then
cmdLast_Click
Else
cmdNext_Click
End If
End Select
End Sub

Private Sub Form_Unload(Cancel As Integer)


Screen.MousePointer = vbDefault
End Sub

Private Sub Frame2_DragDrop(Source As Control, X As Single, Y As Single)

End Sub

Private Sub PrimaryCLS_MoveComplete()


'Esto mostrará la posición de registro actual para este Recordset
lblStatus.Caption = "Record: " & CStr(PrimaryCLS.AbsolutePosition)
End Sub

Private Sub cmdAdd_Click()


On Error GoTo AddErr
PrimaryCLS.AddNew
lblStatus.Caption = "Agregar registro"
mbAddNewFlag = True
SetButtons False

Exit Sub
AddErr:
MsgBox Err.Description
End Sub

Private Sub cmdDelete_Click()


On Error GoTo DeleteErr
PrimaryCLS.Delete
Exit Sub
DeleteErr:
MsgBox Err.Description
End Sub

Private Sub cmdRefresh_Click()


'Esto sólo es necesario en aplicaciones multiusuario
On Error GoTo RefreshErr
PrimaryCLS.Requery
Exit Sub
RefreshErr:
MsgBox Err.Description
End Sub

Private Sub cmdEdit_Click()


On Error GoTo EditErr

lblStatus.Caption = "Modificar registro"


mbEditFlag = True
SetButtons False
Exit Sub

EditErr:
MsgBox Err.Description
End Sub
Private Sub cmdCancel_Click()
On Error Resume Next

PrimaryCLS.Cancel
SetButtons True
End Sub

Private Sub cmdUpdate_Click()


On Error GoTo UpdateErr

PrimaryCLS.Update
'PrimaryCLS.Requery
SetButtons True
Exit Sub
UpdateErr:
MsgBox Err.Description
End Sub

Private Sub cmdClose_Click()


Unload Me
End Sub

Private Sub cmdFirst_Click()


On Error GoTo GoFirstError

PrimaryCLS.MoveFirst
mbDataChanged = False

Exit Sub

GoFirstError:
MsgBox Err.Description
End Sub

Private Sub cmdLast_Click()


On Error GoTo GoLastError

PrimaryCLS.MoveLast
mbDataChanged = False

Exit Sub

GoLastError:
MsgBox Err.Description
End Sub

Private Sub cmdNext_Click()


On Error GoTo GoNextError

PrimaryCLS.MoveNext
Exit Sub
GoNextError:
MsgBox Err.Description
End Sub

Private Sub cmdPrevious_Click()


On Error GoTo GoPrevError
PrimaryCLS.MovePrevious
Exit Sub

GoPrevError:
MsgBox Err.Description
End Sub

Private Sub SetButtons(bVal As Boolean)


cmdAdd.Visible = bVal
cmdUpdate.Visible = Not bVal
cmdCancel.Visible = Not bVal
cmdDelete.Visible = bVal
cmdClose.Visible = bVal
cmdRefresh.Visible = bVa l
cmdNext.Enabled = bVal
cmdFirst.Enabled = bVal
cmdLast.Enabled = bVal
cmdPrevious.Enabled = bVal
End Sub

Private Sub ToggleButton_Click(Index As Integer)

activa = 1
If ToggleButton(Index).Value = False Then
If MsgBox("Acaba de Cancelar un Asiento. Está realmente seguro ?", vbCritical + vbYesNo, "seguridad")
= vbYes Then
ToggleButton(Index).Value = False
ToggleButton(Index).BackColor = &HC0FFC0
Else
ToggleButton(Index).Value = True
ToggleButton(Index).BackColor = &HC0C0FF
End If
Else
ToggleButton(Index).BackColor = &HC0C0FF
End If

txtFields(1).Text = Index + 1

End Sub

Private Sub ToggleButton_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single,


Y As Single)
If ToggleButton(Index).Value = False Then
ToggleButton(Index).ToolTipText = "Asiento " & Index + 1 & "(Libre)"
Else
ToggleButton(Index).ToolTipText = "Asiento " & Index + 1 & "(Ocupado)"
End If
End Sub
Private Const MARGIN_SIZE = 60 ' en twips

Private Sub Command1_Click()


Dim SQL As String
Dim SQL1 As String
SQL = "select
REMITENTE,DESTINATARIO,ORIGENSERVICIO,DESTINOSERVICIO,TIPO,COSTO,FECHA from
SERVICIOSVARIOS Order by FECHA"
datPrimaryRS.RecordSource = SQL
datPrimaryRS.Refresh
SQL1 = "SELECT SUM(COSTO) AS Costo From SERVICIOSVARIOS "
Adodc3.RecordSource = SQL1
Adodc3.Refresh

End Sub

Private Sub DataCombo_Click(Index As Integer, Area As Integer)


Dim SQL As String
Dim SQL1 As String
If Area = 2 Then
If Len(Trim$(DataCombo(0).Text)) > 0 And Len(Trim$(DataCombo(1).Text)) > 0 Then
SQL = "select
REMITENTE,DESTINATARIO,ORIGENSERVICIO,DESTINOSERVICIO,TIPO,COSTO,FECHA from
SERVICIOSVARIOS where año = '" & Trim$(DataCombo(0)) & "' and mes = '" & Trim$(DataCombo(1)) &
"' Order by FECHA"
SQL1 = "SELECT SUM(COSTO) AS Costo From SERVICIOSVARIOS where AÑO= '" &
Trim$(DataCombo(0)) & "' and MES = '" & Trim$(DataCombo(1)) & "'"
Adodc3.RecordSource = SQL1
Adodc3.Refresh

datPrimaryRS.RecordSource = SQL
datPrimaryRS.Refresh
End If
End If

End Sub

Private Sub cmdClose_Click()

Unload Me

End Sub

Private Const MARGIN_SIZE = 60 ' en twips

Private Sub Command1_Click()


SQL = "select
NOMBRECLIENTE,APELLIDOCLIENTE,FECHAVIAJE,ORIGEN,DESTINO,PRECIO from
TRANSACCION Order by FECHAVIAJE"
SQL1 = "select sum(precio) as Costo from TRANSACCION Where año = '" & Trim$(DataCombo(0))
& "' and mes = '" & Trim$(DataCombo(1)) & "'"
Adodc3.RecordSource = SQL1
Adodc3.Refresh
datPrimaryRS.RecordSource = SQL
datPrimaryRS.Refresh

End Sub

Private Sub DataCombo_Click(Index As Integer, Area As Integer)


Dim SQL As String
Dim SQL1 As String
If Area = 2 Then
If Len(Trim$(DataCombo(0).Text)) > 0 And Len(Trim$(DataCombo(1).Text)) > 0 Then
SQL = "select
NOMBRECLIENTE,APELLIDOCLIENTE,FECHAVIAJE,ORIGEN,DESTINO,PRECIO from
TRANSACCION where año = '" & Trim$(DataCombo(0)) & "' and mes = '" & Trim$(DataCombo(1)) & "'
Order by FECHAVIAJE"
SQL1 = "select sum(precio) as Costo from TRANSACCION Where año = '" & Trim$(DataCombo(0))
& "' and mes = '" & Trim$(DataCombo(1)) & "'"
datPrimaryRS.RecordSource = SQL
Adodc3.RecordSource = SQL1
Adodc3.Refresh
datPrimaryRS.Refresh
End If
End If
End Sub

Private Sub cmdClose_Click()

Unload Me

End Sub
Private WithEvents PrimaryCLS As clsEMPLEADO
Dim mbChangedByCode As Boolean
Dim mvBookMark As Variant
Dim mbEditFlag As Boolean
Dim mbAddNewFlag As Boolean
Dim mbDataChanged As Boolean

Private Sub Form_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then
SendKeys "{tab}"
KeyAscii = 0
End If

End Sub
Private Sub Form_Load()
Set PrimaryCLS = New clsEMPLEADO
Dim dt As DTPicker
Dim oText As TextBox

'enlazando el dtpicker
'For Each dt In Me.DTPicker1
' dt.DataMember = "Primary"
' Set dt.DataSource = PrimaryCLS
' Next

'Enlaza los cuadros de texto con el proveedor de datos


For Each oText In Me.txtFields
oText.DataMember = "Primary"
Set oText.DataSource = PrimaryCLS
Next

End Sub

Private Sub Form_Resize()


On Error Resume Next
lblStatus.Width = Me.Width - 1500
cmdNext.Left = lblStatus.Width + 700
cmdLast.Left = cmdNext.Left + 340
End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)


If mbEditFlag Or mbAddNewFlag Then Exit Sub

Select Case KeyCode


Case vbKeyEscape
cmdClose_Click
Case vbKeyEnd
cmdLast_Click
Case vbKeyHome
cmdFirst_Click
Case vbKeyUp, vbKeyPageUp
If Shift = vbCtrlMask Then
cmdFirst_Click
Else
cmdPrevious_Click
End If
Case vbKeyDown, vbKeyPageDown
If Shift = vbCtrlMask Then
cmdLast_Click
Els e
cmdNext_Click
End If
End Select
End Sub

Private Sub Form_Unload(Cancel As Integer)


Screen.MousePointer = vbDefault
End Sub
Private Sub PrimaryCLS_MoveComplete()
'Esto mostrará la posición de registro actual para este Recordset
lblStatus.Caption = "Record: " & CStr(PrimaryCLS.AbsolutePosition)
End Sub

Private Sub cmdAdd_Click()


On Error GoTo AddErr
PrimaryCLS.AddNew
lblStatus.Caption = "Agregar registro"
mbAddNewFlag = True
SetButtons False

Exit Sub
AddErr:
MsgBox Err.Description
End Sub

Private Sub cmdDelete_Click()


On Error GoTo DeleteErr
PrimaryCLS.Delete
Exit Sub
DeleteErr:
MsgBox Err.Description
End Sub

Private Sub cmdRefresh_Click()


'Esto sólo es necesario en aplicaciones multiusuario
On Error Go To RefreshErr
PrimaryCLS.Requery
Exit Sub
RefreshErr:
MsgBox Err.Description
End Sub

Private Sub cmdEdit_Click()


On Error GoTo EditErr

lblStatus.Caption = "Modificar registro"


mbEditFlag = True
SetButtons False
Exit Sub

EditErr:
MsgBox Err.Description
End Sub
Private Sub cmdCancel_Click()
On Error Resume Next

PrimaryCLS.Cancel
SetButtons True
End Sub

Private Sub cmdUpdate_Click()


On Error GoTo UpdateErr
PrimaryCLS.Update
SetButtons True
PrimaryCLS.Requery
Exit Sub
UpdateErr:
MsgBox Err.Description
End Sub

Private Sub cmdClose_Click()


Unload Me
End Sub

Private Sub cmdFirst_Click()


On Error GoTo GoFirstError

PrimaryCLS.MoveFirst
mbDataChanged = False

Exit Sub

GoFirstError:
MsgBox Err.Description
End Sub

Private Sub cmdLast_Click()


On Error GoTo GoLastError

PrimaryCLS.MoveLast
mbDataChanged = False

Exit Sub

GoLastError:
MsgBox Err.Description
End Sub

Private Sub cmdNext_Click()


On Error GoTo GoNextError

PrimaryCLS.MoveNext
Exit Sub
GoNextError:
MsgBox Err.Description
End Sub

Private Sub cmdPrevious_Click()


On Error GoTo GoPrevError

PrimaryCLS.MovePrevious
Exit Sub

GoPrevError:
MsgBox Err.Description
End Sub
Private Sub SetButtons(bVal As Boolean)
cmdAdd.Visible = bVal
cmdUpdate.Visible = Not bVal
cmdCancel.Visible = Not bVal
cmdDelete.Visible = bVal
cmdClose.Visible = bVal
cmdRefresh.Visible = bVal
cmdNext.Enabled = bVal
cmdFirst.Enabled = bVal
cmdLast.Enabled = bVal
cmdEdit.Visible = bVal
cmdPrevious.Enabled = bVal
End Sub

Private WithEvents PrimaryCLS As clsOMNIBUS


Dim mbChangedByCode As Boolean
Dim mvBookMark As Variant
Dim mbEditFlag As Boolean
Dim mbAddNewFlag As Boolean
Dim mbDataChanged As Boolean
Private Sub Form_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then
SendKeys "{tab}"
KeyAscii = 0
End If

End Sub

Private Sub Form_Load()


Set PrimaryCLS = New clsOMNIBUS

Dim oText As TextBox


'Enlaza los cuadros de texto con el proveedor de datos
For Each oText In Me.txtFields
oText.DataMember = "Primary"
Set oText.DataSource = PrimaryCLS
Next
End Sub

Private Sub Form_Resize()


On Error Resume Next
lblStatus.Width = Me.Width - 1500
cmdNext.Left = lblStatus.Width + 700
cmdLast.Left = cmdNext.Left + 340
End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)


If mbEditFlag Or mbAddNewFlag Then Exit Sub

Select Case KeyCode


Case vbKeyEscape
cmdClose_Click
Case vbKeyEnd
cmdLast_Click
Case vbKeyHome
cmdFirst_Click
Case vbKeyUp, vbKeyPageUp
If Shift = vbCtrlMask Then
cmdFirst_Click
Else
cmdPrevious_Click
End If
Case vbKeyDown, vbKeyPageDown
If Shift = vbCtrlMask Then
cmdLast_Click
Els e
cmdNext_Click
End If
End Select
End Sub

Private Sub Form_Unload(Cancel As Integer)


Screen.MousePointer = vbDefault
End Sub
Private Sub PrimaryCLS_MoveComplete()
'Esto mostrará la posición de registro actual para este Recordset
lblStatus.Caption = "Record: " & CStr(PrimaryCLS.AbsolutePosition)
End Sub

Private Sub cmdAdd_Click()


On Error GoTo AddErr
PrimaryCLS.AddNew
lblStatus.Caption = "Agregar registro"
mbAddNewFlag = True
SetButtons False

Exit Sub
AddErr:
MsgBox Er r.Description
End Sub

Private Sub cmdDelete_Click()


On Error GoTo DeleteErr
PrimaryCLS.Delete
Exit Sub
DeleteErr:
MsgBox Err.Description
End Sub

Private Sub cmdRefresh_Click()


'Esto sólo es necesario en aplicaciones multiusuario
On Error GoTo RefreshErr
PrimaryCLS.Requery
Exit Sub
RefreshErr:
MsgBox Err.Description
End Sub

Private Sub cmdEdit_Click()


On Error GoTo EditErr

lblStatus.Caption = "Modificar registro"


mbEditFlag = True
SetButtons False
Exit Sub

EditErr:
MsgBox Err.Description
End Sub
Private Sub cmdCancel_Click()
On Error Resume Next

PrimaryCLS.Cancel
SetButtons True
End Sub

Private Sub cmdUpdate_Click()


On Error GoTo UpdateErr
PrimaryCLS.Update
PrimaryCLS.Requery
SetButtons True
Exit Sub
UpdateErr:
MsgBox Err.Description
End Sub

Private Sub cmdClose_Click()


Unload Me

End Sub

Private Sub cmdFirst_Click()


On Error GoTo GoFirstError

PrimaryCLS.MoveFirst
mbDataChanged = False

Exit Sub

GoFirstError:
MsgBox Err.Description
End Su b

Private Sub cmdLast_Click()


On Error GoTo GoLastError

PrimaryCLS.MoveLast
mbDataChanged = False

Exit Sub

GoLastError:
MsgBox Err.Description
End Sub

Private Sub cmdNext_Click()


On Error GoTo GoNextError

PrimaryCLS.MoveNext
Exit Sub
GoNextError:
MsgBox Err.Description
End Sub

Private Sub cmdPrevious_Click()


On Error GoTo GoPrevError

PrimaryCLS.MovePrevious
Exit Sub

GoPrevError:
MsgBox Err.Description
End Sub
Private Sub SetButtons(bVal As Boolean)
cmdAdd.Visible = bVal
cmdUpdate.Visible = Not bVal
cmdCancel.Visible = Not bVal
cmdDelete.Visible = bVal
cmdClose.Visible = bVal
cmdRefresh.Visible = bVal
cmdNext.Enabled = bVal
cmdFirst.Enabled = bVal
cmdLast.Enabled = bVal
cmdPrevious.Enabled = bVal
End Sub

Private WithEvents PrimaryCLS As clsSERVICIO


Dim mbChangedByCode As Boolean
Dim mvBookMark As Variant
Dim mbEditFlag As Boolean
Dim mbAddNewFlag As Boolean
Dim mbDataChanged As Boolean

Private Sub Form_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then
SendKeys "{tab}"
KeyAscii = 0
End If

End Sub

Private Sub Form_Load()


Set PrimaryCLS = New clsSERVICIO

Dim oText As TextBox


'Enlaza los cuadros de texto con el proveedor de datos
For Each oText In Me.txtField s
oText.DataMember = "Primary"
Set oText.DataSource = PrimaryCLS
Next
End Sub

Private Sub Form_Resize()


On Error Resume Next
lblStatus.Width = Me.Width - 1500
cmdNext.Left = lblStatus.Width + 700
cmdLast.Left = cmdNext.Left + 340
End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)


If mbEditFlag Or mbAddNewFlag Then Exit Sub

Select Case KeyCode


Case vbKeyEscape
cmdClose_Click
Case vbKeyEnd
cmdLast_Click
Case vbKeyHome
cmdFirst_Click
Case vbKeyUp, vbKeyPageUp
If Shift = vbCtrlMask Then
cmdFirst_Click
Else
cmdPrevious_Click
End If
Case vbKeyDown, vbKeyPageDown
If Shift = vbCtrlMask Then
cmdLast_Click
Else
cmdNext_Click
End If
End Select
End Sub

Private Sub Form_Unload(Cancel As Integer)


Screen.MousePointer = vbDefault
End Sub

Private Sub PrimaryCLS_MoveComplete()


'Esto mostrará la posición de registro actual para este Recordset
lblStatus.Caption = "Record: " & CStr(PrimaryCLS.AbsolutePosition)
End Sub

Private Sub cmdAdd_Click()


On Error GoTo AddErr
PrimaryCLS.AddNew
lblStatus.Caption = "Agregar registro"
mbAddNewFlag = True
SetButtons False

Exit Sub
AddErr:
MsgBox Err.Description
End Sub

Private Sub cmdDelete_Click()


On Error GoTo DeleteErr
PrimaryCLS.Delete
Exit Sub
DeleteErr:
MsgBox Err.Description
End Sub

Private Sub cmdRefresh_Click()


'Esto sólo es necesario en aplicaciones multiusuario
On Error GoTo RefreshErr
PrimaryCLS .Requery
Exit Sub
RefreshErr:
MsgBox Err.Description
End Sub

Private Sub cmdEdit_Click()


On Error GoTo EditErr

lblStatus.Caption = "Modificar registro"


mbEditFlag = True
SetButtons False
Exit Sub

EditErr:
MsgBox Err.Description
End Sub
Private Sub cmdCancel_Click()
On Error Resume Next

PrimaryCLS.Cancel
SetButtons True
End Sub

Private Sub cmdUpdate_Click()


On Error GoTo UpdateErr

PrimaryCLS.Update
PrimaryCLS.Requery
SetButtons True
Exit Sub
UpdateErr:
MsgBox Err.Description
End Sub

Private Sub cmdClose_Click()


Unload Me

End Sub

Private Sub cmdFirst_Click()


On Error GoTo GoFirstError

PrimaryCLS.MoveFirst
mbDataChanged = False

Exit Sub

GoFirstError:
MsgBox Err.Description
End Sub

Private Sub cmdLast_Click()


On Error GoTo GoLastError

PrimaryCLS.MoveLast
mbDataChanged = False

Exit Sub

GoLastError:
MsgBox Err.Description
End Sub

Private Sub cmdNext_Click()


On Error GoTo GoNextError

PrimaryCLS.MoveNext
Exit Sub
GoNextError:
MsgBox Err.Description
End Sub

Private Sub cmdPrevious_Click()


On Error GoTo GoPrevError

PrimaryCLS.MovePrevious
Exit Sub

GoPrevError:
MsgBox Err.Description
End Sub

Private Sub SetButtons(bVal As Boolean)


cmdAdd.Visible = bVal
cmdUpdate.Visible = No t bVal
cmdCancel.Visible = Not bVal
cmdDelete.Visible = bVal
cmdClose.Visible = bVal
cmdRefresh.Visible = bVal
cmdNext.Enabled = bVal
cmdFirst.Enabled = bVal
cmdLast.Enabled = bVal
cmdPrevious.Enabled = bVal
End Sub
Private WithEvents PrimaryCLS As clsRUTAS2
Dim mbChangedByCode As Boolean
Dim mvBookMark As Variant
Dim mbEditFlag As Boolean
Dim mbAddNewFlag As Boolean
Dim mbDataChanged As Boolean

Private Sub Form_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then
SendKeys "{tab}"
KeyAscii = 0
End If

End Sub

Private Sub Form_Load()


Set PrimaryCLS = New clsRUTAS2

Dim oText As TextBox


'Enlaza los cuadros de texto con el proveedor de datos
For Each oText In Me.txtFields
oText.DataMember = "Primary"
Set oText.DataSource = PrimaryCLS
Next
End Sub

Private Sub Form_Resize()


On Error Resume Next
lblStatus.Width = Me.Width - 1500
cmdNext.Left = lblStatus.Width + 700
cmdLast.Left = cmdNext.Left + 340
End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)


If mbEditFlag Or mbAddNewFlag Then Exit Sub

Select Case KeyCode


Case vbKeyEscape
cmdClose_Click
Case vbKeyEnd
cmdLast_Click
Case vbKeyHome
cmdFirst_Click
Case vbKeyUp, vbKeyPageUp
If Shift = vbCtrlMask Then
cmdFirst_Click
Else
cmdPrevious_Click
End If
Case vbKeyDown, vbKeyPageDown
If Shift = vbCtrlMask Then
cmdLast_Click
Else
cmdNext_Click
End If
End Select
End Sub

Private Sub Form_Unload(Cancel As Integer)


Screen.MousePointer = vbDefault
End Sub

Private Sub PrimaryCLS_MoveComplete()


'Esto mostrará la posición de registro actual para este Recordset
lblStatus.Caption = "Record: " & CStr(PrimaryCLS.AbsolutePosition)
End Sub

Private Sub cmdAdd_Click()


On Error GoTo AddErr
PrimaryCLS.AddNew
lblStatus.Caption = "Agregar registro"
mbAddNewFlag = True
SetButtons False

Exit Sub
AddErr:
MsgBox Err.Description
End Sub

Private Sub cmdDelete_Click()


On Error GoTo DeleteErr
PrimaryCLS.Delete
Exit Sub
DeleteErr:
MsgBox Err.Description
End Sub

Private Sub cmdRefresh_Click()


'Esto sólo es necesario en aplicaciones multiusuario
On Error GoTo RefreshErr
PrimaryCLS.Requery
Exit Sub
RefreshErr:
MsgBox Err.Description
End Sub

Private Sub cmdEdit_Click()


On Error GoTo EditErr

lblStatus.Caption = "Modificar registro"


mbEditFlag = True
SetButtons False
Exit Sub

EditErr:
MsgBox Err.Description
End Sub
Private Sub cmdCancel_Click()
On Error Resume Next

PrimaryCLS.Cancel
SetButtons True
End Sub

Private Sub cmdUpdate_Click()


On Error GoTo UpdateErr

PrimaryCLS.Update
PrimaryCLS.Requery
SetButtons True
Exit Sub
UpdateErr:
MsgBox Err.Description
End Sub

Private Sub cmdClose_Click()


Unload Me

End Sub

Private Sub cmdFirst_Click()


On Error GoTo GoFirstError

PrimaryCLS.MoveFirst
mbDataChanged = False
Exit Sub

GoFirstError:
MsgBox Err.Description
End Sub

Private Sub cmdLast_Click()


On Error GoTo GoLastError

PrimaryCLS.MoveLast
mbDataChanged = False

Exit Sub

GoLastError:
MsgBox Err.Description
End Sub

Private Sub cmdNext_Click()


On Error GoTo GoNextError

PrimaryCLS.MoveNext
Exit Sub
GoNextError:
MsgBox Err.Description
End Sub

Private Sub cmdPrevious_Click()


On Error GoTo GoPrevError

PrimaryCLS.MovePrevious
Exit Sub

GoPrevError:
MsgBox Err.Description
End Sub

Private Sub SetButtons(bVal As Boolean)


cmdAdd.Visible = bVal
cmdUpdate.Visible = Not bVal
cmdCancel.Visible = Not bVal
cmdDelete.Visible = bVal
cmdClose.Visible = bVal
cmdRefresh.Visible = bVal
cmdNext.Enabled = bVal
cmdFirst.Enabled = bVal
cmdLast.Enabled = bVal
cmdPrevious.Enabled = bVal
End Sub
FASE DE TRANSICION
INSTALACIÓN Y EJECUCIÒN DEL SISTEMA

Para poder ejecutar el sistema, se deben realizar los siguientes pasos:

1. Crear una carpeta en c:\st


2. Copiar La Base de Datos y el sistema hecho en Visual Basic en dicha carpeta.
3. Restaurar la base de datos: bdtransportes
4. Crear la conexión ODBC mediante el DSN de usuario, el cual tiene como origen de
datos el nombre de: unptransportes

También podría gustarte