Você está na página 1de 61

Instituto Tecnolgico de Ciudad

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

Lunes 26 de Marzo de 2012

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.

Identificacin o extraccin de requisitos articulan y comprenden los requisitos


que desean.
Anlisis y negociacin de requisitos.
Especificacin de requisitos.
Validacin de requisitos.
Gestin de requisitos.

Modelado de Anlisis.
a.
b.
c.
d.

Descripcin de objetos (tablas) y atributos (campos) Objetos.


Diagrama Entidad-Relacin (producto nmero dos).
Diagrama de Flujo de Datos (producto numero tres).
Especificacin de procesos (producto nmero cuatro).

Modelo de diseo.
a.
b.
c.
d.

Diseo de Base de Datos.


Diseo de Interfaces
Diseo de Arquitectura.
Diseo de Componentes.

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.

Nuestro Hotel estar conformado de la siguiente manera:


Ser un Hotel de 2 estrellas bueno.
Sera un Hotel de Aeropuerto.
Estructura del hotel:

Cuenta con 7 pisos


en cada piso cuenta con 20 habitaciones.

20 Habitaciones sencillas.

Son las ms econmicas de la estructura hotelera, respetando los estndares


de un moderno hotel de 2 estrellas. Estas habitaciones cuentan con los mismos

servicios de las habitaciones dobles o de las dependencias pero con un


mobiliario y decoraciones diferentes. Servicios incluidos (cama matrimonial o
sencilla, aire acondicionado, tv color con cable, telfono con acceso directo con
lada nacional e internacional, bao privado con agua fra y caliente, servicio
despertador).
60 Habitaciones dobles.

Nuestras habitaciones dobles estn decoradas cuidadosamente para su mayor


confort y comodidad, lo que permite una perfecta armona entre espacio y
decoracin, exclusivos tapices y muebles de estilo. Tenemos habitaciones con
2 camas individuales o matrimoniales para satisfacer diferentes necesidades.
Servicios incluidos (cama matrimonial o 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).

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).

Definicin del Problema.


La problemtica que se presenta en este Hotel es que los recepcionistas anotan las
reservaciones, check in y check out en bitcoras (por escrito), las cuales tienen una
para cada funcin, esto conlleva a q lo recepcionistas dediquen mucho tiempo para
realizar estas funciones, as como tambin desperdicien tiempo en buscar los datos de
los huspedes y estn sujetos a perdidas de informacin. Por accidentes y descuidos.

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.

En el rea tcnica se cuenta con los siguientes documentos:

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

de administracin, este proyecto solamente abarca como se mencion antes el


funcionamiento de reservaciones, entradas y salidas de huspedes. Esta ser nuestro
facto estratgico ms importante y de ms peso en el proyecto.

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:

HP Compaq 8200 Elite compacta


Windows 7 Professional original 64 bit
Intel Core i3-2100 (3,10 GHz, cach de 3 MB, 2 ncleos)
4 GB 1333 MHz SDRAM DDR3
SATA (de 10.000 rpm) de 160 GB
Grabadora SATA de DVD

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:

Servidor HP ProLiant serie DL160 G6


Intel Xeon E5620 (4 ncleos, 2,40 GHz, 12 MB L3, 80W)
2x Memoria PC3-10600R-9 de 4 GB

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.

HP LaserJet Enterprise P3015d


Epson FX-890 Matriz de Punto

Software.

Windows 7 Professional original 64 bit


Windows 2008 Server Enterprise Edition
MySQL Server 5.0
Visual Fox Pro 9.0 SP2

Proceso de Ingeniera de Requisitos.


