软件工程:需求规格说明书(图书管理系统)

目录

1 导言

1.1 编写目的

1.2 参考资料

2 项目介绍

2.1 项目背景

2.2 项目目标

3 应用环境

3.1 系统运行网络环境      ​编辑

3.2 系统软硬件环境

4 功能模型

4.1 功能角色分析

4.1.1 图书管理员

4.1.2 普通读者

4.1.3 邮件系统

4.2 功能性需求

4.2.1 预定图书用例文档

4.2.2 预定图书用例活动图

4.3 非功能性需求

4.3.1 性能需求

4.3.2 安全需求

4.3.3 可靠性需求

4.3.4 兼容性需求

4.3.5 数据保密需求

5 分析模型

5.1 预定图书类图

5.2 预定图书顺序图


1 导言

1.1 编写目的

       该文档描述了毕业设计指导过程管理系统网站的功能、非功能、设计约束的还有性能方面等需求,为之后的概要设计做准备。

       本文档的预期读者包括:设计开发人员、项目管理人员、软件测试人员、普通用户。

1.2 参考资料

       [1] 韩万江等.《软件项目管理案例教程 第 3 版》[M].机械工业出版社,2013:起止页码.

2 项目介绍

2.1 项目背景

       随着人们生活水平的日益提高,人们对文化的需求也越来越大。在人们的业余生活中,越来越多的人乐于享受滚喊文字给生活带来的乐趣。而图书也是学生的学习过程中必不可少的。而本项目旨在研发一个图书馆的管理系统,实现图书馆的信息化管理。在方便读者查询借阅图书的同时,方便图书馆管理员对图书进行管理。

2.2 项目目标

       本项目目标如下:

       1.创建一个用户友好的交互界面方便老师监督学生的毕业设计的阶段质量以及加强学生与老师在毕业设计过程中的沟通交流。

       2.满足用户的需求,例如:登录注册功能、老师的周任务分配以及对学生任务完成质量的评分还有老师与学生的交流沟通,还有最后的分数统计。

       3.做出一个高质量、低成本的系统,防止在高并发情况下的网站崩溃或者访问速度过慢等。

3 应用环境

3.1 系统运行网络环境      

       如图所示,用户(教师,学生,系统管理员)可以通过网络浏览器登录到网站,并进行相应的操作,web服务器接收到相应操作做出反映,之后对数据库进行相应操作,并将返回的结果返回到浏览器的页面上。

3.2 系统软硬件环境

服务器配置要求如表所示:

配置项

配置参数

CPU 型号

英特尔 Core i5-7300HQ @ 2.50GHz 四核

CPU 主频

2.50GHz

内存容量

8.00GB  ( 金士顿 DDR3 1333MHz / 金士顿 DDR3L 1600MHz )

硬盘容量

1TB / 7200 转/分

显卡芯片

NVIDIA GeForce GTX 1050 Ti

操作系统

Windows 10 64位

网卡

Qualcomm Atheros QCA9377 Wireless Network Adapter

系统运行软件环境如下表所示:

环境项

环境参数

操作系统

具有 Java 虚拟机的操作系统

数据库

MySQL

开发工具

SpringBoot+Mybatis

Web 服务器

Tomcat

4 功能模型

4.1 功能角色分析

       角色(Actor)是指与系统产生交互的外部用户或者外部系统。本系统的主要角色有图书管理员、普通读者、邮件系统,以下是对角色的详细介绍。

4.1.1 图书管理员

       图书管理员负责添加、更新和删除系统中的图书资料信息,同时登记图书资料的借出归还情况图书管理员负责用户的添加删除工作图书管理员可以按照作者或主题等检索查询图书资料信息。

4.1.2 普通读者

       普通读者可以按照作者或主题等检索查询图书资料信息,并且可以预定目前借不到的图书资料。除此之外,普通读者可以查询预定记录取消预定。

4.1.3 邮件系统

       一旦预定的图书资料被归还或购买,系统将立即发email通知预定

4.2 功能性需求

图书管理系统用例图:

4.2.1 预定图书用例文档

用例名称预定图书

参与者普通读者

描述:普通读者自行在系统上预定想要的书。

前置条件:读者已成功登录系统,并检索查询想要预定的图书。

基本事件流1.读者选择想要预定的图书,点击“预定”。

                      2.系统查询所选图书的库存,若库存为零则执行3,否则执行异常事件流2.1。

                      3.系统生成预定记录和预定编号,并显示“预定成功”。

异常事件流2.1系统提示“所选图书有库存,不能预定”,读者点击“确定”,系统返回预定界面。

后置条件:预定成功并记录此次预定。

4.2.2 预定图书用例活动图

4.3 非功能性需求

4.3.1 性能需求

响应时间:

       在95%的情况下,一般时段响应时间不超过1.5秒,高峰时段不超过4秒。

       定位系统从点击到第一个界面显示出来所需要的时间不得超过300毫秒。

业务量:

       周任务并发数为20,最大周任务提交并发数为50。

       估计用户数为10000人,每天登录用户数为1000左右,网络的带宽为100M带宽。

       系统可以同时满足10,000个用户请求,并为10000个并发用户提供浏览功能。

