收藏 分销(赏)

图书综合管理系统详细设计项目新版说明书.doc

上传人:精*** 文档编号:2517307 上传时间:2024-05-31 格式:DOC 页数:47 大小:1.02MB
下载 相关 举报
图书综合管理系统详细设计项目新版说明书.doc_第1页
第1页 / 共47页
图书综合管理系统详细设计项目新版说明书.doc_第2页
第2页 / 共47页
图书综合管理系统详细设计项目新版说明书.doc_第3页
第3页 / 共47页
图书综合管理系统详细设计项目新版说明书.doc_第4页
第4页 / 共47页
图书综合管理系统详细设计项目新版说明书.doc_第5页
第5页 / 共47页
点击查看更多>>
资源描述

1、图书管理系统具体设计说明书2024年5月目录1引言21.1编写目标21.2项目背景21.3定义21.4参考资料22总体设计22.1需求概述22.2软件结构23程序描述23.101登陆模块23.202管理模块23.3031图书信息查询模块23.4032学生信息查询模块23.5021入库管理模块23.6022学生借书模块23.7023学生还书模块23.8024图书注销模块23.9接口设计23.10测试关键点2文档名称: 具体设计规格说明书项目名称: 图书馆管理系统项目责任人:陈新光 编写 TEST _年_月_日 校对 全部小组组员 _年_月_日 审核 全部小组组员 _年_月_日 同意 XXX _年

2、_月_日 开发单位_组员: TEST1 TEST2 TEST31 引言1.1 编写目标图书管理系统具体设计是设计第二个阶段,这个阶段关键任务是在图书管理系统概要设计书基础上,对概要设计中产生功效模块进行过程描述,设计功效模块内部细节,包含算法和具体数据结构,为编写源代码提供必需说明。概要设计处理了软件系统总体结构设计问题,包含整个软件系统结构、模块划分、模块功效和模块间联络等。具体设计则要处理怎样实现各个模块内部功效,即模块设计。具体说,模块设计就是要为已经产生图书管理各子系统设计具体算法。但这并不等同于系统实现阶段用具体语言编码,它只是对实现细节作正确描述,这么编码阶段就能够将具体设计中对功

3、效实现描述,直接翻译、转化为用某种程序设计语言书写程序。1.2 项目背景依据XX学校期望能够充足利用现代科技来提升图书管理效率,在原有办公系统基础上进行扩展,将部分能够用计算机来管理全部进行计算机化,使得图书馆管理人职员作愈加方便,工作效率也愈加高。1.3 定义Mysql:数据库管理软件DBMS:数据库管理系统Windows /XP:运行环境JSP :软件开发语言Myeclipse :开发工具1.4 参考资料软件工程导论第5版 张海藩编著 清华大学出版社 实用软件工程Leszek A.Maciaszek Bruc Lee Liong著机械工业出版社2 总体设计2.1 需求概述根据需求分析文档中

4、规格要求,使用条形码扫描器进书、借书、还书,使得信息传输正确、流畅。同时,系统最大程度地实现易安装,易维护性,易操作性,运行稳定,安全可靠。2.2 软件结构系统由3大模块,6小模块组成:序号编号名称1, 01 登陆模块2, 02 管理模块3, 031图书信息查询模块4, 032学生信息查询模块5, 021入库管理模块6, 022学生借书模块7, 023学生还书模块8, 024图书注销模块9, 040基础信息设置3 程序描述3.1 01登陆模块具体格式见下表:功效编号01功效名称登陆模块内容功效步骤图所属业务图书馆管理所属项目图书馆管理系统编写人陈新光完成时间-11-26页码第5页3.1.1 功

5、效步骤图功效步骤图以下图所表示。需要说明问题:(1) 录入项检测使用javascript实现(各项必需非空)(2) 登陆.jsp页面也包含查询按钮,在此登陆.jsp提交数据只是用户名和密码。3.1.2 功效描述(1) 功效类型:查询数据(2) 功效描述:提升系统安全性(3) 前提业务:无(4) 后继业务:02 (管理模块)(5) 功效约束:权限约束(6) 约束描述:(7) 操作权限:图书馆管理员3.1.3 界面设计(1) 基础信息处理 动作说明:动作编号动作名称动作描述A01登陆点击登陆按钮 提交数据到登陆数据处理.jsp页面A02重至点击退重至按钮 将目前信息恢复原先状态A03图书信息查询点

