第二周(1) App模块划分与详细设计初步进行
引言
第二周我们组主要进行以上几方面的工作:
客户端的系统模块的划分客户端详细设计的初步进行接口文档的进一步确定用户界面设计的进行
作为客户端的开发者,我在这里主要对前两部分工作进行介绍。
客户端系统模块划分
在第一周我们组就对系统模块进行过划分,这周在讨论中我们觉得之前的划分太过冗杂,于是在这周我们对app重新进行了结构划分,确定了各个模块如下:
网络请求工具模块,封装了与服务器通信的方法
用户模块,功能包括
用户注册用户登录修改个人信息修改密码查找用户
社区模块,功能包括
添加好友确认添加好友改变备注我的朋友获得好友请求列表
用户Flag模块
创立Flag查看我的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.登录失败
活动图:
目前登录与注册逻辑设计已经完成,接下来我们会对其他的功能进行一一设计。
Read More