文档介绍:用Use Cases捕获需求
Pete McBreen,译:(cancan28@)
概述
开发者们经常通过一些典型的情节去理解系统并知晓系统如何工作,不幸的是他们虽然努力地去做了这些工作却很少以一种有效的方式去说明,Use Cases正是一种形式化捕获这些情节的技术。
仅管Use Cases在一本对象方面的书《Object Oriented Software Engineering》中有过定义,是跟那些对象结合在一起的,但这项技术实际上是独立于面向对象的,Use Cases是既能捕获商业处理流程又能捕获系统需求的有效方法,并且它本身比较简单和容易掌握。
使需求有利于回顾
以正规形式捕获这些情节的原因是有利于用户和开发者进行回顾,这里有2点关于一些实用需求符号的明确标准要遵循:
1) 它必须让情节的发起者和回顾者都很容易理解
2) 它不需包括一些关于系统样式和内容的决策
实用的需求是评估设计和最终实现系统的客观需求。
对于这些需求来说,必须要做的是以一种可实现的并不受约束的方式去捕获风险承担者的需要和期望。
Use Cases使需求有利于回顾
Use Cases已经得到越来越广泛的应用,它与其它需求捕获技术相比,它成功的原因在于:
1 Use Cases把系统当作一个黑盒
2 Use Case 使在需求中看到实现的决定变得更加容易
最后一点源于第一点的补充,一个Use Case没有指定任何这些需求相关的系统的内部结构,所以说,如果这个
Use Case中陈述了“提交改变到定单数据库”、“显示结果到Web页面”等的话,那么内部结构是显而易见的,并造成对设计的潜在约束。
为什么这些需求不指定内部结构的原因是,说明的内部结构给设计者带来了额外的约束,没有这些约束设计者们能更自由地建立一个正确实现客观可见行为的系统,并存在出现突破方案的可能性。
Use Cases的工业接受
Use Cases第一次被正式的描述是在6年前(1992年),从那以后它就被最主要的面向对象的方法采用,同时作为描述现在和将来的操作模式的有用技术被商业再生工程团体(Business Process munity)采用。
Use Cases最近它们自己取得在UML(Unified Modeling Language)中有效的地位和位置而得到了突出的进步。UML已经被OMG(对象管理组织)计划做为对象系统的标准语言。
什么是Use Cases?
Use Cases本身是用户或其它系统与正在设计的系统的一个交互,是为了达到一个目标。术语Actor(行为者)是用来描述有这个目标的人或系统,这个术语是用来强调有这个目标的任何人或系统。目标的本身是用行为动词开始的短语表达的,如:“Customer : place order”、“Clerk : reorder stock”等。
情节的角色
在Use Cases中不同的情节显示了目标怎样成功或失败,成功的情节是目标达到了,失败的情节是目标没有达到。这个的好处是因为目标总结了系统的各种使用的意图,用户能看到被设想怎样地使用这个系统,并且不必等到出现第一个原型或是比较糟糕的等到系统被开发出来才发现什么时候系统并不全面地支持他们的目标。
Use Cases将做成多大?
试