图书馆管理系统需求改进和系统设计

图书馆管理系统需求规划设计书

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience/
这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience/homework/13482
这个作业的目标 对图书馆管理系统进行需求改进和系统设计
github仓库链接 https://github.com/mmt-hub/Library-Management-System

一、需求&原型改进

1.1 课堂反馈问题及需求修改
问题1:功能模块五(统计分析模块)是整个项目中工作量最重的一部分,该怎么分配成员进行设计?
修改1:设想是先做完其余四个基础模块,完成之后再根据剩余时间和成员工作量进行权衡,合理分配任务,确保每一位成员作出的贡献达到相对均等。

问题2:功能模块五(统计分析模块)的设计思路是什么?
修改2:主要是为了解决读者因为“书荒”问题导致对图书馆阅读丧失兴趣。因此,我们会根据读者阅读书目的类型,给他们打上对应的标签,再根据标签给读者推荐相应类型、口碑较高的书目。

1.2 原说明书不足

  1. 功能覆盖不全:缺少临时读者管理、图书预约优先级、报表导出、多渠道提醒等实用功能;

  2. 场景描述模糊:仅罗列功能点,未结合用户实际使用流程说明功能价值;

  3. 非功能需求不细致:未明确不同用户类型的系统响应时间差异,安全性需求缺少数据加密的具体标准;

  4. 交互设计缺失:未说明功能模块间的跳转逻辑,读者与管理员界面区分不清晰。

1.3 功能分析四象限(重要与紧急)

象限 功能类型 具体功能 处理策略
第一象限(紧急且重要) 核心业务功能 图书借还流程、基础检索、读者信息管理、借阅资格校验 Alpha阶段优先实现,投入主要开发资源,确保功能稳定
第二象限(重要不紧急) 优化体验功能 多维度筛选、预约优先级、报表导出、数据可视化、个性化推荐 Alpha阶段完成核心框架,Beta阶段完善细节,持续迭代优化
第三象限(紧急不重要) 辅助功能 多渠道提醒、临时读者权限设置、违规记录分级 Alpha阶段实现基础版本,如短信提醒用第三方接口快速对接,后续优化
第四象限(不紧急不重要) 拓展功能 读者阅读社区、图书推荐算法升级、个性化推广 暂不列入Alpha/Beta阶段,待核心功能稳定后评估需求再开发

1.4 任务分解WBS及进度计划调整

1.4.1 调整后WBS(核心层级)

时间 任务
项目启动与准备(第9-10周,已完成) 团队组建与分工
需求规格说明书初稿编写
需求改进与原型优化(第11周) 用户调研与痛点分析
需求规格说明书完善
原型设计与功能四象限分析
系统设计(第11周) 架构设计
数据库设计
接口设计
Alpha阶段开发(第12-13周) 后端开发(数据库搭建与基础接口,核心业务逻辑)
前端开发(读者端界面开发,管理员端界面开发,交互逻辑实现)
性能优化(检索算法优化,并发访问处理)
测试与改进(第14周) 功能测试与性能测试
用户反馈收集与Bug修复
Alpha阶段总结(第15周) 进度与质量评估
文档整理与发布

1.4.2 调整后进度计划(第11-15周)

周数 核心任务 负责人 交付成果
第11周 用户调研、需求改进、系统架构设计、数据库设计 黄思博(统筹)、颜嘉盈(数据库)、袁斯楷(原型) 调研报告、完善版需求说明书、架构设计文档、ER图
第12周 后端:数据库搭建、核心接口开发;前端:读者端界面框架搭建;测试计划制定 颜嘉盈(后端)、袁斯楷(前端)、黄思博(测试) 数据库脚本、基础接口文档、读者端界面原型、测试计划
第13周 后端:业务逻辑与辅助功能开发;前端:管理员端界面开发、交互实现;性能优化启动 颜嘉盈(后端)、袁斯楷(前端)、何昊天(性能) 完整后端服务、前后端联调版本、性能优化方案
第14周 系统全面测试、用户反馈收集、Bug修复与功能优化 黄思博(测试统筹)、全体成员(Bug修复) 测试报告、优化后系统版本、用户反馈汇总
第15周 Alpha阶段总结、文档整理、博客发布 黄思博(统筹)、全体成员(文档编写) 总结报告、全套项目文档、团队博客总结帖

