科研训练论文-面向对象程序设计.docx

上传人:椰子壳 文档编号:3963774 上传时间:2019-10-11 格式:DOCX 页数:18 大小:695.21KB
返回 下载 相关 举报
科研训练论文-面向对象程序设计.docx_第1页
第1页 / 共18页
科研训练论文-面向对象程序设计.docx_第2页
第2页 / 共18页
科研训练论文-面向对象程序设计.docx_第3页
第3页 / 共18页
科研训练论文-面向对象程序设计.docx_第4页
第4页 / 共18页
科研训练论文-面向对象程序设计.docx_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《科研训练论文-面向对象程序设计.docx》由会员分享,可在线阅读,更多相关《科研训练论文-面向对象程序设计.docx(18页珍藏版)》请在三一文库上搜索。

1、武汉工业学院 科研训练论文题目:面向对象程序设计姓 名 丁 绢 学 院 数学与计算机学院 专 业 计算机科学与技术 年 级 0 9 2 指导教师_吴 海 涛_ 2012年 5 月 21 日一、前言1.1课题背景当前,随着信息的不断飞速发展,信息技术已逐渐成为各种技术的基础,信息也成为企业具有竞争力的核心要素。企业的生存和发展依靠正确的决策,而决策的基础就是信息,所以企业竞争力的高低完全取决于企业对信息的获取和处理能力。企业要准确、快速的获取和处理信息,企业信息化是必然的选择。企业必须加快内部信息交流,改进企业业务流程和管理模式,提高运行效率,降低成本,提高竞争力,信息化建设是企业适应社会发展的

2、要求。企业管理信息系统即企业MIS是企业信息化的重要内容。随着我国改革开放的不断推进,人民生活水平日益提高,旅游经济蓬勃发展,这一切都带动了酒店行业的发展。再加上入境旅游的人也越来越多,入境从事商务活动的外宾也越来越多。传统的手工已不适应现代化酒店管理的需要。及时、准确、全方位的网络化信息管理成为必需。酒店是一个服务至上的行业,从客人的预定开始,到入住登记直至最后退房结账,每一步骤都要保持一致性的服务水准,错失一步, 会令其辛苦经营的形象功亏一篑。要成为一间成功的酒店,就必须作到宾至如归,面对酒店业内激烈的竞争形势,各酒店均在努力拓展其服务领域的广度和深度。虽然计算机并不是酒店走向成功的关键元

3、素,但它可以帮助那些真正影响成败的要素发挥更大的效用。因此,采用全新的计算机网络和管理系统,将成为提高酒店的管理效率,改善服务水准的重要手段之一。1.2开发工具本系统利用Microsoft Visual Studio 2008编译环境,以Microsoft SQL Server 2005作为后台数据库,选用ADO访问数据库来实现各种功能计算机及操作系统:WindowsXP 或Windows7;开发工具:Microsoft Visual Studio 2008运行环境: 装有SQL SERVER 2005 的系统语言: C# 与 SQL查询语言1.3 SQL Server 2005 数据库SQL

4、 Server 2005是微软公司动用上千人的研发力量,耗费五年时间打造出来的产品,在企业及数据库产品中具有里程碑的意义。SQL Server 2005是一个关系数据库管理系统,是一个全面的数据库平台,其数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能。SQL Server 2005 结合了分析、报表、集成和通知功能,引进了一套集成的管理工具和管理应用编程接口,以提供易用性、可管理性及对大型SQL Server配置的支持。其新的查询类型和在交易过程中使用错误处理的功能,为开发人员在SQL Server查询开发方面提供了更高的灵活性和控制力。SQL Server 可以适合大容量数据的

5、应用,在功能上和管理上都比Microsoft Access 要强的多。在处理海量数据的效率,后台开发的灵活性,可扩展等方面强大。在SQL Server 2005中还可以使用存储过程,在服务器执行操作时,减少网络通讯,提高了执行效率,而且保证了数据库的安全。2、需求分析2.1 任务概述2.1.1系统目标本系统需要满足以下几个系统设计目标。(1)实用性原则:真正为用户的实际工作服务,按照酒店客房管理工作的实际流程,设计出实用的酒店客房管理系统。(2)可靠性原则:必须为酒店客房提供信息安全的服务,以保证酒店信息的不被泄露。(3)友好性原则:本酒店客房管理系统面向的用户是酒店内工作人员,所以系统操作上

