软件详细设计说明书实例.doc

上传人:xin****828 文档编号:6727938 上传时间:2020-03-02 格式:DOC 页数:45 大小:1.05MB
返回 下载 相关 举报
软件详细设计说明书实例.doc_第1页
第1页 / 共45页
软件详细设计说明书实例.doc_第2页
第2页 / 共45页
软件详细设计说明书实例.doc_第3页
第3页 / 共45页
点击查看更多>>
资源描述
软件详细设计说明书实例 2020 年 1 月 目录 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 9 接口设计 2 3 10 测试要点 2 文档名称 详细设计规格说明书 项目名称 图书馆管理系统 项目负责人 陈新光 编写 TEST 年 月 日 校对 所有小组成员 年 月 日 审核 所有小组成员 年 月 日 批准 XXX 年 月 日 开发单位 组员 TEST1 TEST2 TEST3 1 引言 1 1 编写目的 图书管理系统详细设计是设计的第二个阶段 这个阶段的主要任务是在图书管理系统概要设计书基础 上 对概要设计中产生的功能模块进行过程描述 设计功能模块的内部细节 包括算法和详细数据结构 为编写源代码提供必要的说明 概要设计解决了软件系统总体结构设计的问题 包括整个软件系统的结构 模块划分 模块功能和模 块间的联系等 详细设计则要解决如何实现各个模块的内部功能 即模块设计 具体的说 模块设计就是 要为已经产生的图书管理各子系统设计详细的算法 但这并不等同于系统实现阶段用具体的语言编码 它 只是对实现细节作精确的描述 这样编码阶段就可以将详细设计中对功能实现的描述 直接翻译 转化为 用某种程序设计语言书写的程序 1 2 项目背景 根据 XX 学校希望能够充分利用现代科技来提高图书管理的效率 在原有的办公系统基础上进行扩 展 将一些可以用计算机来管理的都进行计算机化 使得图书馆管理人员工作更加方便 工作效率也更加 的高 1 3 定义 Mysql 数据库管理软件 DBMS 数据库管理系统 Windows 2000 2003 XP 运行环境 JSP 软件开发语言 Myeclipse 开发工具 1 4 参考资料 软件工程导论 第 5 版 张海藩编著 清华大学出版社 实用软件工程 Leszek A Maciaszek Bruc Lee Liong 著 机械工业出版社 2 总体设计 2 1 需求概述 按照需求分析文档中的规格要求 使用条形码扫描器进书 借书 还书 使得信息传递准确 流畅 同时 系统最大限度地实现易安装 易维护性 易操作性 运行稳定 安全可靠 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 功能名称 登陆模块 内容 功能流程图 所属业务 图书馆管理 所属项目 图书馆管理 系统 编写人 陈新光 完成时间 2007 11 26 页码 第 5 页 3 1 1 功能流程图 功能流程图如下图所示 登陆 j s p 录入项检验 非空 提交所填内容 失败 登陆数据处理 j s p成功 是否成功执行数据库操作 管理 j s p成功 失败 需要说明的问题 1 录入项检测使用 javascript 实现 各项必须非空 2 登陆 jsp 页面也包含查询按钮 在此的登陆 jsp 提交的数据只是用户 名和密码 3 1 2 功能描述 1 功能类型 查询数据 2 功能描述 提高系统的安全性 3 前提业务 无 4 后继业务 02 管理模块 5 功能约束 权限约束 6 约束描述 7 操作权限 图书馆管理员 3 1 3 界面设计 1 基础信息处理 动作说明 动作编号 动作名称 动作描述 A01 登陆 点击登陆按钮 提交数据 到登陆数据处理 jsp 页面 A02 重至 点击退重至按钮 将当前 信息恢复原先状态 A03 图书信息查询 点击 将页面转至到图书 信息查询 jsp 页面 A04 学生信息查询 点击 将页面转至学生信 息查询 jsp 页面 A05 基础信息 点击 将显示基础信息 2 数据要求 1 功能类型 数据查询 2 数据描述 页面显示录入字段如下 字段名称 长度 录入方式 是否非空项 数据检验 默认显示 管理员 ID 10 文本框 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 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 dbip 3306 dbName user use conn DriverManager getConnection url catch Exception e e printStackTrace return this conn 在 Mysql建立lib system数据库 之后将与数据操作相关数据与该数据库相连 2 记录登陆信息及信息处理 当用户点击 登陆 按钮之后 数据将提交到登陆数据处理 jsp 页面 取得帐 号密码这两个从页面传入的值 然后跟数据库当中管理员表中的账号和密码比 较 如果正确的话 在 JSP 的 SESSION 中存入一个标记属性 表示当前已经有 管理员登陆了 处理完毕后 跳转到管理页面 如果失败 则提示登陆失败 并重新进入到登陆页面 具体的逻辑如下 3 1 5 存储分配 管理员表 admin 序号 字段名 类型 长度 精度 小数 默认 允许 主键 说明 位数 值 空 1 admin ID 管理员 ID Int 10 2 admin password 管理员密码 Char 15 3 admin quanxian 权限 Nvarchar 15 3 2 02 管理模块 具体格式见下表 功能编号 02 功能名称 管理模块 内容 功能流程图 所属业务 图书馆管理 所属项目 图书馆管理 系统 编写人 陈新光 完成时间 2007 11 26 页码 第 8 页 3 2 1 功能流程图 功能流程图如下所示 管理 j s p 查询 j s p 入库管理 j s p 图书注销 j s p学生还书 j s p学生借书 j s p 需要说明的问题 在选择相应的业务时 需要在当前的页面显示 并且在管理页面内 默认 显示图书查询页面 3 2 2 功能描述 1 功能类型 其他 2 功能概述 总体归纳图书馆管理功能 3 前提业务 登陆模块 01 4 后续业务 021 022 023 024 03 5 功能约束 权限约束 6 约束描述 7 操作权限 图书馆管理人员 3 2 3 界面设计 1 基本信息处理 动作说明如下 动作编号 动作名称 动作描述 A01 入库管理 点击按钮 将页面转至入 库管理 jsp 页面 A02 学生借书 点击按钮 将页面转至学 生借书 jsp 页面 A03 学生还书 点击按钮 将页面转至学 生还书 jsp 页面 A04 图书注销 点击按钮 将页面转至图 书注销 jsp 页面 A05 图书查询 点击按钮 将页面转至图 书查询 jsp 页面 2 数据要求 功能类型 其他 3 3 031 图书信息查询模块 具体格式如下 功能编号 031 功能名称 图书信息查 询模块 内容 功能流程图 所属业务 图书馆管理 所属项目 图书馆管理 系统 编写人 陈新光 完成时间 2007 11 26 页码 第 10 页 3 3 1 功能流程图 功能流程图如下图 图书查询 j s p 录入项检验 非空 提交所填内容 失败 图书查询数据处 理 j s p 成功 是否成功执行数据库操作 查询结果 j s p成功 失败 需要说明的问题 录入项检测使用 javascript 来实现 各项非空 操作权限 面向所有用户 3 3 2 功能描述 1 功能类型 查询数据 2 功能概述 显示查询结果 3 前提业务 无 4 后继业务 5 功能约束 没有约束 6 约束描述 7 操作权限 面向所有用户 3 3 3 界面设计 1 基础信息处理 下表是动作说明 动作编号 动作名称 动作描述 A01 确定 点击按钮 提交数据到图 书查询数据处理 jsp 页面 A02 学生信息查询 点击按钮 将页面转至学 生信息查询 jsp 页面 2 数据要求 1 功能类型 数据查询 2 数据描述 页面显示字段见下表 字段名称 长度 录入方式 是否非空项 数据检验 默认显示 请选择查询 类型 20 下拉列表 Y N 请输入查询 内容 200 文本框 Y N 3 图书信息查询的输出项 书名 图书类型 作者 译者 ISBN 出版社 价格 书架名称 现存量 简介 书名 图书类型 3 3 4 模块内部逻辑 S e a r c h j s p L i b q u e r y j s p C h u l i j s p V i e w j s p 1 Search jsp 用于显示界面的内容 给用户显示一个查询接口 2 Lib query jsp 用来调度所有的页面 它根据传入的参数来决定 包含哪一个 jsp 页面来显示内容 在 lib query jsp 页面中 它根据传入的参数来决定包含哪一个 jsp 页面来显示内容 则可 以通过 jsp include page 利用 jsp include 标签来 被动态加载发送到相应页面 3 chuli jsp 用来处理数据查询和显示查询到的结果列表 在这个页面中 数据要求是以列表的形式显示到输出页面 由于查询到的结果可能过多 所以采用分页形式显示 对于分页功能的内部逻辑 4 View jsp 用来显示查询到的图书的各项属性 3 3 5 存储分配 图书目录文件 Book 序号 字段名 类型 长度 精度 小数位数 默认值 允许空 主键 说明 1 BookID 图书编号 Int 10 1 自动编号 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 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 SFzhuxiao 是否注销 Nvarchar 2 18 BookZT 图书状态 nvarchar 50 借书文件表 JSWJB 序号 字段名 类型 长度 精度 小数 位数 默认 值 允许 空 主键 外键 说明 1 JYID Int 10 1 自动 借阅编号 编号 2 BookID 图书编号 Int 10 3 StuID 学 生编号 Int 10 4 JYSJ 借 阅时间 Datatime 8 5 DQSJ 到 期时间 Datatime 8 6 XJCS 续 借次数 Smallint 2 7 CZY 操 作员 Nvarchar 10 8 ZT 状态 navarchar 50 3 4 032 学生信息查询模块 具体格式如下 功能编号 032 功能名称 学生信息查 询模块 内容 功能流程图 所属业务 图书馆管理 所属项目 图书馆管理 系统 编写人 陈新光 完成时间 2007 11 26 页码 第 12 页 3 4 1 功能流程图 功能流程图如下图 学生信息查询 j s p 录入项检验 非空 提交所填内容 失败 学生信息查询数据 处理 j s p 成功 是否成功执行数据库操作 学生信息查询结 果 j s p 成功 失败 需要说明的问题 录入项检测使用 javascript 来实现 各项非空 操作权限 面向所有用户 3 4 2 功能描述 8 功能类型 查询数据 9 功能概述 显示查询结果 10 前提业务 无 11 后继业务 12 功能约束 没有约束 13 约束描述 14 操作权限 面向所有用户 3 4 3 界面设计 4 基础信息处理 下表是动作说明 动作编号 动作名称 动作描述 A01 确定 点击按钮 提交数据到图 书查询数据处理 jsp 页面 A02 图书信息查询 点击按钮 将页面转至图 书信息查询 jsp 页面 5 数据要求 3 功能类型 数据查询 4 数据描述 页面显示字段见下表 字段名称 长度 录入方式 是否非空项 数据检验 默认显示 请输入学号 10 文本框 Y N 6 学生信息查询的输出项 学生学号 姓名 性别 生日 证件号码 联系电话 登记日期 有效期至 已借书数 3 4 4 模块内部逻辑 S e a r c h j s p I n d e x j s p L i s t j s p V i e w j s p 5 Search jsp 用于显示界面的内容 给用户显示一个查询接口 6 Index jsp 用来调度所有的页面 它根据传入的参数来决定包含 哪一个 jsp 页面来显示内容 在 index jsp 页面中 它根据传入的参数来决定包含哪一个 jsp 页面来显示内容 则可 以通过 jsp include page 利用 jsp include 标签来 被动态加载发送到相应页面 7 List jsp 用来显示查询到的结果列表 8 View jsp 用来显示查询到的学生的各项属性 注释 学生信息查询模块与图书查询模块属于同一类功能 实 现可以完全类似 3 4 5 存储分配 学生文件 序号 字段 字段名 类型 长度 精度 小数 位数 默认 值 允许 空 主键 说明 1 XSID 学生编号 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 9 RuleID 学生规则 ID int 10 10 ZT 是否挂失 nvarchar 2 借书文件 序号 字段名 类型 长度 精度 小数位 数 默认值 允许空 主键 外键 说明 1 借阅编 号 Int 10 1 自动 编号 2 图书编 号 Int 10 3 学生编 号 Int 10 4 借阅时 间 Datatime 8 5 到期时 间 Datatime 8 6 续借次 Smallint 2 数 7 操作员 Nvarchar 10 8 状态 navarchar 50 3 5 021 入库管理 具体格式如下 功能编号 021 功能名称 入库管理模 块 内容 功能流程图 所属业务 图书馆管理 所属项目 图书馆管理 系统 编写人 陈新光 完成时间 2007 11 27 页码 第 16 页 3 5 1 功能流程图 入库管理 j s p 录入项检验 非空 提交所填内容 失败 入库数据处理 j s p成功 是否成功执行数据库操作 显示结果 j s p成功 失败 1 执行数据库操作的时候要验证权限 2 录入项检验用 javascript 来实现 选项非空 3 5 2 功能描述 1 功能类型 添加数据 2 功能描述 增加图书目录文件中的图书信息 3 前提业务 管理模块 4 后继业务 无 5 功能约束 权限约束 6 约束描述 无 7 操作权限 图书馆管理人员 3 5 3 界面设计 1 基础信息处理 动作说明如下表 动作编号 动作名称 动作描述 A01 保存 点击按钮 提交数据到入 库数据处理 jsp 页面 A02 退出 点击按钮 将当前页面关 闭 2 数据描述 1 功能类型 数据增加 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 录入时间 默认系统时 间 格式 年 月 日 只需程序记 录 显示在入库 界面 录入人 默认系统登 陆人员 只需程序记 录 显示在入库 界面 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 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 还有其他选项 同上格式 return insertRecord vect 该方法有一个参数 是 java util Hashtable 类 在调用该方 法前 先用和 hashtable 的 put 方法将字段名和该条记录的值存 入 hashtable 中 然后将这个 hashtable 作为参数传入 insert 方法 中 在 insert 方法的最后 调用 ParentBean 中的 insertRecord 方 法 insertRecord 可以根据传入的参数自动的生成增加记录的 SQL 语句并通过 JDBC 发送到数据库 正对 ParentBean 类 主要是实现对数据库的各种操作 如 与数据库的连接 对数据库的操作 3 5 4 存储分配 图书目录文件 序号 字段名 类型 长度 精度 小数位数 默认值 允许空 主键 说明 1 图书编号 Int 10 1 自动编号 2 条形码 nvarchar 20 3 书名 nvarchar 200 4 图书类型 Nvarchar 50 5 作者 Nvarchar 20 6 译者 Nvarchar 20 7 ISBN Nvarchar 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 16 借出次数 Smallint 2 17 是否注销 Nvarchar 2 18 图书状态 nvarchar 50 入库表 序号 字段名 类型 长度 精度 小数位 数 默认值 允许空 主键 外键 说明 1 书号 Nvarchar 30 1 自动 编号 2 条形码 Nvarchar 20 3 书名 Nvarchar 200 4 作者 Nvarchar 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 13 票号 Nvarchar 30 14 操作员 Nvarchar 10 15 日期 Datatime 8 注 3 6 022 学生借书模块 具体格式如下 功能编号 022 功能名称 学生借书模 块 内容 功能流程图 所属业务 图书馆管理 所属项目 图书馆管理 系统 编写人 陈新光 完成时间 2007 11 27 页码 第 21 页 3 6 1 功能流程图 借书 j s p 录入项检验 非空 提交所填内容 失败 检查学生欠款信息成功 欠款是否超额执行数据库操作 处理借书数据 j s p未超额 超额 是否成功失败 显示学生借书信 息 j s p 需要说明的问题 1 在进行借书 修改数据信息时 应先查询学生的欠款信息 如欠款 超额 则利用 javascript 实现信息提示 拒绝借书 如无超额 则接受借书 2 为便于以后的恢复操作 此修改操作只在表中做一个标志 并不是 真正的对其修改 3 6 2 功能描述 1 功能类型 修改数据和查询数据 2 功能描述 更新学生借书文件 图书目录文件等中的信息 3 前提业务 管理模块 4 后继业务 无 5 功能约束 权限约束 6 约束描述 7 操作权限 图书馆管理人员 3 6 3 界面设计 1 基础信息处理 动作说明如下 动作编号 动作名称 动作描述 A01 重置 点击按钮 将文本框内的 所有数据清空 A02 提交 点击按钮 将数据提交到 处理学生超额信息页面 A03 取消 将当前页面关闭 并取 消借阅 2 数据描述 1 功能类型 修改数据和查询数据 2 界面设计 3 数据字段描述 字段名称 长度 录入方式 是否非空项 数据检验 默认显示 学生证件号 码 10 文本框 Y N 书籍条形码 号 10 文本框 Y N 3 图书借阅数据处理内部逻辑 If strEdit equals 1 If 学生超额 学生不存在 ifSuccess false else If bb IsValid hash 新增操作 Int intdel bb addBorrow hash If intdel null ifSuccess false else For 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 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 学生 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 and 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 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 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 而对于取消按钮事件 由于要实现取消借阅 所以需要调用 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 strOne where JYID id addBatch sql sql update BOOK set ZT 可借 where BOOKID strBOOKID addBatch sql int result executeBatch closeStm return result 3 6 4 存储分配 借书文件 序号 字段名 类型 长度 精度 小数位 数 默认值 允许空 主键 外键 说明 1 借阅编 号 Int 10 1 自动 编号 2 图书编 号 Int 10 3 学生编 号 Int 10 4 借阅时 间 Datatime 8 5 到期时 间 Datatime 8 6 续借次 数 Smallint 2 7 操作员 Nvarchar 10 8 状态 navarchar 50 罚款单 序号 字段名 类型 长度 精度 小数位 数 默认值 允许空 主键 外键 说明 1 借阅编 号 Int 10 1 自动编 号 2 图书编 Int 10 号 3 学生编 号 Int 10 4 应罚金 额 Smallint 3 5 实收金 额 Smallint 3 6 状态 Nvarchar 1 7 备注 Nvarchar 200 学生文件 序号 字段 字段名 类型 长度 精度 小数 位数 默认 值 允许 空 主键 说明 1 XSID 学生编号 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 9 RuleID 学生规则 ID int 10 10 ZT 是否挂失 nvarchar 2 3 7 023 学生还书 具体格式如下 功能编号 023 功能名称 学生还模块 内容 功能流程图 所属业务 图书馆管理 所属项目 图书馆管理 系统 编写人 陈新光 完成时间 2007 11 27 页码 第 27 页 3 7 1 功能流程图 还书 j s p 录入项检测 非空 提交数据 处理 j s p成功 失败 是否 成功执行数据库操作 显示结果成功 失败 需要说明的问题 1 显示结果可直接在处理结果 jsp 中利用 javascript 来实现显示功能 2 处理要包含 对图书状态和借书文件表中信息的修改以及学生的欠 款金额的计算 并更新 Publish 表 3 7 2 功能描述 1 功能类型 修改数据 2 功能概述 完成学生的还书业务并计算学生的欠款信息 3 前提业务 管理模块 4 后继业务 无 5 功能约束 权限约束 6 约束描述 7 操作权限 图书馆管理人员 3 7 3 界面设计 1 基础信息处理 动作编号 动作名称 动作描述 A01 重置 点击按钮 将文本框内的 所有数据清空 A02 提交 点击按钮 将数据提交到 处理还书信息页面 2 界面描述 3 数据描述 字段名称 长度 录入方式 是否非空项 数据检验 默认显示 书籍条形码 号 10 文本框 Y N 对于还书业务的处理 实质上与借书业务的实现基本上相同 只是 调用了 backBorrow hash 来实现还书功能 If strEdit equals 1 Int intdel bb BackBorrow hash If intdel null ifSuccess false else For int i 0 ialert 归还操作失败 alert 归还操作成功 针对 backBorrow hash 算法如下 public int backBorrow String TXM System out println 批量处理还书 String sql String strBOOKID ds toString String toName BOOK TXM BOOKID TXM String strNow ds getDateTime strNow strNow substring 0 10 createStatement clearBatch sql update JSWJB set ZT strOne DQSJ strNow where BOOKID strBOOKID and ZT strZero System out println sql1 sql addBatch sql sql update BOOK set ZT 可借 where BOOKID strBOOKID System out println sql2 sql addBatch sql int result executeBatch closeStm return result 3 7 4 存储分配 借书文件 序号 字段名 类型 长度 精度 小数位 数 默认值 允许空 主键 外键 说明 1 借阅编 号 Int 10 1 自动 编号 2 图书编 号 Int 10 3 学生编 号 Int 10 4 借阅时 间 Datatime 8 5 到期时 间 Datatime 8 6 续借次 数 Smallint 2 7 操作员 Nvarchar 10 8 状态 navarchar 50 学生文件 序号 字段 字段名 类型 长度 精度 小数 位数 默认 值 允许 空 主键 说明 1 XSID 学生编号 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 9 RuleID 学生规则 ID int 10 10 ZT 是否挂失 nvarchar 2 图书目录文件 序号 字段名 类型 长度 精度 小数位数 默认值 允许空 主键 说明 1 图书编号 Int 10 1 自动编号 2 条形码 nvarchar 20 3 书名 nvarchar 200 4 图书类型 Nvarchar 50 5 作者 Nvarchar 20 6 译者 Nvarchar 20 7 ISBN Nvarchar 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 16 借出次数 Smallint 2 17 是否注销 Nvarchar 2 18 图书状态 nvarchar 50 罚款单 序号 字段名 类型 长度 精度 小数位 数 默认值 允许空 主键 外键 说明 1 借阅编 号 Int 10 1 自动编 号 2 图书编 号 Int 10 3 学生编 号 Int 10 4 应罚金 额 Smallint 3 5 实收金 额 Smallint 3 6 状态 Nvarchar 1 7 备注 Nvarchar 200 3 8 024 图书注销 具体格式如下 功能编号 024 功能名称 图书注销模 块 内容 功能流程图 所属业务 图书馆管理 所属项目 图书馆管理 系统 编写人 陈新光 完成时间 2007 11 27 页码 第 31 页 3 8 1 功能流程图 注销 j s p 录入项检测 非空 提交数据 处理 j s p成功 失败 是否 成功执行数据库操作 显示结果成功 失败 需要说明的问题 1 显示结果可直接在处理结果 jsp 中利用 javascript 来实现显示功能 2 在处理图书注销的时候 为了便于以后的恢复操作 此删除操作只 在表中做一标志 并不是真正的删除 3 8 2 功能描述 1 功能描述 删除数据 2 功能概述 注销图书 3 前提业务 管理模块 4 后继业务 无 5 约束描述 6 操作权限 图书馆管理人员 3 8 3 界面设计 1 基础信息处理 动作说明如下 动作编号 动作名称 动作描述 A01 重置 点击按钮 将文本框内的 所有数据清空 A02 提交 点击按钮 将数据提交到 处理还书信息页面 2 界面描述 3 数据描述 字段名称 长度 录入方式 是否非空项 数据检验 默认显示 书籍条形码 号 10 文本框 Y N 4 对于图书注销业务的处理 3 8 4 存储分配 图书目录文件 序号 字段名 类型 长度 精度 小数位数 默认值 允许空 主键 说明 1 图书编号 Int 10 1 自动编号 2 条形码 nvarchar 20 3 书名 nvarchar 200 4 图书类型 Nvarchar 50 5 作者 Nvarchar 20 6 译者 Nvarchar 20 7 ISBN Nvarchar 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 16 借出次数 Smallint 2 17 是否注销 Nvarchar 2 18 图书状态 nvarchar 50 3 9 025 基础信息设置 3 10 接口设计 1 用来查询一条数据的私有接口 该方法有一个参数 参数是一个字符串 表示要向数据库发送一条 SQL 语句 这个 SQL 只是一个查询语句 方法的返回植是一个 Hashtable 在 Hashtable 中以键值对的方式表示了从数据库中选出了 第一行记录 用 Hashtable 中的 get FieldName 方法可以得到改行 记录的某一个记录的值 private Hashtable searchOneData String sql Hashtable hash new Hashtable ResultSet rs selectRecord sql Statement stmt null try 取得列数和列名 ResultSetMetaData rsmd rs getMetaData int cols rsmd getColumnCount if rs next for int i 1 i cols i String field ds toString rsmd getColumnName i String value ds toString rs getString i hash put field value catch Exception e System out println 运行时出错 e finally if rs null try stmt rs getStatement rs close catch Exception e System out println 关闭记录集 rs 时出 错 e if stmt null try stmt close catch Exception e System out println 关闭声明时 statement 出错 e return hash 2 增加记录的公共接口 该方法有一个参数 是 java util Hashtable 类 在调用该方法前 先用和 hashtable 的 put 方法将字段名和该条记录的值存入 hashtable 中 然后将这个 hashtable 作为参数传入 insert 方法中 在 insert 方法的最后 调用 ParentBean 中的 insertRecord 方法 insertRecord 可以根据传入的参数自动的生成增加记录 的 SQL 语句并通过 JDBC 发送到数据库 Public int insert Hashtable hash Int intID makeID Book BookID true Vector vect new Vector Vect add Return insertRecord vect 3 删除记录的公共接口 该方法有一个参数 id 该参数表示的是 book 表中的 ID 字段 ID 字 段是这个表的主键 用这个主键可以检索到表中的一条唯一的记录 通过这个主键 delete 方法可以生成一条 SQL 语句 删除这一条记 录 public int delete String id String sql sql delete from Book where BookID id return deleteRecord sql 4 查询记录的公共接口 Public Vector getData String sqlwhere int page String sql Sql select from Book If sqlwhere equals Sql sqlwhere Return getOnePage sql page 20 5 修改记录的接口 public int update Hashtable hash Vector vect new Vector vect add Book 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 return updateRecord vect 3 11 测试要点 3 11 1测试范围 测试范围 主要内容 简要说明 系统登陆验证 验证用户身份 进行权限控制 功能性测试 信息检索功能测试 测试数据库检索代码的健壮性 功能性测试 3 11 2测试方法 功能性测试 黑盒测试
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 中学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!