基于SOCKET的大文件批量传输系统的设计与实现_第1页
基于SOCKET的大文件批量传输系统的设计与实现_第2页
基于SOCKET的大文件批量传输系统的设计与实现_第3页
基于SOCKET的大文件批量传输系统的设计与实现_第4页
基于SOCKET的大文件批量传输系统的设计与实现_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2008届学生毕业设计(论文)材料(四)序号学 生 毕 业 设 计(论 文)课题名称基于SOCKET的大文件批量传输系统的设计与实现姓 名学 号院、系、部计算机科学系专 业计算机科学与技术指导教师2008年 5 月 25 日基于SOCKET的大文件批量传输系统的设计与实现(湖南城市学院计算机科学系,413000)摘要:Socket 在英文中是插座的意思,它的设计者实际上是暗指电话插座。因为在Socket 环境下编程很像是模拟打电话,Internet 的IP 地址就是电话号码,要打电话,需要电话插座,在程序中就是向系统申请一个Socket ,以后两台机器上的程序“交谈”都是通过这个Socket

2、来进行的。对程序员来说,也可以把Socket 看成一个文件指针,只要向指针所指的文件读写数据,就可以实现双向通信。利用Socket 进行通信,有两种主要的方式。第一种是面向连接的流方式。顾名思义,在这种方式下,两个通信的应用程序之间先要建立一种连接链路,其过程好像在打电话。一台计算机(电话)要想和另一台计算机(电话)进行数据传输(通话),必须首先获得一条链路,只有确定了这条通路之后,数据 通话)才能被正确接收和发送。这种方式对应的是TCP ( Transport Control Protocol )协议。第二种叫做无连接的数据报文方式,这时两台计算机像是把数据放在一个信封里,通过网络寄给对方,

3、信在传送的过程中有可能会残缺不全,而且后发出的信也有可能会先收到,它对应的是UDP ( User Datagram Protocol)协议。流方式的特点是通信可靠,对数据有校验和重发的机制,通常用来做数据文件的传输。网络的快速发展和普及,文件传输愈来愈频繁,传输文件容量越来越大,单纯的套接字传输不能满足需求。Window Socket编程和多线程技术结合可以很好的解决这一问题,使得文件传输效率大大提高能很好的支持大文件、批量传输,提高服务器的响应能力和并发处理能力。Window Socket采用字节流的方式传输数据,可以很好的保证传输的稳定性和安全性;而采用动态哈夫曼编码实现传输流的压缩,减轻

4、网络传输负担,提高网络性能满足用户的需求。关键字:Socket;TCP;多线程;RUP;UML The large files bulk transmission based on socket system design and implementation(Hunan city University The computer science is 2,004levels of computer sciences and the technical specialty, Hunan yiyang 413000)Abstract: Socket socket in English is the

5、 meaning, it is implied in fact, the designers of telephone socket. Socket environment because the programming is similar to analog telephone, Internet IP address is the telephone number to call, the need to phone jack, in the proceedings is to apply a system Socket, after two machines on the proced

6、ures "conversation" Through this Socket are conducted. The programmers, can also Socket as a guideline document, as long as the guidelines referred to the documents to read and write data, we can achieve two-way communication. Socket Communications to use, there are two main ways. The firs

7、t is to connect the flow-oriented approach. As the name suggests, in this way, the two communications applications to establish a link between the first link, the process seems to be called. A computer (telephone) and to another computer (phone), data transmission (call), you must first obtain a lin

8、k, only identified this pathway, the data (all) can be properly receive and send. This is the corresponding TCP (Transport Control Protocol) agreement. The second is called a data link to the text, then two computers such as data on an envelope, sent to each other through the network, believed to be

9、 in the process of transmission may be incomplete, and issued a letter May also have to receive, it is the corresponding UDP (User Datagram Protocol) agreement.Way flow of communication is characterized by reliable, the data and re-issued a check mechanism, usually used for the transmission of data

10、files. Network's rapid development and popularity of file transfer more and more frequent, increasing the capacity of transferring files, a simple socket transmission can not meet the demand. Window Socket programming and multi-threading can combine good solution to this problem, making file

11、 transfer greatly enhanced the efficiency of large files can be very good support, bulk transmission, improve server capacity and with the response capacity. Window Socket used byte-way transmission of data, can guarantee a good transfer of stability and security and the use of dynamic Huffman Codin

