《 校友聊软件概要设计说明书》

1引言

1.1编写目的

本文档的目的是阐述校友聊聊天软件的概要设计。本概要设计说明书编写的目的在于全面说明校友聊聊天软件第一阶段中的设计考虑,包括程序系统的基本处理流程、程序系。

1.2背景

基于校园内网用户对流量的强大需求,以及考虑到其中一些特殊用户的日常需求,我们设计了校友聊这款基于局域网内的免流量聊天软件,它提供私聊和群聊两种方式,提供文件传输的功能,便于快捷的聊天和文件的传输。

2总体设计

在需求分析中,我们已经确定了校友聊聊天软件的功能模块,包括登录功能,注册功能,客户可以通过服务器转发,实现一对一和多对多聊天,客户端程序可以实时显示目前其它用户的状态,具有易用、美观的图形界面。

2.1需求规定

 

android 概要设计 竞标 app概要设计_服务器端

                        校友聊系统内容

理解需求是在问题及其最终解决方案之间架设桥梁的第一步。开发者只有和客户充分理解了需求之后才能开始设计系统,否则,对需求定义的任何改进,设计上都必须大量的返工。下面是我们对用户经过调研后得到的需求规格说明: 

(1) 系统为客户提供群聊功能:用户可以先通过登录界面进入聊天室主界面,点击搜索栏,输入群组号可直接搜索到基于这个聊天软件下的群组,点击添加即可申请加入群或组,成功申请之后就可以群聊了。

(2) 系统为客户提供语音和视频聊天功能:用户可以在聊天窗口中点击视频图标或语音图标按钮,即可以和好友进行视频或语音聊天;

(3) 系统为客户提供文件传输功能:用户点击文件传输图标后,即可选择相应的文件传输给好友或群组;

(4) 在系统中,界面显示:将在线好友显示在好友列表中;

(5) 系统为客户提供改变字体颜色和样式和表情库。

(6) 系统中,可以显示登陆用户的头像和昵称。

(7) 系统中,服务器端实现监听功能:监听所有本地连接到服务器上的客户端;

(8) 系统中,服务器端接受来自客户端的各种信息并分别处理;

(9)  系统中,检查登陆信息是否正确,并向客户端返回登陆信息,如信息正确。就将在线用户发给该用户,并将该用户的状态发给各在线用户。同时在服务器端和客户端显示出来;

(10)  系统的客户端在Windows平台下运行,服务器端可在Windows平台下运行。系统需要有较好的安全性和可扩展性,并提供简洁方便的图形用户界面。

2.2运行环境

运行环境主要包括开发软件和操作系统的选择。校友聊聊天软件配置要根据用户对系统的稳定性要求、系统的容量以及用户的维护水平来确定。

开发软件选择:我们使用的是Visual Studio 2010。

(2)操作系统选择Windows 8.1;

(3)开发语言:C#。

2.3基本设计概念和处理流程

本系统主要的处理流程如图:

 

android 概要设计 竞标 app概要设计_服务器端_02

  服务器端工作流程

 

android 概要设计 竞标 app概要设计_服务器端_03

客户端工作流程

2.4及时聊天系统的功能层次

 

android 概要设计 竞标 app概要设计_android 概要设计 竞标_04

校友聊的功能层次图

(1)客户端模块

本子系统主要完成对用户聊天的管理,如进行群聊,进行私聊,修改字体颜色,以及对头像的选择等。

①进行群聊:首先登录客户端系统,选择聊天对象,然后在发送信息的窗口编辑信息,点击发送按钮即可发送公开信息。

②进行私聊:选择聊天对象,然后在发送信息的窗口编辑信息或选择语音亦或视频图标便可进入相应的聊天模式,便可以随心所欲和好友进行聊天。

③显示在线列表:当用户上线时,在客户的用户列表上会显示出来。以便用户及时了解上线人的情况。

④选择头像:便于区分该用户是男性还是女性,用于显示用户的个性。

 ⑤提供表情库:在发送窗口发送信息时,在文本编辑框中可插入一系列的丰富表情,使用户传达的意思更诙谐幽默,促进人性化的交流。

⑥修改字体颜色:为了使聊天的内容易于区分,系统为用户提供了修改字体和颜色的功能 。

⑦保存聊天记录:记录用户聊天的内容,以便用到时能够查到。 

⑧文件传输:当用户发送大量信息或发送相关资料时,可以通过发送文件实现。 

(2)服务器端模块

①配置服务器:提供服务器IP和端口号,便于客户端进行连接。

②记录聊天记录:以便管理员了解用户的情况,禁止进行谈论不健康的内容。 

③显示在线列表:使管理员了解在线人的情况,以便对用户进行管理。

④统计在线人数:使管理员能够随时了解系统的负荷,便于对系统进行维护。

2.5功能器与程序的关系

(1)模块外部设计 

.登录模块:

输入:用户输入信息

输出:界面显示

2.发送模块:

输入:用户输入内容

输出:相应的信息

3.显示用户列表模块:

输入:用户输入的登录信息 输出:显示相应的信息

4. 系统操作模块:

输入:用户口令 输出:对话框

5.系统设置模块:

输入:用户的输入

输出:根据用户的输入显示相应的对话框

6.录入模块:

输入:相应的信息 输出:相应的结果 

7.修改模块:

输入:相应的信息 输出:相应的结果 

8. 删除模块:

输入: 相应的信息 输出: 相应的结果 

9. 退出模块:

输入:退出命令 输出:无

3运行设计

3.1运行模块组合

说明对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,说明每种运行所历经的内部模块和支持软件。

3.2运行控制

在客户端登录后直接进入主界面

通过菜单选择特定的视图(功能模块) 结束程序运行 。

3.3运行时间

本系统的各个模块之间功能是相互联系的,故各模块占用各种资源的时间是累计的,所以运行时间由用户的操作和网络的运行速度决定。

4系统数据结构设计

4.1逻辑结构设计要点

逻辑设计是系统中数据库设计的的重要步骤之一,其中罗列了文档需求分析中各种功能实现之间的本质关系,通过E-R图描述实例化了的文字抽象概念。以下针对本系统加以阐述其逻辑设计。

数据表中的基本数据结构:

 

android 概要设计 竞标 app概要设计_服务器端_05

 

4.2物理结构设计要点采用数组结构:

数据库结构的物理设计是对一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程主要设计表的结构,一般的试题对应于表,实体的属性对应于列,实体之间的关系为表的约束,逻辑设计中的实体大部分可以转化为物理设计中的表,但它们并不是一一对应的。

4.3数据结构与程序的关系

 

android 概要设计 竞标 app概要设计_android 概要设计 竞标_06

输入用户名和密码,若不匹配,返回结果到登录窗口,提示错误,相反登录成功。

5系统出错处理设计

5.1出错信息

(1)无法与服务器连接时,若不能够正确连接,则应做出正确处理。

(2) 根据不同的出错情况给出不同的出错信息,一般用对话框给出。 对一般错误,给用户提示信息,让用户重新输入或退出。

5.2补救措施

① 提示服务器积极拒绝信息。

②对一般错误,给用户提示信息,让用户重新输入或退出。

5.3系统维护设计

由于此项目比较小,除了严格按照软件工程的科学方法开发软件、认真建立文档、编码阶段写详细的注释外,没有特殊的维护设计,如:设置维护模块等。