校园二手交易平台-需求规格说明书

编写人员:杨顺杰、魏泽弘、高时玉、赵任生、龚云基、杨笑千

指导老师:张大林

编写日期:2022.3.28

本说明书版权与一切解释权归蓝瞳团队所有

[TOC]

一、引言

1.1 定位与目标

目前我校的校园二手交易市场多是利用超级课程表上的“跳蚤市场”以及本校的贴吧进行,两者都形成了一定的规模。但是贴吧上的交易不够规范,而超级课程表改版之后对“跳蚤市场”这一模块也不够重视,对其入口进行了更改,进入不方便了,导致流量减少,目前在上面发布交易信息的人寥寥无几。因此我们建立二手交易市场的目的是:

1、为我校师生提供一个比较规范、方便的二手交易平台。

2、为学生提供廉价、有用的二手物品。目前我校的二手交易需求还是比较旺盛的,建立校内二手交易市场,可以让校内的师生将自己闲置的教材、数码设备、体育用具、自行车甚至是自己手工制作的小装饰品等物品挂上交易市场进行交易。这样既避免了手中有闲置品的师生废弃了这些物品,又可以让有需要的师生用较低的价格获得自己需要的物品。

3、每到毕业季,毕业的学长学姐都会有大量的物品无法带离学校的,这时学长学姐们都会在固定的几天时间,在学校的某个地点将自己不需要的物品拿出来摆卖,但是由于摆卖的时间短,有很多闲置物品不能及时出售。因此建立二手交易市场可以方便毕业离校的学长学姐将自己不需要的物品早早挂上交易市场进行出售。

1.2 对象

本《软件需求规格说明书》的预期读者是:

  • 二手交易平台平台开发经理
  • 项目组所有人员
  • 测试组人员
  • 开发团队授权调阅本文档的其他人员

1.3 软件需求分析理论

​ 软件需求分析是研究用户需求得到的东西,完全理解用户对软件需求的完整功能,确认用户软件功能需求, 建立可确认的、可验证的一个基本依据。软件需求分析是一个项目的开端, 也是项目实施最重要的关键点。 据有关的机构分析结果表明, 设计的软件产品存在不完整性、 不正确性等问题 80%以上是需求分析错误所导致的,而且由于需求分析错误造成根本性的功能问题尤为突出。因此,一个项目的成功软件需求分析是关键的一步。

1.4 软件需求分析目标

​ 对实现软件的功能做全面的描述,帮助用户判断实现功能的正确性、一致性和完整性,促使用户在软件设计启动之前周密地、全面地思考软件需求。了解和描述软件实现所需的全部信息,为软件设计、确认和验证提供一个基准。

​ 为软件管理人员进行软件成本计价和编制软件开发计划书提供依据。

​ 需求分析的具体内容可以归纳为六个方面: 软件的功能需求, 软件与硬件或其他外部系统接口,软件的非功能性需求, 软件的反向需求, 软件设计和实现上的限制,阅读支持信息。

​ 软件需求分析应尽量提供软件实现功能需求的全部信息, 使得软件设计人员和软件测试人员不再需要需求方的接触。 这就要求软件需求分析内容应正确、 完整、一致和可验证。此外,为保证软件设计质量,便于软件功能的休整和验证,软件需求表达无岔意性,具有可追踪性和可修改性。

1.5 参考资料

1、张海藩 《软件工程导论》 清华大学出版社

2、侯爱民 《面向对象分析与设计(UML)》 清华大学出版社

3、王珊 《数据库系统概论》 高等教育出版社

二、需求概述

2.1 项目背景

将要开发的软件名为《校园二手交易网站》,本项目的提出者是北京交通大学软件学院蓝瞳研发团队,而开发者是蓝瞳研发团队,主要用户是北京交通大学全体学生, 该软件独立于其他系统,自成一个完整的系统,应用方便。

2.2 需求概述

下面就对校园二手交易网站分模块进行需求分析。

用户信息模块

需求 详细分析
注册功能 系统应该为用户提供手机号注册和邮箱注册两个方式,为用户发送验证码,并确认验证码,设置账号密码时密码隐藏显示,并且提供确认密码输入框以避免出现差错,相关协议默认未勾中,账号和用户学号绑定。
登录功能 系统应该为用户提供输入框可以输入账号密码进行登陆,如果密码错误显示提示,输入密码错误超过三次需要输入验证码,密码显示为隐藏
忘记密码 系统应该给用户手机号发送验证码,确认验证码正确过后再提供重新设置密码的机会,设置完成后,退回到登录界面
修改密码 系统应该与用户确认原来密码,确认密码正确过后再提供重新设置密码的机会,设置完成后,退回到登录界面
注销用户 系统应该弹出确认注销的窗口,并在窗口提示用户,注销用户将删除一切用户信息

展示模块

需求 详细分析
智能推荐 系统应该通过一系列最优算法为用户提供满足其需求的二手物品推荐,具体表现为通过用户类型,最近浏览的物品种类以及倾向于购买的物品种类等信息为其推荐最适合的二手物品
视频展示 系统应该能够稳定流畅运行,通过录制新手使用指导视频对该项目的全部功能进行一个介绍和展示,让用户可以通过视频去直观的了解该项目的使用方式,从而轻松入手购买自己心怡的二手物品。
独家活动 系统应该举行一些独家活动激励卖家主动出售自己不需要的二手物品,同时鼓励买家积极购买平台的二手物品,通过活动提高平台的知名度,让买家与卖家享受到平台的便利实惠,打赢信誉战。
用户指南 系统应该配备一本便于新用户使用的用户指南。一份精心制作、对用户友好的用户指南可谓一件必需品,其影响着客户体验的优劣程度,对于新用户来说, 用户指南能够帮助它们快速了解本产品的用法,减少自己摸索使用所花费的时间,同时提高对产品的满意度。