12、g transport stream compression, reduce the burden on transmission networks, improve network performance to meet the needs of users.Key words: Socket; TCP; multi-threaded; RUP; UML; II目 录 1.绪论11.1 面向对象思想和UML11.2 RUP迭代开发11.3 套接字的发展11.4 多线程技术21.5 基于SOCKET的大批量文件传输系统的功能和特点21.6 目的22 可行性分析32.1编写目的32.2 建议系统

13、可行性分析42.3 经济可行性分析53. 系统设计与分析63.1概念的定义63.2 设计人员93.3 需求分析93.4 系统总体设计203.5 系统详细设计223.6 数据库理论技术463.7 数据库设计说明494. 应用系统实现514.1 应用系统开发工具514.2 C/S模型的实现534.3 主要功能实现545. 软件测试575.1 测试概要575.2测试计划575.3 测试总结606. 安装部署616.1 简介616.2 系统环境616.3 应用程序安装部署616.4 部署SQL数据库637. 总结648. 致谢语659. 参考文献661. 绪论1.1 面向对象思想和UML 面向对象方法

14、(Object-Oriented Method)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO (Object-Oriented)方法,是建立在“对象”概念基础上的方法学。对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。而每继承性是对具有层次关系的类的属性和操作进行共享的一种方式。所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统 面向对象思想起源于面向对象语言,伴随着面向对象编程语言的发展和流行,以其新型的独具优越的新方法成为当今软件开发的

15、主流思想。 统一建模语言(UML是 Unified Modeling Language的缩写)是用来对软件密集系统进行可视化建模的一种语言。UML为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。UML是当今软件行业的通用语言,由于其独特的思想和对以往软件开发经验教训的总结,同时结合当今流行的面向对象的开发思想,使其广泛的应用于软件行业中。从最初的1.0到现在的2.0,更贴近实际开发过程。1.2 RUP迭代开发 RUP(Rational Unified Process,统一软件开发过程,统一软件过程)是一个面向对象且基于网络的程序开发方法论。根据Rational(Ration

16、al Rose和统一建模语言的开发者)的说法,好像一个在线的指导者,它可以为所有方面和层次的程序开发提供指导方针,模版以及事例支持。 RUP和类似的产品-例如面向对象的软件过程(OOSP),以及OPEN Process都是理解性的软件工程工具-把开发中面向过程的方面(例如定义的阶段,技术和实践)和其他开发的组件(例如文档,模型,手册以及代码等等)整合在一个统一的框架内。1.3 套接字的发展 Winsock是指Windows Sockets,是一个为Microsoft Windows定义的网络编程规范。他源于UNIX中的Berkely套接字(Socket),使用Windows Sockets编制

17、的应用程序,可以同其他基于Windows Sockets API编制的应用程序通过网络进行通讯,并且在编制基于Winsock的应用程序时,不需要关心网络通信协议本身是如何工作的。Winsock不仅继承了Berkely Sockets的功能,而且还针对Windows作了扩展,Winsock还支持多种网络通讯协议,如:常见的TCP/IP(Transmission Control Protocol/Internet Protocol)协议、XNS(Xerox Network System),Digital Equipment公司的DECNet协议,Novell公司的IPX/SPX(Internet

18、Packet Exchange/Sequenced Packed Exchange)等。目前Winsock规范主要针对TCP/IP,但只要提供了实现Winsock的动态连接库,任何网络通讯协议都可以同 Winsock兼容。1.4 多线程技术进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。多线程是为了使得多个线程并行的工作以完成多项任务,以提高系统的效率

19、。线程是在同一时间需要完成多项任务的时候被实现的。多线程的优点:使用线程可以把占据长时间的程序中的任务放到后台去处理,用户可以同时处理多件事情,不需等待执行提高了程序的运行速度。可以为每个线程设置优先级,以调整工作进度。1.5 基于SOCKET的大批量文件传输系统的功能和特点 本系统的设计与实现主要采用SOCKET编程。同时,使用多线程技术,提高服务器的响应能力和并发处理能力;采用动态哈夫曼编码实现传输流的压缩,减轻网络传输负担;支持断点续传, 用户可以自己选择采用断点续传还是重新上传;实现大文件上传, 一次可以上传多个文件;提供接口全面,可以动态设置上传保存路径, 设置允许扩展名, 允许最大