Identificacin o extraccin de requisitos.
Definicin de los requisitos: Los servicios, restricciones y objetivos son
establecidos por los usuarios del sistema. Se busca hacer esta definicin
en detalle que impacte en costes, tiempos y calidad en servicio.
El encargado de proporcionar la informacin necesaria sobre las
operaciones y procedimientos es el administrador del Hotel. Donde el
administrador nos solicita una mejor gestin sobre el rea de recepcin.
Los usuarios finales sern los recepcionistas, gerente en turno y como
usuario lder el administrador del hotel.
Se programarn sesiones, cada sesin trata temas en comn de acuerdo a
los procedimientos, se har llegar el temario que se tocar en cada reunin
con anterioridad y a todos los participantes, este fue otorgado por el
administrador de hotel (Manual de operaciones) como un antecedente al
proyecto.
En cada reunin se busca integrar a 3 usuarios finales, y como mnimo un
usuario lder para cada rea a tratar, adems las reuniones estarn
conformadas por un facilitador o interrogador que har la funcin de
identificar y extraer los requisitos, las sesiones estarn siendo grabadas por
un escriba, el cual aparte de grabar las sesiones identificar los requisitos
en cada sesin y har una minuta la cual ser enviada y firmada por los
integrantes de cada reunin.
Si surge un nuevo tema el cual no est definido en el temario de la sesin
actual, este se programar y se realizar una nueva sesin en un plazo
corto para extraer dichos requisitos.

En este paso se recopilan los resultados de las pruebas obtenidas en el


punto anterior, en donde se vuelven hacer pruebas y el resultado obtenido
se le hace entrega al administrador del Hotel para su aprobacin.
Anlisis y negociacin de requisitos.
Durante esta etapa se realiz un anlisis de los requisitos, estos se avaluaron con los
siguientes puntos:

Necesario.
Conciso.
Completo.
Consistente.
No Ambiguo.
Verificable.
Alcanzable.

Se determinaron tambin los requisitos funcionales y los no funcionales, as como


tambin se eliminaron los requisitos que aunque solucionan problemas del hotel, estn
dentro de las restricciones de datos y estratgicas.
Tambin se agregaron requisitos necesarios para el control y seguridad del sistema
que no fueron mencionados por los usuarios pero tienen un nivel crtico en el sistema,
como son autenticacin de usuario y autenticacin de administrador.
Especificacin de requisitos
Requisitos funcionales (RF)
De sistema (SIS)
Requisito funcional: RFSIS-001
Introduccin: Validar usuario para entrar al sistema
Entradas: Ingresar Login y Password
Procesos: El sistema validara los datos ingresados que sean correctos realizando
una bsqueda en la Base de datos
Salidas: Se desplegara un mensaje de bienvenida al sistema.
Error: Mostrara mensaje de error si los datos de Login y Password no son correctos
Requisito funcional RFSIS-002
Introduccin: Opciones de servicios.
Entradas: El usuario elegir las opciones de datos
Procesos: El sistema mostrara las opciones de servicios en la pantalla.
Salidas: Se desplegara la informacin en la pantalla de la opcin elegida
Error: No aplica.
Requisito funcional RFSIS-003
Introduccin: Generacin de reporte
Entradas: El usuario podr generar reportes semanales, mensuales y anuales de los
datos del hotel.
Procesos: El sistema desplegara opciones para elegir el tipo de reporte de registros
de clientes.

Salidas: Desplegar la informacin del tipo de reporte solicitado en la pantalla.


Error: En caso de errores de informacin se desplegar un mensaje de error.

Requisito funcional RFSIS-004


