图书出纳管理系统设计(共8篇)
2.2可行性分析目标:方便图书馆管理人员对图书的借阅、归还等方便快捷的管理方式,同时也让读者随时可以清楚自己的借阅情况。
2.3系统的运行条件:当前主流操作系统如XP、WINDOW、OFFICE.2.4可行性研究方法 通过对已有图书管理系统的分析和研究比较的方法。
2.5决定可行性的主要因素 效益>成本;技术可行,现有技术可承担开发任务;操作可行,软件能被原有操作人员快速接受。
3.技术可行性分析 3.1系统简要描述 采用VB和SQL开发,即使遇到困难,也能从丰富的参考书中找到解决方案。
开发出的系统具有库存图书管理功能,能高效管理师生借阅信息,统计每年、每月、某天的图书借入借出情况,对财务信息进行统计、分析等。
3.2处理流程和数据流程 借阅审核系统结构图: 学生持学生证认证 图书馆出纳台 入内,根据书目选书 将选好的书让出纳台检验 判断是否可以借出 图书归还流程图: 4.经济可行性分析 开发需求较低,加上成熟的软硬件环境、目标系统并不是十分复杂和开发周期较短,人员经济支出有限。
开发完成运行后,为使用者带来便利,为系统的进一步推广创造了条件,经济收益将远超过投资。
从经济角度考虑,此系统开发可行。
5.法律可行性分析 由于整个系统是自行开发,自行使用,所以系统本身不存在版权争议,符合国家各种政策法规。
服务器软件方面,它的操作系统可能会被微软跟踪,如果不是正版软件,将会面临民事诉讼的风险。
6.结论 根据以上分析可知,使用该系统会大大减少图书馆管理人员的工作量,可以减少工作人员节约费用。
、目录
第一章 系统概述 1 1.1 系统开发背景和意义 1 1.2 开发环境 1 第二章 系统需求分析 2 2.1 任务概述 2 2.2 数据描述(数据流图+数据字典)2 2.3 功能需求 6 2.4性能需求 6 第三章 系统总体设计 8 3.1 新的业务流程 8 3.2 系统功能模块图 8 3.3 系统的流程图 9 第四章 详细设计 11 4.1 程序流程图 11 4.2 程序输入输出描述 13 4.2.1 主模块 13 4.2.1 学生管理模块 13 4.2.2 图书管理模块 13 4.2.3 借阅管理模块 13 4.2.4 归还管理模块 13 4.2.5 管理措施设置模块 13 4.3 程序接口描述 14 4.3.1 外部接口 14 4.3.2 内部接口 14 4.4 数据库的设计 14 4.4.1 数据库的逻辑设计 14 4.4.2 数据库的物理设计 16
第一章 系统概述 1.1 系统开发背景和意义
图书管理是高校内每一个系部或院部都必须切实面对的工作,但一直以来人们使用传统的人工方式管理图书资料。这种方式存在着许多缺点,如效率低、保密性差且较为繁琐。另外,随着图书资料数量的增加,其工作量也将大大增加,这必将增加图书资料管理者的工作量和劳动强度,这将给图书资料信息的查找、更新和维护都带来了很多困难。
经过详细的调查,目前我国各类高等学校中有相当一部分单位图书资料管理还停留在人工管理的基础上。这样的管理机制已经不能适应时代的发展,其管理方法将浪费许多人力和物力。随着科学技术的不断提高,这种传统的手工管理方法必然被以计算机为基础的信息管理方法所取代。
图书管理作为计算机应用的一个分支,有着手工管理无法比拟的优点,如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高图书管理的效率。因此,开发一套能够为用户提供充足的信息和快捷的查询手段的图书管理系统,将是非常必要的,也是十分及时的。1.2 开发环境
开发环境的选择会影响到数据库的设计,所以在这里给出图书管理系统开发与运行环境的选择如下: 开发环境:Windows 2000 开发工具:Visual Basic 6.0 数据库管理系统: SQL Server 2000 数据库服务器: SQL Server 2000 桌面引擎
第二章 系统需求分析 2.1 任务概述
经过对我校详细调查,并多次与负责图书管理的老师进行研讨后,加深了对现行图书管理业务的深刻了解,与此同时,将整个图书管理的业务流程抽象描述如下: 1.新的图书购进后,分门别类地进行归并并汇总,加以编号。2.新书编号后,上到书架以备学生借阅。
3.如某学生需要借阅图书,则在其本人的借阅登记表上进行登记,记录相关借阅信息与借阅日期。4.学生借阅图书后,应及时归还图书,并在本人的借阅登记表上注明还书日期和时间。
2.2 数据描述(数据流图+数据字典)经过详细的调查,我们已经清楚了解了现行的业务流程,接下来给出系统的逻辑模型。构造系统逻辑模型的工具是数据流图和数据字典。根据现行图书管理的业务流程,首先把数据流图中的源点和终点都选定为学生,因此可以得到图书管理系统的基本系统模型,2.3 功能需求
经过以上详细的用户调查,在现行业务流程和数据分析的基础上,基本可以确定系统设计必须达到的目标。
以下是图书管理系统必须具备的功能:
1.新进图书的登记功能:对于购进的新书,系统必须具备图书信息资料的录入功能。
2.图书的查询修改功能:当图书资料发生变化,如图书丢失或有错误信息输入时,则应能够及时对数据进行修改和补充。
3.借阅的登记,归还的登记功能:系统的主要功能之一,供本校学生借阅图书、归还图书,并进行登记。
4.学生信息的增加、删除和修改功能:系统主要功能之一,建立学生信息,并对其进行维护。2.4性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行,图书管理系统应该满足以下的性能需求:
1、系统处理的准确性和及时性
系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足学校对信息处理的需求。
2、系统的开放性和系统的可扩充性
图书管理系统在开发过程中,应该充分考虑以后的可扩充性。例如用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。
3、系统的易用性和易维护性
图书管理系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。
4、系统的标准性
系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。所有这些都要符合主流国际、国家和行业标准。
5、系统的先进性
目前计算系统的技术发展相当快,做为图书管理系统工程,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后。这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。另一方面,在系统设计和开发的过程中,应在考虑成本的基础上尽量采用当前主流并先进且有良好发展前途的产品。
6、系统的响应速度
图书管理系统系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。在进行统计分析时,根据所需数据量的不同而从秒级到分钟级,原则是保证操作人员不会因为速度问题而影响工作效率。第三章 系统总体设计 3.1 新的业务流程
根据需求分析的得到的现行业务处理流程,在用户反复研究后,首先确定目标系统的业务流程针对新的业务流程,现具体描述其功能如下: 1.用户登录:系统对用户合法性进行检查。
2.图书入库:对新购进的图书分类进行编号,并把图书基本信息录入计算机。3.图书借阅:对已入库的图书,学生可以借阅,并进行登记。4.图书归还:对学生已归还的图书进行归还登记。
5.信息查询:即对所有图书的借阅情况,或学生的基本情况和借阅情况进行查询。6.管理措施:定义系统规定的借阅图书超期时间、超期处罚办法和丢失赔偿办法。3.2 系统功能模块图 依据需求分析阶段得到的数据流图,采用软件工程中软件设计的概念和原理,与用户成分协商后,在保证系统基本功能要求的前提下,结合系统新的业务流程确定系统必须具备的所有功能 第四章 详细设计 4.1 程序流程图
依据软件工程的基本原理,详细设计阶段的根本任务是确定应该怎样具体实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在系统实现阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。具体来说就是把经过总体设计得到的各个模块详细的加以描述。由于本系统采用支持面向对象的Visual Basic 6.0作为开发工具,而Visual Basic 6.0采用事件驱动的编程机制,所以在此给出软件系统的主程序流程图,4.2 程序输入输出描述 4.2.1 主模块
1.输入项目:操作系统传递至的各种消息以及用户的输入数据。2.输出项目:用户界面显示。4.2.1 学生管理模块
1.输入项目:与学生管理操作子对话框有关的用户输入及系统消息。2.输出项目:操作结果显示。4.2.2 图书管理模块 1.输入项目:用户口令。2.输出项目:相应的界面。4.2.3 借阅管理模块
1.输入项目:学生学号、图书编号。2.输出项目:学生信息、相关借书信息。4.2.4 归还管理模块 1.输入项目:图书编号。2.输出项目:相关学生信息。4.2.5 管理措施设置模块 1.输入项目:用户的输入。
2.输出项目:根据用户的输入显示相应的对话框。4.3 程序接口描述 4.3.1 外部接口
按Windows应用软件用户界面的规范来设计,使用以对话框为主的用户界面,便于用户使用。4.3.2 内部接口
模块间接口采用数据耦合方式,通过参数表传送数据,交换信息。4.4 数据库的设计 4.4.1 数据库的逻辑设计
在需求分析阶段已完成该系统所有的数据分析。根据该阶段所建立的概念模型,已经得出满足系统设计要求的几个关系描述,该阶段的主要工作就是把前一阶段的成果转化为具体的数据库。
实体:图书(图书编号,书名,作者,出版社,定价,图书类别,图书ISBN号,图书数量)
学生(学生学号,学生姓名,性别,入校时间,毕业时间)
管理员(编号,名字,密码,加入时间)联系:学生管理(图书管理员,学生姓名,学生密码)
图书管理(图书管理员,借阅号,归还号)
查询(图书编号,借阅证号,图书管理员,学生)4.4.2 数据库的物理设计
依据数据库的原理,并结合以上E-R图,经过转化,即可进行数据库的物理设计。基于以上数据库的逻辑设计,考虑程序设计的简易性,同时考虑题目的时间,该系统的数据库采用Microsoft SQL Server 2000。本系统决定采用一个数据库,在其下创建5个数据表,其结构分别如下:
1.图书信息表(tBook),其字段列表如表4-1所示。序号 字段名称 字段说明 类型 位数 属性 备注 1 cBooksID 图书编号 文本 7 必须非空cBooksName 图书名称 文本 20 必须非空cBooksISBN 图书ISBN号 文本 15 可为空cBooksAuthor 图书作者 文本 10 可为空cBooksPublisher 图书出版社 文本 20 可为空cBooksType 图书类型 文本 16 可为空smBooksPrice 图书价格 货币
可为空 8 iBooksStoreQuan 图书库存量 整数
可为空iBooksLeftQuant 图书副本数量 整数
可为空iBooksTotalQuan 图书总数 整数
可为空
2.图书借阅登记表(tBorrow),其字段列表如表4-2所示。序号 字段名称 字段说明 类型 位数 属性 备注 1 cBorrowID 借书编号 文本 6 必须非空cVipID 学生编号 文本 6 必须非空cBooksID 图书编号 文本 7 必须非空cBorrwTime 借书时间 时间日期
可为空cReturnTime 还书时间 时间日期
可为空cReturn 是否归还 文本 1 可为空
3.图书归还登记表(tReturn),其字段列表如表4-3所示。序号 字段名称 字段说明 类型 位数 属性 备注 1 cBorrowID 借书编号 文本 6 必须非空cVipID 学生编号 文本 6 必须非空cBooksID 图书编号 文本 7 必须非空cBorrwTime 借书时间 时间日期
可为空cReturnTime 还书时间 时间日期
必须非空cReturn 是否归还 文本 1 必须非空cNoReturn 归还异常 文本 8 可为空
4.学生信息表(tVip),其字段列表如表4-4所示。序号 字段名称 字段说明 类型 位数 属性 备注 1 cVipID 学生编号 文本 6 必须非空cVipName 学生姓名 文本 10 必须非空cVipSex 学生性别 文本 1 可为空 vipAddTime 学生入学时间 时间日期
必须非空vipEndTime 学生毕业时间 时间日期
1 系统结构1.1 C/S结构
鉴于目前的出纳资金管理方式, 系统采用目前流行的C/S (Client/Server) 体系结构。它具有信息共享性好、网络的信息传输量小等优点, 很好地克服了文件服务器方式的不足, 它是一种高级的分布式计算环境, 能够根据用户需求灵活地配置各种大、中、小型计算机系统。客户端提供交互式的易用的界面, 服务器提供数据处理、资源共享和安全管理, 从而使网络上的信息流量大大减少, 网络的运行效率和响应速度得到提高;它还具有很好的开放性, 不依赖硬件和操作系统平台, 便于应用程序的移植。
1.2 运行环境
考虑到系统特点, 操作系统使用Windows 2000作为系统运行平台, 数据库选用简单、易用而又具有功能强大的SQL Server2000作为后台数据库管理工具, 开发工具主要选用对数据库的支持有较强优势的PowerBuilder 9.0。
2 系统模块
为了便于管理数据, 将系统的功能模块分为:系统初始化、现金日记账管理、银行日记账、支票管理、银行对账、手工核销未达账、账表打印、数据分析、系统工具等主要功能模块。
1) 系统初始化。现金余额初始输入, 主要用于初次使用系统时, 录入现金的余额。银行存款余额初始化, 主要用于系统初次使用时, 录入各银行账户的余额。
2) 现金日记账管理。现金是流动性最强的一种货币资产, 加强现金的管理和控制是至关重要的。系统通过现金账的管理模块, 随时掌握现金收付的动态和库存余额, 保证现金的安全。可以每日终了实现现金的结余数与实际库存进行核对, 做到账实相符。
3) 银行日记账管理。银行日记账由出纳人员根据会计记账凭证登记现金或银行日记账, 系统根据借贷发生额, 动态计算当前借贷发生额合计及当前余额, 并且可以根据需要及时打印当前日记账;月末, 在数据核对无误的基础上, 自由选择要结转下月的账户。账户的个数不受限制, 极大地方便了一个单位开设多个银行账户的需要;
4) 支票管理。主要用于支票的管理与打印, 为了增加支票管理子系统的通用性, 支票格式可自由调整, 适合国内各大银行支票格式, 并可按票据类型、票据号、出票日期、对方单位等等条件任意设置进行查询。
4) 银行对账。银行对账是货币资金管理的重要内容。是指将企业的银行日记账与银行出具的对账单进行核对, 对账的目的不仅要找出经济业务相同的进行核销, 而且还要找出未达账项和造成未达账项的根源, 防止有意或无意的错误, 把所有的未达账项整理出来, 系统自动生成银行存款余额调节表。
5) 手工核对未达账。手工核对未达账项是对“系统自动对账”模块的补充, 对于使用自动对账功能后不符合自动对账依据而没有购销的已达账, 由操作人员从“企业存款日记账”或“银行对账单”中挑出来, 根据自身的判断在屏幕上进行手工购销。
6) 账表打印。打印功能满足了用户查询与打印账簿的需要, 打印时可以根据需要自行定义排序字段, 动态计算余额和月末借贷方合计。
7) 数据分析。可以动态分析, 每日库存结余数和每天的借贷方发生数, 根据曲线图来判断当月每天资金的流动情况。
8) 系统工具。系统工具主要包括系统帮助, 数据库备份与恢复。用户可以根据需要选定期备份或手动备份, 确保数据库遭到破坏时, 使损失降低到最低限度。
3 系统设计
3.1 系统设计关键技术
1) 动态创建数据表
根据用户输入的账簿名称在SQL Server 2000数据库中动态生成账簿表, 生成账簿表的语句如下:
2) 动态创建数据窗口
建账时, 如果将账簿的属性设置为“启用”, 则该账簿的有关信息不能再进行编辑, 并自动将账簿名追加到账簿管理器的Treeview表中, 用户登记记账凭证时, 点击不同的账簿名称时, 动态调用相对应的数据表, 动态创建该表的数据编辑窗口, 创建窗口的语句如下:
3) 月末余额自动结转
月末结转是出纳管理的一项重要工作, 结转数据是否正确, 直接关系到会计核算的质量, 为了完整保存已经结转的出纳账簿, 系统采取动态创建结转数据表的方法, 创建表语句如下:
String ls_mysql
//将本月数据转入指定月份
ls_mysql="select*into"+<根据指定日期生成目标表>+"from"+<当前结转的源表>
execute immediate:ls_mysql;
connect;
然后将期末余额置入下月期初余额, 以保证了出纳账簿数据的连贯性和一致性。
4) 数据直接转换为Excel表
系统设计了将数据窗口转换为Excel的通用函数, 根据不同的数据窗口, 动态将数据转换并直接打开Excel表格。函数的调用方法是:定义一个Commandbutton按钮, 在该按钮的Click事件中输入PbToExcel (‘数据窗口名’, ’报表标题’) 。鉴于篇幅所限, 源代码无法列出。
3.2 系统实现
1) 开发工具
经过反复筛选, 系统开发选用优秀的4GL/RAD (Fourth Generation Language/Rapid Application Development) 开发工具PowerBuilder 9, 因为它提供了一个完全可视化的开发环境, 界面直观、语言简洁、功能强大等特点[2], 具有强大的开放性和跨平台能力, 可以满足企业对灵活性和大量的客户机的适应性以及各种传统兼容性的需求。
2) 建立数据库连接
为了方便系统移植, 数据库采用开放式联接, 直接在应用程序的OPEN事件中写入有关服务器名称、数据库名称等变量参数, 将参数文件 (mysystem.ini) 放置在系统文件目录中, 系统读取“mysystem.ini”中的文本, 建立数据库联接。数据库联接的语句如下:
3) 设置用户操作权限
为了确保数据库的安全, 系统要求安装SQL Server 2000时必须设置6-10长的密码, 并且对各级菜单都设有严格操作权限, 其操作权限必须由超级管理员设置。
4 系统特点
1) 出纳系统负责完成日常的货币资金管理及收付工作, 不但有日记账功能, 而且有支票管理和银行对账功能, 为出纳从业人员提供一个集成办公环境, 尤其适合于中小型单位使用。
2) 结合财务部门出纳工作的特点, 防手工操作, 操作简单, 使用方便, 根据内部财务管理的需要, 可即时反映银行及现金的收支结余情况, 使用本系统可以减少劳动强度, 提高工作效率及管理水平。
3) 运行稳定, 速度快捷, 易于维护, 功能可扩展和方便升级。
5 结束语
系统于2006年设计完成, 经过近几年的运行, 收到了良好的效果, 为了增强其通用性, 吸收了数家企业单位的意见, 对系统进行了完善和补充。
摘要:目前使用的会计电算化系统的各子系统的功能比较完善, 但大部分缺少独立而又完整的出纳管理子系统, 该系统对加强资金管理, 提高工作效率具有非常重要的作用, 应当引起财务部门的高度的重视。本文阐述了出纳管理系统主要功能模块设计及系统实现的关键技术。
关键词:出纳系统,C/S结构,数据库
参考文献
[1]陈旭.会计信息系统分析与设计[M].北京:清华大学出版社, 2009.
【关键词】图书管理系统;具体设计;数据库链接;关键技术
【中图分类号】G251 【文献标识码】A 【文章编号】1672-5158(2012)09-0387-01
一、系统分析与设计
1.需求分析
图书管理系统的总体需求为:建立一套适合小型图书馆的功能完善、管理高效、使用方便的图书管理系统。具体的业务需求为:(1)系统管理员能够对用户实施管理:包括添加、删除用户信息,对用户密码进行有效管理;(2)图书管理员能够方便地进行图书管理:包括设立图书种类和图书信息,添加、删除、修改图书信息;(3)图书管理员能够在读者借阅书籍时添加和修改读者借阅书籍信息:在读者还书时能添加和修改还书信息;(4)读者修改个人的密码;(5)读者能够查阅自己的有关个人信息、借阅书籍信息、还书信息、借阅历史;(6)读者能够方便的对图书进行检索;(7)要求对系统数据库有相应的保护措施;(8)对不同的使用者,设置不同的操作权限;(9)系统应有友好的操作界面,操作简单方便,易学易用;(10)系统可以让读者打印报表。
2.数据描述
针对以上的需求,设计如下所示的数据项和数据结构:(1)读者种类信息:种类编号、种类名称、借书数量、借书期限、有效期限、备注等;(2)读者信息:读者编号、读者姓名、读者性别、办证日期、备注等;(3)书籍类别信息:类别编号、类别名称、关键词、备注信息等;(4)书籍信息:作者、主题词、索取号、出版号、ISBN号、ISSN号、订购号、分类丛书名、是否借出信息等;(5)借阅信息:借阅信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期、备注信息等;(6)编目打印:新书通报打印、图书卡片打印、书袋卡打印等。
二、图书管理系统的具体设计
1.数据库设计
在该数据库中,我设计了三个实体,分别是库存、员工和供应商以及两个联系类型入库和出库。在本系统中库存是核心,也是基本,没有了库存其它的也就没有什么意义了。员工记录的添加是考虑到责任问题,也就是说,在仓库管理的实际运用中,出现了责任不清的现象,特别是由于仓库的进出图书数量都比较大时产生了一系列问题,所以在设计数据库时,我特别考虑到这一点,加入了员工记录这一实体。
入库联系类型将库存信息、供应商信息和员工信息联系在一起,可以方便地实现三个实体之间的联接,而出库联系类型则将库存信息和员工信息较好地联接起,同时这两个联系类型又都具有各自特有的属性。
该系统中库存信息表主要用于记录仓库中现存放的所有图书的详细信息,包括图书编号、书名、作者、出版社、图书类型等有关图书的各类信息,它即是该数据库的主表,也是系统主界面的主要内容。在该表中图书编号是主键,它按图书入库的先后次序来编写,每当有图书入库,系统自动给出图书编号,这样我们按图书编号来查找图书是比较方便的。考虑到编号比较难于记忆,所以使用了出版社和图书类型两个字段,在系统中我提供了出版社和图书类型的分类查找,而且全部采用自动生成,每当系统中有新的出版社类型和图书类型,弹出菜单会自动添中新类型,这样就可以比较方便地实现按出版社和按图书类型查找。此外,库存数量也是一个比较关键的字段,该字段是在系统初始化时就给定的,每当有图书入库或出库操作,系统就会自动修改图书的库存数量,以保持数据的一致性。做为备注有一点说明,我的数据库中备注的数据类型是文本,而不是备注类型,主要考虑到该字段的长度并不大,而且在Delphi中文本数据类型的处理也比较方便一点。
入库信息表主要用于记录有关入库的详细信息,包括入库数量、入库日期以及图书、员工、供应商三方的编号,以便查询。出库信息表主要用于记录有关出库的详细信息,包括出库数量、出库日期以及图书、员工的编号。出库信息表和入库信息表一样,其实它们都属于联系类型,系统通过这两个表可以联接上其它的表为用户提供多种条件的联接查询。值得提出的一点是入库记录和出库记录的添加不仅仅是单表操作,由于它们都与库存记录相联系,所以,无论您是添中入库记录还是添加出库记录,都必须同时修改库存记录,以保持数据的一致性,否则将引发系统出错而这些我都让其在系统中自动完成。无论您是添加入库记录,还是添加出库记录,系统都将自动修改库存中圖书的数量,而且,在您出库的数量大于库存数量时,系统还会自动提示错误,这样就可以防止一定错误的发生。
用户信息表和读者信息表主要用于记录有关用户的各类信息,包括姓名、地址、电话、出生日期、工作性质等。这样可以在进行信息登记的时候以免出现重名或者误记现象。
密码信息表主要用于记录所有的用户名和用户密码。它是在用户登陆时用来确定用户和密码的正确性,以防止非法用户登陆。
2.数据库链接
首先创建数据库,其具体步骤为:打开VB6.O目录下的VISDATA.EXE可视化数据库管理器,在出现的窗体中选择菜单“文件”→“新建”→“MicrosoftAccess”→“Version7.0MDB”,将数据库保存路径设置到VB6.0数据库工程文件目录下,数据库文件名为Book.mdb,在出现的MOD子窗体“数据库窗体”空白处右键选择“新建表”,单击“生成表”按钮,完成数据库文件的创建;其次建立连接,VB6.0连接数据库的主要方式有两种:一是利用VisualBasic6.0可视化数据管理器访问数据库,二是利用VisualBasic6.O空间开发数据库应用程序,我选择第一种连接方式。具体步骤为:(1)双击“General”工具箱里的Data控件,设计视图上出现Data控件,(2)将Data控件的Name属性修改为D-DB,(3)双击设计视图窗体空白处,输入自己命名的代码。
3.关键技术
对于创建系统所应用到的关键技术有(1)创建数据源。如果系统中有MySQL的数据库驱动程序,那么就可以在程序中对一个MySQL数据库进行记录的增加、删除、或者是修改的操作。即使是数据库的平台改变了,只要表的结构没有改变,那么也就仅仅需要在系统中进行相应的配置即可。(2)创建connection对象然后在打开数据库连接。(3)通过调用链接对象的Execute方法来讲查询结果返回给一个数据对象或者是对其进行插入、删除等操作。(4)数据对象通过调用close实现数据库的关闭,然后再释放。
4.图书管理信息流程介绍
整个流程以图书信息、借阅信息为主体,由借阅规格进行约束限制。图书馆有新的图书入库时,先按照图书分类规则对于新进的图书进行分类,然后由管理员录入新图书信息,信息入库以后管理员仍然可以对于该信息进行修改或者是删除操作。有了图书信息和借书凭证信息后,便可进行图书的借阅,成功借阅的条件是:图书信息中有该读者要的图书并且该图书还在书库内;读者信息中有该借书证的信息;并且不违背特殊规则限制。只有满足这三个条件以后,才可以成功的进行借书的操作。当以后再有读者借书的时候,就可以根据已有的借阅信息对图书是否在库内,该借书证是否有未还图书等条件进行判断,以决定借阅操作的成功与否。
5.特殊借阅规则说明
对于特殊的借阅规则加以说明,第一是注销书证信息的时候应该确保所有的借书已还;第二是注销废旧图书的信息时应该确保此图书在库内。
三、总结
2、负责公司经营活动中各类已核准支出款、工程款的支付;
3、负责与供应商、渠道商的对账及款项支付;
4、按时上报资金管理部存量资金的情况,同时配合资金管理部做好资金的调配和划转;
5、每天下班前盘点现金并完成现金流量表;
6、每月负责发放公司工资(录入网银系统)、考核奖金等工作性支出;
7、负责各银行账户的年检,及银行开户、销户工作;同时完成年度贷款卡年检工作
8、每月负责银行对账及编制银行余额调节表;
1.1 编写目的
本文档为C3图书管理系统的详细设计说明书,向阅读人 员介绍本图书管理系统的整体框架和详细设计。1.2 背景 系统描述
BMS系统为图书馆书籍管理,企业图书、材料管理提供了一个方 便的电子平台。该系统分为图书管理模块,图书信息查询、预览 模块,图书评价模块,读者信息管理模块,书籍借阅和归还管理
模块以及管理员模块等模块。图书管理系统软件是一套功能比较
完善的图书数据管理软件,具有数据操作方便高效迅速等优点。使用。除此以外,BMS可通过访问权限控制以及数据备份功能,确保数据的安全性。1.3 定义 术语:
BMS BookManagementSystem 图书管理系统 1.4 参考资料
《数据库系统概念》 Abraham Silberschatz Henry F.korth 《软件工程导论——第4版》 张海藩 清华大学出版社 2 程序系统的组织结构 2.1系统架构
本系统包含客户层,中间层和图书管理信息系统层。其中,客户层用于用户与客户端的交互,例如显示信息,查询信息,提交信息,输入数据等。中间层为应用服务器部分,主要用来实现数据的接收,发送,并作为一座“桥梁”来连接客户与数据库。图书管理信息系统层主要实现数据的处理功能。
从安全的角度看,中间层的引入能有效的对系统与数据进行保护,用户无法直接修改,删除核心信息,从而使系统安全性得到保障,有效地避免数据丢失等问题的出现
管理员在得到读者归还图书的需求时,在在图书借阅记录表中查询到该借阅信息。根据该信息判断图书是否是该处借出图书,判断图书是否逾期,是否需要对读者罚款。并修改图书借阅记录表和读者借阅记录。程序1(注册登录模块)设计说明 3.1 程序描述
读者第一次使用该系统,需要通过注册才能成为系统的用户。登录系统后,用户可以使用系统开放给普通用户的各种功能。在个人信息中,注册用户还可以查看并修改自己的个人信息。丢失自己密码的注册用户可以通过个人资料认证来重新找回自己的密码。3.2 功能
注册部分:非会员输入注册信息,系统判断注册信息的正确性,如果正确,在数据库插入新的读者信息,并返回欢迎信息。取回密码部分:读者输入读者ID,系统取出该读者ID的密码和注册邮箱,将密码发送到该邮箱中。登录部分:管理员输入登录名和密码,系统判断密码正确性,如果正确,向管理员提供管理员相关功能。读者输入登录名和密码,系统判断密码正确性,如果正确,向其提供读者相关功能.3.3 性能
–允许读者测试注册读者ID的合法性 –提供足够的帮助信息,诱导用户输入
–允许读者跳过某些非关键信息,允许读者更改输入次序 3.4 输入项
–注册部分:输入注册信息,包括用户名,姓名,地址,Email,电话号码,密码等。–取回密码部分:输入用户名以及Email,电话号码中至少一项 –登录部分:读者输入用户名与密码,管理员输入管理员ID与密 码。3.5 输入项
–注册部分:如果成功,输出欢迎信息;否则出现失败提示信息。–取回密码部分:如果成功,显示成功信息,并将密码发送至Email 中;失败则显示失败提示信息。
–登录部分:如果成功,输出欢迎信息;反之则提示失败信息。3.6 算法
–注册部分:首先判断数据库中的读者ID是否存在,如果存在,提示错误信息,如果不存在再判断输入数据是否符合输入要求,不符合要求,提示具体错误信息,反之则将注册读者信息存入到 数据库中。
–取回密码部分:首先判断输入的读者ID是否存在,不存在则提 示错误信息,存在则将该读者的密码发送至会员提供的Email中。–登录部分:首先判断读者ID是否存在如果输入的读者名不存 在,提示错误信息,然后检查密码与读者ID是否对应,不对应则 提示错误信息,对应输出欢迎信息。
3.7 流程逻辑
3.8 接口 数据库接口 3.9 存储分配
读者信息存储在数据库tb_reader表中,管理员信息存储在数据库 tb_admin中.3.10 注释设计
用/*„„*/作多行注释,用//作单行注释 3.11 限制条件
取回密码时读者的邮箱地址一定要合法的,才能把密码发送到该 邮箱中。3.12 测试计划
系统的功能性需求描述如下:
·
图书管理系统为管理员提供主功能界面。
·
图书管理系统在启动时要求管理员输人口令,只有口令正确,才可以进入系统的主功能界面。
·
管理员负责对图书管理系统的维护工作,因此系统应赋予管理员对图书信息、读者信息和出版社信息进行录入、修改、查询和删除等功能的操作权限。
·
管理员作为读者的代理实现借书与还书业务。
·
图书信息、读者信息和出版社信息保存在对应的数据库表中。
在上述功能性需求分析的基础上,可以写出较为详细的需求规格说明书,作为进行系统分析、设计和实现的依据。需求分析规格说明书由系统最终用户提出需求,系统分析人员负责编写。图书管理系统需求分析规格说明书如下:
·
这是一个图书馆图书借阅管理的应用系统;
·
图书管理系统负责将图书、杂志借给读者,前提条件是这些读者在系统进行了注册,图书和杂志也在系统中进行了注册;
·
图书馆负责新书的购买,当书和杂志已经过时或者破旧不堪时,可以将这些图书和杂志从图书馆管理系统中删除;
·
图书管理员是图书馆的员工,负责与读者打交道,并且是在系统提供的支持下开展工作;
·
图书管理系统能够容易地建立、修改和删除系统中的信息,包括图书信息、读者信息、以及出版社信息等;
·
图书管理系统能够在所有流行的平台环境(windows,uNIx等操作系统)上运行,并具有一个美观的图书用户界面;
·
图书管理系统容易扩展新功能。
2.分析建模
Use case diagram 分析
采用下列描述项撰写用例的脚本。
· 用例名称——表明用户的意图或用例的用途。
· 参与者——与该用例相关的参与者列表。
· 前置条件——一个条件列表,如果其中包含条件,则这些条件必须在访问用例之前得到满足。
· 后置条件——一个条件列表,如果其中包含条件,则这些条件将在用例完成以后得到满足。
· 基本事件流——描述用例中各项活动都正常进行时用例的工作方式。
· 分支事件流——描述用例中某项活动的子活动各项工作都正常进行时用例的工作式。
· 异常事件流——描述用例的变更工作方式,以及出现异常或发生错误的情况下所执行的路径。
图书管理系统中每个用例的脚本描述如下:
1.系统登录
用例名称:系统登录
参与者:图书管理员 1.1前置条件 无
1.2后置条件
如果用例成功,参与者可以启动系统,使用系统提供的功能。反之,系统的状态不发生变化。
1.3基本事件流
当图书管理员登录系统时,用例启动。
①系统提示用户输入用户名和密码。
②用户输入用户名和密码。
③系统验证输入的用户名和密码,若正确,则用户登录到系统中。
1.4异常事件流
如果用户输入无效的用户名/密码,则系统显示错误信息。用户可以选择返回基本事件流的起始点,重新输入正确的用户名/密码;或者取消登录,用例结束。
2.图书借阅
用例名称:借阅图书
参与者:读者,图书管理员 2.1前置条件
在这个用例开始之前,图书管理员必须登录到系统;否则,系统的状态不发生变化。
2.2后置条件
如果这个用例成功实现,则在系统中创建并存储借阅记录。2.3基本事件流
当读者借阅图书时,用例启动。
①登录系统。
②输人图书ID和读者ID。
③检索读者ID。
④检索图书ID。
⑤根据时间算法确定图书借出日期和归还日期。
⑥图书馆将图书借给读者。
⑦创建借阅记录。
⑧存储借阅记录。2.4异常事件流
①如果读者未注册,则系统显示提示信息,用例被终止。
②如果要借图书不存在,系统显示提示信息,用例被终止。
③如果要借图书都已借出,则系统提示信息,用例被终止。3.图书归还
用例名称:图书归还
参与者:读者,图书管理员 3.1前置条件
在这个用例开始之前,图书管理员必须登录到系统;否则,系统的状态不发生变化。
3.2后置条件
如果这个用例成功实现,则系统删除借阅记录;否则,系统的状态不发生变化。3.3基本事件流
当读者归还借阅的图书时,用例被启动。
①登录系统。
②输入图书ID和读者ID。③检索图书ID。
④检索读者ID。
⑤查询图书借阅记录。⑥删除借阅记录。3.4异常事件流
①如果归还图书不存在,则系统显示提示信息,用例被终止。②如果借阅记录不存在,则系统显示提示信息,用例被终止。4.读者维护
用例名称:读者维护 ‘ 参与者:图书管理员 ’ 4.1前置条件
在这个用例开始之前,图书管理员必须登录到系统;否则,系统的状态不发生变化。4.2后置条件
如果这个用例成功地实现,则系统添加、修改或检索读者信息;否则,系统的状态不发生变化。
4.3基本事件流
当图书管理员维护读者信息时,用例被启动。①登录系统。
②如果选择的活动是“添加读者信息”,则执行分支事件流4.3.1:添加读者信息。③如果选择的活动是“修改读者信息”,则执行分支事件流4.3.2:修改读者信息。④如果选择的活动是“检索读者信息”,则执行分支事件流4.3.3:检索读者信息。4.3.1分支事件流
①提供读者的信息,例如,读者ID,读者姓名、电话号码等。②系统存储读者信息。4.3.2分支事件流 ①输入读者ID。
②查询并显示读者信息。③更新系统中读者信息。4.3.3分支事件流 ①输入读者ID。
②查询并显示读者信息。4.4异常事件流
①如果读者已经存在,则系统显示提示信息,用例被终止。②如果查询不到读者,则系统显示提示信息,用例被终止。5.图书维护
用例名称:图书维护 参与者:图书管理员 5.1前置条件
在这个用例开始之前,图书管理员必须登录到系统;否则,系统的状态不发生变化。5.2后置条件
如果这个用例成功实现,则系统添加、修改或检索图书信息;否则,系统的状态不发生变化。
5.3基本事件流
当图书管理员维护图书信息时,用例被启动。①登录系统。
②如果选择的活动是“添加图书信息”,则执行分支事件流5.3.1:添加图书信息。③如果选择的活动是“修改图书信息”,则执行分支事件流5.3.2:修改图书信息。④如果选择的活动是“检索图书信息”,则执行分支事件流5.3.3:检索图书信息。5.3.1分支事件流
①提供图书的信息,例如,图书ID,图书名称、编著者、出版社、价格、出版年份筹 ②系统存储图书信息。5.3.2分支事件流 ①输人图书ID。
②查询并显示图书信息。⑨更新系统中图书信息。5.3.3分支事件流 ①输入图书ID。
②查询并显示图书信息。5.4异常事件流
①如果该图书已经存在,则系统显示提示信息,用例被终止。②如果查询不到该图书,则系统显示提示信息,用例被终止。
系统总体功能结构
根据用例图定义分析包以及分析包(子系统)之间的关系。
图书管理系统分析包详细结构
定义类、用例实现(序列图)、类关系图(1)系统登录
类图:
系统登录分析类图
用例实现:
登录系统成功顺序图
登录系统失败顺序图
(2)登录图书信息
类图:
登录图书信息分析类图
用例实现:
登录图书信息顺序图
(3)修改图书信息
类图:
修改图书信息分析类图
用例实现:
修改图书信息顺序图
(4)检索图书信息
类图:
检索图书信息分析类图
用例实现:
检索图书信息顺序图
(5)借阅图书 类图:
借阅图书分析类图
用例实现:
借阅图书顺序图
(6)归还图书
类图:
归还图书分析类图
用例实现:
归还图书顺序图
(7)借出图书一览表
类图:
借出图书一览表分析类图
用例实现:
借出图书一览表顺序图
(8)类关系图
系统实体类(业务类)之间的关系
(9)类的具体定义
1.图书表类
编号:A—l一0l
类名:图书表
职责:存放图书馆所能处理的所有图书的基本信息
属性:图书代号,图书名称,编著者,ISBN代码,出版社代码,出版年份,页数,价格,购入日期,过期日期,书架代码,备注
说明:该类存放所有图书类的公用信息,它是“图书借阅表”的父类。图书也有身份,可以通过不同的ISBN相区别。在图书管理系统中,图书也有相关的行为,图书因为使用期限等可以被销毁,所以图书表也是系统中的一个对象。
2.登录图书界面类
编号:A一1—02
类名:登录图书界面
职责:提供输入所有图书信息的界面
属性:图书代号,图书名称,编著者,ISBN代码,出版社代码,出版年份,页数,价格,购入日期,过期日期,书架代码,备注
说明:该类的所有属性是非持久性的,但它为用户保存永久性的图书属性提供了一个临时的输入接口。
3.登录图书信息控制类
编号:A—l—03
类名:登录图书信息控制类
职责:实现登录图书界面类与图书表类所提供信息的交互。
属性:图书代号,图书名称,编著者,ISBN代码,出版社代码,出版年份,页数,价 格,购人日期,过期日期,书架代码,备注
说明:该类的所有属性是非持久性的,但它为用户保存永久性的图书属性提供了一 个临时的输人接口。
4.出版社表类
编号:B—l—01
类名:出版社表
职责:存放图书表所使用的所有图书的出版单位
属性:出版社代码,出版社名称
说明:该类与出版社表之间存在着单向关联的关系。
5.读者表类
编号:C一1一Ol
类名:读者表
职责:存放图书馆的所有读者的基本信息
属性:读者代码,读者名,联络电话
说明:该类类描述了物理借阅者的信息,代表了系统中存储的物理借阅者的信息,即物理借阅者在系统中的账户。同时,读者表又是图书借阅表的组成成分之一。
6.图书借阅表类
编号:D—l—01
类名:图书借阅表
职责:存放图书馆所能处理的所有图书的基本信息
属性:图书代号,读者代号,借书日期,还书日期,说明:该类描述了从图书馆借阅图书的借阅记录。一个该类的对象对应一个借阅者和一本图书。该类的对象的存在表示借阅者借阅了借阅记录中记录的物理图书。当图书被归还时,要删除借阅记录(对象)。
形成系统分析规约(注意规约可能会有活动图、状态图等)
3.系统设计
设计模型的主要工作: 1).软件平台设计
软件平台是系统开发和运行的环境。图书管理系统的开发和运行环境如下:
· 操作系统——操作系统是计算机系统中最重要的系统软件。图书管理系统可以运行在Windows 95/98/2000/NT/Windows XP等桌面操作系统上。
· 支撑软件——支撑软件是协助人们开发和维护软件的工具和环境软件。数据库系统、集成开发环境等都属于支撑型软件,例如,Delphi、Oracle、Java等。图书管理系统使用的DBMS是Access 2003,数据库中间件是JDBC。
· CASE平台——采用CASE开发环境可保证系统开发质量,提高开发效率,保证文档的一致性。图书管理系统的分析、设计j实现和部署模型是在Rose 2003建模环境下创建的,清晰地表达了在不同的开发阶段的系统模型。2).结构设计
结构设计是把软件分解成为多个子系统,并确定出由各子系统及其接口构成的软件结构。子系统是对软件分解的一种中间形式,也是组织和描述软件的一种方法。由多个子系统构成系统软件,每一个子系统又包括多个用例设计、设计类和接口。结构设计具体要做的工作是将系统划分成相对独立、功能相对完整的子系统(包),将系统模型中的元素划分到不同的包中,说明在什么地方定义包,各个包之间的依赖性和主要通信机制。从而得到尽可能简单和清晰的结构,各部分之间的依赖尽可能的少,并尽量减少双向的依赖关系。3).详细设计与界面设计
详细设计是对软件结构中确定出的各个子系统内部的设计,需要分析和确定每一个子系统中的用例设计、设计类和接口。详细设计还要描述每个类的细节,并用动态模型描述类的实例在具体环境中的行为。
界面设计是对人和外部系统与系统之间交互界面的设计,包括输入界面、输出界面和输入/输出界面的设计。另外,界面设计还涉及到人机交互方式、人机交互流程、输入输出设备和媒体等内容。4).数据库设计
数据库是系统存储和管理数据的主要技术手段,数据库设计的任务是根据给定的系统应用需求和系统环境,设计出合理的数据库结构。数据库设计可分为概念设计、逻辑设计和物理设计3个阶段。用UML进行数据库设计的主要思想,是利用UML的扩展机制定义一些版型,用于表示与数据库相关的一些概念。Rose 2003提供了对数据库设计的支持,所设计的模型可以直接生成具体数据库中的表、触发器、存储过程等。
系统结构设计
系统框架视图
· 用户界面包(User Interface Package)——用于描述整个用户界面使用的类,这些类提供的操作允许用户浏览系统中的数据,允许用户输入新数据。用户界面类基于Java AWT包设计,AWT包是Java语言中用于编写用户界面应用程序的一个标准库。用户界面包与业务模型包相互协作,调用业务模型包中类实例的方法对图书信息进行检索和插入操作。
。业务模型包(Business Model Package)——包含分析阶段主要的类(借阅图书类、归还图书类、图书类、读者类、出版社类)。在设计阶段将进一步细化这些类,从而完整地定义它们的操作,并为它们增加永久性存储支持。业务模型包与数据库包相互协作,访问数据库中的数据。· 数据库包(Database Package)——为业务模型包中的类提供数据存取服务,以便这些类能够实现数据的永久性存储功能。
。组件包(Utility Package)——包含一些可以被系统中其他包所使用的服务。
界面设计
详细设计
图书信息管理详细设计:
1.设计类图
“图书信息管理’’是一个用例,在“图书信息管理”用例所提取的3个概念类的基础上,可以确定该用例有3个设计类:登录图书信息(LoginBook)、修改图书信息(UpdateBook)、检索图书信息(SelectRook)。如图13.2所示为“图书信息管理”用例的设计类图。
“图书信息管理”用例设计类图
·
BpFrame类——属于用户界面包,定义系统检索与修改界面的框架。
·
BpSelectFrame类——属于用户界面包,继承BpFrame类,定义检索界面框架。
·
BpUpdateFrame类——属于用户界面包,继承BpSelectFrame类,定义系统修改界面框架。
·
SelectBook类——属于用户界面包,继承BpSelectFrame类,与DbChoice类相关联,显示图书信息检索界面。
·
LoginBook类——属于业务模型包,继承BpUpdateFrame类,与DbChoice类相关联,实现图书信息登录功能。
·
UpdateBook类——属于业务模型包,继承BpUpdateFrame类,与DbChoice类相关联,实现图书信息修改功能。
·
DbChoice类——属于组件包,定义了用于数据库操作的实例变量和实例方法。
2.顺序图
为实现用例的功能,每个用例要实现的功能要通过用例中各个类的对象的操作的相互协作完成,这就要在顺序图或协作图中反映各个对象之间的消息调用过程。如图13.3所示为添加的图书ID不重复的情况下“登录图书信息”用例的顺序图。
“登录图书信息”顺序图
3.属性和方法设计
用例设计中识别出了大量的设计类,接下来要详细地设计所识别出来的每一个设计类,即设计类的属性和方法。属性设计应该注意的问题是:一要补充属性分析时没有考虑到的属性,确定属性的全部内容,其中包括属性名、可视性、范围、类型、初始值;二要尽量采用系统采用的程序设计语言的语法规范描述属性。
方法设计包括数据结构设计、算法设计和流程设计。方法设计要注意的是:一要立足于所采用的程序设计语言;二所选用的程序设计语言应该能够提供丰富的数据结构;三要根据所实现的功能确定算法设计;四是可以用程序流程图或活动图来描述流程设计的结果。
如图所示为添加了属性和方法“图书信息管理”用例的设计类图。
添加属性和方法后的“图书信息管理”类图
LoginBook类的属性和方法设计如下:
·
sql属性——定义执行插人操作的SQL命令字符串。
·
chpublish_id属性——定义出版社ID。
·
LoginBook()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供添加图书信息界面。
·
cheekInsea()方法——①检查各输入项的输人格式是否正确;②检查图书ID是否重复。
·
makelnsertStmt()方法——定义执行插人操作的SQL命令字符串。
·
afterlnsert()方法——清空登录图书界面的各输入项。
SelectBook类的属性和方法设计如下:
·
sql属性——定义执行插入操作的SQL命令字符串。
·
chpublish_id属性——定义出版社ID。
·
SelectBook()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供检索图书界面。
·
checkSelect()方法——检查是否输入要检索的图书ID。
·
makeSelectStmt()方法——定义执行检索操作的SQL命令字符串。
·
setSelectedData()方法——显示检索图书的结果。
·
clear()方法——清空图书检索界面各检索项。
UpdateBook类的属性和方法设计如下:
·
sql属性——定义执行插入操作的SQL命令字符串。
·
chpublish_id属性——定义出版社ID。
·
UpdateBook()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供检索图书界面;③提供修改图书功能。
·
checkSelect()方法——检查是否输人要检索的图书ID。
·
makeSelectStmt()方法——定义执行检索操作的SQL命令字符串。
·
setSelectedData()方法——显示检索图书的结果。
·
clear()方法——清空图书修改界面各修改项。
·
checkUpdate()方法——检查各修改项的修改格式是否正确。
·
makeUpdateStmt()方法——定义执行修改操作的SQL命令字符串。
读者信息管理详细设计: 1.设计类图
“读者信息管理”是一个用例,在“读者信息管理”用例确定了3个概念类:添加读者信息、修改读者信息、检索读者信息。但是,该用例的功能相对比较简单。可以用1个设计类Borrow实现这3个概念类的功能。如图所示为“读者信息管理”用例的设计类图。
图13.5 “读者信息管理”用例设计类图
· Borow类——属于业务模型包,继承BpupdateFrame类,实现读者信息添加修改和检索功能。
2.顺序图
如图13.6所示为添加的读者ID不重复的情况下“添加读者信息”用例的顺序图。
“添加读者信息”顺序图
通过分析如图所示的顺序图,可以得到下图所示为“读者信息管理”用例的设计类图。
图优化后的“读者信息管理”用例设计类图
3.属性和方法设计
如下图所示为添加了属性和方法“读者信息管理”用例的设计类图。
添加属性和方法后的“读者信息管理”类图
Borrow类的属性和方法设计如下:
· sql属性——定义执行插入操作的SQL命令字符串。
· Borrow()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供添加、修改和检索读者信
息界面。
· checkSelect()方法——检查是否输入要检索的读者ID。
· makeSeleetStmt()方法——定义执行检索操作的SQL命令字符串。
· setSelectedData()方法——显示检索读者的结果。
· ehecklnsert()方法——检查是否可执行插入操作。
· makeInsertStmt()方法——定义执行插入操作的SQL命令字符串。
· afterlnsert()方法——清空各输入项。
· checkUpdate()方法——检查是否可执行修改操作。
· makeUpdateStmt()方法——定义执行修改操作的SQL命令字符串。
· checkData()方法——检查各输入项的输人格式是否正确。
· clear()方法——清空各文本框。
出版社信息管理详细设计: 1.设计类图
“出版社信息管理”是一个用例,可以用1个设计类Publish实现添加出版社信息、修改出版社信息、检索出版社信息3个概念类。如图13.9所示为“出版社信息管理”用例的设计类图。
图13.9 “出版社信息管理”用例设计类图
· Publish类——属于业务模型包,继承BpUpdateFrame类,实现出版社信息添加、修改和检索功能。
2.顺序图
如图13.10所示为添加的出版社ID不重复情况下“添加出版社信息”用例的顺序图。
图13.10 “添加出版社信息”顺序图
3.属性和方法设计
如图13.1l所示为添加了属性和方法“出版社信息管理”用例的设计类图。
图13.11 添加属性和方法后的“出版社信息管理”类图
Publish类的属性和方法设计如下:
· sql属性——定义执行插入操作的SQL命令字符串。
· Publish()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供添加、修改和检索出版社信息界面。
· checkSelect()方法——检查是否输入要检索的出版社ID。
· makeSelectStmt()方法——定义执行检索操作的SQL命令字符串。· setSelectedData()方法——显示检索出版社的结果。· checklnsert()方法——检查是否可执行插入操作。
· makeInsertStmt()方法——定义执行插入操作的SQL命令字符串。· afterInsert()方法——清空各输人项。
· checkUpdate()方法——检查是否可执行修改操作。
· makeUpdateStmt()方法——定义执行修改操作的SQL命令字符串。· checkData()方法——检查各输入项的输人格式是否正确。· clear()方法——清空各文本框。
图书借还信息管理详细设计: 1.设计类图
“图书借还信息管理”是一个用例,在“图书信息管理”用例所提取的4个概念类的基础上,可以确定该用例有4个设计类:借阅图书(BorrowBook)、归还图书(RetumBook)、借出图书一览表(BorrowBookList)和未按期归还图书一览表(OverdueList)。如图所示为“图书借还信息管理”用例的设计类图。
图“图书借还信息管理”用例设计类图
· BorrowBook类——属于业务模型包,继承BpUpdateFrame类,与DbChoice类相关联,实现图书借阅功能。
· ReturnBook类——属于业务模型包,继承BpUpdateFrame类,与DbChoice类相关联,实现图书归还功能。
· BorrowBookList类——属于业务模型包,继承BpSelectFrame类,与DbChoice类相关联,显示借出图书清单一览表。
· OverdueList类——属于业务模型包,继承BpSelectFrame类,与DbChoice类相关联,显示未按期归还图书与读者清单一览表。
2.顺序图
如图所示为读者ID与图书ID都存在情况下的“借阅图书”用例的顺序图。
“登录图书信息”顺序图
3.属性和方法设计
如图所示为添加了属性和方法“图书借还信息管理”用例的设计类图。
添加属性和方法后的“图书借还信息管理”类图
BorrowBook类的属性和方法设计如下:
· sql属性——定义执行插入操作的SQL命令字符串。
· BorrowBook()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供添加图书信息界面。· checklnsert()方法——①检查各输入项的输入格式是否正确;②检查借阅图书ID是否存在。
· makeInsertStmt()方法——定义执行插入操作的SQL命令字符串。
· afterInsert()方法——清空借阅图书界面的各输入项。
· checkSelect()方法——检查是否输入读者ID和图书ID。
· makeSelectStmt()方法——显示检索结果。
· checkDelete()方法——检查是否可执行删除操作。
· makeDeleteStmt()方法——定义执行删除操作的SQL命令字符串。
· afterDelete()方法——清空删除操作后的各输入项。
· clear()方法——清空所有的文本框。ReturnBook类的属性和方法设计如下:
· sql属性——定义执行插人操作的SQL命令字符串。
· RetumBook()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供图书归还界面。
· checkUpdate()方法——检查各修改项的修改格式是否正确。
· makeUpdateStmt()方法——定义执行修改操作的SQL命令字符串。· afterUpdate()方法——清空所有的文本框。BorrowBookList类的属性和方法设计如下:
· sql属性——定义执行插入操作的SQL命令字符串。
· BorrowBookList()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供实现“借出图书一览表”功能的界面。
· makeSelectStmt()方法——定义执行检索操作的SQL命令字符串。
· setSelectedData()方法——显示检索结果。OverdueList类的属性和方法设计如下:
· sql属性——定义执行插入操作的SQL命令字符串。
· xOverdueList()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供实现“未按期归还图书一览表”功能的界面。
· makeSelectStmt()方法——定义执行检索操作的SQL命令字符串。
· setSelectedData()方法——显示检索结果。
组件包设计:
组件包包含被所有其他包使用的通用组件,图书管理系统的组件包由Const、DbChoice、BpUtil三个类组成,这三个类定义了系统所有其他类所使用的公共常量与公共方法。另外,IconCanvas(加载系统界面所使用的图标)、MsgDialog(信息显示对话框)、SQLExceptionDialog(显示数据库异常信息对话框)3个类也为系统所有其他类所公共使用。在此与组件包中的类一起进行说明。1.Const类
Const类定义了系统所使用的公共名称等常量,其类图如图所示。
Const类的类图
2.BpUtil类
BpUtil类定义了系统使用的公共方法,其类图如图所示。
BpUtil类的类图
BpUtil类的方法设计如下:
· repeateString()方法——返回指定个数的字符串对象。
· varchar2text()方法——返回按照指定长度调整的字符串对象。
· setComp()方法——在组件上按照CridBagConstraints布局配置Panel。· checkWaming()方法——检查数据库连接操作是否出现异常。· isNumeric()方法——验证字符串能否转换为数值。
· getToday()方法——以YYYY/MM/DD的格式返回今日的日期。
· getToday()方法——返回以今日为基点的指定为YYYY/MM/DD格式的日期。· isYMD()方法——验证能否识别YYYY/MM/DD格式的字符串。· GB2312Unicode()方法——GB2312转换为Unicode。· UnicodeGB2312()方法——Unicode转换为GB2312。
· getRowCount()方法——求数据表中满足条件的记录数。
· convYMD()方法——Java.util.Date类型数据转换为YYYY/MM/DD格式。
3.DbChoice类
DbChoice类定义了用于数据库操作的实例变量与实例方法,其类图如图所 示。
DbChoice类的类图
DbChoice类的属性和方法设计如下:
· con属性——定义用于数据库连接的实例变量。· query属性——定义用于SELECT语句的实例变量。· displayCol属性——定义用于检索结果的列数。
· valueCol属性——定义方法getSelectedVal()返回值的列数。
· vItem属性——定义用于保存方法getSelectedVal()返回值的Vector · DbChoice()方法——构造方法,用于初始化实例变量。· setQueryData()方法——执行检索操作。· getSelectedVal()方法——返回检索结果。· setValueCol()方法——设置列的值。· getValueCol()方法——返回列的值。
· setDisplayCol()方法——设置显示列的值。· getDisplayCol()方法——返回显示列的值。
· setDisplayhem()方法——设置显示项的列的值。4.IconCanvas类
IconCanvas类用于完成加载系统界面所使用图标的功能,其类图如图所示。
IconCanvas类的类图
IconCanvas类的方法设计如下:
· IconCanvas()方法——构造方法,用于完成加载图像文件的功能。· paint()方法——用于完成显示图像文件的功能。5.MsgDialog类
MsgDialog类用于完成显示系统界面所使用的信息对话框功能,其类图如图13.19所 示。
MsgDialog类的类图
MsgDialog类的属性和方法设计如下:
· MsgDialog()方法——构造方法,用于生成信息显示区域,定义信息对话框的标题、布局管理器等功能。
· actionPerformed()方法——用于处理发生的事件。
6.SQLExceptionDialog类
当发生数据库异常时,SQLExceptionDialog类定义了用于显示数据库异常信息对话框,其类图如图所示。
SQLExceptionDialog类的类图
SQLExceptionDialog类的属性和方法设计如下:
· SQLExceptionDialog()方法——构造方法,用于定义发生的SQL异常。· actionPerformed()方法——用于处理发生的事件。· setMessage()、方法——用于显示发生的异常信息。系统管理详细设计:
系统管理由Bookplate和LoginDialog两个类组成,Bookplate类用于显示系统主功能界面,LoginDialog类用于显示用户登录对话框界面。Bookplate类与LoginDialog类之间有单向关联关系,即Bookplate类中定义的实例变量dialog可以调用LoginDialog类的构造函数,以实现系统登录界面的显示,描述两者之间关系的类图如图所示。
“系统管理”用例设计类图
Bookplate类的方法设计如下:
· main()方法——系统执行的入口点,用于显示系统主功能界面。
· Bookplate()——构造方法,用于设置系统框架(Frame)、标题、菜单、按钮布局、标签等系统组件。
· aetionPerformed()——当用鼠标左键点击各功能按钮时,分别调用各个子功能系统,同时实现生成、显示和隐藏对应的框架的功能。LoginDialog类的方法设计如下:
· LoginDialog()方法——构造方法,用于设置用户登录对话框界面的标题、显示信息区域、设置标签和文本域、生成按钮等功能。
· actionPerformed()——当用鼠标左键点击功能按钮时,处理所触发的事件。· getStatus()——返回按钮的状态值。· getUserID()——返回用户ID。· getPassword()——返回用户口令。
数据库设计(表略)
1.1 网络图书馆的基本特征和功能
网络图书馆的产生和发展是对传统图书馆一个深刻的革命, 它不仅表现为馆藏网络化、操作电脑化, 而且它的信息传递网络化是完全超越传统馆间界线的, 并且网络图书馆要使人们对信息存贮自由化和对资源共享化, 所以网络图书馆的概念是一个比较完整的概念。因此, 网络图书馆的定义应该是:即采用网络化技术, 以统一的标准和规范为基础, 有序地组织网络化信息资源, 形成分布式海量资源库群, 在高质量保存和管理基础上, 用智能检索技术手段, 以宽带高速网络作为传输通道, 为用户提供广域网上高速、横向、跨库连接的电子存取服务系统。网络图书馆是信息工作者以互联网络为平台, 以通信线络为支撑, 以网络信息资源为内容, 对有价值的各种信息资源进行收集、加工、组织所建立起来的能为用户提供高速、快捷、方便的网上信息服务的开放网络资源体系。可见网络图书馆的这个定义相对于传统图书馆是一个崭新的图书馆, 它的产生具有自己独特的特征和功能。
(1) 信息资源的网络化。
信息资源网络化是网络图书馆的基础, 也是它与传统图书馆的最大区别。网络图书馆时代的图书馆非常容易从这些渠道直接获取网络化的信息资源。网络是信息的载体, 信息依附于网络而存在, 离开了信息资源的网络化, 网络图书馆就成了无源之水。
(2) 文献资源的组织标准化和规范化。
它要求在文献资源的组织、检索过程中必须有统一的标准, 所采用的形式要统一规范, 对于图书馆员和用户都要易学易用。网络图书馆不是一个或几个图书馆就能实现, 它需要图书馆界共同努力完成, 因此各个图书馆间的合作就必须有统一的标准, 对信息资源的加工检索行为必须规范, 标准化、规范化是网络图书馆可扩展性的保证。
(3) 信息资源管理的自动化。
网络图书馆与传统图书馆相比, 最根本的区别就是能将文献信息管理全过程收集、整理、加工和传输从传统的手工操作或半自动化完全过渡到自动化、智能化状态。
(4) 信息传递网络化。
网络化和网络二者是不可分的。网络化是以网络为基础的, 没有网络, 信息资源的网络化就没有任何意义。具有大量信息资源的网络图书馆要用网络信息服务于用户, 需要通过以网络为主的信息基础设施来实现的, 没有网络这个信息高速公路, 也就不可能有所谓的“网络地球”。网络图书馆只有通过网络将网络化的信息资源跨时空、开放型、标准化、规范化的传递给用户, 才能在现今社会经济生活中发挥其巨大的作用。
(5) 信息共享化。
信息资源共享化是网络图书馆所具有的又一个基本特点和功能, 也是以往传统图书馆所无法比拟的。因为网络图书馆有了信息资源网络化和信息传递网络化作为坚实的基础, 它对用户的服务方式, 服务手段, 服务的广度和深度以及服务的时效就发生了根本性的变化。网络图书馆可以利用信息共建共享化的优势, 实现图书馆历史上前所未有的跨行业、跨地域、跨国界快捷无障碍的服务。
以上几点是网络图书馆最基本的特点和功能, 也是网络图书馆与传统图书馆根本相区别的地方。
2 网络图书馆设计的相关技术
2.1 JSP技术介绍
JSP (Java Server Pages) 是由S u n Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术, 它是在传统的网页HTML文件中插入Java程序段 (Scriptlet) 和JSP标记 (tag) , 从而形成JSP文件 (*.jsp) 。
用JSP开发的Web应用是跨平台的, 即能在Linux下运行, 也能在其他操作系统上运行。
JSP技术使用Java编程语言编写类XML的tags和scriptlets, 来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离, 支持可重用的基于组件的设计, 使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时, 首先执行其中的程序段, 然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等, 以实现建立动态网页所需要的功能。
JSP与Java Servlet一样, 是在服务器端执行的, 通常返回该客户端的就是一个HTML文本, 因此客户端只要有浏览器就能浏览。
JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理, 然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础, 而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用, 完全的面向对象, 具有平台无关性且安全可靠, 主要面向因特网的所有特点。
自JSP推出后, 众多大公司都支持JSP技术的服务器, 如IBM、Oracle、Bea公司等, 所以JSP迅速成为商业应用的服务器端语言。
2.2 Struts技术介绍
Struts是Apache基金会Jakarta项目组的一个Open Source项目, 它采用MVC模式, 能够很好地帮助java开发者利用J2EE开发Web应用。和其他的java架构一样, Struts也是面向对象设计, 将MVC模式“分离显示逻辑和业务逻辑”的能力发挥得淋漓尽致。Structs框架的核心是一个弹性的控制层, 基于如Java Servlets, JavaBeans, ResourceBundles与XML等标准技术, 以及Jakarta Commons的一些类库。Struts有一组相互协作的类 (组件) 、Serlvet以及jsp tag lib组成。基于struts构架的web应用程序基本上符合JSP Model2的设计标准, 可以说是一个传统MVC设计模式的一种变化类型。
S t r u t s跟T o m c a t、T u r b i n e等诸多Apache项目一样, 是开源软件, 这是它的一大优点, 使开发者能更深入的了解其内部实现机制。
3 网络图书馆的相关模块概述
在线网络图书馆主要有三个大模块。
(1) 前台。
主要功能包括:用户注册, 用户登录, 图书查找, 排行系统, 主框架。
(2) 后台。
主要功能包括:用户登录, 用户管理, 图书管理, 章节管理, 页面管理。
(3) 数据库设计。
本系统主要使用SqlServer2000。具体有图书表, 章节表, 页面表, 图书类型表, 用户表, 角色表, 权限-角色表等。
4 网络图书馆设计的特点
在线网络图书馆开发环境使用的是MyEclipse 6.5, 数据库为SqlServer2000, 主要采用Jsp技术。框架采用了手写的Struts框架。当中大量采用了JavaScript和AJAX技术对程序进行检测和异步控制。
特点1:当注册用户时, 如果输入用户名, 离开焦点后, 将触发onblur事件, 调用相关的JavaScript, 然后再web.config里找到相应的Servlet, 在Servlet中异步查找是否存在输入的用户名。如果存在返回0, 否则返回1。JavaScript再对返回的数据进行处理, 从而打到异步的验证。其它地方如:图书的阅读, 章节的浏览、翻页, 书籍章节号的插入和页号的插入时都使用了相关的技术。
特点2:本系统采用的连接池技术。
特点3:本系统的数据库的主键统一采用Int型并设置为自增长。这样可以有效的防着由于主键重复时导致插入数据失败的问题。同时也方便了记录的管理。
特点4:采用了Struts作为系统的MVC框架。从而使视图层 (View) , 模型层 (Model) 、和控制层 (Controller) 相互分离, 从而使业务逻辑更加清晰, 可维护性更高。
特点5:页面采用了DIV+CSS (层叠样式表) 对样式进行控制。而且程序中样式表进行了统一的定义, 通过在JSP中加入代码来引入。
特点6:系统统一采用了UTF-8的编码方式, 能够良好的支持中文不出现任何的乱码。
特点7:系统采用了JSTL标签。首先, 使用了JSTL后能够在应用程序和服务器之间提供一致的接口, 最大程度地提高了Web应用在各应用服务器之间的移植, 其次, JSTL简化了JSP和Web应用程序的开发。很多Scriptlet利用JSTL来处理会显得很简单, 再次, 使用了JSTL后, 能够以一种统一的方式减少JSP中的Scriptlet代码的数量, 甚至可以使程序中没有任何Scriptlet代码, 这样的代码显得干净, 整洁, 一目了然。
参考文献
[1]安宏涛.大学图书馆建设评析[J].佳木斯大学社会科学学报, 2007 (4) :24~25.
[2]董颖.关于网络图书馆研究与建设的几个问题[J].现代情报, 2004 (4) :12~14.
[3]范秋英.浅析高校图书馆网络资源的组织与利用[J].科技情报开发与经济, 2007 (5) :22~23.
[4]贺亚锋.Web站点元数据自动生成工具介绍[J].图书馆杂志, 2001 (4) :33~35.
[5]魏欣.高校图书馆网络化建设[J].图书馆工作与研究, 2005 (4) :24~26.
[6]王荣国, 卢朝霞.网络化图书馆文集[J].东北大学出版社, 1999 (7) :46~47.
[7]吴传炉, 李亚尤.网络图书馆信息资源建设探讨[J].现代图书情报技术, 2000 (4) :22~23.
[8]肖明, 沈英.国内外网络图书馆研究现状及未来走向[J].现代图书情报技术, 2000 (6) :25~26.
[9]周蕾.网络时代高校图书馆知识服务的创新[J].内蒙古科技与经济, 2005 (15) :13~1 5.
[10]钟小文.我国图书馆网络信息源建设初探[J].图书馆论坛, 2005 (5) :22~24.
[11]朱强.谈谈网络图书馆的现实条件[J].大学图书馆学报, 2000 (8) :12~13.
关键词:图书管理 管理信息系统 数据库技术
一、应用需求分析
一个先进的图书管理系统应当了解并满足使用者的需求。对图书馆工作人员而言,不仅需要根据图书编号、借阅者编号查询借阅以及归还情况,还要能够对借阅者的借阅及归还请求进行操作,将操作结果形成报表让借阅者进行检查。而普通用户则是需要能够方便地了解图书馆的馆藏情况。图书借阅者不仅需要知道自己的借阅情况,并且需要对自己的相关个人信息进行管理。
根据图书管理人员对图书管理系统的相关需求,对其登录模块应谨慎设计,以求功能完备。图书馆工作人员可以对馆藏书籍数据进行查询、浏览、修改等,不过对于借出的未在馆内的书籍不能够进行修改。对借阅者的信息维护,工作人员可以对其个人信息中的借书、还书记录进行修改,并且需形成相应报表呈现给借阅者。对已借阅出书籍的信息维护中,一旦进行图书借阅信息删除操作,应当能够对其借阅者的借阅记录进行关联删除,以保证图书借阅数据的准确完备。
对普通人员只设有基本权限,即可对馆藏信息进行查询,并可通过多种标签对图书信息进行查询。此查询功能还应支持模糊查询,即可通过某关键字对图书信息进行查询。
对图书借阅者,在对个人信息进行查询维护时需要登录其账户,而在进行基本的对馆藏图书信息进行查询功能时则不需要。
二、系统设计
1.系统功能模块设计
系统共分为三个模块,即工作人员系统管理模块、图书信息查询模块、借阅者个人信息维护模块。
(1)工作人员系统管理模块的主要功能有管理借书、还书;对借阅者信息记录的维护;修改馆藏书籍数据;对书籍借阅情况进行查询。
(2)图书信息查询是指普通人员可通过书籍名称、出版社、作者等关键字对书籍信息进行查询。
(3)借阅者个人信息维护指借阅者可通过账号密码登录其个人界面,对个人的借阅情况进行查询,对密码进行修改,对院系、班级、联系方式等个人信息进行提出修改操作,由图书馆工作人员核对确认后修改成功。
2.用户类型
此系统的用户类型分为图书馆工作人员、借阅者及普通用户。
图书馆工作人员可以凭借账号、密码登录进入系统从而实现对整个图书管理系统的管理操作,对借阅者个人信息的确认修改,以实现对图书馆信息的维护管理。
普通用户可在本系统检索书籍名称、作者以及出版社等关键字实现对书籍信息的查询。
借阅者可以凭借个人账号密码进入个人信息管理界面,实现对个人借阅情况的查询,并实现对个人基本信息的申请修改。
三、系统数据库设计
1.概念设计
此过程中,设计者通过分析用户的数据处理要求和约束,形成具有用户特色的概念模式,并将之进一步转换为逻辑模式。将概念设计分立出来,使得设计的难度得到了显著下降,可实现度大大提升,各阶段的任务相对独立,摆脱了DBMS的设计桎梏。
通过使用ER方法,首先进行局部ER模式的设计,其次将之联合为一个全局的ER模式,再将其进行升级优化,从而实现对数据库的概念约束。
(1)局部ER模式的设计,包括书籍、借阅者、图书状态。书籍包括书籍编号、入库时间、书籍名称、作者、出版日期、出版社、馆藏数目、价格;借阅者包括借阅者学号、姓名、性别、出生日期、民族、系别、专业、年级、联系方式;图书状态包括图书状态编号、借阅日期、借阅截止日期、借阅人信息。
实体之间的联系通过ER模型的联系来进行呈现。一种方式是通过分析需求,研究局部结构中任意两个实体类型之间是否存在联系。如果存在,则对其进行更深层次的确认。此外,还要对多个实体类型之间、两个实体类型之间、实体类型内部进行深入的研究分析,确认联系是否存在。
(2)全局ER模式的设计。通过对设计好的局部ER模式进行统一综合,形成一个相对完备合理的全局概念模式。
第一,确定公共实体类型。把同名实体类型与相同键的实体类型分别作为公共实体类型的两类候选,来确认各局部结构的公共实体结构,给局部ER模式向全局ER模式的合并提供先决条件。
第二,局部ER模式的合并。合并时应遵循两两结合,先将实际中相关的局部结构合并,从公共实体类型到独立的局部结构。
第三,消除冲突。消除冲突是从本质上将若干局部模型进行合并,从而建立统一的和谐的全局模式,而不单单只是表面上的合并。
第四,全局ER模式的优化。此外,还应按照处理需求对模式进行升级优化,以达到提高数据库系统效率的目的。
2.关系数据库的逻辑设计
该设计过程是把ER图转换为关系模式,这是因为概念设计的结果是ER图,而DBMS一般采用关系型。在逻辑设计过程中应当将关系数据库规范化理论合理运用,以发挥关系模型所具有的优势,将设计过程形式化。将用户所用数据记述为子模式。在指出子模式之外,再对子模式与概念模式中相应数据对应联系做分析记录。
3.数据库的研究
本次开发的数据库由四部分组成。借阅者的信息存储在图书借阅者信息数据表中;工作人员账号及密码数据存储在工作人员信息数据表中;借阅图书的信息存储在图书借阅信息数据表中;所有图书的信息存储在所有入库图书数据表中。
(1)图书借阅者信息数据表。借阅者的信息存储在图书借阅者信息数据表中。由借阅者的学号、姓名、性别、出生年月、民族、系别、专业、联系方式、年级及登录密码数据10个字段组成。
(2)工作人员信息数据表。工作人员账号及密码数据存储在工作人员信息数据表中,由编号、用户名和密码3个字段组成。
(3)图书借阅信息数据表。图书借阅的信息存储在图书借阅信息数据表中。由书籍编号、借阅者姓名、学号、借阅数量、借阅时间、应该归还时间、实际归还时间、归还标志位8个字段组成。
(4)所有入库图书数据表。所有图书的信息存储在所有入库图书数据表中。由书籍编号、名称、作者、价格、馆藏数目、图书状态、入库时间、馆藏地点8个字段组成。
四、小结
本文对图书管理系统设计时所需应用的服务器端脚本编辑开发工具、图书管理系统所需的功能模块及技术、相应数据库的特点及应用做了详细的分析与论述,为系统的实现过程、所实现的功能,以及每个功能模块中的具体功能做了铺垫。
参考文献:
[1]张正玺.数据库及其应用[M].北京:国防工业出版社, 2006.
[2]吴曙光,刘卫国.基于ASP.NET的图书管理系统设计与实现[J].湖南冶金职业技术学院学报,2006(3).
[3]冯建华,周立柱.数据库系统设计与原理[M].北京:清华大学出版社,2004.
【图书出纳管理系统设计】推荐阅读:
图书管理系统设计个人总结10-08
图书馆系统课程设计06-05
出纳实务单元设计06-16
出纳委派管理制度06-28
出纳付款管理制度10-23
出纳工作中现金库存的管理05-29
图书馆室内设计论文06-07
小小图书馆教学设计09-08
《数字图书馆》教学设计10-26
财务部会计出纳岗位管理规定07-10