6、要求简单、方便、快捷,便于用户使用。(4)可扩展性原则:采用开发的标准和接口,便于系统向更大的规模和功能扩展。2.1.2用户特点本系统面向酒店内工作人员为顾客订房和退房及其查询服务和设置酒店客房信息。在旅游高峰期,会有大量的顾客订房数据输入及查询,在退房时也会有大量的退房数据输入及查询,系统的负荷较大;在消费淡季,数据输入和查询也会相对较少。2.2 系统的功能需求2.2.1 系统需求根据酒店客房管理系统的理念,此酒店客房管理系统必须满足以下需求:(1)具有设置酒店客房类型和房间信息的功能(2)能快速、准确地了解酒店的客房状态,以便订房和退房(3)提供多种手段查询客房订房信息(4)提供修改订房和

7、修改退房功能(5)提供简单的酒店工作人员的添加用户和修改密码功能2.2.2 功能需求根据系统的需求分析,本系统功能需求如下:1.基础设置(1)客房信息设置 显示全部客房信息新添客房信息 修改客房信息删除客房信息(2)会员信息设置显示全部会员信息新添会员信息 修改会员信息删除会员信息(3)账户密码设置显示全部账户信息新添账户信息 修改账户信息删除账户信息2. 前台接待 (1)入住3.客房客史(1) 客人信息显示客人信息曾住客人信息 在住客人信息(2)客房信息全部客房信息待修房一览 可住房一览4.数据安全(1) 数据备份 (2) 数据恢复2.3 系统的性能需求为了保证系统能够长期、安全、稳定、可靠

8、、高效的运行,系统应该满足以下的性能需求:(1)系统处理的准确性和及时性系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足用户对信息的处理。由于系统的查询功能对于整个系统的功能和性能完成很重要。从系统的多个数据来源来看,客房信息查询、订房信息查询、结算信息查询,其准确性很大程度上决定了系统的成败。因此,在系统开发过程中,系统采用优化的SQL语句及安全扩展存储过程来保证系统的准确性和及时性。(2)系统的开放性和系统的可扩充性系统在开发过程中,应该充分考虑以后的可扩充性。例如系统权限和客房信息设置等模块也会

9、不断的更新和完善。所有这些都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。(3)系统的易用性本酒店客房管理系统面向的用户是酒店内工作人员,而有些使用人员往往对计算机并不是非常熟悉,所以系统操作上要求简单、方便、快捷,便于用户使用。这就要求系统能够提供良好的用户接口,易用的人机交互界面。(4)系统的响应速度系统设计中摒弃大量数据冗余,提出了优化数据库的解决方案,大量使用存储过程,大大提高系统响应时间和速度。系统在日常处理

10、中的响应速度为秒级,达到实时要求,以及时反馈信息。严格保证操作人员不会因为速度问题而影响工作效率。2.4 系统的数据需求通过对系统功能需求的分析,可以初步确定该系统的基本数据需求。由各个功能可以进一步确定具体的数据需求,具体数据需求如下:(1)Book:预定客人姓名、预定客人身份证号、预定客房编号、入住时间、电话号码(2)Operator:操作员号、密码(3)RoomBasicMessage:客房编号、客房价格、楼层编号、额定人数、客房类型、客房状态、是否预定,是否入住 (4)VIP: 会员号、会员名、身份证号、截至日期、费用系统数据流图:统数据流图登录客房标准设置客房信息管理客房信息登记订房