Introduccin: Generacin de respaldo
Entrada: El usuario se autenticar como administrador y solicitar al sistema un
respaldo, y configurar las opciones de respaldo
Proceso: El sistema generar un respaldo de su base de datos, de acuerdo a los
parmetros introducidos.
Salidas: El sistema informar de completo el respaldo y registrar la fecha y la hora
Error: El sistema informar de error cuando el respaldo no se complete
correctamente.
Reservaciones (RSV)
Requisito funcional RFRSV-001
Introduccin: Registrar reservaciones.
Entradas: El usuario ingresara datos generales de huspedes y de las reservaciones
Procesos:
El sistema verificara la disponibilidad de la habitacin en la base de datos.
El sistema registrara los datos del cliente y reservaciones en la base de datos.
Salidas:
Desplegara en la pantalla un mensaje de habitacin disponible.
Desplegara un mensaje de registro de reserva exitoso
Desplegara un mensaje de error de que la habitacin no est disponible
Error: En caso de errores de informacin se desplegar un mensaje de error.
Requisito funcional RFRSV-002
Introduccin: Cancelar la reservacin cuando la fecha halla expirado.
Entradas: ninguna
Procesos: el sistema verificar la fecha de reservacin y la comparar con la fecha
actual si excede proceder a dar de baja.
Salidas: se desplegar la informacin en pantalla indicando la cancelacin de la
reservacin.
Error: En caso de errores de informacin se desplegar un mensaje de error.
Requisito funcional RFRSV-003
Introduccin: Dar de baja la reservacin
Entradas: El usuario ingresara datos la reservacin
Procesos: El sistema dar de baja la reservacin y eliminar los datos guardarlos en
la base de datos
Salidas: Desplegara informacin en la pantalla de la reservacin eliminada
Error: En caso de errores de informacin se desplegar un mensaje de error.
Requisito funcional RFRSV-004
Introduccin: Cambia de reservacin a CheckIn
Entradas: El usuario ingresara datos correspondientes de la reservacin.
Procesos: El sistema solicitar en pantalla ingresar el nmero de reservacin y
marcar las habitaciones como ocupadas y la reservacin ser eliminada y se
convertir en nmero de cuenta.
Salidas: Desplegara un mensaje de informacin de los datos de la cuenta y el titular.

Error: En caso de errores de informacin se desplegar un mensaje de error.

Requisito funcional RFRSV-005


Introduccin: Consultar datos de reservas, habitacin.
Entradas: El usuario podr elegir entre las opciones de consulta
Procesos: El sistema buscar en la base de datos, de acuerdo a los datos de
entrada (ejemplo nmero de cuenta).
Salidas: Desplegar la informacin solicitada de opcin de consulta en la pantalla
Error: Mostrar mensaje de error si encuentra inconsistencia en los ndices.
Requisito funcional RFRSV-006
Introduccin: Modificar datos de la reservacin
Entradas: El usuario ingresara datos la reservacin, ingresa datos a modificar
Procesos: El sistema verifica los datos, y guarda las modificaciones
Salidas: Desplegara informacin en la pantalla de la reservacin modificada
Error: En caso de errores de informacin se desplegar un mensaje de error.
Cuenta (CTA)
Requisito funcional RFCTA-001
Introduccin: Dar alta Datos Personales.
Entradas: El usuario ingresar al sistema los datos personales del titular de la
cuenta.
Procesos: El sistema verifica los datos, y guarda las modificaciones.
Salidas: Desplegar la informacin en pantalla de los datos modificados.
Error: En caso de errores de informacin se desplegar un mensaje de error.
Requisito funcional RFCTA-002
Introduccin: Dar alta los insumos en la cuenta.
Entradas: El usuario ingresar al sistema los insumos adquiridos por el husped, as
como el nmero de cuenta.
Procesos: El sistema agregar el costo y el insumo a la cuenta.
Salidas: Desplegar la informacin en pantalla de los datos modificados.
Error: En caso de errores de informacin se desplegar un mensaje de error.
Requisito funcional RFCTA-003
Introduccin: Consultar el estado de cuenta del husped.
Entradas: El usuario introducir el nmero de cuenta.
Procesos: EL sistema buscar el estado de cuenta del husped.
Salidas: Desplegar la informacin en pantalla el estado de cuenta del husped.
Error: En caso de errores de informacin se desplegar un mensaje de error.
Requisito funcional RFCTA-004
Introduccin: Cerrar la cuenta cuando termina su estancia en el hotel.
Entradas: El usuario proceder a ingresar el nmero de cuenta
Procesos: EL sistema generar el total de la cantidad, desglosando insumos y/o
penalizaciones, habitaciones y das de estancia.
Salidas: EL sistema mostrar en pantalla el total y el desglose.

Error: En caso de error se le informar a la administracin y se proceder con la


