作者:江南白衣,原文地址:http://blog.csdn.net/calvinxiu/archive/2007/03/26/1541106.aspx,转载请保留。
就像小说里那些早慧的少年,很早就尝试过用例驱动的需求文案,结果与客户,一个愁默默,一个恨绵绵。
最狂热的用例编写者也承认,用例对客户与需求人员都是一种heavy的相互折磨。
客户看用例时总要收摄心神来阅读整个交互的流程,还有那些该死的扩展流异常流,没经过程序员专业抽象训练的客户,对着这些伪代码一般的情景脚本,刚开始的一两个还好,看多了,就是白天也能睡去。客户只是看都如此了,负责写的人当然也不会好过。
但heavy的工作总有heavy的好处,否则早被唾弃于舞台的背面。
在用户的角度,用例比模棱两可的功能点描述要清晰,也更直白于系统的价值。
在开发团队角度,RUP的核心方法论之一---用例驱动的口号,明白人自然明白它的妙用。
设计人员的新设计手段:“用时序图分析用例的实现,在描述过程中确定构件或类,分配它们的职责和方法”,通过对用例覆盖率的追踪,需求与设计之间的信息损耗这个famous problem大大降低。
测试人员和文档人员,更可以直接把系统用例笑纳为《测试用例》和《用户手册》。
来到亿迅后,被这里的用例文明给震住了,每个项目的软件规格说明都是屯门清一色的几百页的前景,用例规约,业务规则,词汇表,补充规约组成.......难得有情郎啊。
昨天又看到了一批新的用例诞生,但实在有好些明显的不足啊,忍不住旧事重提的记下一批经典的错误。不过.....只要能和客户达成需求共识,就是一份好的用例了,也不用花太多时间在学术性的讨论上。
1.客户没有能力阅读用例
如果客户实在没办法撑住困意看完用例的细节,即使草草签了名,得不到用户真正确认的用例,依然无法用来驱动设计和测试。
解决方法:放弃编写用例,改回用户容易看的传统方式。
2.团队没有能力实现用例驱动
如果开发团队在设计与测试时,根本不依照用例细节驱动,那用例对开发团队就只是个摆设,花瓶。
解决方法:对设计、测试人员进行用例驱动的培训,如果事不可为就干脆放弃,怎么省事怎么做。
3.在用例中描述系统内部工作
经典错误,开发人员把用例当作设计文档来写,如“系统将销售信息写入数据库”,实际上应该写的是“系统记录销售”。
解决方法:站在客户的角度,把系统视为黑盒,删除所有内部设计描述。
4.在用例中描述界面
另一个经典错误,不说了,如果在意用户信息包括了姓名和密码,可以在词汇表里记录,而用例写成--显示<用户信息>。
5.在用例中越出系统边界描述整个业务流程
要建立的系统只是整个业务流程里的一部,善良的需求人员为了大家清楚来龙去脉,将系统外的处理步骤也写进了用例的情景。
如:
1.用户去营业厅开户
2.用户拨号接入
实际上去营业厅开户不属于宽带接入认证系统的职责。
解决方法:开户的描述应该放到用例的前置条件中。前置与后置条件是说明系统边界外的业务流程的好地方。
6.过多的用例,让人晕菜
国外的惯例,一个用例一般有半个以上人月的开发量。
解决方法:
1.开户,销户这样的CRUD型用例可以合并成一个管理用例,以四个主场景分别表达。
2."老板问:你每天做什么阿?","我每天登陆系统"。这就是用例没有提供足够价值的明显标志。
3.用例中的每一个步骤,其实都可以写成一个独立的用例,分 or 不分?这是个问题。
4.用例的打包组织是一门艺术,混合的按照功能包、顶级目标用例,Actor,开发团队或者版本号等等。
7.过多的扩展事件和异常事件流,让人晕菜
即使是受过训练的程序员,2a, 3b1看多了也要晕掉,记住阅读者是人而不是机器。
解决方法:
1.如果逻辑不多,可以一句话讲完,不影响主场景的,不建议新起一个事件流。
2.可以使用活动图来辅助说明。在RSM7.0的模版里,每个用例都会带上一个活动图。
8.过多的关系,继续让人晕菜
“不要花一个月的时间去讨论应该include还是extend”。大家对include, extend and generalize都不熟悉,那就干脆都不要用了。
参考材料:
《编写有效用例--Wriging Effective Use Case》Corkburn 2001,大家现在使用的用例模版都是他创下来的,此书无可替代。
《用例模式与蓝图--Use Cases Patterns and Blueprints》我觉得比另一本名字相近的《Patterns for Effective Use Cases》要实用一些。
分享到:
相关推荐
PPT,概括建模基础,解释为什么要用例驱动
2、需求分析—重点:用例驱动的分析方法 3、编写“需求规格说明书” 哪些角色需要用到用例图: 客户:用例模型指明了系统的功能,描述了系统能如何使用。用例建模时客户的积极参与是十分重要的。 开发者:用例...
高清中文,你值得拥有. 难道一寻的UML建模用例分析
用例驱动的软件开发方法论
用例驱动需求分析方法是一种在软件工程和系统工程领域中广泛使用的技术,它允许从用户角度定义和描述系统功能和行为。这种方法强调的是系统所提供的服务或功能,以及用户如何与系统进行交互。下面详细说明相关知识点...
《用例驱动的需求过程实践》 在软件开发领域,需求管理是项目成功的关键。然而,根据CHAO的数据,尽管软件工程方法不断进步,但软件项目的成功率依然低下,其中60%的失败归因于需求不明确或不完整。漫画中的夸张...
【税控收款机管理系统用例驱动测试】 在软件测试领域,选择有效的测试方法对于提高测试质量和效率至关重要。本文聚焦于税控收款机管理系统的测试,采用用例驱动测试策略进行深入探讨。税控收款机管理系统主要服务于...
**UML用例对象驱动模型**是软件开发中一种基于需求的建模方法,它将业务流程和系统功能以用例的形式展现出来,为整个软件设计提供基础。该模型强调了用户需求在软件开发过程中的核心地位,通过用例来描述系统与用户...
用例驱动的需求分析 用例驱动的需求分析是软件开发过程中的一种方法,它强调从用户的角度来看待系统,并描述了系统是如何被使用的。用例模型是用例驱动的核心,它由参与者、用例和通讯关联三个模型元素构成。参与者...
总之,“用例驱动的架构设计”这种观点有严重缺陷:需求=功能+质量+约束用例是功能需求实际上的标准用例涉及、但不涵盖非功能需求纵观业界,有不少书持“用例驱动的架构设计”的观点,例如《Rational统一过程:实践
2. 用例驱动测试技术的概念:该技术是基于用例来生成测试用例并进行软件测试的一种方法。其核心思想是通过分析用例来设计测试用例,并通过这些测试用例执行测试,以验证软件的功能性是否与用例相符。 3. 用例的定义...
在结构化分析方法的不足基础上,用例驱动的需求分析方法应运而生。用例(Use Case)是表示系统所提供的服务或可执行的行为,它定义了系统是如何被参与者所使用的,描述了参与者为了使用系统所提供的某一完整功能而与...
用例驱动自动化测试是一种以用例为中心的自动化测试方法,它将测试用例作为测试过程的主要内容,通过用例模板来组织和管理测试数据和测试脚本。在国产化环境下,软件API接口测试不仅要覆盖业务规则、体现系统行为,...
图书管理系统(用例驱动的交互式需求获取)概要 图书管理系统是一个复杂的信息系统,旨在满足图书馆中大量的读者信息、图书信息和借书信息的管理需求。该系统需要提供四个方面的服务:系统管理、图书管理、借阅者...
用例命名规范是指在用例驱动开发中,对用例的命名进行统一管理和规范,以提高用例的可读性和维护性。本规范适用于需求用例编写,旨在统一用例编写中文档、规则、UI 等元素的命名规则。 用于案例命名的基本构成元素...
通过本文件内容的分析,我们可以得知,用例的编写应当遵循特定的结构和原则,同时需要密切结合项目的实际情况,确保用例能够真正反映出用户和项目相关人员的需求,并指导开发团队高效地完成项目目标。
在软件开发过程中,测试用例是确保产品质量的关键环节。测试用例是一组具体的步骤,用于验证系统的某个特定功能是否按照预期工作。它们是系统测试的基础,帮助找出潜在的缺陷和错误,以保证软件的可靠性和稳定性。本...
功能测试用例应当包括测试对象的介绍、测试范围与目的、测试环境与测试辅助工具的描述、测试驱动程序的设计等要素。 六、健壮性测试用例 健壮性测试用例是指对软件系统的健壮性测试,旨在验证软件系统是否能够在...
用例的使用在RUP中被推崇备至,整个RUP流程都被称作是"用例驱动"(Use-Case Driven)的,各种类型的开发活动包括项目管理、分析设计、测试、实现等都是以系统用例为主要输入工件,用例模型奠定了整个系统软件开发的...