收藏 分享(赏)

软件工程课程设计--- 宾馆客房管理系统课程设计系统课程设计软件工程宾馆客房管理系统酒店宾馆.doc

上传人:dzzj200808 文档编号:2790192 上传时间:2018-09-27 格式:DOC 页数:22 大小:919.51KB
下载 相关 举报
软件工程课程设计--- 宾馆客房管理系统课程设计系统课程设计软件工程宾馆客房管理系统酒店宾馆.doc_第1页
第1页 / 共22页
软件工程课程设计--- 宾馆客房管理系统课程设计系统课程设计软件工程宾馆客房管理系统酒店宾馆.doc_第2页
第2页 / 共22页
软件工程课程设计--- 宾馆客房管理系统课程设计系统课程设计软件工程宾馆客房管理系统酒店宾馆.doc_第3页
第3页 / 共22页
软件工程课程设计--- 宾馆客房管理系统课程设计系统课程设计软件工程宾馆客房管理系统酒店宾馆.doc_第4页
第4页 / 共22页
软件工程课程设计--- 宾馆客房管理系统课程设计系统课程设计软件工程宾馆客房管理系统酒店宾馆.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、 软 件 工 程 课 程 设 计 (B)题 目 宾馆客房管理系统 课程设计报告单学号 姓名 专业班级 软件工程 08-2考 核 项 目 评分 备注平时工作态度及遵守纪律情况 1 (10 分) 掌握基本理论、关键知识、基本技能的程度和阅读参考资料的水平2(10 分) 独立工作能力、综合运用所学知识分析和解决问题能力及实际工作能力提高的程度3(20 分) 完成课程设计说明书及软件的情况与水平(小组分工情况、规范性、整洁清楚、叙述完整性、思路清晰程度、工作量及实际运行情况和创新性)4(60 分) 总评成绩综 合 评 定: (优、良、中、及格、不及格) 指导教师签字: 2011 年 10 月 21 日

2、软件工程课程设计(B)任务书软件工程课程设计旨在通过 2 周实训时间,培养学生初步掌握系统分析、设计、实现、测试、维护的方法,加深学生对软件工程课程的理解和应用,同时也进一步提高学生运用程序设计语言的能力。一、目标程序设计不等于软件工程,这是本课程需要进一步让学生加深理解的地方。传统的程序设计在一定程度上偏重于计算机科学领域,属于较抽象的范畴;而软件工程则是要实实在在地做出一个满足用户要求的系统来,这是一个很具体的实践过程。作为一个软件开发者,必须具备从事工程实践的技能,包括软件项目的可行性研究、系统分析、设计、编写文档、源码设计、使用工具等基本技能,这就是课程设计要实现的一个目标。课程设计的

3、教学基本要求如下:1巩固和加深对软件工程原理的理解,提高综合运用本课程所学知识的能力。2培养学生选用参考书,查阅手册及文献资料的能力。3培养独立思考,深入研究,分析问题、解决问题的能力。4通过实际系统的分析设计、编程调试,掌握软件的分析方法和工程设计方法。5能够按要求编写课程设计报告书,能正确阐述设计和实验结果、正确绘制系统和程序框图。6通过课程设计,培养学生严谨的科学态度,严肃认真的工作作风和团队协作精神。二、选题与内容选题应尽量结合教学、科研的实际课题,反映新技术,以获得更好的工程设计实践的训练。同时课程设计受到时间及开发环境、条件等的限制,命题应从实际出发,课题的大小规模、难易适度。学生

4、可以根据自己特点、能力、时间进行选题。三、课程设计的基本步骤1问题定义(明确问题边界)2可行性研究3项目开发计划4需求分析5概要设计6数据库设计7详细设计8系统测试9用户使用说明四、教学方法及要求13-4 人成立一个开发小组,选出小组项目负责人,并对小组成员按任务进行分工或者独立完成;2开发环境及工具不限;3严格按软件工程的方法,分阶段进行开发(问题定义、需求分析、概要及详细设计、编码、测试等) ;4要求每阶段产生的文档等软件配置齐全、合理;5上机能正常运行程序。6提交课程设计报告。要求完成课程设计报告 2000 字以上,如果采用分组方式完成,可以分模块完成课程设计报告。五、工作量2 周(10

5、 个工作日)时间六、计划安排第 1 个工作日第 2 个工作日:查找相关资料、书籍,阅读示例文档,选择题目。第 3 个工作日第 4 个工作日:设计程序结构、模块图,学习相关技术。第 5 个工作日第 9 个工作日:完成程序的编码,并且自己调试、测试。穿插进行课程设计报告的撰写。第 10 个工作日:撰写和整理课程设计报告,检查软件测试效果、检查课程设计报告,给出学生成绩。指导教师签字:2011 年 10 月 10 日目 录一、 需求分析1二、 概要设计3三、 详细设计与实现5 四、 系统测试12参考文献13附 录141一、需求分析1 可行性分析 1.1 目标方案可行性(1) 计算机设备处理繁杂的宾馆