cuenta manual.
Requisito funcional RFCTA-005
Introduccin: Generacin de Factura
Entradas: El usuario ingresar los datos fiscales del cliente
Procesos: El sistema generar la factura y proceder a pedir el tipo de pago
Salidas: El sistema imprimir la factura y mostrar de completado la impresin
Error: En caso de error mostrara un mensaje de error.
Requisito funcional RFCTA-006 (Pago en efectivo)
Introduccin: Dar de alta el tipo de pago en efectivo
Entradas: El usuario ingresara los datos de la cuenta, incluyendo la cantidad.
Procesos: La informacin se almacenar en la base de datos, el sistema cerrar la
cuenta y se imprimir comprobante sencillo.
Salidas: Desplegara un mensaje de informacin almacenada correctamente.
Error: En caso de errores se desplegar un mensaje de error.
Requisito funcional RFCTA-007 (Pago con tarjeta)
Introduccin: Dar de alta el tipo de pago con tarjeta
Entradas: El usuario ingresara los datos de la cuenta, el tipo de tarjeta y banco
Procesos: La informacin se almacenar en la base de datos, el sistema cerrar la
cuenta.
Salidas: Desplegara un mensaje de informacin almacenada correctamente.
Error: En caso de errores se desplegar un mensaje de error.
Requisitos no funcionales. (NF)
Requisito no funcional NFSIS-001
Disponibilidad y recuperacin de fallos garantizada.
Entradas: El usuario podr ver la disponibilidad de datos generales del hotel
Procesos: El sistema desplegara la opcin donde los usuarios podrn revisar
registros aparte de recuperaciones por seguridad de su informacin almacenada
desde la base de datos
Salidas: Desplegar la informacin de cualquier registro en la pantalla
Error: No aplica.
Requisito no funcional NFSIS-002
Velocidad de despliegue de ventanas.
Entradas: El usuario podr ver la disponibilidad de datos generales del hotel
Procesos: El sistema desplegara una opcin donde mostrara al usuario la
informacin almacenada desde la base de datos en tiempo real
Salidas: Desplegar la informacin de cualquier registro en la pantalla
Error: No aplica.
Requisito no funcional NFSIS-003
Mximo de 5 habitaciones por reservacin
Entradas: El ingresar el nmero de habitacin de la reservacin
Procesos: El sistema validar que el nmero de habitacin sea mayor o igual que
uno y menor o igual que cinco
Salidas: Desplegar la informacin en pantalla.
Error: En caso de sobrepasar el lmite, el sistema mostrar un mensaje de error
Requisito no funcional NFSIS-004
Sistema amigable con el usuario.
Entradas: El usuario podr acceder y ver con facilidad los datos generales del hotel.

Procesos: El sistema mostrar una opcin donde l usuario acceder a la


informacin almacenada en la bases de datos.
Salidas: Desplegar la informacin en pantalla.
Error: No aplica.
Requisito no funcional NFSIS-005
Logotipo del Hotel.
Entradas: El usuario podr acceder a la interfaz del programa para modificar el
logotipo del hotel.
Procesos: El sistema pedir la ubicacin del nuevo
Salidas: Desplegara la informacin en pantalla del logotipo modificado.
Error: En caso de que no se pueda mostrar el logotipo se mostrara un mensaje.
Un ejemplo de un requisito rechazado en el anlisis y negociacin es el siguiente:

Requisito funcional N/A (Fuera de dominio del problema y genera ambigedad)


Introduccin: Dar de alta, bajas y modificar empleados.
Entradas: El usuario ingresara o actualizara datos de los empleados del hotel.
Procesos: El sistema desplegara una pantalla donde los usuarios podrn administrar
los diferentes datos de los empleados que estn registrados, dar de altas, bajas y
podr modificar registros y los cambios quedarn almacenados en la base de datos.
Salidas: Desplegar un mensaje de la informacin actualizada.
Error: En caso de errores de informacin se desplegar un mensaje de error.
Este requisito es funcional pero se encuentra fuera del dominio del problema.

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.

Matriz de dependencia de Requisitos.


RFRSV-001

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

Se realiz la matriz de requerimientos, dando prioridad a los requerimientos necesarios


para el sistema y mostrando el riesgo sobre la importancia de estos en el sistema.

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

Descripcin del requisito


