1、1 引言 .21.1 编写目的 21.2 背景 21.3 术语与缩略语 21.4 参考资料 22 系统结构 .23 程序 1 设计说明 .33.1 程序描述 33.2 功能 33.3 性能 63.4 输入项 73.5 输出项 73.6 算法 73.7 流程编辑 103.8 接口 143.9 储存分配 143.10 限制条件 15系统详细设计说明图书馆管理系统1 引言1.1 编写目的本需求的编写是为了研究图书管理系统软件的开发途径和应用方法。同时它也是进行项目策划、概要设计和详细设计的基础,是维护人员进行内部维护,信息更新,验收和测试的依据。 本需求的预期读者是与图书管理系统软件开发有联系的决策
2、人,开发组成人员,扶助开发者,支持本项目的领导和公司人员,软件验证者1.2 背景本项目的名称:图书馆管理系统开发软件。 本项目的任务提出者及开发者是图书管理系统软件开发小组,用户是学校图书馆。 本产品是针对电脑管理图书的需求设计的,可以完成读者登记、读者借还书、图书登记、图书查询等主要功能1.3 术语和缩略语LMS:Library Management System,图书管理系统。SQL SERVER:Microsoft SQL Server 2000 数据库管理系统。DELPHI:DELPHI 7,Borland 公司的可视化开发工具。1.4 参考资料软件工程 张海藩 编著 清华大学出版社
3、数据库系统概论 萨师煊 王 珊 编著 高等教育出版社 Visual Basic 数据库系统开发实例导航(第二版) 刘 韬 骆 娟 何旭洪 编著 人民邮电出版社 Visual Basic 程序设计教程 曾强聪 编著 中国水利水电出版社2 系统结构我们用两层体系结构作为图书馆管理信息系统软件解决方案的核心,将系统的操作人员划分为三类:读者,工作人员,系统管理员依据软件工程的基本原理,详细设计阶段的根本任务是确定应该怎样具体实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在系统实现阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。具体来说就是把经过总体设
4、计得到的各个模块详细的加以描述。开 始用 户是 否 合 法显 示 主 界 面选 择 操 作学 生 管 理 图 书 管 理 借 阅 管 理 归 还 管 理Y e sN o结 束用 户 注 销3 程序 1 设计说明3.1 程序描述3.2 功能3.2.1 功能需求(一) 3.2.1.1 规格说明 读者登记,即输入读者的具体信息。 3.2.1.2 引言 为了把读者的具体信息(包括:读者编号,姓名,学院,专业,年级等) 写入读者目录文件中。 3.2.1.3 输入 读者具体信息。 3.2.1.4 处理 通过图书管理系统写入读者目录文件中。 3.2.1.5 输出 读者具体信息。 3.2.2 功能需求(二)
5、3.2.2.1 规格说明 输入新书的全部信息。 3.2.2.2 引言 为了输入新书的全部信息(包括:分类目录号、流水号(唯一)书名、作者、内容摘要、价格和购书日期等) 。 3.2.2.3 输入 新书的全部信息。 图书管理系统软件需求分析 3.2.2.4 处理 通过图书管理系统写入图书目录文件中。 3.2.2.5 输出 新书信息的全部内容。 3.2.3 功能需求(三) 3.2.3.1 规格说明 查询读者的相关信息。 3.2.3.2 引言 根据读者编号查询读者的相关信息 3.2.3.3 输入 读者信息的关键字(读者编号或姓名) 。 3.2.3.4 处理 利用关键字在读者目录文件中找到此编号或姓名读
6、者的相关信息。 3.2.3.5 输出 读者的相关信息。 3.2.4 功能需求(四) 3.2.4.1 规格说明 查询图书的信息。 图书管理系统软件需求分析 3.24.2 引言 为了查找图书的相关信息。 3.2.4.3 输入 图书信息的关键字(图书分类号或书名) 。 3.2.4.4 处理 利用关键字在图书目录文件中找到此图书分类号或书名图书的相关信息。 3.2.4.5 输出 图书的相关信息。 3.2.5 功能需求(五) 3.2.5.1 规格说明 输入读者借书信息。 3.2.5.2 引言 为了把读者借书的相关信息(包括:图书分类号、流水号、读者号、借阅日期和还书日期等)写入借书文件中。 3.2.5.
7、3 输入 读者借书信息。 3.2.5.4 处理 通过图书管理系统写入借书文件中。 3.2.5.5 输出 读者借书信息的全部内容 3.2.6 功能需求(六) 3.2.6.1 规格说明 查询读者借书的相关信息。 3.2.6.2 引言 为了查询读者借书的相关信息。 3.2.6.3 输入 借书信息的关键字(流水号) 。 3.2.6.4 处理 利用关键字在借书文件中找到此流水号图书的相关信息。 3.2.6.5 输出 借书相关信息。3.3 性能3.3.1 精度需求 在精度需求上,根据使用需要,在各项数据的输入,输出及传输过程中,可以满足各种精度的需求。 3.3.2 时间需求 在软件方面,响应时间,更新处理
8、时间都比较快且迅速,完全满足用户要求。 3.3.3 灵活性 当用户需求,如操作方式,运行环境,结果精度,数据结构于其他软件接口等发生变化时,设计的软件要做适当调整,灵活性非常大。 3.3.4 故障处理 a. 内部故障处理 在开发阶段可以随即修改数据库里的相应内容。 b. 外部故障处理 对编辑的程序进行重装载时,第一次装载认为错,修改。第二次运行,在需求调用时出错,有错误提示,重试。说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。3.4 输入项主模块输入项目:操作系统传递至的各种消息以及用户的输入数据。学生管理模块输入项目:与学生管理操作子对话框有关的用户输入及系统消息。图书管理
9、模块输入项目:用户口令。借阅管理模块输入项目:学生学号、图书编号。归还管理模块输入项目:图书编号。3.5 输出项主模块输出项目:用户界面显示。学生管理模块输出项目:操作结果显示。图书管理模块输出项目:相应的界面。借阅管理模块输出项目:学生信息、相关借书信息。归还管理模块输出项目:相关学生信息。3.6 算法1.登录算法beginif 输入帐号和密码、身份 不为空 thenbegin查询人员表;endelse 提示人员编号和人员密码、身份不能为空,返回;if 查询结果为空 thenbegin提示出错信息,返回重新登陆;endelse 根据不同的身份进入相应的主界面;end。2.图书查询算法:beg
10、inselect 图书资料 from 图书信息表where 条件 like 关键字;if 信息匹配 then begin返回查询到的图书信息;endelse 返回空值;end。3.增加图书算法beginselect 最大图书编号 from 图书信息表;新图书编号=最大图书编号+1;输入新增的图书的信息;if 信息不全 thenbegin提示 XX 不能为空,返回;end;确定添加?if 确定 thenbegininsert into 图书信息表values(新图书编号,输入的信息) ;返回结果;endelse 返回输入信息;end4.图书修改算法:begin输入图书编号;select 图书资料
11、from 图书信息表where 图书编号=输入的图书编号;if 查询结果为空 thenbegin提示图书未找到,返回;endelse 返回图书信息;在信息框里修改需要修改的信息;确定修改?if 确定 then beginupdate 图书信息表set 图书信息=修改后的图书信息where 图书编号=输入的图书编号;返回结果;endelse 返回查询的结果;end5.图书借阅算法begin输入读者编号;select 状态from 读者表where 读者编号=输入的读者编号;if 状态= 停借 thenbegin提示读者欠费不能借书,返回;endelsebegin输入图书编号; end确定?if
12、确定 thenbegininsert into 借阅表values (读者,图书信息) ;endelse 输入到读者编号;end6.图书归还算法Begin输入图书编号select 状态from 借阅表where 图书编号=输入的图书编号;计算图书借阅时间;if 超期 thenbegin计算罚款金额;if 未交付金额 thenbeginupdate 读者表 set 读者状态= 停借;endendend3.7 流程逻辑1.登陆流程图如图所示:输入人员信息开始查询人员信息输入合法YN是否有记录进入相应的界面结束YN2.图书查询流程图如图所示:输入查询关键字开始是否有匹配记录显示匹配图书信息结束Y查询
13、图书信息表提示未找到图书 ,重新输入3.增加图书流程图如图所示:查询最大图书编号开始信息不全写入图书信息表结束新编号 = 最大编号+ 1重新输入Y输入新增图书信息确定添加NYN4.图上修改流程图如图所示:输入图书编号开始信息不匹配 ?写入图书信息表结束查询图书表重新输入YN确定修改NY显示图书信息修改相应信息5.图书借阅流程图如图所示:输入读者编号开始是否停借状态 ?写入借阅表结束查询读者表提示欠费不能借书YN确定NY输入图书编号6.图书归还流程图如图所示:输入图书编号开始是否超期 ?写入归还表结束查询借阅表计算借阅时间N是否付款YY计算超期金额置读者状态为停借N3.8 接口1 外部接口按 W
14、indows 应用软件用户界面的规范来设计,使用以对话框为主的用户界面,便于用户使用。2 内部接口模块间接口采用数据耦合方式,通过参数表传送数据,交换信息。3 用户接口本产品的用户一般需要通过终端进行操作,进入主界面后点击相应的窗口,分别进入相对应的界面(如:输入界面、输出界面 )。用户对程序的维护,最好要有备份。3.9 储存分配借书模块:内部数据: 数据库 m_pConnection _ConnectionPtr 数据库连接指针用户界面 m_strReaderName CString 读者姓名m_strLBInf CString 已借图书信息m_strLBNum CString 已借图书数显
15、示m_lBookID long 欲借图书书号内部参数 m_lReaderID long 当前读者证号m_MaxLBNum int 可借图书数上限还书模块:内部变量:数据库 m_pConnection _ConnectionPtr 数据库连接指针m_pRecords_RecordsetPtr 数据库查询结果集指针用户界面 m_lBookID long 欲还图书书号m_strLenderID CString 借阅者图书证号显示m_strLender CString 借阅者姓名m_strRBInf CString 已还图书信息显示m_strNRBInf CString 未还图书信息显示m_strRBNum CString 已还图书数显示m_strNRBNum CString 未还图书数显示内部参数 m_lCurrID long 当前还书者读者证号m_intRBNum int 已还图书计数m_MaxLBDay int 借书天数上限3.10 限制条件1 技术约束 本项目的设计是在汉语程序设计语言的条件下进行的,技术设计采用软硬一体化的设计方法。 2 环境约束 运行该软件所适用的具体设备必须是奔腾 133、内存 16 兆以上的计算机;3 标准约束 该软件的开发完全按照企业标准开发,包括硬件、软件和文档规格4 硬件限制 奔腾 133 、内存 16 兆以上 PC 机满足输入端条件。