11、信息管理顾客登记客房标准信息管理结算信息输入客房信息返回基本信息输入订房信息输入基本信息录入结算信息管理3、系统功能设计3.1 系统功能模块划分结合前面需求分析阶段的结果进行综合处理,确定了客房管理系统需要完成的功能,主要划分为以下模块:1.系统(1)修改密码 (2)添加用户2. 客房信息管理(1)设置客房标准 添加客房标准 修改客房标准 删除客房标准(2)设置客房信息添加客房信息 修改客房信息 删除客房信息 查询客房信息3.订房信息管理(1)查询剩余客房信息 (2)添加订房信息(3)修改订房信息 (4)查询订房信息4.结算信息管理(1) 添加结算信息 (2) 修改结算信息(3) 查询结算信息

12、3.2 系统的功能模块图客房管理系统添加结算修改结算查询结算结算信息管理查询剩余客房查询订房信息修改订房信息添加订房信息订房信息管理添加用户系统修改密码修改客房信息删除客房信息查询客房信息添加客房标准修改客房标准删除客房标准添加客房信息设置客房标准客房信息管理设置客房信息4、 系统数据库设计4.1 数据库概念设计这一设计阶段是在需求分析的基础上,设计出能满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。根据上面的设计规划出的实体有顾客实体、客房类型、房间实体。顾客实体属性图顾客顾客编号顾客姓名顾客性别用户管理员用户编号用户职位用户密码用户管理实体属性图 房间信息实体属性

13、图房间房间编号房间类型房间位置房间价格房间状态备注房间类型实体属性图房间类型类型编号类型名称面积床位数价格电视空调卫生间电话订房订房订房编号顾客编号顾客姓名房间编号入住时间入住备注折扣应缴房费预计退房时间退房信息退房房间编号顾客编号顾客姓名退房时间退房缴费订房编号4.2 数据库逻辑设计顾客(顾客编号、顾客姓名、顾客性别)用户(用户编号、用户密码、用户职位)房间类型(类型编号、类型名称、面积、床位数、价格、空调、电视、电话、卫生间)房间(房间编号、房间类型、房间位置、房间价格、房间状态、备注)订房(订房编号、顾客编号、顾客姓名、房间编号、入住时间、折扣、入住备注、预计退房时间、应缴房费)退房(房

14、间编号、顾客编号、顾客姓名、退房时间、退房缴费、订房编号)将关系模型转换成具体RDBMS支持的实际关系数据模型,如下面的几个表格所示。(每个表格表示在数据库中的一个表) (1)顾客信息表字段名称数据类型是否NULL说明1customidnvarchar(20)NOT NULL顾客编号2customnamenvarchar(20)NULL顾客姓名3customesexnvarchar(20)NULL顾客性别(2) 用户信息字段名称数据类型是否NULL说明1user_IDvarchar(20)NOT NULL用户编号2user_PWDvarchar(20)NOT NULL用户密码3user_Pos

15、nvarchar(20)NULL用户职位(3) 房间类型字段名称数据类型是否NULL说明1typeidvarchar(20)NOT NULL类型编号2typenamevarchar(20)NOT NULL类型名称3areafloatNULL面积4bednumintNULL床位数5pricefloatNULL价格6hairconditionbitNULL空调7htelevisionbitNULL电视8htelephonebitNULL电话9htoiletbitNULL卫生间 (4) 房间信息字段名称数据类型是否NULL说明1roomnovarchar20NOT NULL房间编号2roomtype

16、varchar(20)NOT NULL房间类型3roompositionvarchar(20)NULL房间位置4roompricefloatNULL房间价格5putupbitNULL房间状态6roommemotextNULL备注 (5) 订房信息字段名称数据类型是否NULL说明1booknovarchar(20) NOT NULL订房编号2customnamevarchar(20)NULL顾客编号3customIDvarchar(20) NOT NULL顾客姓名4roomnovarchar(20) NOT NULL房间编号5indatedatetimeNOT NULL入住时间6discount

17、floatNULL折扣7inmemotextNULL入住备注8checkdatedatetimeNULL预计退房时间9ammountfloatNULL应缴房费 (6) 退房信息字段名称数据类型是否NULL说明1booknovarchar(20)NOT NULL订房编号2customenamevarchar(20)NULL顾客姓名3customeidvarchar(20)NOT NULL顾客编号4outtimedatetimeNOT NULL退房时间5outmoneyfloatNULL退房缴费6roomnovarchar(20)NOT NULL客房编号4.3 数据库设计优化在上面的实体以及实体之

