在这两天的工作中,我所在的小组开始考虑到进一步细化系统设计,并开始进行详细设计。这几天我们小组主要针对了以下几点进行了讨论:
- 用户端的系统模块的划分
- 用户端详细设计的初步进行
- 接口文档的进一步确定
- 用户界面设计的进行
在这里,我对自己最主要参与的部分,即用户端的系统设计和初步的详细设计做一个着重的介绍。
一、用户端系统设计
- 网络请求工具模块,封装了与服务器通信的方法
- 用户模块,功能包括
- 用户注册
- 用户登录
- 修改个人信息
- 修改密码
- 查找用户
- 社区模块,功能包括
- 添加好友
- 确认添加好友
- 改变备注
- 我的朋友
- 获得好友请求列表
- 用户Flag模块
- 创立Flag
- 查看我的Flag
- 更新我的Flag
- 删除我的Flag
- 社区Flag模块,主要功能有
- 查看朋友的Flag
- 请求朋友监督自己的Flag
- 处理要求监督Flag的请求
- 评价朋友的Flag
- 查看朋友对自己Flag的评价
可以看到,这四个模块的功能基本已经包括了系统的全部功能,并且这四个模块之间的关系并不紧密,这满足了模块间低耦合的要求;单个模块的功能比较单一,这满足了模块内高内聚的要求。且模块数量不多,便于管理。如果认为单个模块的功能还是偏于复杂,可以进行二次划分,进行简化。
二、用户端初步详细设计
现在用户端的详细设计已经初步开始,现已完成了登录和注册的详细设计。伪代码如下:
注册:
1.检查网络是否可用,不可用跳转到9
2.检查用户信息是否输入合法,不合法跳转到9
3.检查两次密码输入是否一致,不一致跳转到9
4.建立链表,将所有注册信息存入其中
5.调用网络工具类的相应接口,等待返回结果
6.判断返回结果是否成功,不成功跳转到9
7.验证返回的json数据是否正确,不正确跳转到9
8.注册成功,跳转到登录界面
9.注册失败
画出的UML活动图如下所示
登录:
1.检查网络是否可用,不可用跳转到9
2.检查账户输入是否合法,不合法跳转到9
3.检查密码输入是否合法,不合法跳转到9
4.建立链表,将账户和密码存入其中
5.调用网络工具类的相应接口,等待返回结果
6.判断返回结果是否成功,不成功跳转到9
7.验证返回的用户数据是否为空,为空跳转到9
8.登录成功,跳转到主界面
9.登录失败
画出的UML活动图如下所示
目前在客户端的方面,已经完成了注册和登录两个最基本的功能的详细设计,经过初步的审阅,没有发现问题,其他功能的详细设计也在不断跟进之中。
至于接口文档和用户界面设计的部分,因内容较多,在这里不再赘述,详见项目博客。