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

news2024/10/19 11:40:30

目录

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 预定图书顺序图

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI+Xmind彻底解决你的思维导图

在写作领域、老师授课、产品经理等都会使用到思维导图&#xff0c;如果是一个个拖拉撰写太麻烦了。 本篇内容小索奇就教会大家利用AI结合Xmind制作思维导图。 先打开我们的AI软件 这里小索奇用ChatGPT&#xff08;可以使用kimi&#xff0c;豆包等大模型都可以&#xff09; P…

中小型医院网站开发:Spring Boot入门

2 相关技术简介 2.1 Java技术 Java是一种非常常用的编程语言&#xff0c;在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中&#xff0c;Java的身影无处不在&#xff0c;并且拥有旺盛的生命力。Java的跨平台能力十分强大&#xff0c;只需一次编译&#xff0c;…

上市公司资产误定价Misp计算数据-含参考资料及代码(2006-2023年)

数据说明&#xff1a;参考《经济研究》期刊游家兴&#xff08;2012&#xff09;老师的做法&#xff0c;先根据行业内所有公司推算出公司的基础价值&#xff0c;进而通过对公司的实际价值与基础价值进行对比&#xff0c; 来衡量公司相对于业内同行的误定价水平&#xff0c;具体大…

D39【python 接口自动化学习】- python基础之函数

day39 函数的返回值 学习日期&#xff1a;20241016 学习目标&#xff1a;函数&#xfe63;-52 函数的返回值&#xff1a;如何得到函数的执行结果&#xff1f; 学习笔记&#xff1a; return语句 返回值类型 def foo():return abc var foo() print(var) #abc# 函数中return函…

python实现录屏功能

python实现录屏功能 将生成的avi文件转为mp4格式后删掉avi文件 参考感谢&#xff1a;https://www.cnblogs.com/peachh/p/16549254.html import os import cv2 import time import threading import numpy as np from PIL import ImageGrab from pynput import keyboard from da…

统一认证与单点登录:简化用户体验的关键解决方案

引言 在数字化时代&#xff0c;企业往往需要管理多个应用和系统&#xff0c;随之而来的是用户密码和身份认证管理的复杂性。统一认证&#xff08;Single Sign-On, SSO&#xff09;作为一种身份管理解决方案&#xff0c;不仅可以减少用户在多个系统间切换登录的麻烦&#xff0c…

选择合适的SSL证书

随着我们在线业务的增长&#xff0c;确保网站安全变得越来越重要。对于许多人来说&#xff0c;保护网站安全的想法似乎令人望而生畏&#xff0c;尤其是在有各种SSL证书可用的情况下。您可能想知道哪一个最适合您的业务需求或如何浏览这些选项。 除了SSL证书之外&#xff0c;使…

Nuxt.js 应用中的 app:resolve 事件钩子详解

title: Nuxt.js 应用中的 app:resolve 事件钩子详解 date: 2024/10/17 updated: 2024/10/17 author: cmdragon excerpt: app:resolve 是 Nuxt.js 中的生命周期钩子,在解析 app 实例后调用。这个钩子允许开发者在应用完全初始化后执行一些自定义操作,比如注册插件、设置中…

D40【python 接口自动化学习】- python基础之函数

day40 练习&#xff1a;函数实现电商购物车功能 学习日期&#xff1a;20241017 学习目标&#xff1a;函数 - 53 如何利用函数实现电商购物车功能&#xff1f; 学习笔记&#xff1a; 购物车功能分析 定义商品为列表 实现商品的展示 # 商品 products[[1000,iphone,phone,1200…

(MySQL)索引

注&#xff1a;此博文为本人学习过程中的笔记 1.简介 1.1.概念 MySQL的索引是一种数据结构&#xff0c;它可以帮助数据库高效地查询&#xff0c;更新数据表中的数据。索引通过一定的规则排列数据表中的记录&#xff0c;使得对表的查询可以通过对索引的搜索来加快查询 MySQ…

NOIP2023(惨烈)做题记(泪奔::>_<::)

P9868 [NOIP2023] 词典 1.这道题倒是做出来了&#xff0c;大概思路如下&#xff1a; 对于每一个字符串&#xff0c;可以存储一个 k 和 k2​ 分别表示这个字符串包含的字符中的字典序最小字符与字典序最大字符&#xff0c;这一步可以初始就处理好。 然后判断每一个字符串是否…

Windows模拟电脑假死之键盘鼠标无响应

Windows模拟电脑假死之键盘鼠标无响应 1. 场景需求 模拟Windows电脑假死&#xff0c;失去键盘鼠标响应。 2. 解决方案 采用Windows系统提供的钩子(Hook) API 拦截系统鼠标键盘消息。 3. 示例程序 【1】. 创建MFC对话框项目 新建一个MFC应用程序项目&#xff0c;项目名称…

3.3 Thymeleaf语法

文章目录 引言Thymeleaf标签显示标签链接地址标签条件判断标签元素遍历标签 Thymeleaf表达式变量表达式选择变量表达式消息表达式链接表达式 Thymeleaf内置对象上下文对象上下文变量上下文区域请求对象响应对象会话对象日期对象 实战演练创建控制器创建模板页面 结语 引言 Thy…

Spring AI Java程序员的AI之Spring AI(一)

SpringAI 基础使用 前言Spring AIChatClientImageClientOpenAiAudioTranscriptionClientEmbeddingClient 总结 前言 Spring AI&#xff0c;听着名字就感觉很好使用&#xff0c;快速上手&#xff0c;虽然功能没有太完善&#xff0c;但是社区活跃度很高&#xff0c;可以看看源码…

【LVGL快速入门(二)】LVGL开源框架入门教程之框架使用(UI界面设计)

零.前置篇章 本篇前置文章为【LVGL快速入门(一)】LVGL开源框架入门教程之框架移植 一.UI设计 介绍使用之前&#xff0c;我们要学习一款LVGL官方的UI设计工具SquareLine Studio&#xff0c;使用图形化设计方式设计出我们想要的界面&#xff0c;然后生成对应源文件导入工程使用…

C++初阶学习第七弹——string的模拟实现

C初阶学习第六弹------标准库中的string类_c语言返回string-CSDN博客 通过上篇我们已经学习到了string类的基本使用&#xff0c;这里我们就试着模拟实现一些&#xff0c;我们主要实现一些常用到的函数。 目录 一、string类的构造 二、string类的拷贝构造 三、string类的析构函…

基于SpringBoot的智能餐厅点餐系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

每日一练:不同的二叉搜索树

96. 不同的二叉搜索树 - 力扣&#xff08;LeetCode&#xff09; 题目要求&#xff1a; 给你一个整数 n &#xff0c;求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种&#xff1f;返回满足题意的二叉搜索树的种数。 示例 1&#xff1a; 输入&#xff1a…

PAT甲级-1003 Emergency

题目 题目大意 给出n个城市的连通图&#xff0c;其中共有m条边&#xff0c;起点为C1&#xff0c;终点为C2。每个城市都有一定数目的救援队&#xff0c;现从C1出发&#xff0c;每经过一个城市&#xff0c;都可以加上这个城市的救援队。要求从C1到C2最短路径的个数&#xff0c;并…

AIGC技术的学习 系列一

文章目录 前言一、AIGC技术演进1.1 图像视频生成1.2. 文本生成1.3. 多模态生成1.4. 小结二、CAD&CAE软件介绍2.1. CAD软件2.2. CAE软件2.3. 小结三、AIGC技术与CAD&CAE软件的集成案例3.1. 土建设计领域3.2. 机械设计领域四、结语五、参考文献总结前言 在全球智能制造的…