F.1 引言
F.1.1 编写目的
本详细设计说明书是针对电子科大校园地图(UESTC Campus Map)小程序的项目编写。目的是对该项目进行详细设计,在概要设计的基础上进一步明确系统结构,详细地介绍系统的各个模块,为进行后面的实现和测试做准备。本详细设计说明书的预期读者为本项目小组的成员以及对该小程序感兴趣,在以后想对系统进行拓展和维护的人员。
F.1.2 背景
说明:
a、待开发软件系统的名称:电子科大校园地图小程序(UESTC Campus Map)
b、本项目的任务提出者:金成哲,陆冠臣,罗子建
本项目的开发者:金成哲,陆冠臣,罗子建
本项目的用户:在校学生,教师,校园游客
本项目的计算中心:微信小程序
F.1.3 定义
(1) MVC Model View Controller ,是模型 ( model )-视图 ( view )-控
制器(Controller)的缩写。
(2) CURD 代表创建( Create )、更新 Update )、读取 Retrieve
和删除( Delete )操作。
(3) UCM 是 UESTC Campus Map 的简称。
F.1.4 参考资料
(1)《软件工程》(第三版)·钱乐秋等编著·清华大学出版社
(2)《设计模式之禅》)《设计模式之禅》(第二版)·秦小波著·机械工业出版社(第二版)·秦小波著·机械工业出版社
(3)《玩转DjangoDjango 2.0》·黄永祥著·清华大学出版社》·黄永祥著·清华大学出版社
(4)《数据库要求说明书》
(5)《数据库设计说明书》
(6)微信小程序开发文档
F.2 程序系统的结构
整体架构:整体架构设计演示如下:

名称 | 标识符 | 说明 |
客户端 | Client | 客户系统提供本地服务 |
服务端 | Server | 向客户端提供资源,保存客户端数据 |
数据库系统 | Database | 存储客户端资源及相关信息 |
本地操作系统 | Local operating system | 客户端提供交互界面的服务 |
电子科技大学统一身份认证系统 | Authentication system | 电子科技大学学生认证系统,提供学生认证平台 |
微信服务器 | Wechat server | 提供UCM的应用生态服务 |
微信小程序后台管理系统 | Miniprogram admin system | 小程序开发者管理小程序的版本更新及用户数据分析 |
客户端:采用 MVC 软件架构设计,框图演示如下

模型(即数据表):
名称 | 标记符 | 说明 |
标记点表 | Location | 记录校园地图的地点描述以及具体地理位置 |
功能表 | Function | 记录标记点的功能信息以及标签分类 |
轮播图表 | RollingImage | 记录某标记点的轮播图片 |
讨论表 | Discussion | 记录用户发布讨论的内容信息 |
评论表 | Comment | 记录用户参与评论的信息 |
用户表 | User | 记录用户登录账户以及学生认证等基本信息 |
控制:
名称 | 标记符 | 说明 |
网络请求 | Internet request | 提供连接服务,响应界面 |
存储处理 | Storage Processing | 根据存储请求,将相关数据存储到对应数据表 |
数据清洗 | Data cleaning | 根据内置算法设计,对数据表的数据进行再处理 |
视图:
名称 | 标记符 | 说明 |
地图界面 | Map | 根据不同校区的需要,提供地图的功能介绍 |
讨论界面 | Discussion | 给用户提供论坛讨论的服务,针对不同标记点发布讨论内容 |
功能界面 | Function | 给对应标记点提供不同的功能介绍 |
认证界面 | Authentication | 为区分不同用户,利用电子科大校园信息门户的平台,本小程序设计了一个校园身份认证的系统 |
历史关注界面 | Historical Concerning | 为方便用户查看以前参与的讨论与功能的建设,故提供历史关注的服务 |
轮播图界面 | Rolling Image | 为丰富用户对该标记点的认知与理解,提供对该标记点的轮播图展示服务 |
登录界面 | login | 用户首次登录小程序 |
服务端:

名称 | 标记符 | 说明 |
日志系统 | Logging System | 自动记录流式数据,各进程,异常信息 |
网络模块 | Network module | 提供连接服务 |
控制模块 | Controling module | 根据服务请求,进行不同模块的控制 |
数据库操作模块 | Database operation module | 写入,查询,修改或删除数据库的信息 |
F.3 网络模块
F.3.1 程序描述
网络模块主要是客户端对服务器的网络请求功能的模块化实现,整个客户端采用规范化的统一格式对服务器进行网络请求。主要是为了更好的鲁棒性以及可读性。
F.3.2 功能
功能范例:
功能 | 输入 | 输出 | 格式/请求 |
校园身份认证 | openid、学号、密码 | code、msg identity | json/POST |
微信登录 | code encryptedData iv | code、msg、uid uNickName、uavaUrl: | json/POST |
发布功能 | uid functionCode locationID | code msg uid identity datatype data:[ {functionID functioncontent functiondescription locationID locationdescription locationLatitude locationLongitude}] | json/POST |
发布讨论 | uid discussionCode locationID | code msg uid identity datatype data:[ discussionID presenttime locationID locationLatitude locationLongitude ] | json/POST |
评论他人 | uid uidor discussionID commentCode locationID | code msg datatype commentID | json/POST |
获取发布历史 | identity uid dataType | code msg uid identity: dataType data:[ discussionID discussionContent: locationID locationLatitude locationLongitude imgUrls:[ "https:********", ] ] | json/POST |
获取讨论列表 | locationID uid | code msg dataType data:[ { discussionID discussionCode discussioncontent: uNickName uavaUrl imgUrls:[] presenttime locationID locationLatitude locationLongitude: comment:[ {commentID commentcontent uNickName uorNickName}]}] | json/POST |
获取功能列表 | uid locationID dataType | code msg data:[{ functionID: functionCode functioncontent functiondesription: locationID locationLatitud locationLongitude: }] | json/POST |
获取轮播图 | uid string dataType | code msg imgUrls:[ "https://123.png", "https://124.png",] | json/POST |
获取所有标记点 | uid dataType: | code msg locationID:[] | json/POST |
删除 | dataType uid dataType uid | code msg: | json/POST |
F.3.3 性能
运行 | 模块组合 | 响应时间(ms) |
校园身份认证 | 网络模块、数据库模块 | 1000 |
微信登录 | 登录模块、数据库模块、网络模块 | 500 |
发布功能 | 功能模块、数据库模块、网络模块 | 200
|
发布讨论 | 数据库模块、讨论模块 | 1000 |
评论他人 | 数据库模块、讨论模块、评论模块、网络模块 | 200
|
获取发布历史 | 数据库模块、讨论模块、评论模块、功能模块、网络模块 | 1000 |
获取讨论列表 | 数据库模块、讨论模块、评论模块、网络模块 | 1000
|
获取功能列表 | 功能模块、网络模块、数据库模块 | 300 |
获取轮播图 | 轮播图模块、数据库模块、网络模块 | 1000+ |
获取所有标记点 | 数据库模块、网络模块、标记点模块 | 200 |
删除 | 所有模块 | 100
|
添加标记点 | 数据库模块、网络模块、标记点模块 | 200
|
F.3.4 输入项
输入输出等参考功能F.3.2;
安全保密:对请求数据进行签名,防止非法请求和重放攻击,同时,对用户敏感数据进行加密;
F.3.5 输出项
输入输出等参考功能F.3.2;
安全保密:对请求数据进行签名,防止非法请求和重放攻击,同时,对用户敏感数据进行加密;
F.3.6 算法
- API接口防止重放攻击和第三方滥用攻击算法:
算法示例:
字段名 | 类型 | 含义 | 必填 | 备注 |
a | text | 请求的字段 | True |
|
b | text | 请求字段 | True |
|
appKey | text | 客户端应用标识 |
版权声明 即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。
最新资讯
|