系统容量:

        支持1万用户,支持GB级数据。

       数据库表行数不超过100万行,数据库最大容量不超过1000GB,磁盘空间至少需要40G以上。

精度:

       定位精度误差不超过80米。

       计算的精确性到小数点后7位。

资源使用率:

       CPU占用率<=50%。

       内存占用率<=50%。

4.3.2 安全需求

       严格权限访问控制,用户在经过身份认证后,只能访问其权限范围内的数据,只能进行其权限范围内的操作。

       不同的用户具有不同的身份和权限,需要在用户身份真实可信的前提下,提供可信的授权管理服务,保护数据不被非法/越权访问和篡改,要确保数据的机密性和完整性。

       能经受来自互联网的一般性恶意攻击。如病毒(包括木马)攻击、口令猜测攻击、黑客入侵等。

4.3.3 可靠性需求

       对输入有提示,数据有检查,防止数据异常。

       系统健壮性强,应该能处理系统运行过程中出现的各种异常情况,如:人为操作错误、输入非法数据、硬件设备失败等,系统应该能正确的处理,恰当的回避。

4.3.4 兼容性需求

       系统应支持IOS,Android , windows操作系统;

       系统应支持Mysql 数据库系统;

       最多只有5%的系统实现需要具体到特定的操作系统。

4.3.5 数据保密需求

       网络传递数据应经过加密。需要保证数据在采集、传输和处理过程中不被偷窥、窃取、篡改。业务数据需要在存储时进行加密,确保不可破解。

5 分析模型

       在文档第四部分,展示系统角色、系统例图模型 和非功能需求。主要以用例图描述为主,分析用例执行过程。 这里,将在用例模型的基础上,绘制分析模型,用类图和顺序图描述。

5.1 预定图书类图

       这里创建了四个类:普通读者、预定系统、图书、书库。

5.2 预定图书顺序图

       普通读者选择自己想要预定的图书并点击“预定”,系统进行审核,查询其所选图书是否在库,书库将查询结果返回系统,图书在库,则显示预定失败;若图书不在库,则生成预约记录,并将预约记录提供给系统和普通读者,显示预约成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/890262.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【一步步开发AI运动小程序】二十、AI运动小程序如何适配相机全屏模式?

引言 受小程序camera组件预览和抽帧图像不一致的特性影响&#xff0c;一直未全功能支持全屏模式&#xff0c;详见本系列文件第四节小程序如何抽帧&#xff1b;随着插件在云上赛事、健身锻炼、AI体测、AR互动场景的深入应用&#xff0c;各开发者迫切的希望能在全屏模式下应用&am…

Excel中Ctrl+e的用法

重点&#xff1a;想要使用ctrle&#xff0c;前提是整合或拆分后的结果放置的单元格必须和被提取信息的单元格相邻&#xff0c;且被提取信息的单元格也必须相连。 下图为错误示例 这样则可以使用ctrle 1、信息整合 2、提取信息 3、添加符号 4、信息顺序调换 5、数字提取 crtle还…

Vue3 + Element plus 实现切换el-radio前二次确认

Vue3 Element plus 实现切换el-radio前二次确认 场景&#xff1a;点击切换el-radio之前判断当前内容是否有改变&#xff0c;如有改变弹窗提示切换el-radio将销毁操作&#xff0c;弹窗二次确认是否切换 问题&#xff1a; el-radio 没有提供类似于beforeUpdate这样的钩子去处理这…

手写mybatis之细化XML语句构建器,完善静态SQL解析

前言 1&#xff1a;在流程上&#xff0c;通过 DefaultSqlSession#selectOne 方法调用执行器&#xff0c;并通过预处理语句处理器 PreparedStatementHandler 执行参数设置和结果查询。 2&#xff1a;那么这个流程中我们所处理的参数信息&#xff0c;也就是每个 SQL 执行时&#…

基于yolov10的芒果成熟度检测系统,支持图像、视频和摄像实时检测【pytorch框架、python】

更多目标检测和图像分类识别项目可看我主页其他文章 功能演示&#xff1a; yolov10&#xff0c;芒果成熟度检测系统&#xff0c;支持图像、视频和摄像实时检测【pytorch框架、python】_哔哩哔哩_bilibili &#xff08;一&#xff09;简介 基于yolov10的芒果成熟度检测系统是…

npm install报错一堆sass gyp ERR!

执行npm install &#xff0c;出现一堆gyp含有sass错误的情况下。 解决办法&#xff1a; 首页可能是node版本问题&#xff0c;太高或者太低&#xff0c;也会导致npm install安装错误&#xff08;不会自动生成node_modules文件&#xff09;&#xff0c;本次试验&#xff0c;刚开…

【JavaEE】——初始网络原理

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯 你们的点赞收藏是我前进最大的动力&#xff01;&#xff01; 希望本文内容能够帮助到你&#xff01;&#xff01; 目录 一&#xff1a;局域网 1&#xff1a;概念 二&#xff1a;局域网的连接方式 1&#xff1a;网线直连 …

flask项目框架搭建