交易模块

需求 详细分析
搜索信息 系统应该为想要搜索特定信息的用户提供文本输入框,当在文本输入框输入搜索的信息,如好友名,物品名,历史订单,活动名等,点击“搜索”按钮后,系统应该弹出相应主页给用户。
删除信息 系统应该为想要删除特定信息的用户提供删除,用户可在个人主页简介处,历史订单主页,好友页面,活动页面,点击选择所要删除的特定好友、历史订单、简介等,点击“删除”按钮后,系统将从数据库中删去该信息。

活动模块

需求 详细分析
以物易物—物品登记功能 系统应该为想要交换的用户提供交易物品登记表去登记想要交换的物品的基本信息,登记完之后点击提交,如果提交成功,系统将记录所登记的物品信息,如果登记的信息中含有敏感信息,则系统不会通过用户的提交。
以物易物—双方联系功能 系统应该为想要进行以物易物的双方提供一个临时的聊天框,让用户双方进行交流,如果交谈的过程中出现敏感词句,系统将删除敏感语句,并对违规用户进行警告。
捐赠二手物品—物品登记功能 系统应该为想要捐赠的用户提供捐赠物品登记表去登记想要去捐赠的物品的基本信息,登记完之后点击提交,如果提交成功,系统将记录所登记的物品信息,如果登记的信息中含有敏感信息,则系统不会通过用户的提交。
捐赠二手物品—捐赠情况反馈功能 系统应该为捐赠二手物品的用户提供一个反馈的渠道,让用户可以知道自己捐赠的物品的最终的去向
义卖—物品登记功能 系统应该为想要义卖的用户提供义卖物品登记表去登记想要义卖的物品的基本信息,登记完之后点击提交,如果提交成功,系统将记录所登记的物品信息,如果登记的信息中含有敏感信息,则系统不会通过用户的提交。
义卖—捐赠情况反馈功能 系统应该为义卖的用户提供一个反馈的渠道,让用户可以知道最后义卖所卖出的金额,和这些钱的使用情况和捐赠情况。

社区模块

需求 详细分析
私信交流 系统应该在用户信息处设置私聊按钮,以供点击后可以通过发信息、图片进行相互交流
发布留言 系统应该在社区的帖子中添加发布留言按钮,让用户对某件商品或事务发表看法
查看留言 系统应该为每个进入社区的用户提供他所查看的帖子的所有留言
删除留言 系统应该在用户已经发布的留言下添加删除按钮,让用户可以删除自己的留言
社区群聊 系统应该让用户能够在社区中点击按钮创建群聊,让更多对相关话题感兴趣的用户加入聊天,通过发送消息或图片进行多人讨论
发布动态 系统应该支持用户通过添加图片,配写文案等方式发布自己的动态
删除动态 系统应该支持在用户已经发布的动态下添加删除按钮,支持用户删除自己的动态
动态评论 系统应该在每位用户发表的动态下添加评论功能,其他用户可以通过输入框输入个人的评论

2.3 需求获取

采用问卷调查法,线上了解需求,根据需求做出调整,具体的问卷附在文末。

三、系统功能需求

定义

概念 具体定义
活动图 活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流。活动图在本质上是一种流程图。虽然活动图与状态图都是状态机的表现形式,但是两者还是有本质区别:活动图着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程;而状态图着重描述从一个状态到另一个状态的流程,主要有外部事件的参与。
用例图 用例图(英语:use case diagram)是用户与系统交互的最简表示形式,展现了用户和与他相关的用例之间的关系。通过用例图,人们可以获知系统不同种类的用户和用例。用例图也经常和其他图表配合使用。
时序图 时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,其中的每条消息对应一个类操作或状态机中引起转换的触发事件。
类图 类图(Class diagram)由许多(静态)说明性的模型元素(例如类、包和它们之间的关系,这些元素和它们的内容互相连接)组成。类图可以组织在(并且属于)包中,仅显示特定包中的相关内容。类图(Class diagram)是最常用的UML图,显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计。类图(Class diagram)最基本的元素是类或者接口。
类图主要用在面向对象软件开发的分析和设计阶段,描述系统的静态结构。类图图示了所构建系统的所有实体、实体的内部结构以及实体之间的关系。即.类图中包含从用户的客观世界模型中抽象出来的类、类的内部结构和类与类之间的关系。它是构建其他设计模型的基础,没有类图,就没有对象图、状态图、协作图等其他UMI.动态模型图.也就无法表示系统的动态行为。类图也是面向对象编程的起点和依据。
类图用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统分析和设计阶段的重要产物,也是系统编码和测试的重要模型依据。
状态图 状态图(Statechart Diagram)是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应。通常我们创建一个UML状态图是为了以下的研究目的:研究类、角色、子系统、或组件的复杂行为。UML通过使用状态图来支持基于事件的模型,状态图用来来描述一个类对象在不同用例间状态的迁移。当一个用例或某个事件发生时,类对象的状态就会发生迁移,状态图有助于分析人员审核业务逻辑,以及完善静态模型。
数据流图 数据流图或数据流程图(Data Flow Diagram),缩写为DFD。数据流图DFD是描述系统中数据流程的一种图形工具,它标志了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换逻辑输出所需的加工处理。DFD显示系统将输入和输出什么样的信息,数据如何通过系统前进以及数据将被存储在何处。它不显示关于进程计时的信息,也不显示关于进程将按顺序还是并行运行的信息,而不像传统的关注控制流的结构化流程图,或者UML活动工作流程图,它将控制流和数据流作为一个统一的模型。
数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。

