一、 引言
1.1 目的
该文档试图从总体架构上给出整个系统的轮廓,同时对功能进行了详细的描述。便于用户、开发人员进行理解和交流,反映出用户问题的结构,可以作为软件开发工作的基础和依据以及确认测试和验收的依据。
本文档面向多种读者对象:
- 项目经理:项目经理可以根据该文档了解预期产品的功能,并据此进行系统设计、项目管理。
- 设计员:对需求进行分析,并设计出系统,包括数据库的设计。
- 程序员:了解系统功能,编写《用户手册》。
- 测试员:根据本文档编写测试用例,并对软件产品进行功能性测试和非功能性测试。
- 用户:了解预期产品的功能和性能,并与分析人员一起对整个需求进行讨论和协商。
1.2 背景
本次待开发的软件为“小世界”App。
- 你自己的小世界 这里记录着你的行踪与游历。
- 你周围的小世界 动态功能可以让你看到你周围的新鲜事 你与周围紧密连接 于是天地虽大 但世界很小
介绍:
- 用户通过使用本App,可以在旅行的过程中通过用户友好的App功能实现对旅行过程中的所见所闻以及个人的心得体会,还可以实现上传图片进行分享、点亮地图、路线规划、天气提醒等功能。
- 系统后台管理人员通过在数据库方面对地图、交通、天气等信息实时进行管理和监视,保证信息的准确性与实时性。
1.3 定义
序号 | 缩写 | 定义 |
---|---|---|
1 | App | 应用程序,Application的缩写,一般指手机软件。 |
2 | Android | Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。 |
1.4 参考文献
[1] GB-T8567-2006,《计算机软件文档编制规范》[S]
[2](美)Roger S.Pressman著,郑人杰等译.软件工程[M].第七版.北京:机械工业出版社,2011.
二、 模块说明
2.1 登陆模块
输入用户名和密码即可登录,若为游客,可以注册新账户,还可以用微信、QQ、新浪账户注册。登录成功后跳转至关注页面。
目前的情况
2.2 笔记模块
编辑文字和添加图片,然后可以发布
现在的进度,正在尝试连接数据库
2.3 主页模块
包含个人动态、时光轴和关于我三个界面。点击右上角图标可进入设置界面。
目前的界面,正在尝试连接到数据库获取数据
2.4 地图模块
可以点亮地图、查询地图信息,目前的界面:
2.5 聊天模块
接收私信,向互相关注的用户发起聊天。待实现。
三、 模块设计
3.1 类图
3.2 用例图
用户用例:
- 通过手机验证码注册账号;
- 输入密码,登录账号,如忘记密码可以通过手机找回;
- 使用其他用户登录;
- 关于我;
- 个人信息的修改;
- 时光轴;
- 发布动态,包括:添加文字、添加地点、添加图片、设置查看权限等;
- 发现功能,用户可以查看其他用户的动态;
软件管理人员用例:
- 对用户登录以及注册信息放入数据库;
- 实时对数据进行监控和更新;
- 定期对App进行维护和更新;
- 定期发送消息通知给用户
3.3 时序图
编辑笔记:
收发私信:
修改信息:
用户查看主页和关注:
用户申请旅行规划:
3.4 功能设计
测试功能 | 测试项 | 操作 | 检验点 | 预期结果 |
---|---|---|---|---|
登录功能 | 登录动作 | 输入信息错误或无输入 | 错误提示 | 提示输入正确用户名和密码 |
输入正确账号密码 | 提示登入并跳转到主界面 | 跳转到个人主页界面 | ||
注册功能 | 注册动作 | 注册 | 注册 | 跳转到注册界面 |
底部导航功能 | 点击按钮导航 | 点击按钮 | 能否跳转到正确页面 | 跳转到正确页面 |
个人主页界面 | 点击导航按钮 | 点击按钮 | 能否跳转到正确页面 | 跳转到正确页面 |
设置按钮 | ||||
时光轴界面 | 时光轴 | 是否按时间时间顺序显示日志 | 显示正常 | |
关于我界面 | 我的足迹 | 是否标记了已游览过的地方 | 标记成功 | |
设置界面 | 点击各选项 | 点击按钮 | 能否跳转到正确页面 | 正常跳转 |
修改信息 | 修改已有信息并保存 | 保存修改信息 | ||
账号管理界面 | 增添删除账号 | 点击按钮 | 是否增添/删除此账号信息 | 增添/删除成功 |
退出登录 | 点击按钮 | 是否退出此账号 | 退出成功 | |
修改密码界面 | 修改密码 | 输入 | 判断是否输入正确旧密码 | 输入正确旧密码 |
点击修改确定按钮 | 是否成功修改密码 | 密码修改成功并保存 | ||
隐私界面 | 修改个人隐私权限 | 点击按钮 | 是否成功修改个人隐私 | 隐私设置成功并保存 |
添加记录界面 | 发布日志 | 输入 | 将输入内容存入数据库 | 存入数据库 |
discover页面 | 搜索 | 输入 | 显示与搜索有关的日志 | 显示正确 |
关注、点赞、收藏 | 点击按钮 | 在关注、点赞与收藏表新建数据库元组 | 存入数据库 | |
发布评论 | 输入 | 将输入内容存入数据库 | 存入数据库 | |
Home界面 | 展示已关注人员的旅行日志 | 显示已关注人员的旅行日志 | 显示正确 | |
收藏 | 点击按钮 | 在收藏表新建数据库元组 | 存入数据库 | |
发布评论 | 输入 | 将输入内容存入数据库 | 存入数据库 | |
私信界面 | 展示朋友的信息,点击跳转到私聊界面 | 点击 | 跳转到具体私聊界面 | 跳转成功 |
3.5 数据库设计
用户个人信息:
中文名 | 字段名 | 数据类型 | 是否主键 | 描述 |
---|---|---|---|---|
用户编号 | UserId | integer | 是 | 用户的唯一标识符,系统自动按序生成。 |
用户名 | Name | varchar | ||
密码 | Password | varchar | ||
自我介绍 | UserInfo | varchar | 用户的自我介绍。可空。 | |
性别 | Sex | char | 用户性别。 | |
头像图片 | Head | varchar | 用户头像图片url。可空。 |
旅行日志记录:
中文名 | 字段名 | 数据类型 | 是否主键 | 描述 |
---|---|---|---|---|
文章编号 | PassageId | integer | 是 | 文章的唯一标识符,系统自动按序生成。 |
文字内容 | Content | text | 文章的文字内容。 | |
图片路径 | PostImgPath | varchar | 图片路径(对每一个用户建立一个文件夹,存储图片)。可空。 | |
发布时间 | PostTime | datetime | 文章的发布时间。 | |
修改时间 | ChangeTime | datetime | 文章最新一次的更改时间,可空。 | |
发布地点 | PostPlace | varchar | 文章的发布地点。 | |
点赞数 | LikeNumber | integer | 文章的点赞数。 | |
评论数 | CommentNumber | integer | 文章的评论数。 | |
收藏数 | CollectNumber | integer | 文章的收藏数。 |
标签
中文名 | 字段名 | 数据类型 | 是否主键 | 描述 |
---|---|---|---|---|
标签名 | TagName | char | 是 | (文章,标签)的标识符。 |
文章编号 | TagPassageId | integer | 是 | (文章,标签)的标识符。 |
社交平台:
点赞
中文名 | 字段名 | 数据类型 | 是否主键 | 描述 |
---|---|---|---|---|
点赞用户编号 | LikeUserId | integer | 是 | 评论的用户的唯一标识符。 |
点赞文章编号 | LikePassageId | integer | 是 | 被评论的文章的唯一标识符。 |
评论
中文名 | 字段名 | 数据类型 | 是否主键 | 描述 |
---|---|---|---|---|
评论内容 | CommentText | text | ||
评论时间 | CommentTime | datetime | 主键 |
收藏
中文名 | 字段名 | 数据类型 | 是否主键 | 描述 |
---|---|---|---|---|
收藏用户编号 | CollectUserId | integer | 是 | 收藏的用户的唯一标识符。 |
收藏文章编号 | CollectPassageId | integer | 是 | 被收藏的文章的唯一标识符。 |
收藏时间 | CollectTime | datetime |
关注
中文名 | 字段名 | 数据类型 | 是否主键 | 描述 |
---|---|---|---|---|
关注编号 | FollowId | integer | 是 | 关注的唯一标识符。 |
关注用户编号 | FollowUserId | integer | 关注的用户的唯一标识符。 | |
被关注用户编号 | BeFollowUserId | integer | 被关注的用户的唯一标识符。 |