毕业设计说明书参考例子.docx
《毕业设计说明书参考例子.docx》由会员分享,可在线阅读,更多相关《毕业设计说明书参考例子.docx(54页珍藏版)》请在冰豆网上搜索。
毕业设计说明书参考例子
酒店管理系统的设计与实现
摘 要
随着我国市场经济的迅速发展和人们生活水平的不断提高,尤其是中国加入WTO,外国竞争者的进入,酒店业的竞争愈来愈激烈。
要想在竞争中取得优势,必须在经营管理、产品服务等方面提高服务管理意识。
而对客房的经营起决定作用的是客房的管理。
如何利用先进的管理手段,提高客房的管理水平,是每一酒店管理者所面临的重要课题。
简单的服务标准已不是制胜的锦囊,只有管理做到最细微之处才能让顾客体会到酒店服务的高标准、高质量。
而准确、快捷、周全往往就是最基本的成功要素。
面对信息时代的挑战,利用科技手段提高企业管理无疑是一条行之有效的途径。
因此采用电脑和先进的技术管理业务、财务等诸多环节已成为推动酒店业快速发展的先决条件。
揭阳特美思大酒店是揭阳地区首家现代化涉外四星级商务酒店,由中国烟草总公司深圳市公司和揭阳金叶发展公司共同投资兴建。
经过十年的苦心经营,现成为揭阳著名的企业,随着规模的扩大,该酒店占地面积10000多平方米,建筑面积6000多平方米,职工人数150人,是集住宿、餐饮、娱乐、购物、商贸、旅游为一体的酒店。
酒店设有:
豪华套间、标准间、普间;有电子门锁系统、闭路电视、程控电话等,该公司现已有酒店管理信息系统,包括酒店客房管理子系统,餐饮子系统,门锁子系统等,随着业务的增加,竞争的加剧,原有基于C/S模式的酒店客房管理子系统已暴露出其缺点:
反应时间慢,业务处理时间较长,且不能使酒店上网等不足,现急需开发一套基于B/S模式的酒店客房管理系统,本系统在这背景下应运而生。
关键词:
客房管理,收支管理,ASP,SQL
DESIGNANDIMPLEMENTATIONOFFAMILYFINANCIALMANAGEMENTSYSTEM
ABSTRACT
Tomostofnormalfamilies,familyfinanceandconsumptionhasbeenthroughthewholefamilylife.However,thetraditionalmethods,suchasmanualrecord,willnolongermeetthenewneedofincreasingexpenditureitemsinfamilyfinance.
Inordertoassistfamilymemberstohaveaclearandcorrectunderstandingoftheirownfinancialconditions,whichwillfurtherhelpthemmakerationaldecisionsinthefutureinvestmentandfinance,Idesignthefamilyfinancialmanagementsystem.ThesystemiscreatedinASPandthedatabaseiscreatedbyAccess2000.Themainfunctionsincludethefollowing4aspects:
usermanagement,expendituremanagement,typemanagementandinformationquery.Usermanagementisdesignedforsystemadministratorstomanageothernormalmembers,orfornormalmemberstomanagetheirowninformation.Expendituremanagementcanhelptoadd,delete,orupdateexpenditurerecords.Typemanagementisaspecialfunctioninmysystem,whichallowsuserstocreatenewtypesofexpenditureaccordingtothefacts,makingeveryexpenditurerecordeasertobeunderstood.Informationqueryprovidestwokindsofquerymethod:
oneisexpenditurequery,whichisdesignedtoqueryeveryrecord;theotheroneisannualstatistic,whichisdesignedtoquerythewholeinformationbyyear.
Onthebasisofprovidingcleaninterfacesandkeepinguser-friendly,theoperationalstepsaresimplifieduptothemaximalinthissystem.Thenewfunctionwhichallowsuserstocreatetheirowntypesofexpenditureisincludedsothatitwillnotonlyhelpusersmastertheoperationalmethodsofthesystemquickly,butalsoimprovetheoperationalflexibility.Inaddition,thesystemcanadapttoanumberofvariabletypesofexpenditure,makingitanimportanttoolinfamilyfinance.
KEYWORDS:
FamilyFinance,ExpenditureManagement,ASP,Access
目 录
前 言
目前现有的酒店前台管理信息子系统是在1998年由深圳市一家专门从事酒店管理信息系统的有限公司开发的,该系统基于C/S模式,拥有预订、接待、结账、客房管理以及查询服务等功能,系统实施以来,由于采用计算机所带来的便利性和高效性,酒店的业务蒸蒸日上,在社会公众中树立良好的企业形象,但随着数据的增加,业务的增加,竞争的加剧,原有的子系统已暴露出运行速度慢,处理时间长,且不能上网等缺点。
随着近几年网络的飞快发展,人们的消费行为也随着改变,越来越多的人们希望通过网络迅速了解酒店信息和进行消费,基于上述原因,酒店的管理人员决定重新开发一套基于web的酒店前台管理系统。
需求分析
需求调查
用户希望通过使用酒店客房管理系统得到所需信息,达到提高管理水平的目的,希望新系统具有以下功能:
(1)使用计算机快速处理日常的业务,可实现酒店上网。
(2)使用电脑处理数据,实现实时查询各种入住信息。
(3)可以实时的录入住宿单、调房单和退宿单等的情况。
(4)可以实时查询客房信息、客人挂帐信息等的明细。
(5)可以建立客户的资料,方便日后建立良好的客户关系。
(6)数据的安全性:
不同用户有对数据查看,修改等处理不同的权限。
(7)打印退宿报表、结帐报表等报表。
图1-1系统功能模块图
建立用例图
从以上需求描述中,我们发现系统中的参与者主要包括两类:
普通会员、系统管理员。
识别出参与者后,从参与者的角度就可以发现系统的用例,并绘制出系统的用例图[6],如图1-2、1-3所示。
图1-2普通会员用例图
图1-3系统管理员用例图
描述用例
针对以上的用例图,下面对其中几个主要的用例进行描述。
添加会员用例的描述
添加会员用例的描述如表1-1所示。
表1-1添加会员用例的描述
用例名称
添加会员
参与者
系统管理员
前置条件
登录成功
后置条件
无
基本操作流程
1.若首次登录,输入初始管理员用户名和密码(均为admin)登录系统
2.单击界面左侧的“用户管理”下的“添加会员”,并进行相关操作
管理会员用例的描述
管理会员用例的描述如表1-2所示。
表1-2管理会员用例的描述
用例名称
管理会员
参与者
系统管理员
前置条件
登录成功
后置条件
无
基本操作流程
单击界面左侧的“用户管理”下的“管理会员”,并进行相关操作
修改密码用例的描述
修改密码用例的描述如表1-3所示。
表1-3修改密码用例的描述
用例名称
修改密码
参与者
系统管理员或普通会员
前置条件
登录成功
后置条件
无
基本操作流程
单击界面左侧的“系统管理”下的“修改密码”,并进行相关操作
添加收入用例的描述
添加收入用例的描述如表1-4所示。
表1-4添加收入用例的描述
用例名称
添加收入
参与者
系统管理员或普通会员
前置条件
登录成功
后置条件
无
基本操作流程
单击界面左侧的“费用管理”下的“添加收入”,并进行相关操作
添加支出用例的描述
添加支出用例的描述如表1-5所示。
表1-5添加支出用例的描述
用例名称
添加支出
参与者
系统管理员或普通会员
前置条件
登录成功
后置条件
无
基本操作流程
单击界面左侧的“费用管理”下的“添加支出”,并进行相关操作
管理类型用例的描述
管理类型用例的描述如表1-6所示。
表1-6管理类型用例的描述
用例名称
管理类型
参与者
系统管理员或普通会员
前置条件
登录成功
后置条件
无
基本操作流程
单击界面左侧的“费用管理”下的“管理类型”,并进行相关操作
添加类型用例的描述
添加类型用例的描述如表1-7所示。
表1-7添加类型用例的描述
用例名称
添加类型
参与者
系统管理员或普通会员
前置条件
登录成功
后置条件
无
基本操作流程
单击界面左侧的“费用管理”下的“添加类型”,并进行相关操作
管理明细用例的描述
管理明细用例的描述如表1-8所示。
表1-8管理明细用例的描述
用例名称
管理明细
参与者
系统管理员或普通会员
前置条件
登录成功
后置条件
无
基本操作流程
单击界面左侧的“统计报表”下的“收支明细”,并进行相关操作
年度统计用例的描述
年度统计用例的描述如表1-9所示。
表1-9年度统计用例的描述
用例名称
年度统计
参与者
系统管理员或普通会员
前置条件
已经登录成功
后置条件
无
基本操作流程
1.单击界面左侧的“统计报表”下的“年度统计”
2.选择统计年份,单击“统计”
系统分析
实体类
通过对系统需求的分析,我们发现系统中主要有以下三个实体类:
用户类(user)、收支明细类(list)和收支类型类(type)[7]。
用户类user
描述与用户相关的属性与操作。
(1)属性
ID:
用户编号。
UserName:
用户名称。
Password:
用户密码。
Admin:
用户身份。
(2)操作
Add_user():
添加用户信息。
Edit_user():
修改用户信息。
Delete_user():
删除用户信息。
收支明细类list
描述与收支明细相关的属性与操作。
(1)属性
ID:
收支明细编号。
PayTypeID:
收支类型编号。
Moneys:
金额。
Project:
项目名称。
AddTime:
添加记录的时间。
User:
记录添加者。
(2)操作
Add_count():
添加收支记录。
Edit_count():
修改收支记录。
Delete_count():
删除收支记录。
Query_count():
查询收支记录。
Query_all():
查询年度收支记录。
收支类型类type
描述与用户自定义的类型相关的属性与操作。
(1)属性
ID:
收支类型编号。
PayType:
用户自定义的收支类型。
InOut:
类型性质。
Date:
创建类型的时间。
User:
记录添加者。
(2)操作
Add_type():
添加类型。
Edit_type():
修改类型。
Delete_type():
删除类型。
系统分析阶段的实体类的类图
图2-1系统分析阶段的实体类的类图
用户界面类
系统中需要以下用户界面类[8],其类图如图2-2所示。
MainWindow:
系统的主窗口。
UserWindow:
普通会员的窗口。
AdminWindow:
系统管理员的窗口。
TypeWindow:
种类管理的窗口。
CountWindow:
收支记录管理的窗口。
图2-2系统分析阶段的用户界面类图
数据库访问类
类Data为数据库访问类,用于从数据库中读出或写入数据[9],其类图如图2-3所示。
(1)属性
sConn:
数据库连接字符串。
(2)操作:
ExecuteSqlDataSet():
根据SQL查询数据库。
ExecuteSqlNonQuery():
根据SQL语句修改数据库。
图2-3系统分析阶段的数据库访问类图
建立交互图
交互图包括时序图和协作图,二者是类图的辅助模型。
在建立时序图和协作图时,将会发现新的操作,并可以将它们添加到类图中[10]。
添加用户信息的时序图
添加用户信息的时序图如图2-4所示。
图2-4添加用户信息的时序图
添加类型的时序图
添加类型的时序图如图2-5所示。
图2-5添加类型的时序图
查询收支记录的时序图
查询收支记录的时序图如图2-6所示。
图2-6查询收支记录的时序图
修改用户信息的协作图
修改用户信息的协作图如图2-7所示。
图2-7修改用户信息的协作图
修改类型的协作图
修改类型的协作图如图2-8所示。
图2-8修改类型的协作图
系统设计
系统设计阶段的任务主要包括:
考虑系统的实现环境,对分析阶段的类图模型进行调整与完善,并对人机界面和数据库进行设计,最终形成一个可实现的系统设计模型。
本系统采用目前主流的三层架构:
用户界面层、业务逻辑层和数据访问层建立,代码采用ASP编写。
类图的调整与完善
在系统分析阶段,因为不考虑系统的实现问题,且实现系统的编程语言未定,因此类图中属性的数据类型、操作的返回值类型均没有画出[11]。
在系统设计阶段应对这些地方进行完善,完善后的实体类图、界面类图、数据库访问类图分析如图3-1、3-2和3-3所示:
图3-1系统设计阶段的实体类图
图3-2系统设计阶段的用户界面类图
图3-3系统设计阶段的数据库访问类图
人机界面设计
该系统的一个特色就是人机界面简洁,用户友好性强,下面通过几个主要模块的界面展示来说明这一点。
登陆界面的设计
登录界面主要供用户登录系统,其界面如图3-4所示。
图3-4登录界面
管理员操作界面的设计
管理员操作界面主要供管理员进行各项功能的操作,其界面如图3-5所示。
图3-5管理员操作界面
普通会员操作界面的设计
普通会员操作界面主要供普通会员进行各项功能的操作,与管理员操作界面相比,少了“用户管理”板块,其余的部分相同,其界面如图3-6所示。
图3-6普通会员操作界面
系统管理界面的设计
系统管理界面主要供用户修改自身密码,其界面如图3-7所示。
图3-7系统管理界面
用户管理界面的设计
用户管理界面主要供管理员对其他会员进行管理,包括“添加会员”和“管理会员”两个部分,其界面分别如图3-8、3-9所示。
图3-8添加会员界面
图3-9管理会员界面
费用管理界面的设计
费用管理界主要包括“添加收入”、“添加支出”、“管理类型”和“添加类型”四个部分,其界面分别如图3-10、3-11、3-12和3-13所示。
图3-10添加收入界面
图3-11添加支出界面
图3-12管理类型界面
图3-13添加类型出界面
统计报表界面的设计
统计报表界面主要供用户对自身的收支数据进行统计等操作,包括“收支明细”和“年度统计”两个部分,其中收支明细界面如图3-14所示。
图3-14收支明细界面
数据库设计
由于目前面向对象数据库系统还不成熟,本系统将采用关系数据库系统存储永久对象(需要长期存储的对象),主要工作是将类图转换为关系模型。
因此将系统分析阶段的实体类转换成对应的关系模型:
list表、type表和user表。
每一个表均设一个主键ID[12],这样能简化程序,提高运行效率。
其中,type表和list表的外键user属性对应于user表的主键ID,list表的外键PayTypeID属性对应于type表的主键ID。
List(ID,PayTypeID,Moneys,Project,AddTime,User)
Type(ID,PayType,InOut,Date,User)
User(ID,UserName,Password,Admin)
通过分析,以上各个关系模型均符合三范式[13]的要求,不需再要作调整。
系统实施
开发环境
本系统主要在Dreamweaver8上进行脚本编写,在IIS5.1上进行调试。
其中主要的文件如图4-1所示。
图4-1系统主要文件
数据库建立
本系统数据库采用Access2000[14]建立,主要包括三个表:
list表、type表和user表。
数据库文件guke_data.mdb存放在文件夹database中,每个表的设计如图4-2、4-3和4-4所示。
list表的设计
list表用于存储每笔收支记录,如图4-2所示。
图4-2list表
type表的设计
type表用于存储用户自定义的收支种类,其中InOut属性取值为0和1(0代表支出,1代表收入),如图4-3所示。
图4-3type表
user表的设计
user表用于存储用户信息,其中admin属性取值为0和1(0代表普通会员,1代表系统管理员),如图4-4所示。
图4-4user表
程序设计
由于系统代码较多,这里只列举主要的程序代码以供参考。
数据库连接代码conn.asp
dimconn
dimconnstr
onerrorresumenext
connstr="DBQ="+server.mappath("database/guke_data.mdb")+";DefaultDir=;DRIVER={MicrosoftAccessDriver(*.mdb)};"
setconn=server.createobject("ADODB.CONNECTION")
conn.openconnstr
IferrThen
err.clear
setConn=nothing
response.write"数据库连接出错,请检查连接字串。
"
response.end
endIf[15]
登录代码index.asp
ifrequest("admin")="登陆"then
UserName=request.form("UserName")
PassWd=md5(request.form("PassWd"))
setrs=server.CreateObject("ADODB.RecordSet")
sql="select*from[user]whereusername='"&UserName&"'"
rs.OpenSql,conn,1,1
ifrs("password")<>PassWdthen
response.write""
response.end
else
Response.Cookies("key")="gu_ke"
Response.Cookies("key").expires=date+2
Response.Cookies("user")=rs("username")
Response.Cookies("user").expires=date+2
Response.Cookies("id")=rs("id")
Response.Cookies("id").expires=date+2
response.redirect"admin.asp"
endif
rs.close
endif[16]
添加类型代码add_type.asp
idd=Request.Cookies("id")
IfRequest.form("add")="添加"Then
paytype=Trim(Request.Form("paytype"))
io=Trim(Request.Form("io"))
Setrs=Conn.Execute("SelectPayTypeFrom[type]Whereuser="&idd&"andPayType='"&paytype&"'")
IfNot(rs.Eoforrs.Bof)Then
Response.Write""
Response.End
rs.clsoe
else
Setrs=Server.CreateObject("ADODB.RecordSet")
Sql="Select*From[type]Where(IDisnull)"
rs.OpenSql,Conn,1,3
rs.addNew
rs("PayType")=paytype
rs("date")=now()
rs("InOut")=io
rs("user")=idd
rs.Update
rs.Close
Endif
Response.Write""
endif[17]
管理类型代码edit_type.asp
idd=Request.Cookies("id")
IfRequest.form("type")="修改"Then
paytype=Trim(Request.Form("paytype"))
Setrs=Conn.Execute("SelectPayTypeFrom[type]Whereuser="&idd&"andPayType='"&paytype&"'")
IfNot(rs.Eoforrs.Bof)Then
Response.Write""
Response.End
rs