《系统分析与设计》实验-----需求规格说明书 哈尔滨理工大学

需要同款需求规格书加评论区wx

文章目录

  • 需求规格说明书
    • 1.引言
      • 1.1编写目的
      • 1.2项目背景
      • 1.3定义
      • 1.4参考资料
    • 2.任务概述
      • 2.1目标
      • 2.2运行环境
      • 2.3条件与限制
    • 3.数据描述
      • 3.1静态数据
      • 3.2动态数据
      • 3.3数据库介绍
      • 3.4数据词典
      • 3.5数据采集
    • 4.功能需求
      • 4.1功能划分
      • 4.2功能描述
    • 5.性能需求
      • 5.1数据精确度
      • 5.2时间特性
      • 5.3适应性
    • 6.运行需求
      • 6.1用户界面
      • 6.2硬件接口
      • 6.3软件接口
      • 6.4故障处理
    • 7.其它需求
      • 7.1 可用性
      • 7.2 安全和保密
      • 7.3 可维护性
      • 7.4 可移植性


需求规格说明书

在这里插入图片描述

1.引言

1.1编写目的

本需求分析说明书的编写目的是确保开发的线上书店系统能满足预定需求,满足用户的使用需求,以及确保开发过程中各个环节能对需求有清晰、准确的理解。该文档将对系统的主要功能进行详述,并明确系统实现的限制和约束。

1.2项目背景

a.项目的委托单位:哈尔滨理工大学计算机学院
b.开发单位:学生项目小组
c.主管部门:软件工程教授
d.待开发的软件系统的名称:在线书店系统

1.3定义

术语定义:
1.实现环境:系统运行的目标软件、硬件环境。
2.实现技术:系统所采用的软件技术或体系结构,Brouse/Server 结构、 中间件、Web 技术、多层体系结构、后台数据库等。
3.实现语言或工具:实现系统最终采用的编程语言或工具包,如 java、JSP等。
【列出文当中所用到的专门术语的定义和缩写词的原文。】
术语定义:

1.用户:系统的最终使用者,包括注册用户和非注册用户。
2.注册用户:在在线书店系统注册账号的用户,享有更多权利和功能。
3.非注册用户:尚未在在线书店系统注册账号的用户,能浏览和搜索书籍,但购买书籍需要注册。
4.系统管理员:负责管理和维护在线书店系统的人员。
5.书籍:在线书店系统出售的商品,包括详细信息如书名,作者,出版社,价格,库存等。

1.4参考资料

【1】约翰・W・萨茨辛格 罗伯特 B・杰克逊 史蒂芬 D・伯德 编 机械工业出版社 系统分析与设计:敏捷迭代方法(第六版)

2.任务概述

2.1目标

本项目目标是设计和实现一个在线书店系统,使其成为一个提供方便快捷的在线购书体验、丰富的书籍资源、以及用户互动的平台。期望达成以下目标:

1.提供方便快捷的在线购书服务,使用户可以在任何地点、任何时间浏览和购买书籍。
2.提供一个互动平台,用户可以对购买的书籍进行评价,或是在书籍详情页留言讨论。
3.系统管理员能够方便地管理书籍信息和处理订单,同时也能管理用户的使用情况。

2.2运行环境

在线书店系统的运行环境如下:

硬件环境:

服务器端:至少2.0GHz的处理器;8GB RAM;1TB硬盘。
客户端:用户普通配置的计算机、智能手机或其他能够接入互联网的设备。

软件环境:

操作系统:服务器端推荐使用稳定的商用级操作系统,如Microsoft Windows Server 2024;客户端无特殊要求,Windows、macOS、Linux、iOS、Android均可。
支持环境:服务器需要运行Apache 2.4或更高版本。
数据库:推荐使用MySQL 8.0或者更高版本。
开发语言:推荐使用Java21或者更高版本。
浏览器:用户浏览器需支持HTML5和CSS3,如最新版的Chrome,Firefox,Safari或Edge均可。
操作系统:Microsoft Windows 2000 Advanced Server
支持环境:IIS 5.0
数 据 库:Microsoft SQL Server 2000

2.3条件与限制

必须有一个可靠的服务器,确保系统的正常运行及用户访问。
系统设计和实现应基于广泛接受的编程语言,例如PHP 7.0或更高版本。
系统必须有与第三方支付平台(如 PayPal, Alipay)的接口,让用户可以方便地进行在线支付。
系统需要与一个物流公司有合作关系,以便书籍的来源和送达客户手中。
系统应能在主流的浏览器上顺畅运行,例如最新版的 Chrome,Firefox,Safari 或 Edge。
在数据处理方面,系统应可处理大量的并发用户请求和大量的数据存储。
实验的设计必须在我们的专业知识范围内。

