Documente Academic
Documente Profesional
Documente Cultură
Victoria
Modelo de Educacin a Distancia.
Fundamentos de Ingeniera de
Software.
Maestra: Lic. Karina Yazmn Gmez
Martnez.
Unidad 5: Modelo de
Implementacin.
Etapa 4.
Francisco Javier Czares Limn.
No. Control: 10380054.
Unidad CEDES Nuevo Laredo
Introduccin.
Definicin del problema
Objetivos.
a. General.
b. Especifico.
Antecedentes.
Restricciones.
a. Factores Datos.
b. Factores Estratgico.
Recursos.
a. Humanos.
b. Hardware.
c. Software.
Proceso de Ingeniera de Requisitos.
a.
b.
c.
d.
e.
Modelado de Anlisis.
a.
b.
c.
d.
Modelo de diseo.
a.
b.
c.
d.
Modelo de Implementacin.
Introduccin.
El tema que se hablara es de la problemtica que se presenta en el Hotel de nuestro
cliente, en donde los recepcionistas siguen llenando en bitcoras las reservas de
habitaciones, los check in y los check out, nuestro cliente requerir de un software que
le facilite su problemtica y de esta manera brindar un mejor servicio a sus huspedes
y personal del Hotel
Nuestra obligacin es hacer el trabajo lo ms simple y para esto se les desarrollara un
software con todos los problemas presentados por el cliente como los son:
reservaciones, check in y check out.
De esta manera se estar cumpliendo con las exigencias y necesidades de nuestro
cliente.
Escenario.
20 Habitaciones sencillas.
40 Habitaciones familiares.
Normalmente son las preferidas por las familias, grupos de amigos y parientes
que desean alojarse juntos en la misma habitacin, se pueden albergar hasta 5
personas y todas tienen bao completo en la habitacin. Servicios incluidos (2
cama matrimonial y 1 sencilla, aire acondicionado, tv color con cable/control
remoto, telfono con acceso directo con lada nacional e internacional, bao
privado con agua fra y caliente, mesa de trabajo, room service, servicio
despertador).
Objetivos.
General.
El sistema ser amigable, y de fcil uso para los recepcionistas.
El sistema deber de gestionar las reservaciones, entradas y salidas de huspedes de
manera eficiente y minimizar el tiempo de bsqueda y gestin de estos mismos.
Especifico.
Cumplir con todas las necesidades del cliente y tomar en cuenta sus mtodos y
procedimientos desarrollados por ellos mismos.
Analizar los procedimientos para las reservaciones, entradas y salidas de huspedes.
Documentar y mejorar los procedimientos e implementar sistemas de mejora continua.
Antecedentes.
Se cuenta actualmente con los siguientes documentos aportados por la administracin
del Hotel:
Manual de operaciones.
Descripcin y Organigrama de los empleados.
Bitcoras utilizadas por los recepcionistas.
Copias de formatos de llenado en bitcora y datos utilizados para su correcto
llenado.
Procedimientos y/o mtodos que desarrollaron los empleados (Recepcin)
atreves del tiempo.
MSDN Microsoft Visual Fox Pro 9.0 (Actualizado para SP2), este nos sirve
como referencia de nuestro lenguaje de programacin.
MySQL 5.0 Reference Manual, sirve de referencia en cuanto a base de datos y
su correcta programacin.
Manual de procedimientos ISO 9001:2008 para control de calidad. (Como
referencia solamente, no se contar con acreditacin por parte de la entidad
certificadora).
Administering and Maintaining Windows 7 (Como referencia al Sistema
Operativo).
Restricciones.
Factores Datos.
Tomando encuentra que se tiene una inversin por parte de los accionistas para este
proyecto, como restricciones se tienen tiempos de entrega de proyecto corto y un
rpido retorno de inversin. A dems de tener una limitante de 6 Licencias por parte de
Microsoft que fueron adquiridas por la administracin, se deber de reducir a 6
equipos de cmputo para no infringir legalmente su uso y un solo servidor ya que este
ltimo tambin fue adquirido por parte del Hotel.
Factores Estratgico.
Por la naturaleza de este proyecto, se ha optado por implementar una estructura
cliente-servidor en los servicios de datos y aplicacin. Se utilizar la plataforma
Microsoft en sistemas operativos de red y de cliente por el soporte 24/7 que ofrecen
las licencias. A nivel Servidor de datos se ha optado por la plataforma de Software
Libre MySQL Server para reducir costos en licencias y por su nivel de robustez y
facilidad de implementacin. Se utiliza un diseo bottom-up para la implementacin del
proyecto empezando por los niveles operacionales ms crticos y subiendo a niveles
Recursos.
Recursos Humanos.
Puestos:
Puesto
Director Gral.
Administrador del Hotel
Recursos Humanos
Recepcin
Auxiliares
Asistente del Director Gral.
Reclutador y capacitador
Jefe de Recepcionistas,
Recepcionistas
Total de Personal
2
1
2
5
Seguridad.
Mantenimiento
Restaurante
Botones
Contador
Gerentes
Lavandera
Mucamas
Supervisora de Piso
Total de Empleados
Gte. de mantenimiento,
Mantenimiento
Cocineros, meseros
Aux. Contador
residente y de noche
4
10
4
1
2
4
5
5
45
Hardware.
Se contara con 6 equipos de cmputo de tipo escritorio con las siguientes
caractersticas:
De los cuales 5 sern usados por los recepcionistas y atencin a los huspedes y uno
ser utilizado para consultas en general y de uso para el gerente en turno.
Se contara tambin con un servidor de base de datos con las siguientes
caractersticas:
DVD-RW
4 Discos duros SAS de 250 Gb c/u a 15000 RPM
Por ltimo se utilizarn dos impresoras, una de ellas laser y la otra ser de matriz de
puntos.
Software.
Necesario.
Conciso.
Completo.
Consistente.
No Ambiguo.
Verificable.
Alcanzable.
Validacin de requisitos.
Una vez terminado la especificacin de requisitos, se validaron con los usuarios finales
y lderes. Se tomaron en cuenta las siguientes consideraciones: Validez, Consistencia,
Completitud, Realismo y Verificabilidad.
Una vez llegado a un acuerdo con los usuarios finales y lder se proceder a realizar la
gestin de requisitos, sin embargo se conform que si surgiesen nuevos requisitos,
estos se integraran al sistema en la prxima actualizacin programada.
Los usuarios proceden a firmar de acuerdo con los requisitos.
Gestin de requisitos.
Se realiz la siguiente matriz de dependencia de requisitos, que muestra cuales requisitos estn en funcin de otros requisitos.
RFRSV-001
RFRSV-002
RFRSV-003
RFRSV-004
RFRSV-005
RFRSV-006
RFCTA-001
RFCTA-002
RFCTA-003
RFCTA-004
RFCTA-005
RFCTA-006
RFCTA-007
RFRSV-002
RFRSV-003
RFRSV-004
RFRSV-005
RFRSV-006
RFCTA-001
RFCTA-002
RFCTA-003
RFCTA-004
RFCTA-005
RFCTA-006
RFCTA-007
X
X
X
X
X
X
X
X
X
X
X
Requisito
RFSIS-001
RFSIS-002
RFSIS-003
RFSIS-004
RFRSV-001
RFRSV-002
RFRSV-003
RFRSV-004
RFRSV-005
RFRSV-006
RFCTA-001
RFCTA-002
RFCTA-003
RFCTA-004
RFCTA-005
RFCTA-006
RFCTA-007
NFSIS-001
NFSIS-002
NFSIS-003
NFSIS-004
NFSIS-005
Nota:
La prioridad puede ser alta (el requerimiento es crtico para el sistema), Media (el sistema
puede funcionar aunque de manera deficiente), baja (el requerimiento sera deseable
tenerlo). A travs de la columna de riesgos se puede determinar que requerimientos
debern ser probados forzosamente y cuales depender del tiempo con que se cuente.
Riesgo
ALTO
ALTO
BAJO
BAJO
ALTO
BAJO
MEDIO
MEDIO
MEDIO
BAJO
MEDIO
BAJO
MEDIO
MEDIO
MEDIO
MEDIO
MEDIO
ALTO
ALTO
ALTO
MEDIO
MEDIO
Requerimiento
RFSIS-001
RFSIS-002
RFSIS-003
RFSIS-004
RFRSV-001
RFRSV-002
RFRSV-003
RFRSV-004
RFRSV-005
RFRSV-006
RFCTA-001
RFCTA-002
RFCTA-003
RFCTA-004
RFCTA-005
RFCTA-006
RFCTA-007
NFSIS-001
NFSIS-002
NFSIS-003
NFSIS-004
NFSIS-005
Nota:
F =Funcional
D = Datos
C = Comportamiento
I = Interfaz
S = Salida
String
Numeric
Char
Char
Char
Char
Char
DateTime
DateTime
DateTime
Longit
ud
8
13
1
1
1
1
1
1
Ejemplo
"abcd0001"
Llave
Primaria
Secundari
"calf760123bm8" a
1,2,3,,9
s,d,f
s,d,f
s,d,f
s,d,f
s,d,f
06/03/2012 12:30
06/03/2012 12:30
06/03/2012 12:30
Descripcion
Se utiliza para identificar la reservacin asignada, esta es la llave principal de esta tabla
Se utiliza para identificar al cliente que realizo la reservacin
Nmero de habitacin reservadas
Tipo de habitaciones (s = sencilla, d = doble, f = familiar)
Tipo de habitaciones (s = sencilla, d = doble, f = familiar)
Tipo de habitaciones (s = sencilla, d = doble, f = familiar)
Tipo de habitaciones (s = sencilla, d = doble, f = familiar)
Tipo de habitaciones (s = sencilla, d = doble, f = familiar)
Registro de cuando se realiza da reservacin
Registro de posible fecha de llegada
Posible fecha de salida
CUENTA
Tipo de
Nombre
Dato
id_cuenta
String
fecha_llegada DateTime
fecha_salida
DateTime
Longit
ud
13
Ejemplo
"calf760123bm8"
06/03/2012 12:30
06/03/2012 12:30
Llave
Primaria
Descripcion
Igual a la del id_cliente para identificar la cuenta asociada a l.
Registro de llegada
Registro de salida
CLIENTE
Nombre
id_titular
Tipo de
Dato
String
Longitu
d
13
Ejemplo
"calf760123bm8"
nom_titular
String
255
"Francisco Javier"
app_titular
String
255
"Cazares"
apm_titular
telefono
direccion1
direccion2
ciudad
estado
String
numeric
String
String
String
String
255
10
255
255
255
255
"Limon"
8677563212
"Carretera Nacional Km 10"
"Carretera Nacional Km 10"
"Nuevo Laredo"
"Tamaulipas"
rfc_fiscal
rznscl_fiscal
String
String
13
255
"calf760123bm8"
"Razon social de la empresa"
Nombre
id_emp
Tipo de
Dato
String
nom_emp
Llave
Primaria
Secundari
a
Secundari
a
Secundari
a
Descripcin
Se utiliza para identificar al cliente
Se utiliza para almacenar el nombre del titular
Se utiliza para almacenar el apellido paterno
Se utiliza para almacenar el apellido materno
Se utiliza para almacenar el numero de telfono
Se utiliza para almacenar la direccin principal
Se utiliza para almacenar la direccin opcional
Se utiliza para almacenar el estado
Se utiliza para almacenar la ciudad
Secundari
a
Se utiliza para almacenar el RFC si procede una factura
Se utiliza para almacenar la razn social de la empresa.
Empleado
Longitu
d
13
Ejemplo
"calf760123bm8"
String
255
"Francisco Javier"
app_emp
String
255
"Cazares"
apm_emp
String
255
"Limn"
Llave
Primaria
Secundari
a
Secundari
a
Secundari
a
Descripcin
Se utiliza para identificar al empleado
Se utiliza para almacenar el nombre del empleado
Se utiliza para almacenar el apellido paterno del empleado
Se utiliza para almacenar el apellido materno del empleado
telefono
direccion1
puesto
numeric
String
String
departamento String
10
255
255
8677563212
"Carretera Nacional Km 10"
"Carretera Nacional Km 10"
255
"Nuevo Laredo"
COMPROBANTE
Nombre
folio
total_bruto
total_iva
total_neto
desgloce1
desgloce2
Tipo de
Dato
String
float
float
float
String
String
id_cuenta
tipo
String
Char
Longit
ud
Ejemplo
8
"ABCD001"
8
12535.25
8
12535.25
8
12535.25
255
"Habitacion 101, 102, 103"
255
"Servicio de lavanderia"
13
1
"calf760123bm8"
s,f
Llave
Primaria
Se
Se
Se
Se
Se
Se
utiliza
utiliza
utiliza
utiliza
utiliza
utiliza
para
para
para
para
para
para
almacenar
almacenar
almacenar
almacenar
almacenar
almacenar
el
el
el
el
el
el
Descripcin
nmero de folio del comprobante
costo bruto de la cuenta
tipo de IVA (11% o 16%)
total neto de la cuenta
desglose de la cuenta
desglose de la cuenta si el espacio 1 no es suficiente
Secundari
a
Igual a la del id_cliente para identificar la cuenta asociada a l.
Indica el tipo de comprobante que es (s = sencillo, f = factura)
HABITACION
Nombre
id_habitacion
tipo_hab
cap_hab
estado_hab
tel_hab
asignado
descripcion1
descripcion2
Nombre
id_cuenta
id_producto
producto_prec
Tipo de
Dato
String
Char
Numeric
Char
numeric
String
String
String
Longit
ud
3
1
1
1
3
13
255
255
Tipo de Dato
String
String
float
Ejemplo
Llave
101
Primaria
s,d,f
1,2,3,,9
o, l, r, d
102
"calf760123bm8"
"Cama doble, frigobar, TV"
" Ropero, mesa de noche"
Longitud
13
10
8
Ejemplo
"calf760123bm8"
"refresco01"
12.5
Descripcin
Se utiliza para identificar la habitacin
Tipo de habitaciones (s = sencilla, d = doble, f = familiar)
Se indica la capacidad de personas que tiene la habitacin
o = ocupada, l = en limpieza, r = reservada, d = disponible
almacena la extensin telefnica de la habitacin
Se utiliza para identificar al titular de la cuenta, asignada a la habitacin
Se utiliza para almacenar las especificaciones de la habitacin
Se utiliza para almacenar las especificaciones de la habitacin
Consumo
Llave
Descripcion
Secundaria Igual a la del id_cliente para identificar la cuenta asociada a l.
Se utiliza para identificar el producto
Se utiliza para almacenar el precio del producto
Diagrama Entidad-Relacin
2. Check In
3.
Generacin de consumos
4. Check Out
Especificacin de procesos
1. Alta reservacin:
Inicio
Mostrar (Datos de Reservacin)
Mostrar (Ingrese cantidad de habitaciones a reservar)
Leer num_hab
Si num_hab <= 5 entonces
Mostrar (Ingrese nombre del titular)
Leer nom_titular
Mostrar (Ingrese apellido paterno del titular)
Leer app_titular
Mostrar (Ingrese apellido materno del titular)
Leer apm_titular
2. Consulta Reservacin.
Inicio
Mostar (Introduzca Numero de reservacin)
Leer num_reservacion
Buscar(num_reservacion)
Si encontro() entonces
Reservacion = LeerRegistro(Num_reservacion)
Nombre = LeerRegistro(nom_titular)
Paterno = LeerRegistro(app_titular)
Materno = LeerRegistro(apm_titular)
tipoHab = LeerRegistro(Tipo)
fecha1 = LeerRegistro(fecha_llegada)
fecha2 = LeerRegistro(fecha_salida)
fecha3 = LeerRegistro(fecha_sol)
Mostrar(Reservacion)
Mostrar(Nombre)
Mostrar(Paterno)
Mostrar(Materno)
Mostrar(tipoHab)
Mostrar(fecha1)
Mostrar(fecha2)
Mostrar(fecha3)
Si no
Mostrar(No ha hecho una reservacin)
Endsi
Fin
3. Baja Reservacin
Incio
Mostar (Introduzca Numero de reservacin)
Leer num_reservacion
Buscar(num_reservacion)
Si encontro() entonces
Mostrar (Esta seguro que desea eliminar la reservacion)
Leer Op
Si op = S o op=s entonces
eliminarReservacion(num_reservacion)
finsi
sino
Mostrar(No ha hecho una reservacin)
finsi
Fin
4. Check In
Inicio
Mostrar (Regristro de CheckIn)
Mostrar(Tiene reservacin?)
Leer op
Si op = S o op=s entonces
Mostar (Introduzca Numero de reservacin)
Leer num_reservacion
Buscar(num_reservacion)
Si encontro() entonces
asignaReservacion(num_reservaion)
sino
Mostrar(No se encuentra, favor de llamar a soporte tecnico)
Finsi
Finsi
5. Generar consumo
Inicio
Mostrar (Generacion de consumo por cuenta)
Mostrar (Ingrese el ID del producto)
Leer num_prod
buscarProducto(num_producto)
si econtro() entonces
producto = leerRegistro(nom_producto)
precio = leerRegistro(precio_producto)
Mostrar (Ingrese Nmero de cuenta)
Leer Num_cuenta
buscarNumCuenta(Num_cuenta)
si encontro() entonces
Mostrar(Producto: producto, Su precio es: , precio)
Mostrar(Desea asignarlo a la cuenta)
Leer op
Si op = S o op=s entonces
guardaConsumo(num_cuenta, id_producto)
finsi
finsi
sino
Mostrar(No se encuentra la cuenta)
finsi
Fin
6. Check Out
Inicio
Mostrar(ChecOut del tiular)
Mostrar(Favor de enviar a revisar la habitacion)
Mostrar (Ingrese Nmero de cuenta)
Leer Num_cuenta
buscarNumCuenta(Num_cuenta)
si encontro() entonces
totalconsumo = generaTotalConsumo(num_cuenta)
totalhabitaciones = generaTotalHabitacion(num_cuenta)
total = totalconsumo + totalhabitaciones
Mostrar(Desea Factura)
Leer op
si op = S o op = s entonces
rfc = leerRegistro(RFC_titular)
razon = leerRegistro(rznscl_titular)
ImprimeFactura(total, num_cuenta, rfc, razon)
Sino
ImprimeSencillo(total, num_cuenta)
Finsi
Hacer
Mostrar (Forma de pago T = tarjeta, E = efectivo)
Leer opPago
encaso(opPago) //Switch Case
caso T
Mostrar(Deslize Tarjeta)
LeerTarjeta()
cierraCuenta(num_cuenta)
break()
caso E
Mostrar(Ingrese Cantidad)
Leer cantidad
cambio = cobrar(total, cantidad)
cierraCuenta(num_cuenta)
break()
Default
Mostrar(Error Ingrese una opcin valida)
Finencaso
Mientras(opPago != T o opPago! = E)
Sino
Mostrar(Error: no se encuentra la cuenta, Comunicarse con el Administrador)
Finsi
Mostrar(Gracias por preferirnos vuelva pronto)
Modelo de diseo
Diseo de la base de datos
Diseo de Interfaces
Diseo de Arquitectura
Diseo de Componentes
Modelo de Implementacin
En este modelo se implementar una prueba de ambiente controlado, en la cual conocemos
los resultados obtenidos, se utilizara una prueba de verificacin, esta prueba consiste en revisar los
resultados correspondientes a la especificacin del sistema, esta prueba se aplicar al mdulo de
Reservacin de este sistema. Las especificaciones que se validarn son las siguientes:
Numero Id_titular
o Este se genera utilizando las dos primeras letras del apellido paterno, la
primera letra del apellido materno y el primer del nombre y se adjunta 9 dgitos
alfanumricos generados al azar. Este Id se guardar en la tabla de
reservacin.
o Este nmero no se podr generar si algn campo del titular esta vacio.
Numero id_reservacion
o Este tomar los 4 primeros dgitos del numero Id_titular y le agregar 4 dgitos
alfanumricos generados al azar.
o Este nmero no se podr generar si el id_titular no se ha generado previamente
Limite de persona
o El sistema calcular el lmite de personas en la reservacin, este deber ser
informado por el recepcionista al cliente, este lmite no se deber superar en el
procedimiento de Check IN.
Numero de noches
o El nmero de noches se generar automticamente despus que las
validaciones sobre las fechas sean todas correctas. Esta se har mediante una
resta de la fecha de salida a la fecha de entrada.
Ejecucin de la prueba:
Entrada al sistema
Modulo de reservacin:
Para mantener en un estado consistente los datos, los campos de fechas se han inicializado al da de
hoy y una noche en el hotel, el numero de habitacin ser siempre mayor o igual que uno.
Nombre: Juan
Validacin de fechas:
La fecha de llegada no puede ser antes que la fecha de reservacin:
El clculo se hace mediante una suma algebraica de acuerdo a los siguientes datos:
Sencilla = 1 personas
Doble = 2 personas
Familiar = 5 personas