6、日常事务,大幅度减少人力、物力,极大地提高宾馆的管理水平和管理效率。(2) 管理水平和管理效率的提高能直接产生经济效益。(3) 高效率的管理形成了良好的经营氛围,为宾馆打造优良形象,提高企业竞争力。(4) 本系统安全保密性可靠,实施独立的局域网络,人员进入系统需要登录,需输入账户和密码。(5) 本系统的管理,可以根据市场需要进行调整,实用性强。1.2 技术可行性(1) 工作人员一般都要求掌握计算机技术,会使用各种管理软件。(2) 在新系统投入使用时,需对员工进行少量的培训,熟悉系统的功能和使用方法使系统能够顺利运行。1.3 经济可行性(1) 宾馆有能力承担系统开发费用。(2) 新系统将为企业带

7、来经济效益。管理系统是一个信息化、智能化和先进管理理念的集合体。而管理是一个动态过程,在其运行过程中要采取多项措施。其最主要的表现就是减少了企业管理费用和人力开支。1.4 操作可行性(1) 本系统采用基于 Windows 的图形用户界面,而该系统是大家熟悉的操作系统,对于那有一般的计算机知识的人员就可以轻松上手。(2) 整个宾馆管理系统采用较友好的交互界面,简单明了,操作方便,不需要对数据库进行深入的了解。2 需求分析2.1 用户工作流程入住或预订客房时,用户要对客房管理模块或预订管理模块进行核对审查,并进行登记;用户要获得换房时,要对换房情况进行查询和更新;顾客结束住宿时,要对其进行结算。2

8、.2 用户业务需求(1) 该管理软件将对客房进行资料管理和统计,对已入住客房、已订出客房、未入住且未订出客房进行录入管理和统计;客房标准、客房内容2(2) 该管理软件将根据用户的需求对客户情况进行资料管理和统计,对已入住客户、预订客房客户进行数据录入、信息检索、修改和删除,并能打印详细信息;(3) 该管理软件将根据用户的需求对结算情况进行资料管理和统计,对已结账的详单及待结账的详单分别进行日、周、月、年的统计与分析。(4) 该管理软件将为用户提供账号管理工具,以便用户对账号进行管理,具体为添加用户、删除用户、修改用户密码;(5) 该管理软件提供企业人员管理,能够对企业员工的分类管理,新员工的加

9、入以及员工删除,修改进本信息等功能。3二、概要设计1 功能需求本课题是以一个小型宾馆信息管理为基础,结合各管理部门工作的实际需求,将要对宾馆信息管理系统进行设计、开发,并对技术难点作出分析,提出解决方法。使“宾馆信息管理系统”最终具有数据录入、修改、删除,信息检索,系统维护等功能。2 主要功能数据处理:实现录入、修改、删除、存储功能。如客房信息、顾客信息、入住信息、换房信息、订房信息、结算信息等的数据处理等。信息检索:实现按不同要求分类模糊查询,组合查询功能,根据查询方式的不同,选择输出检索信息。如订房信息的查询,结算信息的查询等。系统维护:实现对用户权限的限制,密码的保密性设置。3 系统开发

10、目的(1) 实现客房管理、入住管理、换房管理、订房管理、结算管理、系统用户管理的数据录入、修改、删除和信息检索功能,(2) 实现对宾馆的账务管理与系统维护;(3) 大大提高宾馆的运作效率;(4) 通过全面的信息查询和处理,辅助提高宾馆的决策水平;(5) 使用本系统,可以迅速提升宾馆的管理水平,为降低经营成本,提高效益,增强宾馆扩张力,提供有效的技术保障。(6) 能够提供一定的安全机制,提供数据信息授权访问,防止随意删改。4 运行环境操作系统:Windows XP开发工具:Visual Basic 6.0 数据库:SQL Server 200045 项目意义本系统将对数据处理与信息检索作为研究重

