引言
第二周我们组主要进行以上几方面的工作:
- 客户端的系统模块的划分
- 客户端详细设计的初步进行
- 接口文档的进一步确定
- 用户界面设计的进行
客户端系统模块划分
在第一周我们组就对系统模块进行过划分,这周在讨论中我们觉得之前的划分太过冗杂,于是在这周我们对app重新进行了结构划分,确定了各个模块如下:
网络请求工具模块,封装了与服务器通信的方法
用户模块,功能包括
- 用户注册
- 用户登录
- 修改个人信息
- 修改密码
- 查找用户
- 添加好友
- 确认添加好友
- 改变备注
- 我的朋友
- 获得好友请求列表
- 创立Flag
- 查看我的Flag
- 更新我的Flag
- 删除我的Flag
- 查看朋友的Flag
- 请求朋友监督自己的Flag
- 处理要求监督Flag的请求
- 评价朋友的Flag
- 查看朋友对自己Flag的评价
这四个模块各司其职,相互之间耦合度很低,模块较少并且能够很好的完成app的功能,在每个组件中,可能会有一系列小的组件,小的组件由大的组件来管理。
客户端初步详细设计
在详细设计的开始阶段,我们进行了登录与注册的逻辑交互设计:
注册
交互逻辑如下:
1.检查网络是否可用,不可用跳转到9
2.检查用户信息是否输入合法,不合法跳转到9
3.检查两次密码输入是否一致,不一致跳转到9
4.建立链表,将所有注册信息存入其中
5.调用网络工具类的相应接口,等待返回结果
6.判断返回结果是否成功,不成功跳转到9
7.验证返回的json数据是否正确,不正确跳转到9
8.注册成功,跳转到登录界面
9.注册失败
活动图如下:
登录
交互逻辑如下:
1.检查网络是否可用,不可用跳转到9
2.检查账户输入是否合法,不合法跳转到9
3.检查密码输入是否合法,不合法跳转到9
4.建立链表,将账户和密码存入其中
5.调用网络工具类的相应接口,等待返回结果
6.判断返回结果是否成功,不成功跳转到9
7.验证返回的用户数据是否为空,为空跳转到9
8.登录成功,跳转到主界面
9.登录失败
活动图:
目前登录与注册逻辑设计已经完成,接下来我们会对其他的功能进行一一设计。