18、间的关系的基础上,形成数据库中的表格和各个表格之间的关系,即关系模型。设计关系模型并对其进行优化:(1)确定数据依赖,给出给关系模式中的主码,明确其依赖关系。(2)对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。(3)对照数据依赖的理论对各个关系模式逐一进行分析,考察是否存在部分函数依赖、传递函数依赖、多值依赖,确定个关系模式分别所属的范式类型。(4)按照需求分析阶段得到的处理要求,分析对于这样的应用环境这些模式是否合适,对某些模式检查是否有合并或分解的需要。(5)对关系模式进行必要的分解,提高数据操作效率和存储空间的利用率。4.4 建立索引在本实例中,房间号码、订房编号、客人证

19、件号码这几个属性是主码,设计时考虑建立这些索引,使得对数据库的查询、插入、修改和删除的速度加快,效率也提高。4.5 数据存放在开发本系统时因数据库的规模随着顾客的增多将会增大,但因开发环境条件限制,所以数据库是存在个人的计算机磁盘上。4.6 系统配置开发以及运用本数据库应用系统时要求操作系统拥有WindowsXP 或Windows7以上的配置,能创建数据库,保存数据,并将系统数据库作为应用系统运行操作的数据源,为方便开始时创建和调试查看数据库内容,要求系统装有SQL SERVER 2005。5、 数据库实施和维护5.1创建数据库运用SQL SERVER 2005 创建数据库,其创建过程如下面所

