2024年1月19日发(作者:向红叶)
培养中国软件业的中坚力量
重庆足下实训
网吧管理系统
系统设计概要说明书
V 1.0
足下软件实训Page 1 of 16
培养中国软件业的中坚力量
1.1 背景
重庆某网吧拟开发一套网吧计费系统,该系统要实现的功能包括。
计算机管理:新增计算机、查看没用使用的计算机。
会员卡管理:余额查询、办理会员、会员卡充值。
网吧业务:会员上机、换机、下机、计算费用、扣除费用。
数据统计:统计上机人数,计算网吧盈利,会员人数,欠费会员,统计上机时间。
提示:第一次办理会员卡,需预存50元,网吧收费为每小时2元。
1.2 数据分析
分析上面的需求,我们可以得出,系统中应该有如下数据表。
系统中会员卡信息表(cardInfo)字段及说明如表5-1。
表5-1 cardInfo的字段及说明
字段名称
C_CardId
C_CardNumber
C_CardPassword
C_CardBalance
C_TransactTime
C_Status
数据类型
int
说明
会员卡编号,主键,自动增长。
varchar(20) 会员号,系统中不能出现重复的会员号。非空
varchar(20) 会员密码,密码必须大于6位。非空。
int
datetime
bit
卡上的余额,在办卡时,需充值50元。非空。
办卡的时间,默认为当前时间。非空。
0:已激活;1:失效
系统中计算机信息表(PCInfo)字段及说明表5-2。
表5-2 PCInfo的字段及说明
字段名称
P_PCId
P_PCUse
数据类型
int
int
说明
计算机编号,主键,自动增长。
计算机是否使用,0表示正常,1表示正在使用,不能插入其他值。默认为0。非空。
0:正常且空闲
1:正在使用
2:正在维修
P_PCNote varchar(30) 计算机的描述,默认‘这台机器不错’。
系统中记录信息表(recordInfo)字段及说明5-3。
表5-3 recordInfo的字段及说明
足下软件实训Page 2 of 16
培养中国软件业的中坚力量
字段名称
R_RecordId
R_CardId
R_PCId
R_BeginTime
R_EndTime
R_Free
数据类型
int
int
int
datetime
datetime
int
说明
记录编号,主键,自动增长。
会员卡编号,外键引用cardInfo的cardInid。非空。
计算机编号,外键引用PCInfo的PCId。非空。
开始(上机)时间。默认为当前时间。
结束(下机)时间。上机时间应该小于下机时间。非空
上机费用,费用必须大于0。
1.3 需求描述
在上面我们分析出了网吧计费系统的数据库,以及模拟的系统中的相关功能。在本次项目开发中我们将会为其实现一个具有一定功能和友好用户界面的网吧计费系统。该系统使用流程如下。
进入系统:系统用户(网吧管理员)凭用户名和密码登录。
查看数据:用户可以以表的形式,查看记录、电脑和会员。
基本业务:会员上机、换机、下机。
会员业务:办理会员卡,会员充值。
第一次办理会员卡,需预存50元。当会员的余额小于10时,不能上机。网吧收费为每小时2元,不足一小时按一小时计算。
1.4 功能分析
1.4.1 数据库的设计
为了完成需求中的功能,除了上面设计的会员卡信息表(cardInfo),计算机信息表(PCInfo)和记录信息表(recordInfo)以外,还需要一张用户信息表(userInfo)。
用户信息表(userInfo)字段及说明如表7-1。
表7-1 userInfo的字段及说明
字段名称
U_UserId
U_UserName
U_UserPwd
权限
数据类型
int
varchar(20) 用户名。非空,唯一。
说明
用户编号,主键,自动增长。
varchar(20) 用户密码,密码必须大于6位。非空。
足下软件实训Page 3 of 16
培养中国软件业的中坚力量
U_Status Bit 0:正常 1:失效
1.4.2 数据显示
用表格形式显示记录、会员和计算机信息,
1.4.3 上机、下机和换机业务
1、 上机
上机时,应该选择要使用的计算机的编号,当确定上机时:验证用户的界面输入是否有效→验证会员卡和密码是否正确→判断余额是否大于10→插入上机记录。
当任何一个判断条件为否时,都不继续执行后面的步骤。
2、 下机
下机时,应该选择下机的计算机编号,并显示对应的上机信息如:卡号、上机时间。并根据上机时间和当前系统时间计算出上机用时。从而得到上机费用。当确定下机时,修改计算机的状态、扣除会员的余额,修改上机记录。
3、 换机
换机时,应该选择原计算机号和目标计算机号,确认换机时,修改原计算机和目标计算机的状态,并修改相应上机记录。
1.4.4 登录功能
根据用户输入的用户名和密码进行查询,如果查询到数据,说明用户名和密码存在,则登录成功,否则登录失败。
1.5 项目实现
1.5.1 数据库
实现:设计数据库,插入测试数据
1、 我们只需在项目实战5中设计的数据库中再新建一张用户信息表即可,设计好的数据库关系图如图7-1所示。
足下软件实训Page 4 of 16
培养中国软件业的中坚力量
图7-1 数据库关系视图
2、 插入测试数据。
➢ 向用户表插入数据,如图7-2所示。
图7-2 用户表数据
1.5.2 主窗体
实现:主窗体、记录显示窗体、会员信息窗体、计算机信息窗体的设计,并在窗体上显示对应的信息。
1、 设计系统主窗体如图7-3所示。
足下软件实训Page 5 of 16
培养中国软件业的中坚力量
图7-3 主窗体设计视图
2、 设计三个子窗体(记录、会员、计算机信息显示窗体)。
a) 会员卡信息显示窗体,如图7-4所示。
足下软件实训Page 6 of 16
培养中国软件业的中坚力量
图7-4 记录信息显示窗体
b) 记录信息显示窗体,窗体及控件与“记录信息显示窗体”类似。
c) 计算机信息显示窗体,窗体及控件与“记录信息显示窗体”类似。
3、 在窗体上显示相应的信息。
1.5.3 会员上机、下机
实现:设计上机窗体和下机窗体,并实现功能。
1、 实现上机功能。
(1) 设计上机窗体,如图7-6所示。
图7-6 上机窗体视图
(2) 实现上机窗体的相关功能。
➢ 查询并显示所有空闲的计算机。
➢ 实现验证信息并上机的功能,具体步骤如下。
(1) 数据的判断,如文本框是否为空等。
(2) 判断输入的用户名和密码是否正确。
(3) 判断用户的余额是否大于10。
(4) 修改计算机的状态。
(5) 插入上机记录。
(6) 查看记录。
如图7-7卡号为“023-002”的会员在2号计算机上上机。
足下软件实训Page 7 of 16
培养中国软件业的中坚力量
图7-7 测试上机功能
点击“确定”后,刷新记录,如图7-8所示。
图7-8 确定后查看记录
查看计算机信息,查看计算机状态是否改变。
足下软件实训Page 8 of 16
培养中国软件业的中坚力量
2、 实现下机功能
(1) 设计下机窗体,如图7-9所示。
图7-9 下机窗体设计视图
(2) 实现下机窗体的相关功能,主要功能如下。
➢ 查询所有正在使用计算机号,并显示到组合框。
➢ 根据组合框选择不同的计算机号,查询对应的上机记录,并实现到窗体上。
上机用时,即上机使用时间,是查询数据中的上机时间和系统的当前时间的时间差,以小时为单位。
➢ 实现下机功能。下机应有以下步骤。
(1) 修改机器的状态。
(2) 修改上机记录的下机时间和费用。
(3) 扣除会员的上机费用。
如图7-10演示二号计算机的下机操作。
足下软件实训Page 9 of 16
培养中国软件业的中坚力量
图7-10 测试下机功能
点击“确定“按钮后,刷新记录信息,如图7-11所示。
图7-11 下机后的记录
查看会员信息,如图7-12所示。
足下软件实训Page 10 of 16
培养中国软件业的中坚力量
图7-12 下机后查看会员信息
1.5.4 会员换机
实现:换机,会员卡办理,会员充值功能。
1、 实现换机功能
(1) 设计换机窗体,如图7-13所示。
图7-13 换机窗体视图
(2) 实现换机窗体功能
➢ 查询所有正在上机的计算机的编号,在左边的组合框中显示。
➢ 查询所有空闲的计算机编号,在右边的组合框中显示。
➢ 应包含以下步骤。
足下软件实训Page 11 of 16
培养中国软件业的中坚力量
1) 查询出记录编号。
2) 将左边计算机的状态改为空闲。
3) 将右边计算机的状态改为使用。
4) 根据记录编号修改PCId。
(3) 测试换机功能,如图7-14将正在使用的1号机器换到4号机器。
图7-14 测试换机功能
提示换机成功后,刷新记录,如图7-15所示。
足下软件实训Page 12 of 16
培养中国软件业的中坚力量
图7-15 换机成功后的上机记录
查看计算机信息,如图7-16所示。
足下软件实训Page 13 of 16
培养中国软件业的中坚力量
7-16 换机成功后的计算机状态
2、 实现会员卡办理功能
(1) 设计会员卡办理的窗体,如图7-17所示。
图7-17 会员卡办理窗体视图
(2) 实现会员卡办理的功能,应有以下操作。
➢ 判断输入是否为空,两次密码相同,且不少于六位。
➢ 判断卡号是否存在。
➢ 如果不存在卡号,则向表cardInfo中插入一条新数据。
(3) 测试注册会员的功能
3、 实现会员充值功能
(1) 设计会员充值的窗体,如图7-18。
图7-18 会员充值窗体视图
(2) 实现窗体的功能。
➢ 在窗体的Load事件中查询所有会员,绑定到组合框中,设置组合框显示文本为卡号,隐式的值为会员卡编号。
➢ 为“确定”按钮的Click事件编写代码,实现修改选中会员的余额。
(3) 测试充值功能,为会员“023-005”充值60元如图7-19所示。
足下软件实训Page 14 of 16
培养中国软件业的中坚力量
图7-19 测试充值功能
1.5.5 用户登录
系统需要正确的系统用户登录后才能使用以上功能。本阶段将会实现登录功能。
1、 设计登录窗体,如图7-21所示。
图7-21 用户登录窗体视图
2、 实现登录应有以下操作。
➢ 验证输入是否为空。
➢ 验证用户名和密码是否正确。
➢ 如果用户名和密码正确,则隐藏登录窗体,打开主窗体,并设置主窗体的Tag值为足下软件实训Page 15 of 16
培养中国软件业的中坚力量
用户名,
3、 在主窗体状态栏中显示当前用户。
4、 测试登录功能,如图7-22所示。
图7-22 输入登录信息
登录成功后,显示主窗体,图7-23为主窗体的状态栏,显示当前用户。
图7-23 在主窗体的状态栏中显示当前用户
1.5.6 其他功能
实现:实现其他功能,测试程序。
1、 实现其他功能
➢ “用户”菜单中有个菜单项“修改密码”(窗体自行设计)
➢ “视图”菜单中有“工具栏”和“菜单栏”,控制工具栏和状态栏是否可见
➢ 单击“退出”菜单,弹出提示消息,是否退出
2、 测试程序
足下软件实训Page 16 of 16
2024年1月19日发(作者:向红叶)
培养中国软件业的中坚力量
重庆足下实训
网吧管理系统
系统设计概要说明书
V 1.0
足下软件实训Page 1 of 16
培养中国软件业的中坚力量
1.1 背景
重庆某网吧拟开发一套网吧计费系统,该系统要实现的功能包括。
计算机管理:新增计算机、查看没用使用的计算机。
会员卡管理:余额查询、办理会员、会员卡充值。
网吧业务:会员上机、换机、下机、计算费用、扣除费用。
数据统计:统计上机人数,计算网吧盈利,会员人数,欠费会员,统计上机时间。
提示:第一次办理会员卡,需预存50元,网吧收费为每小时2元。
1.2 数据分析
分析上面的需求,我们可以得出,系统中应该有如下数据表。
系统中会员卡信息表(cardInfo)字段及说明如表5-1。
表5-1 cardInfo的字段及说明
字段名称
C_CardId
C_CardNumber
C_CardPassword
C_CardBalance
C_TransactTime
C_Status
数据类型
int
说明
会员卡编号,主键,自动增长。
varchar(20) 会员号,系统中不能出现重复的会员号。非空
varchar(20) 会员密码,密码必须大于6位。非空。
int
datetime
bit
卡上的余额,在办卡时,需充值50元。非空。
办卡的时间,默认为当前时间。非空。
0:已激活;1:失效
系统中计算机信息表(PCInfo)字段及说明表5-2。
表5-2 PCInfo的字段及说明
字段名称
P_PCId
P_PCUse
数据类型
int
int
说明
计算机编号,主键,自动增长。
计算机是否使用,0表示正常,1表示正在使用,不能插入其他值。默认为0。非空。
0:正常且空闲
1:正在使用
2:正在维修
P_PCNote varchar(30) 计算机的描述,默认‘这台机器不错’。
系统中记录信息表(recordInfo)字段及说明5-3。
表5-3 recordInfo的字段及说明
足下软件实训Page 2 of 16
培养中国软件业的中坚力量
字段名称
R_RecordId
R_CardId
R_PCId
R_BeginTime
R_EndTime
R_Free
数据类型
int
int
int
datetime
datetime
int
说明
记录编号,主键,自动增长。
会员卡编号,外键引用cardInfo的cardInid。非空。
计算机编号,外键引用PCInfo的PCId。非空。
开始(上机)时间。默认为当前时间。
结束(下机)时间。上机时间应该小于下机时间。非空
上机费用,费用必须大于0。
1.3 需求描述
在上面我们分析出了网吧计费系统的数据库,以及模拟的系统中的相关功能。在本次项目开发中我们将会为其实现一个具有一定功能和友好用户界面的网吧计费系统。该系统使用流程如下。
进入系统:系统用户(网吧管理员)凭用户名和密码登录。
查看数据:用户可以以表的形式,查看记录、电脑和会员。
基本业务:会员上机、换机、下机。
会员业务:办理会员卡,会员充值。
第一次办理会员卡,需预存50元。当会员的余额小于10时,不能上机。网吧收费为每小时2元,不足一小时按一小时计算。
1.4 功能分析
1.4.1 数据库的设计
为了完成需求中的功能,除了上面设计的会员卡信息表(cardInfo),计算机信息表(PCInfo)和记录信息表(recordInfo)以外,还需要一张用户信息表(userInfo)。
用户信息表(userInfo)字段及说明如表7-1。
表7-1 userInfo的字段及说明
字段名称
U_UserId
U_UserName
U_UserPwd
权限
数据类型
int
varchar(20) 用户名。非空,唯一。
说明
用户编号,主键,自动增长。
varchar(20) 用户密码,密码必须大于6位。非空。
足下软件实训Page 3 of 16
培养中国软件业的中坚力量
U_Status Bit 0:正常 1:失效
1.4.2 数据显示
用表格形式显示记录、会员和计算机信息,
1.4.3 上机、下机和换机业务
1、 上机
上机时,应该选择要使用的计算机的编号,当确定上机时:验证用户的界面输入是否有效→验证会员卡和密码是否正确→判断余额是否大于10→插入上机记录。
当任何一个判断条件为否时,都不继续执行后面的步骤。
2、 下机
下机时,应该选择下机的计算机编号,并显示对应的上机信息如:卡号、上机时间。并根据上机时间和当前系统时间计算出上机用时。从而得到上机费用。当确定下机时,修改计算机的状态、扣除会员的余额,修改上机记录。
3、 换机
换机时,应该选择原计算机号和目标计算机号,确认换机时,修改原计算机和目标计算机的状态,并修改相应上机记录。
1.4.4 登录功能
根据用户输入的用户名和密码进行查询,如果查询到数据,说明用户名和密码存在,则登录成功,否则登录失败。
1.5 项目实现
1.5.1 数据库
实现:设计数据库,插入测试数据
1、 我们只需在项目实战5中设计的数据库中再新建一张用户信息表即可,设计好的数据库关系图如图7-1所示。
足下软件实训Page 4 of 16
培养中国软件业的中坚力量
图7-1 数据库关系视图
2、 插入测试数据。
➢ 向用户表插入数据,如图7-2所示。
图7-2 用户表数据
1.5.2 主窗体
实现:主窗体、记录显示窗体、会员信息窗体、计算机信息窗体的设计,并在窗体上显示对应的信息。
1、 设计系统主窗体如图7-3所示。
足下软件实训Page 5 of 16
培养中国软件业的中坚力量
图7-3 主窗体设计视图
2、 设计三个子窗体(记录、会员、计算机信息显示窗体)。
a) 会员卡信息显示窗体,如图7-4所示。
足下软件实训Page 6 of 16
培养中国软件业的中坚力量
图7-4 记录信息显示窗体
b) 记录信息显示窗体,窗体及控件与“记录信息显示窗体”类似。
c) 计算机信息显示窗体,窗体及控件与“记录信息显示窗体”类似。
3、 在窗体上显示相应的信息。
1.5.3 会员上机、下机
实现:设计上机窗体和下机窗体,并实现功能。
1、 实现上机功能。
(1) 设计上机窗体,如图7-6所示。
图7-6 上机窗体视图
(2) 实现上机窗体的相关功能。
➢ 查询并显示所有空闲的计算机。
➢ 实现验证信息并上机的功能,具体步骤如下。
(1) 数据的判断,如文本框是否为空等。
(2) 判断输入的用户名和密码是否正确。
(3) 判断用户的余额是否大于10。
(4) 修改计算机的状态。
(5) 插入上机记录。
(6) 查看记录。
如图7-7卡号为“023-002”的会员在2号计算机上上机。
足下软件实训Page 7 of 16
培养中国软件业的中坚力量
图7-7 测试上机功能
点击“确定”后,刷新记录,如图7-8所示。
图7-8 确定后查看记录
查看计算机信息,查看计算机状态是否改变。
足下软件实训Page 8 of 16
培养中国软件业的中坚力量
2、 实现下机功能
(1) 设计下机窗体,如图7-9所示。
图7-9 下机窗体设计视图
(2) 实现下机窗体的相关功能,主要功能如下。
➢ 查询所有正在使用计算机号,并显示到组合框。
➢ 根据组合框选择不同的计算机号,查询对应的上机记录,并实现到窗体上。
上机用时,即上机使用时间,是查询数据中的上机时间和系统的当前时间的时间差,以小时为单位。
➢ 实现下机功能。下机应有以下步骤。
(1) 修改机器的状态。
(2) 修改上机记录的下机时间和费用。
(3) 扣除会员的上机费用。
如图7-10演示二号计算机的下机操作。
足下软件实训Page 9 of 16
培养中国软件业的中坚力量
图7-10 测试下机功能
点击“确定“按钮后,刷新记录信息,如图7-11所示。
图7-11 下机后的记录
查看会员信息,如图7-12所示。
足下软件实训Page 10 of 16
培养中国软件业的中坚力量
图7-12 下机后查看会员信息
1.5.4 会员换机
实现:换机,会员卡办理,会员充值功能。
1、 实现换机功能
(1) 设计换机窗体,如图7-13所示。
图7-13 换机窗体视图
(2) 实现换机窗体功能
➢ 查询所有正在上机的计算机的编号,在左边的组合框中显示。
➢ 查询所有空闲的计算机编号,在右边的组合框中显示。
➢ 应包含以下步骤。
足下软件实训Page 11 of 16
培养中国软件业的中坚力量
1) 查询出记录编号。
2) 将左边计算机的状态改为空闲。
3) 将右边计算机的状态改为使用。
4) 根据记录编号修改PCId。
(3) 测试换机功能,如图7-14将正在使用的1号机器换到4号机器。
图7-14 测试换机功能
提示换机成功后,刷新记录,如图7-15所示。
足下软件实训Page 12 of 16
培养中国软件业的中坚力量
图7-15 换机成功后的上机记录
查看计算机信息,如图7-16所示。
足下软件实训Page 13 of 16
培养中国软件业的中坚力量
7-16 换机成功后的计算机状态
2、 实现会员卡办理功能
(1) 设计会员卡办理的窗体,如图7-17所示。
图7-17 会员卡办理窗体视图
(2) 实现会员卡办理的功能,应有以下操作。
➢ 判断输入是否为空,两次密码相同,且不少于六位。
➢ 判断卡号是否存在。
➢ 如果不存在卡号,则向表cardInfo中插入一条新数据。
(3) 测试注册会员的功能
3、 实现会员充值功能
(1) 设计会员充值的窗体,如图7-18。
图7-18 会员充值窗体视图
(2) 实现窗体的功能。
➢ 在窗体的Load事件中查询所有会员,绑定到组合框中,设置组合框显示文本为卡号,隐式的值为会员卡编号。
➢ 为“确定”按钮的Click事件编写代码,实现修改选中会员的余额。
(3) 测试充值功能,为会员“023-005”充值60元如图7-19所示。
足下软件实训Page 14 of 16
培养中国软件业的中坚力量
图7-19 测试充值功能
1.5.5 用户登录
系统需要正确的系统用户登录后才能使用以上功能。本阶段将会实现登录功能。
1、 设计登录窗体,如图7-21所示。
图7-21 用户登录窗体视图
2、 实现登录应有以下操作。
➢ 验证输入是否为空。
➢ 验证用户名和密码是否正确。
➢ 如果用户名和密码正确,则隐藏登录窗体,打开主窗体,并设置主窗体的Tag值为足下软件实训Page 15 of 16
培养中国软件业的中坚力量
用户名,
3、 在主窗体状态栏中显示当前用户。
4、 测试登录功能,如图7-22所示。
图7-22 输入登录信息
登录成功后,显示主窗体,图7-23为主窗体的状态栏,显示当前用户。
图7-23 在主窗体的状态栏中显示当前用户
1.5.6 其他功能
实现:实现其他功能,测试程序。
1、 实现其他功能
➢ “用户”菜单中有个菜单项“修改密码”(窗体自行设计)
➢ “视图”菜单中有“工具栏”和“菜单栏”,控制工具栏和状态栏是否可见
➢ 单击“退出”菜单,弹出提示消息,是否退出
2、 测试程序
足下软件实训Page 16 of 16