11、点,实现对数据的高级处理,且力求通过关键字段实现模糊检索功能,使信息查询更加简单灵活,即使第一次接触系统的人也可轻松操作,快速的找到所需信息。5三、详细设计与实现1 组织结构图总经理收银员系统管理员收银员 2收银员 n收银员 1图 3.12 宾馆的业务流程图如下登陆前台管理 后台管理入住订房换房结算系统用户管理 客房信息管理图 3.263 宾馆的功能结构图如下宾馆管理信息系统前台管理模块后台管理模块宾馆订房管理功能宾馆换房管理功能宾馆入住管理功能宾馆结算管理功能系统管理中心帮助功能宾馆客房管理功能图 3.34 系统功能设计系统功能设计是使整个系统能基本实现宾馆的客房管理、顾客入住、顾客订房、顾

12、客换房、结算管理、系统用户管理等功能,能让宾馆管理者更直观的了解宾馆的经营状况,以做出相应的经营决策。管理信息系统(MIS)就是要对这些资源建立正确的数据库,并进行信息的存储管理、编制成各种凭证、报表、台帐等信息,同时对这些信息进行维护,通过实测宾馆的各种运行情况,并利用过去的历史数据预测未来的发展,从宾馆全局的角度出发进行决策,利用信息控制宾馆的行为,附注宾馆完成其目标。5 模块功能设计本系统共包括七大模块,分别是系统登录模块、系统用户管理模块、客房管理模块,顾客入住模块、订房模块、换房模块及宾馆结算管理模块。5.1. 系统登录模块功能:本模块的主要功能是对用户身份进行,验证只有系统的合法用

13、户才能进入系统。其窗体。登录:在进行系统登录过程中,登录模块将调用数据库里的用户清单,并对账号和密码进行验证,只有输入了正确的账号和密码后,系统登录才会成功。7在登录模块中,对系统的尝试登录次数进行了限制,禁止用户无终止的进行系统登录尝试,在本系统中,当用户对系统的三次登录失败后,系统将自动机制登录,突出登录模块。并在输入了错误的或者是不存在的账户和密码时,系统会给出出错信息提示,指明登录过程中的错误输入或者错误操作,以便用户进行正确的登录。输入项、输出项:输入项为账号和密码。账号和密码均为字符串,长度各为 6 个字符,密码回显字符是“*” 。数据流图:前台工作人员进入主窗体检验 1检验 2登

14、录系统表出错出错帐号输入密码输入图 3.45.2. 系统管理模块功能:在系统实行多用户管理时,本模块将为系统开辟多个系统用户,并能对其进行简单的信息维护,用户名变更、密码修改以及对用户权限的授予。退出:选择退出系统,将关闭整个系统,结束本次使用。8数据流图:系统管理员输入添加更改修改授予员工信息表新用户用户名信息权限新密码新用户名图 3.55.3. 客房管理模块功能:本模块的主要功能是客房信息标准设置以及对客房信息设置。设置客房标准:主要功能客房信息标准的添加、修改和删除。设置客房信息:主要功能客房信息的添加、修改和删除。输入项、输出项:本模块的数据输入项主要是客房编号、客房类型、客房位置、客

15、房单价等。并可以报表形式打印出来。9数据流图:系统管理员添加输入修改删除客房信息表客房编号新客房信息确认删除图 3.65.4. 入住管理模块功能:该模块主要是实现对客户入住信息的登记、查询两个功能。入住信息登记:该模块为系统提供对将入住顾客信息的登记,输入项为顾客信息和客房信息。入住信息查询:该模块为系统提供整个宾馆的已入住顾客信息的查询并可以报表形式打印出来。输入项、输出项:本模块的数据输入项主要是客房编号及客房种类,其中客房编号为必填项。10添加顾客入住业务流程图:添加顾客入住业务流程图收银台 客房信息顾客要求入住客户信息查询剩余客房符合用户标准入住登记客房信息要求客房标准图 3.75.5

16、. 订房管理模块功能:本模块的主要功能是实现对客户订房信息的登记、查询两个功能。入住信息登记:该模块为系统提供订房顾客信息的登记,输入项为顾客信息和客房信息。入住信息查询:该模块为系统提供整个宾馆的已订房顾客信息的查询并可以报表形式打印出来。输入项、输出项:本模块的数据输入项主要是顾客姓名、房间编号及入住时间,其中顾客姓名为必填项。11添加顾客订房业务流程图:添加顾客订房业务流程图前台 客房客户要求订房客户信息查询剩余客房符合用户标准订房登记客房信息要求客房标准图 3.812四、系统测试1 程序登录界面图 5.1 图 5.213参考文献1 甘雷, 中文 Access 2002 标准教程 ,北京

17、希望电子出版社2 何旭洪, Visual Basic 数据库开发实例导航 10-174 页,北京人民邮电出版社3 汉清计算机工作室, Visual Basic6.0 数据库开发实例,页北京机械工业出版社4 岂兴明 银华强 等编著,Visual Basic.NET 项目开发宝典,电子工业出版社5 周扬 郭晓东 动态链接库技术及应用J,电脑编程技巧与维护14附录 全部代码Public NowUser As String 当前用户名Public nowpower As String 当前用户权限Public mydb As DAO.Database 定义数据库Public bgi As Intege

