基于用例驱动分析的软件需求获取方法.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《基于用例驱动分析的软件需求获取方法.pdf》由会员分享,可在线阅读,更多相关《基于用例驱动分析的软件需求获取方法.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2 0 0 2年第 6期 计算机与现代化 J I S U A N J I Y U A N D A J H U A 总第 8 2期 文章编号:1 0 0 6 2 4 7 5(2 0 0 2)0 6 0 0 3 6 0 5 基于用例驱动分析 的软件需求获取方法 谢 卫宇,王恒 山(上海理工 大学管理 学院,上 海2 0 0 0 9 3)摘 要:用例驱动方 法是 当前 国际流行的软件 开发过程之 一,软 件 开发所 有阶段 的活 动都 是 以用例 为核 心。本 文在 对软 件需求进行 层次划 分的基础上,探讨 了一个 以用户为 中心,使 用用例 驱动分析技 术依据 用户 目标 获取 不 同层 次 的
2、软 件 需 求的过程:关键词:用例;执行 者;场景;业务需求;用户需求;功 能需求 中图分类号:I 1)3 l 1 5 文献标识码:A The Us e Ca s e Dr i v e n Ana l y s i s M e t h o d o f S o f t wa r e Re q u i r e me n t s El i c i t at i o n XI E i y u W ANG He n g s h a h (I n s t i t u t e o f M a n a g e me n t,U t r i v e r s i b y o f s h a n g h a i f
3、o r S c i e n c e a n d T e c h n o l o g y,s h ang h a i 2 0 0 0 9 3,C h i n a)Abs t r a c t:Us e Ca s e Driv e n App r o a c h i s a p o p u l a r k i n d o f s o f t wa r e d e v e l o p p i ng p r oc e s s i n t h e wo r l d a t p r e s e n t an d Use(s e s a r e t h e e o r e o f a l l a c t i,
4、i t i e s i n e a c h p h a s e T h i s p a p e r e x p l ain s a u s e r-c e n t e r e d p r o c e s s o f s o f twa r e r e q u i r e me n t s e l i e i t a t i o n o n t h e b a s i s o f r e q u i r e me n t hi e r a r c h y,i n wh i c h Use Ca s e Driv e n An a l y s i s i s u s e d t o e l i c
5、 i ts o f twa r e r e q ui r e me n t s a t di ff e r e n t r e q ui r e me n t l e v e l a c c o r d i n g t o user s g o a l s Ke y wo r d s:us e c&se;a c t o r;s c e n a r i o;b us i n e s s r e qu i r e me n t s;u s e r r e qu i r e me n t s;f u n c t i o n,d r e q ui r e me n t s I J 引 吾 软件需求 获
6、取(S o f t w a r e R e q u i r e m e n t E l i e i t a t i o n)是 软件系统开发过程 中最为困难也是最为重要的部分,只有真正满足用户需求 的软件产品才能为用户接受,不能满足这一点 的产品不管 采用 了多么先进 的技术 对用 户 来说 也 是 毫 无 用 处 的=根 据 L e f fi n,e l l 在 1 9 9 7年的研 究,软件项 目中 4 0 6 0 的问题都是 在需求的获取和分析阶段埋下 的祸 根。传统 的结构 化软件开发方法在需求 阶段侧 重的是业务数据或者 是业务流程,却没有 把二者结合起来 考虑,开发 出来 的产品结
7、构复杂难 以维护、可重用性差。面向对象技 术把数据及其处理过程集成到类 中,克服了结构化方 法 的缺点,但是忽视 了用户的需求?用户才是软件产 品的最终使用者,以上需求分析方法都是 以功能为中 心而忽视 了用户的参与,通常会导致最终产品与客户 间的期望差异。基于用例驱动分析技 术(U s e C a s e D r i v e n A n a l v s i s)的软件需求获取(S o ft w a r e R e q u i r e m e n t E l i e i t a t i o n)是 以任务和用户为中心的、迭代的增量式 的需求开发方 法。通过对系统用户按角色(R o l e)进行
8、划分,明确各 类角色的 目标(G o a 1),用户可以清楚地 了解 系统可 以 帮助他们完成什么任务 以及是否满足 了他们 的真正 需求。而图形化的表达方法和场景技术的运用,方便 了分析人员与用户进行需求获取 和验证,从而有效地 消除了期望差异。1 软件需 求及 其分 类 在软件系统开发过程 中,不同角色的人员对需求 有着不同的理解。客户所理解 的需求就是使用软件 系统所要达到的经济效益和工作效率方面的目标,这 是一个高层次的、抽象的概念。系统分析员所考虑的 则是 由客户的高层次 的需求导出的软件系统在范围、功能以及系统架构方面 的需求。而对 于具体 的开发 人员来说,软件需求则变成 了由系
9、统分析员指定的软 件模块的详细设计要求,如输入 输 出的数据格式、处 收稿 日期:2 0 0 1 1 2 1 4 作者简介:谢卫宇(1 9 7 4 一),男,江苏江都人,上海理工大学管理学院硕士研究生,研究方向:MI S、软件工程、数据库技术。维普资讯 http:/ 2 0 0 2年 第 6期 谢卫 宇等:基 于用例驱动 分析 的软件 需求获取 方法 3 7 理过程以及模块 的接 口要求等。为了保证各类人员在软件需求上达成共识,避免 期望差异,必须对软件需求按不 同的角色进行划分。软件需求可划分成三个不 同的层次:业务需 求(B u s i n e s s R e q u i r e m e
10、n t s)反 映了组织 机 构或客户对系统、产 品高层次 的目标要求。用户需求(U s e r R e q u i r e m e n t s)描述 了系统 的直接 使用者使用产品所必须要完成的任务 功能需 求(F u n c t i o n a l R e q u i r e m e n t s)、非功能需 求(N o n f u n c t i o n al R e q u i r e m e n t s):功能需求定 义 了开发人 员必须实现 的软件功 能,使得用 户能完 成他们 的任 务,从而满足业务需求。非功能需求描述 了系统展现 给用户的行为和执行的操作等,包括要遵从 的业务规
11、则、人机接口、安全性 和可靠性等要求。业务需求决定了用 户需求,而每个用户需求又对 系统提 出了一个或多个功能需求。有时,不 同的用户 需求会对系统提 出相同的功能需求。它们 间的关 系 见图 1。需求分层有助于跟踪需 求 的来源,控制 系统 范围,避免期望差异。业务需求 项目视图与范围文 用户需求甩例模型 功能需求 功能需求用例模型 软件需求规格说明 约 图 1 需求种 类及层 次 2 用例驱动 分析技 术 2 1 相 关概 念 执行者(A c t o r)是直接 与系统相互 作用 的系统、子系统或类 的外部实体 的抽 象概念。每 个执行者定 义了一个角色集合,当系统 的用户与系统相互作用时
12、 会采用它们。一个物理对象如果满 足多个执行者 的 角色,那它就可扮演多个执行者。用例(U s e C a s e)是执行者与系统之间一系列可能 的交互行 为序列的集合,以实现用户的使用系统所要 达到的特定 目标。用例描述执 行者使用 系统所要实 现的行为,但是它不涉及具体 的实现细节,强调 的是 能做什么,而不是怎么去做。2 2 用 例 驱动 分 析 用例驱动分 析的基本概念是执行 者和用 例。通 过识别并独立分析每一个执行者不同用例,可以了解 系统的每一类用户的要求和愿望,而不会沉溺于实现 细节,而用户 的要求和愿望正是 系统最重要 的部分。所有用例的集合描述 了系统的功能,客户可 以预先
13、确 定项 目的范围,从而避免了最终产品与客户间的期望 差异。此外,由于采用 了自然的描述语 言和图形化的 表达方式,使得客户和最终用户能够积极地参与需求 的获取活动,系统分 析人员能够识别潜在 的用户,他 们的实际需求,以及他们的典型行为,、用例驱动 的分 析方法不 同于传统的分析方法,它是个面向对象而不 是面向实现 的过程,因此 它不 同于 传统 的功能 分解 法。3 软 件需求 的获取 3 1 业 务 需求 的 获取 业务需求反映 了组织机构或客户对系统、产 品高 层次的 目标要 求,一般在项 目视 图与范 围文档 中说 明。因为业务需求 是高度抽象 的并且 其定义简单明 确,用例驱动技术
14、不可直接用于业务需求 的获取。但 采用用例驱动技术进行迭代、增量式地获取用户需求 和功能需求 时,对 原先 的业务需求具 有反 馈修 正作 用,可 以帮助明确和限定系统 的范 围,消除不明确的、二 义性 的概念,使客户和系统分析人员之间在系统的 范围、开发计划 以及资源 占用等方面达成共识。3 2 用户需求 的获取 组织 的业务需求确定之后,必然在如何改进组织 的业务流程、提高工作效率和促进各部门协作等方面 提 出了要求。用户为 了实现业务需求所提出的要求,必须要借助于待开发的软件系统协助他们完成工作,这就是用户对软件 系统的用户需求。软件 系统最终 是给用户使用,用户使用软件系统的 目的是为
15、了实现 业务上的 目标,因此,软件 系统成功与 否不仅是看它 采用怎样的先进技术,更重要的是取决于用户是否满 意。这使得用户需求 的获取这一阶段在 整个软件 生 命周期 中显得极为重要,这一阶段产生的错误的用户 需求将使软件开发过程 的后续 阶段出现重大的偏差,为了纠正这些偏差而耗费 的资源将 是在需 求开发阶 段所 消耗资源的几 十倍甚 至更 多。为了获取正确 的 用户需求,需 要用户 的积极参 与,但是用户具有 丰富 维普资讯 http:/ 3 8 计算机与现代化 2 0 0 2 年 第 6 期 的领域知识却缺少软件开发方面的知识,而分析人 员 正好 与之相反,这使得用户与分析员之间的沟通
16、产生 了困难。用例驱动技术抓住执行者、执 行者的 目标、用例 三个要 素,借 助 于场 景(S c e n a r i o)分 析、顺 序 图(S e q u e n c e D i a g r a n)和协 作 图(C o l l a b o r a t i o n D i a g r a m)等技 术克服 了以上 的困难,最 大可能地 消除了期 望差异,最终的用例模型(U s e C a s e Mo d e 1)就是 客户 与开发人 员之 间达成一致的系统开发合 同(C o n t r a c t)。3 2 1 执行者的确定 在用户需求获取 阶段,为 了获取用户需求首先要 明确 系统 的
17、用户。这里的用户是指要 与待 开发的系 统相互作用 的外部 实体,不是 专指组 织 的人员。首 先,通过提问以下一些问题来获得初始的用户列表:(1)谁直接使用系统?(2)谁负责系统的维护工作?(3)系统 使用 的外部硬件(4)要与本系统交换信息的其他系统。得到用户列表后,需要根据各用户使用系统 的动 机和 目的不同对他们进行分类,每一分类代表一种逻 辑 角色,而属同一种角色 的用户的集合就是用例 的执 行者:一般 的做法是,对几个 人的用户组(一般 23 人)查看 已识别 的执行者是 否已经 包括 了他们 的需 要,如已经包括 了他们 的需要,则他们 所属 的执 行者 类型就确定 了。在识别执
18、行者的过程 中,提问以下的 问题 是 很有 用 的:(1)谁将提供、使用、删除信息?(2)谁将使用这个功能?(3)谁对某一特定需求感兴趣?(4)淮负责系统某一方面的维护工作?(5)系统的外部资源是什么?(6)哪些外部系统需要与系统 的这一部分交互?确定了执行者也就基本上确定了系统 的边界,这 有助于理解系统 的 目标 和范围。只有直接 与系统 交 互的用户才可 以被看作是执行者,如果赋予执行者多 余的角色,必然会 超 出系统 的当前 范围。此 外,执行 者的确定不是一次性的工作,而是与用例的识别协 同 进行的,通过多次的迭代最终确定。3 2 2 用户需求用例的获取 因为系统 是为它的用户而开发
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 驱动 分析 软件 需求 获取 方法
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内