HUAZHONG AGRICULTURAL UNIVERSITY
《华农二手交易平台》
软件需求规格说明书
2020-03
版本变更历史:
版本 |
提交日期 |
主要编制人 |
审核人 |
版本说明 |
1 |
2020.03.28 |
张易方,曹威龙,田雨林,付兴乐 |
张易方 |
1.0 |
|
|
|
|
|
|
|
|
|
|
1引言
1.1编写目的
1.2背景
1.3术语和缩略词
1.4参考资料
2任务概述
2.1 项目概述
2.1.1项目来源及背景
2.1.2项目目标
2.1.3系统功能概述
2.2用户特点
2.3假定和约束
3功能需求
3.1功能划分
3.1.1 系统功能组成
3.1.2 功能编号和优先级
3.2功能描述
4数据需求
4.1 静态数据
4.2 动态数据
4.3 数据字典
4.4 数据库描述
5性能需求
5.1数据精度
5.2时间特性
5.3灵活性
6运行需求
6.1用户界面
6.2软件接口
6.3硬件接口
7其他需求
7.1验收标准
7.2质量属性
1、引言
1.1编写目的
校方委托项目组为其开发《华农二手交易平台》系统,现将软件系统的需求整理如下,以方便校方对需求的完善和项目组后期的开发工作。
1.2背景
学校为了弘扬勤俭节约精神,方便同学们进行二手物品交易,特委托我项目组开发《华农二手交易平台》系统,此系统主要为全校教职工、学生、家属提供二手物品交易服务,包括发布商品,购买商品等服务项目。《华农二手交易平台》应将这些项目有关的信息纳入电脑系统统一管理,以便及时获取有关信息,提高商品交易效率,为大家提供一个便捷高效的交易平台。
1.3术语和缩略词
本系统对教育水平和技术专长没有限制,用户友好性较强,暂无术语分析。
1.4参考资料
[1] 需求概要设计文档格式标准[S].GB856D-1988.
[2]Robert C. Martin.敏捷软件开发:原则、模式与实践[M].北京:清华大学出版社,2003.09
[3]窦万峰.软件工程方法与实践[M].北京:机械工业出版社,2016.10
[4]窦万峰.软件工程实验教程[M].北京:机械工业出版社,2016.11
2、任务概述
2.1 项目概述
2.1.1项目来源及背景
此项目为自选项目。此项目主要为全校教职工、学生、家属提供二手物品交易服务,包括出售商品,购买商品等服务项目。
2.1.2项目目标
此项目为构建一个平台,方便学校的师生出售闲置物品。目标为在全校推广,为全校师生提供便利。
2.1.3系统功能概述
主要功能为用户在平台上架闲置物品,买家可以浏览物品信息且可以与卖家沟通,同时管理员可以审核上架物品是否符合规范,并且监控交易进程。
2.2用户特点
用户主要为学校师生,需要管理员若干名来管理平台并且解决交易中出现的问题。需要程序员来管理后台和数据库。
2.3假定和约束
本软件为校内师生使用,用户量可以控制在10万人以内。软件为自主开发,经费应控制在两千元内。硬件控制在一个服务器上。开发期限为两个月。
3、功能需求
3.1功能划分
3.1.1 系统功能组成
3.1.2 功能编号和优先级
编号 |
名称 |
优先级 |
描述 |
主要发起者 |
1 |
用户注册 |
次要 |
用户注册账号,填写个人信息 |
用户 |
2 |
用户登录 |
次要 |
用户登录商品出售系统 |
用户 |
3 |
管理员注册 |
次要 |
管理员注册账号,填写个人信息 |
管理员 |
4 |
管理员登录 |
次要 |
用户登录,对系统维护 |
管理员 |
5 |
商品出售 |
重要 |
卖家上架商品 |
用户 |
6 |
商品查询 |
重要 |
买家查询商品 |
用户 |
7 |
订单生成 |
重要 |
生成购物清单 |
系统 |
8 |
信息维护 |
重要 |
对系统中的数据进行修改维护 |
管理员 |
3.2功能描述
1、用户注册系统
用户输入自己的个人信息,系统检验是否已经注册,如果没有则存入数据库。
2、用户登陆系统
用户输入账号密码,如果正确则登陆,如果错误则提醒是否修改密码。选择是,则验证用户信息,验证通过则可以修改密码;选择否以及验证不通过则回到登陆界面。
3、管理员注册系统
管理员输入自己的个人信息以及管理员邀请码,系统检验是否已经注册,如果没有则存入数据库。
4、管理员登陆系统
管理员输入账号密码,如果正确则登陆,如果错误则提醒是否修改密码。选择是,则验证用户信息,验证通过则可以修改密码;选择否以及验证不通过则回到登陆界面。
5、商品出售系统
用户填写自己需要出售的商品信息,填写完成后系统上架。
6、商品查询系统
用户填写直接所需物品的关键词,系统在已上架商品中进行搜索。
7、订单生成系统
根据用户购买的商品生成订单,并发送给买家与卖家。
8、信息维护系统
管理员根据商品及用户状态及时更改信息,以及更改系统bug产生的错误信息。
4、数据需求
4.1 静态数据
1.数据库中四张表格:administrator表,users表,goods表,orders表
2.界面设计中使用的图片
4.2 动态数据
1.用户或者管理员申请账号时需要填写的个人信息(包括用户名,密码,姓名,手机号码等)
2.商品价格以及存货量的改动
3.订单内部的数据需要根据买家的活动进行生成或修改
4.3 数据字典
数据流条目
1.
名字:填写信息
别名:填写的账号信息
描述:登录系统时需要填写的信息
定义:输入的账号信息=用户名+密码+用户身份
位置:输出到登录系统中比对
2.
名字:存储信息
别名:数据库中的用户信息
描述:用户或管理员注册时填写的个人信息,存储在数据库中
定义:存储信息=用户名+密码+手机号+地址+性别
位置:存储在数据库当中
3.
名字:验证信息
别名:验证消息
描述:用户在登陆时填写的账号信息之后,系统反馈的信息
定义:验证消息=[正确|错误]
位置:输出的提示栏中
4.
名字:发送请求
别名:请求信息
描述:为了进入进入不同系统,用户发出的请求
定义:发送请求=[查询|修改]
位置:输出到判断机制中
5.
名字:购买商品
别名:购买的商品信息
描述:用户在商城内购买的商品综合在一起
定义:购买商品=商品编号+商品数量
位置:输出到订单处理系统中
6.
名字:生成订单信息
别名:订单信息
描述:用户购买商品之后生成的订单
定义:生成订单
位置:输出到数据库的订单表中
7.
名字:维护信息
别名:管理员操作指令
描述:管理员修改数据库中的数据时的操作信息
定义:维护信息=操作类型+操作数据
位置:输出到数据库SQL语言中
数据项条目:
1.
名称 | 用户编号 |
别名 | uID |
简述 | 系统内已注册用户的专属编号ID |
类型 | 字符串 |
长度 | 小于等于20 |
取值范围及含义 | 1-9,a-z或中文的任意组合 |
2.
名称 |
用户密码 |
别名 |
password2 |
简述 |
用户在注册账号时设置的密码 |
类型 |
字符串 |
长度 |
小于等于 20 |
取值范围及含义 |
1~9,a~z以及特殊符号的任意组合 |
3.
名称 |
姓名 |
别名 |
name |
简述 |
系统中用户的真实姓名 |
类型 |
字符串 |
长度 |
小于等于10 |
取值范围及含义 |
英文字母或中文的组合 |
4.
名称 |
手机号 |
别名 |
pnumber |
简述 |
系统中用户的手机号码 |
类型 |
字符串 |
长度 |
小于20 |
取值范围及含义 |
1~9的组成的11为数字 |
5.
名称 |
地址 |
别名 |
address |
简述 |
系统中用户的家庭住址或送货地址 |
类型 |
字符串 |
长度 |
小于等于100 |
取值范围及含义 |
英文,中文,1~9的任意组合 1-5位省份名称 6-10位市县级名称 10位之后具体街道门牌号 |
6.
名称 |
性别 |
别名 |
sex |
简述 |
系统中用户的性别 |
类型 |
字符串 |
长度 |
2 |
取值范围及含义 |
男,女任选其一 |
7.
名称 |
商品编号 |
别名 |
gID |
简述 |
商品对应的编号,是商品的关键字 |
类型 |
字符串 |
长度 |
20 |
取值范围及含义 |
1-9,a-z或中文的任意组合 |
8.
名称 |
商品名称 |
别名 |
gname |
简述 |
商品的品名 |
类型 |
字符串 |
长度 |
20 |
取值范围及含义 |
1-9,a-z或中文的任意组合 |
9.
名称 |
类别 |
别名 |
type |
简述 |
商品所属的类别 |
类型 |
字符串 |
长度 |
20 |
取值范围及含义 |
1-2位:大类 3—4位:小类 5-6位:编号 |
10.
名称 |
单价 |
别名 |
price |
简述 |
一个商品的价格 |
类型 |
整型 |
长度 |
无 |
取值范围及含义 |
大于0的整数 |
11.
名称 |
订单编号 |
别名 |
oID |
简述 |
订单对应的标号,是订单的关键字 |
类型 |
字符串 |
长度 |
20 |
取值范围及含义 |
1-9,a-z或特殊符号的任意组合 |
12.
名称 |
订单生成时间 |
别名 |
time |
简述 |
一个订单生成时对应的时间 |
类型 |
字符串 |
长度 |
20 |
取值范围及含义 |
1~4位:年份 5~6位:月份 7~8位:日期 9~10位:小时 11~12位:分钟 13~14位:秒 |
13.
名称 |
配送方式 |
别名 |
delivery |
简述 |
订单中货物用户选择的配送方式 |
类型 |
字符串 |
长度 |
20 |
取值范围及含义 |
自取或配送 |
14.
名称 |
商品数量 |
别名 |
numbers |
简述 |
订单中对应商品的数量 |
类型 |
整型 |
长度 |
无 |
取值范围及含义 |
大于0的整数 |
15.
名称 |
支付方式 |
别名 |
payway |
简述 |
对应订单的支付方式,支付宝微信等方式 |
类型 |
字符串 |
长度 |
20 |
取值范围及含义 |
支付宝,微信或其他 |
16.
名称 |
管理员编号 |
别名 |
aID |
简述 |
管理员对应的编号,管理员的关键字 |
类型 |
字符串 |
长度 |
20 |
取值范围及含义 |
1-9,a-z或特殊符号的任意组合 |
17.
名称 |
管理员密码 |
别名 |
password1 |
简述 |
管理员设置的账号密码 |
类型 |
字符串 |
长度 |
20 |
取值范围及含义 |
1-9,a-z的任意组合 |
18.
名称 | 操作类型 |
别名 | 操作数 |
简述 | 管理员在进行管理是所选择的管理类型 |
类型 | 整形 |
长度 | 1 |
取值范围及含义 | 1代表对用户表操作 2代表对商品表操作 3代表对订单表操作 4代表对管理员表操作 |
数据存储条目:
1.
名称:用户信息
别名:登录信息表
简述:存放用户的信息。
组成:用户编号+用户密码+姓名+手机号+地址+性别
组织方式:索引文件,以用户编号为关键字。
查询要求:要求能立即查询比对。
2.
名称:商品信息
别名:商品表
简述:存商城内现有商品的信息。
组成:商品编号+商品名称+类别+单价
组织方式:索引文件,以商品编号为关键字。
查询要求:要求能立即查询或修改。
3.
名称:订单信息
别名:订单表
简述:存放生成的订单信息。
组成:订单编号+用户名+商品编号+订单生成时间+配送方式+商品数量+支付方式
组织方式:索引文件,以订单编号为关键字。
查询要求:要求能立即查询。
4.
名称:管理员信息
别名:管理员表
简述:存放系统管理员的信息。
组成:管理员编号+管理员密码
组织方式:索引文件,以管理员编号为关键字。
查询要求:要求能立即查询。
4.4 数据库描述
ER图:
ER图涉及四个实体分别是administrator(管理员),users(用户),goods(商品),orders(订单)=
这四个实体之间的联系是:
①administrator与其他三个实体无联系,设置这个实体主要是为了区别与用户权限。管理员对这个系统的权限更大。
②users(用户)与orders(订单)之间是“一对多”的关系,即一个用户可以有多个订单或0个订单,一个订单只能允许一个用户拥有
③goods(商品)与orders(订单)之间是“一对多”的关系,即一种商品可以属于多个或0个订单,一个订单只含一种商品
实例说明:若一个用户买了n种商品(每种商品可以含多个),则会生成n个订单。
上图为ER图生成的物理模型。
5、性能需求
5.1数据精度
查询商品请求信息:文本
有关价格信息:货币人名币,数字保留至小数点后两位
有关日期信息:年/月/日 格式
输出信息全部为文本信息。
5.1.1输入要求
输入 | 数据库表示 | 数据类型 | 精度 | 范围 |
用户名 | username | varchar | 无 | 字符长度不超过20 |
密码 | password | varchar | 无 | 字符长度不超过20个 |
商品名 | tradeName | varchar | 无 | 字符长度不超过20个 |
价格 | price | float | 保留两位小数 | 0.00~600.00 |
5.1.2输出要求
1.正确输入用户名和密码后显示首页
2.输入所查找商品的信息后显示相应的商品的详细信息
3.查看商品和用户信息布局合理
4.购物车和订单显示数据正确
5.当系统出现故障时给用户显示相应正确的提示
5.2时间特性
用户检索,系统及时响应(<=3s)
用户提交订单,系统及时处理(<=5s)
对用户信息进行操作,系统及时更新(<=10s)
解题时间:系统繁忙或网络异常,提示等待,3分钟后重试。
管理员每周2次更新商品信息。
5.3灵活性
1.操作方式上的变化:用户可以根据关键字对商品信息进行模糊查询。
2.运行环境的变化:可以用手机浏览器访问。
3.同其他软件的接口的变化:数据库接口发生变化时,修改相应的模式接口,以保证页面显示不变。
4.精度和有效时限的变化:订单如果一周内不被签收,撤回订单。
5.计划的变化或改进:对业务要求的变化,团队统一讨论、修改、确定并执行。
6、运行需求
6.1用户界面
“华农转转“的用户界面是用GUI写出,使用的是Java语言,用户在使用华农转转之前需要先申请账号,点击申请注册账号,进入申请页面,账号申请完成后便可以登录进入软件,如果忘记密码的话,可以点击申诉将自己的账号密码找回来。进入软件分为三个板块,第一个板块是最近有人出售的东西,第二个界面是出售你自己想要出售的商品,第三个界面是“我的”里面内容主要是自己的订单,已经买的东西和自己卖出去的东西,在这里面可以看到自己买卖东西的记录。
6.2软件接口
Windows标准接口:
- 华农转转通过程序界面向用户推送最近出售的商品信息,及相关的商品
- 当用户在华农转转上面完成交易后,将会与卖家或买家进行对话,约定什么时间将东西送到买家手中,数据库也会对交易进行记录。
- 当买家买的东西与软件上面描述不符的时候,买家可以对卖家进行投诉,平台将会对卖家进行惩罚,以此来保证软件的正常交易,数据库的卖家评价将会对卖家进行记录,降低卖家的星级。
6.3硬件接口
需要连接电脑接口,在电脑上的数据库中对软件的交易信息进行记录,还需要连接打印机接口,对交易成功的买家,进行货单打印。
7、其他需求
7.1验收标准
针对八个子系统的主要功能检验:
用户注册系统:用户提交输入信息后,系统能够检验是否已经注册,如果没有,则存入数据库;如果已经注册,则响应提示信息。
用户登录系统:输入账号密码后,如果正确则登陆,如果错误则提醒是否修改密码。选择是,则验证用户信息,验证通过则可以修改密码;选择否,则回到登陆界面重新输入。
管理员注册系统:管理员提交输入信息后,系统能够检验是否已经注册,如果没有,则存入数据库;如果已经注册,则响应提示信息。
管理员登录系统:管理员输入账号密码后,如果正确则登陆,如果错误则提醒是否修改密码。选择是,则验证用户信息,验证通过则可以修改密码;选择否,则回到登陆界面重新输入。
商品出售系统:用户填写好自己需要出售的商品信息,填写完成并提交后系统能够检验关键信息是否完整,是则上架,否则响应提示用户完善信息。
商品查询系统:用户填写直接所需物品的关键词,系统在已上架商品中进行搜索,若用户没有填写关键词就进行搜索,系统能够响应提示信息。
订单生成系统:可以根据用户购买的商品生成订单,且用户购买一个商品即对应生成一个订单,并发送给买家与卖家。还要求能够避免相同订单重复发送和额外发送给其他不相干用户。
信息维护系统:管理员拥有权限能够根据商品及用户状态及时更改信息,以及更改系统bug产生的错误信息。
7.2质量属性
1、安全性:对用户账户等个人信息严格保护,对关键信息(密码等)进行加密处理和严格的权限进行管理限制。
2、可维护性:本系统提供相关详细的开发和说明文档,需要更改或者有错误时,可以提供及时更改修复工作。
3、易读性:界面符合简单大方风格,能合理显示用户的操作选项和正确的结果,提示用户下一步的操作步骤,还有包含用户帮助文档。