3.1 功能总览

功能 具体内容
用户注册 学生可利用自已学号进行注册,注册实现实名制
用户登录 只有登录用户才能进行信息发布。管理员登录后可以进行系统管理
发布信息 普通用户和管理员登录后都可以发布信息
修改信息 普通用户可以修改自己发布的信息,管理员可以修改所有信息
删除信息 普通用户可以删除自己发布的信息,管理员可以删除所有信息
浏览信息 游客、普通用户和管理员可以浏览所有发布的信息
搜索信息 游客、普通用户和管理员可以用关键字搜索所有发布的信息。普通用户可以搜索自己发布的所有信息
发表留言 普通用户和管理员登录后都可以对发布信息进行留言
查看留言 游客、普通用户和管理员都可以查看发布信息的留言
删除留言 管理员可以删除留言
添加二手指南 管理员可以添加二手指南
查看二手指南 游客、普通用户和管理员都可以查看二手指南
修改二手指南 管理员可以修改二手指南
删除二手指南 管理员可以删除二手指南
私信交流 用户之间可以相互私信交流
智能推荐 智能推荐用户喜欢的产品
图像识别 自动识别客户上传的图片
社区交流 用户可以在社区当中发帖交流
爱心公益 用户可以将自己不需要的物品进行爱心捐献

3.2 功能结构图

![未命名文件 (软件需求规格说明书.assets/未命名文件 (2).png)](../../Download/未命名文件 (2).png)

3.3 数据流分析

[^用户信息模块数据流图]:

1647483600024

1647483620846

1647483630850

3.4 功能分析

在此部分将从用例图、活动图、时序图、状态图和类图从不同视角对用户信息模块、交易模块、展示模块、社区模块、活动模块进行刻画和描述。

3.4.1 用户信息模块

用例图

用例图

用例名称 注册
简述 该用例允许用户将用户名,密码,电话号码三段信息提交至系统注册账号
参与者 用户
前置条件 打开网页点击注册
正常流 ①用户输入用户名,密码,电话号码三段信息, ②用户点击获取验证码,并将其填入到验证码一栏中, ③用户点击注册按钮,注册成功.
替代流 ①若用户未输入用户名,密码,电话号码三段信息,则无法点击获取验证码,并在缺失信息的一栏提示 ②若用户未点击发送验证码,则无法点击注册按钮,并在验证码一栏提示 ③若用户输入错误的验证码,点击会提示验证码错误
后置条件 如果用例成功,用户信息在系统的数据库中,否则系统状态不变。
用例名称 注册
简述 该用例允许用户将用户名,密码,两段信息提交至系统登录账号
参与者 用户
前置条件 打开网页点击登录
正常流 ①用户输入用户名,密码三段信息, ②用户点击登录按钮,登录成功.
替代流 ①若用户未输入用户名,密码,则无法点击登录,并在缺失的一栏提示 ②若用户输入不存在的用户名,点击登录会提示该用户不存在 ③若用户输入错误的密码,点击登录会提示密码错误 ④若用户输入密码错误五次则登录失败,一小时内不可再次登录。
后置条件 如果用例成功,系统向用户展示主界面。
用例名称 修改密码
简述 该用例允许用户将手机号,新密码提交至系统修改密码
参与者 用户
前置条件 打开个人信息界面点击修改密码
正常流 ①用户输入电话号码,新密码, ②用户点击获取验证码,并将其填入到验证码一栏中, ③用户点击修改密码按钮,修改成功.
替代流 ①若用户未输入新密码或手机号,则无法获取验证吗,并在缺失的一栏提示 ②若用户未点击发送验证码,则无法点击注册按钮,并在验证码一栏提示 ③若用户输入错误的验证码,点击会提示验证码错误
后置条件 如果用例成功,在系统的数据库中修改用户信息,否则系统状态不变。
活动图

活动图1 中简单描述了,从开始到登录有账号则直接登录结束,没有账号则填写相关信息来注册账号最后回到登录账号再结束。

活动图1

活动图2 中简单描述了,从开始填写信息,填写验证码,最后成功修改密码直接结束。

活动图2

时序图

时序图

状态图

状态图

类图

类图

类图综述 类图名称
目的 围绕用户注册模块分析类图
结构 用户-登录-账号
功能 提供用户登录功能
组织 大体上以为LoginBO类为中心
LoginForm
整体说明 展示登录界面
属性说明 login: LoginBO
操作说明 LoginForm(), validate( String account, String password) : void
关系说明 LoginForm类没有子类或父类
LoginBO
整体说明 登录业务逻辑类,封装实现登录功能的业务逻辑类
属性说明 userDAO : IUserDAO
操作说明 setlUserDAO(UserDAO userDAO) : void, validate( String account, String password ) : boolean
关系说明 LoginBO类没有子类或父类
lUserDAO
整体说明 抽象数据访问类接口,声明对User表的数据操作方法,
属性说明
操作说明 findUserByAccAndPwd( String account, String password ) : boolean
关系说明 lUserDAO类没有子类或父类
UserDAO
整体说明 狊体数据访问类,实现对User表的数据操作方法
属性说明
操作说明 findUserByAccAndPwd( String account, String password ) : boolean
关系说明 UserDAO类没有子类或父类
关联描述
关联一 LoginForm类 和 LoginBO类是组合关系,LoginForm类是LoginBO类的整体部分且控制其生命周期。
关联二 LoginBO类 和 lUserDAO类是聚合关系,LoginBO类是lUserDAO类的整体部分,但部分lUserDAO类可以脱离整体部分单独存在。
关联三 UserDAO类是lUserDAO类的实现接口,在UserDAO类中具体声明了一些方法。

