资源描述
图书管理系统的设计与实现-凌磊-指导老师:方巍
———————————————————————————————— 作者:
———————————————————————————————— 日期:
2
个人收集整理 勿做商业用途
滨江学院
毕业论文
题 目 图书管理系统的设计与实现
院 系 滨江学院
专 业 计算机科学与技术
学生姓名 凌 磊
学 号 20062308930
指导教师 方 巍
职 称 讲师
二O一O年 五 月 二十五 日
目 录
1。系统概述 1
1.1 研究课题的背景 1
1。2 开发环境 1
2。基础知识概述 2
2.1 Visual Basic语言简介 2
2。2 ADO对象 3
2.3 SQL Server 2000简介 4
2.3 MIS系统开发方法 5
2。4 MIS系统开发过程 5
3。系统需求分析 6
3.1 任务概述 6
3。2 数据描述(数据流图+数据字典) 7
3。3 功能需求 11
3。4 性能需求 11
4。系统总体设计 12
4.1 系统的业务流程 12
4.2 系统功能模块图 13
4。3 系统数据流程图 16
4.4 系统的流程图 16
5.系统详细设计 17
5.1 程序流程图 17
5.2 程序输入输出描述 19
5.2.1 主模块 19
5。2.2 用户管理模块 20
5。2.3 图书管理模块 20
5。2.4 借阅管理模块 20
5。2。5 归还管理模块 20
5.2.6 管理措施设置模块 20
5.3 程序接口描述 20
5.3.1 外部接口 20
5.3.2 内部接口 20
5.4 数据库表结构设计 21
5。4.1 数据库的逻辑设计 21
5。4.2 数据库的物理设计 22
6 系统实现 26
6。1 登录模块的开发 26
6.2 系统管理 27
6。3 用户密码修改 28
6.4 信息输入 29
6。5 查询 30
6.6 图书与借书管理 30
7 系统的运行与维护 32
7.1 系统的配置 32
7.2 系统的运行 32
7.3 系统的维护 33
8 开发总结与对管理信息系统的展望 34
8.1 开发总结 34
8。2 对管理信息系统的展望 35
致 谢 36
参考文献 37
III
图书管理系统的设计与实现
凌磊
南京信息工程大学计算机科学与技术,南京 210044
摘要:随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,企业要生存要发展,要高效率地把企业活动有机地组织起来,就必须加强企业管理,即加强对企业内部的各种资源(人、财、物等)的有效管理,建立与自身特点相适应的管理信息系统。
本文介绍了在Visual Basic环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个管理信息系统的过程。通过分析传统的人工管理图书馆的不足,创建了一套行之有效的计算机管理图书馆的方案。文章详细介绍了图书管理信息系统的系统分析部分,包括可行性分析、组织机构分析、管理职能分析、业务流程分析、数据流程分析、数据字典、处理描述等等;系统设计部分主要介绍了系统功能设计和数据库设计;系统实现部分列出了几个主要的程序框图,并附带了一些主要的窗口和程序。
本系统界面友好,操作简单,比较实用。
关键字: 管理信息系统、图书管理、Visual Basic应用。
1.系统概述
1。1 研究课题的背景
借助现代信息技术和管理理论,建立管理信息系统是当今社会的重要趋势。党和政府根据知识经济时代的特点,对国民经济建设提出了“用信息化带动工业化”的指导思想。对人民生活而言,全面开发和应用计算机管理信息系统就是近期不能回避的问题[11]。
在这个大的指导方针下,我的毕业论文选择了计算机管理信息系统,我选择了一个较为贴近我生活的,和我比较了解的图书管理系统。时代的进步,计算机越来越广泛的运用,使很多原本由手工操作的管理,慢慢由计算机代替,而且日加完善.图书管理系统就是其中一个典型的例子,由早先的手工操作管理,提升为计算机管理,大大的节约了人力物力资源.实行电子化的图书管理,让人力资源管理人员从繁重琐碎的案头工作解脱出来,完成更重要的工作。图书管理系统就是为了解决和减轻繁琐的手工管理,使图书馆可以上升到一个完善的电子化,信息化管理[12]。
在经过长时间的调研和资料累积[2],并参考了相关的图书管理软件和查阅了大量的资料以后,我基本上搞清楚了图书馆对系统的需求,以及其图书管理系统,需要的功能、模块和借阅者与管理人员的需要之后设计了这个软件。
在和指导老师多次交流后,确定实现方案的要点和工作计划。本系统实现的主要功能有:读者信息管理、书籍信息管理、相关报表打印,以及读者和书籍的查询和修改等功能,是一个可以满足图书馆工作人员日常办公需要的图书管理系统.
1。2 开发环境
开发环境的选择会影响到数据库的设计,所以在这里给出图书管理系统开发与运行环境的选择如下[3]:
开发环境:Windows XP
开发工具:Visual Basic 6.0
数据库管理系统:SQL Server 2000
数据库服务器:SQL Server 2000 桌面引擎
2。基础知识概述
本管理系统采用的数据库是SQL Server 2000数据库,开发语言为Microsoft Visual Basic 6。0(简称VB 6。0).Visual Basic 6.0作为前台的开发工具,用SQL Server 2000作为后台支持数据库,通过Visual Basic 6。0的数据库控件来连接SQL Server 2000中并对其编程来实现各种功能。因为SQL Server与Visual Basic用的同为Microsoft Jet数据库引擎,有着最好的兼容性。
2。1 Visual Basic语言简介
Visual Basic的前身是QBASIC,语言基础是BASIC。自从微软推出VB后,便成为了程序开发人员的首选工具.据统计,仅在数据库系统开发领域,Visual Basic就占了90%的份额。Visual Basic是基于对象的可视化程序开发工具,它的优点在于能够快捷、简易地建立Windows应用程序。1998年8月,微软推出了Visual Basic 6.0的版本,进一步加强了部件开发的功能。以适用人员来分,可有以下三个版本[1]:
1. 标准版 针对一般程序设计人员,适合普通应用系统的开发。
2. 专业版 针对专业程序开发人员,它在标准版的基础上提供了对数据库和Internet的支持。
3。 企业版 适用于专为企业设计应用软件的程序开发人员。
使用Visual Basic不需要追求完美的算法和精密的逻辑,而只要充分发挥你的想象力和创造力,就能利用Visual Basic开发出各种实用的软件了,不论是小游戏还是大型的客户端/服务器端应用程序,都变得非常简单。
可视化编程的一个突出特点就是其开发环境就像一个百宝箱,许多功能都集成在其中,这就是IDE(Integrated Development Environment),即集成开发环境.IDE是指在相应的开发平台中集成了编辑器、编译连接工具、控件器箱辅助工具。例如在Visual Basic的集成开发环境中就包括了以下一些主要元素:工具栏、工具箱、工程管理器窗口、属性窗口、窗体设计器、代码编辑器窗口等;和Visual Basic类似,Delphi的IDE中具有主控制窗体、对象查看窗口和窗体设计器。同时IDE的设置是很灵活的,开发人员可以按照自己的编程习惯来配置IDE[20].
从简单的文本文件到复杂的关系型数据库,数据库应用程序需要面对各种各样的数据源。Visual basic 6.0提供ADO(Active Data Objects)作为应用程序和OLE-DB连接的桥梁
ADO,即Active数据对象(Active Data Objects):实际是一种提供访问各种数据类型的连接机制。ADO设计为一种极简单的格式,通过ODBC的方法同数据库接口相连。用户可以使用任何一种ODBC数据源,即不仅适合于SQL Server、Oracle、Access等数据库应用程序,也适合于Excel表格、文本文件、图形文件和无格式的数据文件。ADO是基于OLE-DB之上的技术,因此ADO通过其内部的属性和方法提供统一的数据访问接口方法。本系统就是用ADO对象来连接数据库的[21]。下一节将专门介绍ADO。
Microsoft在Visual Basic 6.0以后的版本都集成了ADO。它与以前Visual Basic的DAO、RDO相比有了很大的提高。DAO(Data Access Objects)即数据访问对象,是一种面向对象的界面接口。通过DAO/Jet功能可以访问ISAM数据库,使用DAO/ODBC Direct功能可以实现远程RDO功能。RDO(Remote Data Objects)即远程数据对象,为使用代码来创建和操作一个远程ODBC数据库系统的各个部件提供了一个框架。RDO是ODBC API的一个浅层界面接口,是专为访问远程ODBC关系数据源而设计的。
2.2 ADO对象[5]
ADO是Microsoft公司关于各种类型数据的高等界面,后来逐渐演变成为满足所有数据访问需要的完整解决办法.ADO的对象模型是所有数据访问接口对象模型中最简单的一种。Microsoft公司用来访问ADO数据的应用程序界面技术是OLE DB。OLE DB是一种底层编程接口,用来访问许多不同类型的数据源,其中包括消息、文件系统以及其他一些非传统的数据源。OLE DB是一个由Component Object Model(COM)接口组成的集合,用来隐藏创建数据访问服务过程中的细节。OLE DB提供了访问任何数据资源的方法,包括相互关联的数据库和相互不关联的数据库、Email和文件系统、文本和图形以及用户定义的数据对象。
以下是本程序中用到的对象:
Connection对象:通过“连接"可从应用程序访问数据源,连接是交换数据所必需的环境。对象模型使用Connection对象使连接概念得以具体。
Recordset对象:表示的是来自基本表或命令执行结果的记录全集。Recordset 对象可支持两类更新:立即更新和批更新。使用立即更新,一旦调用Update方法,对数据的所有更改将被立即写入基本数据源.也可以使用AddNew和Update方法将值的数组作为参数传递,同时更新记录的若干字段。
Field对象:代表使用普通数据类型的数据的列.Recordset对象含有由Field对象组成的Fields集合。每个Field对象对应于Recordset中的一列。使用Field对象的Value属性可设置或返回当前记录的数据。
以下是本程序中用到的方法:
AddNew方法:创建可更新Recordset对象的新记录。
MoveFirst、MoveLast、MoveNext 和MovePrevious方法:在指定 Recordset 对象中移动到第一个、最后一个、下一个或前一个记录并使该记录成为当前记录。
Open方法(ADO Connection):打开到数据源的连接。
Open方法(ADO Recordset):打开记录集。
Close方法:关闭打开的对象及任何相关对象。
Execute方法:执行指定的查询、SQL语句、存储过程或特定提供者的文本等内容.
2。3 SQL Server 2000简介[6]
SQL Server 是一个关系数据库管理系统它最初是由Microsoft Sybase和Ashton—Tate三家公司共同开发的于1988年推出了第一个OS/2版本在Windows NT推出后Microsoft与Sybase在SQL Server的开发上就分道扬镳了Microsoft将SQL Server移植到Windows NT系统上专注于开发推广SQL Server的Windows NT版本Sybase则较专注于SQL Server在UNIX 操作系统上的应用在本书中介绍的是Microsoft SQL Server以后简称为SQL Server或MS SQL Server。
SQL Server 2000是Microsoft公司推出的SQL Server数据库管理系统的最新版本该版本继承了SQL Server 7.0版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行Microsoft Windows 98的膝上型电脑到运行Microsoft Windows 2000的大型多处理器的服务器等多种平台使用[16]。
SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言。SQL通常使用于数据库的通讯.ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据.使用SQL的常见关系数据库管理系统有:Oracle、Sybase、 Microsoft SQL Server、Access等等.虽然绝大多数的数据库系统使用SQL,但是它们同样有它们自立另外的专有扩展功能用于它们的系统。但是,标准的SQL命令,比如"Select"、 "Insert”、”Update"、"Delete”、”Create”和"Drop"常常被用于完成绝大多数数据库的操作[17]。MS SQL Server就是用的Transact-SQL。SQL语言有着非常突出的优点,SQL语言是非过程化的语言、统一的语言、是所有关系数据库的公共语言[13]。
非过程化语言:SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集,所有SQL 语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。
统一的语言:SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、 应用程序员、决策支持系统人员及许多其它类型的终端用户。
所有关系数据库的公共语言:由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS(关系数据库管理系统)转到另一个,所有用SQL编写的程序都是可以移植的[22]。
SQL为许多任务提供了命令,包括:查询数据、在表中插入、修改和删除记录、建立、修改和删除数据对象、控制对数据和数据对象的存取,保证数据库一致性和完整性等[14].
美国Microsoft公司推出的一种关系型数据库系统。SQL Server 2000是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统方案.
其主要特点如下[8]:
(1)高性能设计,可充分利用Windows NT的优势。
(2)系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置[7]。
(3)强壮的事务处理功能,采用各种方法保证数据的完整性.
(4)支持对称多处理器结构、存储过程,ODBC,并具有自主的SQL语言。SQL Server以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台[8]。
2。3 MIS系统开发方法[4]
管理信息系统的开发方法有生命周期法、原型法和面向对象的开发方法等。
生命周期法(Life Cycle Method)是20世纪60年代发展起来的一种应用广泛且比较成熟的管理系统开发方法,它的基本思想是将系统的开发工作从开始到结束划分为若干个阶段,每个阶段都有明确的任务,而系统开发出来后,并不意味着生命周期的结束,而意味着根据组织的需要对系统的修改和重建的开始.
原型法(Prototyping Method)是20世纪80年代发展起来的,旨在改变生命周期法的缺点的一种系统开发方法,该法的开发思路是首先根据用户的要求,由用户和开发者共同确定系统的基本要求和主要功能,利用系统快速生成工具,建立一个系统模型,再在此基础上与用户交流,将模型不断补充、修改、完善,如此反复,最终直至用户和开发者都比较满意为止,从而形成一个相对稳定、较为理想的管理信息系统。
面向对象(Object Oriented)的开发方法于20世纪80年代开始兴起的,是一种基于问题对象的自底向上的一种系统开发方法,这种方法的特点是以对象为基础,对象是分析问题和解决问题的核心。
2.4 MIS系统开发过程
一个MIS系统的开发过程一般包括如下几个步骤:
(1)需求分析:需求分析主要是了解用户的需求。需求了解得越详细,程序的后期开发与维护费用就会越少.一般的开发团队中,需求分析都是由资历较深的系统分析员或项目经理担当,可见它的重要性。需求分析制订好后,需要反复修改。将最后的结果交给用户审定,确认无误后,由系统分析员完成需求分析文档,再开始下一步工作。
(2)概要设计:概要设计紧跟在需求分析之后.用户需求明确后,将得到的数据分析后,开始构建数据库的逻辑结构.此时,数据库中的表格还未成形,通过各种分析工具(如PowerDesigner等)画出数据流图,最后就可抽象出数据库的具体表结构。这时由系统分析人员反复审核。确认所有的需求都考虑在内,没有遗漏后,就可以开始制订概要设计文档。概要设计文档形成后,整个程序的逻辑框架也就形成了。
(3)详细设计:概要设计完成后,根据设计中制订的业务模块。就可以进行详细分析设计了。详细设计就是将各个业务模块的窗口全部建好,各个窗口控件的处理代码全部用语言表达出。所以详细设计是整个系统中最繁琐的环节。详细设计完成后,整个程序就确定了,再由编程人员根据详细设计文档将代码完成.整个开发工作就宣告结束。
(4)程序编码:程序编码相对于其他环节来说比较简单,程序员只需要根据详细分析文档写程序编码,保证代码没有错误即可。程序编码需要注意的是整个程序书写中命名的规范化与编程风格的规范化,这需要较长时间的培养来形成.需要在不断的实践中形成自己独特的风格.总的来说,不要过分地追求复杂的算法,因为那可能会导致后期维护人员无法读懂你的代码而造成维护的困难。
(5)测试:程序编码完成后,就需要测试。测试有几种类型,主要是测试代码有无逻辑错误以及在加载数据环境下程序的稳定性问题。测试工作中发现的错误应及时改正,然后将它记录到测试文档中。
(6)打包:测试完成,确认无误后。程序就可以打包发行了。打包一般使用工具如PWISE等。
以上是一个完整的MIS系统开发过程,其实不仅MIS系统,其他类型的程序开发也基本相同.
3。系统需求分析
3.1 任务概述
经过我对图书馆的详细调查,并多次与负责图书管理的管理员进行研讨后,加深了对现行图书管理业务的深刻了解,与此同时,将整个图书管理的业务流程抽象描述如下:
1。新的图书购进后,分门别类地进行归并和汇总,加以编号。
2.新书编号后,上到书架以备用户借阅。
3.如某用户需要借阅图书,则在其本人的借阅登记表上进行登记,记录相关借阅信息与借阅日期。
4.借阅图书后,应及时归还图书,并在本人的借阅登记表上注明还书日期和时间。
根据以上调查分析,可以给出其现行业务流程图,如图3。1所示。
图3.1 现行图书管理业务流程图
3。2 数据描述(数据流图+数据字典)
经过详细的调查,我们已经清楚了解了现行的业务流程,接下来给出系统的逻辑模型。构造系统逻辑模型的工具是数据流图和数据字典.根据现行图书管理的业务流程,首先把数据流图中的源点和终点都选定为用户,因此可以得到图书管理系统的基本系统模型[18].如图3.2所示.
图3。2 图书管理系统的基本系统模型
根据基本系统模型,对其逐步细化,得到描述逻辑系统细化后的数据流图,如图3.3所示。
图3.3 图书管理系统数据流图(顶层DFD图)
对顶层DFD图中的一个加工“用户管理"进行展开,如图3。4。
图3。4 用户管理的展开数据流图
对顶层DFD图中的一个加工“图书管理”进行展开,如图3。5。
图3.5 图书管理的展开数据流图
对第1层DFD图中的加工进一步进行展开,如图3.6.
图3.6 细化后数据流图
图3。7 进一步细化数据流图
有了系统的数据流图后,还有相当多的数据信息如图书、借阅、归还等信息需要进一步描述,这就是需要定义数据字典,才能把现有的系统描述清楚[19].系统的主要数据字典如下:
1)图书信息:图书表结构
描述:记录所有图书的基本情况
定义: 图书信息表=图书编号+图书名称+图书ISBN号+图书作者+图书出版社+图书类型+图书价格+图书库存量+图书副本数量+图书总数
位置:Librarydat.Mdf数据库
2)用户信息:用户信息表结构
描述:记录所有用户信息情况
定义:用户信息表=用户编号+用户姓名+性别
位置:Librarydat.mdf数据库
3)管理员信息:管理员表结构
描述:记录管理员信息情况
定义:管理员信息=管理员ID+管理员姓名+管理员密码+管理员级别
位置:Librarydat.mdf数据库
4)借书登记:借书登记表结构
描述:记录所有图书的借阅情况
定义:借阅登记表=借书ID+用户编号+图书ID+借书时间+归还时间
位置:Librarydat。mdf数据库
5)名称:借阅请求
描述:用户借阅图书请求信息
定义:借阅请求=借阅ID+用户编号+图书ID+借阅日期
位置:Librarydat.mdf数据库
6)名称:借阅结果
描述:是否借阅成功的返回结果
定义:借阅结果=借阅ID+图书ID+用户编号+是否借阅+提示借阅成功
位置:Librarydat.mdf数据库
7)名称:归还请求
描述:用户归还图书请求信息
定义:归还请求=借阅ID+用户编号+图书ID+归还日期
位置:Librarydat。mdf数据库
8)归还登记:归还登记表结构
描述:记录所有已归还图书的借阅情况
定义:归还登记表=借阅ID+用户编号+图书ID+借书时间+归还时间
位置:Librarydat.mdf数据库
9)名称:归还结果
描述:归还图书操作完后的返回结果
定义:归还结果=借阅ID+图书ID+用户编号+是否提示惩罚
位置:Librarydat。mdf数据库
10)名称:提示惩罚信息
描述:未归还图书的用户需要提示的信息,比如相应赔偿或超期罚款
定义:提示罚款信息=借阅ID+用户编号+图书ID+应归还日期+处罚提示
位置:Librarydat.mdf数据库
11)名称:管理条例1
描述:对正常归还的处理办法
定义:管理条例1=借阅ID+未过规定归还时间
位置:Librarydat.mdf数据库
12)名称:管理条例2
描述:对丢失或超期归还图书的处理办法
定义:管理条例2=借阅ID+相关处罚办法
位置:Librarydat.mdf数据库
3。3 功能需求
经过以上详细的用户调查,在现行业务流程和数据分析的基础上,基本可以确定系统设计必须达到的目标.
以下是图书管理系统必须具备的功能:
1.新进图书的登记功能:对于购进的新书,系统必须具备图书信息资料的录入功能。
2。图书的查询修改功能:当图书资料发生变化,如图书丢失或有错误信息输入时,则应能够及时对数据进行修改和补充。
3。借阅的登记,归还的登记功能:系统的主要功能之一,供用户借阅图书、归还图书,并进行登记.
4。用户信息的增加、删除和修改功能:系统主要功能之一,建立用户信息,并对其进行维护。
3。4 性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行,图书管理系统应该满足以下的性能需求:
1、系统处理的准确性和及时性
系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足学校对信息处理的需求。
2、系统的开放性和系统的可扩充性
图书管理系统在开发过程中,应该充分考虑以后的可扩充性。例如用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件.通过软件的修补、替换完成系统的升级和更新换代。
3、系统的易用性和易维护性
图书管理系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。
4、系统的标准性
系统在设计开发使用过程中都要涉及到很多计算机硬件、软件.所有这些都要符合主流国际、国家和行业标准。
5、系统的先进性
目前计算系统的技术发展相当快,作为图书管理系统工程,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后。这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。另一方面,在系统设计和开发的过程中,应在考虑成本的基础上尽量采用当前主流并先进且有良好发展前途的产品。
6、系统的响应速度
图书管理系统系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。在进行统计分析时,根据所需数据量的不同而从秒级到分钟级,原则是保证操作人员不会因为速度问题而影响工作效率。
4。系统总体设计[10]
4.1 系统的业务流程
根据需求分析的得到的现行业务处理流程,在反复研究后,首先确定目标系统的业务流程,其处理流程如图4.1.
图4。1 图书管理系统的业务流程
针对新的业务流程,现具体描述其功能如下:
1。用户登录:系统对用户合法性进行检查.
2。图书入库:对新购进的图书分类进行编号,并把图书基本信息录入计算机。
3.图书借阅:对已入库的图书,用户可以借阅,并进行登记。
4。图书归还:对用户已归还的图书进行归还登记。
5.信息查询:即对所有图书的借阅情况,或用户的基本情况和借阅情况进行查询。
6。管理措施:定义系统规定的借阅图书超期时间、超期处罚办法和丢失赔偿办法。
4.2 系统功能模块图
依据需求分析阶段得到的数据流图,采用软件工程中软件设计的概念和原理,与用户成分协商后,在保证系统基本功能要求的前提下,结合系统新的业务流程确定系统必须具备的所有功能,由此给出图书管理系统的系统功能模块图.
1)、登录模块结构流程图,如图4—2:
图4-2 登录系统模块结构
2)、基本设置模块结构流程图,如图4—3:
图4—3 基本设置模块结构图
3)、图书管理模块结构流程图,如图4-4:
图4-4 图书管理模块结构图
4)借书管理模块结构流程图,如图4—5:
图4—5 借书管理模块结构图
5)信息查询模块结构流程图,如图4-6:
图4—6 信息查询模块结构图
4。3 系统数据流程图
图4—7 系统的数据流程图
4。4 系统的流程图
依据软件工程的基本原理,综合以上分析给出系统流程图如图4—8所示。
图4—8 系统流程图
5.系统详细设计
5.1 程序流程图
依据软件工程的基本原理,详细设计阶段的根本任务是确定应该怎样具体实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在系统实现阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。具体来说就是把经过总体设计得到的各个模块详细的加以描述。
由于本系统采用支持面向对象的Visual Basic 6。0作为开发工具,而Visual Basic 6.0采用事件驱动的编程机制,所以在此给出软件系统的主程序流程图,如图5—1所示。
图5—1 主程序流程图
根据以上主程序的流程图,我们可以得出下面的关于各个模块的程序流程图,如图5.2所示.
图5。2 程序流程图
5。2 程序输入输出描述
5.2.1 主模块
1。输入项目:操作系统传递至的各种消息以及用户的输入数据。
2。输出项目:用户界面显示。
5。2.2 用户管理模块
1。输入项目:与用户管理操作子对话框有关的用户输入及系统消息。
2.输出项目:操作结果显示。
5.2。3 图书管理模块
1。输入项目:用户口令.
2。输出项目:相应的界面。
5。2。4 借阅管理模块
1。输入项目:用户编号、图书编号。
2.输出项目:用户信息、相关借书信息。
5。2。5 归还管理模块
1.输入项目:图书编号.
2。输出项目:相关用户信息。
5。2.6 管理措施设置模块
1。输入项目:用户的输入.
2.输出项目:根据用户的输入显示相应的对话框.
5。3 程序接口描述
5。3。1 外部接口
按Windows应用软件用户界面的规范来设计,使用以对话框为主的用户界面,便于用户使用。
5。3.2 内部接口
模块间接口采用数据耦合方式,通过参数表传送数据,交换信息。
5.4 数据库表结构设计
数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型[7]。
数据库设计的步骤是:
1、数据库结构定义:目前的数据库管理系统(DBMS)有的是支持联机事务处理CLTP(负责对事务数据进行采集、处理、存储)的操作型DBMS,有的可支持数据仓库、有联机分析处理CLAP(指为支持决策的制定对数据的一种加工操作)功能的大型DBMS,有的数据库是关系型的、有的可支持面向对象数据库.针对选择的DBMS,进行数据库结构定义.
2、数据表定义:数据表定义指定义数据库中数据表的结构,数据表的逻辑结构包括:属性名称、类型、表示形式、缺省值、校验规则、是否关键字、可否为空等。关系型数据库要尽量按关系规范化要求进行数据库设计,但为使效率高,规范化程度应根据应用环境和条件来决定。数据表设计不仅要满足数据存储的要求,还要增加一些如反映有关信息、操作责任、中间数据的字段或临时数据表。
3、存储设备和存储空间组织:确定数据的存放地点、存储路径、存储设备等,备份方案,对多版本如何保证一致性和数据的完整性。
4、数据使用权限设置:针对用户的不同使用要求,确定数据的用户使用权限,确保数据安全。
5、数据字典设计:用数据字典描述数据库的设计,便于维护和修改。
为了更好地组织数据和设计出实际应用数据库,应该注意如下问题:
关系数据结构的建立:在进行了数据基本结构的规范化重组后,还必须建立整体数据的关系结构。这一步设计完成后数据库和数据结构设计工作基本完成,只待系统实现时将数据分析和数据字典的内容代入到所设计的数据整体关系结构中,一个规范化数据库系统结构就建立起来了.
5.4。1 数据库的逻辑设计[23]
在需求分析阶段已完成该系统所有的数据分析。根据该阶段所建立的概念模型,已经得出满足系统设计要求的几个关系描述,该阶段的主要工作就是把前一阶段的成果转化为具体的数据库[9]。下面给出概念结构设计得E-R图,如图5.3所示.
图5.3 概念结构设计E-R图
5。4。2 数据库的物理设计[15]
依据数据库的原理,并结合以上E-R图,经过转化,即可进行数据库的物理设计.基于以上数据库的逻辑设计,考虑程序设计的简易性,同时考虑题目的时间,该系统的数据库采用Microsoft SQL Server 2000。本系统决定采用一个数据库,在其下创建多个数据表,其中重要的7个表结构分别如下:
1.借书信息表,其字段列表如表5—1所示。
表5-1 借书信息表的结构
序号
字段名称
类型
位数
属性
备注
1
借书证号
字符类型
20
必须非空
2
图书编号
字符类型
20
必须非空
3
借书日期
时间日期
10
可为空
4
还书日期
时间日期
10
可为空
2。借书证信息表,其字段列表如表5—2所示。
表5—2借书证信息表的结构
序号
字段说明
类型
位数
属性
备注
1
借书证号
字符类型
20
必须非空
2
用户姓名
文本
6
必须非空
3
用户性别
文本
6
可以为空
4
用户地址
文本
50
可以为空
5
用户电话
字符类型
50
可以为空
6
发证日期
时间日期
10
必须非空
7
到期日期
时间日期
10
必须非空
8
类别
文本
50
可以为空
9
状态
文本
50
可以为空
10
备注
文本
50
可以为空
3.借书证挂失表,其字段列表如表5—3所示。
表5—3借书证挂失表的结构
序号
字段说明
类型
位数
属性
备注
1
借书证号
字符类型
20
必须非空
2
挂失日期
时间日期
10
必须非空
3
备注
文本
50
可以为空
4.图书注销表,其字段列表如表5-4所示.
表5—4图书注销表的结构
序号
字段说明
类型
位数
属性
备注
1
注销编号
字符类型
20
必须非空
2
注销原因
文本
50
可以为空
3
注销日期
时间日期
10
可以为空
5。 采购经费表,其字段列表如表5—7所示。
表5—5采购经费表的结构
序号
字段说明
类型
位数
属性
备注
1
征定编号
字符类型
20
必须非空
2
征订日期
时间日期
10
可以为空
3
发票编号
字符类型
20
可以为空
4
用户地址
文本
50
可以为空
5
购书地址
文本
50
可以为空
6
购书册数
整型
10
必须非空
7
购买金额
浮点型
10
可以为空
8
采购方式
文本
50
可以为空
9
展开阅读全文