3.数据描述

3.1静态数据

静态数据主要包括书籍信息,用户信息以及管理员信息。

书籍信息:书号,书名,作者,出版社,价格,库存,书籍简介等。
用户信息:用户ID,用户名,密码,邮箱地址,手机号码,收货地址等。
管理员信息:管理员ID,管理员名,密码等。

3.2动态数据

动态数据主要包括输入数据和输出数据。
输入数据:用户输入的登陆信息,用户搜索的书籍关键词,用户填写的订单信息,用户写的书籍评价等。
输出数据:系统返回的搜索结果,系统生成的订单编号,系统对用户操作的反馈信息,系统显示的用户采购书籍的订单信息等。

3.3数据库介绍

数据库使用的是MySQL,这是一种关系型数据库。包含三个主要的数据表:书籍信息表,用户信息表和管理员信息表。

3.4数据词典

以下是数据词典中的一些关键条目示例:

BOOK_ID:书籍在数据库中的唯一识别码,通过BOOK_ID,可以快速准确地查询到书籍信息。
USER_ID:用户在数据库中的唯一识别码,通过USER_ID,系统能获取并管理用户的个人信息和订单信息。
ADMIN_ID:管理员在数据库中的唯一识别码,管理员使用ADMIN_ID进行登录和操作。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.5数据采集

数据采集主要包括:

书籍信息采集:采用电子商务接口获取书籍信息,更新到书籍信息数据库,或由管理员手动添加和更新。
用户信息采集:用户在注册、修改个人信息、下单时,系统自动收集和更新用户信息。

4.功能需求

4.1功能划分

用户模块
商品书籍模块
交易模块
检索模块
管理员模块

4.2功能描述

用户模块:
用户注册:用户能提交必要的注册信息,并在成功的注册后创建一个账户。
用户登录:已注册的用户可以通过用户名和密码登录。
个人信息管理:用户可以更新或修改他们的个人信息,包括地址、电话号码等。
密码重置:如果用户忘记了他们的密码,他们可以请求重置密码。

商品书籍模块:
图书展示:所有上架的图书都能显示详情给用户。
图书购买:用户可以选择想要购买的书籍并加入购物车。

交易模块:
提交订单:用户确认购物车内的商品并提交订单。
订单跟踪:用户可以查看他们的订单状态(正在处理、已发货、已完成等)。
支付:用户可以选择一种支付方式支付他们的订单。

检索模块:
搜索功能:用户可以通过搜索书籍的名称或者作者来找到他们想要购买的书籍。

管理员模块:
审核图书添加:管理员可以审核新添加的书籍是否符合规范。
用户管理:管理员可以查看、删除用户,或者更改用户的权限。

在这里插入图片描述
在这里插入图片描述

5.性能需求

5.1数据精确度

对于一个在线书店系统而言,数据精确度是非常重要的。精确的数据能够保证系统的正常运行,也能够提供更好的用户体验。
用户信息:包括用户名、密码、联系方式、地址等信息需要精确无误。任何错误在信息录入时都需要立即纠正和更新。
图书信息:图书描述、价格、库存等信息需要精准,并且实时更新,以供用户在浏览和购买时参考。
订单信息:订单包含的图书、订单数量、订单价格、订单状态等信息在创建时需要确保准确性,并且在订单状态发生变化时立即更新。

5.2时间特性

对于在线书店系统的性能需求,系统的响应时间也非常关键。
响应时间:系统应能在用户发送请求后立即响应。例如,当用户点击购买按钮时,系统需要在1-2秒内完成订单的处理并给出反馈。
更新处理时间:系统在数据发生变化后,如图书信息、订单信息的更新,需要在短时内完成更新并反映到系统中。
数据转换与传输时间:当数据在系统内部或者系统与用户间进行传输时,需要保证数据的高速传输。例如,当用户查询某本书的信息时,数据的传输时间应该在一秒以内。
运行时间:系统需要保证24小时内稳定运行,以便随时处理用户的请求。

5.3适应性

在操作方式、运行环境、与其它软件的接口以及开发计划等发生变化时,应具有的适应能力。

6.运行需求

6.1用户界面

屏幕格式:顺畅、直观和用户友好的设计,使用户可以轻松的找到和购买书籍,查看和管理他们的订单等。
报表格式:对于管理员,清晰明了的报表,包括销售统计、库存清单等,以支持决策。
菜单格式:结构清晰,功能明确的菜单,可以让用户快速导航到他们想要去的页面。
输入输出时间:当用户进行各种操作时,如搜索、下单等,系统应该能够乎快速的反馈,提供必要的提示信息。

