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] 需求概要设计文档格式标准[S].GB856D-1988.
[2]Robert C. Martin.敏捷软件开发:原则、模式与实践[M].北京:清华大学出版社,2003.09
[3]窦万峰.软件工程方法与实践[M].北京:机械工业出版社,2016.10
[4]窦万峰.软件工程实验教程[M].北京:机械工业出版社,2016.11
此项目为自选项目。此项目主要为全校教职工、学生、家属提供二手物品交易服务,包括出售商品,购买商品等服务项目。
此项目为构建一个平台,方便学校的师生出售闲置物品。目标为在全校推广,为全校师生提供便利。
主要功能为用户在平台上架闲置物品,买家可以浏览物品信息且可以与卖家沟通,同时管理员可以审核上架物品是否符合规范,并且监控交易进程。
用户主要为学校师生,需要管理员若干名来管理平台并且解决交易中出现的问题。需要程序员来管理后台和数据库。
本软件为校内师生使用,用户量可以控制在10万人以内。软件为自主开发,经费应控制在两千元内。硬件控制在一个服务器上。开发期限为两个月。
编号 |
名称 |
优先级 |
描述 |
主要发起者 |
1 |
用户注册 |
次要 |
用户注册账号,填写个人信息 |
用户 |
2 |
用户登录 |
次要 |
用户登录商品出售系统 |
用户 |
3 |
管理员注册 |
次要 |
管理员注册账号,填写个人信息 |
管理员 |
4 |
管理员登录 |
次要 |
用户登录,对系统维护 |
管理员 |
5 |
商品出售 |
重要 |
卖家上架商品 |
用户 |
6 |
商品查询 |
重要 |
买家查询商品 |
用户 |
7 |
订单生成 |
重要 |
生成购物清单 |
系统 |
8 |
信息维护 |
重要 |
对系统中的数据进行修改维护 |
管理员 |
1、用户注册系统
用户输入自己的个人信息,系统检验是否已经注册,如果没有则存入数据库。
2、用户登陆系统
用户输入账号密码,如果正确则登陆,如果错误则提醒是否修改密码。选择是,则验证用户信息,验证通过则可以修改密码;选择否以及验证不通过则回到登陆界面。
3、管理员注册系统
管理员输入自己的个人信息以及管理员邀请码,系统检验是否已经注册,如果没有则存入数据库。
4、管理员登陆系统
管理员输入账号密码,如果正确则登陆,如果错误则提醒是否修改密码。选择是,则验证用户信息,验证通过则可以修改密码;选择否以及验证不通过则回到登陆界面。
5、商品出售系统
用户填写自己需要出售的商品信息,填写完成后系统上架。
6、商品查询系统
用户填写直接所需物品的关键词,系统在已上架商品中进行搜索。
7、订单生成系统
根据用户购买的商品生成订单,并发送给买家与卖家。
8、信息维护系统
管理员根据商品及用户状态及时更改信息,以及更改系统bug产生的错误信息。
1.数据库中四张表格:administrator表,users表,goods表,orders表
2.界面设计中使用的图片
1.用户或者管理员申请账号时需要填写的个人信息(包括用户名,密码,姓名,手机号码等)
2.商品价格以及存货量的改动
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.
名称:管理员信息
别名:管理员表
简述:存放系统管理员的信息
组成:管理员编号+管理员密码
组织方式:索引文件,以管理员编号为关键字
查询要求:要求能立即查询
ER图涉及四个实体分别是administrator(管理员),users(用户),goods(商品),orders(订单)=
这四个实体之间的联系是:
①administrator与其他三个实体无联系,设置这个实体主要是为了区别与用户权限。管理员对这个系统的权限更大。
②users(用户)与orders(订单)之间是“一对多”的关系,即一个用户可以有多个订单或0个订单,一个订单只能允许一个用户拥有
③goods(商品)与orders(订单)之间是“一对多”的关系,即一种商品可以属于多个或0个订单,一个订单只含一种商品
实例说明:若一个用户买了n种商品(每种商品可以含多个),则会生成n个订单。
上图为ER图生成的物理模型。
查询商品请求信息:文本
有关价格信息:货币人名币,数字保留至小数点后两位
有关日期信息:年/月/日 格式
输出信息全部为文本信息。
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.当系统出现故障时给用户显示相应正确的提示
用户检索,系统及时响应(<=3s)
用户提交订单,系统及时处理(<=5s)
对用户信息进行操作,系统及时更新(<=10s)
解题时间:系统繁忙或网络异常,提示等待,3分钟后重试。
管理员每周2次更新商品信息。
1.操作方式上的变化:用户可以根据关键字对商品信息进行模糊查询。
2.运行环境的变化:可以用手机浏览器访问。
3.同其他软件的接口的变化:数据库接口发生变化时,修改相应的模式接口,以保证页面显示不变。
4.精度和有效时限的变化:订单如果一周内不被签收,撤回订单。
5.计划的变化或改进:对业务要求的变化,团队统一讨论、修改、确定并执行。
“同校转转“的用户界面是用GUI写出,使用的是Java语言,用户在使用同校转转之前需要先申请账号,点击申请注册账号,进入申请页面,账号申请完成后便可以登录进入软件,如果忘记密码的话,可以点击申诉将自己的账号密码找回来。进入软件分为三个板块。
1.第一个板块是最近有人出售的东西,你在进入软件后会进入一个界面,这个界面叫推荐,其展出的都是,最近才挂上软件想卖掉的东西,你可以在这里面挑选自己想要的东西。
2.第二个界面是出售你自己想要出售的商品,如果你想要卖掉自己的东西,可以在售卖界面,为自己的商品分类,标注已使用时间,和商品品牌等信息,为自己的商品进行介绍,并且备注自己的信息和想要出售的价格。
3.第三个界面是“我的”里面内容主要是自己的订单,已经买的东西和自己卖出去的东西,在这里面可以看到自己买卖东西的记录,里面记录着自己买卖东西的信息和日期,如果商品在使用后与商家标注不符,可以在这个界面点击商品,然后进行投诉,以保证自己的权益。
Windows标准接口:
需要连接电脑接口,在电脑上的数据库中对软件的交易信息进行记录,还需要连接打印机接口,对交易成功的买家,进行货单打印。
7.1.1错误等级
1、不能执行正常功能或重要功能,或者危及人身安全
没有实现或错误地实现重要的功能;业务流量存在重大隐患;软件在操作过程中由于软件自身的原因自动退出系统或出现死机的情况;软件在操作过程中由于软件自身的原因对系统或数据造成破坏;在现有的软、硬建设环境下不能实现应有的功能;特殊软件在操作过程中可能危及系统和人身安全等。
2、严重地影响系统要求或基本功能的实现,且没有办法解决
没有实现基本功能,并且不存在替代方法;没有实现重要功能中的部分功能,并且不存在替代方法;业务流程衔接错误;密匙以明文方式存储;没有留痕功能;用户的权限分配不合理;在现有的环境下,不能实现部分功能且没有替代方案;没有满足系统的性能要求。
3、严重地影响系统要求或基本功能的实现,但存在合理的解决办法
与2级错误相对应,该级错误则存在替代方案;对误操作或错误操作没有提示,导致非法数据进入数据库。
4、使操作者不方便或遇到麻烦,但不影响执行正常功能或重要功能
该级错误通常为易用性方面的错误。如界面不友好、前后风格不一;中英文混杂;查询结果输出不直观等。
5、其他错误
通常为文档方面的错误,如安装手册、操作手册、维护手册中的描述错误。
7.1.2验收标准
1、测试用例不通过的比例<=1.5%;
2、不存在错误等级为1的错误;
3、不存在错误等级为2的错误;
4、错误等级为3的错误数量<=5;
5、所有提交的错误都已得到更正;
1、安全性:对用户账户等个人信息严格保护,对关键信息(密码等)进行加密处理和严格的权限进行管理限制。
2、可维护性:本系统提供相关详细的开发和说明文档,需要更改或者有错误时,可以提供及时更改修复工作。
3、易读性:界面符合简单大方风格,能合理显示用户的操作选项和正确的结果,提示用户下一步的操作步骤,还有包含用户帮助文档。
原文:https://www.cnblogs.com/hzau657/p/12814693.html