思考题:用Use Case获取需求的方法是否有什么缺陷,还有什么地方需要改进?(提示:是否对所有的应用领域都适用?使用的方便性?.......)

思考题:

用Use Case获取需求的方法是否有什么缺陷,还有什么地方需要改进?(提示:是否对所有的应用领域都适用?使用的方便性?.......)

简答:

一.用例解释:

在软件工程中,用例是一种在开发新系统或者软件改造时捕获潜在需求的技术。每个用例提供了一个或多个场景,该场景揭示了系统是如何同最终用户或其它系统交互的,从而获得一个明确的业务目标。用例要避免技术术语,取而代之的是最终用户或者领域专家的语言。用例一般是由软件开发者和最终用户共同创作的。

二.创建用例的原则:

用例是短文 用例可以是一个场景,包括动作和互交。 用例可以是一组场景,描述不同场景下的行为。这种书写格式可以在任何时候描述有变体的行为,例如黑盒需求,业务流程,系统设计说明。 用例里不要有系统设计 用例里不要有界面设计 用例里不要有特性列表 用例里不要有测试 用例应该描述行为需求 用例的主场景不要超过九步。可以在适当的层次上得到子目标和移除设计说明。 用例的最大价值不在于主场景,而是在于备选行为。主场景可能只占用例长度的四分之一到十分之一。

三.Use Cases应用当中的复杂性和危险

1.主要行为者(Actor)和Use Case之间没有连

2.情节步骤不需要连续

3.Use Cases的大小

当开始做Use Cases的时候有个很显然的危险就是它要么有很多步骤要么就很少步骤。如果在Use Case中有超过15个步骤,它可能包含一些实现明细。如果它只有非常少的步骤则检查它的目标是否是达到一个没有很多分支的活动的单一线索。

4.较少的人类行为者(Actor)

5.需求捕获和系统复杂性

总而言之,这些情节捕获到系统复杂度的同时行为者:目标语句对容许大的系统以相对压缩的格式说明。Use Case的格式的作用是用户和开发者能标志出行为者,然后确认这些行为者工作职责对应(或不对应)的目标,代替一个大的很难读的功能规格说明书。

仅仅这样,用户和开发者就有足够的兴趣进而研究那些情节的细节。

6.运行时期和建立时期的需求比较

一个重要的因数要记住,就是系统的赞助者是大过用户团体的。系统中有许多的风险承担者,Use Cases仅仅捕获其中一些风险承担者的需要,具体说,Use Cases仅仅捕获系统运行时期的需求而忽略做为系统开发组织的风险承担者的需求,开发组织最有兴趣的是对建立时期需求的描述。

1> 运行时期需求包括:系统范围、用户组织对产品的期望和目标、Use Cases、其它非功能性需求。

2>  建立时期需求包括:减少开发成本、较少的变更处理、现存组件的重用。

3> 建立时期的需求可以部分的由Use Cases把握。但许多方面是需要由开发组织的处理的。

4> 项目范围和目标:项目必须提交什么。(和系统范围的区别是它提交的是所有项目的东西)

5> 增长性和变更请求:这些可以在捕获为常规Use Cases格式中的“Change Cases”

6>开发负责人的约束:包括标准、习惯、工具、品质度量标准、品质保证原则、及品质保证的习惯。

四.Use Case存在的局限性

对于系统发展而言,Use Case的范围限制一个单一的系统,这是Use Cases最通常的形式,我们称之为System Use Case,它把整个系统看作是一个黑盒,它不指定任何内部结构并且仅受限于问题域的语言描述。 因此,.故事/人物/场景非常适合交互式的系统,但是对于其他类型的需求(算法,速度,扩展性,安全性,以及和系统技术相关的需求)则不适用。并且故事的粒度没有统一的标准,和每个具体项目有关。初学者比较难以掌控。如果软件的关键在于用户体验的细节,那么如何把这些UI的细节嵌入每个故事中,并仍然保持故事的简明性这是一个难题。有些团队把目前的技术扩展为Use CaseStoryboard,当一个简明的故事加上很多附加说明和图画的时候,这事实上就成为了功能说明书(Function Specification)以及各种帮助建模的图形工具。

 

时间: 2024-10-05 10:22:35

思考题:用Use Case获取需求的方法是否有什么缺陷,还有什么地方需要改进?(提示:是否对所有的应用领域都适用?使用的方便性?.......)的相关文章

用Use case获取需求的方法是否有什么缺陷,还有什么地方需要改进

Use case通常只能捕获功能方面的需求,但对非功能需求得借助于其它的手段. 传统的Use case模型已经被扩展用于建立领域需求模型,但该模型并不支持领域测试用例的复用和自动生成.给出了领域用例的形式化定义方式,增加了最小数据触发集的描述,提出了用例的动态模型和静态模型概念.扩展活动图用于表示用例之间的动态关系和执行过程,并将值流和对象流融入到活动图的表示中.依据用例的动态模型,可以直接产生测试用例,同时获取测试数据,从而实现领域软件需求与领域测试用例的裁剪过程一致性和同步性. Use Ca