20、大小等; 可以限制上传单个文件大小, 控制上传带宽上限, 允许文件扩展名, 拒绝文件扩展名等。1.6 目的 通过这次设计实践软件开发过程,运用Rational Rose 进行用例建模和分析设计加深对UML的认识,采用RUP迭代开发方法进行开发进一步熟悉面向对象思想。用Visual studio 2005集成开发环境和Server SQL2000数据库进行开发实现;应用WinRuner进行单元测试和集成测试。同时采用Microsoft Project画甘特图,对各阶度段进行跟踪,确保更个软件开发过程朝着计划方向稳定前进;保证按时高质的完成各项任务,顺利的完成课题的各项要求,提升自己各方面的能力。

21、 2 可行性分析2.1编写目的 首先,我们开发此系统当作一个产品而不只是看成一个设计,是为了方便用户传输文件,提高效率。为此,我们把它看做一个项目采用统一过程(RUP)进行开发,采用面向对象的思想结合UML进行分析设计和用例建模,在掌握主流开发思想和方法的同时,确保整个项目朝着正确和可控的方向推进,使整个项目按时,保质完成。2.1.2可行性研究的前提 要求(1) 功能要求 生成数据:要求管理员添加用户的基本信息,添加进数据库方便日后使用。 安全性: 要求用户在没有授权的情况下,不能登录服务器。 界面要求:要求界面友好,让使用者倍感舒服,使用方便。 开发目标 (1)

22、利用Window Socket字节流的方式传输数据,可以很好的保证传输的稳定性和安全性;而采用动态哈夫曼编码实现传输流的压缩,减轻网络传输负担,提高网络性能满足用户的需求。(2)为了完善管理,用户必须是授权用户,否则无法登录服务器。(3)使用多线程技术,使得文件传输效率大大提高能很好支持大文件、批量传输,提高服务器的响应能力和并发处理能力。(4)采用断点续传技术,减少重复传输量,提高网络资源的利用率,使服务器磁盘利用率提高,减少冗余,提高服务器性能和处理能力。 环境 (1) 开发环境 硬件:奔四微机一台(服务器/客户机,回路地址需网卡)。 软件:Windows2000操作系统,S

23、QL Server 2000数据库系统,Visual Studio.2005平台。(2) 运行环境 硬件:奔四以上微型计算机。 软件:服务器端必须运行在Windows2000操作系统,同时安装有SQL Server2000 数据库。客户端可以运行在Windows2000和WindowsXP。 条件和限制(1)此系统的开发,主要是面向普通用户,并且没有原系统作为参考,因此,可利用的信息和资源很少,这给开发过程带来了一定的难度。(2)此系统的开发,只有两个开发人员,并且没有很好的开发经验。这也使得系统存在了一定的局限性。2.2 建议系统可行性分析2.2. 1 系统简介 系统是为了能完

24、成计算机用户所要求的各项功能而量身定造的系统。它主要由四个用例组成:登陆服务器、传输文件、设置服务器信息、管理用户。系统业务用例图: 图1 系统业务用例图2. 2. 2系统的优越性(1)利用Window Socket字节流的方式传输数据,可以很好的保证传输的稳定性和安全性;而采用动态哈夫曼编码实现传输流的压缩,减轻网络传输负担,提高网络性能满足用户的需求。(2)为了完善管理,用户必须是授权用户,否则无法登录服务器;密码采用MD5加密增强安全性,防止用户信息的泄露。(3)使用多线程技术,使得文件传输效率大大提高能很好支持大文件、批量传输,提高服务器的响应能力和并发处理能力。(4)采用断点续传技术

25、,减少重复传输量,提高网络资源的利用率,使服务器磁盘利用率提高,减少冗余,提高服务器性能和处理能力。2. 2. 3 采用系统可能带来的影响 用户可能需要一定时间熟悉系统的各种操作。管理员进行用户信息的管理和数据库的维护,在开始阶段工作量比较大。同时管理员还需对磁盘进行整理,保证用户需求。2. 2. 4 技术可行性分析 技术可行性是可行性研究的重要内容。进行技术可行性研究,首先要分析系统业务流程,对业务系统进行建模,然后绘制所要开发新系统的系统业务用例图和活动图、协作图等。分析所建议的系统可能带来的影响及其优越性,最后评价系统的技术可行性,即在限定的条件下,利用现有的技术,现有数量和质量的开发人

26、员,和可以利用的资源,在规定的期限内,开发是否能够完成。2. 2. 5 限制条件的影响虽然系统的开发存在几个不利因素,此系统的各项功能都是开发人员分析比较常用的比较熟悉的,并且所有开发人员都有很强的分析设计与代码编写能力,加上一个开发人员对网络通信机制比较了解。因此各种限制条件只是增加了系统开发的难度,但并不影响系统开发的成败。2. 2. 5 技术条件与人员数量和质量在开发人员由计算机系的一名老师和一名学生组成,都熟练掌握了开发此系统的开发平台和相关技术等。因此,开发此系统的技术与人员质量完全能达到要求。2. 2. 6 完成期限 此系统的开发难度比较大,当时准备充分,进度安排合理,因此可以按期

