第一篇:手机远程服务软件功能需求说明书
附件
手机版远程服务软件功能需求说明书
本部分为手机版远程服务软件的功能需求说明,为双方根据甲方提供的项目要求共同商定的功能需求,也作为双方项目验收的依据。供应商应根据此需求提供完整的实现各功能的软件。双方在项目合同执行期间和执行后提出本规范书之外的新需求和改动要求,均需双方商定并另行拟定备忘录。技术要求
1.1 总体要求
手机版远程服务软件一款安装在桌面电脑上的软件,把安卓手机和电脑连接上后用户对手机实现对手机的管理功能,以及工程师通过接管用户电脑借助手机版客户端功能实现对手机的应用支持、咨询和维护等服务。产品的研发分三期完成,本规范描述一起项目中的功能需求。
1.手机版软件将整合至苏宁IT帮客软件中。PC端基于windows平台,支持windows XP, Windows Vista和Windows 7.2.手机版远程服务软件一期项目手机管理功能模块包括:驱动安装,应用管理,联系人管理,文件管理和图片管理。各模块具体支持项目详见详细功能章节,同时软件支持嵌入由甲方提供的应用市场客户端模块,并和应用市场提供的链接接口,下载相关应用安装。
3.一期项目仅针对于Android手机系统,支持android 2.1以上版本的手机,一期支持完全适配机型20款,详见附件一起完全适配机型列表。完全适配的定义为以上提到的手机管理功能模块均支持。
4.界面色调风格和所有弹出框风格与苏宁IT帮客4.0版本保持一致。各个界面、按钮、标签等规格以最终提交商定的UI设计为准。
详细功能
2.1 软件安装,卸载,升级
此模块为手机服务包的嵌入IT帮客的管理,由甲方提供;乙方需提供手机服务包供甲方使用。
(1)安装程序由甲方统一打包在苏宁IT帮客安装程序中,安装程序界面中增加安装手机服务包复选框
(2)未安装手机包的IT帮客中的手机服务页嵌入安装界面,点击安装:本机如有安装包直接安装;如无,调用PC下载软件下载后安装。安装好重启IT帮客客户端。
(3)安装后,开始菜单和控制面板可单独卸载手机服务模块
(4)甲方统一进行平台升级
2.2 驱动安装
(1)手机连接时,自动判断当前连接手机的驱动程序
(2)如本地有驱动程序直接安装;如无,从服务器下载,然后安装;
(3)安装完后直接连接
2.3 主页面
(1)主页面将嵌入IT帮客手机服务页面
(2)支持连接状态的显示,支持连接和断开连接操作
(3)已连接手机的图片,型号,操作系统信息显示(手机图片可从服务器获得)
(4)显示管理功能按键:应用管理,通讯录管理,文件管理和图片管理,点击启动手机服务软件并进入相应的管理页面
(5)支持甲方提供的应用市场页面的嵌入
(6)支持通过应用市场页面的应用下载链接接口下载应用
2.4 应用管理
(1)应用信息列表显示(用户软件,系统软件,可升级软件)
(2)应用安装,卸载,备份,升级(升级需与甲方应用市场接口,包括应用匹配,匹配后的最新版本信息获取和升级包的获取)(3)本地应用搜索
(4)支持甲方提供的应用市场页面的嵌入
(5)支持通过应用市场页面的应用下载链接接口下载应用
2.5 通讯录管理
(1)支持联系人列表显示(全部联系人,收藏夹)
(2)联系人添加,删除,编辑,导入/导出(一种csv格式)
2.6
文件管理
(1)支持当前文件树结构的显示
(2)支持文件结构浏览的后退,前进,向上层,排序
(3)支持文件夹的新建,文件和文件的删除,重命名,复制,粘贴,剪切(右键菜单和快捷键)
(4)支持当前目录下向紧邻下一层文件夹的文件拖拽(5)支持当前文件夹下基于文件名的文件搜索(6)支持存储容量信息的显示
2.7 图片管理
(1)支持文件缩略图的显示(所有图片,照相机图片)(2)支持图片的单选,多选,全选,全不选(3)支持选中图片的删除,导出(4)支持从PC端添加图片
(5)支持点击查看选中的单个图片(利用PC系统图片查看器查看)
第二篇:远程服务平台软件说明书
用友远程服务系统V1.02
用户手册
用友远程服务系统V1.02 版权声明
北京亿通畅联科技有限责任公司 版权所有
本用户手册中的任何信息在未经北京亿通畅联科技有限责任公司同意的条件下不得以任何方式(包括纸张印刷品、电子出版物、电子文档等信息传播媒介)复制、传播、摘抄、再发表。
本手册中的所有信息仅代表产品公布之日亿通畅联公司的观点,并且我们无法保证用户手册中有偏差信息的存在,我们保留因产品升级或其它原因而更改用户手册的权利。
最终用户许可协议
*重要:请认真阅读──本软件《最终用户软件授权协议》(以下称《协议》)
这份协议是您(个人或机构团体)与北京亿通畅联科技有限责任公司之间就有关使用、购买亿通畅联科技软件产品的法律协议。本软件产品包括计算机软件并且还包括可能在软件中出现的或包含在软件中的电子文档、相关媒体和印刷材料等等(以下称“软件产品”)。您一旦安装、复制或以其它方式使用本“软件产品”,即表示您同意接受本《协议》中相应条款的约束。如果您不同意本《协议》中的条款,则您不得安装、复制或以其他方式使用本“软件产品”。
此外,一旦您安装、复制或以其它方式使用本“软件产品”的任何“更新件”或其它组件,即表示您同意接受随附这些“更新件”的任何附加许可条款的约束。如果您不同意随附这些“更新件”的附加许可条款,则您不得安装、复制或以其它方式使用该“更新件”。1.软件产品许可证
本“软件产品”受中华人民共和国著作权法及其他有关国际版权条约和其它知识产权法及条约的保护。本“软件产品”只是许可使用,而非出售。2.软件产品使用的许可
亿通畅联科技将本软件程序的使用权授予您。但您必须向本公司作以下保证:
1)不在本协议规定的条款之外,使用、拷贝、修改、租赁或转让本系统或其中的任一部分。2)只在一台机器上使用本系统;
3)为在这一台机器上使用,出于备份或档案管理的目的,允许以机器可读格式制作本系统的拷贝;
4)在他方接受本协议的条款和条件的前提下,将本系统及许可协议转让给另一方使用,如若发生转让,原文档及其伴随文档的所有拷贝必须一并转让对方,或将未转交的拷贝全部销毁;
5)只在以下之一前提下,将本系统用于多用户环境或网络系统。本系统明文许可用于多用户环境或网络系统上;或者,使用本系统的每一节点及终端都已购买使用许可。3.其它权利和限制的说明 1)对本系统再次转让许可;
2)对本系统进行逆向工程、反汇编或解体拆卸;
3)拷贝或转交本系统的全部或部分,但本协议中明文规定的除外。
4)您将本系统或拷贝的全部或局部转让给另一使用方之时,您的许可权即自行终止。4.本系统的版权和所有权:
本系统及其所有拷贝的名称,与光盘上或本系统中注明的公司同在。本系统及文档享有版权,并受国家版权法及国际公约条款的保护。您不可以从本软件中去掉其版权声明;并保证为本系统的拷贝(本部或部分)复制版权声明。您同意制止以任何形式非法拷贝本系统及文档。5.有限保证
如果本“软件产品”注明为基本版,则该软件的某些功能按照亿通畅联公司保证本软件所公布的功能和规格,使用期限为期半年(或根据销售合同规定的时间期限),使用期限到期后,该部分功能的使用将受到限制。说明:如果您购买了该软件产品的“企业激活码”,您对“企业激活码”的使用应受该最终用户软件授权协议中的条款和条件的约束。6.售后担保:
1)亿通畅联科技担保,在正常使用的情况下,自售出之日起九十天内,其软件载体无材料或工艺缺陷。经验证确有缺陷时,本公司的全部责任就是退换其软件载体;也是给您的唯一补偿。
用友远程服务系统V1.02
目录
1.欢迎使用用友远程服务系统.........................................................................................................................................2 1.1概要介绍..................................................................................................................................................................2 1.2运行环境..................................................................................................................................................................2 1.3设置..........................................................................................................................................................................2 1.4.注册.........................................................................................................................................................................4 2.用友远程服务系统使用说明.......................................................................................................................................7 2.1.安装与卸载.............................................................................................................................................................7 2.2.用友远程服务系统主界面...................................................................................................................................7 2.3.系统服务主界面.....................................................................................................................................................8 2.4.与工程师进行会话.................................................................................................................................................9 2.6.消息中心...............................................................................................................................................................14 2.7 设置在线状态.......................................................................................................................................................15 2.8.软件自动更新.......................................................................................................................................................15 3.技术支持信息...............................................................................................................................................................15
用友远程服务系统V1.02
图:基本设置
在上述界面内,用户可进行基本信息修改及用户密码设置。
注册
详细内容可参考下一节的内容。
网络设置
网络设置主要是让通过代理上网的用户可以连接到用友远程服务系统的服务器。用户在进行代理设置时要根据自己的上网方式来选择。
在您登陆系统之前,请先对本软件的网络进行设置:
无论在何种网络环境中,请确认您的计算机可以访问公网主机的 8000,8001及8008端口。如果您的网络内没有硬件防火墙,或者软件防火墙则不必进行网络设置。如果您的网络内有防火墙,但没有对公网访问进行限制,则也不必进行网络设置。如果您的网络需要通过代理才能访问到外网主机及端口,则需要点击“网络选项”进行设置。
用友远程服务系统V1.02
输入后企业码后,点击确定,出现如下用户注册信息。
输入自定义的注册登陆用户和密码后,点击注册即完成 在线用户 的注册。
用友远程服务系统V1.02
2.用友远程服务系统使用说明
2.1.安装与卸载
(一)安装用友远程服务系统
运行用友远程服务系统的安装程序,找到软件安装包
双击此安装文件进行企业端远程服务安装。按安装向导的提示进行操作安装完成后,因为您是第一次使用本企业端软件,需要进行软件注册,注册流程详见1.4章节的内容。软件安装成功后,会在系统的开始->程序内建立程序项,也会在桌面及快速启动栏内创建软件快捷方式,通过此快捷方式的点击,用户可很容易的打开软件。
(二)卸载用友远程服务系统
卸载用友远程服务系统的方法有以下两种:(1).从Windows控制面板卸载:
打开Windows控制面板->添加/删除程序,然后选中[用友远程服务系统],单击删除即可。(2).从程序栏内执行远程服务卸载:
打开 开始->所有程序->用友远程服务系统卸载,按向导的提示进行操作,即可将本软件从系统内卸载。
2.2.用友远程服务系统主界面
首先通过开始的程序菜单或其它方式打开用友远程服务系统的主程序,进入用友远程服务系统的客户端主界面,您就可以正常使用了,如下图:
用友远程服务系统V1.02
企业用户登陆后,可在主服务界面内选择我的产品,选择问题种类,选择模块范围(可选),并点击
按钮开始呼叫远端工程师。点击后系统自动为您呼叫合适的工程师,呼叫成功,则您可以和远端工程师通过文字会话、文件传输、远程桌面接管等方式,来解决您当前的问题及沟通解决问题的方法。
2.4.与工程师进行会话
呼叫工程师成功后,您可以在如下界面内与工程师进行沟通交流。
用友远程服务系统V1.02 在用友远程服务系统的主界面上单击
按钮,出现如下安全警告界面;
图:请求远程服务
企业用户点击 是 按钮,则表示用户同意请求远程桌面请求,此时工程师端点击接受后,即可开始进行远程协助会话。
点击 按钮,可以浏览文件,将文件发送到对方,也可以将文件直接拖拽到文字编辑框内来实现文件发送。
用友远程服务系统V1.02
在弹出的对话框内,企业用户可写入投诉信息,点击确认按钮后,系统将此信息自动发送到用友相关客服部门进行处理。
用友远程服务系统V1.02 2.7 设置在线状态
操作员可通过点击服务主界面的 状态 菜单进行状态的修改。
当在会话状态的企业端用户设置了状态信息后,对端工程师会话窗口内会显示该用户的状态。
2.8.软件自动更新
用友远程服务系统提供网络自动更新功能,可以及时对产品升级,可以增强软件的功能,使产品功能更加完善。自动更新方式:
(1).当用户登陆到系统后,系统自动验证该软件版本是否为最新,并给出是否更新新版软件的提示;(2).用户可在服务主界面的 用友链接 页面内,点击 更新最新版本 链接,来进行自动下载更新。
如果您在升级过程中遇到什么问题请与我们联系,详细联系方式请参阅技术支持信息。
3.技术支持信息
如果在使用的过程中遇到问题,请及时与我们联系!公司名称:用友软件股份有限公司 地址: 邮编:100085 电话:
第三篇:怎么写软件需求说明书范文
怎么写软件需求说明书
关键字:软件需求 说明书
软件需求说明书
1.引言
1.1 项目名称
1.2 项目背景和内容概要
(项目的委托单位、开发单位、主管部门、与其它项目的关系,与其他机构的关系等)
1.3 相关资料、缩略语、定义
(相关项目计划、合同及上级机关批文,引用的文件、采用的标准等)
(缩写词和名词定义)
2.任务概述
2.1 目标
(项目的开发目标和应用目标。如果是其他系统的一部分,则说明其关系)
2.2 范围
(包含的业务,不包含的业务)
2.3 假定条件与约束限制
(尽量列出开展本项目的假定和约束,例如:经费限制,开发期限,设备条件,用户现场环境准备等)
3.业务流程
4.数据描述
4.1 原始数据描述
a.静态数据
b.动态数据
4.2 数据流向图
4.3 数据概念模型和描述
5.功能需求
5.1 功能描述
6.界面要求
6.1报表格式
6.2图形要求
6.3输入输出要求
7.接口要求
(描述与本系统相连的系统的接口的数据格式,数据交换协议,接口功能等)
8.性能需求
8.1数据精确度
(例如,数据内部精度,外部显示精度)
8.2数据量
8.3时间特性要求
(根据所开发系统的特点,规定系统对时间的特性的要求。例如: 系统响应时间、界面更新处理时间、数据转换与传输时间)
9.运行环境需求
9.1网络和硬件设备平台
(网络拓扑图及设备类型描述)
10.操作系统平台
数据库系统平台
10.1编程工具
10.2其它支撑软件
11.其它专门需求
11.1安装和操作
11.2安全保密
11.3维护服务
第四篇:如何写软件项目需求说明书
如何写软件项目需求说明书
进入软件开发行业也有一段时间了,大大小小项目也接触了一些,对于怎么写好项目需求文档做一下总结,发表一下自己的看法。1 获取需求:
作为需求方也就是甲方,通过语言描述或文档的方式将需求(系统需要提供的功能)提交给开发人员(需求分析人员)。
获得需求的方式可以有多种多样:电话询问、现场考察、聆听用户讲解、阅读用户编制的相关文件(如招标书),其实这些方法都是GET方式,我们可以通过以下两类技术手段来达到:GET(获取)和PUSH(引导、反馈、激发)相互结合的方式来得到我们真正的需求,而这两个过程都是必须交互进行的,一般我们可以筛选一名非常有经验(包括谈判技巧、深厚的业务和技术背景、人缘很好、勤奋努力)的人士担任需求工程师,长期在客户那里工作。2 需求分析人员
(1)根据客户提供的文档或语言描述,将需求按功能划分,以用例图的方式表达系统提供的功能模块及功能模块之间的关系,完成用例图后与客户确认大的功能模块,并对每个功能模块做进一步的沟通详细记录用户所提供的关键性的描述,此过程需要系统分析人员对客户进行引导。
(2)对每个功能模块进行详细分析与描述,具体信息包括:用户角色、功能说描述、IPO的方式进行描述(即输入项、输出项、处理)、要提供必要的功能说明,如果使文档更加直观,更容易让客户理解,可以用UI的方式表达输入输出,配合必要的描述,这样对于客户更加容易理解,需要与客户进行大量的沟通确认。
(3)编写数据字典:在需求阶段,很难使团队的思路一致,建立一个合适的机制是完全必要的,这就是数据字典,数据字典是对系统用到的所有数据项和结构的定义,以确保开发人员使用统一的数据定义。在需求阶段,数据字典至少应定义客户数据项以确保客户与开发小组是使用一致的定义和术语。分析和设计工具通常包括数据字典组件。
(4)关于文档具体表述的格式与形式,要根据所要表达的功能来确定,最重要的是把事情描述清楚,这事最终的目的;
(5)需求文档确定后,设计人员根据这份需求文档进行系统的设计工作了。
第五篇:如何编写高质量“软件需求说明书”.doc
如何编写高质量“软件需求说明书”2003-01-27· · ··天极论坛 2 下一页
你的工程应该有个好的起点。一个小组要带领客户进入需求启发阶段而且你要写软件需求说明书。这份说明有些大,但客户会很重视,所以说明必须得到赞同。
现在你正在设计其中的一个特性,已经发现了需求的一些问题。你可以用多种不同的方式解释需求15;需求9 的说明正好与需求21相反,你因该相信哪一个?需求24非常含糊,你根本不明白它的意思;你不得不花上一个小时与2位开发人员讨论需求30,只因为你们对 其各有各的理解;并且,唯一能够澄清这些问题的客户没有给你们答复。你被迫破解众多需求的含义,并且你能预料到,如果你错了,你要做大量的重复工作。
许多软件需求说明书(SRS)写得非常糟糕。任何产品的质量需要其原始材料的质量保证,糟糕的软件需求说明书不可能产出优秀的软件。不幸的是,几乎没有开发人员受过与需求的抽象、分析、文档、质检有关的教育。而且,没有非常多的好需求可以借鉴学习,部分原因是很少有工程可以找到一个好的借鉴,其 他原因是公司不愿意将其产品说明书放在公共区域。
这篇文章描述了高质量需求叙述和说明的几个特性(特点)。我们将用这些观点检查一些有缺陷的需求,带着痛楚重新编写。而且我会谈一些如何编写好 的需求的提示。你也许想通过这些质量标准评估你的工程需求。对于修订,也许迟了,但你会学到一些有用的东西,并帮助你的小组在下次编写出更好的需求。
不要期望能够编写出一份能体现需求应具备的所有特性的SRS。无论你怎么细化、分析、评论和优化需求,都不可能达到完美。但是,如果你牢记这些特性,你就会编写出更好的需求,生产出更好的产品。
高质量需求叙述的特性
我们如何从一些有问题的需求中分辨出好的软件需求?这一节将分别介绍需求叙述应体现的6个特性,下一节将从整体上介绍SRS文档应具备的特性。判断每个需求是否具备应有的特性的一种方式是由持有不同观点的工程资金管理人所作的正规检查。另一种有力的方法是在编写代码前依据需求编写测试例子。测试 例子能够明确显现在需求中描述的产品行为(特性),能够显现缺陷、冗余和含糊之处。
正确:每个需求必须精确描述要交付的功能。正确性依据于需求的来源,如真实的客户或高级别的系统需求说明书。一个软件需求与其对应的系统需求说明书相抵触是不正确的(当然,系统需求说明书本身可能不正确)。
只有用户的代表能够决定用户需求的正确性,这就是为什么在检查需求时,要包括他们或他们的代理的关键所在。不包括用户的需求检查就会导致开发人员的:“这是没意义的”,“这可能是他们的意思”等众所周知的猜测。
可行性:在已知的能力、有限的系统及其环境中每个需求必须是可实现的。为了避免需求的不可行性,在需求分析阶段应该有一个开发人员参与,在抽象阶段应该有市场人员参与。这个开发人员应能检查在技术上什么能做什么不能做,哪些需要需要额外的付出或者和其他的权衡。
必要性:每个需求应载明什么是客户确实需要的,什么要顺应于外部的需求,接口或标准。每个需求源于你认可、具有权说明需求的原始资料,这是考虑 必需的另外情形(译注,此句翻译不顺,请参照原文:Another way to think of “necessary” is that each requirement originated from a source you recognize as having the authority to specify requirements)。跟踪每个需求回溯到出处,如用例,系统需求,规章,或来自其他用户的意见。如果你不能标识出处,可能需求只是个镀金的例子,没有真正的必须。
优先权:为了表明在一个详细的产品版本中应包含哪些要点,需要为每个需求,特征,或用例分配实现的优先权。客户或其代理都应有强烈的责任建立优 先权。如果所有的需求都被视为同等重要,那么由于在开发中,预算削减,计划超时或组员的离开导致新的需求时,项目经理将不能起到作用。优先权的作用是提供给客户的价值,实现的相关费用,实现相关联的有关技术风险。
我是用3种级别的优先权:高优先权表明需求必须体现在下一个产品版本中,中优先权表明需求是必须的,但是如果需要可以推迟到晚一些的产品版本中,低优先权表明有它很好,但我们必须认识到如果没有充足的时间或资源,它可以被放弃掉。
明确:需求叙述的读者应只能从其得到唯一的解释说明,同样,一个需求的多个读者也应达成共识。自然语言极易导致含糊。要避免使用一些对于SRS 作者很清楚但对于读者不清楚的主观词汇,如:用户友好性,容易,简单,快速,有效,几个,艺术级,改善的,最大,最小等等。每写一个需要都应简洁,简单,直观的采用用户熟知的语言,不要采用计算机术语。检查需求模糊的有效方式包括需求说明书的正规检查,根据需求写测试,建立用户的假想来说明产品某个特定部 分预期的特性。
可证实:看你是否能够做出测试计划或其他验证方式,如检查和实证,来决定在产品中每个需求是否正确的实现。如果需求是不可验证的,决定需求是不 是正确的实现就成了判断的事。需求之间不一致,不可行,不明确也能导致不可证实。任何需求如果说产品将要支持什么也是不可证实的。
高质量需求说明的特征
一个完整的SRS不仅是包括长长的功能性需求列表,还包括外部接口描述和一些诸如质量属性,期望性能的非功能性需求。下面描述了高质量的SRS的一些特性。
完整:不应该遗漏要求和必需的信息。完整性也是一个需求应具备的。发现缺少的信息很难,因为根本不存在。在SRS中将需求以分层目录方式组织,将帮助评审人员理解功能性描述的结构,使他们很容易指出遗失的东西。
在需求抽象时,相对于系统功能,你过多的注意用户的业务,将导致在需求的全局观和引进不是真正必需的需求上显得不足。在需求抽象上,应用用例方法会发挥很好的作用。能够从不同角度察看需求的图形分析模型也可以检查出不完整性。
如果你知道已缺少一些信息,使用TBD(to be determined)标准标志可以突出这些缺陷,当你在构建产品的相关部分时,就可以从一个给定的需求集中解决所有的缺陷。
一致性:一致性需求就是不要于其他的软件需求或高级别的系统(商业)需求发生冲突。需求中的不一致必须在开发开始前得到解决。只有经过调研才能确定哪些是正确的。修改需求时一定要谨慎,如果只审定修改的部分,没有审定于修改相关的部分,就可能导致不一致性。
可修改性:当每个需求的要求修改了或维护其历史更改时,你必须能够审定SRS。也就是说每个需求必须相对于其他需求有其单独的标示和分开的说明,便于清晰的查阅。通过良好的组织可以使需求易于修改,如:将相关的需求分组,建立目录表,索引,以及前后参考(照)。
可追踪:你应能将一个软件与其原始材料相对应,如高级系统需求,用例,用户的提议等。也能够将软件需求与设计元素,源代码,用于构造实现和验证需求的测试相对应。可追踪的需求应该具有独立标示,细密和结构化的编写,不应过大,不应是叙述性的文字和公告式的列表。
需求质量的评审
这些有关需求质量的特性的描述在理论上都是非常好的,但一个好的需求到底是个什么样子的呢?为了体现得更切合实际,我们做个小练习。下面有几个 从实际的工程选出的需求,依据上面的质量标准,评估每个需求,看看有什么问题,然后用更好的方式重写。我将对每个例子都提出自己的分析和改进的建议。也欢 迎你提出不同的见解。我所占优的只是我知道每个需求的出处。因为你我都不是真正的客户,我们只能猜测每个需求的意图。
例1.“产品应在不少于每60秒的正常周期内提供状态信息”
这个需求是不完整的:状态信息是什么,如何显示给用户。这个需 求有几处含糊。我们在谈论产品的哪部分?状态信息间隔真的假定为不少于60秒?,甚者每10年显示一条新的状态信息也可以?也许它的意图是消息间隔不应超 过60秒,那么1毫秒是不是太短?“每”这个词导致了不确定性。问题的后果,就是需求的不可证实。
弥补缺陷,重写需求的一种方法:
1、状态信息
1.1后台任务管理器因该以误差上下不超过10秒的60秒间隔,在用户界面的指定位置显示状态信息
1.2如果后台进程处理正常,那么应该显示任务已完成的百分数/比
1.3任务完成时,应显示相关的信息
1.4后台任务出错应该显示错误信息
为了分别测试和追踪,我将其分成了多个需求。如果将几个需求串接在一节中,在构造和测试时就很容易漏掉一个。
例2.“产品应瞬间在显示和隐藏不可打印字符间切换”
计算机在瞬间不能做任何事,所以这个需求不切实可行。它的不完整性 表现在没有声明触发状态切换的条件。软件要在某些条件下更改自己?或者用户为了模仿更改要做一些动作?而且,在文档中改变显示的范围是多大:选中的文本,整个的文档,或其他的?这也是个模糊的问题。不可打印字符合隐藏字符一样吗?或者是一些属性标志或一些控制字符?问题的后果,就是需求的不可证实。
象这样编写需求也许更好一些:“用户能够在一个由特定触发条件激活处于编辑的文档中在显示和隐藏所有HTML标记间切换”。现在就很清楚,不可 打印字符是HTML标记。由于没有定义触发条件,需求对设计没有约束力。只有设计人员选定了触发条件后,你才能编写测试验证触发的正确操作。
例3.“HTML分析器可以产生HTML标记错误报告,帮助HTML入门者快速解决错误”。单词“快速”使其模糊,没
有加进错误报告的定义也是其部完整。我不知道,你怎么验证这个需求。找一个自称为HTML的入门者,看看能不能根据错误报告快速解决错误?
试试这个:“HTML分析器可以产生一个错误报告,错误报告包含有在被分析文件中出错的HTML文本和行号以及错误的描述。如果没有错误,就不 会产生错误报告”。现在我们知道了,什么会被加到出错报告中,但是出错报告是个什么样子,则留由设计人员决定。我们还指定了一个例外:如果没有发现错误,不产生错误报告。
例4.“如果可能,主管号码应通过联机校验,而不是通过主全体主管号码列表校验”。真感到绝望,什么是“如果可能”:如果技术上可行?如果主全 体主管号码列表可以联机获得?要避免象“应该”的这类不确切的词。客户是需要这个功能性还是不需要。我曾看过一些需求说明书,采用诸如:应,将,应该/
将 要等一些词描述优先级的细微差别。但我更喜欢用“应”清楚的说明需求的意图,指明优先级。这是修改后的:系统应校验输入的主管号码而不通过联机的主全体主 官号码列表。如果在列表中没有发现主管号码,将会显示一条错误信息,也不接受指令。
在理解各个已完成的糟糕需求上,开发人员将会遇到的难题是:开发人员与客户将会在审核需求,未达成共识前发生激烈的争论。详细检查大的需求文档 不是一件轻松的事情。我清楚有人做过,而且他们花在检查上的每一分钟都是值得的。相对于开发阶段和用户的抱怨电话,在这个阶段修补缺陷是便宜的,编写质量需求的方针
编写优秀的需求是没有公式化的方法的。这需要大量的经验,要从你在过去的文档中发现的问题学习。请在组织软件需求文档时,严格遵从这些方针。
句子和段落要短。采用主动语气。使用正确的语法,拼写,标点。使用术语,要保持一致性,并在术语表或数据字典中定义它们
要看需求是否被有效的定义,可以以开发人员的观点看看。在内心将“当你们做完了找我”这句加到文档尾部,看看能不能是你紧张起来。换句话说,你 是否需要SRS的编写者的额外解释帮助开发人员很好的理解需求,以便于设计和实现?如果是的话,在继续工作前,需求还需要细化。
需求编写者还要努力正确地把握细化程度。要避免包含多个需求的长的叙述段落。有帮助的提示是编写独立的可测试的需求。如果你认为一小部分测试可以验证一个需求的正确,那么它已经正确的细化了。如果你预想到多种不同类的测试,几个需求可能已挤到了一起,需要拆分开。
密切关注多个需求合成了单个需求。一个需求中的连接词“和”/“或”建议几个需求合并。不要在一个需求中使用“和”/“或”。
通篇文档细节上要保持一致。我曾看见过多个需求说明书前后不一致。如:“对于红色合法的颜色代码应是R”及“对于绿色合法的颜色代码应是G”就有可以以分散的需求分离开,而“产品应能对来自语音编辑指示做出反应”应作为一个子系统,不应作为单个的功能性需求。
避免在SRS中过多的申述需求。在多处包含相同的需求可以使文档更易于阅读,但也会给文档的维护增加困难。文档的多份文本要在同一时间内全部更新,避免不一致性。
如果你遵从了这些方针,你能够尽早地经常正式或非正式的审查需求,这些需求对于产品的构造,系统测试以及最后的客户满意,都会成为好的奠基石。并且要记住,没有高质量的需求,软件就象一盒巧克力,你永远不知道你会得到什么。