OSIP项目需求设计说明书Word格式.doc
- 文档编号:13161937
- 上传时间:2022-10-07
- 格式:DOC
- 页数:17
- 大小:274.50KB
OSIP项目需求设计说明书Word格式.doc
《OSIP项目需求设计说明书Word格式.doc》由会员分享,可在线阅读,更多相关《OSIP项目需求设计说明书Word格式.doc(17页珍藏版)》请在冰豆网上搜索。
4.1客户端系统登录模块 7
4.2客户端聊天功能模块 8
4.3客户端系统功能模块 9
4.4服务器端转发功能模块 10
4.5服务器日志备份模块 11
5.功能模块设计概述 11
5.1模块汇总 11
5.2模块之间的关系 12
6.用户界面设计概述 12
7稳定性和可扩展性 12
8性能分析 13
9项目小结 13
1.文档介绍
1.1文档目的与范围
该软件项目需求设计文档的目的主要是明确用户的需求,指导我们在分析和设计系统时候能够更加贴近用户的需求,提高团队的开发效率。
通过此需求分析文档能够了解本小组所做的聊天室软件的产品描述,产品功能,具体功能需求等多方面的信息。
同时此需求分析文档是根据客户对软件系统的功能和性能方面的需求,向客户以及项目组开发成员提供详细明确的描述。
同时也为软件使用者和软件开发者之间建立共同的需求目标,进行一定程度的交流沟通。
同时对软件所需实现的功能模块做了全面的描述。
它是后续开发工作和验收工作的依据文件,软件使用者和软件开发者以此为共同的基础。
该软件项目需求设计文档的范围主要是明确聊天室系统的基本架构和将要实现的基本功能。
此系统基本功能可以实现多人在线文字聊天,并由管理员统一管理维护,今后可以在此基础上增加语音和视频功能。
1.2读者对象
本需求设计说明书的预期读者包括:
l实训指导老师
l第六小组全体组员
l对此聊天系统感兴趣的组织或个人
1.3参考文献
l《osip开发者手册》
l《ArtechHouse-SIP.UnderstandingtheSessionInitiationProtocol,SecondEdition》
l《基于CMMI3软件工程过程管理与实践》
l董玉龙.胡亮.王天宝基于eXosip2下SIP电话的设计与实现[期刊论文]-成都信息工程学院学报2008
(1)
l王世卿.李洵.王二红基于oSIP的嵌入式SIP终端的研究与实现[期刊论文]-微计算机信息2007(35)
l单德君基于SIP协议的VoIP网关的设计与实现[学位论文]硕士2007
l杨润萍基于SIP协议的语音通信技术的研究[学位论文]硕士2006
l杨钊.秦雅娟基于VoIP的SIP服务器和嵌入式终端的研究和实现[期刊论文]-计算机与现代化2010(10)
1.4术语与缩写解释
缩写、术语
解释
OS
操作系统(OperatingSystem,简称OS)是管理计算机系统的全部硬件资源以及软件资源;
控制程序运行;
改善人机界面;
为其它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。
SIP协议
SIP(SessionInitiationProtocol,会话发起协议)是下一代网络中应用层的核心控制协议,正得到越来越广泛的关注.2001年,SUN公司发布了基于JA2VA技术的规范JAIN(JavaAdvancedIntelligentNet2work)SIPAPI,将SIP协议规范为标准的JAVA接口,开发者可以方便实现SIP网络架构中的所有SIP实体,并使其具有JAVA网络编程语言方便移植的特点。
Osip2
Osip2是一个开放源代码的sip协议栈,是开源代码中不多使用C语言写的协议栈之一,它具有短小简洁的特点,专注于sip底层解析使得它的效率比较高。
但缺点也很明显,首先就是可用性差,没有很好的api封装,使得上层应用在调用协议栈时很破碎;
其次,只做到了transaction层次的协议过程解析,缺少call、session、dialog等过程的解析,这也增加了使用的难度;
再次,缺少线程并发处理的机制,使得它的处理能力有限。
eXosip
eXosip是Osip2的一个扩展协议集,它部分封装了Osip2协议栈,使得它更容易被使用。
eXosip增加了call、dialog、registration、subscription等过程的解析,使得实用性更强。
但是eXosip局限于UA的实现,使得它用于registrar、sipserver等应用时极其不容易。
另外,它并没有增加线程并发处理的机制。
而且只实现了音频支持,缺少对视频和其它数据格式的支持。
C/S结构
即客户机/服务器模式)分为客户机和服务器两层,客户机不是毫无运算能力的输入、输出设备,而是具有了一定的数据处理和数据存储能力,通过把应用软件的计算和数据合理地分配在客户机和服务器两端,可以有效地降低网络通信量和服务器运算量。
由于服务器连接个数和数据通信量的限制,这种结构的软件适于在用户数目不多的局域网。
2.系统概述
²
本系统是基于“O-SIP传输协议的聊天室系统”,通过利用O-SIP的API开发出的一套聊天工具。
本系统的主要功能:
l私密聊天
l公共聊天
l服务器信息备份
l客户端在线查询
3.设计要求
软件环境 各种版本的widows操作系统(X86)
硬件环境 CPU:
英特尔80386
以上配置
内存:
32MB
硬盘空间:
128M
接口/协议的约束:
支持标准的IP,TCP传输协议
软件质量的约束,如正确性、健壮性、可靠性、效率(性能)、易用性、
清晰性、安全性、可扩展性、兼容性、可移植性等等。
软件需求能在各种Windows操作系统上使用;
能连续工作7*24小时,
界面清晰,易于使用;
最大支持2000个用户同时在线聊天;
支持可以进一步扩大在线人数,切在客户端可以进一步添加功能。
4.软件系统结构图
4.1客户端系统登录模块
4.2客户端聊天功能模块
4.3客户端系统功能模块
N
发送公聊内容
是否私密聊天
继续聊天
Y
进入聊天室
发送私聊内容
4.4服务器端转发功能模块
4.5服务器日志备份模块
5.功能模块设计概述
5.1模块汇总
子系统AO-SIP聊天室客户端
模块名称
功能概述
系统登录
登录客户端,需要输入用户名和客户端所在的IP地址,自动分配一个(8000-999号)端口;
聊天功能
直接输入想说的话可以实现聊天室公共发言;
“$$$+想说的话”可以与某一在线用户私密聊天(前提要先设置密聊对象);
接受公共聊天和私密聊天的内容;
系统功能
发送“***list”,服务器可以返回当前在线用户URL;
发送“***help”客户端会提供所有支持的系统功能提示;
发送“***quit”客户端会退出,并发送离开消息给服务器,服务器给所有用户广播此离开消息;
O-SIP聊天室服务器端
转发功能
接收用户的信息并按照不同的类型,重新包装发送(其中用户登录消息和离开消息为广播,私聊消息为转发,查询在线用户消息为回发);
日志备份
接收每个用户的每一条信息(包括公聊,私聊,以及系统信息),加入服务器的系统时间,保存在“D:
\\log.txt”文件里;
5.2模块之间的关系
6.用户界面设计概述
目前我们O-SIP的聊天室系统的开发主要是基于控制台,由于开发时间比较仓促,所以用户界面设计部分还未完成,在后续的开发和维护中我们将此部分予以完善,给用户展示一个美观,易用,可靠的用户界面。
7稳定性和可扩展性
提示:
在“软件”生命周期内,判断哪些需求是不变的,预测哪些需求可能发生的变化。
在总体设计的时候,既要使总体结构稳定,又要适应需求变化。
l稳定性
软件应正常完成所有功能需求。
服务器应长时间运行无故障,故障修复时间一般控制在3小时内,除非出现恶性攻击、病毒破坏、系统资源不足、硬件故障、操作系统崩溃网络中断等情况,不允许出现内存泄露。
要求系统可以承受告警风暴和大数据量的冲击,不出现内存溢出等现象。
l可扩展性
系统建成后,应在现行系统上不需要做大的改动或不影响整个系统结构,就可以增加功能模块,这就必须在系统设计时留有接口,使其具有可扩展性和维护性,这样就方便在后期的维护过程中根据用户的需求添加相应的功能,同时也不会影响系统其他功能模块的正常运行。
8性能分析
由于开发时间比较仓促,以及我们开发团队技术能力和经验方面的限制,所以在以下几个方面还有不足之处,在后续的开发过程中我们将予以改进和完善。
l容错性需求
当出现代码异常时,出现正确的提示,不会影响整个系统的运行。
用户之
间信息传输不会因为数据封装问题出现丢失或乱码。
因用户的误操作产生的异常应作为及时的处理或信息提示。
l软件设计可靠性
要确定合适的模块粒度,各模块之间要求松耦合,高内聚;
从而使整个系统的可靠性和稳定性得到提高,并且便于系统维护和新模块的添加。
l安全性
安全性是防止网络方面的攻击。
在后续的开发中我们将采用数据加密存储
技术,因为数据大多数是明文存放,如果黑客一旦有机会侵入系统,如果
是明文存放的,该数据很容易暴露出来。
所以对一些核心数据,需要在数
据存储时,就进行了数据加密。
l易用性
由于我们的系统是基于控制台的,所以在用户在客户端操作起来不是很方便,因此在后续的开发中,我们将开发出基于MFC的图形用户界面,充分发挥“以用户为中心的进行设计”设计理念,从设计过程的开端便把用户所关注的东西包含于其中,并规定用户应该是任何设计决定中最重要的因素。
9项目小结
在这次O-SIP聊天室系统的开发过程中,虽然我们遇到过许多困难,经历了许多波折,但最终设计出的软件还是符合我们最初的设想,由于开发的时间比较仓促,软件还有许多方面需要完善,但是我们仍然收获很大,主要体现在以下两个方面:
l让我们深刻理解了团队的力量在软件开发中的作用。
在开发过程中我们遇到过许多莫名其妙的问题,通过大家在一起交流,最后都一一解决了,如果让个人去解决,由于每个人的思维定势和编程经验的限制,可能最后解决这个问题会花费大量的时间,从而严重影响我们开发的效率。
但是通过大家在一起讨论,研究,这些问题很快就解决了,因此团队协作的力量对开发效率的影响是不容忽视的,现在的软件开发行业再不是个人英雄主义,而是更加注重团队的力量。
l采用科学的软件设计的方法。
在组长宋磊同学的组织下,我们首先对项目的需求分析进行讨论,每个组员都可以表达自己的观点,然后大家一起讨论,确定最终的设计方案,因此我们组花了大量的时间进行需求分析,运用软件工程的思想和面向对象分析和设计方面的知识,对整个项目进行设计,最终确定出我们认为最合理,最优化的方案,然后分配给每个组员相应的任务,在限定的时间内完成,然后再大家一起交流自己的任务完成情况,以及遇到的问题,充分发挥集体的智慧大家一起解决,这样提高了我们开发项目的效率,同时在我们实际项目中采用迭代式开发方式,对于这种开发方式的好处,经过这次实际项目的锻炼,让我们才真正领悟到它的长处。
在设计时运用UML方法,让我们的设计方案更加规范,整个项目分析和设计流程更加合理,同时也取得比较好的结果。
Page17of17
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OSIP 项目 需求 设计 说明书