图书管理系统详细设计说明书.docx
- 文档编号:1148118
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:49
- 大小:124.84KB
图书管理系统详细设计说明书.docx
《图书管理系统详细设计说明书.docx》由会员分享,可在线阅读,更多相关《图书管理系统详细设计说明书.docx(49页珍藏版)》请在冰点文库上搜索。
图书管理系统详细设计说明书
〖图书管理系统〗详细设计说明书
错误!
未指定开关参数。
引言
编写目的
项目背景
定义
参考资料
总体设计
需求概述
软件结构
程序描述
登陆模块
管理模块
图书信息查询模块
学生信息查询模块
入库管理模块
学生借书模块
学生还书模块
图书注销模块
接口设计
测试要点
文档名称:
详细设计规格说明书
项目名称:
图书馆管理系统
项目负责人:
陈新光
编写年月日
校对所有小组成员年月日
审核所有小组成员年月日
批准年月日
开发单位
组员:
1引言
1.1编写目的
图书管理系统详细设计是设计的第二个阶段,这个阶段的主要任务是在图书管理系统概要设计书基础上,对概要设计中产生的功能模块进行过程描述,设计功能模块的内部细节,包括算法和详细数据结构,为编写源代码提供必要的说明。
概要设计解决了软件系统总体结构设计的问题,包括整个软件系统的结构、模块划分、模块功能和模块间的联系等。
详细设计则要解决如何实现各个模块的内部功能,即模块设计。
具体的说,模块设计就是要为已经产生的图书管理各子系统设计详细的算法。
但这并不等同于系统实现阶段用具体的语言编码,它只是对实现细节作精确的描述,这样编码阶段就可以将详细设计中对功能实现的描述,直接翻译、转化为用某种程序设计语言书写的程序。
1.2项目背景
根据学校希望能够充分利用现代科技来提高图书管理的效率,在原有的办公系统基础上进行扩展,将一些可以用计算机来管理的都进行计算机化,使得图书馆管理人员工作更加方便,工作效率也更加的高。
1.3定义
•:
数据库管理软件
•:
数据库管理系统
•:
运行环境
•:
软件开发语言
•:
开发工具
1.4参考资料
《软件工程导论——第版》张海藩编著清华大学出版社
《实用软件工程》著
机械工业出版社
2总体设计
2.1需求概述
按照需求分析文档中的规格要求,使用条形码扫描器进书、借书、还书,使得信息传递准确、流畅。
同时,系统最大限度地实现易安装,易维护性,易操作性,运行稳定,安全可靠。
2.2软件结构
系统由大模块,小模块组成:
序号编号名称
1,登陆模块
2,管理模块
3,图书信息查询模块
4,学生信息查询模块
5,入库管理模块
6,学生借书模块
7,学生还书模块
8,图书注销模块
9,基础信息设置
3
程序描述
3.1登陆模块
具体格式见下表:
功能编号
功能名称
登陆模块
内容
功能流程图
所属业务
图书馆管理
所属项目
图书馆管理系统
编写人
陈新光
完成时间
页码
第页
3.1.1功能流程图
功能流程图如下图所示。
需要说明的问题:
(1)录入项检测使用实现(各项必须非空)
(2)登陆页面也包含查询按钮,在此的登陆提交的数据只是用户名和密码。
3.1.2功能描述
(1)功能类型:
查询数据
(2)功能描述:
提高系统的安全性
(3)前提业务:
无
(4)后继业务:
(管理模块)
(5)功能约束:
权限约束
(6)约束描述:
(7)操作权限:
图书馆管理员
3.1.3界面设计
(1)基础信息处理
动作说明:
动作编号
动作名称
动作描述
登陆
点击登陆按钮提交数据到登陆数据处理页面
重至
点击退重至按钮将当前信息恢复原先状态
图书信息查询
点击将页面转至到图书信息查询页面
学生信息查询
点击将页面转至学生信息查询页面
基础信息
点击将显示基础信息
(2)数据要求
(1)功能类型:
数据查询
(2)数据描述:
页面显示录入字段如下:
字段名称
长度
录入方式
是否非空项
数据检验
默认显示
管理员
文本框
管理员密码
3.1.4登陆数据处理的内部逻辑
登陆数据处理:
关键点两点:
,数据库连接;,记录登陆信息及信息处理;
1,数据库连接:
如下:
{
(){
}
;
;
"";
设置你的数据库
"";
设置你的数据库用户名和密码:
"";
"";
设置您的数据库名
"";
(){
{
("")();
"""""""""";
();
}
(){
();
}
;
}
}
在建立数据库,之后将与数据操作相关数据与该数据库相连;
2,记录登陆信息及信息处理:
当用户点击“登陆”按钮之后,数据将提交到登陆数据处理页面。
取得帐号密码这两个从页面传入的值,然后跟数据库当中管理员表中的账号和密码比较。
如果正确的话,在的中存入一个标记属性,表示当前已经有管理员登陆了。
处理完毕后,跳转到管理页面,如果失败,则提示登陆失败,并重新进入到登陆页面。
具体的逻辑如下:
<
(,"");
取得用户名
(,"");
取得密码
"";
错误码
()
{
();
在的中存如一个标记属性,表示当前已经有管理员登陆了
(“”);
("");
}
()
{
"错误的用户名和密码";
("?
"());
}
{
("请填写好你的个人信息!
");
}
>
3.1.5存储分配
管理员表:
()
序号
字段名
类型
长度
精度
小数位数
默认值
允许空
主键
说明
()管理员
√
()管理员密码
()权限
3.2管理模块
具体格式见下表
功能编号
功能名称
管理模块
内容
功能流程图
所属业务
图书馆管理
所属项目
图书馆管理系统
编写人
陈新光
完成时间
页码
第页
3.2.1功能流程图
功能流程图如下所示:
需要说明的问题:
在选择相应的业务时,需要在当前的页面显示;并且在管理页面内,默认显示图书查询页面。
3.2.2功能描述
(1)功能类型:
其他
(2)功能概述:
总体归纳图书馆管理功能
(3)前提业务:
登陆模块()
(4)后续业务:
,,,,
(5)功能约束:
权限约束
(6)约束描述:
(7)操作权限:
图书馆管理人员
3.2.3界面设计
(1)基本信息处理
动作说明如下:
动作编号
动作名称
动作描述
入库管理
点击按钮将页面转至入库管理页面
学生借书
点击按钮将页面转至学生借书页面
学生还书
点击按钮将页面转至学生还书页面
图书注销
点击按钮将页面转至图书注销页面
图书查询
点击按钮将页面转至图书查询页面
(2)数据要求
功能类型:
其他
3.3图书信息查询模块
具体格式如下:
功能编号
功能名称
图书信息查询模块
内容
功能流程图
所属业务
图书馆管理
所属项目
图书馆管理系统
编写人
陈新光
完成时间
页码
第页
3.3.1功能流程图
功能流程图如下图:
需要说明的问题:
录入项检测使用来实现(各项非空);
操作权限:
面向所有用户
3.3.2功能描述
(1)功能类型:
查询数据
(2)功能概述:
显示查询结果
(3)前提业务:
无
(4)后继业务:
(5)功能约束:
没有约束;
(6)约束描述:
(7)操作权限:
面向所有用户
3.3.3界面设计
(1)基础信息处理
下表是动作说明:
动作编号
动作名称
动作描述
确定
点击按钮提交数据到图书查询数据处理页面
学生信息查询
点击按钮将页面转至学生信息查询页面
(2)数据要求
(1)功能类型:
数据查询
(2)数据描述:
页面显示字段见下表:
字段名称
长度
录入方式
是否非空项
数据检验
默认显示
请选择查询类型
下拉列表
请输入查询内容
文本框
(3)图书信息查询的输出项
书名
图书类型
作者
译者
出版社
价格
书架名称
现存量
简介
书名
图书类型
3.3.4模块内部逻辑
1,用于显示界面的内容,给用户显示一个查询接口
2,用来调度所有的页面,它根据传入的参数来决定包含哪一个页面来显示内容;
在页面中,
它根据传入的参数来决定包含哪一个页面来显示内容;则可以通过<”<……>”>,利用标签来被动态加载发送到相应页面;
3,用来处理数据查询和显示查询到的结果列表。
在这个页面中,数据要求是以列表的形式显示到输出页面。
由于查询到的结果可能过多,所以采用分页形式显示;
对于分页功能的内部逻辑:
4,用来显示查询到的图书的各项属性。
3.3.5存储分配
图书目录文件():
序号
字段名
类型
长度
精度
小数位数
默认值
允许空
主键
说明
()图书编号
√
自动编号
()条形码
()书名
()图书类型
√
()作者
√
()译者
√
()
()出版社
√
()书架名称
√
()现存量
√
()库存总量
√
()入库时间
√
()操作员
√
()简介
√
()借出次数
√
()是否注销
√
()图书状态
√
借书文件表():
序号
字段名
类型
长度
精度
小数位数
默认值
允许空
主键
外键
说明
()借阅编号
√
自动编号
()图书编号
√
()学生编号
√
()借阅时间
√
()到期时间
√
()续借次数
√
()操作员
√
()状态
√
3.4学生信息查询模块
具体格式如下:
功能编号
功能名称
学生信息查询模块
内容
功能流程图
所属业务
图书馆管理
所属项目
图书馆管理系统
编写人
陈新光
完成时间
页码
第页
3.4.1功能流程图
功能流程图如下图:
需要说明的问题:
录入项检测使用来实现(各项非空);
操作权限:
面向所有用户
3.4.2功能描述
(8)功能类型:
查询数据
(9)功能概述:
显示查询结果
(10)前提业务:
无
(11)后继业务:
(12)功能约束:
没有约束;
(13)约束描述:
(14)操作权限:
面向所有用户
3.4.3界面设计
(4)基础信息处理
下表是动作说明:
动作编号
动作名称
动作描述
确定
点击按钮提交数据到图书查询数据处理页面
图书信息查询
点击按钮将页面转至图书信息查询页面
(5)数据要求
(3)功能类型:
数据查询
(4)数据描述:
页面显示字段见下表:
字段名称
长度
录入方式
是否非空项
数据检验
默认显示
请输入学号
文本框
(6)学生信息查询的输出项
学生学号
姓名
性别
生日
证件号码
联系电话
登记日期
有效期至
已借书数
3.4.4模块内部逻辑
5,用于显示界面的内容,给用户显示一个查询接口
6,用来调度所有的页面,它根据传入的参数来决定包含哪一个页面来显示内容;
在页面中,
它根据传入的参数来决定包含哪一个页面来显示内容;则可以通过<”<……>”>,利用标签来被动态加载发送到相应页面;
7,用来显示查询到的结果列表。
8,用来显示查询到的学生的各项属性。
★★注释:
学生信息查询模块与图书查询模块属于同一类功能。
实现可以完全类似。
3.4.5存储分配
学生文件:
序号
字段
字段名
类型
长度
精度
小数位数
默认值
允许空
主键
说明
学生编号
√
自动编号
姓名
性别
√
证件号码
√
联系电话
√
登记日期
√
有效期至
√
已借书数
√
学生规则
是否挂失
√
借书文件:
序号
字段名
类型
长度
精度
小数位数
默认值
允许空
主键
外键
说明
借阅编号
√
自动编号
图书编号
√
学生编号
√
借阅时间
√
到期时间
√
续借次数
√
操作员
√
状态
√
3.5入库管理
具体格式如下:
功能编号
功能名称
入库管理模块
内容
功能流程图
所属业务
图书馆管理
所属项目
图书馆管理系统
编写人
陈新光
完成时间
页码
第页
3.5.1功能流程图
(1)执行数据库操作的时候要验证权限
(2)录入项检验用来实现(选项非空)
3.5.2功能描述
(1)功能类型:
添加数据
(2)功能描述:
增加图书目录文件中的图书信息。
(3)前提业务:
管理模块
(4)后继业务:
无
(5)功能约束:
权限约束
(6)约束描述:
无
(7)操作权限:
图书馆管理人员
3.5.3界面设计
1,基础信息处理
动作说明如下表:
动作编号
动作名称
动作描述
保存
点击按钮提交数据到入库数据处理页面
退出
点击按钮将当前页面关闭
2,数据描述
(1)功能类型:
数据增加。
(2)数据描述:
页面录入字段见下表:
字段名称
长度
录入方式
是否非空项
数据检验
默认显示
书号
文本框
条形码
文本框
书名
文本框
作者
文本框
出版社
文本框
版次
文本框
图书类别
文本框
单价
文本框
录入时间
默认系统时间,格式:
年月日
只需程序记录
显示在入库界面
录入人
默认系统登陆人员
只需程序记录
显示在入库界面
3,入库数据处理内部逻辑:
图书入库采用表格进行多行添加:
利用来编写一个来管理图书。
在类中增加记录的公共接口来实现入库数据的添加。
具体的类设计如下:
(){
("","","","");
();
("");
((""(),""));((""(()("")),""));((""(()("")),""));((""(()("")),""));
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
还有其他选项,同上格式。
();
}
该方法有一个参数,是类,在调用该方法前,先用和的方法将字段名和该条记录的值存入中,然后将这个作为参数传入方法中。
在方法的最后,调用中的方法,可以根据传入的参数自动的生成增加记录的语句并通过发送到数据库。
正对类:
主要是实现对数据库的各种操作:
如与数据库的连接,对数据库的操作。
3.5.4存储分配
图书目录文件:
序号
字段名
类型
长度
精度
小数位数
默认值
允许空
主键
说明
图书编号
√
自动编号
条形码
书名
图书类型
√
作者
√
译者
√
出版社
√
价格
√
书架名称
√
现存量
√
库存总量
√
入库时间
√
操作员
√
简介
√
借出次数
√
是否注销
√
图书状态
√
入库表:
序号
字段名
类型
长度
精度
小数位数
默认值
允许空
主键
外键
说明
书号
√
自动编号
条形码
√
书名
√
作者
√
出版社
√
版次
√
图书类别
√
存放位置
√
单价
√
入库数量
√
金额
√
经手人
√
票号
√
操作员
√
日期
√
注:
3.6学生借书模块
具体格式如下:
功能编号
功能名称
学生借书模块
内容
功能流程图
所属业务
图书馆管理
所属项目
图书馆管理系统
编写人
陈新光
完成时间
页码
第页
3.6.1功能流程图
需要说明的问题:
(1)在进行借书,修改数据信息时,应先查询学生的欠款信息,如欠款超额,则利用实现信息提示,拒绝借书,如无超额,则接受借书。
(2)为便于以后的恢复操作,此修改操作只在表中做一个标志,并不是真正的对其修改;
3.6.2功能描述
(1)功能类型:
修改数据和查询数据
(2)功能描述:
更新学生借书文件,图书目录文件等中的信息;
(3)前提业务:
管理模块
(4)后继业务:
无
(5)功能约束:
权限约束
(6)约束描述:
(7)操作权限:
图书馆管理人员
3.6.3界面设计
1,基础信息处理
动作说明如下:
动作编号
动作名称
动作描述
重置
点击按钮将文本框内的所有数据清空
提交
点击按钮将数据提交到处理学生超额信息页面
取消
将当前页面关闭,并取消借阅
2,数据描述
(1)功能类型:
修改数据和查询数据
(2)界面设计:
(3)数据字段描述:
字段名称
长度
录入方式
是否非空项
数据检验
默认显示
学生证件号码
文本框
书籍条形码号
文本框
3,图书借阅数据处理内部逻辑
((“”)){
(学生超额学生不存在){
;
}{
(()){
新增操作
[]();
(){
;
}{
(<){
><>(“<[]>”);<><
([])
;
}
}
}
}
(){
><>(“借阅失败!
”);<><
}{
><>(“借阅成功!
”);<><
}
}
执行的过程如下:
首先要验证学生信息是否存在和学生的欠款是否超额,也就是说学生是否可以借书,图书是否在馆等,在确定合法之后调用()来完成借阅流程。
流程其实就是对几个表进行增改的操作。
关于()的算法:
[]()
{
("批量处理新增借阅。
。
。
。
。
。
");
"";
("","","","");
();
(()(""))证件号
(()(""))条形码
(()(""))借阅时间
""学生
""图书
""到期时间
""续借次数
根据学生证件号取的学生
根据学生取得规则,然后取得可以借阅天数,
""
""
"'""'";
()();
(()(""));
(()(""));
根据条形码取得图书
"'""'";
()();
(()(""));
新增操作
();
();
"()"
"("","","",'"
"'((('""','')""),'')"
",'""','""')";
();
"'借出'";
();
"";
();
[]();
();
;
}
而对于取消按钮事件,由于要实现取消借阅,所以需要调用()来取消借阅操作;算法如下:
[]()
{
("批量处理取消借阅。
。
。
。
。
");
"";
"";
()();
()("");
();
();
"'""'";
();
"'可借'";
();
[]();
();
;
}
3.6.4存储分配
借书文件:
序号
字段名
类型
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 详细 设计 说明书