6.2硬件接口

设备支持:系统应该能够支持多种设备,包括台式机、笔记本、平板、手机等。
网络连接:系统需要一个可靠的网络连接,以保持与服务器的通信。

6.3软件接口

浏览器兼容:系统应能支持各主要的浏览器,如Chrome、Firefox、Safari、Edge等。
第三方支付接口:支持多种支付方式,与第三方支付平台(如PayPal, Alipay)接口。
运输和物流接口:可以提供实时的运输状态更新。

6.4故障处理

出现故障时,系统应提供清晰的错误信息,并给出解决的建议。
设有彻底的后备和恢复机制,以应对数据丢失或服务器崩溃等严重问题。

7.其它需求

7.1 可用性

用户友好:系统应该简单易用,有直观的用户界面和明确的导航。
响应时间:系统应在用户进行操作时提供快速的响应,例如搜索结果的显示、订单的处理等。

7.2 安全和保密

数据安全:系统需要有一套完善的数据安全机制,例如使用加密技术来保护用户信息和交易数据。
权限控制:对不同的用户(如普通用户、管理员)设置不同的权限,以确保他们只能访问到他们应该看到的信息。
安全审计:定期进行系统安全检查和更新,以防止安全威胁。

7.3 可维护性

易读性:代码和文档要易于理解,以便于维护和更新。
模块化:系统需要有良好的模块化设计,这样在需要更改或添加新功能时,只需更改或添加相关的模块,而不需要修改整个系统。

7.4 可移植性

网页设计应考虑响应式布局,使其在不同设备(如手机、平板、电脑等)上都有良好的显示效果。
在编写代码时,应尽量避免依赖于特定操作系统或浏览器的特性,以提高代码的可移植性。

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

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

相关文章

(一)C++自制植物大战僵尸集成开发环境安装

植物大战僵尸游戏开发教程专栏地址http://t.csdnimg.cn/uzrnw 1、下载Visual Studio集成开发环境 首先在微软官网下载Visual Studio 2022 Community版本。Community版本是免费的,并且满足个人开发的各种需求。Visual Studio 2022 下载链接:微软官网。选…

springboot+vue全栈开发【2.前端准备工作篇】

目录 前言准备工作Vue框架介绍MVVM模式 快速入门导入vue在vscode创建一个页面 前言 hi,这个系列是我自学开发的笔记,适合具有一定编程基础(html、css那些基础知识要会!)的同学,有问题及时指正!…

在Windows上配置VS Code GO语言开发环境

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

动态规划专练( 322.零钱兑换)

322.零钱兑换 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的数量…

DAY27| 39. 组合总和 ,40.组合总和II ,131.分割回文串

文章目录 39.组合总和40.组合总和II131.分割回文串 39.组合总和 文字讲解&#xff1a;组合总和 视频讲解&#xff1a;组合总和 状态: 此题ok 思路&#xff1a; 代码&#xff1a; class Solution {int sum;public List<List<Integer>> combinationSum(int[] candi…

【代码随想录】【动态规划】完全背包:零钱兑换,组合总和

零钱兑换 零钱作为物品 &#xff0c;零钱的面额作为物品的重量 def change(self, amount, coins):""":type amount: int:type coins: List[int]:rtype: int"""dp [0]*(amount 1)dp[0] 1# 遍历物品for i in range(len(coins)):# 遍历背包for …

室内设计师怎么获取合适的3D模型?

在室内设计中&#xff0c;3D模型的使用已经变得越来越普遍。它们可以帮助设计师更好地展示他们的设计想法&#xff0c;同时也能帮助客户更好地理解他们所期待的装修效果。然而&#xff0c;如何获取合适的3D模型却是许多设计师和客户面临的挑战。那么室内设计师怎么获取合适的3D…

watchdog,监控文件变化的强大的python库

大家好&#xff0c;今天为大家分享一个无敌的 Python 库 - watchdog。 Github地址&#xff1a;github.com/gorakhargos… 在软件开发和系统管理领域&#xff0c;经常需要监控文件和目录的变化&#xff0c;以便在文件被创建、修改或删除时触发相应的操作。Python Watchdog是一…

有图片转成PDF文件格式的方法吗?分享图片转成PDF文件的方法

将图片转换为PDF文件是一个相对简单的过程&#xff0c;但也需要一定的步骤和注意事项。下面&#xff0c;我将详细介绍如何将图片转换为PDF文件&#xff0c;包括所需的工具、步骤以及可能遇到的问题和解决方案。 首先&#xff0c;我们需要一个能够将图片转换为PDF文件的工具。市…

