文档库 最新最全的文档下载
当前位置:文档库 › 课设说明书

课设说明书

本部分主要介绍系统要实现的功能,搭好设计的总体框架,使我们对要开发的系统有一个系统、全面、确切的认识。

4.1 系统功能模块设计

本系统在设计时采用结构化程序的设计方法,系统的总体结构采用菜单来调用表单,利用表单来对信息进行管理、数据加工、信息查询、系统维护等工作,对在第三章描的各项功能进行集中、分块,按照结构化程序设计的要求,得到如图所示的系统功能模块图。本系统共分7大部分、24个完整的功能模块。系统结构如图4.1所示:

图4.1 客房管理系统结构图

4.2系统结构设计

系统的主要结构:

系统的封面以表单开始,要求用户输入登录,若密码错误,则自动退出,否则出现系统主菜单,接受用户的操作,操作完毕后用户可以从系统菜单中退出系统,系统运行的步骤如图:

客房管理系统

前台管理

客房管理

查询统计

挂账管理

基础信息设置

系统维护 系统初始化

客房预订

住宿登记

调房登记 追加押金

退房结账 客房查询 房态查询

预订房查询

住宿查询

退宿查询

宿费提醒 挂账查询

客人结账

客房信息

客房类型信息

员工信息

挂账单位信息

本单位定义

业务部门定义

权限设置

系统初始化

数据备份

数据恢复

操作员管理

图4.2 系统结构图

4.3系统数据流程图

图4.3 客房管理系统数据流程图

客户

操作员

客户

返回结果

交钱结

结账费用

入住登记

返回信息

返回结果

查询要求

核对账单

返回账单信息

入住 管理

结算 处理

结算账单

入住信息

客房信息

P1

P2 D1

D2

D3

要求

主程序

系统登录窗口

输入密码

主页面菜单

退出系统

4.4数据字典

数据字典是各类数据描述的集合,即是对系统所用到表结构的描述。这个阶段主是要确定基本数据,组成一份详尽的数据字典,为以后进一步设计打下基础,针对客房管理系统中前台管理模块,对客人入住登记表,设计的数据项和数据结构如下:

登记表基本信息:包括的数据库项有、姓名、证件名称、证件号码、详细地址、房间号、客房类型、联系电话、房间价格、住宿日期、住宿时间、实际宿费、退宿日期、备注、是否结账….

住宿登记管理系统的数据表见表4-1:

表4-1登记基本信息表

序号字段数据类型长度主索引

1 凭证号码字符型10 是

2 姓名字符型20 不是

3 证件名称字符型20 不是

4 详细地址字符型50 不是

5 房间号字符型20 不是

6 客房类型字符型10 不是

7 联系电话字符型20 不是

8 房间价格货币型8 不是

9 住宿日期日期型8 不是

10 住宿时间字符型8 不是

11 实际宿费货币型8 不是

12 退宿日期日期型8 不是

13 备注字符型50 不是

14 退宿时间字符型8 不是

15 操作员字符型10 不是

4.5 E-R图

实体属性及实体之间的联系。实体、属性、联系及数据结构描述如下:

实体之间的E-R 图 图4.4

客人信息实体的E-R 图,如图4.5所示:

图4-5 客人实体的E-R 图

客房实体的E-R 图,如图4-6所示:

图4-6 客房实体的E-R 图

第5章 系统设计与功能实现

5.1创建表

任何程序都少不了表的支持,没有表,数据库添加删除等操作几乎无法实现,所以首先建一个表,如图5-1所示:

客人

证件名称

证件号码

姓名

详细地址

客房

房间号

房间类型

价格

配置

入住

客房

管理

客人

员工

图5-1

然后录入登记客人的基本信息。其他表如上述方法依次建立。到此,程序有了一个很好的开始,也可以说,这个小程序开始显露生机,下面我们要做的就是完善它的功能。

5.2 创建表单

5.2.1创建系统登陆表单

