软件编程毕业论文修订稿.docx
《软件编程毕业论文修订稿.docx》由会员分享,可在线阅读,更多相关《软件编程毕业论文修订稿.docx(19页珍藏版)》请在冰豆网上搜索。
软件编程毕业论文修订稿
WEIHUAsystemofficeroom【WEIHUA16H-WEIHUAWEIHUA8Q8-WEIHUA1688】
软件编程毕业论文
计算机应用软件编程
毕业论文
题目宾馆管理系统
专业计算机应用(软件)
年级2010级
学生姓名王依明
指导教师
年月日
摘要
信息管理系统也就是我们常说的MIS(ManagementInformationSystem),在强调信息管理的现代社会中它变得越来越普及了。
宾馆管理系统是一个典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,利用计算机软硬件资源以及数据库的人-机系统,提供信息支持企业或组织的运行、管理和决策功能。
对于数据库,要求建立起数据的一致性、完整性、安全性;而对于前端应用程序则要求应用程序功能完备、界面友好和容易掌握使用等特点。
经过分析,我们使用MICROSOFT公司的VISUALBASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据库这一方面,利用其ADO控件能方便而简洁操纵数据库的智能化对象,在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直至得到满意的系统。
关键字:
窗体;域;宾馆管理系统
引言
现代化的宾馆是集客房、餐饮、通讯、娱乐,商务及其他各种服务与设施为一体化的消费场所,宾馆组织庞大,服务项目多,信息量大,要想提高劳动生产,降低成本,提高服务质量和管理水平,进而促进效益,必须借助计算机来进行现代化的信息管理。
酒店宾馆行业随着社会的不断发展和进步,迎来了越来越多的商机的同时,也面临着日趋激烈的竞争。
随着酒店业竞争的加剧,酒店利用传统的竞争手段所创造的利润空间越来越小,酒店需要使用更有效的竞争手段,拓展更广阔的经营空间,提供更细致、全面、个性化的服务,大幅度降低运营成本,面对瞬息万变的市场竞争提高管理和决策的效率。
如何使自己的酒店宾馆在本行业中脱颖而出,独领风骚,原始的手工操作方式和传统的管理方法显得越来越不能满足当前宾馆行业的发展。
酒店业为适应信息化时代对现代酒店的新要求,向客人提供更加方便、快捷、高效的服务,满足各类不同客人的个性化服务要求,因此,建立一套先进的、科学的、严谨的、适合自身特点的饭店管理机制,是使自己更具竞争力的必要手段。
那么如何设计一个操作简单,灵活性好、系统安全性高,运行稳定的系统呢?
下面是我们利用VB所学设计的一个简单的,下面是开发过程与原理。
第一章开发宾馆信息管理系统的意义
系统目标设计
系统目标设计宾馆管理系统的主要目标是实现对宾馆内部各种信息管理的化,提高各个部门及部门间的办公效率,为高质量高效率的宾馆服务做准备,以适应现代化的酒店宾馆的需要。
设计思想
系统着眼于宾馆的当前信息管理和未来的发展,是通过对宾馆相关管理人员的咨询和对他们需求报告中所列项目本着软件的思想所编写的。
我们所设计的系统将更加贴近于现代酒店的管理模式和管理风格。
在中小企业(酒店宾馆)中用计算机管理的意义
在中小企业(酒店宾馆)中用计算机管理的意义现在我国的中小企业(酒店宾馆)管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。
改革开放的总设计师邓小平同志曾说过:
“科学技术是第一生产力”。
我希望能用我所学的知识编写一个应用的程序帮助宾馆管理人员进行更有效的管理。
宾馆管理系统的设计分析
宾馆管理系统的设计分析根据实际情况,我们使用原型法(RapidPrototyping)即以少量代价快速地构造一个可执行的软件系统模型。
使用户和开发人员可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满足。
此时模块也发展成为最终产品了。
编程环境的选择
编程环境的选择微软公司的VisualBasic是Windows应用程序开发工具,使目前最为广泛的、易学易用的面向对象的开发工具。
VisualBasic提供了大量的组件,这些组件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。
故而,实现本系统是一个相对较好的选择。
而且,VisualBasic强大的调试功能也为大型复杂软件的开发提供了有效的排错手段。
第二章系统规划及数据库的实现
系统总体规划图
图2-1系统总体规划图
数据库需求分析
数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询等方面,这就要求数据库结构充分满足各种信息的输入和输出。
收集基本数据、数据结构以及数据处理的流程,组成一分详尽的数据字典,为数据库的具体设计打下基础。
针对一般宾馆管理信息系统的需求,通过对宾馆管理工作过程的内容和数据流程分析,设计如下数据项和数据结构:
·客房标准信息,包括的数据项有:
客房编号、客房级别、客房类型、客房单价。
·入住信息,包括的数据项有:
登记编号、顾客姓名、身份证号、房间号、入住日期。
·退房信息,包括的数据项有:
登记编号、退房时间、应付金额等。
通过我上面对数据库的规划和对所需数据设置,在我所编辑的系统里我们给用户所实现的数据库就能简单的实现如下所列的操作。
可以进行文本操作;添加一个数据库项目;删除一个数据库项目;修改一个数据库项目;对数据信息的查询。
数据库设计
设计数据库系统时首先应该充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。
数据库设计一般包括如下几个步骤:
数据库需求分析,数据库概念结构设计,数据库逻辑结构设计。
数据库概念结构设计
根据上面我所设计的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及他们的关系。
根据上面所设计规划出的实体有:
客房标准信息实体、客房信息实体、入住信息实体、退房信息实体。
使用ACCESS实现关系型数据库
创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。
创建一个数据库结构的过程被认为是数据模型设计。
在我所设计的这个系统中,我使用的是MICROSOFTACCESS作为我的数据库系统。
ACCESS就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。
ACCESS的优点在于它能使用数据表示图或自定义窗体收集信息。
可以使数据库一目了然。
ACCESS也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。
ACCESS是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。
如上所述,ACCESS作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。
在我的整个系统的实现上通过VB的代码与ACCESS结合,创建出我们所需要的数据库。
在实现系统与数据库结合的过程
第三章系统具体实现
登陆系统模块的创建
登录界面
图3-1登陆界面
这一部分主要是通过对数据库宾馆管理系统中USER的查询因此而登陆到系统软件当中
设计界面如图3-1
登陆模块主要功能有:
用户登录
下面是实现这些功能的代码,写在“登录”按钮的单击事件函数中:
按钮一的单击事件
PrivateSubCommand1_Click()‘登录窗口的实现’
DimrsAs
If=""Then
MsgBox"请输入帐号"
ElseIf=""Then
MsgBox"请输入密码"
Else
Setrs=Executesql("select*fromuser_infowhereuser_id='"&&"'anduser_pwd='"&&"'")‘连接数据库,从数据库中调取用户信息’
If=TrueThen
MsgBox"账户或密码错误"‘提示密码错误,重新输入密码’
=0
=Len
Else
MsgBox"登录成功"
username=‘登录成功后,文本恢复空’
=""
=""
UnloadMe
EndIf
EndIf
EndSub
系统管理模块的创建
系统管理模块
图3-2系统管理界面
图3-3修改密码界面
如图3-2所示通过主界面进入系统管理模块,系统管理模块总共分为两个部分:
密码修改和退出。
密码修改,是通过软件的代码通过访问宾馆管理系统数据库从而实现对系统用户登陆的密码修改退出,通过代码退出整个程序
系统模块的主要功能:
更改用户密码和退出整个程序
设计页面如图3-3所示
密码修改
下面是实现这些功能的主要代码,写在“确认”按钮的单击事件函数中:
按钮一的单击事件
PrivateSubCommand1_Click()‘实现修改密码’
If=""Then
MsgBox"请输入原密码"
ElseIf=""Then
MsgBox"请输入新密码"
ElseIf=""Then
MsgBox"请确认新密码"
ElseIfVal<>ValThen
MsgBox"重新输入确认密码"
=0
=Len
Else
Setrs=Executesql("select*fromuser_infowhereuser_id='"&username&"'")‘从数据库中调取用户名’
IfText2<>
(1)Then‘修改密码’
MsgBox"原密码不正确"
Else
(1)=Text3
MsgBox"修改成功"
Text2=""
Text3=""
Text4=""
EndIf
EndIf
EndSub
用户管理模块的创建
图3-4用户管理模块
如图3-4所示该模块为用户管理模块,用于对系统用户添加修改和删除的一些应用
主要代码如下:
添加用户
按钮一的单击事件
If="添加"Then
=True
=True
=True
="保存"
=False
=False
else
Setrs=Executesql("select*fromuser_infowhereuser_id='"&&"'")
IfNotThen
MsgBox"添加成功"
Else
(0)=Text1
(1)="000000"
(2)=Combo1
(3)=Text2
=False
=False
=False
=True
=True
="添加"
Text1=""
Text2=""
=-1
Callfz
=True
=True
Endif
按钮二的单击事件
删除用户
Setrs=Executesql("select*fromuser_infowhereuser_id='"&Text1&"'")
IfMsgBox("是否真正删除",4)=6Then
MsgBox"删除成功"
=""
=-1
=""
Callfz
按钮三的单击事件
返回窗体
UnloadMe
按钮四的单击事件
修改权限
Setrs=Executesql("select*fromuser_infowhereuser_id='"&&"'")
(2)=Combo1
MsgBox"修改成功"
="修改"
Callfz
=""
=-1
=""
客房管理模块的创建
图3-5客房管理模块
如图3-5所示该模块为客房管理模块,主要功能为客房一些信息的添加修改、删除、取消的功能
实现其功能具体代码如下:
写在按钮一的单击事件里
添加信息
按钮和文本的代码与上面添加代码一样
Setrs=Executesql("select*fromroom_infowhereroom_no='"&Text1&"'")
If=FalseThen
MsgBox"该房间信息已存在"
Else
更新数据库代码
MsgBox"添加成功"
Callwgfz
Callhy
写在按钮二的单击事件里
修改信息
Setrs=Executesql("select*fromroom_infowhereroom_no='"&Text1&"'")
(1)=Combo1
(2)=Val(Combo2)
(3)=Combo3
(4)=Combo4
(5)=Combo5
(6)=Combo6
(7)=Combo7
MsgBox"修改成功"
Callhy
写在按钮三的单击事件里
删除信息
Setrs=Executesql("select*fromroom_infowhereroom_no='"&Text1&"'")
IfMsgBox("是否",4)=6Then
MsgBox"删除成功"
Callwgfz
Callhy
EndIf
写在按钮四的单击事件里
取消
UnloadMe
价格管理模块的创建
图3-6价格管理模块
图3-6为价格管理模块实现其功能管理房间的价格,添加、修改、删除。
实现其代码如下:
写在按钮一的单击事件
添加信息
与上面模块添加代码相同
Setrs=Executesql("select*fromprice_infowhereroom_type='"&Combo1&"'")
If=FalseThen
MsgBox"该房间信息已存在"
Else
(0)=Combo1
(1)=Val(Text1)
(2)=Val(Text2)
MsgBox"添加成功"
Callwgfz
Callhy
写在按钮二的单击事件里
修改信息
Setrs=Executesql("select*fromprice_infowhereroom_type='"&Combo1&"'")
(1)=Val(Text1)
(2)=Val(Text2)
MsgBox"修改成功"
Callwgfz
Callhy
写在按钮三的单击事件里
删除信息
Setrs=Executesql("select*fromprice_infowhereroom_type='"&Combo1&"'")
IfMsgBox("是否",4)=6Then
MsgBox"删除成功"
Callwgfz
Callhy
写在按钮四的单击事件里
返回
UnloadMe
开房结账管理模块的创建
图3-7开房结账模块
图3-7为开放结账管理模块实现其功能开房、结账
实现其代码如下:
鼠标拖动事件
PrivateSubCommand1_MouseDown(IndexAsInteger,ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)
Command1(Index).Drag1
IfRight(Command1(Index).Caption,1)="空"Then
Command1(Index).DragIcon=LoadPicture&"\")
Else
Command1(Index).DragIcon=LoadPicture&"\")
EndIf
EndSub
PrivateSubCommand1_MouseUp(IndexAsInteger,ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)
Command1(Index).Drag2
EndSub
写在按钮二的单击事件里
开房
IfRight,1)="空"Then
roomno=Trim(Left,Len-1))
1
EndIf
写在按钮三的单击事件里
结账
IfRight,1)="满"Then
roomno=Trim(Left,Len-1))
1
EndIf
3.7查询信息管理模块创建
图3-8顾客信息查询模块
图3-9账目查询模块
查询模块分为两个部分(图3-8和图3-9),一是顾客信息查询、二是账目查询,顾客信息起主要功能是查询顾客的一些信息,可以按照姓名、身份证号、入住日期进行查询,而账目查询主要是管理者对账目的查询,可以通过日期进行查询
实现其功能的主要代码如下:
写在按钮一的单击事件里
顾客信息查询
If=TrueThen
IfText1=""Then
MsgBox"填写查找顾客的姓名"
Else
Setrs=Executesql("select*fromguest_infowhereguest_name='"&Text1&"'")
Callwgfz
EndIf
Setrs=Executesql("select*fromguest_infowhereguest_num='"&Text2&"'")
Callwgfz
EndIf
ElseIf=TrueThen
Text1=""
Text2=""
IfCombo1=""OrCombo2=""OrCombo3=""OrCombo4=""OrCombo5=""OrCombo6=""Then
MsgBox"请选择要查找顾客的日期范围"
Else
Dimd1AsDate
Dimd2AsDate
d1=CDate(Combo1&"-"&Combo2&"-"&Combo3)
d2=CDate(Combo4&"-"&Combo5&"-"&Combo6)
Setrs=Executesql("select*fromguest_infowhereout_date>=#"&d1&"#andout_date<=#"&d2&"#")
Callwgfz
写在按钮二的单击事件里
账目查询
Setrs=Executesql("selectmoneyfromguest_infowhereroom_type='单人间'andout_date=#"&&"#")
DoWhileNot
Text1=Val(Text1)+(0)
Loop
Setrs=Executesql("selectmoneyfromguest_infowhereroom_type='双人间'andout_date=#"&&"#")
DoWhileNot
Text2=Val(Text2)+(0)
Loop
Setrs=Executesql("selectmoneyfromguest_infowhereroom_type='三人间'andout_date=#"&&"#")
DoWhileNot
Text3=Val(Text3)+(0)
Loop
Text4=Val(Text1)+Val(Text2)+Val(Text3)
=True
=False
3.8关于模块的创建
图3-10关于模块
关于模块(图3-10)的创建其主要功能就是说明一下系统的版权所有,制作团队,制作日期的一些信息。
关于模块的设计基本采用文本框、标签等一些界面设计
结论
经过一个多月的设计和开发,宾馆系统基本开发完毕。
与同种产品,本系统主要具有如下特点:
本系统的前台客户端使用的是面向对象编程,功能比较全面、覆盖宾馆的大部分业务,包括预定、收银、客房登记、客房基本情况、财务等模块,系统界面友好、美观。
从用户角度出发,智能化,简单易用、快捷操作,具有良好的灵活性和良好的可扩充性,可以随着业务的发展在功能和规模两个方面随时进行扩展和升级。
但是,由于本人能力有限,所以该系统还有许多不尽如人意的地方,比如软件开发各阶段的文档和帮助文档不全,系统的可移置性较差,用户界面不够美观,出错处理不够和软件测试方面做得不足等等。
这些都有待进一步改善。
在设计过程中,我学到了不少东西,把以前学到的理论知识和实际相结合,加深了对理论知识理解,比如:
通过ADO控件操作数据库,对数据库的查询,和删除实现数据的增加,修改和删除,数据绑定,报表打印,增加菜单编辑器,实现Windows菜单届面,操作熟练程序进一步加强了;同时,在开发过程中,大家分工明确,相互帮助,配合默契,发扬团队精神,工作环境十分愉快。
致谢
历时将近一个月的时间终于将这篇论文写完,在论文的写作过程中遇到了无数的困难和障碍,都在同学和老师的帮助下度过了。
尤其要强烈感谢我的论文指导老师—赵津考
老师,她对我进行了无私的指导和帮助,不厌其烦的帮助进行论文的修改和改进。
另外,在校图书馆查找资料的时候,图书馆的老师也给我提供了很多方面的支持与帮助。
在此向帮助和指导过我的各位老师表示最中心的感谢!
感谢这篇论文所涉及到的各位学者。
本文引用了数位学者的研究文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成本篇论文的写作。
感谢我的同学和朋友,在我写论文的过程中给予我了很多你问素材,还在论文的撰写和排版灯过程中提供热情的帮助。
由于我的学术水平有限,所写论文难免有不足之处,恳请各位老师和学友批评和指正!
参考文献
主要参考文献:
[1]VisualBasic数据库系统开发实例导航作者:
刘韬骆娟何旭洪人民邮电出版社
[2]VisualBasic教育信息化系统开发实例导航作者:
林陈雷郭安源葛晓东人民邮电出版社
[3]VisualBasic进销存系统开发实例导航作者:
刘韬骆娟人民邮电出版社
[4]VisualBasic数据库开发自学教程作者:
孙越人民邮电出版社