3.4.2 交易模块

用例图
交易模块用例图
用例名称 搜索信息
简述 该用例允许用户输入所需要搜索的信息,该信息包括所需要购买的物品名,好友名,历史订单以及现有开放活动。
参与者 用户
前置条件 用户需要进入搜索框,并且输入对应所需查找的物品、好友、历史订单或活动名。当用户单击“搜索”按钮时,该用例启动。
正常流 ① 当用户输入物品名,并点击”搜索“按钮时,系统显示用户搜索的物品售卖页面。② 当用户输入好友名,并点击”搜索“按钮时,系统显示用户搜索的好友主页。③ 当用户输入历史订单名,并点击”搜索“按钮时,系统显示用户搜索的历史订单详情页面。④ 当用户输入活动名,并点击”搜索“按钮时,系统显示
替代流 ① 当用户未输入物品名,并点击”搜索“按钮时,系统显示弹窗提示用户未输入文本。② 当用户未输入好友名,并点击”搜索“按钮时,系统显示弹窗提示用户未输入文本。③ 当用户未输入历史订单名,并点击”搜索“按钮时,系统显示弹窗提示用户未输入文本。④ 当用户未输入活动名,并点击”搜索“按钮时,系统显示弹窗提示用户未输入文本。
后置条件 如果用例成功,搜索记录在系统的数据库中,否则系统状态不变。
用例名称 删除信息
简述 该用例允许用户删除信息,该信息包括所需要曾经历史订单,好友,所参与活动的记录,个人主页,售卖物品主页。
参与者 用户、管理员
前置条件 用户需要进入个人主页,在不同模块如好友、历史订单、活动、个人主页处点击”删除“按钮,该用例启动。
正常流 ① 当用户进入个人主页,并点击”删除简介“按钮时,系统删除用户的个人主页信息(如签名,简介)。② 当用户进入个人主页-售卖物品主页,选择要删除的物品,并点击”删除“按钮时,系统删除用户的所售卖物品主页。③ 当用户进入好友主页,选择要删除的好友,并点击”删除“按钮时,系统删除用户的对应好友。④ 当用户进入历史订单主页,选择要删除的历史订单,并点击”删除“按钮时,系统删除用户的对应历史订单。⑤ 当用户进入活动主页,选择要删除的参与过的活动,并点击”删除“按钮时,系统删除用户的对应参与过活动。
替代流 ① 当用户未选择售卖物品,并点击”删除“按钮时,系统显示弹窗提示用户未选择售卖物品。② 当用户未选择好友,并点击”删除“按钮时,系统显示弹窗提示用户未选择好友。③ 当用户未选择历史订单,并点击”删除“按钮时,系统显示弹窗提示用户未选择历史订单。④ 当用户未选择活动,并点击”删除“按钮时,系统显示弹窗提示用户未选择活动。⑤ 当用户未选择个人主页简介,并点击”删除“按钮时,系统显示弹窗提示用户未选择简介。
后置条件 如果用例成功,对应的删除记录会在系统的数据库消失中,否则系统状态不变。
用例名称 浏览信息
简述 该用例允许用户浏览好友、物品、个人主页和活动信息,该信息包括历史订单,好友,所参与活动的记录,个人主页,售卖物品主页等。
参与者 用户
前置条件 用户需要进入个人主页、好友主页、物品主页、活动主页等,点击图片或名字,该用例启动。
正常流 ① 当用户进入个人主页,并点击下方个人主页按钮时,系统显示用户的个人主页信息(如签名,简介)。② 当用户进入个人主页-售卖物品主页,点击售卖的物品,系统显示用户的所售卖物品主页。③ 当用户进入好友主页,点击要选择的好友,系统显示用户的对应好友主页。④ 当用户进入历史订单主页,选择要点击的历史订单,系统显示用户的对应历史订单。⑤ 当用户进入活动主页,选择要参与过的活动,系统显示用户的对应参与过活动。
替代流 ① 当用户未选择个人主页,系统不会显示个人主页。② 当用户未选择好友,系统不会显示好友主页。③ 当用户未选择历史订单主页,系统不会显示历史订单主页。④ 当用户未选择物品,系统不会显示物品主页。⑤ 当用户未选择活动,系统不会显示活动主页。
后置条件 如果用例成功,系统会显示相应点击的详情主页,否则系统状态不变。
用例名称 修改信息
简述 该用例允许用户修改信息,该信息包括个人主页,自己所售卖物品的价格、图片、简介信息。
参与者 用户
前置条件 用户需要进入个人主页,在不同模块如签名简介或售卖物品的主页点击修改,该用例启动。
正常流 ① 当用户进入个人主页,并点击”修改“按钮时,用户的个人主页信息(如签名,简介)显示可修改状态。② 当用户进入个人主页-售卖物品主页,选择要修改的物品,并点击”修改“按钮时,用户的所售卖物品主页显示可修改状态。
替代流 ① 当用户未选择售卖物品,并点击”修改“按钮时,系统显示弹窗提示用户未选择售卖物品。
后置条件 如果用例成功,对应的修改记录会在系统的数据库出现并覆盖之前的信息,否则系统状态不变。
用例名称 发布信息
简述 该用例允许用户发布信息,该信息包括售卖物品主页。
参与者 用户、管理员
前置条件 用户需要进入个人主页-物品主页,点击发布“按钮,该用例启动。
正常流 ① 当用户进入个人主页,并点击”发布“按钮时,系统会发布用户的所售卖的物品主页信息。
替代流 ① 当用户未选择售卖物品,并点击”发布“按钮时,系统显示弹窗提示用户未选择售卖物品。
后置条件 如果用例成功,发布售卖物品记录会在系统的数据库出现中,否则系统状态不变。
活动图

