UseCase是个什么概念?
展开全部
在软件工程中,用例是一种在开发新系统或者软件改造时捕获潜在需求的技术。每个用例提供了一个或多个场景,该场景揭示了系统是如何同最终用户或其它系统交互的,从而获得一个明确的业务目标。用例要避免技术术语,取而代之的是最终用户或者领域专家的语言。用例一般是由软件开发者和最终用户共同创作的。 在1986年,Ivar Jacobson,UML和统一过程的重要贡献者,提出了用例的概念。Jacobson的思想很有影响力,也很有发展力。之后在这个科目上又有很多贡献,在定义用例是什么和怎么有效的书写用例方面最重要,最有影响力也最全面的,是Alistair Cockburn,他写的书籍是《编写有效用例》。 用例迅速成为获取功能需求的最常用的手段。用例最初是和面向对象一同提出的。但是它不止局限于面向对象系统,因为用例实质上不是面向对象。 用例范围和目标 每个用例集中描述如何获得一个业务目标或任务。从传统的软件工程视角来看,用例只是描述了系统的一个特征。所以对大部分软件项目来说,这就意味着需要很多(有可能是数十个)用例来完整的描述新系统。一个特殊软件项目的正规度和项目的不同阶段将会影响每一用例需要的详细程度。 一个用例定义了外部执行者和被考虑的系统之间的交互来实现一个业务目标。执行者是在系统外部和系统交互的人;一个执行者可以是一类用户,用户可以扮演的角色或者其它系统。 用例把系统看作"黑盒",同系统的交互,包括系统的响应都是可以在系统外部感知的。它是一个deliberate policy,因为它简化了需求的描述,避免了对功能如何实现做出假设的陷阱。 用例应该: 描述了满足业务目标的业务活动 没有涉及特定的实现语言 要求合适的细节级别 足够短,使得在一次发布中能够被一个软件开发人员实现 [编辑] 用例图 Image:UMLUSE.PNG许多人通过UML认识了用例,UML定义为展现用例的图形符号。 UML并没有为描述用例定义书写格式的标准,因此许多人误认为这些图形符号就是用例本身;然而,图形符号只能给出最简单的一个或一组用例的概要。 UML是用例图形符号最流行的标准。但是,还有一些其它的可选择的标准。 [编辑] 书写用例 [编辑] 细度 Alistair Cockburn 在编写有效用例一书中确定了三种书写用例的细度。 [编辑] 摘要 摘要用例有很少的句子组成来总结的用例。它十分适合在电子表格中计划软件开发。一个摘要用例能够简单插入电子表格的单元格中并且用表格中的其它列记述业务优先级,技术复杂度,版本号等。 [编辑] 非正式 一个非正式的用例由文本段落组成,包括了上面提到的那些列,用总结或故事的形式详细的描述了用例。 [编辑] 完整正式 一个完整正式或者复杂的用例是一个以包含了不同部分的长模版为基础的正规的文档。该用例在下面的用例模版部分进行讨论。 [编辑] 适当使用 一些软件开发方法学只需要非正式的用例来定义需求。然而,开发方法学需要完整正式或详细的用例来定义需求。较大且较复杂的项目更需要使用完整正式的用例。 [编辑] 用例模版 没有一个意见一致的模版来编写详细的或fully dressed 用例。 There is no agreed template for documenting detailed or fully dressed use cases. There are a number of competing schemes and individuals are encouraged to use templates that work for them or the project they are on. Standardisation for each project is more important than the detail of a specific template. However, there is considerable agreement about the core sections; and so beneath different terminology and order there is an underlying similiarity between most use cases. (现在存在很多相互竞争的模板。同时,程序员们也被鼓励用那些适合于他们的工作或者他们所做项目的模板,相对于某个指定模板的细节来说,项目的标准化要重要的多,但是这些模板的关键部分都是大体相同的,所以,虽然在某些术语上或者其他一些方面上存在不同,但是这些用例从本质上来说,是大同小异的。) 典型部分包括: 用例名 迭代 综述 前置条件 触发器 基本事件流 备选路径 后置条件 业务规则 说明 作者和日期 不同的模版经常有其它部分,如,假设,异常,建议,技术要求。也会有行业细节部分。 [编辑] 用例名 用例名为用例提供了一个唯一标示。它要用动/宾格式书写,并且要充分,达到最终用户能够明白用例中描述的是什么。 [编辑] 迭代 迭代部分通常需要告知读者用例完成的阶段。最初,为业务分析和确定范围的用例和用于软件开发的用例肯定会有许多不同。老版本的用例可能还在当前文档中,因为它们对不同的用户群可能会有价值。 [编辑] 综述 综述 部分用于在主体完成之前捕获基本场景。它提供了快速的总结,避免了读者浏览全部内容,能够很快的理解该用例的用途。 [编辑] 前置条件 前置条件 部分用来表达当用户开始用例时某些条件必须为真。但是它们不是启动用例的触发器。 [编辑] 触发器 触发器 部分描述了启动用例的起始条件。 [编辑] 基本事件流 最低限度,每一个用例都需要描述一个主场景或者典型事件流。主事件流一般是一组有编号的步骤,如: 1) 系统提示用户登录。 2) 用户输入他的名字和密码。 3) 系统验证用户信息。 4) 系统使该用户登录入系统 ...其他 [编辑] 备选路径 用例可能包含第二条路径,或者和主题不同的备选场景。异常或当出错时会发生什么事情也需要描述出来,这种描述可以在备选路径中或者在它本身的部分。备选路径使用基本事件流中的序号来标示在哪一点上同基本场景不同,并且如果合适它从哪一点回到基本场景中。目的是避免不必要的重复信息。 备选路径的例子: 1) 系统识别用户机器上的cookie 2) 到步骤4(主路径) 异常路径的例子: 3) 系统不能识别用户登录信息 4) 到步骤1(主路径) [编辑] 后置条件 后置条件 部分总结了在场景结束后事务的状态。 [编辑] 业务规则 业务规则是一些成文的或未成文的规则,对于用例来说它决定了一个组织是如何执行业务的。业务规则是一个特殊种类的假定。它可能适用于某一个用例或者整个用例,甚至整个业务。 [编辑] 注释 经验告诉我们,不管采用何种模版,分析人员发现总有重要的信息不适合模版的结构。因此每一种模版通常包含了这种明显不能避免的信息的部分。 [编辑] 作者与日期 这部分列出创建用例的版本和谁书写的。还需要列出开发过程中从早期阶段开始的每个用例版本的日期。作者习惯在下面列出,因为它不被认为是重要的信息;用例是共同努力的结晶,并且它们被所有人拥有。 [编辑] 用例的效益 用例是一个较新的,比较敏捷的捕获软件需求的形式。用例经常和大的,统一的文档形成对比。这些大文档想要在新系统开始构成前,完整的表达出所有可能的需求,但这种做法通常都是失败的。 用例的几点优势: 用例已经证实更容易被业务用户理解,因此它也是开发人员和最终用户的很好的沟通桥梁。 用例对于确定范围很有用。用例使分阶段交付从而一步步完成项目变得容易; 它们能够在优先度变化时相对较容易的添加或从软件项目移去。 用例可跟踪。 用例能够作为估计,制定进度和验证成果的基础。 用例防止了不成熟的设计 用例不使用特定语言 用例允许我们去讲故事。能够容易的采用将需求转换为故事或场景这一具体的方法来描述用例。 用例在项目中可复用。 用例在每一次迭代中都能进一步演化,用例可以用于捕获需求,成为程序员的开发依据,发展为测试用例,到最后成为用户手册。 用例与用户和系统交互相关。它们使软件开发者在开发之前或当中就能够开始用户接口设计。 用例将需求置于上下文中,它们能够清楚地描述业务活动间的关系。 [编辑] 用例的局限性 用例不是没有局限性: 用例在捕获系统功能需求上表现很优秀,但是它们并不适合方便的捕获非功能需求。尽管一些用例支持者过于热心的主张,还是需要其它的方法去捕获非功能需求。 用例模版不能自动保证清晰。清晰要依靠书写者的技巧。 用例并不像支持者说的那样易于理解。 There is a learning curve involved in learning to interpret them correctly for end users and programmers alike.(如何正确地向最终用户和程序员解释这些用例是一个需要花费时间学习的事情。) 极限编程的说明者通常认为用例是没用的文档,他们更喜欢用较简单的用户故事这一方法。 可用性设计人员批评用例在开发过程中过早的引入了用户接口设计。他们指出用例描述用户和系统之间的交互,很显然它和用户接口设计重叠了。不好的用例描述将过细的,专断的用户接口设计包含于交互的描述中,即使用例的一个原则是不要加入实现的细节。
富港检测技术(东莞)有限公司_
2024-05-27 广告
2024-05-27 广告
ISTA3E程序是对相同产品的集合包装的综合模拟性能测试,集合包装件被定义为将一个产品、多个产品或包装件放置在滑板或托盘上,固定在一起或是作为一个单元运输。例如:一台机器由带瓦楞底托的托盘上、瓦楞侧围、顶盖包装,用缠绕膜缠绕在托盘上。用于评...
点击进入详情页
本回答由富港检测技术(东莞)有限公司_提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |