组件外包:传输加密组件。

davidweimin 2002-09-11 09:17:01
我们正在用.NET开发一套应用系统,工期紧,打算把部分底层功能外包,“数据传输控件”是其中一部分,我把<需求说明书>贴出来,看有没大侠愿接此单?



目 录


1. 引言 2
1.1. 编写目的 2
1.2. 项目背景 2
1.3. 定义 3
1.4. 参考资料 3
2. 任务概述 3
2.1. 目标 3
2.2. 业务目标 3
2.3. 功能目标 3
2.4. 性能及技术目标 4
2.5. 运行环境 4
2.5.1. 服务器运行环境 4
2.5.2. 客户端运行环境 4
2.6. 条件与限制 4
2.7. 数据描述 5
2.8. 功能需求 5
2.9. 性能需求 5
2.10. 运行需求 5
2.11. 其他需求 5






1. 引言
1.1. 编写目的
本需求规格说明书是为了开发《数据传输控件》而编写,给系统分析和程序设计人员提供参考,使他们对软件有一个共同的理解。本说明书应成为整个开发工作的基础。程序编制人员必须严格按照需求规格来进行该控件的开发。开发完成后,验收时根据本需求规格说明书对本系统进行验收,同时本需求规格说明书还是编制《用户手册》和《测试计划》的基础。
1.2. 项目背景
根据系统的要求,需要开发一个“数据传输组件”,将服务器文件下载到客户端、和将客户端文件上传到服务器上,上传下载过程中需要进行文件加密和压缩、以及相应的解密和解压缩过程。
1.3. 定义
一、 流压缩:Streaming Compression,指在对文件进行压缩并传输过程中,不是先将文件压缩完成后再传输,而是边压缩边传输的过程。在此过程中,压缩后的数据不再另存为文件,而是直接保存在内存中,然后立即进行传输。用这种压缩并传输的方式,可以极大地提高数据压缩和传输的效率。
二、 多线程:指在数据传输过程中,对传输进程开启多个传输线程,同时进行传输,以提高数据传输速度。如:网络蚂蚁的多线程下载过程。
三、 多用户并发:指多个用户同时对数据传输组件进行调用,调用时无论该组件是开启多个进程,还是开启多个线程,都能够同时对多个用户提供服务。此方法不包括对用户的调用请求进行排队以使调用同步的方法,即使利用了操作系统提供的自动同步服务。
四、 MS.NET:指微软公司提供的Microsoft .NET Framework框架体系结构。
五、 VS.NET:指微软公司提供的Microsoft Visual Studio.NET开发工具。
1.4. 参考资料

2. 任务概述
2.1. 目标
使系统中的数据传输极大地提高运行效率,极大地提高文件上传下载的速度,极大地提高数据传输过程中的安全保密性。
2.2. 业务目标
用一个组件同时提供数据压缩、数据解压缩、数据加密、数据解密、数据传输及其他相关功能,极大地提高系统运行效率,极大地提高文件上传下载的速度,极大地提高数据传输过程中的安全保密性。
2.3. 功能目标
1. 数据压缩,文件压缩。
2. 数据解压缩,文件解压缩。
3. 数据加密,文件加密。(可选)
4. 数据解密,文件解密。(可选)
5. 文件的上传和下载。
6. 支持上传下载时的流压缩。
7. 支持多用户并发。
8. 支持多线程上传和下载。
9. 支持HTTP、TCP/IP(可选)等多种协议。
10. 上传下载过程中可以显示进度条和进度信息。
11. 各种接口参数化,包括文件名、数据内容、使用的协议、是否压缩和解压缩、是否加密和解密、是否显示进度条或进度信息等。
2.4. 性能及技术目标
1. 支持在WEB环境下的浏览器自动分发部署。
2. 支持MS.NET的XCOPY部署。
3. 数据和文件压缩比率达到或超过WINRAR的压缩比率。
4. 数据和文件加密的算法做到无法通过逆推而解密。(可选)
5. 多线程上传和下载。
6. 多用户并发的支持用户量可以无限扩展,只要系统资源允许。
7. 支持流压缩后,压缩和传输的总速度大大超过不使用流压缩时的速度。
8. 考虑到INET控件在浏览器界面中使用时的诸多问题,要求不能使用该控件进行数据传输,也不允许存在类似的问题。
9. 同时支持中英文两种语言,并能够非常容易地扩充其他语言类别。(可选)
2.5. 运行环境
2.5.1. 服务器运行环境
目前初步确定的系统环境如下:Windows 2000 Advance Server+SP2、Internet Information Service 5.0、Microsoft .NET Framework 1.0、MS SQL SERVER 2000或ORACLE 8i及其他数据库。但为了兼顾组件的可移植性,要求组件能够支持Windows NT、Windows 2000、Windows XP等操作系统,支持Microsoft .NET Framework。
2.5.2. 客户端运行环境
客户端的环境相对会多变一些,要求能够支持Windows 9X、Windows NT、Windows 2000、Windows XP等多种操作系统,浏览器支持IE4.0至IE6.0各种版本。要求客户端不需要安装Microsoft .NET Framework。可用OCX
2.6. 条件与限制
程序编码要求严格按照编码规范进行,程序中需要对关键算法和复杂算法加上完整的注释。
2.7. 数据描述
传输控件所使用的数据可以通过两种途径获得,一种是直接通过控件的一个数据参数传入,这需要调用者事先取得该数据。另一种是给控件传入一个文件路径,控件从该文件中取得需要的数据,该文件可能是一个文本文件,也可能是一个未知格式的二进制文件,或者其他格式的文件。
传输到目的端后的数据也可以通过这两种方式提供给调用者。
2.8. 功能需求
根据上述的功能目标,可以将控件划分为上传、下载、压缩、解压缩、加密、解密这样几个部分,要求在设计中尽量降低这几个模块的耦合性,以方便今后对控件的维护。
参考前述“功能目标”一节。
2.9. 性能需求
参考前述“性能及技术目标”一节。
2.10. 运行需求
1. 支持在WEB环境下的浏览器自动分发部署。
2. 要求客户端不需要安装额外的软件,不需要安装MS.NET。
3. 考虑到INET控件在浏览器界面中使用时的诸多问题,要求不能使用该控件进行数据传输,也不允许存在类似的问题。
4. 组件在运行出错后,要求不能破坏系统原有文件和数据。
5. 组件在运行出错后,需要向调用者抛出错误对象,同时将该错误的出错信息记录到系统日志或者日志文件中。具体记录到哪个系统日志中、以及哪个日志文件中,要求提供参数化接口由调用者传入。

2.11. 其他需求
1. 在设计中尽量降低功能模块之间的耦合性,并对程序中的关键算法和复杂算法添加完整的注释,以方便今后的维护。
...全文
76 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
davidweimin 2002-09-24
  • 打赏
  • 举报
回复
15000之内有没人干,可双方共同拥有产权,细节可再谈。
最好写EMAIL:WM139@163.COM
格利高里 2002-09-11
  • 打赏
  • 举报
回复
这种压缩加密传输的技术并不难,不过你提出的这个组件的业务目标、性能要求过于理想化了吧。
davidweimin 2002-09-11
  • 打赏
  • 举报
回复
我的EMAIL:WM139@163.COM
QQ:1563609
能做的可尽快与我联系。
davidweimin 2002-09-11
  • 打赏
  • 举报
回复
高标准才能出好东西嘛。具体实现部分地方还是可以变通的。比如服务端不用.NET组件,用COM.这样对不熟悉.NET的朋友会好些

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