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方面的需求.对借书者来说主要是查询个人信息.查询 ...
随机推荐
- CSS3基础01
一.选择器: 分为关系选择器 ,属性选择器 ,伪类选择器 1.1关系选择器 后代选择器 ul li 选择所有的后代元素 子代选择器 ul > li 选择ul的儿子 紧邻选择器 .b ...
- Android之使用Android-AQuery异步加载图片(一)
第一节:转载地址(http://www.cnblogs.com/lee0oo0/archive/2012/10/25/2738299.html) // 必须实现AQuery这个类 AQuery aq ...
- 移动端调试工具-Weinre
java版本安装和调试 首先需要下载 weinre, weinre目前支持Windows与MacOS, 本文中以Windows版为例. 下载地址:http://people.apache.org/~p ...
- ORACLE fetch bulk collect into limit
DECLARE TYPE rr IS REF CURSOR; TYPE r_emp IS RECORD( empno ), ename ), job ), mgr ), hiredate DATE, ...
- ios NSThred多线程简单使用
关于NSThred开启多线程的方法 - (void)performSelectorInBackground:(SEL)aSelector withObject:(id)arg [self perfor ...
- 为什么for(int i=0;i<9;i++) 在c语言中是错误的?
显示表示,i 变量不可以在for中定义,必须在外面定义,这是为什么? 因为C99标准以前的C标准是不支持临时变量在for循环中定义的. C99标准就支持这样写.但是目前有些编译器并不怎么愿意支持C99 ...
- java基础(1)-比较jdk5,jdk6,jdk7的新特性
jdk8已经出来好长时间了,这里自己学习时简单总结的jdk5,jdk6和jdk7的新特性:本文提纲: 一.jdk5的新特性 二.jdk6的新特性 三.jdk7的新特性 一.jdk5的新特性 首先简单介 ...
- JDBC连接数据库(SQLServer和MySQL)配置总结
[JDBC连接SQL Server] [准备工作] 1.下载Eclipse-JavaEE: 2.下载Tomcat8.0: 3.下载Microsoft JDBCDriver 4.1 for SQL Se ...
- [转载] 散列表(Hash Table) 从理论到实用(下)
转载自: 白话算法(6) 散列表(Hash Table) 从理论到实用(下) [澈丹,我想要个钻戒.][小北,等等吧,等我再修行两年,你把我烧了,舍利子比钻戒值钱.] ——自扯自蛋 无论开发一个程序还 ...
- [C#-SQLite] SQLite一些奇怪的问题
今天整C#的DAO层,我用的2013, 用的4.0的.NetFramework刚刚创建完Helper就出现异常 + Connection "helper.Connecti ...