二、系统设计

2.1 系统架构设计

2.1.1 架构模式选择

采用分层式C/S架构,实现客户端与服务器高效协作,各层职责清晰,便于开发分工与迭代。

2.1.2 架构层次详细设计

  1. 客户端表现层:负责交互与展示,分读者/管理员端,支持多设备适配。以Python Tkinter构建桌面GUI,C语言优化检索与加密模块,核心功能含界面渲染、输入处理及常用信息本地缓存。

  2. 通信层:基于Socket协议构建通道,通过SSL/TLS加密传输,实现请求封装、加密及超时重连,保障数据传输安全稳定。

  3. 服务器应用层:核心业务处理层,采用Python Flask模块化开发,实现权限校验、流程控制、日志记录及短信接口等第三方对接,是连接表现层与数据层的核心。

  4. 数据访问层:通过ORM框架(SQLAlchemy)封装数据库操作,支持事务管理与缓存,屏蔽底层细节,负责数据读写与备份。

  5. 数据存储层:以SQLite为主数据库,定时备份数据,用户密码等敏感信息采用MD5加密,保障数据持久存储与安全。

2.1.3 架构交互流程(以“读者预约图书”为例)

  1. 读者在客户端点击“预约”,系统封装用户ID、图书ID等请求信息;

  2. 通信层加密数据后通过Socket发送至服务器;

  3. 应用层校验用户权限并判断预约优先级;

  4. 数据访问层向数据库提交预约记录请求并更新图书状态;

  5. 数据存储层执行操作并返回结果;

  6. 应用层生成预约成功消息,调用提醒服务;

  7. 通信层返回加密结果,客户端展示提示并更新“我的预约”列表。

2.2 数据库设计

2.2.1 核心实体及关系

核心实体:读者(Reader)、图书(Book)、借阅记录(BorrowRecord)、预约记录(ReservationRecord)、违规记录(ViolationRecord)、图书分类(BookCategory)、管理员(Administrator)。

核心关系:读者与图书为多对多关系(通过借阅/预约记录关联);图书与分类为多对一关系;管理员与读者/图书为一对多管理关系。

2.2.2 核心实体关系与表结构

系统核心实体包括:读者(Reader)、图书(Book)、借阅记录(BorrowRecord)、预约记录(ReservationRecord)、违规记录(ViolationRecord)、图书分类(BookCategory)、管理员(Administrator)。

核心关系:读者与图书为多对多关系(通过借阅记录/预约记录关联);图书与分类为多对一关系;管理员与读者/图书为一对多管理关系。

三、Alpha任务分配计划

3.1 迭代计划会议结论

本次Sprint(Alpha阶段)周期为2周(第12-13周),团队总可用开发时间为160小时(每人每周20小时,4人参与开发)。基于功能优先级与依赖关系,从Product Backlog中选取以下核心功能项进入Sprint Backlog:

  1. 图书检索与筛选功能(依赖基础图书数据);

  2. 读者信息管理与权限控制(依赖读者表设计);

  3. 图书借还核心流程(依赖检索与读者管理功能);

  4. 图书预约与优先级管理(依赖借还流程);

  5. 多渠道提醒服务(依赖预约与借还记录);

  6. 管理员基础操作界面(依赖所有业务功能);

  7. 检索算法优化(依赖检索功能)。

3.2 Sprint Backlog(任务分解与认领)
在PM协调下,将功能项分解为适度粒度的任务,均衡分配给四位成员:

