终于放假啦~之前学习太忙很多知识点都没有写博客,可能自己学会了但没有分享给大家,接下来几天我可能把一些学过的东西整理成博客发出来供大家相互学习交流。




需求分析说明书

HuaXinIM聊软件

潘浩

2016/5/6

一、引言
2

1.编写目的
2

2.背景
3

3.参考资料
3

二、项目概述
3

1.项目目标
3

2.用户特点
3

3.设计和实现的约束和限制
3

3.1.开发环境
3

3.2.运行环境
3

3.3.条件和限制
4

4.软件实现原则
4

三、具体需求
4

1.功能需求
4

2.
具体需求
5

2.1.
登陆注册
5

2.2.
好友列表
7

2.3.
聊天功能
8

四、其它需求
14

1.外部接口需求
14

1.1.用户界面
14

1.2.软件接口
14

2.性能需求
14

2.1.灵活性
14

2.2.数据管理能力的需求
14

3.质量要求
14

3.1.安全性
14

3.2.可维护性
15

3.3.可靠性
15

一、引言

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.安全性

在本系统的设置中,主要从一下几个方面考虑系统和数据的安全性:

满足速度要求下的少量原则:余量指的是逻辑上相同的数据,在不同的记录中重复出现,或在逻辑上能导出存在于数据库的记录中。从理论上讲,余量的存在,在数据库设计的不合理,是破坏数据库一致性的潜在危险,同时会增加数据空间开销。但是,在特殊情况下,为了满足速度要求,常常设计一些余量作为数据库的记录。当余量存在时,数据库一致性不能靠数据库管理系统来保证,只能通过开发软件的计算方法来解决,余量的存在,大大增加了系统的开发难度,所以余量是万不得已才能使用,使用时,在计算方法保证数据的一致性。

3.2.可维护性

3.3.可靠性

IM聊实现客户端之间信息交互需求文档的更多相关文章

  1. 如何写出好的PRD(产品需求文档)(转)

    作者:Cherry,2007年进入腾讯公司,一直从事互联网广告产品管理工作,目前在SNG/效果广告平台部从事效果广告的产品运营工作. PRD(Product Requirement Document, ...

  2. 产品需求文档(PRD)的写作方法之笔记一

    1.写前准备(思维导图): http://www.woshipm.com/?p=80070 1.在写之前,请先很区分清楚什么是MRD文档(市场需求文档),BRD文档(商业需求文档),什么是PRD文档( ...

  3. [转]产品需求文档(PRD)的写作

    产品需求对产品研发而言非常重要,写不好需求,后面的一切工作流程与活动都会受到影响.转载一篇文章,关于产品需求文档写作方面的,如下: 本文摘自(一个挺棒的医学方面专家):http://www.cnblo ...

  4. Android APP开发需求文档范本

    Android  APP开发需求文档范本 软件需求文档格式的标准写法 1.引言 1.1 编写目的 • 阐明开发本软件的目的: 1.2 项目背景 • 标识待开发软件产品的名称.代码: • 列出本项目的任 ...

  5. 产品需求文档 PRD

    第一轮: 1,文档使用方:UI设计师 2.内容:       根据战略层定义出来产品功能范围,       说明此产品的目的,方便UI设计人员更好的理解产品       产品基本流程       详细 ...

  6. 优质产品需求文档(PRD)写作三大原则

    在上一篇文章中有介绍,产品经理的两项主要职责包括:对产品机会进行评估,以及对开发的产品进行评估.而定义即将开发上线的产品,则需要借助产品需求文档,来进行产品的特征和功能描述.PRD文档的写作会因公司. ...

  7. 产品需求文档(PRD)的写作 【转】

    产品需求文档(PRD)的写作   一.文章的摘要介绍 无论我们做什么事都讲究方式方法,写产品需求文档(以下称PRD文档)也是如此,之前我通过四篇文章分享了自己写PRD文档的一些方法,而这一篇文章主要是 ...

  8. app开发需求文档怎么写

    我们在开发app前都会做需求分析,这个app开发需求文档怎么写呢?一般可以从这几点入手:确定APP方案的目标,APP方案的受众分析,APP开发方案功能设计,APP的操作系统说明方案,APP是是否是原生 ...

  9. 使用Try.NET创建可交互.NET文档

    原文地址:Create Interactive .NET Documentation with Try .NET 原文作者:Maria 译文地址:https://www.cnblogs.com/lwq ...

随机推荐

  1. 慕课网4-2 编程练习:jQuery祖先后代选择器小案例

    4-2 编程练习 结合所学的祖先后代选择器,实现如下图所示效果 任务 (1)使用祖先后代选择器将第二段文字背景色变成红色 (2)使用jQuery的.css()方法设置样式,语法css('属性 '属性值 ...

  2. Python之列表生成式、生成器

    列表生成式 ——可以快速生成list,可以通过一个list推导出另一个list,而代码却十分简洁: >>> [x * x for x in range(1, 11)] [1, 4, ...

  3. linux学习之路1 Linux系统安装

    VMware workstation虚拟器 网上下载VMware workstation,然后安装任一系统的linux系统,不过选的系统一定要跟你下载好的linux镜像保持一致,博主装的是Red Ha ...

  4. 为WebSphere Application Server v8.5安装并配置JDK7

    IBM WebSphere Application Server v8.5可以同时支持不同版本的JDK共存,并且可以通过命令设置概要文件所使用的JDK版本.WAS8.5默认安装JDK6,如果要使用JD ...

  5. virtualwrapper使用

    1.创建: mkvirtualenv 虚拟环境目录 2.查看虚拟环境 workon lsvirtualenv 3.进入虚拟环境 workon 虚拟环境目录 4.退出虚拟环境 deactivate 5. ...

  6. C#,VB.NET将PPT文档转换为HTML

    PPT文档主要用于展示,有时候我们需要将PPT文档转换为HTML格式方便查看.本文将介绍如何使用C#和VB.NET将PPT文档转换为HTML格式.该方案使用了.NET PowerPoint 组件Spi ...

  7. Java图片上查找图片算法

    之前用按键精灵写过一些游戏辅助,里面有个函数叫FindPic,就是在屏幕范围查找给定的一张图片,返回查找到的坐标位置. 现在,Java来实现这个函数类似的功能. 算法描述: 屏幕截图,得到图A,(查找 ...

  8. Java 基础入门随笔(11) JavaSE版——继承、覆盖、抽象类

    1.面向对象的特征二:继承 定义: 指一个对象直接使用另一对象的属性和方法. 继承好处: 1.提供代码的复用性. 2.让类与类直接产生了关系,给第三个特征多态提供了前提. java中支持单继承.不直接 ...

  9. Codeforces_768_D_(概率dp)

    D. Jon and Orbs time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...

  10. creator游戏开发基本语法

    写的比较杂乱,类似随笔,随时可能往里面添加修改给lable文本赋值: this.ScoreNumber.getComponent(cc.Label).string = GAME_DATE.MMscor ...