思考题:

用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)以及各种帮助建模的图形工具。

具体说明:

Use Case的缺陷之一就是它的范围主要限制在一个单一的系统里,除了管理者和拥有进入系统权利的人外,别人无法进入,因此对于其他的操作需求类型如速度、安全性、以及相关技术等并不适用;而且没有统一的标准。例如,我们在生活中常用的图书馆借阅管理系统,对于整个系统而言,只有才图书管理者能够直接进入借阅系统进行相应的操作,而且在该系统中,当有过多的用例即借阅操作时,整个借阅管理系统中就包含了过多的借阅实现明细,从而使得在速度等方面的需求得不到满足。

 

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

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

    一.用例解释 用例是一种在开发新系统或者软件改造时捕获潜在需求的技术.每个用例提供了一个或多个场景,该场景揭示了系统是如何同最终用户或其它系统交互的,从而获得一个明确的业务目标.用例要避免技术术语,取 ...

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

    (提示:是否对所有应用领域都适用?使用的方便性?......) Use Case使用原则: 1.通过讲简单的故事来传递消息 讲故事是最有效的人与人交流信息的途径.通过讲故事(Use Case),团队成 ...

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

    usecase的局限性 对于系统发展而言,Use Case的范围限制一个单一的系统,这是Use Cases最通常的形式,我们称之为System Use Case,它把整个系统看作是一个黑盒,它不指定任 ...

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

    获取时间的方法及常用时间类都是大家经常使用的,在本文为大家整理了一些,个人感觉还比较全,感兴趣的朋友可以收集下   复制代码代码如下: $(function(){ var mydate = new D ...

  5. spring aop获取目标对象的方法对象(包括方法上的注解)

    这两天在学习权限控制模块.以前看过传智播客黎活明老师的巴巴运动网视频教程,里面就讲到权限控制的解决方案,当时也只是看看视频,没有动手实践,虽说看过几遍,可是对于系统中的权限控制还是很迷茫,所以借着这次 ...

  6. Case when 的使用方法

    SQL Case when 的使用方法 Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THE ...

  7. 使用JS获取当前地理位置方法汇总

    使用JS获取当前地理位置方法汇总 投稿:hebedich 字体:[增加 减小] 类型:转载 时间:2014-12-18我要评论 这篇文章主要介绍了使用JS获取当前地理位置方法汇总,需要的朋友可以参考下 ...

  8. JavaScript通过元素id和name直接获取元素的方法

    概览: 偶然的机会,我在JavaScript中直接用HTML元素的id属性来获取该元素,并设置该元素的其他属性值,竟然能够正确解析不报错!于是我去查阅相关资料,也有其他同行这么用. 虽然说这种用法不是 ...

  9. 原生js获取鼠标坐标方法全面讲解-zmq

    原生js获取鼠标坐标方法全面讲解:clientX/Y,pageX/Y,offsetX/Y,layerX/Y,screenX/Y 一.关于js鼠标事件综合各大浏览器能获取到坐标的属性总共以下五种:eve ...

随机推荐

  1. 使sublimetext3在ubuntu下可以打中文和在windows的dos命令行下正常显示中文

    学习闲暇之余,总结一下在windows和ubuntu下使用sublimetext3遇到的问题 一.关于sublimetext3在windows的dos命令行下不能编译运行中文的解决方案: 因为dos命 ...

  2. webService常见问题

    1.普通字符串(日期形式)转换为XMLGregorianCalendar SimpleDateFormat simpleDateFormat =new SimpleDateFormat("y ...

  3. [微信小程序]初试——成绩分析小程序问题总结

    文件类型说明 第一次打开微信小程序的开发者工具,就是下面这个样子. 好多已经存在的默认文件 .js .json .wxml .wxss 首先当然要搞懂这些文件都是干什么的 app.js是小程序的脚本代 ...

  4. Unity无缝循环世界实现

    一年前曾经碰到过已无限世界为题材的游戏开发比赛,虽然对比赛没有兴趣,但是对这个题材倒是有点想法.如何通过unity3d实现无缝的循环世界呢. 有一种想法是动态生成,一块场景一块场景进行动态加载.(做过 ...

  5. 【C#】组件分享:FormDragger-窗体拖拽器

    适用:.net2.0+ winform项目 介绍: 类似QQ.迅雷等讲究UI体验的软件,都支持在窗口内多处地方拖动窗口,而不必老实巴交的去顶部标题栏拖,这个组件就是让winform也能这样随性拖拽,随 ...

  6. 函数调用过程&生成器解释

    摘自马哥解答,感谢. 函数调用过程: 假设程序是单进程,单执行流,在某一时刻,能运行的程序流只能有一个.但函数调用会打开新的执行上下文,因此,为了确保main函数可以恢复现场,在main函数调用其它函 ...

  7. Object-C定时器,封装GCD定时器的必要性!!! (二)

    上一篇:Object-C定时器,封装GCD定时器的必要性!!! (一) 上一篇认识了Object-C中的几种定时器,这一篇将Dispatch定时器(GCD定时器)封装起来. p.p1 { margin ...

  8. Android软键盘遮挡布局的那些事

    有朋友提到软键盘遮挡布局的问题,说网上找了很多资料都未能解决,下面我来总结一下那些事,有些内容也是从网友那里学来的,但是我都会自己验证正确了才会贴出来. 首先来分析下我们常见的遮挡问题有哪些(本次所说 ...

  9. Centos7:利用crontab定时执行任务

    cron服务是Linux的内置服务,但它不会开机自动启动.可以用以下命令启动和停止服务: /sbin/service crond start /sbin/service crond stop /sbi ...

  10. Layoutparams理解

    一. layoutparams是什么LayoutParams继承于Android.View.ViewGroup.LayoutParamsLayoutParams只是ViewGroup的一个内部类 vi ...