用例与需求

解决需求问题需要考虑的地方

1、 为什么要开发这个系统?

a)         这个系统的目标(Visions)是什么?这个目标可以衡量吗?比如用具体的时间或金钱来衡量。

b)        目前的业务状况如何?系统必须达到什么程度才算没有白上?

c)        客户对使用系统前和使用系统后的不同或应有的区别心里是否有数?

2、 系统涉及到的人员对系统分别有何要求?(销售系统为例)

a)         客户,没有该系统,客户也可以正常提交购买请求,那该系统到底带给他们什么?

b)        销售者,希望系统为他们解决什么问题?

c)        管理者,系统是否帮助他们更好地决策?

3、 需求分析是否写出有价值的东西?是否捕获到真正需求?

a)         文档规范不规范不是主要问题,需求是否正确捕获?

b)        所有假设出来的角色,是否有存在真正价值?

c)        所有隐含的系统需求是否都是为Visions服务?

d)        用例是否有存在的理由?防止需求的蔓延。

e)         所有“非必要的需求”是否都已经得到充分验证?(如一些“权限管理”)

4、 用例的确定。

a)         所有的“前置条件”和“后置条件”是否可以判断?这2个条件都应该是一种“状态的描述”而不是“动作的描述”。比如应该使用“用户已经被注销”而不是“用户退出系统”来描述“退出登陆”。

b)        所有的“涉众利益”是否都考虑到?如果系统突然无法正常运作,哪些人的利益将受损害?

c)        用例是否能够形成一份所有相关人员就系统的行为所应达成的“契约”?

d)        “涉众利益”是否是真实的?必须是涉众自己提供的才是真实的,由设计者“假设”的涉众利益是不真实的。

e)         只要满足前置条件,按路径走,是否一定会达成最终的后置条件?

f)         路径描述中是否存在无法验证的词汇,如“明显的”,“美观的”?

g)        每一步是否都包括了“执行者做什么”和“系统做什么”并区分开来?

h)        是否正确区分开“设计”和“需求”?“如果不这么做,涉众的利益将受到损害”,那么这个就是需求,只有“需求”需要和用户讨论,“设计”不应该与用户讨论。如果用户明确提出该如何“设计”,那么该“设计”应被列为“需求”而不是“设计”。

i)          不要在任何路径描述中带有“暗示性需求”,比如“用户点击一条记录”,暗示了“用户要用‘点击’来选择”,应该使用“用户选择一条记录”,即使用户明确表明要用“点击”,也不应该写在这里。

j)          讨论用例应该多详细没有意义,用例应该尽可能“真实”,而不是尽可能“抽象”或尽可能“具体”。

每个用例是否提供了完整的价值?如果没有,那它应该是其他用例的一个部分而不是单独一个用例,如“查看任务”作为一个用例只有当员工可以对老板说:“今天我的工作是一共查看了N个任务”时才成立,否则它必须作为其他用例的一部分。

http://syeerzy.netyi.net/blog/user1/16/archives/2005/255.html

时间: 2024-10-01 17:26:48

用例与需求的相关文章

特性、用例、需求-- Rational软件白皮书

引言作为 BU(UML 出现之前)时代面向对象技术的追随者和支持者,我必须承认当时的业内思想领袖所传播的各种方法和表示法对我具有某种魔力.在 UML 出现之前的两到四年中,您可以走进一个挤满 OO 鼓吹者的房间,并提问以下问题: 我认为这种 OO 技术很有前途,但是告诉我,既然对象共享行为和数据,那么您如何称呼对象为实现它的行为义务而做的事情呢? 您可能得到如下答案: "它是一个职责!"(Wirfs-Brock) "它是一项操作"(Booch) "它是一项

使用用例捕获需求

   本文来自我提供用例培训的PPT.本文内容包括1.用例基本概念2.用例的作用3.从何处发现用例线索4.如何发现用例5.编写用例的准则6.如何判断系统用例是否有效 1.用例基本概念(1)需求分析(用例技术).系统分析(OOA).系统设计(OOD).系统实现(OOP)(2)用例的主要作用是:用来捕获系统的高层次(High Level)用户功能性需求 (3)用例从用户的视角描述了在逻辑上相对完整的一个功能流程.用例演示了人们如何使用系统.(4)用例 VS 功能列表.(5)用例最主要的价值在于:它强

使用用例获取需求