搜索信息

![删除信息 (软件需求规格说明书.assets/删除信息 (2)-1648648030631.png)](C:/Users/Lenovo/Desktop/交易模块/删除信息 (2).png)

时序图

添加出入库记录序列图

状态图

状态图

类图

![未命名文件 (软件需求规格说明书.assets/未命名文件 (11).png)](G:/Download/未命名文件 (11).png)

类图综述 类图名称
目的 围绕交易模块分析类图
结构 界面-控制-实体
功能 提供了二手物品交易功能、二手物品发布功能,可以进行二手物品信息的设置,包括名称,价格,是否包邮等等
组织 大体上以交易功能为中心
DealPart类描述
整体说明 用于验证用户信息和交易信息
属性说明 - string userName - string dealInfo
操作说明 + getShopInfo(): string
+ validate( String account , String password ) : void
关系说明 有两个子类:DealDonePart类和ReleaseInfoPart
DealDonePart类描述
整体说明 用于判断交易是否成功以及展示交易信息
属性说明 - string passWord
操作说明 + dealSuccess():bool
+ dealInfo(string dealNum):string
关系说明 是DealPart类的子类
ReleaseInfoPart类描述
整体说明 用于验证用户信息和交易信息
属性说明 - string Info
- string nameOfSell
- string prize
- bool postal
- bool release
操作说明 + setInfo(): void
+ getInfo(int dealNum): string
+ getReleaseOrNot(int dealNum): bool
+ getPostalOrNot(int dealNum): bool
+ releaseNew(string info): void
关系说明 是DealPart类的子类

3.4.3 展示模块

用例图
用例图
用例名称 视频展示
简述 该用例将系统的使用以及注意事项通过视频的方式展现给用户,并可供用户下载
参与者 用户
前置条件 用户进入系统主页面,该页面显示系统各种功能,当用户单击“视频简介”按钮时,该用例启动。
正常流 ①系统打开视频展示视频 ②用户观看视频,可暂停,跳转等 ③系统提供下载该视频功能
替代流 ① 若系统打开视频失败,用户可提交投诉将错误及时反馈。 ② 若客户下载视频失败,用户可联系工作人员获取备用下载地址。
后置条件 如果用例成功,播放展示视频并提共下载源,否则系统状态不变。
用例名称 智能推荐
简述 该用例将用户最希望购置到的物品和最热门的物品推荐给用户,并提供评价服务。
参与者 用户
前置条件 客户进入购物页面,该页面显示各类二手物品及其价格,当用户单击“智能推荐”按钮时,该用例启动
正常流 ①系统显示客户最希望购买的和最热门的商品列表供客户选择 ②客户选择心怡的物品,使用“购买”功能,选择付款方式,系统给订单唯一的订单编号,将订单信息存储到数据库.
替代流 ①若客户未购买物品,返回主页面 ②若客户未选择付款方式,选择“购买”功能,则无法提交,仍然回到订单页面提示客户选择付款方式(网上支付/货到付款)
后置条件 如果用例成功,购物订单记录在系统的数据库中,更新智能推荐物品列表,否则系统状态不变
用例名称 用户指南
简述 该用例将系统的使用以及注意事项通过文本的方式展现给用户。
参与者 用户
前置条件 客户进入系统主页面,该页面显示系统各种功能,当用户单击“用户指南”按钮时,该用例启动
正常流 ① 系统显示系统的使用指南和注意事项。
替代流 ① 若客户打开用户指南失败,用户可提交投诉将错误及时反馈。
后置条件 如果用例成功,打开用户指南,否则系统状态不变。
活动图

图中简单描述了:从打开视频简介开始,若视频打开失败则向客户发送错误反馈,若打开成功则可以查看视频,观看时有四个功能选项,即全屏播放、挑战进度、调节音量、暂停播放,播放完成后用户可选择是否下载,若选择下载且下载成功后,返回主界面;若下载失败,向客服发送错误反馈;若不下载则返回主页面,结束该活动。

活动图1

图中简单描述了:从打开智能推荐开始,可以选择三种功能,即心意物品推荐、热门物品推荐和查看评价,找到自己想要购买的二手物品后,进行购买,选择付款方式后进行付款,付款成功后返回主界面,结束活动。

活动图2

图中简单描述了:从打开用户指南开始,若打开失败则自动提交错误反馈;若打开成功开始查看指南,结束后返回主界面,结束活动。

活动图3
时序图

图中展示的是展示模块场景下的序列图。

序列图
状态图

图中描述了展示模块在其生命周期内所经历的状态。

状态图