6、击 将页面转至到图书信息查询.jsp页面A04学生信息查询点击 将页面转至学生信息查询.jsp页面A05基础信息点击 将显示基础信息(2) 数据要求(1) 功效类型:数据查询(2) 数据描述:页面显示录入字段以下:字段名称长度录入方法是否非空项数据检验默认显示管理员ID10文本框YN管理员密码15passwordYN3.1.4 登陆数据处理.jsp内部逻辑登陆数据处理:关键点两点:1,数据库连接;2,统计登陆信息及信息处理;1, 数据库连接: 以下:public class lib_system_Conn extends Objectpublic lib_system_Conn() priva

7、te Connection conn = null; private ResultSet rs; String re = ; /设置你数据库ip String dbip = 127.0.0.1; /设置你数据库用户名和密码: String use = root; String pass = 860409; /设置您数据库名 String dbName = lib_system; public java.sql.Connection getConn() try Class.forName(org.gjt.mm.mysql.Driver).newInstance(); String url =jd

8、bc:mysql:/+dbip+:3306/+dbName+?user=+use+&password=+pass+&useUnicode=true&characterEncoding=GBK ; conn= DriverManager.getConnection(url); catch(Exception e) e.printStackTrace(); return this.conn ; /在Mysql建立lib_system数据库,以后将和数据操作相关数据和该数据库相连;2, 统计登陆信息及信息处理:当用户点击“登陆”按钮以后,数据将提交到登陆数据处理.jsp页面。 取得帐号密码这两个从页

9、面传入值,然后跟数据库当中管理员表中账号和密码比较。假如正确话,在JSPSESSION中存入一个标识属性,表示目前已经有管理员登陆了。处理完成后,跳转到管理页面,假如失败,则提醒登陆失败,并重新进入到登陆页面。具体逻辑以下:3.1.5 存放分配管理员表:(admin)序号字段名类型长度精度小数位数默认值许可空主键说明1(admin_ID)管理员IDInt102(admin_password)管理员密码Char153(admin_quanxian)权限Nvarchar153.2 02管理模块具体格式见下表功效编号02功效名称管理模块内容功效步骤图所属业务图书馆管理所属项目图书馆管理系统编写人陈新

10、光完成时间-11-26页码第8页3.2.1 功效步骤图功效步骤图以下所表示:需要说明问题:在选择对应业务时,需要在目前页面显示;而且在管理页面内,默认显示图书查询页面。3.2.2 功效描述(1) 功效类型:其它(2) 功效概述:总体归纳图书馆管理功效(3) 前提业务:登陆模块(01)(4) 后续业务:021,022,023,024,03(5) 功效约束:权限约束(6) 约束描述:(7) 操作权限:图书馆管理人员3.2.3 界面设计(1) 基础信息处理动作说明以下:动作编号动作名称动作描述A01入库管理点击按钮 将页面转至入库管理.jsp页面A02学生借书点击按钮 将页面转至学生借书.jsp页面

11、A03学生还书点击按钮 将页面转至学生还书.jsp页面A04图书注销点击按钮 将页面转至图书注销.jsp页面A05图书查询点击按钮 将页面转至图书查询.jsp页面(2) 数据要求功效类型:其它3.3 031图书信息查询模块具体格式以下:功效编号031功效名称图书信息查询模块内容功效步骤图所属业务图书馆管理所属项目图书馆管理系统编写人陈新光完成时间-11-26页码第10页3.3.1 功效步骤图功效步骤图以下图:需要说明问题:录入项检测使用javascript来实现(各项非空);操作权限:面向全部用户3.3.2 功效描述(1) 功效类型:查询数据(2) 功效概述:显示查询结果(3) 前提业务:无(

12、4) 后继业务:(5) 功效约束:没有约束;(6) 约束描述:(7) 操作权限:面向全部用户3.3.3 界面设计(1) 基础信息处理下表是动作说明:动作编号动作名称动作描述A01确定点击按钮 提交数据到图书查询数据处理.jsp页面A02学生信息查询点击按钮 将页面转至学生信息查询.jsp页面(2) 数据要求(1) 功效类型:数据查询(2) 数据描述:页面显示字段见下表:字段名称长度录入方法是否非空项数据检验默认显示请选择查询类型20下拉列表YN请输入查询内容200文本框YN(3) 图书信息查询输出项书名图书类型作者译者ISBN出版社价格书架名称现存量介绍书名图书类型3.3.4 模块内部逻辑1,

13、 Search.jsp用于显示界面内容,给用户显示一个查询接口2, Lib_query.jsp用来调度全部页面,它依据传入参数来决定包含哪一个jsp页面来显示内容;在lib_query.jsp页面中,它依据传入参数来决定包含哪一个jsp页面来显示内容;则能够经过jsp:include page=”/,利用jsp:include标签来被动态加载发送到对应页面;3, chuli.jsp 用来处理数据查询和显示查询到结果列表。在这个页面中,数据要求是以列表形式显示到输出页面。因为查询到结果可能过多,所以采取分页形式显示;对于分页功效内部逻辑: 4, View.jsp用来显示查询到图书各项属性。3.3

14、.5 存放分配图书目录文件(Book):序号字段名类型长度精度小数位数默认值许可空主键说明1(BookID)图书编号Int101自动编号2(TXM)条形码nvarchar203(Title)书名nvarchar2004(TSLX)图书类型Nvarchar505(Author)作者Nvarchar206(Translator)译者Nvarchar207(ISBN)ISBNNvarchar208(CBS)出版社Nvarchar3010(SJMC)书架名称Nvarchar2011(XCL)现存量Smallint212(KCZL)库存总量Smallint213(RKSJ)入库时间Datatime14(

15、CZY)操作员Nvarchar1015(JJ)介绍Nvarchar20016(JCCS)借出次数Smallint217(SFzhuxiao)是否注销Nvarchar218(BookZT)图书状态nvarchar50借书文件表(JSWJB):序号字段名类型长度精度小数位数默认值许可空主键外键说明1(JYID)借阅编号Int101自动编号2(BookID)图书编号Int103(StuID)学生编号Int104(JYSJ)借阅时间Datatime85(DQSJ)到期时间Datatime86(XJCS)续借次数Smallint27(CZY)操作员Nvarchar108(ZT)状态navarchar50

16、3.4 032学生信息查询模块具体格式以下:功效编号032功效名称学生信息查询模块内容功效步骤图所属业务图书馆管理所属项目图书馆管理系统编写人陈新光完成时间-11-26页码第12页3.4.1 功效步骤图功效步骤图以下图:需要说明问题:录入项检测使用javascript来实现(各项非空);操作权限:面向全部用户3.4.2 功效描述(8) 功效类型:查询数据(9) 功效概述:显示查询结果(10) 前提业务:无(11) 后继业务:(12) 功效约束:没有约束;(13) 约束描述:(14) 操作权限:面向全部用户3.4.3 界面设计(4) 基础信息处理下表是动作说明:动作编号动作名称动作描述A01确定

17、点击按钮 提交数据到图书查询数据处理.jsp页面A02图书信息查询点击按钮 将页面转至图书信息查询.jsp页面(5) 数据要求(3) 功效类型:数据查询(4) 数据描述:页面显示字段见下表:字段名称长度录入方法是否非空项数据检验默认显示请输入学号10文本框YN(6) 学生信息查询输出项学生学号姓名性别生日证件号码联络电话登记日期使用期至已借书数3.4.4 模块内部逻辑5, Search.jsp用于显示界面内容,给用户显示一个查询接口6, Index.jsp用来调度全部页面,它依据传入参数来决定包含哪一个jsp页面来显示内容;在index.jsp页面中,它依据传入参数来决定包含哪一个jsp页面来

18、显示内容;则能够经过jsp:include page=”/,利用jsp:include标签来被动态加载发送到对应页面;7, List.jsp 用来显示查询到结果列表。8, View.jsp用来显示查询到学生各项属性。注释:学生信息查询模块和图书查询模块属于同一类功效。实现能够完全类似。3.4.5 存放分配学生文件:序号字段字段名类型长度精度小数位数默认值许可空主键说明1XSID学生编号Int101自动编号2Name姓名nvarchar103Sex性别nvarchar24ZJH证件号码nvarchar255LXDH联络电话nvarchar406DJRQ登记日期datetime87YXQZ使用期至