系统登录表单如下图,它是操作人员打开本系统的必经之路,设置用户密码,通过它可以防止非法操作人员的进入,确保了系统的安全性。在输入对应的密码后按下回车键或点击确定就可以进入,否则会有相应的信息提出不能进入或密码错误等,若要退出也会有相应的提示信息,当您确定后才可完全退出。

图5-2

5.2.2创建程序主界面表单

整个界面采取表单设计,系统主界面窗口如图5-3所示:

图5-3

5.2.3设计退出系统

整个系统界面也采用表单设计的,文件名为退出系统.scx,退出系统窗口请见图5-4

图5-4

5.2.4创建登记表表单

该表实现对入住客人的登记,如图5-5:

5.2.5创建客房信息表单

该表实现对客房信息的统计,如图5-6:

图5-6

5.3菜单的设计

如图5-7所示在菜单设计器中建立“主菜单”,并编辑子菜单。

图5-7

编辑完菜单后,需要先生成该菜单,然后运行该菜单的程序,运行之后会得到如下图所示的菜单。通过该菜单可以直接进到链接上的表单,

如图5-8

5.4建立项目管理

采用项目建立项目管理器,文件名为客房管理系统.pjx,如图5-9所示:

图5-9

5.5形成可执行文件

在项目管理器中选择连编,形成可执行文件,主程序的代码见附录。

第6章系统评价

6.1 系统的测试

在完成了系统界面设计及编码等工作后,为了使系统能够稳定地运行,测试是必不可少的,本系统采取的测试方案如下。

1.单元测试

主要采用白盒法,即对系统代码中所有可能运行到的语句设置测试数据,以保证其处理结果正确。

2.集成测试

采用白盒法与黑盒法并用的方案,首先对窗体上各成员的工作原理进行测试,检测它们之间的逻辑关系是否正确、能否实现各自的功能,并使用错误测试数据以检测系统的健壮性。如选择系统中模块的实施部分,输入数据,看界面上的功能键能否运行起来。

3.确认测试

主要采用黑盒法,以检测各模块之间、以及窗体与数据库之间的接口是否正确,系统功能是否能得到实现等。

在以上测试的基础上对系统功能进行整体的测试,依次检验系统功能是否符合系统设计

的要求。

6.2 系统的缺点

在该系统的设计方面有很多不足,比如功能过少,系统过于简单,系统功能不够强大,系统功能太少等问题,我会在以后的学习过程中,继续的修改、完善,争取使系统慢慢趋于完善。

参考文献

[1]刘永利,李倩.Visual FoxPro 6.0程序设计任务驱动法教程。中国水利水电出版社,2010

[2] 王晟,王松,刘强.Visual FoxPro 数据库开发经典案例解析.清华大学出

版社,2005:260-308

[3]李雁翎.Visual FoxPro应用基础与面向对象程序设计教程.高等教育出版社,

2004:294-307

附录

图5-2,系统登录表单过程Init的代码为:

public cn,manager &&定义全局变量

cn=0 &&给全局变量赋初值

过程Resize的代码为:

purview=val(alltrim(tabpurview.权限级别))

pqtgl=tabpurview.前台管理

pkfgl=tabpurview.客房管理

pcxtj=tabpurview.查询统计

pgzgl=tabpurview.挂账管理

pjcinfo=tabpurview.基础信息设置

psyscsh=tabpurview.系统初始化

psyswh=tabpurview.系统维护

command1“确定”的的Click过程代码为:

public manager &&定义全局变量

manager=alltrim(https://www.wendangku.net/doc/9712803541.html,bol.value)

use 客房管理\database\tabpurview &&打开数据库cname=alltrim(https://www.wendangku.net/doc/9712803541.html,bol.value)

ppassword=alltrim(thisform.text1.value)

set order to 操作员姓名 &&指定操作员姓名为控制索引if empty(操作员姓名)

thisform.resize &&执行表单的Resize事件

manager=alltrim(https://www.wendangku.net/doc/9712803541.html,bol.displayvalue) store.t.to

pqtgl,pkfgl,pcxtj,pgzgl,pjcinfo,psyscsh,psyswh

do form form\fdesktop &&调入表单

thisform.release

else

seek name &&快速查询

set exact on &&设置字符精确比较

if alltrim(tabpurview.操作员姓名)!=cname

cn=cn+1

cMessaetitle='系统登录'

cMessagetext='操作员错误,请重新输入!'

nDialogtype=4+32

nanswer=messagebox(cmessagetext,ndialogytype,cmessagetitle) do case

case nanswer=6 &&选择“是”时的操作

https://www.wendangku.net/doc/9712803541.html,bol.value=''

https://www.wendangku.net/doc/9712803541.html,bol.setfocus

case nanswer=7 &&选择“否”时的操作

messagebox(''不要乱来!','48',系统登录')

thisform.release &&释放表单

endcase

if cn=3

thisform.release

endif

else

if alltrim(tabpurview.密码)!=password

cn=cn+1

cmessaetitle='系统登录'

cmessagetext='密码错误,请重新输入!'

nDialogtype=4+32

nanswer=messagebox(cmessagetext,ndialogytype,cmessagetitle) do case

case nanswer=6 &&当用户单击“是”按钮

thisform.text1.value=''

thisform.text1.setfocus

case nanswer=7

messagebox(''不要乱来!','48',系统登录')

thisform.release

endcase

if cn=3

thisform.release

endif

else

thisform.resize &&执行表单的Resize事件

manager=alltrim(https://www.wendangku.net/doc/9712803541.html,bol.displayvalue)

do form form\fdesktop

thisform.release

endif

endif

endif

set exact off &&设置字符非精确比较

command2“退出”的Click过程的代码为:

cmessagetitle='系统登录'

cmessagetext='真的要退出吗?'

nDialogtype=4+32

nanswer=messagebox(Messagetext,nDialogtype,cMessagetitle) if nanswer=6

thisform.release

endif

图5-3程序主界面表单过程Init的代码为:

if purview>4 or pqtgl=.f.

this.parent.vcxmain1.kfyd.enabled=.f.

this.parent.vcxmain1.zsdj.enabled=.f.

this.parent.vcxmain1.tsjz.enabled=.f.

else

this.parent.vcxmain1.kfyd.enabled=.t.

this.parent.vcxmain1.zsdj.enabled=.t.

this.parent.vcxmain1.tsjz.enabled=.t.

endif

purview>4 or pcxtj=.f.

this.parent.vcxmain1.zscx.enabled=.f. this.parent.vcxmain1.sftx.enabled=.f. else

this.parent.vcxmain1.zscx.enabled=.t. this.parent.vcxmain1.sftx.enabled=.t. endif

purview>4 OR pkfgl=.f.

this.parent.vcxmain1.kfcx.enabled=.f. this.parent.vcxmain1.ftck.enabled=.f. else

this.parent.vcxmain1.kfcx.enabled=.t. this.parent.vcxmain1.ftck.enabled=.t. endif

purview>4 OR pjcinfo=.f.

this.parent.vcxmain1.kfinfo.enabled=.f. else

this.parent.vcxmain1.kfinfo.enabled=.t. endif

command1的Click过程代码为:

do form 客房管理\form\客房预订

command2的Click过程代码为:

do form 客房管理\form\住宿登记

command3的Click过程代码为:do form 客房管理\form\退宿结账command4的Click过程代码为:do form 客房管理\form\住宿查询command5的Click过程代码为:do form 客房管理\form\客房查询command6的Click过程代码为:do form 客房管理\form\房态查询command7的Click过程代码为:do form 客房管理\form\宿费提醒command8的Click过程代码为:do form 客房管理\form\客房信息command9的Click过程代码为:quit

相关文档