图书管理系统概要设计.docx
《图书管理系统概要设计.docx》由会员分享,可在线阅读,更多相关《图书管理系统概要设计.docx(25页珍藏版)》请在冰豆网上搜索。
图书管理系统概要设计
软件工程(课程设计)
题目:
图书管理系统-概要设计
学院工商学院
学科门类工学
专业软件工程
学号2012484116
姓名赵博深
指导教师王思乐
2014年12月2日
总版本
V1.0
编号
LMS
版本
LMS1.0
项目名称
图书管理系统
项目代码
LibraryManagementSystem
分项名称
概要设计
分项代码
02
分项序号
LMS02
组长
梅燕涛
负责人
赵博深
参与人
梅燕涛赵博深文鹏梁雪山李伟徐鹤松
指导教师
王思乐
日期
2014年12月2日
开发单位
2012级软件开发组
河北大学学年论文(课程设计)任务书
(指导教师用表)
学生姓名
赵博深
指导教师
王思乐
论文(设计)题目
图书管理系统-概要设计
主要研究
(设计)内容
对图书管理系统进行需求分析,主要分析该系统需要实现的功能和如何实现,从数据、功能、性能等方面进行分析。
研究方法
课本《软件工程导论》上面介绍了很多关于项目需求的研究方法,通过小组讨论,主要采用数据流图和数据字典进行需求分析、概要设计。
主要任务
及目标
该需求规格说明书对图书管理系统软件进行了全面细致的用户需求分析,明确所要开发的软件应具有的功能,概要设计说明书和完成后续设计与开发工作将在此基础上进一步提出。
确定图书管理系统的功能及有效性需求,以供软件开发人员参考。
主要参
考文献
张海藩《软件工程导论》(第四版)清华大学出版社。
2003。
叶核亚《Java程序设计实用教程》(第三版)电子工业出版社。
萨师煊王珊《数据库系统概论》高等教育出版社
进度安排
论文(设计)各阶段名称
日期
问题定义
第10周
概要设计
第11周-第13周
设计
第14周-第15周
实现
第16周
指导教师签字:
河北大学学年论文(课程设计)成绩评定表
学院:
数学与计算机学院
学生姓名
赵博深
专业年级
2012级软件工程
论文(设计)题目
图书管理系统—概要设计报告
论文(设计)内容提要
此文档是图书管理系统的概要设计报告,该报告主要是对此系统所将要实现功能的一个简单的介绍和如何实现。
首先引言中介绍了设计该系统的目的,背景和所需要的参考资料;接下来是总体设计、处理流程,然后是接口设计、运行设计,系统数据结构设计,数据结构设计主要是从逻辑结构设计和物理结构设计两方面出发的,最后说明该系统的约束,并且提出可行性的方案,确定系统所要实现的功能。
指导教师评语
成绩:
指导教师(签名):
年月日
概要设计说明书
1引言
1.1目的
编写本报告的目的是说明对系统设计的考虑,并且完成系统的大致设计、明确该系统的数据结构与软件结构,进一步细化该系统设计阶段得出的总体概。
该系统能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理;能够对一定数量的读者进行相应的信息存储与管理等等,作为软件详细设计的基础。
1.2背景
待开发软件系统的名称:
图书管理系统
项目的任务提出者:
软件工程
开发者:
本小组成员
用户:
学校图书馆。
1.3定义、缩写词、略语
LMS:
LibraryManagementSystem,图书管理系统。
GUI:
GraphicUserInterface,图形用户界面。
1.4参考资料
张海藩《软件工程导论》(第四版)清华大学出版社。
2003。
叶核亚《Java程序设计实用教程》(第三版)电子工业出版社。
萨师煊王珊《数据库系统概论》高等教育出版社
2总体设计
2.1需求规定
主要输入输出项目:
图书信息:
(图书名称、图书条形码号、作者、出版社、类型、图书借阅状态)
学生信息:
(学号、姓名、专业、年级、借书卡号、卡内余额、卡状态)
管理员信息:
(姓名、编号、密码、权限)
借书登记:
(图书条形码号、图书名称、借书卡号、借书日期)
还书登记:
(图书条形码号、图书名称、归还日期、借书卡号、赔偿金额)
2.2运行环境
运行时占用内存:
≤1MB;
所需硬盘空间:
≤6MB;
Windows98/XP/Windows7或更高版本
2.3基本设计概念和处理流程
1)基本设计概念
1.灵活的人机交互界面,操作简单方便、界面简洁美观。
2.实现独立的多方式查询。
3.提供创建,删除管理员账户及修改密码功能。
4.提供图书的上架入库下架出库的功能。
5.实现“一卡通”式的管理,使得工作更加方便有效。
2)处理流程
1.主流程
建立与数据库的链接
显示主界面
等待用户进入
如:
学生使用的对话框:
进入学生学生通道,显示个人信息和书刊检索
管理员使用的对话框:
进入管理员通道,显示借书、查询、还书。
后台管理的对话框:
进入后台通道,显示管理员信息、图书上架、图书下架、管理一卡通。
关于、帮助:
体统的基本信息和对系统使用方法的基本介绍。
2.学生通道
等待学生用户输入
如:
查询图书信息:
读入用户设置的查询方式及关键字,显示查询结果。
查询个人信息:
输入学生卡号、密码,显示
退出查询状态:
结束查询流程。
3、管理员通道
等待管理员用户输入
登陆:
编号、密码。
如:
借书信息管理:
选择查询模式,图书条形码号、图书名称、作者、借书日期,输入关键字。
提交借书请求,更新信息显示,把借书信息写入图书访问记录文件进行备份,显示借书操作结果。
还书信息管理:
选择按图书条形码号、图书名称、归还日期、借书卡号、赔偿金额,提交还书请求更新信息显示,把还书信息写入图书访问记录文件进行备份,显示还书书操作结果。
查询信息管理:
查询学生信息,输入学生卡号,显示个人信息及个人借书信息,显示查询结果。
返回操作:
结束图书管理流程。
4、后台通道
等待管理员用户输入
登陆:
编号、密码。
如:
图书上架管理:
添加图书信息
图书名称、图书条形码号、作者、出版社、类型,
插入数据,
刷新数据显示。
修改图书信息
选择图书类别,
输入新图书类别,
更新数据显示。
图书下架管理:
删除图书信息
要求用户确认,
检查相关记录是否存在,
如存在且用户确认则将该记录从库中删除,
刷新数据显示。
管理员信息管理:
注册
输入编号、密码、设置权限,
插入数据。
修改
查找出管理员,
修改个人信息,
刷新数据显示。
删除
查找出管理员,
检查相关记录是否存在,
如存在且用户确认则将该记录从库中删除,
刷新数据显示。
返回
返回管理员信息界面。
一卡通:
办卡
添加学生信息
学号、姓名、专业、年级、借书卡号、卡内余额、卡状态
插入数据,
刷新数据显示。
修改学生信息
根据借书卡号查找学生,
修改学生信息,
刷新数据显示。
退卡
删除学生信息
检查相关记录是否存在,
如存在且用户确认则将该记录从库中删除,
刷新数据显示。
充值
刷卡、充值。
打印凭证
2.4结构
2.5模块需求规定
导借机子系统
1书刊检索模块
⑴按条形码号检索子模块
输入项:
条形码号BookID
输出项:
Struct图书信息
{
条形码号BookID;
图书类别Class;
书架号BookshelvesNo;
书名BookName;
作者Author;
出版社Publisher;
借阅状况BookStatus
};
⑵按书名首字母检索子模块
输入项:
书名首字母
输出项:
Struct图书信息
{条形码号BookID;
图书类别Class;
书架号BookshelvesNo;
书名BookName;
作者Author;
出版社Publisher;
借阅状况BookStatus
};
⑶按书名检索子模块
输入项:
书名BookName
输出项:
Struct图书信息
{
条形码号BookID;
图书类别Class;
书架号BookshelvesNo;
书名BookName;
作者Author;
出版社Publisher;
借阅状况BookStatus
};
⑷按作者检索子模块
输入项:
作者Author
输出项:
Struct图书信息
{
条形码号BookID;
图书类别Class;
书架号BookshelvesNo;
书名BookName;
作者Author;
出版社Publisher;
借阅状况BookStatus
};
⑸按出版社检索子模块
输入项:
出版社Publisher
输出项:
Struct图书信息
{
条形码号BookID;
图书类别Class;
书架号BookshelvesNo;
书名BookName;
作者Author;
出版社Publisher;
借阅状况BookStatus
};
2查询模块
(1)查询借阅情况子模块
输入项:
借书卡号CardNo=“0000001”----“10000000”;
输出项:
Struct借阅信息{
借书卡号CardNo;
借阅书籍BookID;
借书日期OutDate;
还书日期InDate;
赔偿钱数Compensation}
(2)查询学生信息子模块
输入项:
借书卡号CardNo=“0000001”----“10000000”;
输出项:
Struct学生信息{
卡号CardNo;
学号ReaderID;
姓名Name;
年级Grade;
专业Major;
卡内余额Balance;
是否注销Status}
借阅机子系统
1查询模块
(1)查询学生信息子模块
输入项:
借书卡号CardNo=“0000001”---“10000000”
输出项:
学生基本信息[卡号CardNo+学号ReaderID+姓名Name+年级Grade+专业Major+卡内余额Balance+是否注销Status,借阅情况=借书卡号CardNo+借阅书籍BookID+借书日期OutDate+还书日期InDate+赔偿钱数Compensation]
(2)查询图书信息子模块(同上)
2借书模块
输入项:
借书卡号CardNo、条形码号BookID、借书日期InDate;
输出项:
BoolTrue/False
3还书模块
输入项:
借书卡号CardNo、条形码号BookID、还书日期InDate
输出项:
BoolTrue/False
管理机子系统
管理员模块
(1)注册子模块
输入项:
姓名WorkerName+工号WorkerId+密码Password+权限Level;
输出项:
BoolTrue/False;
(2)删除子模块
输入项:
姓名WorkerName+工号WorkerId+密码Password+权限Level;
输出项:
BoolTrue/False;
(3)修改子模块
输入项:
姓名WorkerName+工号WorkerId+密码Password+权限Level;
输出项:
BoolTrue/False
图书上架模块
输入项:
图书信息=条形码号BookID+图书类别Class+图书名称BookName+书架号BookshelvesNo+作者Author+出版社Publisher
输出项:
BoolTrue/False
图书下架模块
输入项:
图书信息=条形码号BookID+图书类别Class+图书名称BookName+书架号BookshelvesNo+作者Author+出版社Publisher
输出项:
BoolTrue/False
一卡通模块
(1)办卡子模块
输入项:
卡号+姓名+学号+年级+专业+卡内余额+押金
输出项:
BoolTrue/False
(2)退卡子模块
输入项:
卡号+卡内余额+注销操作
输出项:
BoolTrue/False
(4)充值子模块
输入项:
卡号+充值金额RechargeMoney+充值时间RechargeTime
输出项:
BoolTrue/False
2.6功能需求与程序的关系
本条用一张如下的矩阵图说明各项功能需求的实现同各块程序的分配关系:
创建
查找
修改
删除
图书信息管理(管理员
√
√
√
√
管理员信息管理(管理员)
√
√
√
√
学生信息管理(管理员)
√
√
√
√
学生信息查询(学生)
√
查询图书信息(学生)
√
归还图书(管理员)
√
√
√
√
借阅图书(管理员)
√
√
√
√
2.7人工处理过程
管理员登录:
图书管理员需要手动输入登录信息验证身份登录系统后方能进行操作。
学生登录:
学生需要手动输入登录信息验证身份登录系统后方能进行操作。
一卡通的办理、充值、退卡:
管理员需要手动输入学生信息,和卡内金额,以及卡的注销。
修改管理员和学生信息:
当管理员和学生信息出错或者注销时,需管理员手动对信息进行修改。
图书入库:
对于新购图书,管理员需要手动对其进行分类进行编号,并把图书基本信息录入计算机。
修改图书信息:
学生借阅图书时,管理员需要对该图书进行登记,记录被借阅图书信息和学生信息。
当学生归还图书时,同样需要对图书信息进行修改。
2.8尚未解决的问题
刷卡工作因为条件不允许只能通过人工操作来模拟。
3接口设计
3.1用户接口
向用户提供命令软件回答对应信息
操作员登记添加学生信息
添加管理员信息
学生查询学生信息查询
图书登记管理员登记图书信息
借阅、归还登记管理员登记学生的借阅信息
借阅查询管理员查询学生的借阅情况
学生自己查询借阅情况
3.2外部接口
接口
传递信息
硬件接口
与打印机接口
充值信息
与读条码机接口
图书条形码号
软件接口
与数据库接口
图书信息,学生信息,借阅信息
3.3内部接口
4运行设计
4.1运行模块组合
4.2运行控制
运行控制
控制方法
学生信息管理
管理员对学生信息进行管理,包括增加学生用户,修改用户信息,以及删除学生信息
学生信息查询
学生用户可以对学生的信息进行查询,包括个人信息以及所借图书信息
管理员信息管理
管理员对管理员信息进行管理,包括增加管理员,修改管理员信息以及删除管理员信息
图书信息登记
录入新的图书信息,以及对已有图书的各项信息进行修改,查询,删除等
图书信息查询
学生对所要借阅的图书信息进行查询
借阅、归还图书登记
管理员登记学生所借图书信息以及学生个人的信息
借阅查询
管理员对学生或者所对应图书的信息进行查询
4.3运行时间
检索任务所需时间:
<3秒
执行任务所需时间:
<3秒
5系统数据结构设计
5.1逻辑结构设计要点
图书信息表的结构
序号
字段名称
字段说明
类型
位数
属性
备注
1
BookName
图书名称
varchar
20
必须非空
2
BookID
条形码号
varchar
15
必须非空
主键
3
Author
图书作者
varchar
10
必须非空
4
Publisher
图书出版社
varchar
20
必须非空
5
Class
图书类型
char
16
必须非空
6
BookStatus
图书借阅状态
int
1
必须非空
7
BookshelvesNo
图书所在书架号
varchar
10
必须非空
图书借阅登记表的结构
序号
字段名称
字段说明
类型
位数
属性
备注
1
CardNo
借书卡号
varchar
10
必须非空
2
BookID
条形码号
varchar
7
必须非空
主键
3
OutDate
借书日期
varchar
10
必须非空
4
BookName
图书名称
varchar
20
必须非空
图书归还登记表的结构
序号
字段名称
字段说明
类型
位数
属性
备注
1
CardNo
借书卡号
varchar
10
必须非空
2
Compensation
赔偿金额
varchar
10
必须非空
3
BookID
条形码号
varchar
7
必须非空
4
BookName
图书名称
varchar
20
必须非空
5
BackDate
还书时间
varchar
10
必须非空
学生信息表的结构
序号
字段名称
字段说明
类型
位数
属性
备注
1
ReaderID
学生学号
varchar
10
必须非空
2
Name
学生姓名
varchar
10
必须非空
3
CardNo
借书卡号
varchar
10
必须非空
主键
4
Major
学生专业
varchar
20
必须非空
5
Grade
学生年级
varchar
4
必须非空
6
Balance
卡内余额
varchar
4
必须非空
7
Status
卡状态
varchar
10
必须非空
管理员信息表的结构
序号
字段名称
字段说明
类型
位数
属性
备注
1
WorkerID
管理员编号
varchar
5
必须非空
主键
2
WorkerName
管理员姓名
varchar
10
必须非空
3
Password
密码
varchar
6
必须非空
4
Level
权限
varchar
10
必须非空
系统设置表结构
序号
字段名称
字段说明
类型
位数
属性
备注
1
MaxBLNum
最多可借图书数
int
2
必须非空
主键
2
MaxBLDays
最多借书天数
int
2
必须非空
5.2物理结构设计要点
采用链表结构
5.3数据结构与程序的关系
主模块:
连接数据库;
系统操作模块:
对图书管理,学生管理,图书借阅管理,系统管理,管理员调用数据库操作模块对各个库进行相应操作,对数据进行备份,在授权操作中检验用户身份。
图书管理模块:
对图书库操作,调用数据库操作模块对各个库进行相应操作,对数据进行备份,在授权操作中检验用户身份。
学生管理模块:
对学生库操作,调用数据库操作模块对各个库进行相应操作,对数据进行备份,在授权操作中检验用户身份。
图书借阅管理模块:
对借书模块,还书模块,查询模块进行相应操作
借书模块:
指定卡号,读出并修改图书状态,记录借书日期,借书读者的相关信息,并把相关信息记录到访问记录模块中。
还书模块:
指定卡号,读出并修改图书状态,记录还书日期,还书读者的相关信息,并把相关信息记录到访问记录模块中。
查询模块:
指定查询条件,提交给数据库操作模块。
系统管理模块:
对添加管理员,修改信息操作,并把相关信息记录到访问记录模块中,在授权操作中检验用户身份。
6系统出错处理设计
6.1出错信息
根据不同的出错情况给出不同的出错信息,一般用对话框给出。
6.2补救措施
对一般错误,给用户提示信息,让用户重新输入或退出。
对于严重错误,启动备份文件恢复,建议使用帮助文件。
6.3系统维护设计
可以在软件交付后根据用户反馈意见修必类模块功能。