1 引言
1.1 编写目的
从该阶段开发正式进入软件的实际开发阶段,本阶段完成系统的大致设计并明确系统的数据结构与软件结构。在软件设计阶段主要是把一个软件需求转化为软件表示的过程,这种表示只是描绘出软件的总的概貌。本概要设计说明书的目的就是进一步细化软件设计阶段得出的软件总体概貌,把它加工成在程序细节上非常接近于源程序的软件表示。
1.2背景
校园二手交易系统是我们开发的中型管理系统,主要功能是实现二手物品的交易,包括用户信息管理,商品信息管理,订单信息管理,员工信息管理,商品浏览,交易沟通,商品审核等相关功能,项目背景规划如表1.1所示。
a.软件系统的名称;校园二手交易系统
b.本项目的任务提出者和开发者: 、
c.项目用户:长期在校园内活动且在学校内有身份登记的相关人群,例学生、教师、校方工作人员。
d.实现该软件的计算中心或计算机网络;internet及校园网
c.该软件系统同其他系统或其他机构的基本的相互来往关系:与百度地图,微信等其他机构有基本的相互来往关系。
项目名称 | 校园二手交易系统 |
项目提出者和开发者 | 、 、 |
项目用户 | 长期在校园内活动且在学校内有身份登记的相关人群,例学生、教师、校方工作人员。 |
计算中心或计算机网络 | internet及校园网 |
同其他系统或其他机构的基本的相互来往关系 | 与百度地图,微信等其他机构有基本的相互来往关系 |
a
1.3 定义
专门术语:
My SQL:系统服务器所使用的数据库关系系统(DBMS)。
SQL:一种用于访问查询数据库的语言
事务流:数据进入模块后可能有多种路径进行处理。
主键:数据库表中的关键域。值互不相同。
外部主键:数据库表中与其他表主键关联的域。
ROLLBACK:数据库的错误恢复机制。
缩写:
系统:若未特别指出,统指本校园二手交易系统。
SQL:Structured Query Language(结构化查询语言)。
ATM:Asynchronous Transfer Mode (异步传输模式)。
UML:统一建模语言、是一套用来设计软件蓝图的标准建模语言,是一种从软件分析、设计到编写程序规范的标准化建模语言。
查询:对数据库的一种操作,用于搜索数据信息。
插入:对数据库的一种操作,用于将数据存入数据库中。
更新:对数据库的一种操作,用于更改数据库中的数据信息。
软件结构图:用于反应软件系统的功能模块之间的关系的数据图。
1.4 参考资料
文档格式要求按照我国GB/T8567-1988国家标准和IEEE/ANSI830-1993标准规范要求进行。包括以下文件:
校园二手交易关系系统需求说明书
软件工程项目开发文档范例
软件工程国家标准文档
校园二手交易系统需求说明书
软件需求说明书编写规范
书籍包括:
《软件项目管理》 朱少民,韩莹 编著,人民邮电出版社。
《软件项目管理》 Rajeev T Shandilya编著 科学出版社。
张海藩.软件工程导论(第6版)[M].北京:清华大学出版社,2018
2 总体设计
2.1 需求规定
系统功能要求:
功能 | 子模块 | 功能描述 | 输入 | 系统处理方式 | 输出 | ||
登录/注册 | 登录 | 输入用户名,密码进行登录 | 输入用户名,密码 | 与数据库中用户密码比较 | 失败则返回登录界面,成功则进入系统 | ||
注册 | 设置用户名,密码,输入身份信息,进行注册 | 输入相关信息进行注册 | 将合法信息登入数据库 | 成功则返回登录界面,失败则进入注册页面 | |||
物品登记 | 信息登记 | 登记物品时输入物品种类,数量,价格,照片,描述等信息 | 输入物品信息 | 将合法信息登入数据库 | 返回物品登记界面,成功则弹出成功信息框 | ||
物品数据库更新 | 物品经过工作人员审核后,输入物品信息库,更新数据库 | 系统提取交易订单中物品信息,更新数据库 | |||||
支付功能 | 确认交易后,进行支付 | ||||||
交流功能 | 交易双方进行交流 | 各类聊天信息 | 发送信息到另一位用户 | 聊天信息 | |||
个人主页 | 输入昵称,个人签名,性别等信息 | 输入相关信息 | 更新用户信息表 | 用户信息 | |||
客服 | 用户点击客服按钮后,与客服聊天沟通解决问题 | 点击按钮 | 和员工客服建立连接 | 各类聊天信息 | |||
页面浏览 | 用户通过点击或搜索,浏览商品信息 | 点击信息或物品信息 | 后端的各类方法 | 符合条件的信息 | |||
审核 | 用户登记的商品需要员工审核,审核完成后,才会出现在系统内 | 点击信息 | 经过审核的信息更新到数据库中 |
软件应支持的终端数:1
应支持的并行操作的用户数:10+
2.2 运行环境
操作系统:windows11
支持软件:IDEA2023 Navicat 15 for mysql
数据库:Mysql 1.1.8
测试接口:postman
2.3 基本设计概念和处理流程
1.用户管理业务流程
(1)登录注册流程
(2)修改删除用户流程
2.物品管理业务流程
(1)物品登记业务流程
(2)修改删除物品流程
(3)搜索物品流程
3.交易管理业务流程
(1)交易流程
(2)修改订单
(3)删除订单
(4)交易聊天
4.客服管理业务流程
(1)物品审核
(2)客服回应
数据流图
顶层数据流图
第一层数据流图
第二层数据流图
- 用户管理
(2)物品管理
(3)交易管理
(4)客服管理
2.4 结构
功能 | 子模块 | 说明 |
用户管理 | 登录 | 标识符:login,username,password 功能:登录功能 |
注册 | 标识符:resight,用户编号 用户名 密码 手机号 个人签名 地址 支付方式,功能:注册功能 | |
修改用户信息 | 标识符:用户编号 用户名 密码 手机号 个人签名 地址 支付方式功能:修改用户信息功能,例如修改密码,用户名,备注等信息 | |
删除用户 | 标识符:用户编号 用户名 密码 手机号 个人签名 地址 支付方式功能:清除用户信息 | |
物品管理 | 登记物品 | 标识符:商品编号 物品种类 关键字 图片 文字描述 价格区间 数量 功能:用户将二手物品信息登记到系统内 |
修改物品信息 | 标识符:商品编号 物品种类 关键字 图片 文字描述 价格区间 数量功能:修改已登记过的物品信息 | |
搜索物品 | 标识符:商品编号 物品种类 关键字 图片 文字描述 价格区间 数量功能:根据关键字,备注,价格,文字描述,商品编号等搜索物品 | |
删除物品 | 标识符:物品编号 功能:根据物品编号删除物品 | |
交易管理 | 物品交易 | 标识符:用户编号1 用户编号2 物品编号 物品数量 物品单价 交易金额 订单状态 功能:根据交易双方生成交易订单 |
用户聊天 | 标识符:聊天信息,双方用户编号功能:用户之间传递消息 | |
在线浏览 | 标识符:物品照片,文字描述,备注等信息功能:用户浏览物品 | |
修改订单 | 标识符:用户编号1 用户编号2 物品编号 物品数量 物品单价 交易金额 订单状态 功能:允许用户修改订单信息,以再生成一份新订单的形式生成修改后的交易订单 | |
取消订单 | 标识符:订单编号功能:取消订单 | |
客服管理 | 物品审核 | 标识符:商品编号 物品种类 关键字 图片 文字描述 价格区间 数量 员工编号功能:审核物品 |
客服聊天 | 标识符:聊天信息 ,用户编号,员工编号 功能:客服功能 |
2.5 功能需求与程序的关系
本条用一张如下的矩阵图说明各项功能需求的实现同各块程序的分配关系:
| 用户管理 | 物品管理 | 交易管理 | 客服管理 |
登录 | √ | |||
注册 | √ | |||
物品登记 | √ | |||
数据库更新 | √ | √ | √ | √ |
支付功能 | √ | √ | √ | |
聊天交流 | √ | √ | ||
个人主页 | √ | √ | √ | |
客服功能 | √ | √ | ||
页面浏览 | √ | |||
审核 | √ | √ |
2.6 人工处理过程
客服回应包含人工处理部分,需要员工登录账号,回应用户信息,或审核物品信息
2.7 尚未问决的问题
1.对各个功能模块的详细划分,确定层次之间的功能接口
2.对校园二手交易系统的接口设计及系统在各种环境下的稳定性设计
3 接口设计
3.1 用户接口
说明将向用户提供的命令和它们的语法结构,以及软件的回答信息。
校园二手交易系统将向用户提供以下命令和语法结构,并提供相应的回答信息:
用户登录:输入用户名和密码进行登录
浏览商品:查看校园内其他用户发布的二手商品信息
发布商品:填写商品信息并发布到系统上供其他用户浏览和购买
购买商品:选择感兴趣的商品并进行购买操作
聊天功能:与其他用户进行实时交流和协商
3.2 外部接口
说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持软件之间的接 口关系。
软件与硬件之间的接口:系统需要与校园服务器或云服务器进行数据交换。
与支持软件之间的接口关系:例如支付系统、短信验证系统等与校园二手交易系统进行集成。
3.3 内部接口
说明本系统之内的各个系统元素之间的接口的安排。
用户界面(UI)与业务逻辑(BL)之间的接口:处理用户的请求并将相应的结果显示给用户。
业务逻辑(BL)与数据访问层(DAL)之间的接口:处理业务逻辑与数据库之间的数据交互操作。
数据访问层(DAL)与数据存储层(DB)之间的接口:管理系统与数据库之间的数据访问操作。
4 运行设计
4.1 运行模块组合
说明对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,说明每种运行所历经的内部模块和支持软件。
根据不同的外界运行控制,校园二手交易系统会引起各种不同的运行模块组合。每种运行模式下系统将经历不同的内部模块和支持软件。具体模块组合如下:
用户登录模块组合:包括用户认证、权限验证和加载用户个人信息等模块。
商品展示模块组合:包括加载商品列表、筛选条件和商品详情等模块。
交易流程模块组合:包括购买商品、支付、确认收货和评价等模块。
4.2 运行控制
说明每一种外界的运行控制的方式方法和操作步骤。
校园二手交易系统可通过外界运行控制方式来控制系统的运行,包括用户输入的命令和操作步骤。
4.3 运行时间
不同运行模块组合将占用不同的资源和时间,具体时间取决于系统的负载和用户操作。
5 系统数据结构设计
5.1 逻辑结构设计要点
给出本系统内所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。
校园二手交易系统使用的数据结构包括物品信息、用户信息、交易订单等。每个数据结构包括名称、标识符、数据项、定义、长度以及它们之间的层次结构和关系。
5.2 物理结构设计要点
给出本系统内所使用的每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系(索引、设备、存储区域)、设计考虑和保密条件。
校园二手交易系统中的数据存储要求包括数据项的存储方式、访问方法、存储单位和物理关系(索引、设备、存储区域)等。同时考虑数据的安全性和保密条件。
校园二手交易系统 | ||||||
数据结构 | 数据项 | 存储要求 | 访问方法 | 存取单位 | 保密条件 | 安全性 |
用户表 | 用户编号 | 不为空,不可重复 | 数据库访问 | 用户表 | 公开 | 唯一 |
用户名 | 不为空,不可重复 | 数据库访问 | 用户表 | 公开 | 唯一 | |
密码 | 不为空,有一定格式要求 | 数据库访问 | 用户表 | 保密 | ||
手机号 | 页面访问 | 数据项 | 保密 | |||
地址 | 页面访问 | 数据项 | 保密 | |||
个人介绍 | 页面访问 | 数据项 | 公开 | |||
支付方式 | 页面访问 | 数据项 | 保密 | |||
物品表 | 物品编号 | 不为空,唯一 | 数据库访问 | 物品表 | 公开 | 唯一 |
物品种类 | 不为空 | 数据库访问 | 物品表 | 公开 | ||
关键字 | 不为空 | 数据库访问 | 物品表 | 公开 | ||
文字描述 | 数据库访问 | 物品表 | 公开 | |||
价格区间 | 不为空 | 数据库访问 | 物品表 | 公开 | ||
数量 | 》=1 | 数据库访问 | 物品表 | 公开 | ||
员工表 | 员工编号 | 唯一,不为空 | 数据库访问 | 员工表 | 公开 | |
员工名 | 不为空 | 数据库访问 | 员工表 | 公开 | ||
工作时间 | 不为空 | 数据库访问 | 员工表 | 保密 | ||
联系方式 | 不为空 | 数据库访问 | 员工表 | 保密 | ||
订单 | 买方编号 | 不为空 | 数据库访问和页面访问 | 订单表 | 对其他用户保密,交易双方公开 | |
卖方编号 | 不为空 | 数据库访问和页面访问 | 订单表 | 对其他用户保密,交易双方公开 | ||
物品编号 | 不为空 | 数据库访问和页面访问 | 订单表 | 对其他用户保密,交易双方公开 | ||
物品数量 | 》1 | 数据库访问和页面访问 | 订单表 | 对其他用户保密,交易双方公开 | ||
物品单价 | 》0 | 数据库访问和页面访问 | 订单表 | 对其他用户保密,交易双方公开 | ||
订单金额 | 》0 | 数据库访问和页面访问 | 订单表 | 对其他用户保密,交易双方公开 | ||
卖方地址 | 不为空 | 数据库访问和页面访问 | 订单表 | 保密 | ||
买方地址 | 不为空 | 数据库访问和页面访问 | 订单表 | 保密 | ||
订单状态 | 不为空 | 数据库访问和页面访问 | 订单表 | 对其他用户保密,交易双方公开 | ||
时间 | 不为空 | 数据库访问和页面访问 | 数据项 | 对其他用户保密,交易双方公开 |
5.3 数据结构与程序的关系
说明各个数据结构与访问这些数据结构的形式:
| 用户管理 | 物品管理 | 交易管理 | 客服管理 |
用户表 | √ | √ | √ | √ |
员工表 | √ | |||
物品表 | √ | √ | ||
订单表 | √ | √ | √ | |
6 系统出错处理设计
6.1 出错信息
校园二手交易系统在出现可能的错误或故障情况时将输出相应的出错信息,包括出错信息的形式、含义和处理方法。
每种可能的出错或故障情况出现时,系统输出信息的形式、含意及处理方法:
出错信息 | 处理方法 |
用户名和密码错误 | 提示用户名或密码出错,请重新输入 |
新密码与确认新密码不同 | 提示新密码与确认密码不同 |
输入用户id含有非法字符 | 提示请输入整数 |
用户id输入为空 | 提示出错信息,返回重新输入 |
不合理的URL请求 | 提示错误,返回登录界面 |
数据访问量过大 | 返回请求失败信息 |
程序抛出异常 | 输入log日志中的错误信息 |
不能访问系统 | 重新启动应用服务 |
6.2 补救措施
校园二手交易系统出现故障时,可采取以下补救措施:
后备技术:建立备份数据以防止数据丢失,例如定期将数据记录到备份介质上。
降效技术:在系统故障时可以采用手工处理和人工记录等降低效率的方法来获取部分结果。
恢复及再启动技术:设计系统恢复和重新启动的方法,使软件能够从故障点恢复执行或重新运行。
6.3 系统维护设计
校园二手交易系统在设计过程中考虑了系统维护的方便性,包括在程序内部设置检查点和专用模块用于系统检查和维护。