3.SRS文档
- 1.功能需求
本程序的使用者为局域网用户。程序实现的主要功能是局域网的常见格式的文件的传
输。其用例图如图1。本程序可通过可视化操作界面实现一对多的文件传输。

- 1.1模块分析
为实现局域网文件传输, 该程序具体可分为4部分:
(1) 文件
主要功能包括对文件名、文件路径以及文件大小的设置与获取。
(2) 服务端
提供对方与本地连接的套接字,响应对方连接的请求,通过网络通信,处理接收文件的过程。
(3) 客户端
通过IP地址和端口号向目标主机发送连接请求,通过网络通信,处理发送文件的过程。
(4) 用户界面
给用户提供友好的图形化的界面,响应用户的操作。包括与目标主机的连接、发送文件、选择文件、接收文件、消息提示等几部分。


- 2.概要设计

流程时序图
| 简要说明 | 整个软件的工作流程 | |
| 前置条件 | 系统网络处于同一个局域网,并且双方都安装此软件 | |
| 后置条件 | 成功后置条件 | 监听网络对方用户的行为 |
| 失败后置条件 | 监听本机用户的行为 | |
| 角色 | 局域网内的用户 | |
| 触发条件 | 双方都安装此软件并且,都输入对方IP,软件处于网络监听状态 | |
| 基本事件流描述、步骤 | 用户输入对方IP,成功连接(对方输入本机Ip),即可选择发送对话,发送文件操作,对方接收对话或文件,用户接收文件,软件开始保存文件。 | |
| 备选事件流、步骤 | 对方拒接接收文件,本机返回状态信息,取消文件发送。 | |
- 2.1协议实现过程
TCP协议工作流程:

UDP协议工作流程:

- 2.2聊天功能的流程设计
采用DUP协议设计即时聊天功能在即时聊天功能中设计了一个发送端和一个接收端发送端和接收端处于同一个平台中为了使通信双方能够造一次连接中进行多次通信在接收端采用了多线程实现多次通信。在通信建立的时候通信的发起方首先填写通信的ip地址和port端口然后发送消息给接收者。接受者需要在同样的端口上等待发起者的信息。
发送端:

接收端:

- 2.3文件传输功能实现流程
使用TCP协议实现文件传输功能在文件传输开始时由发送方给接收方发送一个消息消息内容为待发送文件的文件名和长度。接收端收到后判断是不是传送的文件如果是传送的文件接收方择是否接收文件。然后开始传输文件文件传输完成后自动关闭服务器端和客户端。
发送端:

接收端:

3.SRS文档的更多相关文章
- SRS文档
1什么是用例? 在介始用例方法之前,我们首先来看一下传统的需求表述方式-"软件需求规约"(Software Requirement Specification).传统的软件需求规约 ...
- 图书馆管理系统 SRS文档
图书馆管理系统 SRS文档 编写人:魏晓 日期:2015年05月27日 1介绍 1.1编写目的 图书管理系统需求规格说明书是为了让系统的涉众就该系统的需求达成一致认可,明确该系统的需求,为后续的开发工 ...
- 团队作业:SRS文档-飞机大战
本实验为团队合作项目作业的一部分:SRS文档-飞机大战 项目分工:SRS文档项目为梁JM负责完成 实验要求: 3.SRS文档(第二周,截止5月31日) 要求对所选项目进行用例 ...
- 五子棋游戏SRS文档
SRS技术文档,包括对SRS的解释说明.SRS描述规范.软件需求规格说明书(SRS,Software Requirement Specification)是为了软件开发系统而编写的,主要用来描 ...
- SRS文档 王倩倩 201303014004
设计阶段 Spec 图书管理系统functional spec:软件功能说明书, 主要用来说明软件的外部功能, 和用户的交互情况 (把软件当作一个黑盒子).从用户的角度描述软件产品的功能, 输入,输出 ...
- SRS文档 软件需求说明书
[摘要] 随着信息时代科技的飞速发展,经济全球化已广为人知,英语作为全球最主要的语言之一,受到越来越多的人的喜爱,不仅为了增长知识,也为了能适应社会发展的需求.但是,学英语最重要的事首先是积累词汇,没 ...
- 团队第二周:SRS文档
项目计划: 对于这次的实验,我们组计划进行一个图书管理系统的项目书写,在第一阶段,对该项目先进行一下规划,总结该项目的注意事项以及实验要求,并加以实施. 下面我先对我们项目的要求坐一下说明: 1定义五 ...
- 团队作业-第二周-SRS文档
移动课堂点名的用例图:
- 团队项目 SRS文档
一:实验内容:用例模型的建立 简介: 图书管理系统是使用计算机实现图书大量信息处理的电子档案管理系统,在本系统中主要满足借书者.图书管理员和系统管理员3方面的需求.对借书者来说主要是查询个人信息.查询 ...
随机推荐
- call_user_func函数
<?php function funa($b,$c) { echo $b; echo $c; } call_user_func('funa', "111","222 ...
- Continue To DO!
(1)Valid Anagram 解题思路: 使用一个数组,首先遍历S相应位置加1,然后遍历T,判断此时如果相应位置为零返回FALSE,否则就减一.T遍历完毕后返回true. 代码如下: public ...
- 如何扫描二维码下载APK
将apk文件放到网站上,即用户可以通过www.xxx.com.cn/abc.apk直接下载 再www.xxx.com.cn/abc.apk这个字符串做成二维码就可以了. 问题: 直接放到网站后,输入下 ...
- struts1 html: textarea 不换行,变形
<html:textarea property="summary" style="word-wrap:break-word;word-break:break-all ...
- 【golang】go语言,进行并发请求的wrap变参封装
package main import ( "fmt" "sync" "time" ) type WaitGroupWrapper stru ...
- -Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variable
在 myEclipse 中 需要配置 解决方法: window --> preferences --> java --> installed JREs 设置 Default VM A ...
- locutus(phpjs) 的使用
今天来介绍一个js的框架,这个框架的主要功能呢,是通过加载该类库,来实现php函数的调用 当然了,这并不是说php中所有的函数都能在js中使用,但很大一部分是可以的. 环境:mac + node v5 ...
- 复利test
因为上节课老师有给我们讲了单元测试的概念及其基本操作,我就对我之前的复利计算器进行了改进和测试.因为从控制台的简单输入输出对单元测试来说不够完善,便参考了其他同学的优秀编程又重新写了一个复利计算器的框 ...
- SSH Secure Shell Client中文乱码的解决办法
#vi /etc/sysconfig/i18n 将内容改为 LANG="zh_CN.GB18030" LANGUAGE="zh_CN.GB18030:zh_CN. ...
- js-事件、正则表达式
AddEventListener()之中有三个参数,分别是(1)事件的名称(注:不要加on,例:click才是点击事件的名称)(2)需要执行的function(){} (3)布尔类型(false表示的 ...