27、完成。2.3 经济可行性分析2.3.1 估计开发成本在开发过程中,需要用到的资源,只包括两台高配置计算机,以及有合适的开发环境,这些条件都已经满足,并且是可利用廉价的资源。从预期的开发情况来看,整个开发成本只有两部分,一是对开发人员的工作报酬,另一部分是开发所需资料的购买经费。但是如果此系统从软件公司购买,则至少需要3-4万元以上的购买费用。因此,自行开发是一种最好的方式。2.3.2收益情况分析 此基于SOCKET的大文件批量传输系统使用NET平台以及最新的开发技术,因此能使用的期限也比较长,实用性很强,是低成本高效益。3. 系统设计与分析3.1概念的定义3.1.1基于SOCKET的大文件批量

28、文件传输系统 Socket 在英文中是插座的意思,它的设计者实际上是暗指电话插座。因为在Socket 环境下编程很像是模拟打电话,Internet 的IP 地址就是电话号码,要打电话,需要电话插座,在程序中就是向系统申请一个Socket ,以后两台机器上的程序“交谈”都是通过这个Socket 来进行的。对程序员来说,也可以把Socket 看成一个文件指针,只要向指针所指的文件读写数据,就可以实现双向通信。利用Socket 进行通信,有两种主要的方式。第一种是面向连接的流方式。顾名思义,在这种方式下,两个通信的应用程序之间先要建立一种连接链路,其过程好像在打电话。一台计算机(电话)要想和另一台计

29、算机(电话)进行数据传输(通话),必须首先获得一条链路,只有确定了这条通路之后,数据 通话)才能被正确接收和发送。这种方式对应的是TCP ( Transport Control Protocol )协议。第二种叫做无连接的数据报文方式,这时两台计算机像是把数据放在一个信封里,通过网络寄给对方,信在传送的过程中有可能会残缺不全,而且后发出的信也有可能会先收到,它对应的是UDP ( User Datagram Protocol)协议。流方式的特点是通信可靠,对数据有校验和重发的机制,通常用来做数据文件的传输。网络的快速发展和普及,文件传输愈来愈频繁,传输文件容量越来越大,单纯的套接字传输不能满足需

30、求。Window Socket编程和多线程技术结合可以很好的解决这一问题,使得文件传输效率大大提高能很好的支持大文件、批量传输,提高服务器的响应能力和并发处理能力。Window Socket采用字节流的方式传输数据,可以很好的保证传输的稳定性和安全性;而采用动态哈夫曼编码实现传输流的压缩,减轻网络传输负担,提高网络性能满足用户的需求。3.1.2 功能定义 客户端 (1)连接服务器 用户知道服务器IP地址和端口可以进行连接服务器进入用户登陆。(2)登录 连接上服务器后,拥有授权帐号和密码的用户可以登录服务器。(3) 浏览服务器目录信息 登录成功的用户可以点击浏览服务器目录,查看已上

31、传的文件,上传完毕后用户可以点击相应目录,更新服务器目录查看上传结果。(4)创建目录、删除目录 登录成功的用户可以创建自定义的目录名。也可以删除指定目录。(5)发送文件 选择上传目录 登录成功的用户可以选择自己想上传的文件目录,文件能够上传到指定的目录,用户可以通过浏览服务器目录,查看文件上传指定目录。选择上传文件 登录成功的用户可以浏览本地磁盘,选择任何自己想上传的文件,可已选择多个文件进行上传。 发送 登录成功的用户在选择上传目录和文件后,可以点击发送进行文件的传输。断点续传 用户上传的文件是异常中断,未传完的文件是,可以选择断点续传或覆盖原文件(6)断开连接 登录成功的用户可以断开与服务

32、器的连接,可以再次连接服务器或退出应用程序。服务器端(1)服务 启动服务 管理员启动程序后可以点击开启服务器服务,服务器将监听指定端口,等待用户上传文件。 关闭服务 管理员可以关闭服务器,关闭端口,断开客户端与服务器的连接。(2)设置 管理员可以设置服务器端口,定期跟换服务器端口,保证服务器的安全性。(3)接收文件 当监听到用户发送文件请求是,为用户开启一个文件接收线程,接收用户文件,同时将接收到文件信息写入数据库,记录上传大小;当传输中断时,用户再次上传可以选择断点续传或覆盖源文件。(4)用户管理 查询用户 管理员可以查询已授权的用户,查看用户名。 添加用户 管理员可以添加系统