20、示:创建数据库HotelRoomManage(1)设计user_Info表CREATE TABLE user_Info(user_ID nvarchar(20) NOT NULL,user_PWD nvarchar(20) NOT NULL,user_Pos nvarchar(20) NULL,primary key (user_ID,user_PWD) ;(2)设计customers表CREATE TABLE customers(customid nvarchar(20) NOT NULL,customname nvarchar(20) NULL,customesex nvarchar(20

21、) NULL,primary key (customid)(3)设计roomtype表CREATE TABLE roomtype(typeid nvarchar(20) NOT NULL,typename nvarchar(20) NOT NULL,area float NULL,bednum int NULL,haircondition bit NULL,htelephone bit NULL,htelevision bit NULL,htoilet bit NULL,price float NULL,primary key (typeid,typename) ;(4)设计rooms表CRE

22、ATE TABLE rooms(roomno nvarchar(20) NOT NULL,roomtype nvarchar(20) NOT NULL,roomposition nvarchar(20) NULL,roomprice float NULL,putup bit NULL,roommemo text NULL,primary key (roomno) ;(5)设计bookin表CREATE TABLE bookin(bookno nvarchar(20) NOT NULL,customname nvarchar(20) NULL,customid nvarchar(20) NOT

23、NULL,roomno nvarchar(20) NOT NULL,indate datetime NOT NULL,discount float NULL,inmemo text NULL,checkdate datetime NULL,ammount float NULL,primary key (bookno,customid,roomno,indate),foreign key (customid) references customers(customid),foreign key (roomno) references rooms(roomno);(6)设计checkout表CRE

24、ATE TABLE checkout(bookno nvarchar(20) NOT NULL,customename nvarchar(20) NULL,customid nvarchar(20) NOT NULL,outtime datetime NOT NULL,outmoney float NULL,roomno nvarchar(20) NOT NULL,primary key (bookno,customid,outtime),foreign key (customid) references customers(customid); 6、系统测试6.1 测试方法 由于软件错误的复

25、杂性,软件测试需要综合应用测试技术,软件测试步骤为单元测试、集成测试、确认测试和系统测试。 单元测试是对源程序中每一个程序单元进行测试,检查各个模块是否正确实现了规定的功能,从而发现模块在编码中或算法中的错误。该阶段涉及编码和详细设计的文档。各模块经过单元测试后,将各模块组装起来进行集成测试,以检查与设计相关的软件体系结构的有关问题。确认测试主要检查已实现的软件是否满足需求规格说明书中确定的各种需求。系统测试将已确定的软件与其他系统元素(如硬件、其他支持软件、数据和人工等)结合在一起进行测试。 6.2 基本功能测试添加客房信息: 结果显示: 结果显示:添加顾客订房:结果显示:修改订房信息结果显

26、示:查询订房信息:结果显示:添加结算:结果显示:修改结算信息(此处修改结算日期)结果显示:查询结算信息:显示:修改用户密码: 两次密码一样后: 添加用户: 两次密码一样后: 7、 设计总结7.1 系统可以扩充的功能及系统展望受开发时间的限制和个人的对VC编程的技术水平,本系统的开发主要是完成酒店客房的预订、入住、退房及信息查询的管理,这只是整个酒店管理系统的一部分内容,对系统的系统权限设置方面没有设置。另外本系统的美观方面不足,没增加可以直观的看出房间的状态的显示效果(比如可以用不同的颜色显示房间的定住情况)。没有增加系统提醒功能,如当顾客的入住日期到时,进行相关提醒。所以系统还存在较大的继续

27、开发空间。这在做系统设计时已经考虑到了的,主要有以下几个方面:第一,进一步完善系统功能,增加商务中心管理模块、餐饮管理模块、电话计费模块,使得客人可以凭借房卡在酒店实现“一卡式”消费。第二,随着互联网上电子商务的发展,没有开展电子商务的酒店将没有生机,将失去竞争力。尤其是随着国内游泳业的发展,酒店竞争和发展迫在眉睫,它要求酒店经营者不断寻找新的经济增长点、采取新的营销模式。由于Internet具有传播面广、费用低、效率高的特点,有效地通过Internet进行电子商务模式的市场营销活动,将成为酒店在于激烈市场竞争中成功的关键之一,如网上宣传、网上订房系统,而电子商务系统也必将成为酒店MIS的延伸

28、和拓展。第三,客户的消费是酒店所有经济收入的源泉,因此在酒店管理系统中应当增加客户关系的管理,例如对于经常消费的客户应当设置一定的折扣,还应当记住他的一些嗜好(如喜欢散装茶)等,这些都会让客户有宾至如归的感觉,提高客户的满意度,从而增加客户的忠诚度。7.2 总结语本次课程设计时间安排在本学期进度表的最后两周,由于是初次接触数据库的课程设计,加之平时没有学习可视化编程,这次使用Visual C+6.0编译环境,采用MFC可视化编程,主要是前两周C+课程设计也是采用MFC可视化编程,这次想进一步加深学习。这两周时间每天不管是在实验室还是晚上在宿舍加班做着数据库课程设计,感觉终于可以把自己的理论学习

29、和实践结合起来。尽管这两周感觉有点累,但看到自己做出来的酒店客房管理系统,和它良好的稳定性,自己也感到高兴。这次数据库课程设计让我学到了很多东西,给我以后设计更好的软件打下了良好的基础。我的启发:先搞好设计,再搞实现。当然数据库的设计关系到整个软件的成功与否,所以我们要更加注重数据库的设计,比如这次设计时,开始我的数据库未考虑主码和外码,让我在编写程序中出了很多的错误,后来经改进解决了问题。调试过程中遇到了比较多的Bug,甚至有些Bug让我一天都无法突破(比如:添加订房信息、修改结算)。但当我放松一些时间后再调试时,能够很快的发现问题所在。这让我注意到了,要注意脑逸结合。另外通过这次课程设计使我对可视化编程有了进一步的掌握。总之这次课程设计很有意义,也学到了很多的东西,让我在今后更加注意了软件设计的过程。8、 参考文献【1】王珊,萨师煊. 数据库系统概论(第4版).高等教育出版社,2006【2】(美)John E.Swanke著,Visual C+MFC 编程实例,机械工业出版社,2004【3】张海藩.软件工程(第5版).清华大学出版社,2008【4】姚邻田,精通MFC程序设计.人民邮电出版社,2006【5】数据访问对象,http:/ ADO数据库,http:/

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1