一、课程设计题目:
某酒店拟开发一个网上酒店客房预定系统,以方便客户预约订房,提高酒店管理水平。客户在入住酒店前需提供姓名、身份证号码、联系电话等个人信息在酒店网站进行预定,预定成功后酒店需发送确认信息(可以通过邮件确认),入住时需要出示确认信息。客户在预约订房时,需确认房型和入住天数,系统需要确定不同房型以及房型的数量。
本次课程设计要求设计并实现一个网上酒店客房预订系统。系统中包含两个子系统,酒店管理人员使用的订房系统、客户网上预约订房系统。
其中网上预约订房系统的前端要求是浏览器,即采用B/S模式开发。酒店管理工作人员使用的系统采用C/S模式开发,前端开发工具不限,可采用PowerBuilder, Delphi, VB,VC,Java等。后台数据库要求采用SQL SERVER2008或Oracle 11g及以上版本。
二、课程设计要求:
- 对系统的功能和数据进行需求分析、总体设计和详细设计。
- 数据库设计部分要包含系统E-R图、数据字典、表、视图等的定义和描述。其中数据库设计要求采用辅助设计工具,例如ERWin或PowerDesigner。
- 程序实现各项功能,在课程设计报告中要反映实现过程中采用的关键技术和主要程序流程以及主要的操作界面。
- 对数据库的操作尽可能采用存储过程或触发器实现。
第二章 系统需求分析
一、前台B/S端功能需求分析:
- 登陆系统。
- 预约管理:包括查看用户的预订信息情况,发送回执信息,确定订单。
- 入住管理:登记入住信息,分配房号等。
- 结算管理:收取房费。
- 查询酒店房间信息和状态。
- 酒店经营管理:系统对收取的房费生成相应的统计分析,并提供查询功能,包括某个客房或者某个房型总的费用,某个客户收取的费用查询,整个酒店某段时间所有房间的总的费用并形成报表。
- 参数维护。系统管理人员负责维护各种参数,包括客房的房型、房型数量、客房费用等信息。这些参数都是可以修改的,尽量提高系统的灵活性和可扩展性。
- 系统维护。系统管理人员负责管理前台人员和客户信息、分配权限、管理密码。
二、后台C/S端功能需求分析:
该系统供客户使用,需提供以下功能:
- 用户注册:提供注册所需基本信息,必须实名注册。
- 用户可修改注册信息。
- 用户查看自己订单的状态。
- 用户可查询指定时间的所有客房情况。
- 用户可以在网上预订。系统每日14点之后不提供当天预约服务,客户可提前预约一个月内的客房。同一客户实名(有效证件号)在同一日只能一个房间。
三、安全性控制要求:
- 所有用户密码在数据库中都要求加密存储。
- 网上预订系统要进行输入验证,防止SQL注入。
- 系统管理员只能进行系统维护和参数维护。
第三章 数据库设计
一、设计工具和基本思路:
本次数据库设计使用PowerDesigner 和SQL 2008
1、数据库共分为五张表:Myorder、Room、RoomDetail、Customer、Manager
其中Manager为管理员信息管理表:
管理员表的E-R图(1.1)
2、以下为另外四张表的E-R图:
系统E-R图(1.2)
3、在PowerDesign中设计图为:
PowerDesigner图表(1.3)
4、数据完整性约束:
在Myorder表中定义了一个插入触发器,当更新Myorder表时,将触发该触发器,执行对Room表执行相应操作,以保证数据的完整性,SQL语句如下:
create trigger tr_insertorder
on Myorder
for insert
as
begin transaction