33、新用户,设置用户名和密码。 编辑用户 管理员可以编辑指定用户名用户,进行密码的修改。 删除用户 管理员可以删除指定用户。3.1.3 C/S 模型瘦客户端/胖服务器的概念 C/S模型将网络中的程序分成两部分;客户部分和服务器部分。在这种模型下,客户请求服务器提供服务或信息,服务器方对客户的请求作出响应,在多数情况下,需要设计的网络应用程序是独立的客户和服务器程序。瘦客户机是使用专业嵌入式处理器、小型本地闪存、精简版操作系统的基于PC工业标准设计的小型行业专用商用PC。配置包含专业的低功耗、高运算功能的嵌入式处理器。不可移除地用于存储操作系统的本地闪存、以及本地系统内存、网络适配器、显卡和其它外设

34、的标配输入/输出选件。瘦客户机没有可移除的部件,可以提供比普通PC更加安全可靠的使用环境,以及更低的功耗,更高的安全性。瘦客户、机针对工作密集型行业设计,适用于应用相对简单统一,使用群体大的行业前端客户设计。胖服务器模式,这种模式最适合一个集中的服务器执行的处理。一个典型的胖客户端包含一个或多个在用户的PC上运行的应用程序,处理一些或所有的业务规则,同时提供一个丰富的用户界面作出响应。服务器负责管理对数据的访问并负责执行一些或所有的业务规则。这种模式也有一些“变种”,它们主要处理业务规则和数据的物理位置。服务器的程序通常初始化就进入睡眠状态,他简单的等待客户应用程序的请求并给出响应。服务器的进

35、程可分为重复服务器和并行服务器两种类型。所谓重复服务器是指服务器端每次只处理一个请求,在完成当前请求之前不处理另一个请求;而并行服务器,对每一个服务请求建立一个单独的进程进行处理每当接收到一个服务请求,服务器就产生一个新进程来进行处理,启动一个并行进程之后,服务器重新回到睡眠状态,等待下一个服务请求的到来。本系统将采用并行服务器模型。3.1.3 C/S 模型介绍 在TCP/IP网络中两个进程间的相互作用的主机模式是客户机/服务器模式(Client/Server model)。该模式的建立基于以下两点:1、非对等作用;2、通信完全是异步的。客户机/服务器模式在操作过程中采取的是主动请示方式:首先

36、服务器方要先启动,并根据请示提供相应服务:(过程如下)1、打开一通信通道并告知本地主机,它愿意在某一个公认地址上接收客户请求。2、等待客户请求到达该端口。3、接收到重复服务请求,处理该请求并发送应答信号。4、返回第二步,等待另一客户请求5、关闭服务器。客户方:1、打开一通信通道,并连接到服务器所在主机的特定端口。2、向服务器发送服务请求报文,等待并接收应答;继续提出请求3、请求结束后关闭通信通道并终止。3.2 设计人员(1) 本系统的名称:基于SOCKET的大文件批量传输系统的设计与实现(2) 本系统为毕业设计,设计者:谢山德(3) 本系统的服务端在Windows2000 Server系统下运

37、行,客户端在Window下运行。采取C/S的模式。数据库服务器采用SQLServer2000,软件开发工具采用Visual Studio 2005。运用Rational Rose 进行用例建模和分析设计。3.3 需求分析3.3.1 任务概述(1) 目标 网络的快速发展与不断普及,基于网络应用的软件需求日益增多,而Java与.NET两大软件开发体系在网络开发的竞争日益激烈,Java在以其简单和跨平台的优势在网络开发上占有很大份额,但在文件传输尤其是在大文件传输上却有其缺陷。而用.NET中的Window Socket编程和多线程技术可以很好的解决这一问题。同时,使用多线程技术,提高服务器的响应能力

38、和并发处理能力;采用动态哈夫曼编码实现传输流的压缩,减轻网络传输负担;支持断点续传, 用户可以自己选择采用断点续传还是重新上传;实现大文件上传, 一次可以上传多个文件;提供接口全面,可以动态设置上传保存路径, 设置允许扩展名, 允许最大大小等; 可以限制上传单个文件大小, 控制上传带宽上限, 允许文件扩展名, 拒绝文件扩展名等。3.3.1业务系统建模(RUP先启阶段) 业务用例建模(1)业务过程和业务系统的基本概念 1.业务过程 大多数人的直观理解,业务过程是为了实现某个目标的一个工序(procedure)或事件(event)。通常,业务过程的活动是相互依赖的。这个依赖关系是由各