类图
类图
类图综述 展示模块
目的 围绕展示的目的将该产品的使用方法和建议介绍给用户
结构 展示界面控制用户使用这三个功能
功能 提供视频介绍、用户指南、智能推荐购买功能
组织 大体上以智能推荐购买功能为中心
user类描述
整体说明 记录用户相关信息
属性说明 -ID : int -name: String
操作说明 +show() : void
关系说明 无子类、父类
recommend类描述
整体说明 推荐用户心意和热门的二手物品
属性说明 -judge : bool
-ID : String
-type : int
操作说明 +recommendationAlgorithm() : void
关系说明 无子类、父类
buy类描述
整体说明 用户购买物品
属性说明 -Buy : bool
-price : double
操作说明 +ifBuy() : void
+pay() : void
关系说明 无子类、父类
video类描述
整体说明 播放以及下载介绍视频
属性说明 -judge : bool
-type : int
操作说明 +ifDownload() : void
+ifOpen() : void
关系说明 无子类、父类
guide类描述
整体说明 查看用户指南
属性说明 -judge : bool
-type : int
-content : String
操作说明 +ifOpen() : void
关系说明 无子类、父类
关联描述
关联一 user与recommend是聚合关系,推荐与用户功能是部分与整体之间的关系,且可以脱离整体单独存在
关联二 user与video是聚合关系,视频与用户功能是部分与整体之间的关系,且可以脱离整体单独存在
关联三 user与guide是聚合关系,用户指南与用户功能是部分与整体之间的关系,且可以脱离整体单独存在
关联四 recommend与buy是聚合关系,购买与推荐系统是部分与整体之间的关系,且可以脱离整体单独存在

3.4.4 社区模块

用例图

用例图

用例名称 用户交流
简述 该用例用户交流部分让用户通过点击其他用户或社区进行私信聊天或者社区群聊。
参与者 用户
前置条件 用户进入社区界面,该界面显示所有与该用户有关的其他用户和社区,用户单击其他用户或社区时,用例启动。
正常流 1.系统显示与单个用户或社区内聊天的历史记录。2.系统支持用户在聊天框中添加文字、语音、图片和视频等内容。3.用户点击“发送”,聊天框中的内容储存至数据库并发送至聊天模块。
替代流 1.若用户没有在聊天框中添加任何信息,则消息不会发送。2.若用户添加内容过大,则显示发送失败3.若用户发送的文本内容或图片、视频涉嫌传播非法或淫秽信息,则不会发送消息。
后置条件 如果用例成功,聊天内容储存在数据库中并显示于聊天模块,否则系统状态不变。
用例名称 帖子留言
简述 该用例帖子留言部分让用户可以查看他人在各个帖子下的留言,并可以在各个帖子下发布留言或删除自己已发布的留言。
参与者 用户
前置条件 用户进入贴吧界面,该页面显示各个帖子标题和简介,用户可以点击进入各个帖子,当用户进入帖子时,该用例启动。
正常流 1.系统显示该帖下所有用户的留言,若用户自己有历史留言,则在个人用户端高亮置顶显示。2.系统支持用户在输入框中添加文字、图片和视频等内容。3.用户点击“发布”,输入框中的内容储存至数据库并发送至留言模块。4.用户自己发送的留言下有”删除“按钮,用户点击“删除”,留言在留言面板上抹除并在数据库中删除该记录。
替代流 1.若用户没有在输入框中添加任何信息,则无法发布留言。2.若用户添加内容过大,则显示发送失败。3.若用户发送的文本内容或图片、视频涉嫌传播非法或淫秽信息,则不会发布留言。
后置条件 如果用例成功,发布的留言将储存至数据库并显示在留言面板,删除的留言将在数据库中删除该记录并在留言面板上抹除,否则系统状态不变。
用例名称 动态
简述 该用例动态部分让用户可以发布自己的动态并进行修改或删除。
参与者 用户
前置条件 用户进入动态界面,该界面显示用户自己发布的历史动态,当用户点击“发布动态”或“管理动态”时,该用例启动。
正常流 1.系统显示用户自己发布的历史动态。2.系统支持用户在输入框中添加文字、图片和视频等内容。3.用户点击“发布动态”,输入框中的内容储存至数据库并发送至动态模块。4.用户点击“管理动态”,可以选择修改动态文本内容或删除该动态,并于数据库中做相应修改。
替代流 1.若用户没有在输入框中添加任何信息,则无法发布动态。2.若用户添加内容过大,则显示发送失败。3.若用户发送的文本内容或图片涉嫌传播非法或淫秽信息,则不会发布动态。
后置条件 如果用例成功,发布的动态将储存至数据库并显示在动态面板,删除或修改的动态将在数据库中删除或修改该记录并在动态面板上抹除,否则系统状态不变。
活动图

用户打开聊天界面,如私信聊天或社区群聊,在聊天框中输入文字或编辑语音、图片、视频等内容,点击发送,系统检测文本内容和图片视频是否含有非法淫秽信息,如果有则发送失败,提示用户“内容含有非法信息,发送失败” ;如果没有,则发送成功并将内容储存至数据库,在聊天面板显示发送的内容,退出聊天界面后结束。

活动图

时序图

下图展示的是用户交流场景下的时序图

时序图

状态图

下图描述了用户交流在其生命周期内所经历的状态

状态图

类图

类图新

类图综述 描述
目的 围绕用户交流分析类图
结构 用户—聊天室—信息
功能 提供用户交流功能
组织 大体上以message类为中心
User
整体说明 定义用户类
属性说明 -ID:int
-name:String
-password:String
操作说明 +login():void
关系说明 User类没有子类或父类
Chatroom
整体说明 定义聊天室类
属性说明 -userName:String
操作说明 +sendMessage():void
关系说明 Chatroom类没有子类或父类
Message
整体说明 定义信息类
属性说明 -content:String
-type:int
操作说明 +sendMsg():void
关系说明 Message有三个子类,分别是textMessage、picMessage、videoMessage
textMessage
整体说明 定义文本信息类
属性说明 -content:String
-type:int
操作说明 +sendText():void
关系说明 textMessage有父类message
picMessage
整体说明 定义图片信息类
属性说明 -content:Image
-type:int
操作说明 +sendPicture():void
关系说明 picMessage有父类message
videoMessage
整体说明 定义视频信息类
属性说明 -src:String
-type:int
操作说明 +sendVideo():void
关系说明 videoMessage有父类message
关联描述
关联一 用户进入聊天室
关联二 聊天室编辑并发送信息
继承描述
继承一 textMessage是message子类,因为其文本信息属于信息中的一种
继承二 picMessage是message子类,因为其图片信息属于信息中的一种
继承三 videoMessage是message子类,因为其视频信息属于信息中的一种