用Use Case获取需求的方法是否有什么缺陷,还有什么地方需要改进?

(PS:是否对所有的应用领域都适用?使用的方便性......) Use case通常只能捕获功能方面的需求,但对非功能需求得借助于其它的手段. 传统的Use case模型已经被扩展用于建立领域需求模型,但该模型并不支持领域测试用例的复用和自动生成.给出了领域用例的形式化定义方式,增加了最小数据触发集的描述,提出了用例的动态模型和静态模型概念.扩展活动图用于表示用例之间的动态关系和执行过程,并将值流和对象流融入到活动图的表示中.依据用例的动态模型,可以直接产生测试用例,同时获取测试数据,从而实现领

用Use Case获取需求的方法是否有缺陷,还有哪些地方需要改进

(提示:是否对所有应用领域都适用?使用的方便性?......) Use Case使用原则: 1.通过讲简单的故事来传递消息 讲故事是最有效的人与人交流信息的途径.通过讲故事(Use Case),团队成员能对需求有统一的了解.当我们用自然语言讲故事时,我们会不自觉的把复杂的系统当作一个黑盒子,把重点放在用户的愿望,行动上面,这种做法非常有利于我们找到用户的需求和软件的功能点.当然,故事要包含具体的行动(Actionable),并且是可以验证的(Testable),所以讲故事也要有技巧. 2.保持对

产品经理常用的四种需求收集方法简述

A 客户访谈 客户访谈是通过面对面的交流方式了解具体客户对产品.对流程的需求.观点和看法. 客户访谈的内容可以包括: 1.了解哪些需求对客户比较重要. 2.就了解到的一些需求请客户协助进行优先排序. 3.就问题改进建议的初步想法与客户进行讨论,确认是否能够满足客户需求. 客户访谈的优点包括: 1.由于是面对面的交流,因此在调查内容上更加灵活,可以随时根据问答状况就一些内容进行深入讨论,获得更多的客户感受. 2.客户可以再调查人的协助下,进行一些较为复杂的问卷调查. 3.客户访谈方式的适用面广,可

Linux学习笔记——获取命令帮助方法及命令分类

命令类型: 内嵌命令:shell 内嵌 外部命令:在文件系统中存在某个路径与命令相同的可执行文件 环境变量:命名的内存空间 变量赋值 #printenv   显示环境变量 #hash     显示缓存命中命令 PATH:  使用:隔开的一组路径 0(1) 查找数据速度标准 获取命令帮助方法: 1.#help  COMMAND          获取内部命令帮助 ,例 help cd    查看cd命令帮助信息 2.# COMMAND --help        获取外部命令帮助,例  ls  -

获取当前日期小方法(可用于日期校验)

常用的获取当前日期的方法,在日期校验时很有用: 1 //Get Current Date Method for EntryDate Check 2 public static String getCurrentDate() { 3 4 long millsecs = System.currentTimeMillis(); 5 long secs = millsecs / 1000; 6 long mins = secs / 60; 7 int hours = (int)(mins / 60);

使用JS获取当前地理位置方法汇总(如用谷歌接口,会出再以上报错,必须申请密钥并设置接受服务器IP!!!)

RefererNotAllowedMapError 错误 加载 Google Maps JavaScript API 的当前 URL 尚未添加到允许的引用站点列表中.请在 Google API Console 上检查您的 API 密钥的引用站点设置. 请参阅 Google API Console 中的 API 密钥.如需了解详细信息,请参阅 API 密钥安全使用最佳实践. 如用谷歌接口,会出再以上报错,必须申请密钥并设置接受服务器IP!!! 今年的项目开发中,初步接触了移动端WEB开发,也就边学

js(jQuery)获取时间的方法及常用时间类搜集

获取时间的方法及常用时间类都是大家经常使用的,在本文为大家整理了一些,个人感觉还比较全,感兴趣的朋友可以收集下 复制代码代码如下: $(function(){ var mydate = new Date(); var t=mydate.toLocaleString(); /*alert(t);*/ $("#time").text(t); $("#time").load("Untitled-1.html"); }); <P id="

Java中获取路径的方法_自我分析

就目前的我来说最常用的两种获取路径的方法是  class.getRecource(filename) 和 class.getclassloader.getRecource(filename) 这两者的区别其实很简单就是路径的时候有点不同,这里主要讲两个参数,其他的路径获取,其他的话在根据相对路径逐一查找就行了 class.getRecource(filename): 参数"/" 表示获取根目录; (即我们常用到的bin目录[字节码文件存放的目录] " "  表示获取