图书管理系统设计报告.docx
- 文档编号:9808149
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:79
- 大小:626.84KB
图书管理系统设计报告.docx
《图书管理系统设计报告.docx》由会员分享,可在线阅读,更多相关《图书管理系统设计报告.docx(79页珍藏版)》请在冰点文库上搜索。
图书管理系统设计报告
软件工程设计报告
图书馆管理系统
图书管理系统需求规格说明书
1引言
二十一世纪是信息的社会,信息作为社会最主要的资源,将成为战略资源引起人们广泛的关注。
如何获取信息?
图书是我们最好的获取信息的方式,但由于图书馆图书收藏量大大增加,使传统的图书管理员的工作日益繁重起来。
迫使人们起用新的管理方法来管理图书,如何把图书管理员从繁重的工作中解脱出来呢?
科学技术日新月异的进步,让人类生活发生了巨大的变化,计算机技术的飞速发展,使各行各业在计算机技术应用方面得到了广泛的普及和使用。
在图书管理领域可以使用图书管理系统大大的节约人力物力,方便管理。
1.1编写目的
本系统将传统的图书管理方式彻底的解脱出来,提高效率,减轻工人人员以往繁忙的工作,减小出错的概率,使读者可以花更多的时间在选择书和看书上。
从而使人们有更多时间来获取信息、了解信息、掌握信息。
本需求说明书,从各个角度
1.2背景说明:
本软件系统为“图书管理系统”,为方便对图书馆书籍、读者资料、借还书等进行高效的管理,特编写该程序以提高图书馆的管理效率。
使用该程序之后,工作人员可以查询某位读者、某种图书的借阅情况,还可以对当前图书借阅情况进行一些统计,给出统计表格,以便全面掌握图书的流通情况。
1.3术语定义
图书分类法:
A 马克思主义、列宁主义、毛泽东思想B 哲学C 社会科学总论
D 政治、法律 E 军事 F 经济 G 文化、科学、教育、体育
H 语言、文字 I 文学 J 艺术 K 历史、地理 N 自然科学总论
O 数理科学和化学 P 天文学、地理科学 Q 生物科学 R 医学、卫生
S 农业科学 T 工业技术 U 交通运输 V航空、航天
X环境科学、劳动保护科学(安全科学) Z 综合性图书
1.4参考资料
《软件工程导论》(第四版,清华大学出版社,张海藩主编)
《软件工程——原理、方法与应用》(第二版,高等教育出版社,史济民等编著)
《软件工程实验》课程指导书
《软件工程专业实验——系统开发详细步骤说明》
1目标系统概述
业务流程
图书管理系统的业务流程:
2需求规定
2.1对功能的规定
2.1.1功能需求
管理界面的系统功能模块图:
客户界面的系统功能模块图:
2.1.2功能说明
此图书管理系统完成的功能有三大部分:
(一)管理员部分功能分两类:
第一类实现新书的入库,包括了对新书的信息(分类,编号等)的录入。
图书信息增删改的操作,这类功能主要针对于图书的。
第二类实现对会员信息的增删改,以及会员信息的查询。
这类功能主要针对于会员。
(二)读者部分功能同样分为两类:
第一类实现会员信息的自我修改,图书信息,图书借阅,预约,续借的相关操作,这类功能针对会员;第二类实现普通读者相关操作,比如对于馆藏书籍的查询,以及申请会员读者的操作。
(三)图书馆部分功能分为三类:
第一类查询功能,这类功能实现用户信息查询(个人基本信息,借阅信息,违规记录)。
第二类借阅功能包括借阅及续借的功能。
第三类还书功能实现还书及违规处理的操作。
3系统框图
3.1数据流图、数据字典、对象-关系模型
(1)系统数据流图:
会员数据流分析
管理员数据流分析
(2)数据字典
列出的几个数据卡片:
(3)对象关系模型
实体之间关系E-R图
管理员信息实体的E-R图
会员信息实体的E-R图
图书实体E-R图
图书分类实体的E-R图
借阅实体的E-R图
借阅信息表实体E-R图
3.2对性能的规定
3.2.1精度
说明对该图书管理系统的输入、输出数据精度的要求,可能包括传输过程中的精度。
其中,输入输出数据的精度来源于各业务流程中各种操作所涉及到的数据精度。
3.2.2时间特性要求
说明对于该软件的时间特性要求,如对:
a.响应时间;由于此系统的现实要求,对于响应时间要求很高,因此要求响应速度快。
b.更新处理时间;对于各方面数据信息的更新处理速度也要很快。
c.数据的转换和传送时间;这方面的时间要求是以上两项的基础和纽带,所以必须保证数据转换和传送的时间。
d.解题时间等的要求。
这方面的时间需求也牵涉到上述的三方面的时间要求。
所以解题时间快速是不容质疑的。
3.2.3灵活性
说明对该软件的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,如:
a.操作方式上的变化;将操作方式与操作的顺序尽量不相关,这样就可以在很大程度上实现操作方式的不同。
b.运行环境的变化;由于此图书管理系统的设计实现是用了JSP,JAVA,MYSQL等开源软件的,所以此图书管理系统对各个平台兼容性是很好的,即运行环境的变化对此系统影响是不会很大的。
c.同其他软件的接口的变化;接口上的变化还是与实现开发此系统的工具有关。
由于我们用的是开源软件而且开软的普及化,所以此系统能够胜任接口的变化。
d.有效时限的变化主要与读者服务挂钩,比如会员读者有效时间。
3.4数据管理能力要求
对一些很重要的东西文件等需要有记录并且有存储功能,最好还要有自动备份系统的支持,防止信息的丢失和被恶意破坏等。
规模不需很大但是必须要完全有能力完成这些业务。
3.5故障处理要求
对于一些诸如死机软件破坏、信息丢失、硬件破坏等方面的考虑要周到细致,作到完全 让客户放心使用。
对于一些非维护范围内的损失也应该替用户考虑到。
对于需要密码保护方面的增殖业务功能损坏可能要造成很大的损失,所以 特别考虑好。
万一出错,要及时再没有造成重大损失之前修补好程序。
3.6其他专门要求
要求有很好的可操作性 ,便于用户阅读和使用,应该对一些功能及时修改补充,并且对软件系统经常性的维护保证正常使用。
4 运行环境规定
4.1设备
图书馆管理系统的实现需要服务器端和客户端。
需要一般内存即可。
●硬件环境:
服务器:
PII26664M1G以上
●客户机:
PII13316M网卡等
●网络带宽:
10M以上
无需其他专用硬件的支持。
4.2支持软件
服务器端需要安装win2000 server或是其他的服务器操作系统。
对客户端没有什么特别的需求,一般的win 2000或win xp 即可。
●软件环境:
服务器端:
MYSQL,NT4.0以上
●客户端:
WINDOWS9X,IE4.0以上
设计说明书内容
1导言
本章对该文档的目的、功能范围、术语、相关文档、参考资料、版本更新进行说明。
1.1目的
本文档的目的旨在推动软件工程的规范化,使设计人员遵循统一的概要设计书写规范,节省制作文档的时间,降低系统实现的风险,做到系统设计资料的规范性与全面性,以利于系统的实现、测试、维护、版本升级等。
1.2范围
本文档用于软件设计阶段的概要设计,它的上游(依据的基线)是《需求分析规格书》,它的下游是《详细设计说明书》,并为《详细设计说明书》提供测试的依据。
软件概要设计的范围是:
软件系统总体结构设计、全局数据库和数据结构设计、外部接口设计、主要部件功能分配设计、部件之间的接口设计等方面的内容。
该范围应覆盖《需求规格说明书》中的功能点列表、接口列表。
1.3命名规则
变量对象命名规则:
用与变量名相近的因为单词命名
数据库对象命名规则:
申明数据库表名、字段名、索引名、视图名等对象使用与英文单词命名。
1.4术语定义
(略)
1.5参考资料
[1]用户需求需求报告
[2]软件开发合同
[3]数据库设计规范
[4]命名规范
1.6相关文档
[1]《详细设计说明书》
[2]源程序清单
[3]测试计划及报告
[4]《用户使用手册》
2 总体设计
2.1总体结构设计
子系统1:
图书预约
子系统2:
取消预约
子系统3:
图书借阅
图书管理
系统
子系统4:
读者管理
子系统5:
图书书籍管理
子系统6:
图书分类管理
子系统7:
还书
2.2运行环境设计
该软件系统的运行环境:
硬件平台:
(1)服务器的最低配置要求CPU:
PentiumII内存:
128M
(2)工作站的最低配置要求CPU:
Pentium133内存:
64M
(3)外设的要求
软件平台:
(1)服务器的操作系统WindowsNTsever
(2)数据库管理系统MySQL
(3)中间件(略)
(4)客户端的操作系统windows98以上
(5)客户端的平台软件(略)
网络平台:
(1)通信协议TCP/IP
(2)通信带宽(略)
2.3子系统清单
子系统编号
子系统中文名
子系统英文名
子系统功能简述
子系统之间的关系
SS1
图书预约
BookSreserves
对所需要的图书预约
SS2
取消预约
CancelReserves
对借到图书自动取消预约,对未借到书取消预约
SS3
图书借阅
BorrowBook
图书借阅
SS4
读者管理
ReadPWD
增加,删除,修改读者
SS5
图书书籍管理
Bookadmin
会员登记,注销,信息维护
SS6
图书分类管理
Bookclass
对图书类别的增加和删除
SS7
还书
ReturnBook
还书
3 接口设计(结构化设计)
3.1
(1)接口名称:
界面接口
(2)接口内容:
用户熟悉的WINDOWS的操作界面,有显示提示信息,方便用户使用
(3)接口设施(略)
(4)接口的数据结构(略)
(5)接口的传输速率(Mbps)(略)
(6)接口的带宽(略)
(7)接口的协议(略)
3.2
(1)接口名称:
软件接口
(2)接口内容:
对MySQL进行对数据库的所有访问。
(3)接口设施(略)
(4)接口的数据结构(略)
(5)接口的传输速率(Mbps)(略)
(6)接口的带宽(略)
(7)接口的协议(略)
3.3
(1)接口名称硬件接口
(2)接口内容:
用键盘和鼠标对输入进行处理,用打印机对输出进行处理
(3)接口设施(略)
(4)接口的数据结构(略)
(5)接口的传输速率(Mbps)(略)
(6)接口的带宽(略)
(7)接口的协议(略)
3.4数据库表名清单
图书预借信息列表
属性名
数据类型
不为空值
自动编号
标记
默认值
备注
id
integer
是
是
NULL
主键,递增
orderid
Varchar(20)
是
流水号
bookno
integer
是
0
书号
amount
integer
NULL
预借数量
图书信息列表
属性名
数据类型
不为空值
自动编号
标记
默认值
备注
id
int(11)
是
是
NULL
主键,递增
bookname
varchar(40)
是
书名
bookclass
int(11)
是
0
图书分类名称
author
varchar(25)
NULL
作者
publish
varchar(150)
NULL
出版社
bookno
varchar(30)
NULL
书号
content
text
NULL
内容简介
prince
float
NULL
原价
amount
int(11)
NULL
总数量
leav_number
int(11)
NULL
剩余数量
regtime
datetime
是
0000-00-00:
00:
00
登记时间
picture
varchar(200)
NULL
图书封面
图书馆管理员信息表
属性名
数据类型
不为空值
自动编号
标记
默认值
备注
adminuser
varchar(20)
NULL
用户名
adminpass
varchar(50)
NULL
密码
图书分类表
属性名
数据类型
不为空值
自动编号
标记
默认值
备注
id
integer
是
是
NULL
分类编号
classname
varchar(30)
是
分类名称
图书预借详细表
属性名
数据类型
不为空值
自动编号
标记
默认值
备注
Id
integer
是
是
NULL
主键,递增
ordername
varchar(20)
是
流水号
userid
integer
是
0
用户编号
submittime
datetime
是
0000-00-0000:
00:
00
提交预借的时间
consignmenttime
datetime
NULL
预借时间
totalprice
float
NULL
总金额
content
text
NULL
备注
ipaddress
varchar(20)
NULL
用户IP
isapprove
integer
NULL
是否借出
islend
integer
NULL
是否归还
会员信息表
属性名
数据类型
不为空值
自动编号
标记
默认值
备注
id
integer
是
是
NULL
主键,递增
username
varchar(20)
是
用户名
password
varchar(50)
是
密码
names
varchar(20)
NULL
真实姓名
sex
char
(2)
NULL
性别
address
varchar(150)
NULL
地址
phone
varchar(25)
NULL
联系电话
post
varchar(8)
NULL
邮编
varchar(50)
NULL
电子邮件
regtime
datetime
NULL
注册时间
regipaddress
varchar(20)
NULL
注册时IP
4问题说明
4.1人工处理过程
对会员预定的图书,当会员去图书馆借阅该图书时,需要管理员手工地设置“借阅是否符合规定”和“图书馆是否给与借阅”的状态。
对会员的违规操作等信息的录入需要操作人员的介入。
包括罚款单票据的递交等操作。
4.2尚未解决的问题
1)图书归还问题
由于时间仓促,本系统的图书归还只留下一个接口,并未真正的实现。
2)无法显示中文的问题
数据库反复试过多次,曾尝试把MySQL下的编码方式改变为gb2312,但还是无法正确显示中文。
5 系统出错处理设计
5.1出错信息
用一览表的方式说明每种可能的出错或故障情况出现时,系统输出信息的形式、含意及处理方法。
(具体的出错处理要根据软件系统的操作来发现)
情况一
输入的会员id超过所定义的长度,或者输入不合法的字符
根据具体错误情况提示,比如“请重新输入你的id”(界面提醒长度要求以及相关的符号要求)
情况二
会员操作越权
提醒会员“您不具有此权限,系统将会自动跳会你上次的合法权限”
情况三
会员所借的书数超过规定数目
操作人员根据相关规定提醒会员
情况四
会员的违规操作没有得到处理却在进行合法会员的操作
系统自动提醒“你的违规还在处理之中,你还在没有使用权”
5.2补救措施
说明故障出现后可能采取的变通措施,包括:
a.后备技术说明准备采用的后备技术,当原始系统数据万一丢失时启用的副本的建立和启动的技术,例如周期性地把磁盘信息记录到磁带上去就是对于磁盘媒体的一种后备技术;
b.降效技术说明准备采用的后备技术,使用另一个效率稍低的系统或方法来求得所需结果的某些部分,例如一个自动系统的降效技术可以是手工操作和数据的人工记录;
c.恢复及再启动技术说明将使用的恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行的方法。
5.3系统维护设计
说明为了系统维护的方便而在程序内部设计中作出的安排,包括在程序中专门安排用于系统的检查与维护的检测点和专用模块。
系统的测试方案说明书内容
1引言
1.1编写目的
在概要设计说明书中,已解决了实现该系统需求的程序模块设计问题。
包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。
在以下的详细设计报告中将对在本阶段中对系统所做的所有详细设计进行说明。
1.2适用范围
本标准适用于全部模块的白盒测试(含模块测试和联调测试)、系统测试等测试阶段,以及阶段内里程碑的控制。
上述阶段的测试属于黑盒测试。
特别需要申明的是:
软件一旦进入开发阶段,测试就同步开始了,对于开发过程中的程序员自测,本标准不能适用。
【注①:
黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
】
【注②:
白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。
1.3参考资料
[1]《概要设计说明书》
[2]《需求分析说明书》
[3]程序设计规范
[4]界面设计规范
[5]命名规范
1.4术语和缩写词
2系统介绍
2.1系统设计思想
1.页面模块化
2.三层结构架构
2.2需求概要
为了方便图书馆的管理和更好的服务同学们,需开发一个图书管理系统。
本系统要做到方便对图书证的基本资料的录入,读者预约情况的录入,读者取消预回情况的录入,图书借阅录入,图书续借和还书情况录入。
2.3软件结构
首先利用NetBeans新建一个工程,工程名任意。
然后在这个工程下新建一个包bookadmin,然后在这个包下新建三个包,即book,util和run。
在run包下有五个类,其中各个类的作用如下:
●login类:
管理用户登录
●op_book类:
管理图书,包括图书的查询、修改、删除、添加等
●op_bookclass类:
管理图书分类,包括图书分类的查询、添加和删除
●op_lend类:
管理预定(借阅)清单,包括清单的查询、添加、修改和删除等
●op_user类:
管理用户,包括用户的查询、添加、删除和修改等
在util包下有两个类,其中各个类的作用如下:
●DataBase类:
该类主要负责数据库的连接
●dataFormat类:
该类负责数据的格式转换,例如将字符串格式化成HTML代码输出等
在book包下有六个类,其中各个类的作用如下:
●allorder类:
预定(借阅)列表类
●book类:
图书类
●bookclass类:
图书分类类
●order类:
预定(借阅)类
●subscribe类:
预定(借阅)类
●user类:
用户类
数据连接Bean的编写(主要代码)
这是一个公共类,其他类如果要连接数据库,只需要构造这个类的对象就可以了。
publicbooleanconnect(){
try{
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
Stringurl="jdbc:
mysql:
//localhost:
3306/library?
user=root&"+"password=123456&useUnicode=true;characterEncoding=gb2312";
conn=DriverManager.getConnection(url);
stmt=conn.createStatement();
}catch(Exceptionee){
System.out.println("connectdberror:
"+ee.getMessage());
returnfalse;
}
returntrue;
}
字符处理Bean的编写
在程序设计中经常会涉及有关字符串的处理,例如:
把字符串转换成合适于网页显示的文本、把字符串转换成适合SQL语句的字符串、字符串里的字符替换等,所以有必要把这些字符串处理的方法集合到一个类中。
packagebookadmin.util;
/**
*
负责字符串的处理
*/
importjava.lang.*;
importjava.util.*;
publicclassdataFormat{
publicdataFormat(){}
/**
*把字符串转换成适合于网页显示的文本
*/
publicstaticStringtoHtml(Strings){
if(s==null)returns;
s=strReplace(s,"&","&");
s=strReplace(s,"<","<");
s=strReplace(s,">",">");
s=strReplace(s,"\"",""");
s=parseReturn(s,"
\n ");
returns;
}
/**
*把字符串sBody中的sFrom用sTo替换
*/
publicstaticStringstrReplace(StringsBody,StringsFrom,StringsTo){
inti,j,k,l;
if(sBody==null||sBody.equals(""))return"";
i=0;
j=sFrom.le
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 设计 报告