解密陌生人(2)

续(1)
第三章 概要设计
3.1系统主要功能部分组成
3.1.1服务器端
使用MINA框架;
PBE对称加密方式;
监听客户端的请求。
3.1.2客户端
注册;
登录;
用户管理;
聊天;
陌生人管理。
3.2系统总模块图

图3.1 服务器模块图

图3.2 客户端模块图
3.3模块间功能关系
3.3.1服务器端模块
3.3.1.1用户定位模块
功能:判断用户是否开启定位功能,反馈给查找好友的用户一公里内的开启定位功能的陌生人头像。
目标:当用户开启定位功能,服务器会接受其当前的坐标,当有用户请求查找好友时,服务器会把所有开启定位功能的用户坐标与查找的用户作比较,凡是在其一公里内的陌生人都会显示在请求用户的地图上。
3.3.1.2信息识别转发模块
功能:服务器将用户发送的信息接收、分析、存储并转发到目标用户。
目标:服务器定义一个用于存储要求请求连接用户的端口号以及该端口客户发送的信息的数组,该数组服务器、客户端共享,服务器将发送端的基本信息存储,目的端可以读取该信息,从而实现信息转发。
3.3.2客户端模块
3.3.2.1用户注册模块
功能:实现用户账号的注册
目标:通过用户端的一个线程与服务器数据库连接,用户输入创建的用户名、密码,若通过合法性检测,则将该用户注册的信息写入后台数据库
3.3.2.2用户登录模块
功能:实现用户登陆。
目标:用户输入用户名、密码并点击登陆,服务器端接收用户端登陆请求,存储请求信息,并进行检验,如果通过合法性检测则进入聊天主界面。
3.3.2.3用户信息管理
功能:用户个人信息修改和个性化设置
目标:修改用户的昵称、性别、生日、密码、头像;是否开启声音、震动、位置信息。
3.3.2.4聊天模块
功能:聊天
目标:用户通过点击列表里的陌生人进入聊天框,通过语音、文字、图像等交流。
3.3.2.5陌生人管理
功能:陌生人的查找、添加。
目标:查找陌生人,在地图上显示昵称、点击“昵称”后进入解密游戏界面,完成游戏查看陌生人信息并选择是否添加好友。
3.4工作流程
服务器端流程包括:启动服务器,进入监听,判断注册或是登录,会话管理,加密数据,结束;
客户端流程包括:启动客户端,用户注册,用户登录,功能选择;
解密陌生人(2)_第1张图片

图3.3 服务器端流程图

图3.4客户端流程图

3.5系统数据结构设计
解密陌生人(2)_第2张图片
图3.5系统数据图
allocate_id 是allocation_id表中的主键,是imomo_clients和friend_list表的外键。用于分配id。
imomo_clients用户信息表,包括用户id、邮箱、昵称、密码等信息。
friend_list是好友列表,包括用户id和好友id。

你可能感兴趣的:(Android开发)