3.4.4.2数据流的组成
指数据流所包含的数据结构。一个数据流可包含一个或多个数据结构。若只含一个数据结构,应注意名称的统一,以免产生二义性。 3.4.4.3数据流的流通量
指单位时间(每日、每小时)里的数据传输次数。可以估计平均数或最高、最低流量各是多少。
3.4.5数据处理
对于数据流图中的处理框,需要在数据字典中描述处理框中的编号、名称、功能的简要说明,有关的输入、输出。对功能进行描述,应使人能有一个较明确
3.4.6外部实体
外部实体是数据的来源和去向。因此,在数据字典中关于外部实体的条目,主要说明外部实体产生的数据流和传给该外部实体的数据流,以及该外部实体的数量。
四、系统设计
4.1功能结构设计
系统设计的目的是如何实现系统说明书规定的系统功能。总体设计最核心的问题是系统总体功能结构的确定和子系统与模块的划分。该图书馆出纳管理系统按照以下六个原则进行设计:①系统满足用户需要的功能。②系统有较高的运行效率。③系统有能够在运行过程中抵御各种干扰、保证系统正常运作。④系统工作质量高。⑤系统可变更性好。⑥系统能带来好的经济效益。在以上原则的知道下,我们将该系统分为五个模块,分别为书籍查询、新书入库、读者查询、借还书情况统计、退出系统。系统的功能结构图如系统划分部分的子系统划分。
4.2数据库设计
4.2.1数据库概念设计
E-R图是E-R模型的图形表示法,它是直接表示概念模型的有力工具。该图
书馆出纳管理系统的E-R模型如下图所示。
将以上E-R图转换成关系模型
读者表(读者编号,姓名,学院,学号)
借还书表(读者编号,书号,借书日期,还书日期,按期还书否) 图书信息表(书号,书名,作者,出版社,价格) 4.2.3数据库物理设计
该数据库包含读者表、借还书表、图书信息表三张表,三张表的结构如下
4.3输入输出设计
输入内容:姓名、密码,输入正确后可进入系统进行相应的输入。 图书馆信息管理系统能够完成读者信息、书籍信息和借阅情况的录入,体现了图书馆信息管理系统的发展。输入方式灵活,可通过选择、填写等方式来实现。在输入信息时,应注意格式的要求。
输出内容:
1、登录成功,用户将直接进入系统进行操作。 2、无该用户或密码错误,系统将进行提示。 3、正常操作下显示用户查询等操作的结果。
4、当输入内容有格式错误或其他错误时,则不能进行正常录入。
常用输出设备有显示终端、打印机、磁带机、绘图仪、多媒体设备等,常见的输出介质有纸张、磁盘、光盘、多媒体介质等。该信息系统的输出采用最为广泛的输出方式之一的屏幕实现。在功能选择、查询时采用的是屏幕输出方式。
4.4界面设计
4.4.1登录界面设计
该模块首先对用户的访问权限进行检查,登录用户的信息放在自由表user中,当用户在表单中输入姓名密码时,将与user表中的信息进行比较,只有信息完全吻合的用户才可以访问本系统。
1、表单界面的设计如图所示
2、添加响应代码
(1)“进入系统”按钮控件的click事件
LOCATE FOR ALLTRIM(user.uname)==ALLTRIM(Thisform.Text2.Value) uname=user.uname
upassword=user.upassword
IF LEN(ALLTRIM(Thisform.Text2.Value))<>0 AND; LEN(ALLTRIM(Thisform.Text1.Value))<>0 LOCATE FOR ALLTRIM(user.uname)== ; ALLTRIM(Thisform.Text2.Value)
IF ALLTRIM(user.upassword)==ALLTRIM(Thisform.text1.Value) Thisform.Release
DO FORM 图书馆信息管理系统主界面.scx ELSE
MESSAGEBOX("密码不正确,请重新输入",0,"提示!") Thisform.Text1.Value="" Thisform.Text1.SetFocus ENDIF ELSE
MESSAGEBOX("密码或用户名不能为空,请重新输入",0,"提示!") Thisform.Text1.SetFocus ENDIF
(2)“退出系统”按钮的click事件
yn=MESSAGEBOX("您确定退出吗?",4+32,"系统信息") IF yn=6
thisform.Release CLEAR EVENTS QUIT Endif
另外,管理员相关信息如表所示
4.4.2系统主界面设计
该界面为登录系统后用户进入的主界面,用户可在该界面上调用系统的各种功能模块。
1、表单界面设计。下图分别为主菜单设计图和主表单的运行图。 (1)主菜单的设计
而书籍查询与读者查询,在该菜单下仍有子菜单,进一步设计如下图
2、主表单的设计
在该表单下,可实现主菜单的设计功能,该表单的Init事件如下 DO 主菜单.MPR WITH THIS,.T. 4.4.3读者编号查询界面设计
在该页面下,用户可更具读者编号查询相应读者的个人信息和书籍借阅情况。
1、表单界面的设计及运行结果如图所示。
2、添加响应代码
(1)“确定”按钮的click事件
SELECT 读者表.读者编号,姓名,学院,学号,书名,作者,出版社,价格,借书日期,还书日期,是否按期还书 FROM 读者表,图书信息表,借还书表 WHERE 读者表.读者编号=借还书表.读者编号;
AND 图书信息表.书号=借还书表.书号 AND;
ALLTRIM(读者表.读者编号)=ALLTRIM(thisform.text1.Value)INTO TABLE cxb读者编号
SELECT cxb读者编号
LOCATE FOR ALLTRIM(读者编号)=ALLTRIM(thisform.text1.value) IF NOT FOUND()
MESSAGEBOX("无该读者,请核对您输入是否正确",0+48,"注意:") ELSE
thisform.grd.recordsourcetype=0
thisform.grd.recordsource="cxb读者编号" Endif
(2)“退出”按钮的click事件
yn=MESSAGEBOX("您确定退出吗?",4+32,"系统信息") IF yn=6
thisform.Release CLEAR EVENTS QUIT endif
4.4.4 读者姓名查询界面设计
在该页面下,用户可更具读者姓名查询相应读者的个人信息和书籍借阅情况。
1、表单界面的设计及运行结果如图所示。