19、datetime88YJSS已借书数smallint29RuleID学生规则IDint1010ZT是否挂失nvarchar2借书文件:序号字段名类型长度精度小数位数默认值许可空主键外键说明1借阅编号Int101自动编号2图书编号Int103学生编号Int104借阅时间Datatime85到期时间Datatime86续借次数Smallint27操作员Nvarchar108状态navarchar503.5 021入库管理具体格式以下:功效编号021功效名称入库管理模块内容功效步骤图所属业务图书馆管理所属项目图书馆管理系统编写人陈新光完成时间-11-27页码第16页3.5.1 功效步骤图(1) 实施

20、数据库操作时候要验证权限(2) 录入项检验用javascript来实现(选项非空)3.5.2 功效描述(1) 功效类型:添加数据(2) 功效描述:增加图书目录文件中图书信息。(3) 前提业务:管理模块(4) 后继业务:无(5) 功效约束:权限约束(6) 约束描述:无(7) 操作权限:图书馆管理人员3.5.3 界面设计1, 基础信息处理动作说明以下表:动作编号动作名称动作描述A01保留点击按钮 提交数据到入库数据处理.jsp页面A02退出点击按钮 将目前页面关闭2, 数据描述(1) 功效类型:数据增加。(2) 数据描述:页面录入字段见下表:字段名称长度录入方法是否非空项数据检验默认显示书号30文

21、本框YN条形码20文本框YN书名200文本框YN作者20文本框YN出版社30文本框YN版次50文本框YN图书类别20文本框YN单价8文本框YN录入时间默认系统时间,格式: 年 月 日只需程序统计显示在入库界面录入人默认系统登陆人员只需程序统计显示在入库界面3, 入库数据处理内部逻辑:图书入库采取表格进行多行添加:利用javaBean来编写一个BookBean来管理图书。在BookBean类中增加统计公共接口来实现入库数据添加。具体类设计以下:Public int insert (Hashtable hash) int intID = makeID(Book,BookID,true);Vecto

