原文:http://searchsoftwarequality.techtarget.com/expert/KnowledgebaseAnswer/0,289625,sid92_gci1315460_tax306118,00.html
问题
:
我需要为一个现存的应用系统建立一些用例。这个系统有大量的相关文档,其中一些已经规格化了,同时也仍有好些没有整理。那如何通过用例来描述这种状态比较好呢?
专家回答:
很好的问题。不管是新建的还是现存的,各式文档对于许多的应用系统来说都是十分重要的。
首先,来考虑一下文档到底是什么,而用例又用来做什么的。文档是一种信息的集合,这些信息能够被分割、组织以及以各种不同的方式进行传递(打印成册或网络等等)。用例是一项简单但却强大的技术,它揭示了用户需要完成的工作(当然,是在应用系统的帮助下)。这样,一个用例标识了一个用户的任务——如“检视客户信息”——经过整理最终形成文件或者网络文档。
虽然我是用例技术的大粉丝,因为它关注用户,但有效的需求定义需要有更多的手段。在一个用户需求如“检视用户信息”(一个用例)中包含有大量的我们并不容易捕获的信息。你必须把这些信息作为某个特定信息集合的元数据来思考。比如说,你可能需要整理出一份文档的定义,提供者和接收者,传阅频度,(传阅)时机,(传阅)条件,以及其他的一开始就需要确定的东西。
整理这些附加的文档信息并不等于将用例技术束之高阁,它实际上是在强调单纯地描述用户任务“监视客户信息”是不够的。一个常见的编制文档的方式是创建一份用于整理这些描述的信息的文档定义模板。但这种方法并不包治百病,它不能帮助我们从一堆文档中找出缺失或相互矛盾的信息,或者找出有助于文档统一的模式。首先,我来跟大家分享我使用的两种技术:文档用例模式以及文档定义列表。在概述中,我会使用这两项技术来回答上面的问题。
用例文档样本
我常常在寻找样本模式——词组模式、处理步骤模式等等。同时,我也发现一份文档实际上是一组_______的信息集合(根据实际情况进行填空),我也发现当用户要求“监视_______的信息”包含着一些特殊的处理步骤。这个会让你发出“啊~哈”的发现告诉我是时候为这些“监视_______的信息”的用例定义样本模式了。我发现这样本模式很简单,然而之前要我整理所有的信息之间的关系却让我心有余悸。(事后也往往证明,整理出来的这些所有文档间关系并不都是有用的。)记住,下面所说的样本只是一个开端,它将为用户任务的处理步骤的整理带来简易与一致。
文档定义列表
下面的文档定义列表是经过若干次文档讨论后得出的。你或许会发现在这里样例中,文档的信息在Excel电子表格中被进行了分类,并合拢了一些列。如果你手头上有其他(比Excel)更好的处理工具你也可以拿来使用,不过这种信息分组的原则还是适用的。
花一点时间来粗略看看文档中的各项信息的标识吧。
现在,我们来展开样例中的各项分组。你应该会发现DEFINITION和PROVIDER-RECEIVER分组中几个信息列都填上了适当的内容。
注意:在CONTENT栏中有有些信息只是写了引用(自哪份文档),这是因为已经有人做了一份文档(Report Data Definition)对这些数据进行规格化了。他们也不需知道谁将要看这些文档。同样地注意一下DELIVERY的组织方式。
在FORMAT和CRITERIA栏中,有些列会来回叙述“是什么”及“如何”。当定义一个新的文档时,需求应该遵循某种公认的标准来撰写,但当这些需求是不言自明的时候是不需要规格化的。当你整理一份文档时,你拿到了这些(不言自明的)信息,那问一下自己详细叙述这些信息是否有用。如果确实有用,那就记录下来并对之进行组织整理。此外,还要注意CRITERIA栏的信息,如条件(filter)和分类(sort),注明引用了用例文档样本中的哪些样本。
小结
最后,我建议你把目光放得更远些而不要囿于你手头上的工作,因为你要使你正在创建的文档有用。了解这份文档是如何使用,这毫无疑问是让你真正掌握它的各种潜在用处的不二之法。显然,这份文档不是用于开发一个新应用系统的,它是已经存在的。尽管如此,还是有一些潜在的应用价值可以利用这些用例及其相关的文档的,它们是:
- 撰写用户指南
- 培训新员工
- 回归测试依据
- 应用系统替换的需求
上述各项,整理“是什么”是必须要做的,而整理“如何”则可据情况而定(参考上面样例中的FORMAT栏)。如果你正在整理的需求(同时又是你在整理用例时需要整理的)是用于应用系统替换的,那么一些关于“如何”替换的并非必要的限制的论述是可以加上去的。
以上原则了然于心后,来考虑一下下面的这个文档整理方法:
- 粗略浏览一下文档定义列表,删除并不适用的描述,同时完善那些在你看来并不太准确的描述。
- 在文档定义列表中填上你手头的每一份文档,并用这个列表来作为指南来提问题。对于那些没有规格化的文档,在假设这些文档存在的基础上思考并给出可以找到关于这份文档的更多信息的引用索引。
- 为用例“检视_______信息”的用例命名。在你为每一份用例文档命名前,看看是否在文档定义列表中已有相关的文档信息。
- 如果能找到,填上“检视_______信息”用例文档,同时要记得要在文档定义列表中为此用例加上引用。
- 如果找不到,就在用例样本和文档定义列表中填上所有的关于用户任何及文档元数据的相关必要信息。
不管找到与否,信息都应当避免重复冗余,达到一处描述多处引用。
分享到:
相关推荐
他提出了“敏捷用例”的概念,这是一套更为灵活的方法,旨在减少传统用例文档的复杂性和冗余,同时保持对需求的全面覆盖。 首先,Cockburn介绍了用例的基本结构,包括参与者(Actor)、触发事件(Trigger)、预条件...
基于SSH的医院在线挂号设计软件程序源码+数据库+WORD毕业设计论文文档。 医院挂号系统主要用于实现医院的挂号,前台基本功能包括:用户注册、用户登录、医院查询、挂号、取消挂号、修改个人信息、退出等。 后台基本...
关于用例的翻译,"用例"一词已经广泛接受并使用,它来源于测试中的"测试用例"。虽然有人认为"用例"不够准确,因为它描述的是一系列适应性的场景,而非单一示例,但事实上,用例既可以看作是个体,代表系统的一个特定...
3. 数据要求说明书:这个文档明确了系统所需的数据类型、格式、来源、处理方式以及存储需求,是数据库设计和数据管理的基础。 4. 需求说明书:需求说明书详细记录了用户对软件的功能、性能、界面、兼容性等需求。它...
本文介绍的是一种将故障倾向性评估纳入基于覆盖率的测试用例优先排序方法的外文翻译工作。首先,该方法是针对软件测试中的一个问题:如何有效地选择和排序测试用例,以确保在有限的测试时间内发现尽可能多的错误。...
- **合同管理**:管理与选题相关的各种合同,如出版合同、翻译合同等。 - **书稿管理**:用于登记、查询出版社的书稿资料。 - **图书管理**:管理图书的相关信息。 - **人员管理**:管理作者、编辑等人员信息。 - **...
13. **国际化与本地化**:对于多语言产品,文档需考虑翻译和本地化的需求。 通过遵循这些规范,软件开发团队可以创建出高效、高质量的文档,从而提升整个项目的成功率。这份"参考资料-软件开发文档编写规范.doc"将...
《RUP软件架构文档》是基于Rational Unified Process(RUP)的一种软件开发过程中关键的文档,由郑大鹏老师翻译成中文版,为开发者提供了软件架构设计的模板和实例。RUP是一种全面的软件开发过程框架,由IBM公司开发...
基于JSP酒店管理系统设计软件程序源码+数据库+WORD毕业设计论文文档。介绍思路 1 《酒店管理系统》 资源目录介绍 2 安装配置 1)前期准备 a、安装好MySQL数据库,用户名root,密码root b、安装配置java环境(JDK...
* 决定特征(需求):当系统已经分析好并且设计成型时,新的用例产生新的需求。 * 客户通讯:使用用例图很容易表示开发者与客户之间的联系。 * 产生测试用例:一个用例的情节可能产生这些情节的一批测试用例。 2. ...
在软件开发过程中,体系结构是至关重要的一个环节,它定义了系统的高级结构和组件之间的关系。这份"体系结构作业翻译...此外,修订历史的维护也体现了良好的文档管理实践,这对于大型项目的协作和持续改进至关重要。
6. 测试计划和测试报告:定义测试策略、测试用例和预期结果,记录测试过程和问题,以验证软件质量。 7. 代码注释和编程规范:提高代码可读性,统一团队编码风格,便于后期维护。 8. 国际化和本地化文档:针对全球...
禅道是一个国产的开源项目管理软件,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能。在一个软件中就可以将软件研发中的需求、任务、bug、用例、...
本书由Peter Zielczynski编写,周甫翻译成中文版本,旨在帮助国内读者更好地理解和应用IBM Rational RequisitePro这一工具进行需求管理。本书主要关注的是需求管理本身,特别是在实践中如何有效地使用金字塔式的分层...
9. PHProjekt:模块化的协同办公系统,包含日历、时间卡、项目管理、请求跟踪、文档管理等多个组件,支持多种协议和数据库,已翻译成36种语言。 10. Gantt Project:开源的Java桌面项目管理软件,支持Windows、...
- **需求规格文档**:应明确列出软件需要支持的语言和地区,以及对日期、时间、数字格式等的特殊要求。 - **设计文档**:详细说明如何处理字符串资源、本地化文件、多语言界面布局等问题。 - **接口设计**:定义...
- 技术文档翻译:将相关的技术文档、参考书籍、API文档等翻译成中文,便于理解和学习。 - 术语一致性:确保专业术语的准确性和一致性,提高翻译质量。 - 文化适应性:考虑文化差异,使翻译后的文本符合中国用户的...
- Django支持多语言应用的构建,文档会介绍如何翻译文本、处理时区、货币等本地化需求。 4. 性能和优化 - 高性能是现代Web应用的一个关键需求。文档将解释如何通过缓存、数据库优化等技术来提升应用的响应速度和...