Prioridad
Validar usuario para entrar al sistema
ALTA
Opciones de servicios.
ALTA
Generacin de reporte
MEDIA
Generacin de respaldo
MEDIA
Registrar reservaciones.
ALTA
Cancelar la reservacin cuando la fecha halla expirado
MEDIA
Dar de baja la reservacin
MEDIA
Cambia de reservacin a CheckIn
MEDIA
Consultar datos de reservas, habitacin.
MEDIA
Modificar datos de la reservacin
MEDIA
Dar alta Datos Personales.
ALTA
Dar alta los insumos en la cuenta.
BAJA
Consultar el estado de cuenta del husped.
ALTA
Cerrar la cuenta cuando termina su estancia en el hotel.
ALTA
Generacin de Factura
ALTA
Dar de alta el tipo de pago en efectivo
MEDIA
Dar de alta el tipo de pago con tarjeta
MEDIA
Disponibilidad y recuperacin de fallos garantizada
ALTA
Velocidad de despliegue de ventanas.
MEDIA
Habilidad de manejar modos de autentificacin de forma segura.
ALTA
Sistema amigable con el usuario.
MEDIA
Logotipo del Hotel.
MEDIA

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

La siguiente matriz representa de donde surgen los requerimientos, as como tambin,


quien los propuso y el tipo de requerimiento conforme a su funcin.

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

Matriz de seguimiento de orgenes


Tipo Usuario
Origen
I
Administrador
Dpto. Administracin de Hotel
I
Administrador
Dpto. Administracin de Hotel
S Administrador
Dpto. Administracin de Hotel
D Administrador
Dpto. Administracin de Hotel
F Empleados
rea de Recepcin
F Empleados
rea de Recepcin
F Empleados
rea de Recepcin
F Empleados
rea de Recepcin
F Empleados
rea de Recepcin
F Empleados
rea de Recepcin
F Empleados
rea de Recepcin
F Empleados
rea de Recepcin
F Empleados
rea de Recepcin
F Empleados
rea de Recepcin
F Empleados
rea de Recepcin
F Empleados
rea de Recepcin
F Empleados
rea de Recepcin
C Gerente
Gerencia del Hotel
C Gerente
Gerencia del Hotel
I
Gerente
Gerencia del Hotel
C Gerente
Gerencia del Hotel
I
Gerente
Gerencia del Hotel

Descripcin de objetos y atributos


RESERVACION
Tipo de
Nombre
Dato
id_reservacion String
id_titular
num_hab
tipo_hab1
tipo_hab2
tipo_hab3
tipo_hab4
tipo_hab5
fecha_sol
fecha_llegada
fecha_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"

Se utiliza para almacenar el numero de telfono del empleado


Se utiliza para almacenar la direccin principal del empleado
Se utiliza para almacenar el puesto que tiene el empleado
Secundari
a

Se utiliza para almacenar el departamento que esta asignado el empleado

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

Diagrama de Flujo de Datos


1. Proceso de Reservacin

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

Mostrar (Ingrese fecha llegada)


Leer fecha_llegada
Mostrar(Ingrese fecha de salida)
Para ( i =0, i<num_hab, i++) repetir
Mostrar (Tipo de Habitacion, S = Sencillo, D = Doble, F = Familiar)
Leer Tipo[i] //Arreglo de caracteres de 5 posiciones.
Fin Para
Mostrar(Desea Guardar la informacin, SI o No)
Leer Op
Si op = S o op=s entonces
Num_reservacion = generaReservacion()
guardaReservacion(Num_reservacion, nom_titular, app_titular,
apm_titular,
Tipo, fecha_llegada, fecha_salida, hoy())
Mostrar (Su reservacin es: , num_reservacion)
Finsi
Finsi
Fin

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

Mostrar (Ingrese cantidad de habitaciones)


Leer num_hab
Si num_hab <= 10 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
Mostrar (Ingrese fecha llegada)
Leer fecha_llegada
Mostrar(Ingrese fecha de salida)
Mostrar (Ingrese apellido RFC)
Leer RFC
Mostrar (Ingrese Razon Social)
Leer razonsocial
Num_cuenta = generacuenta()
Para ( i =0, i<num_hab, i++) repetir
Mostrar (Tipo de Habitacion, S = Sencillo, D = Doble, F = Familiar)
Leer TipoHab
buscaHabitacion(TipoHab)
if encontr() entoneces
asignaHabitacion(num_cuenta)
Mostar(Entrega Llaves)
sino
Mostrar(No hay habitaciones, tipoHab, Disponibles)
Finsi
Fin Para
Sino
Mostrar(Limite de habitaciones alcanzado)
Finsi
Fin

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:

