台球厅管理系统

更新时间:2023-12-30 04:03:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

软件工程课程设计

软件工程课程设计报告

( 2013 -- 2014 年度第 一 学期)

课程名称: 软件工程课程设计 题 目: 台球厅管理系统 院 系:

班 级: 软件工程 组 号: 组 长: 组 员:

指导教师: 设计周数:

小组成绩:

日期:年 月 日

软件工程课程设计

《软件工程》课程设计任务书

一、目的、要求

通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。

具体如下:

? 学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;

? 熟悉自动化的软件开发工具Rational Rose 2003等,并将其运用于软件开发的全过程;

? 进一步加强和提高软件工程文档的编写能力; ? 培养协作能力和团队精神。 二、任务分配

任务 需求分析 总体设计 详细设计 系统实现与测试 三、设计成果要求

? ? ?

负责人 参与人 备注 建立系统分析与设计模型;

初步建立系统原型,实现关键的功能; 编写课程设计报告。

指导教师:

日 期: 2013 年 月 日

《软件工程》课程设计成绩评定

软件工程课程设计

一、 指导教师评语

二、 成绩

学号 姓名 成绩 备注

指导教师:

日期: 年 月 日

软件工程课程设计

摘要:

台球厅管理系统是以Web界面与用户交互,为用户提供信息并接受其操作。实现了对信息数据的远程浏览、查询、编辑和管理等基本数据库操作,采取模块化的编写思想,提高了可读性,可移植性和一致性,同时提高了开发效率。

本系统共包括五个部分的管理:员工管理、球台的管理、会员管理、物品管理和消费的管理。员工管理需要登记自己的信息。球台管理是掌控着开台关台的操作和顾客消费信息。会员管理则关乎会员的添加、删除、修改,和对会员等级的区分,从而决定结账时的消费折扣。物品管理主要登记的是台球厅的物品信息以及相关的操作。消费管理主要分为物品消费和球桌消费,会员只对球桌消费进行打折,对物品没有折扣。

本系统主要需要完成对台球厅信息的管理,账号登陆,登陆系统设置了管理员

对数据进行操作。具体功能包括查询台球桌

信息、增加台球桌信息、修改台球桌信息、删除台球桌信息、调换台球桌、计时和费用结算等等。

关键词:台球厅,数据库 ,管理 ,ASP.NET

软件工程课程设计

目录

第一章 课程设计的目的与要求 ................................................................................ 1 第二章 设计正文 ............................................................................................................ 1

2.1 概述 ....................................................................................................................... 1

2. 1.1 课题题目 ................................................................................................. 1 2. 1.2系统的主要目标 ...................................................................................... 1 2. 1.3系统的开发环境及运行环境 .................................................................. 1 2.2 系统需求分析 ....................................................................................................... 1

2. 2.1用例图 ...................................................................................................... 2 2. 2.2类图 .......................................................................................................... 4 2. 2.3 顺序图 ..................................................................................................... 5 2.3 系统总体设计 ....................................................................................................... 6

2. 3.1 设计问题域系统 ..................................................................................... 6 2. 3.2 设计数据管理子系统 ............................................................................. 7 2. 3.3 设计人机交互系统 ................................................................................. 9 2.4 详细设计 ............................................................................................................. 11 2.5 系统主要功能模块的设计和实现 ..................................................................... 14

2. 5.1系统界面例图 ........................................................................................ 14 2. 5.2数据库的实现 ........................................................................................ 15 2.6 系统测试 ............................................................................................................. 20

第三章 课程设计总结 ................................................................................................. 20 参考文献 .......................................................................................................................... 21 附录1 ................................................................................................................................ 22

第一章 课程设计的目的与要求