CODEFORCES --- 758A. Holiday Of Equality

758A. Holiday Of Equality 在伯兰&#xff0c;这是一个平等的节日。为了庆祝这个节日&#xff0c;国王决定从国库中拿出一笔钱来&#xff0c;为伯兰所有公民提供平等的福利。 伯兰共有 n 个公民&#xff0c;每个公民的福利按 a**i 个布尔的整数估算(布尔是伯兰的货币)。 您…

基于RFID技术的小区门禁系统设计报告

基于RFID技术的小区门禁系统设计报告 摘要&#xff1a; 随着科技的不断进步&#xff0c;小区的安全管理越来越受到重视。本文设计了一种基于无线射频识别&#xff08;RFID&#xff09;技术的小区门禁系统&#xff0c;旨在提高小区的安全性和管理效率。本报告将详细介绍该系统…

【Booksim】Booksim2.0模拟器集成新拓扑

Incorporating a new topology in Booksim 1. 新拓扑结构2. 需要添加的文件3. 修改步骤 3.1 添加testnet.hpp3.2 添加testnet.cpp3.3 将testnet集成到network.cpp中3.4 创建配置文件testnetconfig3.5 在main.cpp和global.hpp中加入gP_testnet和gA_testnet变量3.6 make进行编译 …

尚小标-智能AI商标注册交易平台【24小时您口袋里的商标管家】

随着全球经济一体化进程的推进和科技的飞速发展&#xff0c;知识产权已经成为企业高质量发展的重要竞争关键因素&#xff0c;众多企业发展的核心竞争力。通过加强知识产权保护&#xff0c;企业可以更好地保护自身品牌形象和市场份额&#xff0c;从而提高国内外市场竞争力&#…

C语言洛谷题目分享(9)奇怪的电梯

目录 1.前言 2.题目&#xff1a;奇怪的电梯 1.题目描述 2.输入格式 3.输出格式 4.输入输出样例 5.说明 6.题解 3.小结 1.前言 哈喽大家好啊&#xff0c;前一段时间小编去备战蓝桥杯所以博客的更新就暂停了几天&#xff0c;今天继续为大家带来题解分享&#xff0c;希望大…

通用设计的四大原则,大厂设计师带案例讲解!

作为数字产品设计师&#xff0c;在进行产品设计时要考虑产品的各种因素&#xff0c;例如功能、美观、安全等&#xff0c;要尽可能地满足所有用户的需求&#xff0c;做出对所有用户都尽可能公平的解决方案。但是&#xff0c;对于新手来说&#xff0c;在实际进行产品设计时&#…

HUD抬头显示器中如何设计LCD的阳光倒灌实验

关键词&#xff1a;阳光倒灌实验、HUD光照温升测试、LCD光照温升测试、太阳光模拟器 HUD&#xff08;Head-Up Display&#xff0c;即抬头显示器&#xff09;是一种将信息直接投影到驾驶员视线中的技术&#xff0c;通常用于飞机、汽车等驾驶舱内。HUD系统中的LCD&#xff08;Liq…

RabbbitMQ基本使用及其五种工作模型

初识MQ 同步通讯和异步通讯 什么是同步通讯呢&#xff1f;举个例子&#xff0c;你认识了一个小姐姐&#xff0c;聊的很火热&#xff0c;于是你们慢慢开始打电话&#xff0c;视频聊天&#xff0c;这种方式就成为同步通讯&#xff0c;那什么是一部通讯呢&#xff0c;同样的&…

Ant Design 表单基础用法综合示例

Ant Design 的表单组件设计得非常出色,极大地简化了表单开发的复杂度,让开发者能够快速构建出功能丰富、交互友好的表单界面。 接下来总结一下 Ant Design 中表单的基本用法。 Form 组件 用于定义整个表单,可以设置表单的布局方式、提交行为等。通常会将表单字段组件嵌套在 F…

利用栈删除数组中重复元素

先将数据排序&#xff08;降序或升序&#xff09; 建立一个“栈”&#xff0c;三种情况&#xff1a; 1.栈为空&#xff1a;压入一个元素 2.栈不为空 且 栈顶元素不等于将入栈元素&#xff1a;压入一个元素 3.栈不为空 且 栈顶元素等于将入栈元素&#xff1a;删除将压入元素…

面试经典150题——合并两个有序数组

面试经典150题 day1 题目来源我的题解方法一 先合并&#xff0c;再排序方法二 逆向双指针 题目来源 力扣每日一题&#xff1b;题序&#xff1a;88 我的题解 方法一 先合并&#xff0c;再排序 先将nums2全部放到nums1之后&#xff0c;然后进行排序。 时间复杂度&#xff1a;O…