模块 任务描述 预估时间 负责人 状态
数据层 数据库设计与初始化 8 颜嘉盈 已完成
检索模块 图书检索接口+算法优化 18 颜嘉盈 执行中
读者管理 读者信息接口+权限校验 12 黄思博 执行中
借还流程 借还核心业务逻辑 14 黄思博 待开始
读者前端 检索+个人中心界面 16 袁斯楷 执行中
业务前端 借还+预约操作界面 14 袁斯楷 待开始
预约系统 预约接口+优先级算法 12 何昊天 待开始
系统优化 并发处理+提醒服务 14 何昊天 执行中
集成测试 前后端联调与Bug修复 12 全体 待开始

3.3 Alpha阶段迭代冲刺计划(甘特图)

image

四、测试计划

4.1 测试总纲

测试目标:验证图书馆管理系统Alpha版本核心功能的正确性、稳定性与易用性,确保满足用户基本需求与性能指标;测试范围覆盖核心业务功能、非功能需求及用户交互体验;测试与开发同步进行,采用“单元测试-集成测试-系统测试”的分层测试策略。

4.2 测试组织与职责

角色 负责人 核心职责
统筹 黄思博 制定测试计划、设计测试用例、统筹测试进度、分析测试结果
单元测试 颜嘉盈、何昊天 负责后端接口与算法的单元测试,编写测试代码
集成测试 袁斯楷、颜嘉盈 负责前后端集成测试,验证功能联动与接口兼容性
系统测试 黄思博、袁斯楷 负责系统整体功能与性能测试,模拟真实用户场景
用户测试人员 邀请20名目标用户(17名读者、3名管理员) 参与易用性测试,提供真实使用反馈

4.3 测试类型与内容

4.3.1 功能测试

测试内容:覆盖图书管理、读者管理、借还业务、预约服务等核心功能,重点验证以下场景:

  1. 图书检索:多关键词模糊搜索、筛选条件组合查询、排序功能有效性;

  2. 读者管理:不同类型读者权限区分、临时读者权限设置与过期处理;

  3. 借还流程:借阅资格校验、超期判断与罚金计算、续借功能限制;

  4. 预约服务:优先级判断、到馆提醒发送、预约过期取消。

测试方法:采用黑盒测试,设计测试用例覆盖正常场景与异常场景,使用Postman进行接口测试,人工操作验证界面功能。

4.3.2 性能测试

测试内容:

  1. 响应时间:普通操作(借还、检索)响应时间<3秒,复杂查询(统计分析)<5秒;

  2. 并发性能:模拟5000名用户同时在线,100名用户同时检索的场景,系统无崩溃且响应正常;

  3. 稳定性:连续72小时运行系统,核心功能无异常。

测试工具:使用JMeter模拟并发用户,通过系统日志统计响应时间与错误率。

4.3.3 安全性测试

测试内容:

  1. 身份认证:非法用户无法登录,权限越界操作被拒绝;

  2. 数据安全:用户密码加密存储,数据传输加密;

  3. 操作日志:读者权限修改、罚金收取等关键操作有完整日志记录。

测试方法:人工模拟非法登录与权限越界操作,使用Wireshark抓取传输数据验证加密效果。

4.3.4 易用性测试

测试内容:界面布局合理性、操作流程简洁性、提示信息清晰度,重点关注特殊用户(如老年教职工)的操作体验。

测试方法:邀请目标用户完成指定任务(如“预约一本考研图书”“处理超期图书”),记录完成时间与操作难度评分,收集用户反馈。

4.4 测试进度安排

测试阶段 时间安排(第12-14周) 测试内容 交付成果
单元测试 第12周(与开发同步) 后端接口、算法 单元测试报告、测试代码
集成测试 第13周下半周 前后端功能联动、接口兼容性 集成测试报告、Bug清单
系统测试 第14周上半周 功能完整性、性能指标、安全性 系统测试报告、性能分析报告
易用性测试 第14周下半周 界面体验、操作流程、提示清晰度 易用性测试报告、用户反馈汇总
posted @ 2025-11-22 18:08  Hsibo  阅读(17)  评论(0)    收藏  举报