近年来随着社会的发展,生活水平的提高,越来越多的人们注重自己的精神娱乐生活,随着台球厅规模的不断扩大,台球厅收费数量也相应的增加,面对着庞大的信息量,传统的人工方式管理会导致收费管理上的混乱,人力与物力过多浪费,导致不必要的浪费。因此,必须制定一套合理、有效、规范和实用的台球厅计时收费系统,对计时收费进行集中统一的管理,因此需要有台球厅计时收费管理系统来帮助管理台球厅的计时收费信息,以便提高管理的工作效率。通过这样的管理系统可以做到信息规范化、科学管理。

通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。

具体如下:

?

学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象熟悉自动化的软件开发工具Rational Rose 2003等,并将其运用于软件进一步加强和提高软件工程文档的编写能力;培养协作能力和团队精神。

的系统分析与设计,编码和测试方面的知识;

?

开发的全过程;

?

1

第二章 设计正文

2.1 概述

2. 1.1 课题题目

台球厅管理系统 2. 1.2系统的主要目标

本系统目标是实现台球厅管理系统所需的各种基本功能,包括顾客开台、结账功能和管理员查看会员信息、结算顾客消费总额功能以及管理员添加会员、维护学生、、会员信息、物品管理、添加物品、维护物品信息,还有公用的修改密码等功能。 2. 1.3系统的开发环境及运行环境

操作系统: Windows XP Pro SP2 建模工具: Rational Rose 2003 数据库系统:SQL Server2000 开发工具: Visual Studio 2005 Web服务器:IIS+ASP.NET 2.0平台

2.2 系统需求分析

台球厅管理系统主要满足来自二方面的要求,这二方面分别是管理员、客户,也即是二类客户角色。

(1) 客户是主要的需求者,主要功能是办理会员、购买物品、桌球娱乐等操作; (2) 管理员用户在会员子模块可以对会员信息的增加、删除、修改、查询操作,在物品子模块中对物品信息的增加、删除、修改操作,还可以对物品进行查询操作,可以对球桌进行开关操作,进行收银操作;

本系统将管理员用户、客户的身份及权限进行严格的划分,让管理员拥有最高权限,可以查询、维护系统中的所有信息,如添加会员客户,添加物品,修改会员信息,客户仅有购买物品,打桌球和办理会员。

1

软件工程课程设计

2. 2.1用例图

图1管理员用例图

用例图说明:

(1)系统的外部角色有:客户、管理员。 (2)系统主要用例的文档描述: ① ② ③ ④ ⑤

管理员管理用例:管理员可见的功能,这一用例进一步分为四个用例:会员修改密码管理用例:管理员可见用例,实现管理员的密码修改。

物品管理信息用例:信息管理用例可见功能,实现物品信息的管理,包含了桌球管理信息用例:信息管理用例可见功能,实现桌球信息的管理,包含了会员管理信息用例:信息管理用例可见功能,实现会员信息的管理,包含了

2

信息管理用例、桌球管理信息用例、物品管理用例和修改密码管理用例。

添加物品信息、删除物品信息、修改物品信息、和查询物品信息四个用例。 开球桌和关球桌二个桌球用例。

软件工程课程设计

会员信息增加、会员信息修改、会员信息删除、和会员信息查询。 (3)系统用例之间的关系: ⑥ ⑦ ⑧

会员管理信息用例与会员信息增加、删除、修改、查询之间是包含关系。 桌球管理信息用例与桌球开和关之间是包含关系。

物品管理信息用例与物品的增加、删除、修改、查询之间是包含关系。

表1 修改密码用例的正常事件流图和异常事件流图

用例名称 参与者 描述 启动 前置条件 管理员 管理员用户进行密码修改 单击“修改密码”链接 用户成功登录 主事件流 用户 1.进入用户修改密码界面,输入旧密码一次 ,新密码两次 2.系统检查密码格式是否相符 3.系统检查旧密码是否正确 4.如果正确,进行密码修改,转入密码修改成功界面 异常流 异常流 系统 密码检查未通过 返回密码修改界面,提示旧密码不正确,新密码格式不符,两次不同等密码 异常 用户旧密码错误