Generacin correcta del Id del Cliente


Generacin correcta del Nmero de reservacin
Validacin de los datos, para que mantenga un estado consistente el sistema de
reservacin.
Validacin de habitaciones por reservacin con respecto al requerimiento NFSIS-003.

Esta prueba se har con los siguientes datos:

Usuario del sistema: administrador


Contrasea del sistema: admin123
Nombre: Juan
Apellido Paterno: Prez
Apellido Materno: Hernndez
Fecha de llegada: 28/Marzo/2012
Fecha de salida: 1/Abril/2012
Habitaciones: 5 (1 Familiar, 2 Dobles, 2 Sencillas)
Observaciones: Tener el A/C encendido para cuando se registre la persona

El sistema generar los siguientes datos:

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.

El sistema validar lo siguiente:

El sistema validar que se informe el nmero de reservacin de forma correcta. El


recepcionista deber dictar letra por letra al cliente y la escribir en el campo
Confirmar numero de reservacin.
El sistema validar que el nmero de reservacin y la confirmacin sean iguales.
El sistema validar que los campos no estn vacios.
El sistema validar las fechas, que la fecha de llagada no sea menor que el da en que
se haga la reservacin y que la fecha de salida no sea menor que el da de llegada.
Las habitaciones se habilitarn de acuerdo al nmero de habitaciones introducido.

El modulo de reservacin consta de 3 partes, marcadas por un nmero dentro de parntesis,


el recepcionista deber seguir este procedimiento paso a paso:
(1) Datos de cliente: Se tomarn los datos de cliente y se generar el id_titular
(2) Datos de la reservacin: Se tomarn los datos de la reservacin, ambas fechas, nmero
de habitaciones y se calculara e informar el lmite de personas en la reservacin.
(3) Nmero de la reservacin: Se generar el nmero de reservacin, se dictar al cliente y se
validar que se haya dictado de forma correcta.
(4) Guardar reservacin: se almacenar en la base de datos dicha reservacin.
Se validara que no falte ninguno de estos procedimientos antes de guardar la reservacin
mediante control de banderas (F o V) de forma interna. Todas las banderas debern estar en
verdadero antes de guardar. El sistema informar de incompleto en caso contrario.

Ejecucin de la prueba:
Entrada al sistema

Bienvenido al modulo y seleccin del mdulo de reservacin

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.

Validacin de campos vacios

Se ingresarn los datos siguientes:

Nombre: Juan

Apellido Paterno: Prez


Apellido Materno: Hernndez

Generacin del Id_titular:

Error en nmero Id_titular

Validacin de fechas:
La fecha de llegada no puede ser antes que la fecha de reservacin:

La fecha de salida no puede ser menor a la de la llegada

Se ingresarn los siguientes datos:

Fecha de llegada: 28/Marzo/2012


Fecha de salida: 1/Abril/2012

Validacin de numero de habitacin (el dato ser introducido por teclado)


Si el dato se introduce mediante las flechas de seleccin, este no subir ms de 5 y no
bajara ms de 1

Se introducirn los siguientes datos:

Habitaciones: 5 (1 Familiar, 2 Dobles, 2 Sencillas)

Calculo del lmite 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

1 familiar + 1 doble + 1 doble + 1 sencillo + 1 sencillo = 5+2+2+1+1 = 11 Personas.

Generacin del nmero de reservacin:

Error en la validacin de la confirmacin del nmero de reservacin:

Error cuando no se ha generado el nmero Id_titular

Se ingresar el ltimo dato:

Observaciones: Tener el A/C encendido para cuando se registre la persona

Mensaje de formulario completo y mensaje de almacenamiento exitoso:

Error de formulario incompleto

Generacin del informe sobre reservaciones

Despus de ingresar al sistema e ingresar al modulo de reservacin, escribir cualquier


nombre en el campo de Nombre para saltar la validacin del nombre y despus dar clic
en el botn informe:

Vista del informe:

Este informa mostrar todas las reservacin hechas.