1、图书馆管理系统详细设计说明书 目录 1引言 1 1.1编写目的 1 1.2背景 1 1.3定义 1 1.4参考资料 1 3程序1(标识符)设计说明 2 3.1程序描述 2 3.2性能 2 3.2.1精度需求 2 3.2.3灵活性 2 3.3输人项 2 3.4输出项 3 3.5算法 3 3.6流程逻辑 6 3.7存储分配 11 3.8测试计划 12 16 / 19 1引言 1.1编写目的 (1)需求说明书描述了任务管理项目的要求,并且作为各方面沟通的依据,也为下一步工作提供参考的基准。编写本报告单的目的
2、是明确本系统的详细需求,供使用单位确认系统的功能和性能,并作为软件设计人员的设计依据和使用单位的验收标准。此说明书的预期读者是软件设计小组所有成员和该系统的使用者。 (2)图书馆管理系统需求分析说明书的编写目的在于将计算机技术运用于图书信息管理,使图书管理更加方便、快捷,为用户提供最舒适最人性化的服务。 1.2背景 项目名称:图书馆管理系统 项目提出者:软件工程“图书馆管理系统”开发小组 项目开发者:软件工程“图书馆管理系统”开发小组 用户:系统管理员、图书管理员、读者(包括西南交通大学的所有本科生,研究生,成教学生) 1.3定义 (1)系统:图书馆管理软件 (2)图书信息:
3、图书的基本信息(书名、条形码、馆藏容量) (3)借书记录:借阅者的基本信息(账号、学号、姓名、性别、生日、专业) 1.4参考资料 [1] 张海藩,《软件工程导论》(第5版),清华大学出版社,2008年2月 [2] 熊聪聪等,《高级语言程序设计》,人民邮电出版社,2010年6月 2程序系统的结构 模块名称 所用到的表 图书维护 图书基本信息表:book 系统管理 系统操作员记录表:login 图书证信息表:user 读者查询 图书证信息表:user 用户借阅表:borrow 图书借阅 借阅登记表:borrow 图书证信息表:user 用户借阅
4、信息表:punishment 3程序1(标识符)设计说明 3.1程序描述 提高对新书入库、借阅图书以与学生信息管理的速度。减少人力的投入的同时提高了信息处理的精度和准确度,在输入无误的基础上可保证数据的正确性。 3.2性能 说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。 3.2.1精度需求 在精度需求上,根据使用需要,在各项数据的输入,输出与传输过程中,可以满足各种精度的需求。 3.2.2时间需求 在软件方面,响应时间,更新处理时间都比较快且迅速,完全满足用户要求。 3.2.3灵活性 当用户需求,如操作方式,运行环境,结果精度,数据结构于其他软
5、件接口 等发生变化时,设计的软件要做适当调整,灵活性非常大。 3.3输人项 给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式。数量和频度、输入媒体、输入数据的来源和安全保密条件等等。 主模块输入项目:操作系统传递至的各种消息以与用户的输入数据。 学生管理模块输入项目:与学生管理操作子对话框有关的用户输入与系统消息。 图书管理模块输入项目:用户口令。 借阅管理模块输入项目:学生学号、图书编号。 归还管理模块输入项目:图书编号。 3.4输出项 给出对每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形
6、式、数量和频度,输出媒体、对输出图形与符号的说明、安全保密条件等等。 主模块输出项目:用户界面显示。 学生管理模块输出项目:操作结果显示。 图书管理模块输出项目:相应的界面。 借阅管理模块输出项目:学生信息、相关借书信息。 归还管理模块输出项目:相关学生信息。 3.5算法 详细说明本程序所选用的算法,具体的计算公式和计算步骤。 1.登录算法 begin if 输入帐号和密码、身份 不为空 then begin 查询人员表; end else 提示人员编号和人员密码、身份不能为空,返回; if 查询结果为空 then begin
7、 提示出错信息,返回重新登陆; end else 根据不同的身份进入相应的主界面; end。 2.图书查询算法: begin select 图书资料 from 图书信息表 where 条件 like 关键字; if 信息匹配 then begin 返回查询到的图书信息; end else 返回空值; end。 3.增加图书算法 begin select 最大图书编号 from 图书信息表; 新图书编号=最大图书编号+1; 输入新增的图书的信息; if 信息不全 then begin 提示XX不能为空,返回;
8、 end; 确定添加? if 确定 then begin insert into 图书信息表 values(新图书编号,输入的信息); 返回结果; end else 返回输入信息; end 4.图书修改算法: begin 输入图书编号; select 图书资料 from 图书信息表 where 图书编号=输入的图书编号; if 查询结果为空 then begin 提示图书未找到,返回; end else 返回图书信息; 在信息框里修改需要修改的信息; 确定修改? if 确定 then begin updat
9、e 图书信息表 set 图书信息=修改后的图书信息 where 图书编号=输入的图书编号; 返回结果; end else 返回查询的结果; end 5.图书借阅算法 begin 输入读者编号; select 状态 from 读者表 where 读者编号=输入的读者编号; if 状态=停借 then begin 提示读者欠费不能借书,返回; end else begin 输入图书编号; end 确定? if 确定 then begin insert into 借阅表 values (读者,图书信息); end
10、 else 输入到读者编号; end 6.图书归还算法 Begin 输入图书编号 select 状态 from 借阅表 where 图书编号=输入的图书编号; 计算图书借阅时间; if 超期 then begin 计算罚款金额; if 未交付金额 then begin update 读者表 set 读者状态=停借; end end end 3.6流程逻辑 用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。 1. 登陆流程图如图所示:
11、 2. 图书查询流程图如图所示: 3. 增加图书流程图如图所示: 4. 图书修改流程图如图所示: 5. 图书借阅流程图如图所示: 3.8接口 用图的形式说明本程序所隶属的上一层模块与隶属于本程序的下一层模块、子程序,说明参数赋值和调用方式,说明与本程序相直接关联的数据结构(数据库、数据文卷)。 图书管理模块 系统管理模块
12、 图书统计模块 借阅模块 操作员管理 系统参数 查阅图书 查阅读者 模块之间采取的是串行方式与并行方式的结合,并通过值传递来实现数据的传输 3.7存储分配 根据需要,说明本程序的存储分配。 读者查验模块: 数据库 pReader _RecordsetPtr 数据库查询结果集指针 查询参数 vtQuiry _variant_t 查询命令 vNull _variant_t 查询连接 类型转换 strQuiry Cstring 查询命令类型转换 vtemp
13、 _variant_t 查询结果类型转换 图书查验模块: 数据库 pBook RecordsetPtr 数据库查询结果集指针 查询参数 vtQuiry _variant_t 查询字符串 vNull _variant_t 查询连接参量 类型转换 strQuiry Cstring 查询命令类型转换 借书等级模块: 操作命令参数 vRecAffected _variant_t 操作影响 vtCommand _variant_t 操作命令 类型转换 strCommand Cstring 操作命令类型转换 strToday Cst
14、ring 借书日期类型转换 oleToday ColeDateTime 借书日期 还书模块: 数据库 m_pConnection _ConnectionPtr 数据库连接指针 M_pRecords _RecordsetPtr 数据库查询结果集指针 用户界面 m_1BookID long 欲还书书号 m_strLenderID CString 借阅者图书证号显示 m_strLender CString 借阅者姓名 m_strRBInf CString 已还书信息显示 m_strNRBInf CString 未还书信息显示 m_
15、strRBNum CString 已还图书数目显示 m_strNRBNum CString 未还图书数目显示 内部参数 m_1CurrID long 当天还书者借书证证号 m_intRBNum int 已还图书计数 m_MaxLBDay int 借书天数上线 3.8测试计划 说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序与桩模块等的规定。 (1)数据库连接正常时: 输入合理合法参数; 输入参数不合理; 输入参数不合法。 (2) 数据库连接异常。 (3) 数据库数据异常。






