IM聊实现客户端之间信息交互需求文档
需求分析说明书 |
HuaXinIM聊软件 |
|
潘浩 |
2016/5/6 |
一、引言
1.编写目的
HuaXinIM聊软件是基于TCP/IP协议和XMPP协议实现的一款聊天软件,主要基于华信内部教学大型通信项目学习,帮助学生更好的理解Socket编程、设计模式、数据库编程、和JavaAPI使用。
2.背景
随着互联网的兴起,聊天交流的方式变得多样化,当今许多企业开发满足自己需求的网络通讯工具,方便部门与部门,员工与员工,员工与领导之间的工作交流,华信科技为了巩固学员的知识和技术架构,设计了此软件,并提供学员小组开发练习。
3.参考资料
二、项目概述
1.项目目标
本项目立足于市场上比价火热的即时聊天软件QQ为原型,设计了一条自己的聊天软件模式,并提供了很大的发散空间,可以让学员添加更多的个性设计。
2.用户特点
本项目主要用于内部学习使用。
3.设计和实现的约束和限制
3.1.开发环境
该系统拟采用C/S结构,前台采用Java的Swing技术,后台采用Java的Socket技术和JDBC技术,并结合mysql数据库做数据存储。
3.2.运行环境
中文WINXP、WIN7、WIN8,1G以上内存,服务端需要运行mysql数据库。
3.3.条件和限制
由于当前项目仅仅只是用于内部学习和讨论研究,不涉及任何商业性质,所以开发者只需要严格按照项目需求的说明实现即可。
4.软件实现原则
根据软件工程规范和当前网站的要求和特点,系统开发得遵循以下原则.
实用性原则:开发的系统必须满足实用性的需求,做到实用方便、输入数据尽量小、界面直观、易学易用,不同业务之间界面转换速度快。
功能完整性原则:所提出的业务能够在计算机平台上完成,对于同一类型的业务,由于输入要求或地址模式等条件的不同,将设计不同的功能模块。
高性能原则:系统在性能上做到数据容量小、响应速度快、稳定性高、出错率低、容错性能好等优点。
数据安全性原则:安全性永远是数据处理的重要课题,必须采取多种措施保证数据库的安全。
美观化设计原则:在满足实用性的条件下,界面设计做到美观大方、大小适中、排列整齐、各种控制键的中文名字简单明了、不同业务甚至不同功能,有不同的界面。美观的界面配色柔和,减轻视觉疲劳,给用户一个良好的计算机工作环境,并不失政府威严。
统一性原则:建立同一合理的数据库模型,实行统一的文档编排和管理;实行统一的数据库关系名、后台文件名、函数名、变量名等;实行统一的编码风格。
系统的可扩展性原则:在满足当前开发学习的基础上,考虑今后系统需要新加功能,为系统的扩充预留接口。
三、具体需求
1.功能需求
系统功能分为:登陆注册、在线用户列表、聊天功能、表情发送、历史消息、文件发送、远程协助等功能。
结构图如下:
2.具体需求
2.1. 登陆注册
处理登陆流程
用例ID |
1 |
用例名称 |
用户登陆 |
创建者 |
小张 |
创建日期 |
2016-5-5 |
最后更新者 |
|
最后更新日期 |
|
主执行者 |
所有已经存在账户的客户 |
||
功能描述 |
软件登陆 |
||
前置条件 |
存在注册账号 |
||
业务规则 |
1.用户名必须正确 2.密码必须正确 3.可以用手机号、账号、邮箱登陆 4.提供IP和端口号的修改 |
||
其他需求 |
界面图片
|
||
流程图 |
|
处理注册流程
用例ID |
2 |
用例名称 |
用户注册 |
创建者 |
小张 |
创建日期 |
2016-5-5 |
最后更新者 |
|
最后更新日期 |
|
主执行者 |
所有需要执行注册的角色 |
||
功能描述 |
提供账号注册,为后续登陆提供前提 |
||
前置条件 |
无 |
||
业务规则 |
1.用户名2-10位的数字或者字符 2.用户名、密码、手机号、邮箱、性别不能为空 3.手机号码必须为11位的纯数字 4.邮箱格式***@***.com |
||
其他需求 |
界面图片
|
||
流程图 |
|
2.2. 好友列表
用例ID |
3 |
用例名称 |
好友列表 |
创建者 |
小张 |
创建日期 |
2016-5-5 |
最后更新者 |
|
最后更新日期 |
|
主执行者 |
登陆成功用户 |
||
功能描述 |
1.展示当前所有在线的用户 2.上线下线消息提示 |
||
前置条件 |
用户登录成功后进入的界面 |
||
业务规则 |
展示所有在线的用户,不在线的用户直接不展示 展示个人信息:用户名 好友信息:好友姓名、好友性别 |
||
其他需求 |
界面图片
|
||
流程图 |
|
2.3. 聊天功能
用例ID |
4 |
用例名称 |
聊天功能 |
创建者 |
小张 |
创建日期 |
2016-5-5 |
最后更新者 |
|
最后更新日期 |
|
主执行者 |
登陆成功用户 |
||
功能描述 |
1.聊天界面 2.发送消息、文件、表情、远程协助、历史消息 |
||
前置条件 |
用户登录成功后进入的好友界面,并选择指定好友 |
||
业务规则 |
选择界面指定功能,执行相应操作 |
||
其他需求 |
界面图片
|
||
流程图 |
|
2.3.1 聊天消息
用例ID |
5 |
用例名称 |
发送聊天消息 |
创建者 |
小张 |
创建日期 |
2016-5-5 |
最后更新者 |
|
最后更新日期 |
|
主执行者 |
登陆成功用户 |
||
功能描述 |
1.在输入框输入聊天内容,并点击发送,会发送消息出去 2.接收消息框,显示接收到的消息内容(包括好友的和自己的消息) |
||
前置条件 |
用户登录成功后进入的好友界面,并选择指定好友进入聊天界面 |
||
业务规则 |
接收消息显示框必须显示内容:用户名、接收日期、接收时间 |
||
其他需求 |
界面图片
|
||
流程图 |
|
2.3.2. 表情发送
用例ID |
6 |
用例名称 |
发送聊天消息 |
创建者 |
小张 |
创建日期 |
2016-5-5 |
最后更新者 |
|
最后更新日期 |
|
主执行者 |
登陆成功用户 |
||
功能描述 |
可以在发送窗口选择表情,并点击发送,接收端可以接收到消息 |
||
前置条件 |
用户登录成功后进入的好友界面,并选择指定好友进入聊天界面 |
||
业务规则 |
图片正常显示 |
||
其他需求 |
界面图片
|
||
流程图 |
|
2.3.3. 文件发送
用例ID |
7 |
用例名称 |
发送聊天消息 |
创建者 |
小张 |
创建日期 |
2016-5-5 |
最后更新者 |
|
最后更新日期 |
|
主执行者 |
登陆成功用户 |
||
功能描述 |
可以在发送窗口选择表情,并点击发送,接收端可以接收到消息 |
||
前置条件 |
用户登录成功后进入的好友界面,并选择指定好友进入聊天界面 |
||
业务规则 |
发送图片,对方会收到是否接收文件的请求,如果确认接收,则开始传输文件,否则,取消发送 |
||
其他需求 |
界面图片
|
||
流程图 |
|
2.3.4. 远程协助
用例ID |
8 |
用例名称 |
发送聊天消息 |
创建者 |
小张 |
创建日期 |
2016-5-5 |
最后更新者 |
|
最后更新日期 |
|
主执行者 |
登陆成功用户 |
||
功能描述 |
可以在发送窗口选择表情,并点击发送,接收端可以接收到消息 |
||
前置条件 |
用户登录成功后进入的好友界面,并选择指定好友进入聊天界面 |
||
业务规则 |
图片正常显示 |
||
其他需求 |
界面图片
|
||
流程图 |
|
2.3.5 历史消息
用例ID |
9 |
用例名称 |
发送聊天消息 |
创建者 |
小张 |
创建日期 |
2016-5-5 |
最后更新者 |
|
最后更新日期 |
|
主执行者 |
登陆成功用户 |
||
功能描述 |
可以在发送窗口选择表情,并点击发送,接收端可以接收到消息 |
||
前置条件 |
用户登录成功后进入的好友界面,并选择指定好友进入聊天界面 |
||
业务规则 |
图片正常显示 |
||
其他需求 |
界面图片
|
||
流程图 |
|
四、其它需求
1.外部接口需求
1.1.用户界面
对于网站,我们强调友好的人机交互界面的同时保证平台的严肃性,尽可能给用户提供简洁的流程操作和完善的功能。
1.2.软件接口
l Mysql数据库
l 操作系统:WinXP/Win7/Win8/Win10
2.性能需求
本系统在性能上尽量做到实时性强、数据容量小、响应速度快、稳定性高、出错率低、容错性好等优点。
2.1.灵活性
2.2.数据管理能力的需求
就目前来看,该软件数据量相对单一,后台数据处理相对教简单。
3.质量要求
3.1.安全性
在本系统的设置中,主要从一下几个方面考虑系统和数据的安全性:
满足速度要求下的少量原则:余量指的是逻辑上相同的数据,在不同的记录中重复出现,或在逻辑上能导出存在于数据库的记录中。从理论上讲,余量的存在,在数据库设计的不合理,是破坏数据库一致性的潜在危险,同时会增加数据空间开销。但是,在特殊情况下,为了满足速度要求,常常设计一些余量作为数据库的记录。当余量存在时,数据库一致性不能靠数据库管理系统来保证,只能通过开发软件的计算方法来解决,余量的存在,大大增加了系统的开发难度,所以余量是万不得已才能使用,使用时,在计算方法保证数据的一致性。