22、r vect = new Vector();vect.add(Book);vect.add(addVector(BookID,String.valueOf(intID),NUM);vect.add(addVector(Title,ds.toString(String)hash.get(TITLE),CHAR); vect.add(addVector(Author,ds.toString(String)hash.get(AUTHOR),CHAR);vect.add(addVector(ISBN,ds.toString(String)hash.get(ISBN),CHAR);。/还有其它选项,同上

23、格式。 return insertRecord(vect);该方法有一个参数,是java.util.Hashtable类,在调用该方法前,先用和hashtableput方法将字段名和该条统计值存入hashtable中,然后将这个hashtable作为参数传入insert方法中。在insert方法最终,调用ParentBean中insertRecord方法,insertRecord能够依据传入参数自动生成增加统计SQL语句并经过JDBC发送到数据库。 正对ParentBean类:关键是实现对数据库多种操作:如和数据库连接,对数据库操作。 3.5.4 存放分配图书目录文件:序号字段名类型长度精度小

24、数位数默认值许可空主键说明1图书编号Int101自动编号2条形码nvarchar203书名nvarchar2004图书类型Nvarchar505作者Nvarchar206译者Nvarchar207ISBNNvarchar208出版社Nvarchar309价格Money810书架名称Nvarchar2011现存量Smallint212库存总量Smallint213入库时间Datatime814操作员Nvarchar1015介绍Nvarchar20016借出次数Smallint217是否注销Nvarchar218图书状态nvarchar50入库表:序号字段名类型长度精度小数位数默认值许可空主键外键

25、说明1书号Nvarchar301自动编号2条形码Nvarchar203书名Nvarchar2004作者Nvarchar205出版社Nvarchar306版次Nvarchar507图书类别Nvarchar208存放位置Nvarchar209单价Money810入库数量Smallint211金额Money812经手人Nvarchar1013票号Nvarchar3014操作员Nvarchar1015日期Datatime8注:3.6 022学生借书模块具体格式以下:功效编号022功效名称学生借书模块内容功效步骤图所属业务图书馆管理所属项目图书馆管理系统编写人陈新光完成时间-11-27页码第21页3.6

26、.1 功效步骤图需要说明问题:(1) 在进行借书,修改数据信息时,应先查询学生欠款信息,如欠款超额,则利用javascript实现信息提醒,拒绝借书,如无超额,则接收借书。(2) 为便于以后恢复操作,此修改操作只在表中做一个标志,并不是真正对其修改;3.6.2 功效描述(1) 功效类型:修改数据和查询数据(2) 功效描述:更新学生借书文件,图书目录文件等中信息;(3) 前提业务:管理模块(4) 后继业务:无(5) 功效约束:权限约束(6) 约束描述:(7) 操作权限:图书馆管理人员3.6.3 界面设计1, 基础信息处理动作说明以下:动作编号动作名称动作描述A01重置点击按钮 将文本框内全部数据

27、清空A02提交点击按钮 将数据提交四处理学生超额信息页面A03取消将目前页面关闭,并取消借阅2, 数据描述(1) 功效类型:修改数据和查询数据(2) 界面设计:(3) 数据字段描述:字段名称长度录入方法是否非空项数据检验默认显示学生证件号码10文本框YN书籍条形码号10文本框YN3, 图书借阅数据处理内部逻辑If(strEdit.equals(“1”)If(学生超额|学生不存在)ifSuccess=false;elseIf(!bb.IsValid(hash)/新增操作Int intdel=bb.addBorrow(hash);If(intdel=null)ifSuccess=false;els

28、eFor(int i=0;ialert(“”);alert(“借阅失败!”);alert(“借阅成功!”);%实施过程以下:首先要验证学生信息是否存在和学生欠款是否超额,也就是说学生是否能够借书,图书是否在馆等,在 确定正当以后调用bb.addBorrow(hash)来完成借阅步骤。步骤其实就是对多个表进行增改操作。相关addBorrow(hash)算法:public int addBorrow(Hashtable hash)System.out.println(批量处理新增借阅。);String sql=;int intID = makeID(JYWJB,JYID,true);String

29、strID=String.valueOf(intID);String strZJH = ds.toString(String)hash.get(ZJH);/证件号String strTXM = ds.toString(String)hash.get(TXM);/条形码String strJYSJ = ds.toString(String)hash.get(JYSJ);/借阅时间String strXSID = ;/学生IDString strBOOKID = ;/图书IDString strDQSJ = ;/到期时间String strXJCS = ;/续借次数/依据学生证件号取学生ID/依据

30、学生ID取得规则ID,然后取得能够借阅天数,sql=select Student.RuleID,Student.XSID,Rule.KJYSJ + from Studengt,RULE + where Student.ZJH=+strZJH+ and Student.RuleID=Rule.RuleID ;Hashtable hashReId=(Hashtable)searchOneData(sql);strXSID=ds.toString(String)hashReId.get(XSID);String strKJYSJ=ds.toString(String)hashReId.get(KJY

31、SJ);/依据条形码取得图书ID sql=select BOOKID from Book where TXM=+strTXM+;Hashtable hashBKID=(Hashtable)searchOneData(sql);strBOOKID = ds.toString(String)hashBKID.get(BOOKID);/新增操作createStatement();clearBatch();sql= insert into JSWJB(JYID,XSID,BOOKID,JYSJ,DQSJ,ZT,XJCS) + values(+strID+,+strXSID+,+strBOOKID+,+

32、strJYSJ+,to_char(to_date(+strJYSJ+,yyyy-MM-dd)+strKJYSJ+),yyyy-MM-dd)+,+strZero+,+strZero+);addBatch(sql);sql=update Book set ZT=借出 where BOOKID=+strBOOKID;addBatch(sql);sql=update Student set YJSS=YJSS+1 where XSID=+strXSID;addBatch(sql);int result=executeBatch();closeStm();return result;而对于取消按钮事件,

33、因为要实现取消借阅,所以需要调用delBorrow(String id)来取消借阅操作;算法以下:public int delBorrow(String id)System.out.println(批量处理取消借阅。);String sql=;sql=select BOOKID from JSWJB where JYID=+id;Hashtable hash=(Hashtable)searchOneData(sql);String strBOOKID=(String)hash.get(BOOKID);createStatement();clearBatch();sql=update JSWJB set ZT

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 应用文书 > 技术指导

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服