简介: 研发都通常都使用典型场景(scenarios)来理解一个系统的需要是什么和系统是怎样工作的.不幸的是,尽管研发都已这样做了,但他极少用有效的形式归档.用例(Use-Cases)就是将这些场景获取正式化.形式化的技术. 用例是Jacobson在面象对象的软件工程中提出的,但他实际上是独立于面象对象的.用例是获取业务过程和系统需求的有效方式.而且技术本身是非常简单易学的. 使需求可被浏览 形式化场景获取是为了使用户和研发者都能浏览这些场景.所有功能需求符号都必须满足以下两条准则: 应易于需求

浅谈JAVASE单例设计模式_java

简单的说设计模式,其实就是对问题行之有效的解决方式.其实它是一种思想. 1.单例设计模式.       解决的问题:就是可以保证一个类在内存中的对象唯一性.(单个实例)       使用单例设计模式需求:必须对于多个程序使用同一个配置信息对象时,就需要保证该对象的唯一性.       如何保证对象唯一性?                                                      解决步骤:       1.不允许其他程序用new创建该对象.            

《软件需求工程(第2版)》一3.7 使用场景技术的需求获取

3.7 使用场景技术的需求获取 在开发人员与用户的交流中,场景作为工具可发挥较大作用.开发人员在与用户进行有关软件需求的谈话和交流中,谈论具体事例的情况较多,用户也经常结合专业知识讲述他们的具体工作和工作流程.因此,场景很自然地作为交流的工具使用,每个场景可以对应系统的一个潜在的需求. 3.7.1 场景的定义及构成 所谓场景是指用户与软件系统为实现某个目标而进行交互活动过程的描述.场景可视为是对使用系统经历的解释.软件开发人员可利用场景来模拟用户与软件系统为完成某个功能而进行的交互活动过程,通过

不得不说--自动化测试元素定位与用例设计

  关于自动化测试,经常被问到元素的定位 与 如何设计用例. 很多时间我也帮不了你解决实际的问题,只能从个人脚本谈谈如何看待这些问题.   不得不说之元素定位   虽然,本章写了十几篇文章来讲元素的定位与操作,对于碰到的一些常见功能,如何通过技巧来定位它们,但是在实际的自动化脚本开发中,不管是新手还是具有一定经验的老手,我们面临最多的问题仍然是元素的定位问题. 有时间元素定位非常简单,例如,我们只要知道这个元素有的id和name 就可以轻松的来定位到它:有时间元素的定位却非常的令人非常头疼,尽管

不得不说之用例设计

自动化测试用例如何设计,对于新手来说也是比较难理解的问题. 不少新手刚刚掌握了写脚本的能力,一上来就拿着功能测试用例一条一条的转化成自动化用例.在写的过程中,会发现诸多问题,例如,脚本中重复代码很多,一个脚本的执行结果影响到另一个脚本的执行,有些功能用例很难转化成自动化用例等. 站在用户角度设计自动化 在功能测试的时候我们一般会遵循这个原因,但是自动化测试往往可以实现更强大的功能,所以,我们在设计脚本的时候很容易违背这个原则.例如,你要获得的数据是用户不可见的,你要判断用例是否成功的信息也是用户

产品需求文档(PRD)的写作方法之笔记一

1.写前准备(思维导图): http://www.woshipm.com/?p=80070 1.在写之前,请先很区分清楚什么是MRD文档(市场需求文档),BRD文档(商业需求文档),什么是PRD文档(产品需求文档) 可查阅知乎https://www.zhihu.com/question/19655491 2.规划产品的思维导图(信息结构图) 在写作这份文档前,我们需要先做一些准备,把BRD.MRD的相关需求消化并融合规划出产品的结构图.因为这些准备工作是属于思维类的,所以我推荐使用思维导图软件(

开发app需要角色

开发app需要角色: 开发一款手机APP应用软件,需要多个流程.多种工作角色分工,简单说明如下: 1.开发流程包括: (1)用户需求分析 (2)产品原型设计 (3)UI视觉设计 (4)数据库搭建 (5)服务端开发 (6)iOS客户端开发/Android客户端开发 (7)APP测试 (8)上传到应用商店. iOS提交到苹果的App Store,安卓的提交到国内各大安卓应用商店. 2.对应的工作职位包括: (1)产品经理 (2)UI设计师 (3)数据库架构师 (4)服务端工程师 (5)iOS客户端工