目录结构 blueprints python包&#xff0c;蓝图文件&#xff0c;相当于路由组的概念,方便模块化开发 例如auth.py文件 from flask import Blueprint, render_templatebp Blueprint("auth", __name__, url_prefix"/auth")bp.route("/login") d…

空间解析几何3-空间点到线段和平面的距离【附MATLAB代码】

目录 空间中点到线段的距离 空间中点到平面的投影和距离 matlab代码 空间中点到线段的距离 空间中点到平面的投影和距离 matlab代码 function [dis,P2,t] point2Line (A1,B1,C1) %求空间一点到一线段的最短距离 %[dis,P2,Q2]pointSegmentDistance(A,B,C) %A B为线段首末端…

问卷调查毕设计算机毕业设计投票系统SpringBootSSM框架

目录 一、引言‌ ‌二、需求分析‌ 用户角色‌&#xff1a; ‌功能需求‌&#xff1a; ‌非功能需求‌&#xff1a; ‌三、系统设计‌ ‌技术选型‌&#xff1a; ‌数据库设计‌&#xff1a; ‌界面设计‌&#xff1a; ‌四、实现步骤‌ ‌后端实现‌&#xff1a; …

蓝桥杯【物联网】零基础到国奖之路:十八. 扩展模块之光敏和AS312

蓝桥杯【物联网】零基础到国奖之路:十八.扩展模块之光敏和AS312 第一节 硬件解读第二节 CubeMX配置第二节 代码 第一节 硬件解读 光敏和AS312如下图&#xff1a; 光敏电阻接到了扩展模块的5号引脚&#xff0c;5号引脚接了2个电阻&#xff0c;R8和光敏电阻。我们通过ADC读取这…

vue+ElementUI—实现基础后台管理布局(sideBar+header+appMain)(附源码)

后台管理的模板很多&#xff0c;vue本身就提供了完整的vue-template-admin&#xff0c;vue-admin-beautiful等后台管理系统化框架&#xff0c;但是这些框架正是因为成体系而显得繁重。假如你想搭建一个静态的后台管理模板页面和几个单独的菜单页面&#xff0c;直接就上框架是否…

维生素对于生活的重要性

在探索健康奥秘的旅途中&#xff0c;维生素作为人体不可或缺的微量营养素&#xff0c;扮演着至关重要的角色。它们虽不直接提供能量&#xff0c;却是酶促反应、细胞代谢、免疫功能乃至心理健康的基石。今天&#xff0c;让我们一同深入探讨人体所需补充的维生素&#xff0c;这些…

VSCode 使用 EmmyLua 对lua进行调试

时间&#xff1a;2024年10月 其他&#xff1a;win10&#xff0c;EmmyLua v0.8.20 参考&#xff1a;https://blog.csdn.net/ShenHaoDeHao/article/details/140268354 有几个概念搞清楚就好理解了。一般开发中&#xff0c;我们编写的lua文件由宿主程序的来解析、执行&#xff1…

【计算机网络 - 基础问题】每日 3 题(三十九)

✍个人博客&#xff1a;https://blog.csdn.net/Newin2020?typeblog &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞…

软件设计师(软考学习)

数据库技术 数据库基础知识 1. 数据库中的简单属性、多值属性、复合属性、派生属性简单属性&#xff1a;指不能够再分解成更小部分的属性&#xff0c;通常是数据表中的一个列。例如学生表中的“学号”、“姓名”等均为简单属性。 多值属性&#xff1a;指一个属性可以有多个值…

目标检测——YOLO11算法解读

作者&#xff1a;Ultralytics公司 代码&#xff1a;https://github.com/ultralytics/ultralytics YOLO系列算法解读&#xff1a; YOLOv1通俗易懂版解读、SSD算法解读、YOLOv2算法解读、YOLOv3算法解读、YOLOv4算法解读、YOLOv5算法解读、YOLOR算法解读、YOLOX算法解读、YOLOv6算…

分布式数据库的进度管理:TiDB 备份恢复工具 PiTR 的原理与实践

导读 对于一款企业级数据库产品而言&#xff0c;数据的安全性和可恢复性是至关重要的。PiTR&#xff08;Point in Time Restore&#xff09;作为 TiDB 备份工具的核心功能之一&#xff0c;提供了一种精细的数据恢复能力&#xff0c;允许用户将数据库集群恢复到过去的任意时间点…

1.MySQL存储过程基础(1/10)

引言 数据库管理系统&#xff08;Database Management System, DBMS&#xff09;是现代信息技术中不可或缺的一部分。它提供了一种系统化的方法来创建、检索、更新和管理数据。DBMS的重要性体现在以下几个方面&#xff1a; 数据组织&#xff1a;DBMS 允许数据以结构化的方式存…

8.优化存储过程的性能(8/10)

优化存储过程的性能 1.引言 存储过程是数据库系统中预先编写好的SQL语句集合&#xff0c;它们被保存在数据库服务器上&#xff0c;可以在需要时被调用执行。存储过程的使用可以提高数据库操作的效率&#xff0c;减少网络通信&#xff0c;并且可以封装复杂的逻辑&#xff0c;使…