📄 文章.txt
字号:
“图书租借管理系统”需求说明书由引言、数据流图和系统功能及要求组成。
L引言 .
图书租借活动中涉及的图书信息、用户信息和租金结算等最能发挥计算机信息管理的
优势。利用一套“图书租借管理系统”可以使经营者方便管理自己的租借活动,提高图书的
使用率,提高管理水平。
2.数据流图
用简单的分层数据流图表示不同级别上的功能模型。数据流图中,圆框代表数据处理
系统;箭头代表数据的录入和读取。
数据流图如图4.1所示。
3.数据字典(DD) 。
我们要处理的系统中包含大量的数据,一般用数据字典给出所有数据的定义与属性,以
保持数据在系统中的一致性。本系统中数据类型及构成比较简单,一目了然不会引起二义
性,所以没有单独编写数据字典条目。
4.系统的功能及要求
“图书租借管理系统”要突出体现两方面的功能。其一是查询功能,不论是租借管理人
员还是用户,在租借活动中人们最关心的某种图书在本店是否存在?目前状态,是否还有复
本?如果全部被借出,那么被谁借去了?什么时候还书?……等等。其二是租金的存储与
计算。
(1)系统性能要求
①界面简洁,美观大方。
②进入系统需要口令验证,不同口令使用的功能不同,提高了系统的安全性。
③人机交互性更好,容错性能强。对于用户操作上的错误,系统能够给出相应的提示。
④系统采用模块化程序设计方法,系统文件管理规范,相关文档齐全,便于以后补充和维护。
(2)系统的运行环境
①数据管理功能:根据需要进行数据的添加、删除、修改等操作。 ’
②查询浏览功能:提供多种方式的浏览,能进行多条件复合查询。
③数据计算功能:在租借活动中,系统可以自动调整复本数,当某种图书没有库存时系
统给出提示;还书时自动计算客户租金等数据。
④统计打印功能:提供一定的统计打印功能。
(3)系统的运行环境
系统运行的软件、硬件环境可以根据实际情况自主设计。为了突出系统的普及性,不能
将系统的运行环境指标设计得过高。
4.2 软件设计
L系统功能
系统的功能模块的划分如图4.2所示。
2.数据库设计
在项目管理器中建立数据库tszj.dbc存放在系统默路径
D:\vFP 60课程设计指导\图书租借信息管理系统\DATA
中,其他数据表全部在当前数据库中建立。表结构如下:
(1)book.dbf(图书表)
字段名 字段类型 宽度
图书流水号 Character 6
1SBN Character 13
图书名称 Character 50
图书分类 Character 10
出版社 Character 30
单价 Numeric 8(2)
复本数量 Numeric 2
押金 Numeric 8(2)
日租金 Numeric 5(2)
日罚金 Numeric 5(2)
(2)person.dbf(客户表)
字段名 字段类型 宽度
客户编号 Character 6
客户姓名 Character 8
身份证号 Character 18
宅电 Character 8
手机 Character 11
住址 Character 30
租金累计 Numeric 10(2)
(3)租借表.dbf(租借表)
字段名 字段类型 宽度
客户编号 Character 6
1SBN Character 13
预付金额 Numeric 8(2)
租借日期 Date 8
归还日期 Date 8
预借天数 Numeric 2
正常租金 Numeric 10(2)
过期租金 Numeric 10(2)
退还 Numeric 10(2)
补交 Numeric 10(2)
(4)password.dbf(H令表)
字段名 字段类型 宽度
用户 Character 10
密码 Character 6
注: 系统中约定用户名为“数据录入员”的用户可以使用系统的全部功能;用户名为
“租借操作员”的用户可以使用系统的“租借管理”、“数据浏览查询”和“打印”功
能;用户名为“一般用户”的用户只能使用系统的“数据浏览壹询”和“打印”功能。
(5)图书分类表.dbf(图书分类表)
字段名 字段类型 宽度
类名 Character 20
4.3 软件实现
本系统建立默认路径是
D:\VFP 60课程设计指导\图书租借管理系统\
主应用程序中对应着一条语句:
setdefatoD:\VPP 60课程设计指导\图书租借信息管理系统\
在主应用程序设置默认路径后,在执行表单、菜单、查询等时都可以使用相对目录,而在
打开数据库、表及相关索引时也只要指出相对路径即可。
注: 在设计和调试过程中,每次进入VlsLlalFoxPro 6.0时,首先在命令窗9输入命令行:
setdefat。D:\VFP60课程设计指导\图书租借信息管理系统\
4.3.1 建立项目及项目文件
利用向导创建项目,可以同时创建项目文件和相应的目录,这些目录用以存放项目中各
种类型的文件。本例中利用向导创建的项目文件为图书租借.pjx,该文件位于
D:\VFP 60课程设计指导\图书租借信息管理系统
中。同时,在此目录中还建立Data、Forms、GraphlCS……子目录。
4.3.2 系统启动
系统启动由系统启动表单begin.scx负责,该表单文件位于
D:\FPP 60课程设计指导\图书租借信息管理系统\forffis
中,即默认路径的forms文件夹中。这一表单的背景图片是自己设计的,它能够体现本系统
的内容特征。该表单使用的图片文件“背景.jp8”和“标题.jpg"保存在默认路径的GRAPH—
ICS文件夹中,即在表单设计器中将Picture属性设为:
d:\VFP 60课程设计指导\图书租借信息管理系统\graphics\
表单被执行后,文本信息:“图书租借管理系统”缓缓从右侧驶入。单击“进入”按钮可以
进入下一级“权限认证”表单。表单运行效果如图4.3所示。
1.begin.SeX表单的属性及设置值
begm.scx表单的属性及设置值如图4.4所示。
田4.dbeejn,SeX的属性与属性值
注: ShOWWindOW属性值为2—As Top-Level Fortn,目的是使表单运行时处于Win-
dows桌面最顶层。如果ShOWWindOW属性值为0—In Top—LeveIForlTl在表单中;
指的是在VlsualFoxPro 6.0的窗口内,那么当脱离V1suitlFoxPro 6.0环境运行
执行程序时,这个窗口就会不见了。
2.begin.stx表单的控件及属性
begln.scx表单包含1个图像控件Image、2个按钮控件Commandl、Command2和1个
计时器控件Tlmer。单击按钮控件Commandl可以执行表单password.scx,进入权限认证
界面;单击按钮控件Command2可以退出系统。表单beglll.scx设计视图如图4.5所示。
图4.5 begin.scx的控件
. Image相关属性及设置值
Image相关属性及设置值如图4.6所示。
图4.6 设置控件Image的属性值
. Timelt相关属性及设置值
Tliner相关属性及设置值如图4.7所示。
3.相关代码 :
· 表单Time~--init过程代码
public i
i=600&&开始时标题处于表单的最右侧
· 控件T{mer--Timer过程代码
if i>O
thisform.imagel.1eft=i
i:i-1
else
i:600
endif
注: Inmgel从右侧向左渐渐驶入,当到达最左侧时,再次从表单的右边界向左渐渐驶入。
· 控件Commandl(进入)——单击事件(Click)过程代码
dOformforms\pass-ord.scx
. 控件Command2(退出)——单击事件(Click)过程代码
thisform.release
clear events
quit
4.3.3 权限认证
权限认证由权限认证表单pMssword.$CX负责,该表单文件位于默认路径的forms文件夹中,
执行password.scx表单后,如果单击表单的“确定”按钮控件,将验证“用户名”、“密码”的有效性,
即与数据库中口令表password.dbI比较;如果输入的“用户名”及“密码”任一有错,都会提示重新
输入。当输入了正确的“用户名”和“密码”,单击表单的“确定”按钮控件,将启动mainform.scx表
单,进入系统主界面,同时将用户名和权限存放在变量USelTlame和rank中,以备后面的表单验证
权限时使用。单击“退出”按钮,系统退回至系统启动表单。运行效果如图4.8所示。
1.password.scx表单的属性及设置值
password.SCX表单的属性及设置值如图4.9所示。
图4.9 设置表单的属性
2.passwd.SCX表单的控件的属性及设置值
本表单在布局上包括2个标签Labell、Label2,分别用于界面的文字提示;1个组合框
Comb。1,用于选择用户名;1个文本框Textl,用于输入密码,Textl的“PasswordChar"属性
值为“*”,以保证运行中的表单输入密码时显示为“*”;包含2个命令按钮CorfilTlarldl、
Command2,分别用于验证和回退到启动表单。
3.相关代码
· 表单--lnlt过程代码
public userrname &&变量username用来存放”用户名”
username=””
thisform.combo1.setfocus
· 控件CombO1--InteractlveChange过程代码
username=thlsform.comb01.value
thisform.textl.setfocus
· 控件Commandl(进入)——单击事件(Click)过程代码
if len(allt(thisform.combo!.value))<>O.and.ten(allt(thisform.textl.valub))<>O
sele password ,
locateforalit(password.用户)==allt(thisform.comb01.value)
if alit(password.密码)==allt(thisform.textl.value)
thisform.release
dOform forms\mainform.SCX
else
messagebox(”密码不正确,请重新输入”,o,”提示!”)
thisform.textl.value=””
thisform.textl.setfocus
endif
else
messagebox(”密码或用户名不能为空,请重新输入”,0,”提示!”)
thisform.textl.setfocus
endif
· 控件Command2(退出)--单击事件(Click)过程代码
thisform.release
dOformforms\begin.scx
4.3.4 系统主界面
系统主界面表单maiu{orm。sex位于默认路径的{orms文件夹中。执行表单后,单击不
同的命令按钮,选择并执行其他表单;单击“退出”钮,返回权限认证表单。
通过命令按钮组控件可以选择下列表单:
· 数据维护表单jbxxwh.SCX
· 数据浏览查询表单Ilex.SCX
· 租界管理表单tjdy.sc
· 打印催还单表单xtgl.SCX
该表单功能的使用依赖于用户登录时所获得的使用权限。“数据录入员”可以使用该表
单的全部功能;“租借操作员”可以使用该表单的“租借管理”、"数据浏览查询”和“打印催还
单”功能;“一般用户”只能使用该表单的“数据浏览查询”和“打印催还单”功能。
主界面表单mainform。SCX运行效果如图4.10所示。
田4.10 mainform.sex运行效果
1.mainform.$CX表单的属性及设置值;
由于袁单mainform.sex运行时必须保证它处于Windows桌面的最顶层,所以该表单
的SLOWWindOW属性的值为2—AsTop—LevelForm。
2.mainform.sex表单的控件
表单包括1个命令按钮组,1个命令按钮和2个标签,其中一个标签用于显示登录时的
用户名,即显示“数据录入员”、“租借操作员”或“一般用户”。
3.相关代码
· 表单--init过程代码
thisform.1abel2.caption=username &&显示用户名,变量sername在权限认证时定义并已经获得值
ifusername='一般用户’ &&一般用户不能使用数据维护和租借功能
thisfom.Commandqroupl.commandl.enabled;.f.
thisform.Commandgroupl.command3.enabled:.f.
endif
ifusername-'租借操作员' &&不能使用数据维护功能
thisform.Commandgroupl.commandl.enabled:.f.
endif
· 控件Commandgroupl的lommandl(数据维护)——单击事件(Click)过程代码
dOform forms\siuh.scx
· 控件Commandgroupl的lommand2(数据浏览查询)——单击事件(Click)过程
代码
dO form fOms\llcx.SCX
· 控件Commandgroupl的lommand3(租借及查询)——单击事件(Click)过程代码
thisform.release
dO formforms\zjgl.SCX
· 控件Commandgroupl的lommand4(打印催还单)——单击事件(Click)过程代码
dOformforms\dycsd.scx
· 控件Commandl(返回)——单击事件(Click)过程代码
thisform.release
dOformfOms\password.scx
4.3.5 数据维护
数据维护由表单sJwh.SCX负责。表单sjwh.SCX包含一个有3个页面的页框控件。该
表单位于默认路径的{orms文件夹中。
通过该表单,完成对系统主要数据表book.dbf(图书表)、person.dbf(客户表)和pass—
word.dLf(密码表)的基本维护功能。
表单的SLowWindow属性设置为“1—h Top—Level Form"。表单的数据源book.dbf、
person.dbf和password.dbf的属性BufferModeOverride=3、Exclusive=.T.。book.dbf、
person.dbf和password.db{数据表文件在系统默认路径的Data文件夹中。
1.页面1(图书表维护)所包含的控件、控件属性及相应代码
页面1中包含8个命令按钮,单击8个命令按钮可以完成对数据表book.dbf中记录的
添加、删除、编辑等操作。其余控件是将数据源book.dbf表中的全部字段拖至表单中形成
的,设置所有控件的Enabled=.P.。将其中“图书分类”字段对应的默认文本框用1个组合
框控件Comb01替换。使用控件的生成器,将组合框Combol的选项设置为数据表图书分
类表.dbf相应字段的值。组合框Combol的设置如图4.u所示。
图4.11Combl属性设置
表单运行时页面1效果如图4.12所示。
图4.12 sjwh.scx运行时页面1效果
· 控件Pagel——Init过程代码
set safe off
sele book
· 控件Pagel——Actlvate过程代码
thisform.pageframel.pagel.txt图书流水号.setfocus
· 控件Commandl(添加)——单击事件(Click)过程代码
this.caption=”继续”
begintransactionSS开启一个事务
sele book
append blank
。使表单中控件可用
thisform.pageframel.pagel.txt图书流水号.enabled=.t.
thisform.pageframel.pagel.txtisbn.enabled=.t.
thisform.pageframel.pagel.comb01.enabled=.t.
thisform.pageframel.pagel.txt图书名称.enabled=.t.
thisform.pageframel.pagel.txt出版社.enabled=t
thisform.pageframel.pagel.txt单价.enabled=.t.
thisform.pageframel.pagel.txt押金.enabled=t
thisform.pageframel.pagel.txt复本数量.enabled=t
thlsform.pageframel.pagel.txt日租金.enabled=t.
thisform.pageframel.pagel.txt日罚金.enabled=t.
*除”提交”、”撤销”钮外,其他按钮都置为不可用
this.enabled:.f.
thisform.pageframel.pagel.command2.enabled=.f.
thisform.pageframel.pagel.command3.enabled=.f.
thisform.pageframel.pagel.command4.enabled=.f.
thisform.pageframel.pagel.command5.enabled=.f.
thisform.pageframel.pagel.command6.enabled=.f’
thisform.pageframel.pagel.command7.enabled=.f.
thisform.pageframel.pagel.couand8.enabled=.f.
*显示删除标记
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -