ImageVerifierCode 换一换
格式:DOCX , 页数:45 ,大小:406.28KB ,
资源ID:9952100      下载积分:12 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/9952100.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(软件开发文档:软件详细设计说明书实例.docx)为本站上传会员【唯嘉】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

软件开发文档:软件详细设计说明书实例.docx

1、 软件详细设计说明书实例 2025年4月 目录 1 引言 2 1.1 编写目的 2 1.2 项目背景 2 1.3 定义 2 1.4 参考资料 2 2 总体设计 2 2.1 需求概述 2 2.2 软件结构 2 3 程序描述 2 3.1 01登陆模块 2 3.2 02管理模块 2 3.3 031图书信息查询模块 2 3.4 032学生信息查询模块 2 3.5 021入库管理模块 2 3.6 022学生借书模块 2 3.7 023学生还书模块 2 3.8 024图书注销模块 2 3.

2、9 接口设计 2 3.10 测试要点 2 文档名称: 详细设计规格说明书 项目名称: 图书馆管理系统 项目负责人:陈新光 编写 TEST _____年_____月_____日 校对 所有小组成员 _____年_____月_____日 审核 所有小组成员 _____年_____月_____日 批准 XXX _____年_____月_____日

3、 开发单位__________________________________________ 组员: TEST1 TEST2 TEST3  1 引言 1.1 编写目的 图书管理系统详细设计是设计的第二个阶段,这个阶段的主要任务是在图书管理系统概要设计书基础上,对概要设计中产生的功能模块进行过程描述,设计功能模块的内部细节,包括算法和详细数据结构

4、为编写源代码提供必要的说明。 概要设计解决了软件系统总体结构设计的问题,包括整个软件系统的结构、模块划分、模块功能和模块间的联系等。详细设计则要解决如何实现各个模块的内部功能,即模块设计。具体的说,模块设计就是要为已经产生的图书管理各子系统设计详细的算法。但这并不等同于系统实现阶段用具体的语言编码,它只是对实现细节作精确的描述,这样编码阶段就可以将详细设计中对功能实现的描述,直接翻译、转化为用某种程序设计语言书写的程序。 1.2 项目背景 根据XX学校希望能够充分利用现代科技来提高图书管理的效率,在原有的办公系统基础上进行扩展,将一些可以用计算机来管理的都进行计算机化,使得图书馆管理人

5、员工作更加方便,工作效率也更加的高。 1.3 定义 •Mysql:数据库管理软件 •DBMS:数据库管理系统 •Windows 2000/2003/XP:运行环境 •JSP :软件开发语言 •Myeclipse :开发工具 1.4 参考资料 《软件工程导论——第5版》 张海藩编著 清华大学出版社 《实用软件工程》 Leszek A.Maciaszek Bruc Lee Liong著 机械工业出版社 2 总体设计 2.1 需求概述 按照需求分析文档中的规格要求,使用条形码扫描器进书、借书、还书,使得信息传递准确、流畅。同

6、时,系统最大限度地实现易安装,易维护性,易操作性,运行稳定,安全可靠。 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 功能名称 登陆模块 内容 功能流程图 所属业务 图书馆管

7、理 所属项目 图书馆管理系统 编写人 陈新光 完成时间 2007-11-26 页码 第5页 3.1.1 功能流程图 功能流程图如下图所示。 需要说明的问题: (1) 录入项检测使用javascript实现(各项必须非空) (2) 登陆.jsp页面也包含查询按钮,在此的登陆.jsp提交的数据只是用户名和密码。 3.1.2 功能描述 (1) 功能类型:查询数据 (2) 功能描述:提高系统的安全性 (3) 前提业务:无 (4) 后继业务:02 (管理模块) (5) 功能约束:权限约束 (6) 约束描述: (7) 操作权限:图书馆管理员 3.1.3

8、界面设计 (1) 基础信息处理 动作说明: 动作编号 动作名称 动作描述 A01 登陆 点击登陆按钮 提交数据到登陆数据处理.jsp页面 A02 重至 点击退重至按钮 将当前信息恢复原先状态 A03 图书信息查询 点击 将页面转至到图书信息查询.jsp页面 A04 学生信息查询 点击 将页面转至学生信息查询.jsp页面 A05 基础信息 点击 将显示基础信息 (2) 数据要求 (1) 功能类型:数据查询 (2) 数据描述: 页面显示录入字段如下: 字段名称 长度 录入方式 是否非空项 数据检验 默认显示 管理员ID 10 文本

9、框 Y N 管理员密码 15 password Y N 3.1.4 登陆数据处理.jsp的内部逻辑 登陆数据处理: 关键点两点:1,数据库连接;2,记录登陆信息及信息处理; 1, 数据库连接: 如下: public class lib_system_Conn extends Object{ public lib_system_Conn(){ } private Connection conn = null; private ResultSet rs; String re = ""; //设置你的数据库ip

10、 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 ="jdbc:mysql

11、//"+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,

12、记录登陆信息及信息处理: 当用户点击“登陆”按钮之后,数据将提交到登陆数据处理.jsp页面。 取得帐号密码这两个从页面传入的值,然后跟数据库当中管理员表中的账号和密码比较。如果正确的话,在JSP的SESSION中存入一个标记属性,表示当前已经有管理员登陆了。处理完毕后,跳转到管理页面,如果失败,则提示登陆失败,并重新进入到登陆页面。 具体的逻辑如下: <% String username=ParamUtil.getString(request,"admin_ID"); //取得用户名 String password=ParamUtil.getString(request,"admi

13、n_password"); //取得密码 String erroMsg=""; //错误码 if(username!=null&&password!=null) try { SkinUtil.login(request,response,admin_ID,admin_password); //在JSP的session中存如一个标记属性,表示当前已经有管理员登陆了 Session.setAttribute(“admin_ID”,admin_ID); response.sendRedirect("login_process.jsp"); } catch(Us

14、erNotFoundException e) { erroMsg="错误的用户名和密码"; response.sendRedirect("login_process.jsp?"+response.encodeURL(erroMsg)); } else{ out.println("请填写好你的个人信息!"); } %> 3.1.5 存储分配 管理员表:(admin) 序号 字段名 类型 长度 精度 小数位数 默认值 允许空 主键 说明 1 (admin_ID)管理员ID Int 10 √ 2 (admin

15、password)管理员密码 Char 15 3 (admin_quanxian)权限 Nvarchar 15 3.2 02管理模块 具体格式见下表 功能编号 02 功能名称 管理模块 内容 功能流程图 所属业务 图书馆管理 所属项目 图书馆管理系统 编写人 陈新光 完成时间 2007-11-26 页码 第8页 3.2.1 功能流程图 功能流程图如下所示: 需要说明的问题: 在选择相应的业务时,需要在当前的页面显示;并且在管理页面内,默认显示图书查询页面。 3.2.2 功能

16、描述 (1) 功能类型:其他 (2) 功能概述:总体归纳图书馆管理功能 (3) 前提业务:登陆模块(01) (4) 后续业务:021,022,023,024,03 (5) 功能约束:权限约束 (6) 约束描述: (7) 操作权限:图书馆管理人员 3.2.3 界面设计 (1) 基本信息处理 动作说明如下: 动作编号 动作名称 动作描述 A01 入库管理 点击按钮 将页面转至入库管理.jsp页面 A02 学生借书 点击按钮 将页面转至学生借书.jsp页面 A03 学生还书 点击按钮 将页面转至学生还书.jsp页面 A04 图书注销 点击按钮 将页面

17、转至图书注销.jsp页面 A05 图书查询 点击按钮 将页面转至图书查询.jsp页面 (2) 数据要求 功能类型:其他 3.3 031图书信息查询模块 具体格式如下: 功能编号 031 功能名称 图书信息查询模块 内容 功能流程图 所属业务 图书馆管理 所属项目 图书馆管理系统 编写人 陈新光 完成时间 2007-11-26 页码 第10页 3.3.1 功能流程图 功能流程图如下图: 需要说明的问题: 录入项检测使用javascript来实现(各项非空); 操作权限:面向所有用户 3.3.2 功能描述

18、 (1) 功能类型:查询数据 (2) 功能概述:显示查询结果 (3) 前提业务:无 (4) 后继业务: (5) 功能约束:没有约束; (6) 约束描述: (7) 操作权限:面向所有用户 3.3.3 界面设计 (1) 基础信息处理 下表是动作说明: 动作编号 动作名称 动作描述 A01 确定 点击按钮 提交数据到图书查询数据处理.jsp页面 A02 学生信息查询 点击按钮 将页面转至学生信息查询.jsp页面 (2) 数据要求 (1) 功能类型:数据查询 (2) 数据描述: 页面显示字段见下表: 字段名称 长度 录入方式 是否非空项 数据检验

19、 默认显示 请选择查询类型 20 下拉列表 Y N 请输入查询内容 200 文本框 Y N (3) 图书信息查询的输出项 书名 图书类型 作者 译者 ISBN 出版社 价格 书架名称 现存量 简介 书名 图书类型 3.3.4 模块内部逻辑 1, Search.jsp用于显示界面的内容,给用户显示一个查询接口 2, Lib_query.jsp用来调度所有的页面,它根据传入的参数来决定包含哪一个jsp页面来显示内容; 在lib_query.jsp页面中, 它根据传入的参数来决定包含哪一个jsp页面来显示内容;则可以通过

20、p:include page=”<%= ……%>”/>,利用jsp:include标签来被动态加载发送到相应页面; 3, chuli.jsp 用来处理数据查询和显示查询到的结果列表。 在这个页面中,数据要求是以列表的形式显示到输出页面。 由于查询到的结果可能过多,所以采用分页形式显示; 对于分页功能的内部逻辑: 4, View.jsp用来显示查询到的图书的各项属性。 3.3.5 存储分配 图书目录文件(Book): 序号 字段名 类型 长度 精度 小数位数 默认值 允许空 主键 说明 1 (BookID)图书编号 Int 10 1

21、 √ 自动编号 2 (TXM)条形码 nvarchar 20 3 (Title)书名 nvarchar 200 4 (TSLX)图书类型 Nvarchar 50 √ 5 (Author)作者 Nvarchar 20 √ 6 (Translator)译者 Nvarchar 20 √ 7 (ISBN)ISBN Nvarchar 20 8 (CBS)出版社 Nvarchar 30 √

22、 10 (SJMC)书架名称 Nvarchar 20 √ 11 (XCL)现存量 Smallint 2 √ 12 (KCZL)库存总量 Smallint 2 √ 13 (RKSJ)入库时间 Datatime √ 14 (CZY)操作员 Nvarchar 10 √ 15 (JJ)简介 Nvarchar 200 √ 16 (JCCS)借出次数 Smallint 2 √ 17 (SFz

23、huxiao)是否注销 Nvarchar 2 √ 18 (BookZT)图书状态 nvarchar 50 √ 借书文件表(JSWJB): 序号 字段名 类型 长度 精度 小数位数 默认值 允许空 主键 外键 说明 1 (JYID)借阅编号 Int 10 1 √ 自动编号 2 (BookID)图书编号 Int 10 √ 3 (StuID)学生编号 Int 10 √ 4 (JYSJ)借阅时间 Datatime 8

24、 √ 5 (DQSJ)到期时间 Datatime 8 √ 6 (XJCS)续借次数 Smallint 2 √ 7 (CZY)操作员 Nvarchar 10 √ 8 (ZT)状态 navarchar 50 √ 3.4 032学生信息查询模块 具体格式如下: 功能编号 032 功能名称 学生信息查询模块 内容 功能流程图 所属业务 图书馆管理 所属项目 图书馆管理系统 编写人 陈新光 完成时间 2

25、007-11-26 页码 第12页 3.4.1 功能流程图 功能流程图如下图: 需要说明的问题: 录入项检测使用javascript来实现(各项非空); 操作权限:面向所有用户 3.4.2 功能描述 (8) 功能类型:查询数据 (9) 功能概述:显示查询结果 (10) 前提业务:无 (11) 后继业务: (12) 功能约束:没有约束; (13) 约束描述: (14) 操作权限:面向所有用户 3.4.3 界面设计 (4) 基础信息处理 下表是动作说明: 动作编号 动作名称 动作描述 A01 确定 点击按钮 提交数据到图书查询数据处理.jsp页面

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

27、jsp页面来显示内容; 在index.jsp页面中, 它根据传入的参数来决定包含哪一个jsp页面来显示内容;则可以通过”/>,利用jsp:include标签来被动态加载发送到相应页面; 7, List.jsp 用来显示查询到的结果列表。 8, View.jsp用来显示查询到的学生的各项属性。 ★★注释:学生信息查询模块与图书查询模块属于同一类功能。实现可以完全类似。 3.4.5 存储分配 学生文件: 序号 字段 字段名 类型 长度 精度 小数位数 默认值 允许空 主键 说明 1 XSID 学

28、生编号 Int 10 1 √ 自动编号 2 Name 姓名 nvarchar 10 3 Sex 性别 nvarchar 2 √ 4 ZJH 证件号码 nvarchar 25 √ 5 LXDH 联系电话 nvarchar 40 √ 6 DJRQ 登记日期 datetime 8 √ 7 YXQZ 有效期至 datetime 8 √ 8 YJSS 已借书数 smallint 2

29、 √ 9 RuleID 学生规则ID int 10 10 ZT 是否挂失 nvarchar 2 √ 借书文件: 序号 字段名 类型 长度 精度 小数位数 默认值 允许空 主键 外键 说明 1 借阅编号 Int 10 1 √ 自动编号 2 图书编号 Int 10 √ 3 学生编号 Int 10 √ 4 借阅时间 Datatime 8 √ 5 到期时间

30、 Datatime 8 √ 6 续借次数 Smallint 2 √ 7 操作员 Nvarchar 10 √ 8 状态 navarchar 50 √ 3.5 021入库管理 具体格式如下: 功能编号 021 功能名称 入库管理模块 内容 功能流程图 所属业务 图书馆管理 所属项目 图书馆管理系统 编写人 陈新光 完成时间 2007-11-27 页码 第16页 3.5.1 功能流程图 (1) 执行数据库操作的时

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

32、2) 数据描述: 页面录入字段见下表: 字段名称 长度 录入方式 是否非空项 数据检验 默认显示 书号 30 文本框 Y N 条形码 20 文本框 Y N 书名 200 文本框 Y N 作者 20 文本框 Y N 出版社 30 文本框 Y N 版次 50 文本框 Y N 图书类别 20 文本框 Y N 单价 8 文本框 Y N 录入时间 默认系统时间,格式: 年 月 日 只需程序记录 显示在入库界面 录入人 默认系统登陆人员 只需程序记录

33、 显示在入库界面 3, 入库数据处理内部逻辑: 图书入库采用表格进行多行添加: 利用javaBean来编写一个BookBean来管理图书。 在BookBean类中增加记录的公共接口来实现入库数据的添加。 具体的类设计如下: Public int insert (Hashtable hash){ int intID = makeID("Book","BookID","","",true); Vector vect = new Vector(); vect.add("Book"); vect.add(addVector("Bo

34、okID",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")); 。。。。。。。。。。。。。。。。。。。。//还有其他选项

35、同上格式。 return insertRecord(vect); } 该方法有一个参数,是java.util.Hashtable类,在调用该方法前,先用和hashtable的put方法将字段名和该条记录的值存入hashtable中,然后将这个hashtable作为参数传入insert方法中。 在insert方法的最后,调用ParentBean中的insertRecord方法,insertRecord可以根据传入的参数自动的生成增加记录的SQL语句并通过JDBC发送到数据库。 正对ParentBean类:主要是实现对数据库的各种操作:如与数据库的连接,对数据

36、库的操作。 3.5.4 存储分配 图书目录文件: 序号 字段名 类型 长度 精度 小数位数 默认值 允许空 主键 说明 1 图书编号 Int 10 1 √ 自动编号 2 条形码 nvarchar 20 3 书名 nvarchar 200 4 图书类型 Nvarchar 50 √ 5 作者 Nvarchar 20 √ 6 译者 Nvarchar 20 √ 7 ISBN Nvarc

37、har 20 8 出版社 Nvarchar 30 √ 9 价格 Money 8 √ 10 书架名称 Nvarchar 20 √ 11 现存量 Smallint 2 √ 12 库存总量 Smallint 2 √ 13 入库时间 Datatime 8 √ 14 操作员 Nvarchar 10 √ 15 简介 Nvarchar 200 √

38、 16 借出次数 Smallint 2 √ 17 是否注销 Nvarchar 2 √ 18 图书状态 nvarchar 50 √ 入库表: 序号 字段名 类型 长度 精度 小数位数 默认值 允许空 主键 外键 说明 1 书号 Nvarchar 30 1 √ 自动编号 2 条形码 Nvarchar 20 √ 3 书名 Nvarchar 200 √ 4 作者 Nvarchar

39、20 √ 5 出版社 Nvarchar 30 √ 6 版次 Nvarchar 50 √ 7 图书类别 Nvarchar 20 √ 8 存放位置 Nvarchar 20 √ 9 单价 Money 8 √ 10 入库数量 Smallint 2 √ 11 金额 Money 8 √ 12 经手人 Nvarchar 10 √

40、 13 票号 Nvarchar 30 √ 14 操作员 Nvarchar 10 √ 15 日期 Datatime 8 √ 注: 3.6 022学生借书模块 具体格式如下: 功能编号 022 功能名称 学生借书模块 内容 功能流程图 所属业务 图书馆管理 所属项目 图书馆管理系统 编写人 陈新光 完成时间 2007-11-27 页码 第21页 3.6.1 功能流程图 需要说明的问题: (1) 在进行借书,修改数据信息时,应先查询学

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

42、有数据清空 A02 提交 点击按钮 将数据提交到处理学生超额信息页面 A03 取消 将当前页面关闭,并取消借阅 2, 数据描述 (1) 功能类型:修改数据和查询数据 (2) 界面设计: (3) 数据字段描述: 字段名称 长度 录入方式 是否非空项 数据检验 默认显示 学生证件号码 10 文本框 Y N 书籍条形码号 10 文本框 Y N 3, 图书借阅数据处理内部逻辑 If(strEdit.equals(“1”)){ If(学生超额|学生不存在){ ifSuccess=false; }else{

43、 If(!bb.IsValid(hash)){ //新增操作 Int intdel[]=bb.addBorrow(hash); If(intdel==null){ ifSuccess=false; }else{ For(int i=0;i<% If(intdel[i]!=1) ifSuccess=false; } } } } If(!ifSuccess){ %><% }else{ %><% } } 执行的过程如下: 首先要验证学生信息是否存在和学生的欠款是否超额,也就是说学生是否可以借书,图书是否在馆等,在 确定合法之后调用bb.addBorrow(hash)来完成借阅流程。流程其实就是对几个表进行增改的操作。 关于addBorrow(hash)的算法: public int[] addBorrow(Hashtable hash) { System.out.println("批量处理新增借阅。。。。。。");

45、 String sql=""; int intID = makeID("JYWJB","JYID","","",true); String 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"));//借阅时间

46、 String strXSID = "";//学生ID String strBOOKID = "";//图书ID String strDQSJ = "";//到期时间 String strXJCS = "";//续借次数 //根据学生证件号取的学生ID //根据学生ID取得规则ID,然后取得可以借阅天数, sql="select Student.RuleID,Student.XSID,Rule.KJYSJ " +" from Studengt,RULE " +" where Student.ZJH='"+strZJH+"' an

47、d Student.RuleID=Rule.RuleID "; Hashtable hashReId=(Hashtable)searchOneData(sql); strXSID=ds.toString((String)hashReId.get("XSID")); String strKJYSJ=ds.toString((String)hashReId.get("KJYSJ")); //根据条形码取得图书ID sql="select BOOKID from Book where TXM='"+strTXM+"'"; Hashtable hashBK

48、ID=(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+",'"+strJYSJ +"',to_char((to_date('"+s

49、trJYSJ+"','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();

50、 closeStm(); return result; } 而对于取消按钮事件,由于要实现取消借阅,所以需要调用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); St

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

关于我们      便捷服务       自信AI       AI导航        抽奖活动

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

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

gongan.png浙公网安备33021202000488号   

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

关注我们 :微信公众号    抖音    微博    LOFTER 

客服