OSIP项目需求设计说明书.doc_第1页
OSIP项目需求设计说明书.doc_第2页
OSIP项目需求设计说明书.doc_第3页
OSIP项目需求设计说明书.doc_第4页
OSIP项目需求设计说明书.doc_第5页
免费预览已结束,剩余12页可下载查看

下载本文档

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

文档简介

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

温馨提示

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

评论

0/150

提交评论