软件工程需求设计说明书

news/2024/7/8 7:17:37

 

 

 

 

 

 

Java即时通聊天程序

设计需求说明书

 

 

专业班级:

计本班1202班

项目组成员:

杨宗坤

 

刘瑞

 

满亚洲

 

指导教师:

张利峰

开始日期:

 

完成日期:

 

 

 

 

 

 

 

 

 

 

编写目的:

本说明书是在充分理解系统需求分析基础上,为详细设计及编码设计准备的,是详细设计和系统编码的根据,同时也是与用户进行交流的文档之一。

 

背景:

在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,类似QQ等一类的聊天、文件传送系统的发展日新月异,应2015-2016学年第二学期《软件工程》课程要求,我小组(包括:满亚洲、杨宗坤、刘瑞)选择聊天程序作为我组的开发程序。 

网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯。网络编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。而TCP层则提供面向应用的可靠的或非可靠的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的。目前较为流行的网络编程模型是客户机/服务器(C/S)结构。即通信双方一方作为服务器等待客户提出请求并予以响应。客户则在需要服务时向服务器提出申请。服务器一般作为守护进程始终运行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响应该客户,同时自己继续监听服务端口,使后来的客户也能及时得到服务。

待开发软件系统的名称:聊天系统

此软件系统任务提出者:课程要求

此软件系统任务开发者:刘瑞、满亚洲、杨宗坤

 

 

 

参考资料:

《java2实用教程(第三版)》

 

功能简介 

 

 

              用户显示界面:可显示当前的在线用户,另有“刷新用户”

按钮,可刷新掉下线用户,上线用户则自动添加到在线组上。

 

聊天室登陆

(包括名字、

服务器、

端口的输入

和性别选择)

              聊天室界面:聊天室界面最上一栏菜单栏可设定聊天字体、样式、颜色、字号,下部分别为群聊天显示界面和私聊显示界面。下部分为聊天界面,右部分为文件传输界面。可实现功能包括群聊功能、私聊功能、截屏功能、文件传送功能。

 

 

 

用户的特点

本软件的最终用户为各类计算机使用者,主要是需要在局域网间频繁通信的用户,并且需要快速的传送不同类型文件,此软件可为这类用户提供很大便利。

系统运行环境

本软件可在正确安装jdk的系统环境下运行。

 

 

 

 

 

总体设计:

 

开发工具和平台:

jdk,eclipse、windows平台

 

程序名称:java聊天程序

编程语言:java

功能:群聊、私聊、文件传送、截图、改变字体属性。本软件为即时传送软件,可忽略延时,可以高速传送大容量文件。

 

 

基本设计思想和处理流程:

采用客户机/服务器(C/S)结构。即通信双方一方作为服务器等待客户提出请求并予以响应。客户则在需要服务时向服务器提出申请。服务器一般作为守护进程始终运行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响应该客户,同时自己继续监听服务端口,使后来的客户也能及时得到服务。

 

系统功能层次图

 

转载于:https://www.cnblogs.com/yzkblog/p/4420250.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pgtn.cn/news/15579.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

【C++】菱形继承

我们先来看下菱形继承的基本视图以及基本的代码结构 下面来看下简单的代码以及数据结构: class Person { public:int a_p; };class Studen :public Person { public:int a_st; };class Stuff :public Person { public:int a_sf; };class st_sf :public Stuff, publ…

ie旋转滤镜Matrix

旋转一个元素算是一个比较常见的需求了吧,在支持CSS3的浏览器中可以使用transform很容易地实现,这里有介绍:http://www.css88.com/archives/2168,这里有演示http://www.css88.com/tool/css3Preview/Transform.html,就不…

【C++】四种类型的转换

C四种类型的转换 包括这四种:const_cast , static_cast , dynamic_cast , reinterpret_cast 先来说下C语言中的类型转换,非常的暴力,就是耍流氓: float a 12.23; int b (int)a; 下面我写的都是最基础的,简单的&am…

【C++】满二叉树、完全二叉树等概念解释

二叉树中的判断有以下几种: 是否完全二叉树、是否满二叉树、是否为BST树、是否为平衡二叉树、是否为对称二叉树、完美二叉树 满二叉树: 除最后一层无任何子节点外,每一层上的所有结点都有两个子结点的二叉树。 上述所示图除最外一层节点之外…

【C++】多线程(链式、循环队列)实现生产者消费者模式

生产者消费者模式: 生产者消费者问题(英语:Producer-consumer problem),也称有限缓冲问题(英语:Bounded-buffer problem),是一个多线程同步问题的经典案例。该问题描述了…

添加引用方式抛出和捕获干净的WebService异常

转载:http://www.cnblogs.com/ahdung/p/3953431.html 说明:【干净】指的是客户端在捕获WebService(下称WS)抛出的异常时,得到的ex.Message就是WS方法中抛出的异常消息,不含任何“杂质”。 前提:…

基数排序(桶排序)

基数排序又叫桶排序: 先按照个位数排序,第一次排序好之后;再次按照十位数进行排序,第二次排序好之后;第三次对百位进行排序.................. 实现原理图:拿出一些个类似“桶”的东西 将分别按照个位&am…

如何用两个栈实现一个队列?

先看分析 来看代码,因为代码量巨大,其中包括两个头文件,两个实现函数 , 这块就写一个两个栈实现按一个队列的头文件以及函数名,填补代码不难的,有需要的话,我在评论区发出来: 这部分…