表2 结账用例的正常事件流图和异常事件流图

用例名称 参与者 描述 启动 管理员 为开桌的顾客结账 进入顾客消费界面 顾客结账用例 系统 修改密码 (4)系统关键用例的正常事件流图和异常事件流图

3

软件工程课程设计

前置条件 后置条件 用户成功登录 尚未关桌结账 主事件流 用户 1.选择球桌号 系统 2.球桌消费统计页面 3.单击结账 5.关闭球桌,提示结账成功 异常流 异常流 系统 球桌未开 提示球桌未开,不能 2. 2.2类图

图2类图

4

软件工程课程设计

类图说明:

(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 顺序图

5

软件工程课程设计

图3 管理员修改物品信息顺序图

图4 管理员修改会员信息顺序图

2.3 系统总体设计

2. 3.1 设计问题域系统

台球厅管理系统是实现会员注册、顾客结账以及学校教务管理员维护信息的一个平台,整个台球厅管理系统有前台和后台两部分,共分为2个模块:管

6

软件工程课程设计

理员模块,公有模块,分别用于完成各自的功能。以下为台球厅管理系统总体设计图和各功能模块说明: (1)总体设计图

图5 总体设计图

(2)各模块功能

表3 模块功能表

功能模块 管理员模块 公有模块 包含子功能模块 功能 会员管理子模块 对会员信息的添加,修改,删除,查询等操作 球桌管理子模块 对球桌信息的添加,修改,删除等操作 物品管理子模块 对物品信息的添加,修改,删除等操作 实现用户的身份验证,密码修改,退出系统等功能 2. 3.2 设计数据管理子系统 (1)数据表之间的关系

表4数据库表

序号 1 2 3 4 5 6 数据库表 Wupinggl Vrank Guanliyuan Jifeigk Vipgl Qiuzhuogl 数据表存储的内容 存储物品的信息 存储会员分级的信息 存储管理员的信息 存储顾客消费的信息 存储会员的信息 存储球桌信息

7

软件工程课程设计

(2)数据表之间的关系

图6数据表关系图 (3)数据库表结构

1)物品表Wupinggl的详细数据字段:

表5 Wupinggl物品表 序号 1 2 3 4 字段名 wnanme wprice wamount jw 字段类型 char(20)not null double not null double not null nvarchar(20) 说明 物品名称 物品价格 物品数量 物品计费 备注 关键字

2)会员等级表Vrank的详细数据字段:

表6 Vrank会员等级表 序号 1 2 3 字段名 vdiamond vplat vsil 字段类型 char(20)not null char(20)not null char(20)not null 说明 钻石会员 白金会员 白银会员 备注

8

软件工程课程设计

3)系统管理员表Guanliyuan的详细数据字段:

表7 Guanliyuan管理员表 序号 1 2 字段名 zhanghao mima 字段类型 char(20)not null char(20) 说明 系统管理员用户名 系统管理员密码 备注 关键字

4)计费表Jifeigl的详细数据字段:

表8 Jifeigl计费表 序号 1 2 3 字段名 jsum jq jw 字段类型 Int not null double not null double 说明 顾客消费总金额 球桌消费金额 物品消费金额 备注 关键字 关键字 关键字

5)会员表Vipgl的详细数据字段:

表9 Vipgl会员表 序号 1 2 3 4 字段名 vnum vname vphone vrank 字段类型 double not null char(20)not null char(20) not null char(20) not null 说明 会员编号 会员名称 会员电话 会员等级 备注 关键字 关键字 关键字 关键字

6)球桌表Qiuzhuogl的详细数据字段:

表10 Qiuzhuogl球桌表 序号 1 2 3 4 字段名 qnum qtime qst jq 字段类型 double not null time not null time not null double 说明 球桌编号 开台时间 关台时间 球桌消费金额 备注 关键字