39、个活动之间相互创建的,这些活动属于一个实现某个共同目标的业务过程。工作管理对术语过程和业务过程有官方的定义。以下定义可以在工作流管理联盟的工作流参考模型术语表(工作流参考模型,1999年2月,http:/www,wfmc.rog)中找到。 过程是一组同级(并行且/或串行)过程活动的集合,他们连接在一起实现公共的目标。这些活动集可以由手工活动和/或工作流活动组成。 业务过程是属于业务组织结构和策略领域中的一类过程,其目的是实现业务目标。 2.业务系统 业务过程是动态的,并涉及很多的活动。不过如果要从整个业务系统的角度来看,则还需考虑静态的方面,这就包括如业务过程中的所采用的组织结构等内容,还包括

40、各种业务对象和信息对象。对于静态和动态的两个方面组成的整体,我们称之为业务系统。(2)业务建模的实践技巧 通常人们会对业务过程分析和业务过程建模的复杂度感到担忧。软件开发人员的经验显示绝大部分的业务过程都十分易于理解和管理。由于不过透明,会使其看起来比实际情况更加复杂。必须加强对业务过程的文档的编写和分析,是整个系统能够联系在一起。 (3)业务用例的基本概念 业务系统用例就是提供给客户、业务伙伴或其他业务系统的服务。业务系统的外部用户(例如客户或业务伙伴)将使用业务系统的输出。这些外部用户无需了解业务用例具体如何执行的详细信息。这些外部用户称为参与者。.1业务参与者 用户:通过系

41、统身份验证获得文件传输服务的人。 管理员:保证服务器的正常运行,进行用户的管理。.2业务用例图 用例图展示了业务用例、参与者以及他们之间的关系。这些在参与者和业务用例之间的关系用来说明该参与可以使用业务系统中的某个特定功能,但并不体现任何与服务呈现顺序相关的信息。如下图:图2 系统业务用例图.3业务用例阐述 (1)业务用例阐述的基本概念 用例阐述是为了通过语言来描述用户的实际需求。这是对用例进行分析的第一个步骤,也就是进入需求分析的第一步。完成用例阐述的用例,就可以开始交互建模(为界面建模做准备)的工作了,接着是分析模型的开发。 (2)业务用例阐述的基本要求 用例阐

42、述的基本要求如下: 简明扼要的描述出该用例的具体工作流程; 用词要准确,不能有模糊性的词语; 对于一些还没有调研清楚的过程,可以临时通过注释的方式来表述,以便于今后的修改; 对于提交进行审核的用例阐述不能继续保留注释的内容,否则,就只能说明这个用例阐述仍然没有开发完成; 用例阐述的描述要一句描述操作者的操作,一句描述系统的响应。 先排列用例阐述的基本要求(包括RUP中的阐述),然后对它们进行解释。 (3)业务用例阐述1.用例UC1:登陆服务器(LoginServer) 范围:SocketNetWorkFileSystem 应用 级别:用户目标主要参与者:用户涉众及其关注点:用户:希望花最短的时

43、间登陆得到快速的文件传输服务。管理员:希望登陆服务器的用户是授权的,并且能管理用户的信息。前置条件:用户知道服务器IP地址和端口,并拥有帐号(用户名,密码)后置条件:登陆服务器,拥有系统服务基本流程:1、 用户知道服务器IP地址和端口,拥有了帐号。2、 用户开始一次登陆。3、 用户输入IP地址。4、 用户输入端口号。5、 用户点击连接按钮。6、 系统显示用户登陆。7、 用户输入用户名。8、 用户输入密码。9、 用户点击登陆。 10、系统提供文件服务。 扩展:a. 系统提供文件服务b. 无效服务器信息1. 系统提示错误并拒绝输入IP地址。2. 系统提示错误并拒绝输入端口地址。c. 无效用户信息1