3.4.5 活动模块

用例图

用例图

用例名称 活动模块—以物易物
简述 该用例允许用户填写一份物品登记表,该物品登记表包括用户信息、物品信息、交换需求,完成填写后将数据存进数据库,当发现可匹配的用户后,双方进行联系,并且进行交换
参与 用户
前置条件 用户登录系统
正常流 ① 系统显示登记表供客户确认 ② 系统请求客户填写用户信息、物品信息、交换需求 ③ 客户选择“提交”功能,将登记表存储到数据库
替代流 ① 若用户未填写用户信息,选择“提交”功能,则无法提交,仍然回到登记表页面提示用户填写用户信息 ② 若用户未填写物品信息,选择“提交”功能,仍然回到登记表页面提示用户填写物品信息
后置条件 如果用例成功,登记表记录在系统的数据库中,否则系统状态不变
用例名称 活动模块—捐赠二手物品
简述 该用例允许用户填写一份物品登记表,该物品登记表包括用户信息、物品信息、需求,完成填写后将数据存进数据库,当物品被捐赠后,系统会对用户进行反馈
参与 用户
前置条件 用户登录系统
正常流 ① 系统显示登记表供客户确认 ② 系统请求客户填写用户信息、物品信息、需求 ③ 客户选择“提交”功能,将登记表存储到数据库
替代流 ① 若用户未填写用户信息,选择“提交”功能,则无法提交,仍然回到登记表页面提示用户填写用户信息 ② 若用户未填写物品信息,选择“提交”功能,仍然回到登记表页面提示用户填写物品信息
后置条件 如果用例成功,登记表记录在系统的数据库中,否则系统状态不变
用例名称 活动模块—义卖
简述 该用例允许用户填写一份物品登记表,该物品登记表包括用户信息、物品信息、需求,完成填写后将数据存进数据库,最终义卖的结果系统会对用户进行反馈
参与 用户
前置条件 用户登录系统
正常流 ① 系统显示登记表供客户确认 ② 系统请求客户填写用户信息、物品信息、需求 ③ 客户选择“提交”功能,将登记表存储到数据库
替代流 ① 若用户未填写用户信息,选择“提交”功能,则无法提交,仍然回到登记表页面提示用户填写用户信息 ② 若用户未填写物品信息,选择“提交”功能,仍然回到登记表页面提示用户填写物品信息
后置条件 如果用例成功,登记表记录在系统的数据库中,否则系统状态不变
活动图

​ 图中简单描述了,用户从打开登记表到填写表中的信息,填写完毕后点击提交,系统将对表中的内容进行审核,如果不存在违规的词句就提示用户填写完成,等待之后售卖的结果,退出界面并结束;如果存在违规的词句就警告用户再退出界面直接结束。

活动图

时序图

图中展示的是填写登记表场景下的序列图

填写登记表时序图

状态图

图中描述了登记物品信息活动在其生命周期内所经历的状态

状态图

类图

类图

类图综述 类图名称
目的 围绕类的关系分析类图
结构 父类-子类-依赖
功能 提供填写二手物品登记表并写入数据库功能
组织 大体上以填写二手物品登记表为中心
登记表类描述
整体说明 这是所有登记表的父类
属性说明 UserName:用户姓名;
UserIphoneNumber:用户联系方式;
Adress:用户地址;
ObjectName:物品名称;
ObjectDescribe:物品描述;
ObjectPrice:物品价格;
ObjectInformation:物品附加信息说明
操作说明 Write():填写登记表 ;
Confirm():确认登记表信息;
Submit():提交登记表;
关系说明 无父类;Table1;Table2;Table3 是他的子类;
登记表类描述
整体说明 以物易物的二手物品物品信息登记表
属性说明 UserName:用户姓名;
UserIphoneNumber:用户联系方式;
Adress:用户地址;
ObjectName:物品名称;
ObjectDescribe:物品描述;
ObjectPrice:物品价格;
ObjectInformation:物品附加信息说明
操作说明 Write():填写登记表 ;
Confirm():确认登记表信息;
Submit():提交登记表;
关系说明 Table是他的父类;无子类
登记表类描述
整体说明 捐赠的二手物品物品信息登记表
属性说明 UserName:用户姓名;
UserIphoneNumber:用户联系方式;
Adress:用户地址;
ObjectName:物品名称;
ObjectDescribe:物品描述;
ObjectPrice:物品价格;
ObjectInformation:物品附加信息说明
操作说明 Write():填写登记表 ;
Confirm():确认登记表信息;
Submit():提交登记表;
关系说明 Table是他的父类;无子类
登记表类描述
整体说明 义卖的二手物品物品信息登记表
属性说明 UserName:用户姓名;
UserIphoneNumber:用户联系方式;
Adress:用户地址;
ObjectName:物品名称;
ObjectDescribe:物品描述;
ObjectPrice:物品价格;
ObjectInformation:物品附加信息说明
操作说明 Write():填写登记表 ;
Confirm():确认登记表信息;
Submit():提交登记表;
关系说明 Table是他的父类;无子类
登记表类描述
整体说明 不同物品信息登记表在数据库中的读写
属性说明 -Table:需要操作的物品信息登记表
操作说明 TableWriteIntoDBS(Object table):物品信息登记表写入数据库;ReadTableFromDBS():物品信息登记表从数据库读出
关系说明 无父类;无子类
继承描述
继承一 Table1是Table的子类;Table1是以物易物的二手物品物品信息登记表,二手物品物品信息登记表类型之一
继承二 Table2是Table的子类;Table2是捐赠的二手物品物品信息登记表,二手物品物品信息登记表类型之一
继承三 Table3是Table的子类;Table3是义卖的二手物品物品信息登记表,二手物品物品信息登记表类型之一
依赖描述
依赖一 DBS类依赖于Table1类,Table3类,或者Table3类;因为数据库的读写需要表格