2. 3.3 设计人机交互系统

9

软件工程课程设计

(1)用户描述

管理员用户的描述:

管理员用户在整个台球厅管理系统中起到管理和维护的作用,对会员和物品的信息进行管理和维护以及开关球桌等职责。 (2)设计命令层次

1)系统的人机交互系统的内容和准则:

本学生选课系统的人机交互子系统在根据不同的用户身份登陆到不同的页面,然后按照不同的用户只能进行用户权限内的操作,其结构图如下:

图7界面结构图

2)通过采用树形结构,细化命令的组织方式,如下:

10

软件工程课程设计

图8 界面结构细化图

2.4 详细设计

台球厅管理系统是实现顾客开桌、顾客结账以及台球厅管理员维护信息的一个平台,整个台球厅管理系统共分为2个大模块:管理员模块,公有模块,其中复杂的方法和模块的详细设计流程图如下。 (1)系统用户登录流程图:

11

软件工程课程设计

图9 系统登陆流程图

(2)用户密码修改流程图:

图10 用户修改密码流程图

(3)管理员添加会员流程图:

12

软件工程课程设计

图11 管理员添加会员流程图

(4)顾客结账流程图:

图12 顾客结账流程图

13

软件工程课程设计

2.5 系统主要功能模块的设计和实现

2. 5.1系统界面例图

(1)管理员登陆界面:需要管理员输入账号和密码,得到进入系统的权限。

图13 管理员登陆界面图

(2)管理员登陆密码验证界面:输入账号密码的机会只有三次。

图14 密码验证界面图

(3)成功登陆系统界面:管理员可进行的操作选择。

图15 系统操作界面图

(4)会员管理功能界面:管理员选择会员管理操作,从而进行查询会员,添加会员,修改会员,删除会员。

14

软件工程课程设计

select u.user_id, u.name,

u.money * m.discount from user u join member m

on user.userid = member.member_id right 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) 通过这次软件工程课程设计的实践训练,进一步掌握软件工程的方法和技

20

软件工程课程设计

术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。

?

学习和实践了分析和设计软件系统的各种知识,包括面向对象的系统分析与设计,编码和测试方面的知识。

掌握了自动化的软件开发工具Rational Rose 2003,并将其运用于软件开发的全过程。加深掌握了.Net平台的三层架构模式设计。 进一步加强和提高软件工程文档的编写能力。 增强了协作能力和团队精神。

?

? ?

(2) 本系统基本实现了关键的功能模块,在功能上基本满足了用户的需求,但

是由于基础知识缺乏,系统实现的经验的欠缺,加之时间较紧,有些模块以及整个系统还有许多不完善的地方,如界面不太美观,操作性不太友好,一些功能没法实现等。

(3) 编程的过程中也遇到了不少的问题,有的是不够仔细,有的是语法错误,还有

的是不太会,有的看书我自己能解决,可有的弄了很久也弄不好,不耻下问,当然要请教会的同学了,总之在完成毕设的同时比起以前我有了很大的进步,收获真的很多。台球厅管理系统的开发过程其实并不复杂,但是体现了C++编程的基本思想,本系统使用了SQL Server数据库服务程序,完全可以满足使用需求。这次我们能独立完成系统的设计,对现在或是将来都有很大的好处,我们相信只要自己不断的学习和思考自己就会不断的进步。

参考文献

[1] 张海藩.软件工程导论(第4 版).北京:清华大学出版社,2005 [2] 刁成嘉.UML系统建模与分析设计.北京:机械工业出版社,2007 [3] UML基础与Rose建模案例.北京:人民邮电出版社,2004

[4] 魏亮.VISUAL C++程序设计例学与实践.北京:清华大学出版社,2007 [5] 尹买华.数据库管理系统. [M]. 北京: 清华大学出版社,2004

21

软件工程课程设计

附录1

系统代码摘录

#include #include #include #include #include #include using namespace std; int main() { }