44、. 系统提示错误并拒绝输入用户名。2. 系统提示错误并拒绝输入密码。d. 服务器连接失败1. 系统提示服务器IP地址错误并提示重新输入IP地址。2. 系统提示服务器端口地址错误并提示重新输入端口地址。3. 系统提示连接超时无法连接服务器3.1服务器未启动3.2网络中断无法连接e. 登陆失败1. 系统提示用户名错误并提示重新出入用户名。2. 系统提示密码错误并提示重新出入密码。 特殊需求:1. 服务器为公网IP,使整个网络能过访问。2. 数据库性能稳定。 技术与数据变元表:a. 服务器IP地址和端口可以用键盘输入。b. 用户名和密码可以用键盘输入。c. 数据库中的用户信息要定时更新。用户可能要修

45、改自己的信息,几年内可能废弃帐号。2. 用例UC2传输文件(TransmitFile) 范围:SocketNetWorkFileSystem 应用 级别:用户目标主要参与者:用户涉众及其关注点:用户:希望花最短的时间得到快速的文件传输服务。希望便捷、清晰的看到所上传的文件。希望能够对上传失败的文件重传,并且能进行大文件批量传输。管理员:希望用户按目录上传文件,并且能管理用户上传文件。前置条件:用户成功登陆服务器。后置条件:服务器保存用户上传文件,更新服务器目录信息。基本流程: 1. 用户成功登陆服务器。2. 用户选择上传目录。3. 用户选择上传文件用户重复3步直到达到最大个数或选择完毕。4.

46、用户点击上传。5. 系统显示上传信息。 扩展:a. 无效上传目录1. 用户未选择上传目录。2. 用户选择目录不存在,目录信息未更新。b. 无效上传文件1. 用户未选择上传文件。2. 用户选择文件不存在3. 用户选择文件个数超过最大数量。c. 网络中断无法传输1. 客户端与服务器断开连接,不能传送,重新连接超时。2. 服务器服务停止,客户端找不到服务器。3. 网络故障,无法建立连接。d. 传输中断1. 客户端异常退出,结束主进程使文件传输强制中断。2. 服务器在传输文件中突然重启,致使文件传输超时中断。e. 断点续传解决d中的问题,支持文件从断点传输,提高文件传输效率f. 多线程使得文件传输效率

47、大大提高能很好支持大文件、批量传输,提高服务器的响应能力和并发处理能力。g.Windows Socket采用字节流的方式传输数据,可以很好的保证传输的稳定性和安全性;而采用动态哈夫曼编码实现传输流的压缩,减轻网络传输负担,提高网络性能满足用户的需求。 特殊需求:1. 服务器记录断点,以便实现断点续传。2. 服务器在服务失败的情况下具有比较强的恢复功能。3. 安装本系统的操作系统必须支持多线程和Windows Socket。技术与数据变元表:a. 上传目录可以用目录树实现,用鼠标输入。b. 上传文件可以用对话框进行浏览选择。c. 用按钮实现选择多文件。3. 用例UC3设置服务器信息(SetSer

48、verInfo) 范围:SocketNetWorkFileSystem 应用 级别:管理员目标主要参与者:管理涉众及其关注点:用户:希望知道新设置的服务器信息。管理员:希望设置服务器信息保证服务器的正常安全运行。前置条件:操作者为管理员后置条件:服务器使用新的IP地址和端口和客户端通信。基本流程: 1. 管理员有新的IP地址和端口号2. 管理员输入IP地址。3. 管理员输入端口号。4. 管理员点击设置。5. 系统显示设置信息。扩展:a. 无效服务器信息1. 系统提示错误并拒绝输入IP地址。2. 系统提示错误并拒绝输入端口地址。b. 设置失败1. 系统提示服务器IP地址错误并提示重新输入IP地址

49、。2. 系统提示服务器端口地址错误并提示重新输入端口地址。3. IP地址冲突提示重新输入IP地址。4. 端口地址冲突提示重新输入IP地址 特殊需求: 服务器设置后重启。技术与数据变元表:a. 服务器IP地址和端口可以用键盘输入。b. 服务器端口地址定时更新,保证服务器安全。 4. 用例UC4管理用户(ManageUsers) 范围:SocketNetWorkFileSystem 应用 级别:管理员目标主要参与者:管理涉众及其关注点:用户:希望知道自己的帐号信息。管理员:希望管理用户信息。前置条件:操作者为管理员后置条件:服务器保存新用户信息。基本流程: 1. 管理员进行用户管理。2. 管理员编