四、软硬件及外部系统接口需求

4.1 用户界面

​ 用户界面是程序中用户能看见并与之交互作用的部分,设计一个好的用户界面是非常重要的,本设计将为用户提供美观,大方,直观,操作简单的用户界面。

4.2 硬件需求

​ 移动终端硬件配置应遵循如下原则:具有高的可靠性,可用性和安全性。【描述系统中软件和硬件每一接口的特征。这种描述可能包括支持的硬件类型、软硬件之间的交流的数据和控制信息的性质以及使用的通信协议。】

4.3 运行环境

  • Web 浏览器:0+、Chrome、Opera、Safari、Firefox及任何支持HTML5标准的浏览器。
  • 标准分辨率:1024768、19201080、2K

五、可靠性与可用性需求

5.1 性能需求

处理能力

​ 由于是在线二手交易平台,其处理能力主要考虑系统能承载的最大并发用户数,按照实际情况的规划,系统至少能承载的最大并发用户数要求达到全校学生总人数*φ,φ为0至1的常数,随服务器容量而定。

应时间

​ 为了能够快捷地提供在线测评服务,系统应该能够快速地响应在线测评请求。用户最终得到结果的响应时间除了与系统响应速度有关外,还与网络状况有关。因此对Web服务器端需要较高的要求。

5.2 安全性需求

​ 传输的数据都采用高强度的加密算法加密 (DES),使得数据即使泄漏、被截获后,也无法识别相关的数据内容,确保数据安全。对于客户端与服务器交互的数据,使用安全套接子层 (SSL,SSL 加密传输主要是针对 WEB的数据传输,基于重要信息的传输安全考虑而设计的) 进行信息交换,并在客户移动终端和服务器之间重要的信息的交换。

六、附录

大学生二手交易平台问卷调查

在校园里,网购已成为一种趋势,足不出户便达成买卖。而二手商品交易也逐步走进我们的生活中,为我们大多数人所接纳。无论网购或二手交易,于商家于买家都是一种既实际又环保的途径。为此,我们针对北京交通大学展开此次调查,了解本校学生对二手交易的需求,更好地构建一个满足本校学生们的校园App二手交易平台。希望同学们能积极参与,感谢您的配合与合作!

1、性别 【单选题】

○ 男

○ 女

2、您有在二手市场购买或卖出东西的经历么? 【单选题】

○ 有

○ 没有

○ 有想过但没实施过

3、您对购买二手物品持何种态度? 【单选题】

○ 质量差,不支持

○ 只要价钱合理,质量可靠就可以购买

○ 看物品而定

○ 二手物品价格低廉,很喜欢购买

4、您购买二手货的原因是? 【单选题】

○ 价格便宜

○ 实用价值高

○ 物超所值

5、对于二手物品多少程度的磨损您可以接受? 【单选题】

○ 一成到两成

○ 三成到五成

○ 六成到八成

○ 九成到十成

6、您在购买二手商品过程中存在的疑虑? 【单选题】

○ 质量问题

○ 卫生问题

○ 心理作用

○ 购买机会

7、您对二手物品交易网网站上的哪些物品比较感兴趣?(多项) 【多选题】

□ 专业书籍

□ 娱乐书籍或杂志

□ 服装

□ 饰物、精品类

□ 文体用品

□ 电器类

□ 鞋类

□ 电子产品

8、如果建立一个专门的校园二手物品交易网上交易平台,您的态度是? 【单选题】

○ 非常欢迎,能在交易平台上交易

○ 持续关注,会推荐给同学

○ 偶尔关注

○ 持怀疑观望态度

○ 不看好网站的发展

9、对于本校二手网站你最希望淘到什么二手物品?(多项) 【多选题】

□ 二手教科书

□ 二手期末复习资料

□ 二手电脑MP3等数码物品

□ 二手运动器械

□ 其它二手物品

10、如本校二手平台向您收购商品,您一般有哪些物品愿意出售?(多项) 【多选题】

□ 专业书籍

□ 娱乐书籍或杂志

□ 服装

□ 饰物、精品类

□ 文体用品

□ 电器类

□ 鞋类

□ 电子产品

11、您购买二手物品希望卖家能提供哪些信息?(多项) 【多选题】

□ 购买时间

□ 生产时间

□ 物品使用情况

□ 保修期是否已过

12、您认为二手物品交易平台应提供哪些服务? (多项) 【多选题】

□ 提供物流服务

□ 提供有信用的第三方支付体系服务

□ 提供退货等售后服务

□ 提供货到付款服务

□ 提供手递手的送货

□ 质量评价体系

13、对即将出现的本校校园二手物品交易网站,有什么好的建议? 【填空题】