




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程课程设计 软件工程课程设计报告( 2013 - 2014 年度第 一 学期)课程名称: 软件工程课程设计 题 目: 台球厅管理系统 院 系: 班 级: 软件工程 组 号: 组 长: 组 员: 指导教师: 设计周数: 小组成绩: 日期:年 月 日软件工程课程设计任务书一、目的、要求通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。具体如下:l 学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;l 熟悉自动化的软件开发工具Rational Rose 2003等,并将其运用于软件开发的全过程;l 进一步加强和提高软件工程文档的编写能力;l 培养协作能力和团队精神。二、任务分配任务负责人参与人备注需求分析总体设计详细设计系统实现与测试三、设计成果要求l 建立系统分析与设计模型;l 初步建立系统原型,实现关键的功能;l 编写课程设计报告。指导教师: 日 期: 2013 年 月 日软件工程课程设计成绩评定一、 指导教师评语二、 成绩学号姓名成绩备注 指导教师: 日期: 年 月 日摘要:台球厅管理系统是以Web界面与用户交互,为用户提供信息并接受其操作。实现了对信息数据的远程浏览、查询、编辑和管理等基本数据库操作,采取模块化的编写思想,提高了可读性,可移植性和一致性,同时提高了开发效率。 本系统共包括五个部分的管理:员工管理、球台的管理、会员管理、物品管理和消费的管理。员工管理需要登记自己的信息。球台管理是掌控着开台关台的操作和顾客消费信息。会员管理则关乎会员的添加、删除、修改,和对会员等级的区分,从而决定结账时的消费折扣。物品管理主要登记的是台球厅的物品信息以及相关的操作。消费管理主要分为物品消费和球桌消费,会员只对球桌消费进行打折,对物品没有折扣。本系统主要需要完成对台球厅信息的管理,账号登陆,登陆系统设置了管理员权限只有密码正确才能正常登陆系统,对数据进行操作。具体功能包括查询台球桌信息、增加台球桌信息、修改台球桌信息、删除台球桌信息、调换台球桌、计时和费用结算等等。关键词:台球厅,数据库 ,管理 ,ASP.NET目录第一章 课程设计的目的与要求1第二章 设计正文12.1 概述12. 1.1 课题题目12. 1.2系统的主要目标12. 1.3系统的开发环境及运行环境12.2 系统需求分析12. 2.1用例图22. 2.2类图42. 2.3 顺序图52.3 系统总体设计62. 3.1 设计问题域系统62. 3.2 设计数据管理子系统72. 3.3 设计人机交互系统92.4 详细设计112.5 系统主要功能模块的设计和实现142. 5.1系统界面例图142. 5.2数据库的实现152.6 系统测试20第三章 课程设计总结20参考文献21附录122第一章 课程设计的目的与要求近年来随着社会的发展,生活水平的提高,越来越多的人们注重自己的精神娱乐生活,随着台球厅规模的不断扩大,台球厅收费数量也相应的增加,面对着庞大的信息量,传统的人工方式管理会导致收费管理上的混乱,人力与物力过多浪费,导致不必要的浪费。因此,必须制定一套合理、有效、规范和实用的台球厅计时收费系统,对计时收费进行集中统一的管理,因此需要有台球厅计时收费管理系统来帮助管理台球厅的计时收费信息,以便提高管理的工作效率。通过这样的管理系统可以做到信息规范化、科学管理。通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。具体如下:l 学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;l 熟悉自动化的软件开发工具Rational Rose 2003等,并将其运用于软件开发的全过程;l 进一步加强和提高软件工程文档的编写能力;培养协作能力和团队精神。26第二章 设计正文2.1 概述2. 1.1 课题题目 台球厅管理系统2. 1.2系统的主要目标本系统目标是实现台球厅管理系统所需的各种基本功能,包括顾客开台、结账功能和管理员查看会员信息、结算顾客消费总额功能以及管理员添加会员、维护学生、会员信息、物品管理、添加物品、维护物品信息,还有公用的修改密码等功能。2. 1.3系统的开发环境及运行环境操作系统: Windows XP Pro SP2建模工具: Rational Rose 2003数据库系统:SQL Server2000开发工具: Visual Studio 2005Web服务器:IIS+ASP.NET 2.0平台2.2 系统需求分析台球厅管理系统主要满足来自二方面的要求,这二方面分别是管理员、客户,也即是二类客户角色。(1) 客户是主要的需求者,主要功能是办理会员、购买物品、桌球娱乐等操作;(2) 管理员用户在会员子模块可以对会员信息的增加、删除、修改、查询操作,在物品子模块中对物品信息的增加、删除、修改操作,还可以对物品进行查询操作,可以对球桌进行开关操作,进行收银操作;本系统将管理员用户、客户的身份及权限进行严格的划分,让管理员拥有最高权限,可以查询、维护系统中的所有信息,如添加会员客户,添加物品,修改会员信息,客户仅有购买物品,打桌球和办理会员。2. 2.1用例图图1管理员用例图用例图说明:(1)系统的外部角色有:客户、管理员。(2)系统主要用例的文档描述: 管理员管理用例:管理员可见的功能,这一用例进一步分为四个用例:会员信息管理用例、桌球管理信息用例、物品管理用例和修改密码管理用例。 修改密码管理用例:管理员可见用例,实现管理员的密码修改。 物品管理信息用例:信息管理用例可见功能,实现物品信息的管理,包含了添加物品信息、删除物品信息、修改物品信息、和查询物品信息四个用例。 桌球管理信息用例:信息管理用例可见功能,实现桌球信息的管理,包含了开球桌和关球桌二个桌球用例。 会员管理信息用例:信息管理用例可见功能,实现会员信息的管理,包含了会员信息增加、会员信息修改、会员信息删除、和会员信息查询。(3)系统用例之间的关系: 会员管理信息用例与会员信息增加、删除、修改、查询之间是包含关系。 桌球管理信息用例与桌球开和关之间是包含关系。 物品管理信息用例与物品的增加、删除、修改、查询之间是包含关系。(4)系统关键用例的正常事件流图和异常事件流图表1 修改密码用例的正常事件流图和异常事件流图用例名称修改密码参与者管理员描述管理员用户进行密码修改启动单击“修改密码”链接前置条件用户成功登录主事件流用户系统1.进入用户修改密码界面,输入旧密码一次 ,新密码两次2.系统检查密码格式是否相符3.系统检查旧密码是否正确4.如果正确,进行密码修改,转入密码修改成功界面异常流异常流密码检查未通过系统返回密码修改界面,提示旧密码不正确,新密码格式不符,两次不同等密码异常用户旧密码错误表2 结账用例的正常事件流图和异常事件流图用例名称顾客结账用例参与者管理员描述为开桌的顾客结账启动进入顾客消费界面前置条件用户成功登录后置条件尚未关桌结账主事件流用户系统1.选择球桌号2.球桌消费统计页面3.单击结账 5.关闭球桌,提示结账成功异常流异常流球桌未开系统提示球桌未开,不能2. 2.2类图图2类图类图说明:(1)Guanliyuan类是一个系统角色用户的基类,主要方法有四个huiyuangl() 用于管理会员qiuzhuogl() 用于管理球桌wupinggl() 用于管理物品xiugaimima() 用于修改密码(2)Vipgl类是一个会员类,主要方法有:hadd() 用于添加会员hdel() 用于删除会员hcha() 用于修改会员信息hche() 用于查询会员(3)Wupinggl类是一个物品类,主要方法有:wadd() 用于添加物品;wdel() 用于删除物品;wcha() 用于更新物品信息;wche() 用于获取物品列表。(4)Qiuzhuogl类是一个球桌类,主要方法有:qsta() 用于开桌;qtime() 用于记录时间;qmon() 用于关桌;(5)Vrank类继承Vipgl类,主要方法有:vtran() 根据会员等级换算折扣率;(6)Jifeigl类是一个计费类,主要方法有:jsum() 用于结账时计算消费总和;2. 2.3 顺序图图3 管理员修改物品信息顺序图图4 管理员修改会员信息顺序图2.3 系统总体设计2. 3.1 设计问题域系统台球厅管理系统是实现会员注册、顾客结账以及学校教务管理员维护信息的一个平台,整个台球厅管理系统有前台和后台两部分,共分为2个模块:管理员模块,公有模块,分别用于完成各自的功能。以下为台球厅管理系统总体设计图和各功能模块说明:(1)总体设计图图5 总体设计图(2)各模块功能表3 模块功能表功能模块包含子功能模块功能管理员模块会员管理子模块对会员信息的添加,修改,删除,查询等操作球桌管理子模块对球桌信息的添加,修改,删除等操作物品管理子模块对物品信息的添加,修改,删除等操作公有模块实现用户的身份验证,密码修改,退出系统等功能2. 3.2 设计数据管理子系统(1)数据表之间的关系表4数据库表序号数据库表数据表存储的内容1Wupinggl存储物品的信息2Vrank存储会员分级的信息3Guanliyuan存储管理员的信息4Jifeigk存储顾客消费的信息5Vipgl存储会员的信息6Qiuzhuogl存储球桌信息(2)数据表之间的关系 图6数据表关系图(3)数据库表结构1)物品表Wupinggl的详细数据字段:表5 Wupinggl物品表序号字段名字段类型说明备注1wnanmechar(20)not null物品名称关键字2wpricedouble not null物品价格3wamountdouble not null物品数量4jwnvarchar(20)物品计费2)会员等级表Vrank的详细数据字段:表6 Vrank会员等级表序号字段名字段类型说明备注1vdiamondchar(20)not null钻石会员2vplatchar(20)not null白金会员3vsilchar(20)not null白银会员3)系统管理员表Guanliyuan的详细数据字段:表7 Guanliyuan管理员表序号字段名字段类型说明备注1zhanghaochar(20)not null系统管理员用户名关键字2mimachar(20)系统管理员密码4)计费表Jifeigl的详细数据字段:表8 Jifeigl计费表序号字段名字段类型说明备注1jsumInt not null顾客消费总金额关键字2jqdouble not null球桌消费金额关键字3jwdouble 物品消费金额关键字5)会员表Vipgl的详细数据字段:表9 Vipgl会员表序号字段名字段类型说明备注1vnumdouble not null会员编号关键字2vnamechar(20)not null会员名称关键字3vphonechar(20) not null会员电话关键字4vrankchar(20) not null会员等级关键字6)球桌表Qiuzhuogl的详细数据字段:表10 Qiuzhuogl球桌表序号字段名字段类型说明备注1qnumdouble not null球桌编号关键字2qtimetime not null开台时间3qsttime not null关台时间4jqdouble球桌消费金额2. 3.3 设计人机交互系统(1)用户描述管理员用户的描述:管理员用户在整个台球厅管理系统中起到管理和维护的作用,对会员和物品的信息进行管理和维护以及开关球桌等职责。(2)设计命令层次1)系统的人机交互系统的内容和准则:本学生选课系统的人机交互子系统在根据不同的用户身份登陆到不同的页面,然后按照不同的用户只能进行用户权限内的操作,其结构图如下:图7界面结构图2)通过采用树形结构,细化命令的组织方式,如下:图8 界面结构细化图2.4 详细设计台球厅管理系统是实现顾客开桌、顾客结账以及台球厅管理员维护信息的一个平台,整个台球厅管理系统共分为2个大模块:管理员模块,公有模块,其中复杂的方法和模块的详细设计流程图如下。(1)系统用户登录流程图:图9 系统登陆流程图(2)用户密码修改流程图:图10 用户修改密码流程图(3)管理员添加会员流程图:图11 管理员添加会员流程图(4)顾客结账流程图:图12 顾客结账流程图2.5 系统主要功能模块的设计和实现2. 5.1系统界面例图(1)管理员登陆界面:需要管理员输入账号和密码,得到进入系统的权限。图13 管理员登陆界面图(2)管理员登陆密码验证界面:输入账号密码的机会只有三次。图14 密码验证界面图(3)成功登陆系统界面:管理员可进行的操作选择。图15 系统操作界面图(4)会员管理功能界面:管理员选择会员管理操作,从而进行查询会员,添加会员,修改会员,删除会员。图16 会员管理功能图(5)查询会员信息界面:管理员选择显示会员,便可查询到会员信息。图17 查询会员信息图(6)管理员修改密码界面:管理员成功登陆后,可以输入新的账号密码完成修改。图18 管理员修改登录密码图2. 5.2数据库的实现建表语句,User 用户表:if exists (select * from dbo.sysobjects where id = object_id(Ndbo.user) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table dbo.userGOCREATE TABLE dbo.user (user_id char (10) COLLATE Chinese_PRC_BIN NOT NULL ,name char (10) COLLATE Chinese_PRC_BIN NULL ,password char (10) COLLATE Chinese_PRC_BIN NULL ,sex char (10) COLLATE Chinese_PRC_BIN NULL ,memberid char (10) COLLATE Chinese_PRC_BIN NULL ,phone char (10) COLLATE Chinese_PRC_BIN NULL ,money money NULL) ON PRIMARYGOAdministrator 管理员用户表if exists (select * from dbo.sysobjects where id = object_id(Ndbo.administrator) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table dbo.administratorGOCREATE TABLE dbo.administrator (name char (10) COLLATE Chinese_PRC_BIN NULL ,password char (10) COLLATE Chinese_PRC_BIN NULL) ON PRIMARYGOBilliards 台球信息:if exists (select * from dbo.sysobjects where id = object_id(Ndbo.billiards) and OBJECTPROPERTY(id, NIsUserTable) = 1) drop table dbo.billiardsGOCREATE TABLE dbo.billiards (billiard_id char (10) COLLATE Chinese_PRC_BIN NOT NULL ,type char (10) COLLATE Chinese_PRC_BIN NULL ,fee money NULL ,vacancy char (10) COLLATE Chinese_PRC_BIN NULL) ON PRIMARYGOMember 会员表:if exists (select * from dbo.sysobjects where id = object_id(Ndbo.member) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table dbo.memberGOCREATE TABLE dbo.member (member_id char (10) COLLATE Chinese_PRC_BIN NULL ,type char (10) COLLATE Chinese_PRC_BIN NULL ,discount decimal(18, 0) NULL ,initinal_fee money NULL) ON PRIMARYGOPaid_table计费信息表if exists (select * from dbo.sysobjects where id = object_id(Ndbo.paid_table) and OBJECTPROPERTY(id, NIsUserTable) = 1) drop table dbo.paid_tableGOCREATE TABLE dbo.paid_table (ata_date char (10) COLLATE Chinese_PRC_BIN NULL ,ser_id char (10) COLLATE Chinese_PRC_BIN NULL ,ser_name char (10) COLLATE Chinese_PRC_BIN NULL ,illiards_id char (10) COLLATE Chinese_PRC_BIN NULL ,nitial_fee money NULL ,ember_type char (10) COLLATE Chinese_PRC_BIN NULL ,iscount decimal(18, 0) NULL ,egin_time datetime NULL ,nd_time datetime NULL ,his_money money NULL ,eave_money money NULL ,his_paid money NULL ,dministrator char (10) COLLATE Chinese_PRC_BIN NULL ) ON PRIMARY GO创建触发器:用途:如果user表中的user_id改变,计费表中的user_id同时改变Create Trigger trouser_idOn userfor UpdateAs if Update(user_id) beginUpdate paid_tableSet user_id=u.user_idFrom user u,paid_table p Where p.user_id=u.user_id创建存储过程:用途:paid_table 表中的数据要通过存储过程插入 create or replace procedure proc_paid_table(ddate in varchar2)isvdate date;begininsert into paid_table (data_date,user_id,user_name,billiards_id,initial_fee,member_type,discount,begin_time,end_time,this_money,leave_money,this_paid,ministrator)select *from (selectu.user_id,,u.money * m.discountfrom user ujoin member mon user.userid = member.member_idright join(select billiard_id,fee,type from billiards) right join(select discount from member join user ) right join(select money from user);commit;2.6 系统测试在系统测试中,我们首先对各个子模块进行单元测试,即把每一个模块作为一个单独的实体来测试,保证每个模块作为一个单元能正确运行。然后在完成所有模块后,我们将各子模块集成起来,再对它进行系统测试,找出系统设计或编码上的错误,以及验证系统是否实现了指定的功能。最后找几个其他的同学再对系统进行黑盒子测试,验证系统是否满足用户的功能需求。在测试的过程,特别是在集成测试之后,发现了许多问题及功能缺陷,最后经过修改调试后都解决了。比如,有一个问题是,在删除教师用户之后,系统里还剩有许多与该教师有关的冗余记录,造成系统混乱。在进行了分析之后,发现是因为在删除教师用户时,没有对与他所关联的记录进行删除造成的,在添加了对其关联记录的级联删除之后,问题得到了解决。第三章 课程设计总结(1) 通过这次软件工程课程设计的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。l 学习和实践了分析和设计软件系统的各种知识,包括面向对象的系统分析与设计,编码和测试方面的知识。l 掌握了自动化的软件开发工具Rational Rose 2003,并将其运用于软件开发的全过程。加深掌握了.Net平台的三层架构模式设计。l 进一步加强和提高软件工程文档的编写能力。l 增强了协作能力和团队精神。(2) 本系统基本实现了关键的功能模块,在功能上基本满足了用户的需求,但是由于基础知识缺乏,系统实现的经验的欠缺,加之时间较紧,有些模块以及整个系统还有许多不完善的地方,如界面不太美观,操作性不太友好,一些功能没法实现等。(3) 编程的过程中也遇到了不少的问题,有的是不够仔细,有的是语法错误,还有的是不太会,有的看书我自己能解决,可有的弄了很久也弄不好,不耻下问,当然要请教会的同学了,总之在完成毕设的同时比起以前我有了很大的进步,收获真的很多。台球厅管理系统的开发过程其实并不复杂,但是体现了C+编程的基本思想,本系统使用了SQL Server数据库服务程序,完全可以满足使用需求。这次我们能独立完成系统的设计,对现在或是将来都有很大的好处,我们相信只要自己不断的学习和思考自己就会不断的进步。参考文献1 张海藩软件工程导论(第4 版)北京:清华大学出版社,20052 刁成嘉UML系统建模与分析设计北京:机械工业出版社,20073 UML基础与Rose建模案例北京:人民邮电出版社,20044 魏亮VISUAL C+程序设计例学与实践北京:清华大学出版社,20075 尹买华.数据库管理系统. M. 北京:清华大学出版社,2004附录1系统代码摘录#include#include#include#include#include#includeusing namespace std;int main()void denglu();cout-欢迎登陆台球厅计费系统-endl;cout 管理员登陆mn;f.close(); int i,j;int pas1;char pas7=0,c; cout输入账号pas1;cout请输入位数密码,您有三次机会!endl;cout输入密码:endl;for(i=0;i6;i+)c=getch(); /接收字符 if(c=13)break;/判断输入的是否回车else pasi=c; putchar(*); /输出星号pas7=0;/在最后一位设置结束标志coutendl;while(m!=pas1|strcmp(pas,n)!=0) for(j=0;j2;j+)cout密码或者账号错误,请重新输入endl;couta; cout输入账号pas1; cout请输入位数密码,您有三次机会!endl; cout输入密码:endl; for(i=0;i6;i+) c=getch(); /接收字符 if(c=13)break;/判断输入的是否回车 else pasi=c; putchar(*); /输出星号 pas7=0;/在最后一位设置结束标志 coutendl; if(m=pas1|strcmp(pas,n)=0) break; if(j=2) cout密码或者账号错误,您已经超过输入次数,系统将退出!endl; break; if(m=pas1&strcmp(pas,n)=0) cout-密码正确,欢迎进入!-endl;jiemian(); void jiemian()void huiyuan();void wuping();void fuwu();void gly();cout1 会员管理endl2 物品管理endl3 服务操作endl4 管理员信息更改endl;cout如需操作,亲,请输入上述提示编号i;switch(i)case 1: huiyuan(); break;case 2: wuping(); break;case 3: fuwu(); break;ca
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 旅游管理案例研究练习题
- 学科交叉融合促进应用型人才综合素质发展
- 零售电商行业销售趋势统计表
- 汽车工程维修技术知识点解析
- 2025年文化传播与互联网的综合能力考核考试卷及答案
- 2025年现代诗歌鉴赏能力考试试卷及答案
- 2025年数理逻辑与数学思维考试试题及答案
- 2025年审计学基础理论与实务能力提高测试卷及答案
- 2025年人工智能伦理与社会影响知识测试卷及答案
- 2025年绿色经济与可持续发展考试卷及答案
- 公司业务提成方案
- 医学高级职称评审答辩报告PPT模板
- 《缓解新入园幼儿焦虑策略的研究》课题结题材料(开题报告、中期报告、结题报告、调查问卷、课题论文)
- 《数学归纳法》 优秀奖 教学课件
- ANSIESD S20.202021 中英文对照版
- 投入的主要施工机械计划
- GB-T 19639.2-2014 通用阀控式铅酸蓄电池 第2部分:规格型号
- 公司财政资金财务管理办法
- 《数据采集与预处理》教学教案(全)
- DVD在线租赁的分配问题
- 焊接技能训练教案.
评论
0/150
提交评论