软件工程_图书管理系统_第1页
软件工程_图书管理系统_第2页
软件工程_图书管理系统_第3页
软件工程_图书管理系统_第4页
软件工程_图书管理系统_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程项目实践报告 课题名称图书管理系统 专 业计算机科学与技术 开发组长名字 1 072485 开发组员 名字1 072485 名字3 072509 名字2 072417 名字4 072351 名字5 072513 指导老师朱 XX 小组编号第一组 完成时间2009 年 12 月 20 日 具体分工具体分工 序号学号姓名角色承担的工作 简介 页码备注 1072485名字 1组长需求分析 总体设计 详细设计 编码 4 6 14 16 17 22 34 39 2 1 2 3 3 2 4 1 4 22 5 1 5 2 2072351名字 4副组长测试40 476 1 6 3 3072509名字 3副组长需求分析 详细设计 6 8 11 12 22 27 2 4 2 5 2 7 2 9 4 23 4 25 4072513名字 5组员可行性研究 需求分析 1 3 9 11 1 1 1 6 2 6 5062417名字 2组员总体设计 详细设计 12 14 28 33 3 1 4 26 4 28 目录目录 1 1 可行性研究与项目开发计划可行性研究与项目开发计划 1 1 1 1 引言 1 1 1 1 问题定义 1 1 1 2 背景 1 1 1 3 编写目的 1 1 2 可行性研究的前景 1 1 2 1 要求 1 1 2 2 目标 1 1 2 3 条件 假定和限制 2 1 2 4 进行可行性研究的方法 2 1 2 5 评价尺度 2 1 3 所建议的系统 2 1 3 1 对所建议系统的说明 2 1 3 2 影响 2 1 3 3 局限性 3 1 3 4 技术条件方面的可行性 3 1 4 社会因素方面的可行性 3 1 4 1 法律方面的可行性 3 1 4 2 使用方面的可行性 3 1 5 结论 3 1 6 工作进度表 3 2 2 需求分析需求分析 4 4 2 1 需求定义 4 2 1 1 图书信息查询 借书信息查询 4 2 1 2 新书入库 修改图书信息 4 2 1 3 借阅图书 归还图书 4 2 2 目标系统的数据分析与建模 5 2 3 目标系统的功能需求与建模 6 2 4 目标系统的行为需求与建模 6 2 5 数据字典 8 2 6 IPO 图 9 2 7 目标系统的性能需求 11 2 7 1 数据精确度 11 2 7 2 响应时间 11 2 8 运行需求 11 2 8 1 用户界面 11 2 8 2 故障处理 11 2 9 其他需求 11 2 9 1 可使用性 11 2 9 2 安全性 11 2 9 3 可维护性 12 2 9 4 可移植性 12 3 3 总体设计总体设计 1313 3 1 系统设计 13 3 1 1 系统功能分析 13 3 1 2 运行环境 13 3 1 3 层次图和结构图 13 3 2 数据库设计 14 3 2 1 数据库需求分析 14 3 2 2 数据库结构设计 14 3 2 3 数据库逻辑结构设计 15 4 4 详细设计详细设计 1717 4 1 人机界面设计 17 4 1 1 设计概述 17 4 1 2 系统响应时间 18 4 1 3 出错信息处理 18 4 2 功能模块设计 19 4 2 1 用户登录模块 19 4 2 2 图书馆书籍查询模块 21 4 2 3 已借书籍查询模块 22 4 2 4 新增图书模块 24 4 2 5 删除图书模块 26 4 2 6 修改图书信息 28 4 2 7 借阅图书模块 30 4 2 8 归还图书模块 32 5 5 编码编码 3434 5 1 开发环境 34 5 2 运行结果 34 5 2 1 登录模块 34 5 2 2 书籍查询模块 35 5 2 3 已借书籍查询模块 36 5 2 4 借书模块 36 5 2 5 还书模块 37 5 2 6 新书入库 38 5 2 7 删除书籍 38 5 2 8 书籍信息修改 39 6 6 测试测试 4040 6 1 测试计划 40 6 1 1 测试计划名称 40 6 1 2 引言 40 6 1 2 1 问题定义 40 6 1 2 2 背景 40 6 1 2 3 编写目的 40 6 1 3 测试项 40 6 1 4 被测试的特性 41 6 1 5 不被测试的特性 41 6 1 6 方法 41 6 1 7 项通过准则 42 6 1 8 暂停标准和再启动要求 42 6 1 9 应提供的测试文件 42 6 1 10 测试任务 42 6 1 11 环境要求 42 6 2 测试日志 42 6 2 1 图书馆书籍查询模块测试日志 42 6 2 2 已借书籍查询模块测试日志 43 6 2 3 借阅图书模块测试日志 44 6 2 4 归还图书模块测试日志 45 6 2 5 新增图书模块测试日志 45 6 2 6 删除图书模块测试日志 45 6 2 7 修改书籍信息模块测试日志 46 6 2 8 借阅人子系统测试日志 46 6 2 9 管理员子系统测试日志 46 6 2 10 登录模块测试日志 46 6 2 11 系统集成测试日志 47 6 3 测试总结 47 7 7总结总结 4848 7 1 项目总结 48 7 2 个人总结 48 7 2 1 名字 1 个人总结 48 7 2 2 名字 5 个人总结 49 7 2 3 名字 2 个人总结 49 7 2 4 名字 3 个人总结 49 7 2 5 名字 4 个人总结 50 8 8 附录附录 5151 8 1 登录界面代码 51 8 2 管理员界面代码 52 8 3 借阅人代码 59 第 1 页 共 59 页 1 可行性研究与项目开发计划 1 1 引言引言 1 1 1 问题定义 图书管理系统是指应用电子计算机为读者提供方便的图书借阅环境 并能满足所有授权用户 对信息的各种功能需求的计算机应用软件系统 1 1 2 背景 所建议开发的软件系统的名称 图书管理系统 本项目的任务提出者 名字1 名字3 名字5 名字2 名字4 开发者 名字1 名字3 名字5 名字2 名字4 产品用户 图书管理员 借阅者 1 1 3 编写目的 可行性研究报告是为 图书管理系统 开发的可能性 可行性 必要性提供论据 并导出 系统的逻辑模型 探索出若干种可供选择的主要解法 为开发人员进行系统总体规划设计及具 体实施开发工程提供必要的参考资料 在系统开发完成后期为系统的测试 验收提供帮助 其 编写过程由名字1 名字3 名字5 名字2 名字4合作完成 预期读者是从事 图书管理系统 开发的五个人 1 2 可行性研究的前景可行性研究的前景 1 2 1 要求 a 功能 这是一个图书管理系统 主要负责查询 添加 删除 修改书库的信息 查询持 卡人的借书情况 处理借书 还书 续借等事务 统计图书流动情况 b 数据的来源 由学校图书馆提供 c 输入要求 数据完整 详实 输出要求 简捷 快速 实时 d 处理流程和数据流程用图表的方式 表示出最基本的数据流程和处理流程 并辅之以叙 述 e 在安全与保密方面 登陆系统时 需验证身份和密码 只有图书管理员才能对书籍信息 进行修改以及处理借书还书等操作 1 2 2 目标 a 图书管理系统可以方便图书借阅管理 只需一台电脑和一个管理员就能轻松完成 b 提高对新书入库 借阅图书 借阅信息统计以及学生信息管理的速度 第 2 页 共 59 页 c 减少人力的投入的同时提高了信息处理的精度和准确度 在输入无误的基础上可保证数据 的正确性 d 改进了管理服务的质量 可由系统对入库图书进行自动分类 归类 借阅图书的分类和次 数 学生信息整理 借阅情况登记入档 e 改进人员的利用率 减少了前台操作人员 更多的人员可用于为借阅者服务 更新采购图 书等其他事物 节省人力资源 1 2 3 条件 假定和限制 a 信息来源单一 客户需求分析主要来源于对图书管理员的采访和咨询 b 技术方面本组人员对SQL还不熟悉 还处于学习阶段 c 进行系统方案选择比较的时间较短 只有一至两个星期 d 系统完成截止时间最晚为本学期期末 1 2 4 进行可行性研究的方法 复查系统规模和目标 对已有图书管理系统进行分析和研究 导出新系统的高层逻辑模型 并导出和评价供选择的解法 1 2 5 评价尺度 本软件开发项目为一个学生项目 由各组员通力协作 自主研发 充分调动主观能动性 故为零成本项目 并由于时间有限 所以开发时间也不会太长 操作界面方便即可 1 3 所建议的系统所建议的系统 1 3 1 对所建议系统的说明 该软件是一个图书管理系统 1 功能概括 a 信息来源单一 客户需求分析主要来源于对图书管理员的采访和咨询 b技术方面本组人员对SQL不熟悉 还处于学习阶段 c 进行系统方案选择比较的时间较短 只有一至两个星期 d 系统完成截止时间最晚为本学期期末 2 系统环境以及工具 a 运行环境 Windows XP b 编程语言 C c 数据库 SQL 2005 1 3 2 影响 a 对设备的影响 没有什么特殊的要求 该系统的信息量不是太大 一般的PC机都能使用 b 对软件的影响 Windows XP C 和MS SQL 2005 c 对用户单位机构的影响 使用该系统 客户原有体系几乎不需要太大的变化 该操作简单 使用人员会计算机基本操作即可 肯定会很快提高工作效率 减轻劳动负担 第 3 页 共 59 页 1 3 3 局限性 由于我们都是在校学生 缺乏实践经验 我们的图书管理系统做的比较不健全 只是适用 性的东西 该系统工作量小 一般情况下不会由于信息量大而造成麻烦 有关数据库的存储量 就目前而言 客户的藏书量不是很大 如果日后有所扩大 可以在原有基础上作相应的扩充 这在SQL中是很容易办到的 1 3 4 技术条件方面的可行性 技术方面 虽然我们对SQL不熟悉 但是本组同学有较强的钻研精神和学习能力 相信通 过小组组员间的协作 我们能够顺利完成图书管理系统的开发 1 4 社会因素方面的可行性社会因素方面的可行性 1 4 1 法律方面的可行性 法律方面我们已经调查研究过 我们用的软件都是正版的 此软件不存在侵犯专利权 侵 犯版权等问题 所以在法律方面是可行的 1 4 2 使用方面的可行性 我们的软件操作简单 运行方便 用我们的软件来管理图书是没有什么困难的 所以在使 用方面是可行的 1 5 结论结论 综上 此系统逻辑模型架构清晰 功能明确 有较强的实用性 在技术上可实现 故为一 个可行的项目 1 6 工作进度表工作进度表 可行性研究1 周 需求分析2周 总体设计1周 详细设计1周 编码与测试3周 总结1周 第 4 页 共 59 页 2 需求分析 2 1 需求定义需求定义 2 1 1 图书信息查询 借书信息查询 图书馆主要向读者提供图书借阅的服务 读者为了借阅图书 一般情况下 需要在借书之 前查询所要借阅的图书情况 所以图书馆需要为读者提供图书查询功能 例如 读者可能想借 阅某方面的书 但不知道图书馆在该方面有哪些图书可供借阅 所以需要对图书馆的图书进行 查询 或者 读者知道想借阅的图书信息 但不知道该图书馆是否有该书或不知道图书在图书 馆的位置 是否被借出 是否可以借阅等信息 这也需要使用图书查询功能 一般的图书查询中 读者是通过图书登记卡 浏览图书登记卡中的信息得到图书信息的 读者在查询图书时 可以依据以下条件查询 1 图书的ID 2 图书的名称 3 图书的作者 4 图书的出版社 5 图书是否在库中 经过图书查询 读者获得图书馆是否有自己想要的图书 该图书的简单信息以及图书在图 书馆的借阅位置等信息 2 1 2 新书入库 修改图书信息 为了能正常运行 图书馆要及时更新馆藏图书 对于新书 要购进 供读者借阅 所以要 设计到图书的批量入库 对于批量入库 图书管理员要批量登记图书的信息 包括图书ID 图书名称 作者 出版 社等信息 在录入书时难免出现错误 因此增加修改图书信息功能 2 1 3 借阅图书 归还图书 图书馆的基本功能之一就是为读者提供借阅服务 读者通过借阅这一过程 可以把图书带 出图书馆 从而使读者能够更方便的浏览图书 借书过程中 图书管理员要对读者的借书资格 进行审查 对符合借书条件的读者 允许其借书 对其借书记录进行登记 对没有借书资格的 读者 禁止其借书 具体的步骤如下 1 读者向图书管理员提交请求和图书借阅卡 2 图书管理员检查读者提供的借阅卡 如果该借阅证真实准确 读者已经借阅的图书并没 有超过允许借书量 而且读者没有逾期未还的图书 则允许读者借书 否则 读者不能从图书 第 5 页 共 59 页 馆借书 3 读者拿到要借阅的图书 同时拿到自己的借阅卡 借书过程完毕 4 当借阅图书的数量超过5本或者出现未按期归还图书的情况 则不好进行借阅处理 图书馆的另一基本功能就是为读者提供还书服务 读者在一本图书借阅期满之前把该图书 还给图书馆 一般的还书步骤如下 1 读者把所借的图书和自己的借阅卡交给图书管理员 2 图书管理员对图书进行检查 看有无损坏 如果出现图书的损坏情况 读者应进行相应 的赔偿 3 图书管理员查看是否超过规定借阅期限 如果已经过期 则读者要按规定交纳罚金 4 图书管理员进行登记 同时把还书信息记入借阅卡 5 读者拿回自己的借阅卡 还书过程借书 6 读者逾期未归还图书超过三天 将按照每本每天进行一定的罚款 2 2 目标系统的数据分析与建模目标系统的数据分析与建模 数据的概念模型用E R图表示如下 第 6 页 共 59 页 2 3 目标系统的功能需求与建模 2 4 目标系统的行为需求与建模 用状态图来描述系统的行为模型 第 7 页 共 59 页 第 8 页 共 59 页 2 5 数据字典数据字典 名字 图书记录 别名 描述 记录图书馆中的图书的信 息 定义 图书记录 书的 ID 书 名 作者 出版社 是否在 库中 位置 数据库 名字 借阅记录 别名 描述 记录图书馆中的图书的借 阅 情况 定义 借阅记录 书的 ID 借 阅人 ID 借出时间 位置 数据库 名字 用户记录 别名 描述 记录访问图书馆的用户的 信息 定义 用户记录 用户名 密 码 权限 位置 数据库 第 9 页 共 59 页 2 6 IPO 图图 IPO 表 被调用 管理员调用 输入 部分书信息 无输出 部分书信息 无 处理 在书籍表中查询符合要求的记录 局部数据元素 注释 系统 图书管理系统 模块 图书查询 管理员 编号 NO 001 IPO 表 被调用 管理员调用 输入 新增书的信息输出 处理 在书籍表中修改相应的记录 局部数据元素 注释 系统 图书管理系统 模块 增加新图书 编号 NO 002 IPO 表 被调用 管理员调用 输入 书的 ID 及修 改后的信息 输出 部分书信息 无 处理 在书籍表中修改相应记录 局部数据元素 注释 IPO 表 被调用 管理员调用 输入 欲删除书籍的 ID 输出 处理 删除书籍表中的相应记录 局部数据元素 注释 系统 图书管理系统 模块 删除书籍 编号 NO 004 系统 图书管理系统 模块 图书信息修改 编号 NO 003 第 10 页 共 59 页 IPO 表 被调用 用户调用 输入 部分书信息 无输出 完整图书信息 处理 在书籍表中查询符合要求的记录 局部数据元素 注释 系统 图书管理系统 模块 图书查询 用户 编号 NO 005 IPO 表 被调用 管理员类调用 借阅记录 输入 输出 所有结束记录 处理 输出借阅记录表中所有内容 局部数据元素 注释 系统 图书管理系统 模块 借阅记录查询 编号 NO 006 IPO 表 被调用 管理员调用 借阅记录 修改模块 输入 书籍 ID 借阅 人 ID 和结束时间 输出 书籍 ID 借书 ID 处理 创建一个新的借书项并向修改模块发送书 ID 局部数据元素 注释 IPO 表 被调用 管理员调用 借阅记录 修改模块 输入 借书 ID输出 书 ID 处理 删除借阅记录中相应借书项 返回所还书 的 ID 局部数据元素 注释 系统 图书管理系统 模块 还书 编号 NO 008 系统 图书管理系统 模块 借书 编号 NO 007 第 11 页 共 59 页 2 7 目标系统的性能需求目标系统的性能需求 2 7 1 数据精确度 用户的各种查询操作 管理员的各种更新操作均要求准确无误地进行数据库操作 给出正 确的操作结果 2 7 2 响应时间 对于用户的各种操作请求应尽快给出响应 响应时间应控制在2s左右 2 8 运行需求运行需求 2 8 1 用户界面 用户界面友好 与用户完成互动 满足用户需求 方便用户操作 2 8 2 故障处理 目标系统应对于能预测到的故障均进行预处理 从而可以有效的防止故障的发生 方便进 行故障处理 2 9 其他需求其他需求 2 9 1 可使用性 目标系统应该能够随时处于正常工作状态 以方便用户随时进行查询和管理 2 9 2 安全性 目标系统应该能够保证用户的个人信息安全 由管理员统一进行管理 而每个用户只可查 看和修改个人信息 IPO 表 被调用 借阅人调用 借阅记录 输入 借阅人 ID输出 借书 ID 处理 返回借阅人所借书的借书项 局部数据元素 注释 系统 图书管理系统 模块 查阅借书记录 编号 NO 009 第 12 页 共 59 页 2 9 3 可维护性 目标系统应该具有良好的可维护性 以便在不花费很大代价的前提下被长时间使用 2 9 4 可移植性 目标系统应该具有良好的可移植性 以方便在不同平台上使用 第 13 页 共 59 页 3 总体设计总体设计 3 1 系统设计系统设计 3 1 1 系统功能分析 图书管理系统应具备的功能如下 1 进入系统前需要身份验证 用户名 密码 输入正确后方可进入 2 用户可以查询书库中书的信息和已借的书籍信息 3 图书管理员可以根据需要进行书库管理 包括添加书籍 删除书籍 查询书籍信息 修 改书籍信息等 3 1 2 运行环境 Windows XP Visual Studio 2008 和SQL 2005 3 1 3 层次图和结构图 第 14 页 共 59 页 3 2 数据库设计数据库设计 3 2 1 数据库需求分析 在需求分析的基础上 结合数据流程图 通过对图书管理系统的工作内容和数据流程的分 析 设置以下的数据结构和相关数据项 1 用户种类信息 包括的数据项有 用户ID 用户密码 用户权限 2 书籍信息 包括的数据项有 书的ID 书名 作者 出版社 是否在库中 3 借阅信息 包括借阅人ID 书籍ID 借出时间 根据以上分析得出的数据结构和数据项 进一步进行数据库概念结构设计和逻辑结构设计 3 2 2 数据库结构设计 第 15 页 共 59 页 3 2 3 数据库逻辑结构设计 将概念结构设计阶段得到的各个数据结构及E R图转换为SQL数据库系统支持的数据模型 也就是数据库的逻辑结构设计 图书馆管理信息系统数据库中各个表格的设计结果如下所示 每个表格对应数据库中的一 张表格 详细描述了各表格的存储信息规范 第 16 页 共 59 页 表表 TableUser 列名数据类型备注 IDvarchar 50 主键 书名varchar 50 无 作者varchar 50 无 出版社varchar 50 无 是否在库中Bit无 表表 TableRecord 列名数据类型备注 书的 IDvarchar 50 无 借书人 IDvarchar 50 无 借书时间Datetime无 表表 TableBook 列名数据类型备注 用户名varchar 50 无 权限varchar 50 无 密码int无 第 17 页 共 59 页 4 详细设计详细设计 4 1 人机界面设计人机界面设计 4 1 1 设计概述 人机界面设计是接口设计的一个重要的组成部分 对于交互式系统来说 人机界面设计和 数据设计 体系结构设计及过程设计一样重要 图书管理系统是基于对话框设计的 用到了三个对话框 分别为登录对话框 书库管理员 对话框和借阅人对话框 在用户登入时验证用户身份 如果是合法用户 则根据数据库中记录的用户权限转到管理 员界面或者借阅人界面 登录界面 书库管理员界面 第 18 页 共 59 页 借阅人界面 4 1 2 系统响应时间 对于用户的各种操作请求应尽快给出响应 响应时间应控制在1s左右 4 1 3 出错信息处理 对于用户不符合要求的输入 系统会给出错误提示 并告知其错误原因 第 19 页 共 59 页 4 2 功能模块设计功能模块设计 4 2 1 用户登录模块 此模块用于用户从登录界面进入主界面 通过判断用户名 用户密码的正确性来验证用户的 合法性 根据用户的权限不同跳至管理员界面和借阅人界面 输入 用户名 密码 输出 管理员或借阅人界面 流程逻辑流程逻辑 第 20 页 共 59 页 第 21 页 共 59 页 4 2 2 图书馆书籍查询模块 此模块用于实现用户对图书馆中的书籍查询的功能 根据用户输入的相应的图书信息在数 据库中搜索 给出用户相应的图书信息 输入 书的ID 书名 作者 出版社 是否在库中 输出 符合要求的相关图书信息 流程逻辑流程逻辑 第 22 页 共 59 页 4 2 3 已借书籍查询模块 此模块用于查询某用户已借的书籍 如果是在管理员界面下则输入要查询用户的ID 如果在借阅人界面下则无需输入 输入 用户名 无 输出 该用户已借的书籍 流程逻辑流程逻辑 第 23 页 共 59 页 第 24 页 共 59 页 4 2 4 新增图书模块 此模块实现新书的登记功能 用户需输入新书的详细信息 如果书的ID不与库中已有书籍 ID相冲突 则系统将信息保存在数据库中后 新书登记成功 否则输出失败原因 输入 书的ID 书名 作者 出版社 是否在库中 输出 添加成功消息 失败原因 流程逻辑流程逻辑 第 25 页 共 59 页 第 26 页 共 59 页 4 2 5 删除图书模块 此模块实现书的删除功能 用户需输入要删除书的ID 如果书库中有ID为该ID的书 则系 统将删除数据库中该书的相关信息 并显示删除书籍成功 否则提示失败原因 输入 书的ID 输出 删除成功消息 失败原因 流程逻辑流程逻辑 第 27 页 共 59 页 第 28 页 共 59 页 4 2 6 修改图书信息 此模块实现书的信息修改功能 用户需输入书的ID和要修改的信息 如果书库中有ID为该 ID的书 则系统将更新数据库中与该书相关的信息 并显示信息修改成功 否则输出失败原因 输入 书的ID 书名 作者 出版社 是否在库中 输出 修改成功消息 失败原因 流程逻辑流程逻辑 第 29 页 共 59 页 第 30 页 共 59 页 4 2 7 借阅图书模块 此模块用于图书的借阅 系统根据借阅人ID是否合法 借阅人是否满足借阅条件 已借书 籍小于5本且没有书超期不还 30天 书的ID是否合法 书是否在库中来决定是否允许借阅 如果允许 则修改数据库中的相应数据并输出借阅成功的消息 否则输出借阅失败的原因 输入 借阅人ID 书的ID 输出 借阅成功消息 借阅失败的原因 流程逻辑流程逻辑 第 31 页 共 59 页 第 32 页 共 59 页 4 2 8 归还图书模块 此模块用于图书的归还 系统根据书的ID是否合法 书是否在库中来决定是否允许归还 如果允许 则修改数据库中的相应数据并输出归还成功的消息 否则输出归还失败的原因 输入 书籍ID 输出 归还成功消息或归还失败原因 流程逻辑流程逻辑 第 33 页 共 59 页 第 34 页 共 59 页 5 编码编码 5 1 开发环境开发环境 Windows XP Visual Studio 2008 C Sql Server 2005 5 2 运行结果运行结果 5 2 1 登录模块 第 35 页 共 59 页 5 2 2 书籍查询模块 第 36 页 共 59 页 5 2 3 已借书籍查询模块 5 2 4 借书模块 第 37 页 共 59 页 5 2 5 还书模块 第 38 页 共 59 页 5 2 6 新书入库 5 2 7 删除书籍 第 39 页 共 59 页 5 2 8 书籍信息修改 第 40 页 共 59 页 6 测试测试 6 1 测试计划测试计划 6 1 1 测试计划名称 图书管理系统测试计划 6 1 2 引言 6 1 2 1 问题定义 图书管理系统是指应用电子计算机为读者提供方便的图书借阅环境 并能满足所有授权 用户对信息的各种功能需求的计算机应用软件系统 6 1 2 2 背景 所建议开发的软件系统的名称 图书管理系统 本项目的任务提出者 名字 1 名字 3 名字 5 名字 2 名字 4 开发者 名字 1 名字 3 名字 5 名字 2 名字 4 产品用户 图书管理员 借阅者 6 1 2 3 编写目的 可行性研究报告是为 图书管理系统 开发的可能性 可行性 必要性提供论据 并 导出系统的逻辑模型 探索出若干种可供选择的主要解法 为开发人员进行系统总体规划 设计及具体实施开发工程提供必要的参考资料 在系统开发完成后期为系统的测试 验收 提供帮助 其编写过程由名字 1 名字 3 名字 5 名字 2 名字 4 合作完成 预期读者是 从事 图书管理系统 开发的五个人 6 1 3 测试项 测试项名称版本修订级别开始测试前逻 辑或物理变换要求 用户登录模块1 01 0其余模块均已 测试完毕 图书馆书籍查询 模块 1 01 0无 已借书籍查询模 块 1 01 0无 新增图书模块1 01 0无 删除图书模块1 01 0无 修改图书信息模 块 1 01 0无 借阅图书模块1 01 0无 归还图书模块1 01 0无 第 41 页 共 59 页 6 1 4 被测试的特性 测试项名称被测试的特性 用户登录模块判断用户名 用户密码的正确性来验证用户的合法性 根据用户的 权限不同跳至管理员界面和借阅人界面 图书馆书籍查询 模块 根据用户输入的相应的图书信息在数据库中搜索 给出用户相应的 图书信息 已借书籍查询模 块 此模块用于查询某用户已借的书籍 如果是在管理员界面下则输入 要查询用户的 ID 如果在借阅人界面下则无需输入 新增图书模块用户需输入新书的详细信息 如果书的 ID 不与库中已有书籍 ID 相 冲突 则系统将信息保存在数据库中后 新书登记成功 否则输出失败 原因 删除图书模块用户需输入要删除书的 ID 如果书库中有 ID 为该 ID 的书 则系 统将删除数据库中该书的相关信息 并显示删除书籍成功 否则提示失 败原因 修改图书信息模 块 用户需输入书的 ID 和要修改的信息 如果书库中有 ID 为该 ID 的 书 则系统将更新数据库中与该书相关的信息 并显示信息修改成功 否则输出失败原因 借阅图书模块根据借阅人 ID 是否合法 借阅人是否满足借阅条件 已借书籍小 于 5 本且没有书超期不还 30 天 书的 ID 是否合法 书是否在库中 来决定是否允许借阅 如果允许 则修改数据库中的相应数据并输出借 阅成功的消息 否则输出借阅失败的原因 归还图书模块根据书的 ID 是否合法 书是否在库中来决定是否允许归还 如果 允许 则修改数据库中的相应数据并输出归还成功的消息 否则输出归 还失败的原因 6 1 5 不被测试的特性 工程中各模块使用的所有由微软提供的模块 如编辑框控件 按钮控件 所表现出来的特 性 不测试的原因是这些模块在微软提供给用户前已经过测试 其可靠性已有保证 无需再度 测试 6 1 6 方法 本测试使用自底向上的测试方法 测试流程如下图所示 第 42 页 共 59 页 6 1 7 项通过准则 如下表所示 每个模块在规定的输入下能得到正确的输出 测试项名称输入输出 用户登录模块用户名 密码管理员或借阅人 界面 图书馆书籍查询 模块 书的 ID 书名 作者 出版社 是否 在库中 符合要求的相关 图书信息 已借书籍查询模 块 用户名 无该用户已借的书 籍 新增图书模块书的 ID 书名 作者 出版社 是否 在库中 添加成功消息 失 败原因 删除图书模块书的 ID删除成功消息 失 败原因 修改图书信息模 块 书的 ID 书名 作者 出版社 是否 在库中 修改成功消息 失 败原因 借阅图书模块借阅人 ID 书 的 ID 借阅成功消息 借 阅失败的原因 归还图书模块书籍 ID归还成功消息或 归还失败原因 6 1 8 暂停标准和再启动要求 暂停标准 某模块在规定输入下未得到正确的输出 再启动要求 导致错误输出的错误被找到并改正 6 1 9 应提供的测试文件 项目总体设计与详细设计 全部工程文件 含源代码文件 应用程序文件等 6 1 10 测试任务 尽可能的排除系统错误并提供系统可靠性预测 6 1 11 环境要求 Microsoft Windows vista 系统或 Microsoft Windows XP 系统 Visual Studio 2008 编译 连接 调试 6 2 测试日志测试日志 6 2 1 图书馆书籍查询模块测试日志 测试内容测试方法事件时间记录人 GetData 单元代码审查通过2009 12 5名字 4 SearchConditon 单 元 且 stock 0 白盒测试通过2009 12 5名字 4 SearchConditon 单 元 且 stock 1 白盒测试通过2009 12 5名字 4 SearchConditon 单 元 且 stock 2 白盒测试通过2009 12 5名字 4 SearchNow 单 元 代码审查通过2009 12 5名字 4 模块测试 黑盒测试输出书库中2009 12 6名字 4 第 43 页 共 59 页 输入 无 正确输出 书库中 所有书籍 所有书籍通过 模块测试 输入 ID 1 正确输出 ID 为 1 的书的信息 黑盒测试输出 ID 为 1 的书的信息 通过 2009 12 6名字 4 模块测试 输入 ID 100 正确输出 没有符 合要求的图书 黑盒测试输出 没有 符合要求的图书 通过 2009 12 6名字 4 模块测试 输入 作者名 金 庸 正确输出 书库中 的所有作者为金庸的书 籍 黑盒测试输出书库中 的所有作者为金 庸的书籍 通过 2009 12 6名字 4 模块测试 输入 作者名 梁 羽生 正确输出 没有符 合要求的图书 黑盒测试输出 没有 符合要求的图书 通过 2009 12 6名字 4 模块测试 输入 是否在库中 是 正确输出 书库中 的所有在库的书 黑盒测试输出书库中 的所有在库的书 通过 2009 12 6名字 4 模块测试 输入 是否在库中 否 正确输出 书库中 的所有不在库的书 黑盒测试输出书库中 的所有不在库的 书 通过 2009 12 6名字 4 模块测试 输入 出版社 人 民文学出版社 正确输出 书库中 的所有出版社为人民文 学出版社的书 黑盒测试输出书库中 的所有出版社为 人民文学出版社 的书 通过 2009 12 6名字 4 模块测试 输入 出版社 人 民出版社 正确输出 无输出 黑盒测试无输出 通 过 2009 12 6名字 4 6 2 2 已借书籍查询模块测试日志 测试内容测试方法事件时间记录人 search2 sente nce 单元 代码审查通过2009 12 7名字 4 search2 Exec ute 单元 代码审查通过2009 12 7名字 4 模块测试 输入 无 输出 该用 户没有借书 黑盒测试输出 该 用户没有借书 通过 2009 12 7名字 4 第 44 页 共 59 页 借阅人界 面 模块测试 输入 无 输出 该用 户借的所有书 借阅人界 面 黑盒测试输出该用 户借的所有书 通过 2009 12 7名字 4 模块测试 输入 借阅 人 ID sunlibin 输出 该用 户不存在或没有 借书 管理员界 面 黑盒测试输出 该 用户不存在或 没有借书 通 过 2009 12 7名字 4 模块测试 输入 借阅 人 ID sun 输出 该用 户不存在或没有 借书 管理员界 面 黑盒测试输出 该 用户不存在或 没有借书 通 过 2009 12 7名字 4 6 2 3 借阅图书模块测试日志 测试内容测试方法事件时间记录人 模块测试 输入 书的 ID 1 借阅人 ID sunlibin 正确输出 借书 成功 黑盒测试输出 借 书成功 通 过 2009 12 7名字 4 模块测试 输入 书的 ID 2 借阅人 ID sunlibin 正确输出 已借 的书超过 5 本或超过 还书期限 还书后方 可再借书 黑盒测试输出 已 借的书超过 5 本或超过还书 期限 还书后 方可再借书 通过 2009 12 7名字 4 模块测试 输入 书的 ID 2 借阅人 ID sunlibin 正确输出 已借 的书超过 5 本或超过 还书期限 还书后方 可再借书 黑盒测试输出 已 借的书超过 5 本或超过还书 期限 还书后 方可再借书 通过 2009 12 7名字 4 模块测试 输入 书的 ID 2 借阅人 ID sunlibin 黑盒测试输出 该 书不在库中或 用户名无效 通过 2009 12 7名字 4 第 45 页 共 59 页 正确输出 该书 不在库中或用户名无 效 模块测试 输入 书的 ID 3 借阅人 ID sunlibin 正确输出 该书 不在库中或用户名无 效 黑盒测试输出 该 书不在库中或 用户名无效 通过 2009 12 7名字 4 模块测试 输入 书的 ID 100 借阅人 ID sunlibin 正确输出 该书 不在库中或用户名无 效 黑盒测试输出 该 书不在库中或 用户名无效 通过 2009 12 7名字 4 6 2 4 归还图书模块测试日志 测试内容测试方法事件时间记录人 模块测试 输入 书的 ID 1 正确输出 还书成功 黑盒测试输出 还书 成功 通过 2009 12 7名字 4 模块测试 输入 书的 ID 2 正确输出 该书不存在或已 在库中 黑盒测试输出 该书 不存在或已在库 中 通过 2009 12 7名字 4 模块测试 输入 书的 ID 100 正确输出 该书不存在或已 在库中 黑盒测试输出 该书 不存在或已在库 中 通过 2009 12 7名字 4 6 2 5 新增图书模块测试日志 测试内容测试方法事件时间记录人 add sentenc e 单元测试 代码审查通过2009 12 8名字 4 add Execut e 单元测试 代码审查通过2009 12 8名字 4 模块测试 输入 ID 1 输出 书库 中存在与该书 ID 相同的书 不能添加相同 ID 的书 黑盒测试输出 书库 中存在与该书 ID 相同的书 不能添加相同 ID 的书 通过 2009 12 8名字 4 模块测试 黑盒测试输出 添加2009 12 8名字 4 第 46 页 共 59 页 输入 ID 100 输出 添加 成功 成功 通过 6 2 6 删除图书模块测试日志 测试内容测试方法事件时间记录人 delete sente nce 单元测试 代码审查通过2009 12 8名字 4 delete Exec ute 单元测试 代码审查通过2009 12 8名字 4 模块测试 输入 ID 1 正确输出 删除成功 黑盒测试输出 删 除成功 通过 2009 12 8名字 4 模块测试 输入 ID 500 正确输出 书库中不存在该 ID 的书 黑盒测试输出 书 库中不存在该 ID 的书 通过 2009 12 8名字 4 6 2 7 修改书籍信息模块测试日志 测试内容测试方法事件时间记录人 modify sente nce 单元测试 代码审查通过2009 12 8名字 4 modify Exec ute 单元测试 代码审查通过2009 12 8名字 4 模块测试 输入 书的 ID 1 书的其他信 息 正确输出 修改成功 黑盒测试输出 修 改成功 通过 2009 12 8名字 4 模块测试 输入 书的 ID 2000 书的其他信 息 正确输出 该书不存在 黑盒测试输出 该 书不存在 通过 2009 12 8名字 4 6 2 8 借阅人子系统测试日志 测试内容测试方法事件时间记录人 输入 相关 信息 点击图书 查询 正确输出 在表中出现对应 书籍信息 黑盒测试输出对应书 籍信息 通过 2009 12 9名字 4 输入 相关 信息 点击已借 黑盒测试输出对应书 籍信息 2009 12 9名字 4 第 47 页 共 59 页 书籍查询 正确输出 在表中出现对应 书籍信息 通过 6 2 9 管理员子系统测试日志 测试内容测试方法事件时间记录人 输入 相关 信息 点击新增书 籍 正确输出 根据输入信息按 新增书籍模块输 出输出 黑盒测试通过2009 12 9名字 4 6 2 10 登录模块测试日志 测试内容测试方法事件时间记录人 模块测试 输入 用户 名 justdoit 密码 123456 输出 管理 员界面 黑盒测试输出 管理 员界面 通过 2009 12 9名字 4 模块测试 输入 用户 名 justdoi 密码 123456 输出 用户 名不存在 黑盒测试输出 用户 名不存在 通过 2009 12 9名字 4 模块测试 输入 用户 名 justdoit 密码 12345 输出 密码 不正确 黑盒测试输出 密码 不正确 通过 2009 12 9名字 4 模块测试 输入 用户 名 sunlibin 密码 123456 输出 借阅 人界面 黑盒测试输出 借阅 人界面 通过 2009 12 9名字 4 6 2 11 系统集成测试日志 测试内容测试方法事件时间记录人 进入借阅人 界面 并查询书 籍信息 黑盒测试通过2009 12 10名字 4 进入管理员黑盒测试通过2009 12 10名字 4 第 48 页 共 59 页 界面 并新增书 籍 进入管理员 界面 并借出书 籍 黑盒测试通过2009 12 10名字 4 6 3 测试总结测试总结 在这次测试中 由于测试任务不是很重 因此大部分工作都由一人完成 由于工程比较简 单 在大多数的单元测试中使用代码审查的方法 即节省了时间 又能在最短时间发现错误出 现的地方并予以改正 在模块测试 子系统测试 系统集成测试中则多采用黑盒测试的方法以 求高效 在黑盒测试的输入中 力求涵盖各种情况下的输入 并核查其输出 从而确定系统的 可靠性 第 49 页 共 59 页 7总结总结 7 1 项目总结项目总结 在这次软件工程项目中 我们组 5 名同学积极参与 分工合作 按时完成了这个书库管理 系统 在这个项目中 每个人的能力都得到了锻炼 取得了期望的效果 具体分工可见下表 序号学号姓名角色承担的工作 简介 页码备注 1072485名字 1组长需求分析 总体设计 详细设计 编码 4 6 14 16 17 22 34 39 2 1 2 3 3 2 4 1 4 22 5 1 5 2 2072351名字 4副组长测试40 476 1 6 3 3072509名字 3副组长需求分析 详细设计 6 8 11 12 22 27 2 4 2 5 2 7 2 9 4 23 4 25 4072513名字 5组员可行性研究 需求分析 1 3 9 11 1 1 1 6 2 6 5062417名字 2组员总体设计 详细设计 12 14 28 33 3 1 4 26 4 28 7 2 个人总结个人总结 7 2 1 名字 1 个人总结 在这次软件工程的项目中 我作为组长 参与了软件开发的几个主要环节 需求分析 总 体设计 详细设计 编码 通过这次项目的锻炼 我提高了自己的能力 主要有以下三方面的 收获 一是掌握了数据库的初步内容 刚开始接触这个项目时 我并不会数据库 后来通过在查 阅一些网上的相关资料和图书馆中的书籍 慢慢地掌握了数据库的初步内容 并顺利完成了该 图书管理系统的编码工作 由于一开始对数据库不熟悉 所以这次项目的数据库设计的比较简 单 图书管理系统的功能也有待进一步的完善 我会在寒假里抽空将其完善 进一步掌握数据 库的相关技术 二是通过项目实践逐渐形成了软件工程的思想 纠正了我过去认为软件就是编写代码的错 误想法 当进行软件开发时 我不再是一上来就先考虑如何进行编码 而是按照软件工程的思 想从可行性研究 需求分析 总体设计 详细设计 一步一步细化 并配有相应的文字说明和 图形工具 最后再编码就水到渠成了 详细的软件文档可以有利于开发人员对软件更好的理解 测试 维护和版本升级 三是体验了团队开发 以往不论是参加程序设计比赛或是课程设计作业 都是一个人独立 完成的 而这次则是一个团队一起完成一件事情 作为组长 我认为首先要有责任意识 确保 项目能够在规定时间内完成 其次是要协调组员间的分工合作 使项目在团队协作下顺利进展 提高开发效率 这次由于是我们第一次团队开发 缺乏经验 难免会犯一些小错误 例如在开 发过程中还是较早考虑了编码 从这个项目中我学到了许多宝贵的经验 在以后的软件开发中 我会避免再犯类似的错误 更好地完成软件的开发工作 第 50 页 共 59 页 7 2 2 名字 5 个人总结 前后历时一个多月的软件工程小组开发终于划上了一个完整的句号 期待而忐忑 老师刚 布置这一课程设计的时候 我跃跃欲试 但心里却又在担心自己能力有限 能否顺利完成任务 自己并没有信心保证 万一因为我而拖累了整个小组就过意不去了 对于软件工程来说 写文档绝对不是普通的打字 它也需要技术性的思想 在确定了项目 要求后 我的第一份任务是写数据需求说明书和可行性分析 看了老师给我们的 demo 后 我才 知道自己之前的想法有多么的幼稚 照着模版把一项项标题打好 觉得怎么那么的陌生 内容 都不知道该怎么写 原本热情如火的我仿佛被人从头到脚淋了一盘冷水 在花了几个晚上弄清 楚我们小组的目标要求后 终于完成了任务 心中松了一口气 因为功课忙 软件工程的任务除了周六 日下午和晚上我会花几个小时外 其他时间都只 花两到三个小时的时间去写文档 有时是从晚饭后开始工作 进入状态后就不想动了 因为想 着要一气呵成 甚至连洗澡都是很匆忙的 周五 周六半夜两三点睡觉更是家常便饭 终于体 会到从事软件工程行业的人员的辛苦 但完成后成就感挺大的 心里会十分愉悦 虽然给小组 成员们过目后还会改动两三次 小组成员之间的相处从拘谨到自然的过渡 大家展开的激烈讨论拉近了我们之间的距离 负责和重要的文档总会有人主动提出提供帮助 团队合作精神得到很好的体现 或许是我们专业的特殊要求 大家对这门课十分的重视 个人觉得我们绝大部分精力都放 在了软件工程上 当然付出是由收获的 我们可以把理论课学到的内容应用到实践中去 而且 是现学现用的 加深了对理论知识的理解 体验到了软件工程开发过程中的阶段性以及协调性 学会了如何写符合规范的文档 也使自己对待其他实验的态度更加认真 思维也更加严密 无 论对个人以后的发展还是个人素质的提升都是一个很好的经历 本次开发依赖全部组员的通力合作 在项目中 根据我们每个人的特点和擅长 明确的分 工的基础上 大家协调顺畅 搭配合理 并根据日常学习上的急缓程度来适时调整工程进度和 每个人的工作量 使得工程顺利完成 在项目收尾的后期 我专门为所有文档作了风格统一以 及版式统一 使得大家合作默契 效率较高 最后 感谢我和我一起奋斗的伙伴们 尽管我们这次的项目并不是很成功 但我们一直在总 结 在学习 我们下次的合作会做更的好些的 感谢给予我们谆谆教导的朱老师 谢谢 7 2 3 名字 2 个人总结 在这次软件工程项目实践环节 我们小组完成了图书管理系统的设计 在小组分工里 我 主

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论