Académique Documents
Professionnel Documents
Culture Documents
Ingeniera de Software
M. Claudia Viviana lvarez Vega
SISTEMA DE
ADMINISTRACIN DE
ENTRADAS
ndice
Introduccin........................................................................................................ 3
Organizacin del Proyecto................................................................................... 4
Anlisis de Riesgos............................................................................................ 10
Requerimientos de Hardware y Software..........................................................13
Estimacin de Costos........................................................................................ 14
Divisin de Trabajo............................................................................................ 15
Tabla de dependencias de actividades..............................................................17
Mecanismos de Supervisin.............................................................................. 19
Necesidades del cliente.................................................................................... 21
Requerimientos del Sistema AGROBAJA............................................................22
Validaciones Sistema Agrobaja.........................................................................24
Restricciones Sistema Agrobaja:.......................................................................27
Prototipo (Mapa del sitio).................................................................................. 28
Definicin del lenguaje de programacin..........................................................33
Login de usuarios.............................................................................................. 34
Alta de usuario.................................................................................................. 38
Modificacin de usuarios................................................................................... 41
Eliminar usuarios.............................................................................................. 44
Ventas y generacin de boletos........................................................................47
Cancelacin Simple........................................................................................... 50
Cancelacin Masiva........................................................................................... 54
Quemado de boletos......................................................................................... 58
Cortes de caja................................................................................................... 62
Reportes de Personas........................................................................................ 68
Reporte Cortes de caja...................................................................................... 74
Diagrama de clases........................................................................................... 78
Diagrama Entidad Relacin............................................................................ 79
Estructura Base de Datos.................................................................................. 80
Interfaz.............................................................................................................. 81
Vista de principales........................................................................................... 81
Cdigo............................................................................................................... 87
Pgina | 1
Pgina | 2
Documento
de
Planeacin
Pgina | 3
Introduccin
Pgina | 4
Experiencia:
Cualidades:
Pgina | 5
Ingeniero de Requerimientos.
Requisitos:
Experiencia:
Cualidades:
Pgina | 6
Desarrollador.
Requisitos:
Experiencia:
Cualidades:
Pgina | 7
Diseador.
Requisitos:
Experiencia:
Cualidades:
Pgina | 8
Ingeniero de Pruebas.
Requisitos:
Experiencia:
Cualidades:
Pgina | 9
Convocatoria.
Entrevista y Reclutamiento.
Pgina | 10
Anlisis de Riesgos
El anlisis de riesgos define las amenazas latentes a las que se puede enfrentar un proyecto. A continuacin se definen
los que aplican a este proyecto en particular:
Riesgos
Probabilidad
Efecto/impacto
30%
Leve
30%
Leve
30%
Estrategia
Costo (Semana
$5,000
Leve
$3,000
30%
Leve
$4,000
30%
Leve
$3,300
10%
Leve
$30,000
10%
Moderado
$60,000
10%
Moderado
$5,000
Renuncia de Personal
20%
Serio
$5,000
Pgina | 11
$4,500
Huelga
10%
Serio
Inexperiencia de Empleados
20%
Leve
Falta de Capacitacin
20%
Leve
Falta de Comunicacin
25%
Leve
Equivocacin a Instrucciones
30%
Leve
20%
Moderado
10%
Moderado
Prdida de Datos
25%
Moderado
Desastre Natural
25%
Moderado
Incendio
10%
Leve
Falla de Equipos
35%
Serio
10%
Serio
15%
Moderado
Pgina | 12
$20,000
$10,000
$25,000
$2,000
$2,000
$2,500
$5,000
10,000
$6,000
$25,000
$3,000
$10,000
$7,500
30%
Moderado
$15,000
Incompatibilidad de sistema de
computo
15%
Leve
$2,000
Pgina | 13
$262,800
$172,800
$781,200
Para dar inicio al desarrollo del proyecto es necesario cumplir con los siguientes
requerimientos de hardware y software.
Pgina | 14
Estimacin de Costos
Costos Directos
Descripcin
A) Sueldos:
Lder
Ing. De Requerimientos
Diseador
Desarrollador x2
Ing. De Pruebas
Total Sueldos
Precio / Mes
Precio (6 Meses)
$20,000.00
$18,000.00
$12,000.00
$15,000.00
$13,400.00
$93,400.00
$560,400.00
B) Req. Hw/Sw:
SW. Codeanywhere
Portatil Dell x6
Scanner Symbl x2
Impresora Zebra x2
$360.00
$2,160.00
$64,800.00
$8,028.00
$30,636.00
Costos Indirectos
Papelera
Luz
Agua
Telfono/Internet
Gasolina
$2500.00
$400.00
$400.00
Total
Costos Ocultos
$781,200.00
Divisin de Trabajo
Pgina | 15
$1,036.00
$15,000.00
$2,400.00
$2,400.00
$1,800.00
$688,660.00
$4,687,200.00
Disear los diagramas de los procesos para cada uno de los mdulos y
sub-mdulos.
Disear la base de datos para el sistema. (Tablas, tipo de datos, relaciones,
etc.)
Crear la base de datos dentro del manejador para su manipulacin
posterior.
Disear las vistas para cada mdulo y sub-mdulo.
Crear la propuesta visual del sistema en conjunto.
Adecuar los criterios de diseo a las caractersticas del entorno donde se
vaya a implementar el sistema.
Crear el diseo front-end del sistema.
Apoyar en la realizacin del plan de Calidad.
Elaborar el diseo del Plan de Mantenimiento.
Crear el cdigo para cada mdulo y sub-mdulo del sistema siguiendo los
requerimientos funcionales del sistema.
Crear el cdigo que permita las validaciones y restricciones establecidas
por el diseador.
Modificar el cdigo de ser necesario ante algn cambio de requerimientos
por parte del cliente.
Realizar el Plan de mantenimiento.
Pgina | 17
# Tarea
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Tareas / Actividades
Primera cita introductoria del lder del proyecto con el cliente.
Elaborar la Introduccin del Docto. Planeacin.
Establecer la organizacin del proyecto.
Definir los roles y perfiles de los integrantes del proyecto.
Procesos de reclutamiento y seleccin del personal.
Elaborar el Anlisis de Riesgos.
Elaborar la Divisin de trabajo.
Crear la Calendarizacin del proyecto.
Cita introductoria del equipo de ingeniera con el cliente.
Establecer los mecanismos de supervisin.
Elaborar Estimacin costo proyecto.
Realizar el Plan de Calidad.
Realizar el Plan de Desarrollo del Personal.
Realizar el Plan de Mantenimiento.
Cita con el cliente para levantamiento de requerimientos.
Establecer Req. HW/SW.
Establecer los mdulos y sub-mdulos del sistema.
Establecer los Req. Del Sistema para c/Req. Cliente.
Establecer los Req. No Funcionales del Sistema.
Disear la Base de Datos del Sistema.
Crear la Base de Datos dentro del manejador.
Disear la vista de cada mdulo y sub-mdulo del Sistema.
Crear la propuesta visual del Sistema en conjunto.
Cita con cliente para avance de la vista del sistema en busca de
cambios.
Disear Diagramas (Caso de Uso, Secuencia y Procesos) de Login
y ABC de Usuarios.
Disear Funciones y Procedimientos de Login y ABC de Usuarios.
Disear Diagramas (Caso de Uso, Secuencia y Procesos) de
Venta de Boletos.
Disear Funciones y Procedimientos de Venta de Boletos.
Disear Diagramas (Caso de Uso, Secuencia y Procesos) de
Cancelacin Simple y Masiva de Boletos.
Disear Funciones y Procedimientos de Cancelacin Simple y
Masiva de Boletos.
Disear Diagramas (Caso de Uso, Secuencia y Procesos) de
Quemado de Boletos.
Disear Funciones y Procedimientos de Quemado de Boletos.
Disear Diagramas (Caso de Uso, Secuencia y Procesos) de
Cortes de Caja.
Disear Funciones y Procedimientos de Cortes de Caja.
Disear Diagramas (Caso de Uso, Secuencia y Procesos) de
Reportes de persona.
Disear Funciones y Procedimientos de Reportes de personas.
Disear Diagramas (Caso de Uso, Secuencia y Procesos) de
Reportes de Cortes de Caja.
Pgina | 18
Dep./ Req.
2
2
4
4
6
6
8
8
8
11
12
8
8
8
16
16
18
19
20
21
22
23
24
24
26
26
28
28
30
30
32
32
34
34
34
38
39
40
41
42
43
44
45
46
47
48
49
Pgina | 19
34
38
39
40
41
41
43
43
45
46
Mecanismos de Supervisin
Pgina | 20
Documento
de
Requerimient
os
Pgina | 21
Pgina | 22
7. Cancelacin Masiva
Pgina | 23
Pgina | 24
Inicio de Sesin:
1.- El usuario debe de estar registrado en la base de datos.
2.- La contrasea debe de ser igual a la correspondiente al usuario ingresado.
3.- Se debe mostrar la ventana con las restricciones de acuerdo a los tipos de
usuario. Las restricciones por tipo de usuario se encuentran detallados en la
seccin de Restricciones del Sistema Agrobaja.
Usuarios
1.- Solo los administradores son los encargados de dar de alta usuarios.
2.- El usuario debe de proporcionar su nombre, un nombre de usuario para
registrarse en el sistema irrepetible, una contrasea que pueda recordar
fcilmente y de acuerdo a la tarea que elaborar, el administrador le dar un rol
o tipo de usuario entre los cuatro existentes: Administrador, Supervisor,
Taquillero y Portero. Las restricciones de cada rol estn definidas en la seccin
de restricciones.
3.- El usuario debe contener un identificador (ID) nico e irrepetible, que se
asignar automticamente al registrarse en la base de datos.
Venta:
1.- Debe ingresarse al menos un boleto de cada tipo o tarifa: Adultos, Nios,
Capacidades Diferentes, Adultos Mayores. De lo contrario regresar un mensaje
de alerta.
2.- El total a pagar debe coincidir con el resultado la suma de las
multiplicaciones de los nmeros de boletos de cada tarifa por el precio de cada
tarifa.
3.- El pago debe ser igual o mayor al total a pagar. En caso de ser mayor, el
sistema debe lanzar una alerta mostrando cual es el total a devolver al cliente.
4.-El sistema debe proporcionar un folio de venta consecutivo, con un nmero
posterior a la ltima venta realizada; ninguna venta debe tener el mismo folio.
5.- El sistema debe imprimir un tiquete mostrando la informacin de la venta:
Folio, fecha, cantidad de boletos y su desglose por tarifa, monto total por tarifa
y la suma de estas, as como un cdigo de barras nico.
Pgina | 25
Venta masiva:
1.- Para activar la venta masiva se debe de activar o palomear una casilla, que
nos indique que la venta no ser simple, sino masiva.
2.- Solo los administradores del sistema podrn realizar una venta masiva, por
lo que est destinada a la preventa, aunque no se exenta de realizarse durante
los das del evento.
3.- Debe de ingresarse al menos un boleto de cada tipo o tarifa, de lo contrario
regresar un mensaje de alerta, adems se tiene que proporcionar una
referencia de preferencia relacionada a quienes estn destinados los boletos.
4.- El pago debe ser igual o mayor al total a pagar. En caso de ser mayor, el
sistema debe lanzar una alerta mostrando cual es el total a devolver al cliente.
5.- El sistema generara un archivo PDF que contendr los boletos o tiquetes
del nmero ingresado de boletos requeridos para su posterior envi por
cualquier medio.
6.-El sistema debe proporcionar un folio de venta consecutivo a cada boleto,
con un nmero posterior al ltimo boleto generado. Ningn boleto debe tener el
mismo folio.
7.- Esta seccin dentro del sistema no se encuentra disponible para una fase
de prueba, o la fase actual dado el tiempo y uso que se le dar al sistema en
un tiempo cercano.
Cancelaciones
1.- Solo los administradores y supervisores son los encargados de realizar las
cancelaciones.
2.- Se debe de ingresar el folio de la venta o boleto a cancelar. Este debe
coincidir con una venta ya realizada registrada en la base de datos.
3.- Se debe ingresar la contrasea de un usuario tipo Administrador o
Supervisor, de lo contrario el sistema debe lanzar una alerta de que la
contrasea es incorrecta o no es vlida para la operacin.
4.- En la base de datos el estatus del boleto o venta debe cambiar a
Cancelado
Pgina | 26
Cancelaciones Masivas.
1.- Solo los administradores son los encargados de realizar cancelaciones
masivas.
2.- Se debe ingresar la referencia de los boletos que se van a cancelar de la
lista de referencias que aparecer.
3.- Se debe ingresar una contrasea de un usuario tipo Administrador para
poder completar la operacin, de lo contrario el sistema lanzar una alerta.
4.- En la base de datos el estatus de los boletos o venta debe cambiar a
Cancelado.
5.- La cancelacin masiva se encuentra disponible a pesar de que la venta
masiva an no lo est puesto que cuando se pensaron ambas secciones, se
hizo primero la cancelacin y posteriormente la venta masiva pero por
cuestiones de tiempo y organizacin se dej de lado la venta masiva, pero el
sistema an conserva la seccin de cancelacin masiva para un futuro uso.
Reportes
1.- Solo el administrador puede generar un reporte.
2.- Los reportes se generaran en un archivo PDF de acuerdo a los
requerimientos ingresados. Se generara una consulta a la base de datos
Pgina | 27
Pgina | 28
Ventas
Ventas Masivas
Usuarios
Cancelacin Masiva.
Reportes
Quemado de boletos (Puerta)
Taquillero:
Ventas Masivas
Usuarios
Cancelacin
Cancelacin Masivas
Reportes
Quemado de boletos (Puerta)
Corte de Caja
Portero:
Ventas
Ventas Masivas
Usuarios
Cancelacin.
Cancelacin Masiva
Reportes
Corte de Caja
Pgina | 29
Prototipo ndex
Prototipo principal
Pgina | 30
Prototipo ventas
Pgina | 31
Corte de cajas
Pgina | 32
Prototipo reportes
Pgina | 33
Pgina | 34
Documento
de
Diseo
Pgina | 35
elementos.
PHP: Para establecer comunicacin y llevar a cabo acciones en la base de
datos.
JavaScript: Para la validacin de los datos al momento de ingresarlos,
instrucciones programadas, etc. Adems dentro del lenguaje se utilizara la
librera JQuery.
SQL: Para crear las sentencias de la base de datos que nos permitan las
altas, bajas y cambios de la informacin. Nota: Codeanywhere ofrece una
herramienta para gestionar la base de datos de manera grfica llamada
PHPmyAdmin.
CSS: Para darle estilo y vistas a los diferentes mdulos del software.
Pgina | 36
Login de usuarios
Caso de uso
Pgina | 37
Funciones
Funcin validar_Usuario(usuario){
Resultado = Select * From usuarios where usuario = usuario;
If(numero_columnas(Resultado)==0){
Imprimir=Usuario incorrecto;
}
}
Funcin validar_contrasea(contrasea){
Resultado = Select * From usuarios where contrasea = contrasea;
If(numero_columnas(Resultado)==0){
Imprimir=Contrasea incorrecta;
}
}
Pgina | 38
Diagrama de secuencia
Pgina | 39
Diagrama de procesos
Pgina | 40
Alta de usuario
Caso de uso
Pgina | 41
Diagrama de secuencia
Pgina | 42
Diagrama de procesos
Pgina | 43
Modificacin de usuarios
Caso de uso
nombre,
contrasea,
tipo_Usuario,
Pgina | 44
Diagrama de secuencia
Pgina | 45
Diagrama de procesos
Pgina | 46
Eliminar usuarios
Caso de uso
Pgina | 47
Diagrama de secuencia
Pgina | 48
Diagrama de procesos
Pgina | 49
Funciones
Funcin registrar_Venta(id_Boleto, estatus_Boleto, tipo_Boleto, id_Usuario, total,
referencia_Boleto, cortesia){
Resultado = Insert Into usuarios (idBoleto, 1, tipoBoleto, id_Usuario, total,
referenciaBoleto, cortesia) Values(id_Boleto, estatus_Boleto, tipo_Boleto,
id_Usuario, total, referencia_Boleto, cortesia);
}
Pgina | 50
Diagrama de secuencia
Pgina | 51
Diagrama de procesos
Pgina | 52
Cancelacin Simple
Caso de uso
Funciones
Funcin validar_contrasea(contrasea){
Resultado = Select * from usuarios where contrasea = contrasea;
if (numero_columnas(Resultado) = 0) {
imprimir=contrasea incorrecta
Pgina | 53
}
}
Funcin validar_folio(folio_boleto){
Resultado = Select * from boletos where idBoleto = folio_boleto;
If(numero_columnas(Resultado) = 0){
Imprimir=folio incorrecto
}
}
Funcin cancelar_boleto(folio_boleto){
Resultado = UPDATE boletos SET status = 2 WHERE idBoleto = folio_boleto
If(numero_columnas(resultado) > 0){
Imprimir Boleto cancelado
}
}
Pgina | 54
Diagrama de secuencia
Pgina | 55
Diagrama de procesos
Pgina | 56
Cancelacin Masiva
Caso de uso
Pgina | 57
Funciones
Funcin validar_contrasea(contrasea){
Resultado = Select * from usuarios where contrasea = contrasea;
if (numero_columnas(Resultado) = 0) {
imprimir=contrasea incorrecta
}
}
Funcin validar_referencia(refencia_boleto){
Resultado = Select * from boletos where referencia = referencia_boleto;
If(numero_columnas(Resultado) = 0){
Imprimir=referencia incorrecta
}
}
Funcin cancelacin_masiva(referencia_boleto){
Resultado = UPDATE boletos SET status = 2 WHERE referencia =
referencia_boleto
If(numero_columnas(resultado) > 0){
Imprimir Boletos cancelados
}
}
Pgina | 58
Diagrama de secuencia
Pgina | 59
Diagrama de procesos
Pgina | 60
Quemado de boletos
Caso de uso
Pgina | 61
Funciones
Funcin Entrada(id_Boleto){
Resultado = a.idBoleto, a.estatusBoleto, a.fechaCompra, a.fechaAdmision,
a.cortesia, b.idTarifa, b.cantidad From boletos AS a Inner Join detallesBoletos AS b
on a.idBoleto = b.idBoleto Where a.idBoleto =id_Boleto;
}
Funcin quemar_Boleto(id_boleto){
Resultado = Update boletos Set estatusBoleto = 2, fechaAdmision = NOW() Where
idBoleto = id_Boleto;
}
Funcin consultarDetalles(id_Boleto){
Resultado = Select * From boletos Where idBoleto = id_Boleto;
}
Pgina | 62
Diagrama de secuencia
Pgina | 63
Diagrama de procesos
Pgina | 64
Cortes de caja
Caso de uso
Pgina | 65
Funciones
Funcin validar_Usuarios(contrasea_Supervisor){
Resultado = Select * From usuarios Where contrasea = contrasea_Supervisor;
If(numero_columnas(resultado) > 0){
If(columna(tipoUsuario) = Administrador Supervisor){
Id_Supervisor = columna(idUsuario);
}
}
Resultado2 = Select * From usuarios Where usuario = Sesion_actual(usuario);
If(numero_columnas(resultado) > 0){
If(columna(tipoUsuario) = Administrador Supervisor Taquillero){
Id_Taquillero = columna(idUsuario);
}
}
}
Pgina | 66
Funcin consultar_Monto_Boletos(){
Resultado = Select Sum(total) total_Monto as From boletos Where idTaquillero =
Sesion_actual(id_Usuario) AND tipoBoleto = 1 AND cortesa = 0 AND
(estatusBoleto = 1 or estatusBoleto = 2);
Imprimir total_Monto;
}
Funcin consultar_Monto_Cortes_Caja(){
Resultado = Select Sum(monto_Pesos + monto_Dolares + monto_Vouchers) as
total From corteCajas Where idTaquillero = Sesion_actual(id_Usuario);
Imprimir total;
}
Funcin actualizar_Monto_Caja_Actual(monto_Caja_Actual){
Resultado
=
Select
Sesion_Actual(idUsuario);
Form
montoCaja
Where
idTaquillero
Pgina | 67
montoCajaActual)
Values
Funcin consultar_Monto_Caja_Actual(){
Resultado
=
Select
montoCajaActual
Sesion_Actual(idUsuario);
From
montoCaja
Where
From
montoCaja
Where
If(columna(montoCajaActual)>=1500){
Imprimir Solicitar corte de caja;
}
Else{
Imprimir Seguir vendiendo;
}
}
Funcin mostrar_Monto_Caja_Actual(){
Resultado
=
Select
montoCajaActual
Sesion_Actual(idUsuario);
Imprimir columna(montoCajaActual);
}
Pgina | 68
Diagrama de secuencia
Pgina | 69
Diagrama de procesos
Pgina | 70
Reportes de Personas
Caso de uso
Pgina | 71
Funciones
Vendidos ();
reporteTotalBoletos(){
"SELECT SUM(cantidad) as total FROM detalleBoletos"; }
totalAdultos(){
"SELECT SUM(cantidad) as total FROM detalleBoletos WHERE idTarifa=1"; }
totalNino(){
"SELECT SUM(cantidad) as total FROM detalleBoletos WHERE idTarifa=2"; }
total3Edad(){
"SELECT SUM(cantidad) as total FROM detalleBoletos WHERE idTarifa=3"; }
totalCapacidadesDif(){
"SELECT SUM(cantidad) as total FROM detalleBoletos WHERE idTarifa=4"; }
Dentro();
personasAdentro(){
"SELECT SUM(cantidad) as total FROM detalleBoletos JOIN boletos ON
detalleBoletos.idBoleto = boletos.idBoleto WHERE estatusBoleto=2"; }
totalAdultosAdentro(){
"SELECT SUM(cantidad) as total FROM detalleBoletos JOIN boletos ON
detalleBoletos.idBoleto = boletos.idBoleto WHERE detalleBoletos.idTarifa=1 AND
boletos.estatusBoleto=2"; }
totalNinoAdentro(){
"SELECT SUM(cantidad) as total FROM detalleBoletos JOIN boletos ON
detalleBoletos.idBoleto = boletos.idBoleto WHERE detalleBoletos.idTarifa=2 AND
boletos.estatusBoleto=2"; }
Pgina | 72
total3EdadAdentro(){
"SELECT SUM(cantidad) as total FROM detalleBoletos JOIN boletos ON
detalleBoletos.idBoleto = boletos.idBoleto WHERE detalleBoletos.idTarifa=3 AND
boletos.estatusBoleto=2"; }
totalCapacidadesDifAdentro(){
"SELECT SUM(cantidad) as total FROM detalleBoletos JOIN boletos ON
detalleBoletos.idBoleto = boletos.idBoleto WHERE detalleBoletos.idTarifa=4 AND
boletos.estatusBoleto=2"; }
Por_Entrar();
personasFuera(){
"SELECT SUM(cantidad) as total FROM detalleBoletos JOIN boletos ON
detalleBoletos.idBoleto = boletos.idBoleto WHERE estatusBoleto=1"; }
totalAdultosFuera(){
"SELECT SUM(cantidad) as total FROM detalleBoletos JOIN boletos ON
detalleBoletos.idBoleto = boletos.idBoleto WHERE detalleBoletos.idTarifa=1 AND
boletos.estatusBoleto=1"; }
totalNinoFuera(){
"SELECT SUM(cantidad) as total FROM detalleBoletos JOIN boletos ON
detalleBoletos.idBoleto = boletos.idBoleto WHERE detalleBoletos.idTarifa=2 AND
boletos.estatusBoleto=1"; }
total3EdadFuera(){
"SELECT SUM(cantidad) as total FROM detalleBoletos JOIN boletos ON
detalleBoletos.idBoleto = boletos.idBoleto WHERE detalleBoletos.idTarifa=3 AND
boletos.estatusBoleto=1"; }
Pgina | 73
totalCapacidadesDifFuera(){
"SELECT SUM(cantidad) as total FROM detalleBoletos JOIN boletos ON
detalleBoletos.idBoleto = boletos.idBoleto WHERE detalleBoletos.idTarifa=4 AND
boletos.estatusBoleto=1"; }
Cancelados()
personasCancelados(){
"SELECT SUM(cantidad) as total FROM detalleBoletos JOIN boletos ON
detalleBoletos.idBoleto = boletos.idBoleto WHERE estatusBoleto=3"; }
totalAdultosCancelados(){
"SELECT SUM(cantidad) as total FROM detalleBoletos JOIN boletos ON
detalleBoletos.idBoleto = boletos.idBoleto WHERE detalleBoletos.idTarifa=1 AND
boletos.estatusBoleto=3"; }
totalNinoCancelados(){
"SELECT SUM(cantidad) as total FROM detalleBoletos JOIN boletos ON
detalleBoletos.idBoleto = boletos.idBoleto WHERE detalleBoletos.idTarifa=2 AND
boletos.estatusBoleto=3"; }
total3EdadCancelados(){
"SELECT SUM(cantidad) as total FROM detalleBoletos JOIN boletos ON
detalleBoletos.idBoleto = boletos.idBoleto WHERE detalleBoletos.idTarifa=3 AND
boletos.estatusBoleto=3"; }
totalCapacidadesDifCancelados(){
"SELECT SUM(cantidad) as total FROM detalleBoletos JOIN boletos ON
detalleBoletos.idBoleto = boletos.idBoleto WHERE detalleBoletos.idTarifa=4 AND
boletos.estatusBoleto=3"; }
Pgina | 74
Diagrama de secuencia
Pgina | 75
Diagrama de procesos
Pgina | 76
Pgina | 77
Funciones
ConsultarTaquillero();
ConsultarUsuariosReportes(){
"SELECT usuario FROM usuarios WHERE tipoUsuario IN (1,2,3)"; }
ConsultarIds(){
"SELECT idUsuario FROM usuarios WHERE tipoUsuario IN (1,2,3)"; }
General();
consultarTaquillerosGeneral(){
"SELECT * FROM corteCajas JOIN usuarios ON corteCajas.idTaquillero =
usuarios.idUsuario"; }
xTaquillero();
consultarTaquilleros(){
"SELECT * FROM corteCajas WHERE idTaquillero = idTaquillero"; }
Pgina | 78
Diagrama de secuencia
Pgina | 79
Diagrama de procesos
Pgina | 80
Diagrama de clases
Pgina | 81
Pgina | 82
Pgina | 83
Interfaz
LOGIN
Vista de principales
PRINCIPAL ADMINISTRADOR
PRINCIPAL TAQUILLERO
Pgina | 84
PRINCIPAL SUPERVISOR
PRINCIPAL PORTERO
VISTA USUARIOS
Pgina | 85
ALTA DE USUARIOS
MODIFICACIN DE USUARIOS
BAJA DE USUARIOS
Pgina | 86
VISTA VENTAS
Pgina | 87
VISTA DE REPORTES
Pgina | 88
Pgina | 89
Cdigo
<?php
include 'config.php'; // Incluimos el archivo de configuracin
require 'lib/usuarios.php'; // Requerimos la clase de usuarios
$usuarios = new usuarios($datosConexionBD); //Instanciamos la clase
usuarios
?>
<!-- Empezando con HTML5 -->
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Sistema de Administracin de Entradas</title> <!-Encabezado de la pna-->
<link rel="stylesheet" href="css/almacen/index.css" /> <!-Archivo de Hoja de Estilo que se usar ara decorar la pna-->
<script type="text/javascript" src="../../js/jquery2.1.4.min.js"></script> <!--Carga los archivos de javascript-->
<!--incluimos librerias para las alertas "bonitas"-->
<link rel="stylesheet" type="text/css"
href="alertas/style/freeow/freeow.css" />
<script type="text/javascript"
src="alertas/jquery.freeow.js"></script>
<!--se terminan de incluir las alertas "bonitas"-->
<!--<script type="text/javascript" src="../../js/menu.js"></script>
<!--Carga los archivos de javascript-->
<script type="text/javascript">
$(document).ready(function(){
$("#loginUsuario").submit(function(e){ //Al dar clic en el
botn del formulario "loginUsuario" se realizar las siguientes instrucciones:
Pgina | 90
'&contrasenia='+$
//Se enva la contrasea
}).done(function(result) {
if (result == "Contrasenia
incorrecta"){ //Si el return es "contrasenia correcta",
$("#freeoww").freeow("Aviso:
",result, { //se carga la alerta en el div freeow
classes: ["gray", "alert"],}); //se elijen
las clases para darle atributos a la alerta.
//alert (result);
//Se
window.location
= "principalAdmin.php";
}else{
if (result==2){
window.location = "principalSupervisor.php";
}else{
if
(result==3){
window.location = "principalTaquilla.php";
}else{
window.location = "vistas/entrada/formEntrada.php";
}
}
}
}
}
});
return false; //Regresa valor falso.
});
});
</script>
</head>
<body>
<div id="agrupar">
Pgina | 92
Pgina | 93
<?php
session_start();//la funcion session_start inicia una sesion en php
var $usuario;
var $contrasenia;
var $estatusBoleto;
atributo
var $folio;
var $referencia;
//echo "bien";
$mysqli = new mysqli($this->datosConexionBD[0], $this>datosConexionBD[1], $this->datosConexionBD[2], $this>datosConexionBD[3]);//Datos provenientes del archivo config.php que contienen
todos los datos de la BD
//check connection
if(mysqli_connect_errno()){//funcion reservada que regresa el numero de
error de mysql
Pgina | 94
Pgina | 95