void denglu() {

void jiemian(); fstream f;

f.open(\,ios::in); int m; char n[7]; f>>m>>n; f.close(); int pas1; char pas[7]={0},c;

cin>>pas1; void denglu();

cout<<\欢迎登陆台球厅计费系统---------------\<

int i,j;

cout<<\输入账号\<

cout<<\请输入位数密码,您有三次机会!\<

c=getch(); //接收字符 else {

if(c==13){break;}//判断输入的是否回车

pas[i]=c;

putchar('*'); //输出星号

22

软件工程课程设计

}

}

pas[7]='\\0';//在最后一位设置结束标志 cout<

while(m!=pas1||strcmp(pas,n)!=0) { for(j=0;j<2;j++)

{ cout<<\密码或者账号错误,请重新输入\<

cout<<\; cout<<\输入账号\<

cin>>pas1;

cout<<\请输入位数密码,您有三次机会!\<

cout<<\输入密码:\<

c=getch(); //接收字符 if(c==13){break;}//判断输入的是否回车

else

{

pas[i]=c;

putchar('*'); //输出星号

} }

pas[7]='\\0';//在最后一位设置结束标志 cout<

if(m==pas1||strcmp(pas,n)==0)

break;

} if(j==2) {

cout<<\密码或者账号错误,您已经超过输入次数,系统将退出!\<

}

}

if(m==pas1&&strcmp(pas,n)==0) { cout<<\密码正确,欢迎进入!---------------\<

jiemian(); }

}

void jiemian() {

23

break; 软件工程课程设计

}

void huiyuan() { }

void xianshi() {

cout<<\会员编号\<<\<<\会员姓名\<<\<<\会员性别\<<\<<\会员电话\<<\; cout<<\会员等级\<<\<<\会员积分\<

f.open(\,ios::in); if(!f) {

void xianshi(),tianjia(),xiugai(),shanchu(); int i;

cout<<\返回上一层界面\<

cout<<\如需操作,亲,请输入上述提示编号\<>i; switch(i) {

case 0: jiemian(); case 1: xianshi(); case 2: tianjia(); case 3: xiugai(); case 4: shanchu(); }

void huiyuan(); void wuping(); void fuwu(); void gly();

cout<<\会员管理\<>i; switch(i) {

case 1: {huiyuan(); break;} case 2: {wuping(); break;} case 3: {fuwu(); break;} case 4: {gly(); break;} }

\<

cout<<\显示会员\<

cout<<\; abort();

24

软件工程课程设计

} char ch;

while(f.get(ch)) cout.put(ch); f.close();

cout<

cout<<\马上返回上一层界面\<

}

typedef struct huiyuan1 {

char num[5],name[10],sex[2],number[12],lx[5],jf[10]; }hy;

void tianjia() { FILE *fp; hy h;

fp=fopen(\,\); fseek(fp, 0,SEEK_END); cout<<\请依次输入:\<

cout<<\会员编号\<<\<<\会员姓名\<<\<<\会员性别\<<\ cout<<\会员等级\<<\<<\会员积分\<

cin>>h.num>>h.name>>h.sex>>h.number>>h.lx>>h.jf; fwrite(&h, sizeof(h), 1, fp); fclose(fp); xianshi(); }

void xiugai() {}

void shanchu() {}

void wuping() {}

void fuwu() {} void gly() { string q; int i; fstream f;

f.open(\,ios::in); int m; char n[7]; f>>m>>n;

25

<<\会员电话\<<\;

软件工程课程设计

}

cout<<\管理员账号\<<\<<\管理员密码\<>m;

cout<<\新的密码:\;

cin>>n[i];

for(i=0;i<6;i++)

ofstream out(\); out<

cout<<\修改成功,显示更改完信息\<

cout<<\管理员账号\<<\<<\管理员密码\<

26

本文来源:https://www.bwwdw.com/article/vm4x.html

Top