18、r 判断背景风格Public Sub LoadAccess()Set mydb = DAO.OpenDatabase(App.Path & “hotel.mdb“)End SubPublic Sub bground()If bgi = 1 Thenmain.Picture = panel.Image1.Picturepanel.Picture = panel.Image1.Picturepanel.Picture1.Picture = panel.Image1.Picturemain.Picture1.Picture = panel.Image1.Picturemain.Picture2.Pi

19、cture = panel.Image1.PictureUnload findEm: Unload findlogin: Unload fingG: Unload InLogin: Unload LogoutBG: Unload managekf: Unload payoff: Unload ViewUnload changelogin: Unload findLogout: Unload find: panel.resizemeElseIf bgi = 0 Thenmain.Picture = Nothingpanel.Picture = Nothingpanel.Picture1.Pict

20、ure = Nothingmain.Picture1.Picture = Nothingmain.Picture2.Picture = NothingUnload findEm: Unload findlogin: Unload fingG: Unload InLogin: Unload LogoutBG: Unload managekf: Unload payoff: Unload ViewUnload changelogin: Unload findLogout: Unload find: panel.resizemeEnd IfEnd IfEnd SubPrivate Declare F

21、unction ReleaseCapture Lib “user32“ () As Long 获取“变动”信息Private Declare Function SendMessage Lib “user32“ Alias “SendMessageA“ (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongPrivate Const WM_SYSCOMMAND = &H112Private Const SC_MOVE = &HF010&Private Const HTCAPTION

22、 = 2Dim Emp As RecordsetPrivate Sub DTPicker1_Change()Text7.Text = Year(Date) - Year(DTPicker1.Value)End SubPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 1 Then如果按下鼠标左键Dim ReturnVal As LongX = ReleaseCapture()ReturnVal = SendMessage(addEm.hwnd,

23、WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0)End If15End SubPrivate Sub Form_Load()LoadAccessSet Emp = mydb.OpenRecordset(“select * from empl“)Text1.Text = Year(Date) & Month(Date) & Day(Date) & Hour(Time) & Minute(Time)Text7.Text = Year(Date) - Year(DTPicker1.Value)End SubPrivate Sub Command1_Click() =!缺少

24、判断员工号是否存在的信息If Text1.Text = “ Or Text2.Text = “ Or Text4.Text = “ Thenmsg$ = MsgBox(“请确认 员工号、员工姓名、职务 已经输入“, 48, “Error“)ElseEmp.AddNewEmp.Fields(“emid“) = Text1.TextEmp.Fields(“ename“) = Text2.TextEmp.Fields(“esex“) = Combo1.TextEmp.Fields(“ejob“) = Text4.TextEmp.Fields(“eage“) = Val(Text5.Text)Emp.

25、Fields(“etel“) = Text6.TextEmp.Fields(“ejtime“) = DTPicker1.ValueEmp.Fields(“ejage“) = Text7.TextEmp.Update 更新记录Emp.Closemsg$ = MsgBox(“添加成功“, 64, “Success!“)Unload MeEnd IfEnd SubPrivate Sub Command2_Click()Text1.Text = “: Text2.Text = “: Combo1.Text = “Text4.Text = “: Text5.Text = “: Text6.Text =

26、“End SubPrivate Sub Command3_Click()main.Enabled = TrueUnload MeEnd SubDim i As Integer 定义一个整型变量Dim InLog As RecordsetDim Room As RecordsetDim Remind As RecordsetPrivate Sub Combo4_Click()Set Room = mydb.OpenRecordset(“select * from roomlogin where rname=“ & Combo4.Text & “)ZSDJ(4).Text = Room.Field

27、s(“rtype“): ZSDJ(5).Text = Room.Fields(“rprice“)End SubPrivate Sub Combo5_click()Label11.Caption = Combo5.TextEnd Sub16Private Sub DTP3_Change()ZSDJ(6).Text = DTP3.Value - DTP1.ValueEnd SubPrivate Sub Form_Load()If bgi = 1 Then Me.Picture = panel.Image1.PictureIf bgi = 0 Then Me.Picture = NothingDTP

28、1.Value = Date: DTP2.Value = Date: DTP3.Value = Date 初始化日期及时间czy.Text = NowUser 赋值给 czyLoadAccessEnd SubPrivate Sub Form_Unload(Cancel As Integer)main.Enabled = True 设置主窗体有效End SubPrivate Sub Combo2_Click()If Combo2.Text = “折扣“ ThenZSDJ(8).Enabled = True 设置 ZSDJ(8)有效ZSDJ(8).SetFocus ZSDJ(8)获得焦点End I

29、fIf Combo2.Text = “招待“ ThenZSDJ(8).Enabled = True 设置 ZSDJ(8)有效ZSDJ(8).Text = 0 赋值给 ZSDJ(8)End IfEnd SubPrivate Sub ZSDJ_Change(Index As Integer)Select Case IndexCase 6ZSDJ(7).Text = Format(Val(ZSDJ(6).Text) * Val(ZSDJ(5).Text), “0.00“) 计算折前宿费ZSDJ(9).Text = ZSDJ(7).Text 赋值给 ZSDJ(9)ZSDJ(8).Text = 100D

30、TP3.Value = DTP1.Value + Val(ZSDJ(6).Text) 计算退宿日期Case 8ZSDJ(9).Text = Format(Val(ZSDJ(7).Text) * Val(ZSDJ(8).Text) / 100, “0.00“) 计算实际宿费Case 10If ZSDJ(10).Text “ ThenZSDJ(10).Text = Val(ZSDJ(10).Text) 用 val 函数将字符串转换为数字DTP2.Value = DTP1.Value + Int(Val(ZSDJ(10).Text) / Val(ZSDJ(5).Text) 计算提醒日期End IfE

31、nd SelectEnd SubPrivate Sub ZSDJ_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)Select Case IndexCase 0If KeyCode = vbKeyReturn Then Combo1.SetFocus 按回车键 Combo1 获得焦点Case 1If KeyCode = vbKeyReturn Then ZSDJ(2).SetFocus 按回车键 ZSDJ(2)获得焦点Case 2If KeyCode = vbKeyReturn Then ZSDJ(3).SetFoc

32、us 按回车键 ZSDJ(3)获得焦点Case 3If KeyCode = vbKeyReturn Then DBCombo1.SetFocus 按回车键 ZSDJ(2)获得焦点Case 4If KeyCode = vbKeyReturn Then ZSDJ(5).SetFocus 按回车键 ZSDJ(5)获得焦点17Case 5If KeyCode = vbKeyReturn Then ZSDJ(6).SetFocus 按回车键 ZSDJ(6)获得焦点Case 6If KeyCode = vbKeyReturn Then ZSDJ(10).SetFocusCase 8If KeyCode =

33、 vbKeyReturn Then ZSDJ(10).SetFocus 按回车键 ZSDJ(10)获得焦点Case 10If KeyCode = vbKeyReturn Then ZSDJ(11).SetFocus ZSDJ(11)获得焦点Case 11If KeyCode = vbKeyReturn Then Comok.SetFocus 按回车键 Comok 获得焦点End SelectEnd SubPrivate Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode = vbKeyReturn Then ZS

34、DJ(1).SetFocus 按回车键 ZSDJ(1)获得焦点End SubPrivate Sub DBCombo1_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode = vbKeyReturn Then ZSDJ(5).SetFocus ZSDJ(5)获得焦点End SubPrivate Sub comdj_Click()查询空闲房间信息Set Room = mydb.OpenRecordset(“select * from roomlogin where rstatue=空闲“)On Error GoTo uRoom.MoveF

35、irstCombo4.Text = Room.Fields(“rname“)ZSDJ(4).Text = Room.Fields(“rtype“)ZSDJ(5).Text = Room.Fields(“rprice“)Set Room = mydb.OpenRecordset(“select * from roomlogin “)While Not Room.EOFIf Room.Fields(“rstatue“) = “空闲“ Then Combo4.AddItem Room.Fields(“rname“)Room.MoveNextWendbh.Text = Year(Date) & Mon

36、th(Date) & Day(Date) & Hour(Time) & Minute(Time) & Second(Time) 设置编号ZSDJ(8).Text = “: ZSDJ(10).Text = “设置控件有效或无效Comok.Enabled = True: Comdj.Enabled = False: Comprint.Enabled = False: ZSDJ(8).Enabled = TrueZSDJ(10).Enabled = True: Combo1.Enabled = True: DTP3.Enabled = TrueCombo2.Enabled = True: ZSDJ(0).Enabled = True: ZSDJ(0).SetFocusLabel11.Caption = Combo5.TextExit Subu: h$ = MsgBox(“没有空闲房间,客房已满“, 48, “Error“): Comok.Enabled = False: Comprint.Enabled = False: Comcancel.Enabled = False: Comend.Enabled = True: Comdj.Enabled = TrueEnd Sub

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报