软件工程设计报告模板.docx
- 文档编号:14320779
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:39
- 大小:1.31MB
软件工程设计报告模板.docx
《软件工程设计报告模板.docx》由会员分享,可在线阅读,更多相关《软件工程设计报告模板.docx(39页珍藏版)》请在冰点文库上搜索。
软件工程设计报告模板
第一章问题定义
随着人们生活水平的不断提高,使酒店客房业的竞争也愈来愈激烈,因此必须提高酒店的管理水平,酒店客房管理系统通过对信息的收集、传递、整理、加工、维护和使用,提高管理水平和效率。
本系统基于MicrosoftSQLSERVER2005数据库系统和C#程序语言开发实现的酒店客房管理系统,着重阐述了该系统开发实现过程,从系统的需求分析、模块设计、数据设计、详细设计到系统测试等环节都进行了较详尽的分析和描述。
酒店客房管理系统要实现客房预定、入住登记、钟点记费、消费记账、调房登记、退房结账、查询统计等功能。
其中钟点记费可以在客户来店时间起开始记费至要求离店时间进行结账收费,该功能可明显提高对住宿人员宿费的有效管理。
将动态实时的住宿登记、客房调整等有机地联系在一起,对酒店客房进行全位的管理。
系统目标与围说明书
项目名称:
酒店管理系
问题:
目前系统式手工操作,费时费力,效率低下。
项目目标:
建立一个高效率、自动化操作酒店管理的计算机系统。
项目规模:
开发成本应该不超过5万元。
初步设想:
用学校现有的物力和人力资源开发该系统。
可行性研究:
为了全面分析该系统开发的可能性,建议进行大约3的可行性研究。
可行性研究成本不超过5000元。
第二章可行性研究
2.1系统建设目标
酒店客房信息的管理在整个酒店客房运作过程中起着非常重要的作用。
通过信息的管理,酒店客房的管理人员能够随时了解客房的预订、入住等情况,可以在宏观上分配基础设施的使用。
利用数据库管理资料可以便地管理会员客户的资料以利于业务上的往来和客服调查,同时功能强大的新增、修改、删除及查询操作和钟点计费的功能使酒店客房管理系统成为管理人员的得力助手,基于手工操作的种种缺点,为了实现管理自动化,将酒店客房管理的流程与规则与现代的计算机技术相结合,建立起酒店客房管理系统。
酒店客房管理系统还可以全程监管客户在客房的消费活动,并对收入情况进行统计,从而实现酒店客房管理流程全过程的电子化操作。
2.2可行性分析
可行性分析是任一个大型工程正式投入力量之前必须进行的一项工作。
这对于保证资源的合理利用、避免浪费是一个十分重要的,也是项目一旦开始以后能顺利进行的必要保证。
当系统的开发目标确定后,就可以从以下三面对能否实现新系统目标进行可行性分析:
1.技术可行性
技术可行性是指:
根据现有的技术条件,能否达到所提出的要求;所需要的物理资源是否具备,能否得到。
针对于本系统,本系统属于一个普通的MIS系统。
在其组织关系上也未存在的很大的复杂性、繁琐性及不确定性,而且整个系统的技术构成上来看,它还是属于一个简单的数据库应用类的系统。
其基本操作还是对存在数据库进行添加、删除、查找、编辑等。
所以就单纯的数据库应用来看,暂不存在太大的技术问题。
并且本系统的开发我利用MicrosoftSQLServer2000作为本系统的数据库,它是一个支持多用户的新型数据库,适用于大中规模的数据量需求。
使用MicrosoftVisualStudio2010作为系统开发的开发环境,它作为一种现代的编程语言,提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供的保障为开发满足客户要求的系统,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。
因此,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,它在技术上是可行的。
2.经济可行性
2.1系统初期投资
系统初期投资如表2-1所示。
表2-1系统初期投资
序号
项目
人工(人·日)
单价(元)
合计(元)
1
需求分析
3
200
600
2
总体设计
10
200
2,000
3
房间管理子系统详细设计
3
200
600
4
退房结账子系统详细设计
5
200
1,000
5
工程实际成本数据库实现
10
200
2,000
6
编码实现
10
200
2,000
7
单体测试
5
200
1,000
8
系统集成测试
5
200
1,000
9
说明手册编制
3
200
600
10
合计
10,800
2.2系统货币时间价值
系统货币时间价值如表2-2所示。
表2-2 系统货币时间价值
年份
将来值(万)
(1+i)n
现在值(万)
累计的现在值(万)
1
0.6
1.05
0.5714
0.5714
2
0.6
1.1025
0.5442
1.1156
3
0.6
1.1576
0.5183
1.6339
4
0.6
1.2155
0.4936
2.1275
5
0.6
1.2763
0.4701
2.5976
2.3投资回收期
系统开发成功后,第一年可以赚得0.5714万元,比投资少0.4286万元。
第二年可以赚得0.5442万元。
即:
0.4286/0.5442=0.7876年
1+0.7876=1.7876年
2.4纯收入
2.5976-1.08=1.5176(万元)
当然,如果想要在五年后得到预计的纯收入,那么首先就应拿出初期投资的10万。
而且考虑到开发本系统将为以后带来的利益,拿出10万来进行酒店客房管理系统的开发,是绝对必要。
综上所述,该系统的开发在经济面是可行的。
3.运行可行性
在现今社会越来越多的酒店都意识到信息化是提升管理效率不可缺少的重要步骤配备现代化的管理思想更是必不可少的,所以在酒店领导者给予系统充分的开发资金的基础上,更要将现代化的管理思想融入其中,使其最终成为具有现代化管理法的管理系统。
经过以上分析,运行面是可行的。
4.法律可行性
整个系统由于是自行开发,自行使用,在开发过程中没有涉及合同、责任等与法律抵触的面。
因此,本系统在法律上是可行的。
按上述四面进行可行性分析、研究后,我们认为该项目是可行的。
第三章系统的需求分析
3.1酒店管理系统的需求述
根据可行性研究的结果和客户的要求,决定采用C/S结构,将酒店客房管理系统划分为两个子系统,即客户端子系统、服务器端子系统。
其中,客户端子系统的功能是给用户提供系统操作界面,以便输入客户信息、房间信息、客户消费情况、房间入住、预订、续住及调换等。
服务器端子系统的功能是通过计算机网络将客户端与服务器的数据库相连,将从客户端得到的信息处理,实现新增、修改、删除、查询、统计等操作。
酒店管理系统需要具有以下的业务:
1)客户向酒店发出入住意向;
2)操作员针对客户的需求进行办理预订或及时入住信息,生成预订信息表和入住信息表;
3)客户可通过管理员进行办理会员卡,可以享受优惠价格,生成客户基本信息表;
4)管理员可新建房间信息及房间价格标准,及系统日志信息的查询;
5)操作员对客户在店其间消费项目,生成消费信息表,以便客户退房时结账清楚;
6)客户结账退房,操作员对客户所住的时间、房间的价格、折扣、加床价格和消费项目进行结算;
7)管理员向操作员发出统计结算时间段收益的通知;
8)操作员接到通知后,进行统计结算,生成统计报表。
3.2使用结构化法进行系统分析
3.2.1系统功能建模
对用户需求进行分析,画出系统的数据流图,如图3.1——图3.4所示。
图3.1学生宿舍管理系统的顶层DFD
图3.2学生宿舍管理系统的0层DFD
图3.3学生宿舍管理系统的1层DFD——“宿舍管理”加工的分解图
图3.4学生宿舍管理系统的1层DFD——“宿舍评比”加工的分解图
3.2.2学生宿舍管理系统的E-R图
根据系统数据流程图,我们可以列出以下系统所需的数据项:
学生:
学号、姓名、床位号、系别、学院、班级、性别、民族、籍贯、学历、政治面貌、政治面貌、联系、缴费情况
床位:
床位表、铺位、寝室号、住没住人
寝室:
寝室号、朝向、可住人数、已住人数、居住性别
设备:
设备号、设备名、寝室号、购买日期、制造商、最大使用年限、设备状态
分数:
成绩记录编号、寝室号、卫生罚分、违纪罚分、总分、月份
同时系统还需要进行记录的数据项:
来访记录:
来访记录编号、来访人姓名、被访人姓名、被访人床位号、所属关系、证件名称、值班人、来访日期、来访时间、结束时间、备注
违纪记录:
违纪记录编号、违纪人、所属寝室号、违纪扣分、违纪情况、违纪日期
卫生记录:
卫生记录编号、寝室号、地面不净扣分、床铺不整扣分、桌面乱差扣分、空气不好扣分、检查日期、检查人
电费使用:
用电记录编号、寝室号、用电量、月份、电费
学生宿舍管理系统的E-R模型如图3.5-图3.10所示。
图3.5床位实体图
图3.6寝室实体图
图3.7学生实体
图3.8设备实体图
图3.9考评成绩实体图
图3.10实体之间关系E-R图
3.3对系统进行面向对象分析
3.3.1系统用例模型
1.参与者列表
[列出系统用例的参与者,并作简要说明。
例:
客户:
出购买我们服务的人。
]
2.用例列表
[列出系统需完成的用例的编号和名字,并简要说明其任务。
例:
UC-1登录:
用于验证用户权限。
]
3.用例图
[画出系统的用例图,注意图不能单独出现,需要图名图号,并有正文对它的引用。
例如:
本系统的用例图如图3.11所示。
]
图3.11系统用例图
4.用例规格说明
本系统有以下用例:
(1)…用例
[详细说明每个用例。
]
3.3.2系统对象模型
[概要说明本小节容]
1.确定类与对象
[分析并列出系统功能实现所涉及的类或对象。
例:
学生、教师、课程等。
]
2.确定关联
[分析并列出哪些类之间存在关联,及什么样的关联。
]
3.确定属性
[分析并列出系统中类与对象的属性。
]
4.确定服务
[分析并列出系统中类与对象的服务/行为操作。
]
5.系统类图
[此处是为系统建立的类图。
]
图3.12系统类图
第四章系统的概要设计
4.1系统体系结构图
本系统的软件体系结构图,参见图4.1所示:
图4.1系统功能模块图
4.2数据库设计
根据酒店客房部的实际情况,本系统的数据库命名为:
BarManager,此数据库存储了房间、客户等操作生成的数据信息。
BarManager数据库为满足各模块设计共分11信息表。
当系统用户登录时,输入用户名称、用户密码及权限与登录表中的信息相判断。
系统管理员登录表如表4-1所示。
表4-1 Login(登录表)
序号
英文名
中文名
类型
长度(字符)
1
ID
自动编号
Int
1-32767
2
UserName
用户名称
Varchar(10)
4-10
3
PassWord
用户密码
Varchar(10)
1-10
4
UserQuan
权限
Varchar(10)
6-10
客户办理会员的信息存储在客户信息表中,以备以后查询。
客户信息表如表4-2所示。
表4-2 Custom(客户信息表)
序号
英文名
中文名
类型
长度(字符)
1
CuId
客户编号
Int
1-32767
2
CuName
客户名称
Varchar(10)
4-10
3
CuType
客户类型
Varchar(10)
4-10
4
CuTel
客户
Varchar(20)
7-11
5
Operator
操作员
Varchar(10)
4-10
房间所在位置、为类型及相关的信息都存储在对应表中,对房间做任的操作时,以后查询起来便,易管理。
房间信息表、房间类型表及楼层信息表分别如表4-3、表4-4、表4-5所示。
表4-3 RoomInfo(房间信息表)
序号
英文名
中文名
类型
长度(字符)
1
RoomId
房间编号
Varchar(10)
4-10
2
TypeId
类型编号
Varchar(10)
4-10
3
FloorId
楼层编号
Varchar(10)
4-10
4
RoomCount
额定人数
Int
1-5
5
RoomMiao
房间描述
Varchar(50)
1-50
6
BedCount
床数
Int
1-5
7
ZhuTai
房间状态
Varchar(10)
4-10
8
BackZhu
备注
Varchar(50)
1-50
表4-4 TypeInfo(房间类型信息表)
序号
英文名
中文名
类型
长度(字符)
1
TypeId
类型编号
Varchar(10)
4-10
2
TypeName
类型名称
Varchar(10)
8-10
3
RoomJia
房间价格
Money
4
PinRoomJia
拼房价格
Money
5
OverYuCount
可超预订数
Decinal
3
6
YNPin
是否可拼房
Bit
1
表4-5 FloorInfo(楼层信息表)
序号
英文名
中文名
类型
长度(字符)
1
FloorId
楼层编号
Varchar(10)
4-10
2
FloorName
楼层名称
Varchar(10)
4-10
对客户在店的任消费情况进行管理,并将消费信息存储在消费记账表中。
消费记账表如表4-6所示。
表4-6 Bank(消费记账表)
序号
英文名
中文名
类型
长度(字符)
1
ZhangId
消费编号
Varchar(10)
4-10
2
RuId
入住单号
Varchar(10)
4-10
3
XiaoNei
消费容
Varchar(50)
2-50
4
XiaoJing
消费金额
Money
5
XiaoDate
消费时间
Smalldatetime
6
BackZhu
备注
Varchar(50)
2-50
客户可以提前预订房间,对预订的信息存储在预订信息表中,在客户入住时提取预订信息,提高办理入住手续;或客人可以直接办理入住,入住信息存储在入住信息表中,进行管理。
预订信息表、入住信息表如表4-7、表4-8所示。
表4-7 YuDing(预订单表)
序号
英文名
中文名
类型
长度(字符)
1
YuId
预订单号
Varchar(10)
4-10
2
YuPeple
预订人
Varchar(10)
4-10
3
TypeId
类型编号
Varchar(10)
4-10
4
PepleTel
联系
Varchar(11)
7-11
5
RoomId
房间编号
Varchar(10)
4-10
6
RoomJia
房间价格
Money
7
RuJia
入住价格
Money
8
RuCount
入住人数
Int
1-5
9
ComeDate
抵店时间
Smalldatetime
10
GoDate
离店时间
Smalldatetime
11
ZhuTai
单据状态
Varchar(10)
4-10
12
YuShouKuan
预收款
Money
13
YNJia
是否加床
Bit
1
14
JiaChuangJia
加床价格
Money
15
ZheKou
折扣
Money
16
ZheKouWhy
折扣原因
Varchar(50)
1-50
17
BankZhu
备注
Varchar(50)
1-50
表4-8 RuZhu(入住单表)
序号
英文名
中文名
类型
长度(字符)
1
RuId
入住单号
Varchar(10)
4-10
2
YuId
预订单号
Varchar(10)
4-10
3
CuName
客户名称
Varchar(10)
4-10
4
CuType
客户类型
Varchar(10)
4-10
5
CuTel
客户
Varchar(11)
7-11
6
RoomId
房间编号
Varchar(10)
4-10
7
RoomJia
房间价格
Money
8
TypeId
类型编号
Varchar(10)
4-10
9
ZhuTai
单据状态
Varchar(10)
4-10
10
ComeDate
抵店时间
Smalldatetime
续表4-8
11
GoDate
离店时间
Smalldatetime
12
RuCount
入住人数
Int
1-5
13
RuJia
入住价格
Money
14
YuShouKuan
预收款
Money
15
ZheKou
折扣
Money
16
ZheKouWhy
折扣原因
Varchar(50)
1-50
17
YNJia
是否加床
Bit
1
18
JiaChuangJia
加床价格
Money
19
YingZhang
应收账款
Money
20
YNJieZhang
是否结账
Bit
1
21
JieZhangMoney
结账金额
Money
22
JieZhangDate
结账日期
Smalldatetime
23
FuKuanWay
付款式
Varchar(10)
4-10
24
BackZhu
备注
Varchar(50)
1-50
第五章系统的详细设计及其实现
因为系统比较大,所以挑选其中若干主要模块介绍了它们的详细设计与实现。
5.1主模块
1.设计思想:
本系统的主界面采用莱单式结构。
主界面有六大主莱单:
客户管理、房间管理、收银结账、系统设置、关于我们和退出系统。
每个主莱单下包含了完成相应操作的子莱单。
以房间管理莱单为例,此莱单包含如下子莱单:
1.房间信息子莱单:
完成房间信息的新增,修改等管理操作。
2.房间预订子莱单:
完成客户需求的预订房间的信息。
3.房间入住子莱单:
及时地响应客户入住需求的办理。
4.房间续住子莱单:
在客户离店时间已到时,客户可以办理续住。
5.房间调换子莱单:
在客户入住时,发现房间的位置或其他原要求调换房间时,通过此子莱单便快速地实现客户的需求。
6.入住历史子莱单:
记录了以往来客的入住情况,便与客户的来往。
2.界面设计如图5.1所示。
图5.1系统主界面
3.窗体的主要的对象属性的设置:
表5.1窗体的主要的对象属性
4.相关程序:
1)连接到用户综合管理模块,在“用户管理综合管理”菜单项按钮N2Click事件处理程序中完成,代码如下:
procedureTForm2.N2Click(Sender:
TObject);
begin
form3:
=tform3.create(self);
form3.show;
end;
2)其他的菜单同1,按钮、快捷键的同菜单相同,只是在按钮或快捷键的Onclick事件处理中完成。
3)在状态栏显示系统时间,在Timer1的Timer事件处理程序中完成,代码如下
procedureTForm2.Timer1Timer(Sender:
TObject);
begin
StatusBar1.Panels[5].text:
=DateTimeToStr(Now);
end;
5.2用户综合管理模块
为了说明系统详细设计及其实现,以用户管理模块和入住管理模块为例进行说明。
1.界面设计如图5.2所示。
图5.2用户管理—新增用户窗体布局
图5.3用户管理—删除用户窗体布局
图5.4用户管理—修改用户信息窗体布局
2.程序流程图:
1)新增用户
图5.5新增用户模块的流程图
2)用户删除
图5.6用户删除模块的流程图
3)用户信息修改
图5.7用户信息修改模块的流程图
3.相关程序
(1)在新增用户过程中,在“提交”按钮BitBtn1的OnClick事件处理程序中完成,代码如下:
procedureTForm3.BitBtn1Click(Sender:
TObject);
vars:
integer;//说明s是integer型的变量
begin
query1.SQL.Clear;//将控件query1的SQL语句清空
query1.SQL.Add('select*from用户表');//将控件query1的SQL语句增加操作“查询‘用户表’的所有容”
query1.Open;//激活query1控件
query1.First;//query1控件指向第一条记录
s:
=0;//给变量S附值为0
while(notquery1.Eof)and(s=0)do//若query1指针没超过最底一条记录并且s=0进行循环
。
。
。
。
。
。
。
。
(三)入住登记模块
1.设计思想:
入住登记是对学生进行入住登记,即为学生分配入住的寝室房间。
首先,学生入住寝室床位需求查询中选择自己要求居住的寝室、床位条件,点击“查询”按钮对寝室表、床位表进行了查询,在数据网格中显示满足要求条件的且床位没有住人的信息,学生在数据网格点击选择自己合意的记录之后,此条记录的床位号、寝室号的信息即可在入住登记的入住信息的床位号、寝室号后的文本框中直接显示,填写学生信息及选择缴费情况,点击“登记”按钮,将入住登记中的学生名称、学号、床位号、缴费情况后的文本框容填入学生表的最后一条记录后,同时要把床位表中列床位号值等于此入住床位号的记录列住没住人的值改为“已住人”,还要将寝室表中列寝室号值等于此入住床位号属于的寝室的寝室号的那条记录的列已住人数的值进行加一。
“取消”按钮负责关闭入住管理模块。
2.界面设计:
图5.8入住管理界面
3.窗体的主要的对象属性的设置:
4.程序流程图
学生入住的程序流程图,如下图所示:
5.相关程序:
1)对入住寝室床位需求的查询,在“查询”按钮BitBtn1的OnClick事件处理程序中完成,SQL语句如下:
ssql:
='select寝室表.寝室号,床位号,居住性别,朝向,铺位,可住人数,已住人数,住没住人from寝室表,床位表where寝室表.寝室号=床位表.寝室号and'+'居住性别='+''''+ssex+''''+'and'+'朝向='+''''+chaoxiang+''''+'and'+'铺位='+''''+chuangpu+'''';
2)对学生入住的操作,在“登记”按钮BitBtn1的OnClick事件处理程序中完成,代码如下:
。
。
。
。
。
。
(四)宿舍调整模块
1.设计思想:
宿舍调整负责将对要求更换寝室床位的学生进行床位的调整。
首先,在学生信息框填入要求调整宿舍的学生姓名、学号,点
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 设计 报告 模板