50、辑用户信息。3. 管理员删除用户。4. 系统显示变更信息。扩展:a. 无效用户信息1. 系统提示错误并拒绝输入用户名。2. 系统提示错误并拒绝输入密码。c. 设置失败1. 添加用户失败。2. 编辑用户失败。3. 删除用户失败。 特殊需求: 服务器数据库保存用户信息。技术与数据变元表:a. 用户名和密码可以用键盘输入。b. 服务器数据库记录更改信息。 业务系统顺序图 图3 UC1:登陆服务器(LoginServer)顺序图图4 UC2:文件传输(TransmitFile)顺序图图5 UC3:设置服务器信息(SetServerInfo)顺序图图6 UC4:管理用户(MangerUse

51、rs)顺序图通过对用例阐述的理解画出业务系统顺序图,易于理解,思路更清晰。 业务系统类图类图显示在业务系统或系统本身(在子系统设计)中存在那些类。可以对业务系统的结构部分也就是各个雇员、业务对象及外部参与者之间的关系进行描述。图7 业务系统类图图中CUser和CManger为类worker描述负责执行业务过程的人,以及与业务过程相关的人所扮演的角色。3.4 系统总体设计3.4.1 引言3.4.2 背景(1)开发软件的名称:基于SOCKET的大文件批量传输系统(2)项目任务提出者:湖南城市学院计算机科学系3.4.3 系统架构设计(迭代过程)3.4.3 .1 IT系统架构视图: 图8

52、 IT系统架构视图整个系统采用RUP迭代架构开始开发一个架构概念原型来确定可行性。通过细化阶段对架构分析,后续阶段进行循环。上图采用层模式创建架构视图。3.4.3 .2 IT系统架构精化视图 图9 IT系统架构精化视图 3.5 系统详细设计3.5.1 背景(1)开发软件的名称:基于SOCKET的大文件批量传输系统(2)项目任务提出者:湖南城市学院计算机科学系3.5.12 IT系统建模(RUP中的精化和构建阶段) 用例建模(1)用例的基本概念 用例是用来定义系统执行的一组操作(action),他将为一到多个参与者(actor)或系统的其他涉众(stakeholders)提供可观的

53、有价值结果(OMG:统一建模语言:上层架构,2.0版本,最终采纳标准修改版,2004年10)。 通过对业务用例模型的分析,我们对较大的用例进行了拆分,是相关操作和功能更集中于单个用例,提高内聚性减少耦合。 (2)用例阐述概念 用例阐述是为了通过语言来描述用户的实际需求。这是对用例进行分析的第一个步骤,也就是进入需求分析的第一步。完成用例阐述的用例,就可以开始交互建模(为界面建模做准备)的工作了,接着是分析模型的开发。 (2)业务用例阐述的基本要求 用例阐述的基本要求如下: 简明扼要的描述出该用例的具体工作流程; 用词要准确,不能有模糊性的词语; 对于一些还没有调研清楚的过程,可以临时通过注释的

54、方式来表述,以便于今后的修改; 对于提交进行审核的用例阐述不能继续保留注释的内容,否则,就只能说明这个用例阐述仍然没有开发完成; 用例阐述的描述要一句描述操作者的操作,一句描述系统的响应。 先排列用例阐述的基本要求(包括RUP中的阐述),然后对它们进行解释。 .1 用例阐述 1.用例UC1:登陆(Login) 范围:SocketNetWorkFileSystem 应用 级别:用户目标主要参与者:用户涉众及其关注点:用户:希望花最短的时间登陆得到快速的文件传输服务。管理员:希望登陆服务器的用户是授权的,并且能管理用户的信息。前置条件:用户知道服务器IP地址和端口,并拥有帐号(用户

55、名,密码)后置条件:登陆服务器,拥有系统服务基本流程:1. 当用户进行登录时启用此用例。2. 用户输入用户名和密码。3. 系统判断用户帐号:-如果客户名存在而且密码正确,则进入主界面;-如果客户名存在而密码不正确,则执行“警告”子流。4. 结束用例。 扩展:a. 系统提供文件服务b. 无效用户信息1. 系统提示错误并拒绝输入用户名。2. 系统提示错误并拒绝输入密码。c. 服务器连接失败d. 登陆失败a) 系统提示用户名错误并提示重新出入用户名。b) 系统提示密码错误并提示重新出入密码。 特殊需求: 数据库服务器启动。技术与数据变元表:b. 用户名和密码可以用键盘输入。c. 数据库中的用户信息要定时更新。用户可能要修改自己的信息,几年内可能废弃帐号。2.用例UC2:连接服务器(ConnectionServer) 范围:SocketNetWorkFileSystem 应用 级别:用户目标主要参与者:用户涉众及其关注点:用户

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论