(计算机软件与理论专业论文)需求筛选及辅助工具的研究与实现.pdf_第1页
(计算机软件与理论专业论文)需求筛选及辅助工具的研究与实现.pdf_第2页
(计算机软件与理论专业论文)需求筛选及辅助工具的研究与实现.pdf_第3页
(计算机软件与理论专业论文)需求筛选及辅助工具的研究与实现.pdf_第4页
(计算机软件与理论专业论文)需求筛选及辅助工具的研究与实现.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(计算机软件与理论专业论文)需求筛选及辅助工具的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 随着人们对信息系统需求的迅速增长、国内外合作的日益频繁,项目的开发 无论从业务上还是技术上复杂性都越来越大。面对开发成本、时间以及质量等各 方面的约束,软件提供商需要放弃或推迟某些非关键性需求,以简化目标系统的 设计与实现,从而加速开发进程,缩短投入市场的时间。因此,开发者应区分需 求的优先级,在实现的系统与理想目标系统的功能之间作适当取舍,这就需要采 用一定的方法对需求进行选择。但是,需求工程在需求的筛选方法以及过程方面, 进展还很缓慢。 本文在对需求工程以及辅助工具分析的基础上,主要关注了需求筛选问题, 而且分析了长期被人们忽视的需求筛选过程,给出了需求筛选过程模型一 r t p m 。r t p m 包含了需求结构化- r s p 和需求筛选一r t p 两个阶段:r s p 主要 分析了影响需求筛选的因素,形成结构化需求列表并将其作为r t p 的输入;r t p 主要是从需求列表中选择出需求的一个子集。r t p m 以双赢谈判模型为基础,提 供了在利益攸关者之间进行协商的框架,并在此基础上将q 方法论应用于r t p 中。一方面,对产生的需求成功条件进行分析,以探究利益攸关者个人以及群组 内主导的观点或思想模式,揭示利益攸关者对需求理解一致的程度以及认识的本 质。另一方面,以此分析为基础,减少需求成功条件的数量,然后进行需求筛选 的其它活动。为了辅助需求筛选环境的建立,使需求筛选过程中的各个活动充分 的执行,设计并实现了基于b s 模式的需求筛选工具。 关键词:需求工程,需求筛选,双赢谈判模型,q 方法论 r e s e a r c ho n r e q u i r e m e n tt r i a g ea n di m p l e m e n t a t i o no f r e q u i r e m e n tt r i a g ea s s i s t a n tt o o l a b s t r a c t a l o n gw i t ht h er a p i dg r o w t hi nd e m a n df o ri n f o r m a t i o ns y s t e m s ,c o o p e r a t i o n s i n c r e a s i n ga th o m ea n da b r o a d ,t h ep r o j e c td e v e l o p m e n tb e c o m em o r ec o m p l e xb o t h i nb u s i n e s sa n dt e c h n i q u e s f a c i n g 。t h ec o n s t r a i n t so fc o s t ,t i m e ,a n dq u a l i t ya n ds oo n , s o f t w a r ep r o v i d e r sn e e dt oa b a n d o no rp o s t p o n ec e r t a i nn o n c r i t i c a lr e q u i r e m e n t st h a t c a ns i m p l i f yt h e d e s i g na n di m p l e m e n t a t i o no ft a r g e ts y s t e m t oa c c e l e r a t et h e d e v e l o p m e n tp r o c e s si no r d e rt os h o r t e nt h et i m et om a r k e t t h ed e v e l o p e rs h o u l d p r i o r i t i z et h er e q u i r e m e n t sa n dc h o o s ea p p r o p r i a t e l yf r o mt h ef u n c t i o n sd e f i n e di n i d e a lt a r g e ts y s t e ma n dt h ef u n c t i o n sr e a l i z e di na c t u a ls y s t e m ,w h i c hn e e d sc e r t a i n s e l e c t i o nm e t h o d sp r o v i d e dt oa s s i s tt h er e q u i r e m e n tt r i a g e h o w e v e r ,t h er e q u i r e m e n t e n g i n e e r i n gh a sas l o wp r o g r e s sb o t hi nt h ea p p r o a c ha n dp r o c e s so fr e q u i r e m e n t s t r i a g e i nt h eb a s i so ft h e o r e t i c a lr e s e a r c ho nr e q u i r e m e n te n g i n e e r i n g ,t h i sp a p e rm a i n l y f o c u s e so nt h er e q u i r e m e n tt r i a g e ,a n dt h el o n go v e r l o o k e dr e q u i r e m e n tt r i a g ep r o c e s s a r e q u i r e m e n tt r i a g ep r o c e s sm o d e ln a m e dr t p mi si n t r o d u c e d ,w h i c hc o n t a i n so f r e q u i r e m e n ts t r u c t u r a l i z ep h a s e ( r s p ) a n dr e q u i r e m e n tt r i a g ep h a s e ( r t p ) r s p m a i n l yf o c u s e so na n a l y s i s i n gt h ef a c t o r si n f l u e n c i n gt h er e q u i r e m e n tt r i a g ea n d f o r m i n gas t r u c t u r e dr e q u i r e m e n tl i s tw h i c hs e r v e sa st h ei n p u to fr t p ;r t pm a i n l y f o c u s e so ns e l e c t i n gas u b s e tf r o mt h er e q u i r e m e n tl i s t r t p mi sb a s e do nt h e w i n w i nn e g o t i a t i o nm o d e lt h a tp r o v i d e saf r a m e w o r kt oa s s i s tt h en e g o t i a t i o n a m o n gs t a k e h o l d e r s t h eq m e t h o d o l o g yi si n t r o d u c e d i nt h er t po fr t p mt o a n a l y z et h ew i nc o n d i t i o n s ,w h i c hm a i n l yu s e d t oe x p l o r et h ed o m i n a n tp e r c e p t i o n so r p a t t e m so ft h o u g h tw i t h i ni n d i v i d u a l sa n da m o n gg r o u p s i ta l s oh e l p sm e a s u r i n gt h e e x t e n ta n dn a t u r eo fa g r e e m e n to nr e q u i r e m e n t sa m o n gs t a k e h o l d e r s t h ea n a l y s i so f t h er e s u l t so fu s i n gq - m e t h o d o l o g ya l s oh e l p st or e d u c et h er e q u i r e m e n tw i n i i c o n d i t i o n sa n dd oo t h e rr e q u i r e m e n tt r i a g ea c t i v i t i e s f i n a l l y ,at o o li sd e s i g n e dt o a s s i s t a n tt h ee s t a b l i s h m e n to fr e q u i r e m e n tt r i a g ee n v i r o n m e n ta n di m p r o v e se v e r y a c t i v i t yi nr e q u i r e m e n tt r i a g ep r o c e s se x e c u t e ds u f f i c i e n t l y k e yw o r d s :r e q u i r e m e n te n g i n e e r i n g ,r e q u i r e m e n tt r i a g e ,w i n w i nn e g o t i a t i o n m o d e l ,q m e t h o d o l o g y i i i 西北大学学位论文知识产权声明书 本人完全了解学校有关保护知识产权的规定,即:研究生在校攻读 学位期间论文工作的知识产权单位属于西北大学。学校有权保留并向国 家有关部门或机构送交论文的复印件和电子版。本人允许论文被查阅和 借阕。学校可以将本学位论文的全部或部分内容编入有关数据摩进行检 索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。同 时,本人保证,毕业后结合学位论文研究课题再撰写的文章一律注明作 者单位为西l | :大学。 保密论文待解密后适用本声明。 学位论文作者签名: 7 神 指导教师虢 医堡 0 年b 月砖舀 西北大学学位论文独创性声明 本入声明:所呈交的学位论文是本入在导师指导下进行的研究 工作及取得的研究成果。据我所知,除了文中特别加以标注和致谢 的地方外,本论文不包含其他人已经发表或撰写过的研究成果,也 不包含为获得两北大学或其它教育机构的学位或证书而使用过的材 料。与我同工作的间志对本研究所做的任何贡献均已在论文中作 了明确的说明弗表示谢意。 学位论文作者签名;张注晦 杪7 年占月土多b 第1 章绪论 本章首先介绍了需求筛选过程的研究背景,接着给出了本文的研究目标以及 主要研究内容,最后给出了本文的组织结构。 1 1 研究背景 信息系统的重要性早在8 0 年代初就得到广泛的关注,如今对信息系统的需 求更是飞速增长,开发的项目越来越庞大,涉及的人也越来越多,包括国内以及 国际间的跨组织的合作,产品也被要求适应更广的市场需求,适合国际标准和规 范,同时又要降低成本,缩短开发周期,增强市场竞争力。从而使系统的复杂性 越来越高,也导致了相应开发技术越来越复杂。这些变化给项目的开发和管理带 来了更大的难度。如何在可接受的时间与成本下,按可预测的进度,开发出高质 量的系统,已经成为人们关注的焦点。很多研究表明在信息系统开发的过程中早 期发现的错误更难解决,甚至导致系统不能交付 b o e 8 1 】【d a y 9 3 。这一现象使越 来越多的人认识到需求工程的重要性。到9 0 年代,需求工程作为软件工程的一 个分支便已经成为研究的热点。 随着人们对需求工程研究的深入,出现了各种各样的研究方法,需求工程方 法概括来讲主要分为四类:面向过程方法、面向数据方法、面向控制方法与面向 对象方法 l l 9 9 】【y l o o 】。随着需求工程的发展,人们认识到,只有最终用户的 直接参与并发挥主导作用,才能真正解决问题空间与求解空间的一致性问题,消 除计算机领域和应用领域之间的鸿沟,并自动适应系统需求的不断变化。针对传 统分析方式的弊端,提出了“用户主导、面向领域的需求分析方法” y t o o 需求工程理论研究的进步也培育了需求开发与管理工具的市场,就目前需求 开发与管理工具【f e o o 】【h i c 0 6 】【r s c 0 6 】来看,主要分为基于数据库的和基于文档 的两个大类,主要商用的需求开发与管理工具有:c a l i b c r - r m 、t e l e l o g i c d o o r s 、 q s s r e q u i r e l t 、r e q u i s i t e p r o 、r t mw o r k s h o p 、v i t a ll i n k 等。这些工具的使用大 大改变了传统手工操作的方式,提高了效率并规范了需求开发和管理的过程。 虽然如此,但需求工程研究现状中一个明显的不足是研究理论与实践的脱 节,需求变更仍然时常发生甚至导致系统开发的失败:需求范围不断“蔓延”, 开发成本,时间大大超过预算:开发出的系统根本无法满足客户的需要等诸多问 题。 需求工程提出十多年来尚未取得根本性的突破,其原因是多方面的,最主要 是人与人的交流与沟通问题。需求工程是- - f 3 交叉学科,要取得需求工程领域的 突破,不仅要深化需求工程自身领域的研究,还要广泛的开展相关科学的研究, 如认知心理学、知识表示、自然语言理解、用户协同、领域分析等,这些相关领 域的突破将会对需求工程的研究起到极大的促进作用d n l 0 0 。 本文在西北大学软件工程研究所在软件过程以及需求工程相关领域研究的 基础上 h o u 0 6 】 n h 0 6 】 n 玎 + 0 5 】 r m 0 6 i - i o u 0 5 】 z - z h 0 5 】 o m z 0 4 ,主要对需求 工程中的长期被人们忽视的需求筛选过程 d a v 0 0 做了进一步的研究。给出了需 求筛选过程模型,该模型包含了需求结构化和需求筛选两个阶段。需求结构化阶 段主要是分析影响需求筛选的因素,形成结构化需求列表并将其作为需求筛选阶 段的输入。需求筛选阶段主要是从需求列表中选择出需求的一个子集。最后在此 基础上开发了支持该方法的需求筛选工具 1 2 论文主要工作 1 2 1 研究目标 本文在对需求工程研究的基础上,重点关注了需求筛选过程,其中主要研究 目标有: 1 ) 在需求开发的早期阶段建立开发项目的所有的利益攸关者共同的视图, 得到更完整的需求。 达到所有的利益攸关者在项目开发中的共赢。 3 ) 在给定时间、资源等限制条件下识别和解决需求之间的冲突,决定需求 在系统中实现的优先级排列。 钔选择出利益攸关者一致的立即实现的需求子集。 5 ) 保存相关产品与决策原理,实现需求向后回溯。 2 1 2 2 研究内容 本文将需求筛选过程明确引入到需求开发生命周期中,给出了需求筛选过程 模型。并在此基础上开发了一个需求筛选的支持工具。本文包含了以下几个方面 的主要工作: 1 ) 对需求工程相关领域以及辅助工具现状进行了研究和分析。总结了需求 开发与管理中面临的一些问题,引出了本文的研究目标。 基于对需求工程理论的研究,给出了需求筛选过程模型r t p m 。r t p m 包含了需求结构化和需求筛选两个阶段,需求结构化阶段主要是分析影 响需求筛选的因素,形成结构化需求列表并将其作为需求筛选阶段的输 入。需求筛选阶段主要是从需求列表中选择出需求的一个子集。 r t p m 以双赢谈判模型为基础,提供了进行需求协商的框架,并在 此基础上将q 方法论应用在r t p 中对需求的成功条件( 各个利益攸关 者从自己角度来看需求所应达到的目标) 进行分析。用以探究利益攸关 者个人以及群组内主导的观念或思想模式,揭示利益攸关者对需求理解 一致的程度以及本质;依此分析为基础,降低需求成功条件的数量,然 后进行需求筛选的其它活动 3 ) 设计并实现了基于b s 模式的需求筛选工具。以辅助需求筛选的过程的 各个活动的充分执行,提高需求筛选的效果。 1 3 论文组织结构 本文的内容围绕着对需求筛选过程的相关研究目标而展开全文共分为五 章,具体内容组织结构安捧如下: 1 ) 第一章绪论 本章介绍了需求筛选过程的研究背景,并扼要介绍了本文在理论和实践上所 做的工作。最后给出了本文的组织结构。 2 ) 第二章相关研究 本章介绍了需求筛选过程所属领域需求工程的相关理论知识和需求开 发与管理工具目前发展的概况。综述了需求开发与管理中存在的问题,并在此基 3 础上引入了需求筛选过程,最后介绍了本文研究内容相关的双赢谈判模型,q 方 法论以及多元分析理论等相关背景。 3 ) 第三章需求筛选过程 本章是论文的主要研究内容,在分析需求筛选的基础上,在需求分析过程中 明确引入了需求筛选过程,给出了需求筛选过程模型r 1 1 p m ,并详细分析了 r t p m 的两个阶段需求结构化阶段和需求筛选阶段所包含的主要活动。 4 ) 第四章需求筛选工具r t a t 的设计与实现 本章介绍了r t a t 的设计与实现,给出了系统的总体设计并分析了系统的主 要特性以及主要功能和数据库的设计与实现。 5 ) 第五章总结和展望 本章总结了本文在理论与实践上所做的工作,并就进一步的工作做出了展 ,望。 4 第2 章相关研究 本章简单介绍了需求工程中的部分相关概念,并综述了需求工程研究的现状 和存在的问题,正是对这些问题的研究与分析引出了本文关注的研究内容,并对 本文相关的研究内容做了简要的介绍。 2 1 需求工程 2 1 1 需求及其层次 1 ) 需求定义: 软件产业存在的一个问题就是缺乏统一定义的名词术语来描述我们的工作。 客户定义的“需求”对开发者来说似乎是一个较高层次的产品概念。而开发人员 所说的。需求”对用户来说又像是详细设计了,实际上,软件需求包含着多个层 次,不同层次的需求从不同角度与不同程度反映着细节问题。因此我们从下面的 有关定义中分析: i e e e 定义 w i e 0 0 是:用户解决问题或达到目标所需的条件或权能;系统或 系统部件要满足合同、标准、规范或其它正式规定文档所需具备的条件或权能; 一种反映上面两条所述的条件或权能的文档说明。 a l a nd a v i s d a y 9 3 的定义:从系统外部能发现系统所具有的满足于用户的特 点、功能、及属性等。 总之,并没有一个清晰、毫无二义的。需求”术语存在,真正的。需求”实 际上存在于人们的脑中。任何形式的需求都仅仅是一个模型,一种叙述。但我们 需要确保所有项目利益攸关者在描述需求的那些名词的理解上务必达成共识。对 需求的含义的一致理解是开发出高质量的需求的基础。 2 ) 需求的层次: 软件需求一般来讲包括三个层次:业务需求、用户需求、功能需求( 也包括 非功能需求) w i e 0 0 。业务需求反映了组织机构或客户对系统、产品高层次的 目标要求,它们在项目视图与范围文档中给予说明。用户需求文档描述了用户使 用产品必须完成的任务,这在用例或方案脚本中给予说明。功能需求定义了开发 s 人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。 所谓特性是指逻辑上相关的功能需求的集合,给用户提供处理能力并满足业务需 求。软件需求各个组成部分之间的关系,如图2 - 1 所示。 图2 - l 软件需求各组成部分的关系 软件需求规格说明书中说明的功能需求充分描述了软件系统所应具有的外 部行为。对于一个软件系统来说,软件功能需求也许只是系统需求的一个子集, 因为另外一些可能属于软件部件。作为功能需求的补充,软件需求规格说明还应 包括非功能需求,它描述了系统展现给用户的行为和执行的操作等。包括产品必 须遵从的标准、规范和和约;外部界面的具体细节;性能要求;设计或实现的约 束条件以及质量属性。所谓约束是指对开发人员在软件产品设计和构造上的限 制。质量属性是通过多种角度对产品的特点进行描述,从而反映产品的功能。多 角度描述产品对用户和开发人员都极为重要。 需求筛选的目的是对在需求获取阶段得到的功能性需求、质量特性、其它非 功能性需求、约束条件等进行分析,对需求进行优先级排列,选择出系统必须满 足的需求,形成下一步需求规格说明书的输入。 2 1 2 需求工程范围 需求工程的目的是通过与用户广泛地交流确定应用系统的目标。需求活动以 6 “工程化”的方法被提出、分析和组织,它鼓励用户以一种积极的方式参与需求 分析活动中,并在整个软件生命周期强调用户参与和领域专家的指导作用,促使 目标系统最大地满足用户需求。 一些人把整个需求范围称之为。需求工程”,另一些则称之为“需求管理”, 从现代软件工程的角度看,更科学的是把软件需求工程的领域分为需求开发与需 求管理两个部分 w i e 0 0 。需求工程域层次分解示意图,如图2 - 2 所示。 圈2 - 2 需求工程域层次分解示意图 需求开发与管理活动的划分一般是以需求基线的建立为依据的,需求开发与 管理的界限,如图2 - 3 所示。 圈2 - 3 需求开发与管理的界限 通常认为需求筛选过程是需求分析的一部分,有时也认为是需求验证的一部 分,同时也可能会在需求获取时起很重要的作用,在这个意义上需求过程的界限 已经模糊了,但这并不是最重要的,关键是这一过程中的活动在需求开发和管理 中所起的重要作用得到体现。本文主要分析了需求分析阶段的需求筛选过程。 7 2 1 3 需求开发与管理工具 随着需求工程理论研究的进步,需求工程中的开发和管理的工具也越来越 多,但主要分为基于数据库的和基于文档的两大类,根据对本文研究内容有关的 特性对需求开发与管理工具 f e 0 0 】【h l c 0 6 】【r s c 0 6 】做了比较,如表2 - l 所示。 表2 1 需求开发与管理工具比较表 名称需求输入能力需求分析能力兼容性交流平台 t e l e l o g i c 提供o n c c l i c k 操除基本功能外,与m s w o r d提供在线讨 d o o l 己s作来定义需求项还可以为每一e x c e l 兼容 论功能,支持 项需求设置状远程协作 态 r a t i o n a l 用例建模记录需需求可以组织与m sw o r d 开发团队可 a n a l y s t 求到不同的包中无缝集成以通过集中 s t u d i o来存储到数据 存储的需求 库中,并可以建 交流,并提供 立需求的优先网络访问功 级、状态等 能 r 加 分析文档提取数可以为每项需 基于o r a c l e每一个需求 w o r l g h o p 据项输入到数据求定义相关属数据库技术变化提议都 库性并进行分析 会e m a i l 通知 团队成员 c a h i b c r除文档录入外,可以对每一项开放的结构提供在线讨 r m提供了术语袭来需求进行代价允许需求项论平台 定义需求评估捧序,标出和外部源码、 优先级设计测试相 关联 从对这些工具所具有的特性的比较来看,这些工具中在需求分析阶段有部分 工具包含了确定需求优先级的方法,主要集中于研究评估需求的价值,并在可用 资源限制条件下确定优先级,对系统开发过程中系统的利益攸关者对系统的多个 8 目标的理解深入以及环境演化等因素并未做出过多的考虑,使开发者难以控制需 求 h s l 0 6 而且这些商用工具一般价格都比较昂贵,操作比较复杂。 2 1 4 需求工程面临的问题 需求工程是软件工程中最复杂的过程之一,其复杂性来自于客观和主观两个 方面。从客观意义上说,需求工程面对的问题几乎是没有范围的。由于应用领域 的广泛性,它的实施无疑与各个应用行业的特征密切相关。其客观上的难度还体 现在非功能性需求及其与功能性需求的错综复杂的联系上,当前对非功能性需求 分析建模技术的缺乏大大增加了需求工程的复杂性。从主观意义上说,需求工程 需要方方面面人员的参与( 例如领域专家、领域用户、系统投资人、系统分析员、 需求分析员等等) ,各方面人员有不同的着眼点和不同的知识背景,沟通上的困 难对需求工程的实施增加了人为的难度。 由于需求分析的参与人员、业务模式、投资、时间等客观因素的影响和需求 本身具有主观性和难以准确描述的特点,因此,需求分析工作往往面临着一些潜 在的风险。这些风险主要表现在 f e o o : 1 ) 用户不能正确表达自身的需求。在实际开发过程中,常常碰到用户对自 己真正的需求并不是十分明确的情况,他们认为计算机是万能的,只要 简单的说说自己想于什么就是把需求说明白了,而对业务的规则、工作 流程却不愿多谈,也讲不清楚。这种情况往往会增加需求分析工作难度, 分析人员需要花费更多的时间和精力与用户交流,帮助他们梳理思路, 搞清用户的真实需求。 2 ) 业务人员配合力度不够。有的用户日常工作繁忙,他们不愿意付出更多 的时问和精力向分析人员讲解业务,这样会加大分析人员的工作难度和 工作量,也可能导致因业务需求不足而使系统无法使用。 3 ) 用户需求的不断变更。由于需求识别不全、业务发生变化、需求本身错 误、需求不清楚等原因,需求在项目的整个生命周期都可能发生变化, 因此,软件开发的过程实际上是在不断处理变化的过程,需求变化是每 个开发人员、项目管理人员都会遇到的问题,也是最头痛的问题,一旦 9 发生了需求变化,就不得不修改设计、重写代码、修改测试用例、调整 项目计划等等,需求的变化就像是万恶之源,为项目的正常的进展带来 不尽的麻烦。 4 ) 需求的完整程度。一个系统很难确定明确的范围并把所有需求一次性提 出来,这会导致开发人员在项目进展中去不断完善需求,先建立系统结 构再完成需求说明,造成返工的可能性很大,会给开发人员带来挫折感, 降低他们完成项目的信心。 5 ) 需求的细化程度。虽然国家标准有需求说明的编写规范,但具体到某一 个需求上,很难给出一个具体的指标,可谓仁者见仁,智者见智,并没 有定论。需求描述越细致,需求开发的周期越长,可能的变化越多,对 设计的限制越严格,提取需求的共性特征难度也就越高,相反,需求描 述的越模糊,开发人员在系统设计时不清楚的地方就越多,影响后续的 系统设计、开发工作。 6 1 需求描述的多义性。需求描述的多义性一方面是指不同读者对需求说明 产生了不同的理解;另一方面是指同一读者能用不同的方式来解释某个 需求说明。多义性会使用户和开发人员等项目参与者产生不同的期望, 也会使开发、测试人员因不同的理解而浪费时间,带来不可避免的后果 便是返工重做。 刀忽略了用户的特点分析。分析人员往往容易忽略了系统用户的特点,系 统是由不同的人使用其不同的特性,使用频繁程度有所差异,使用者受 教育程度和经验水平不尽相同。如果忽略这些的话,将会导致有的用户 对产品感到失望。 8 ) 需求开发的时间保障。为了确保需求的正确性和完整性,项目负责人往 往坚持要在需求阶段花费较多的时间,但用户和开发部门的领导却会因 为项目迟迟看不到实际成果而焦虑,他们往往会强迫项目尽快往前推进, 需求开发人员也会被需求的复杂和多变折腾的筋疲力尽,他们也希望尽 快结束需求阶段。 分析需求工程中的问题发现,在需求开发的早期建立一个统一的视图,将需 求在众多利益攸关者之间进行协商,形成对需求的一致理解,依据时间、资源等 1 0 限制条件来放弃或延迟某些非关键性需求从而简化目标系统的设计与实现,区分 需求的优先级,在理想目标系统和实现的系统功能之间作适当取舍,对需求开发 的成败甚至系统的成败都很重要。目前,在需求的优先级分配及需求集的选取机 制两方面,需求工程进展都很缓慢。对需求筛选过程本身的研究以及将相关学科 知识应用于这一过程来解决需求工程所面临的众多问题变的日益重要 2 2 双赢谈判模型 双赢谈判模型 b o e 8 9 】 b 0 0 5 】阻o r 9 6 是在九十年代末由南加州大学的 b a r r yb o e h r a 和他的同事共同发明的。如图2 - 4 所示,这个方法目的是通过提供 一个模型来指导项目的所有参加讨论的利益攸关者能够集中精力在表达和探讨 所给定的论题上,达到所有的利益攸关者的共赢。其中的成功条件是要实现的目 标,问题是实现目标所受的限制以及目标之间的约束,备选方案是调和问题的方 法或备选的解决方案,合约是所有的利益攸关者最终对设定的目标达成的一致。 圈2 - 4 双曩谈判模型 影响需求开发成败的一个重要的因素便是识别和解决来自不同的利益攸关 者手中的备选的需求间的冲突,许多软件项目的失败都是因为利益攸关者之间的 需求冲突 h o h 9 8 。在限定的时间、资源等条件的限制下,对这些需求的选择便 是需求筛选的主要活动,双赢谈判模型提供了一个基本的框架通过提出和谈判产 品,如成功条件,问题,解决方案,合约等来识别和解决需求冲突,最终达成项 目所有的利益攸关者一致的合约。双赢谈判模型已经成功应用在很多项目中 【b a 9 8 。本文选择了该模型作为需求筛选的基础,并对此模型做了进一步的改进。 2 3q 方法论与多元分析理论 2 3 1q 方法论 作为一种心理测量方法,q 体系 q m e 0 6 是由w s t e p h e m o n 于1 9 3 5 年提出 并发展起来的。1 9 8 9 年s t e p h e n s o n 去世后,其学生s r b r o w n 成为该方法体 系的倡导者。提起q 方法,人们首先想到的是心理学测量方法之类书中普遍都 会提及的内容,即c r o g e r s 用来测量其治疗对象心理发展程度的q 分类技术。 国内也开始有部分学者对q 方法及其应用的研究 z w 0 6 【z l 0 3 。该技术确实是 q 方法论及其重要作用的一个体现,是其标志性特征的一个方面,因而在使用q 方法论时,首先分析了q 方法。 q 方法为系统研究主观性,即一个人的观点、信念、态度、情感、意见等提 供了基础。在q 方法论研究中,给受试者出示一组关于某一话题的陈述或命题, 接着让他按照自己的偏好、判断或感觉给这些语句排序通过这种q 捧序,人 们将自己的主体意见添加到这些命题中,然后对这些个人排序进行因子分析,来 找寻和证明存在于这些观点中的论述模式 具体地,采用q 方法论进行研究包括以下步骤,方法论研究步骤,如图2 - 5 q 所示 圈2 - 5 q 方法论研究步骤 1 ) 收集q 论汇所谓论汇,是指有关某一主题的观点、意见、命题等的集 合。q 意见母体不仅限于语言文字,也可是绘画、艺术品、照片甚至音 乐作品的集合 2 ) 开发q 样本。从q 母体中抽出来供受试者分类所用的一组陈述或命题, 被称为q 样本。研究者可能通过对母体的分析,也可能依据某种理论来 选择陈述作为q 样本。不管采用哪种方法所选择的陈述都必须要使得 q 样本有广泛的代表性。一组q 样本通常包含4 0 到5 0 条陈述,但也可 能包含更多或更少的陈述。最后,对选出的陈述作必要的编辑、整理。 3 ) 选择受试者( 称为p 样本) 。q 方法研究只需要较少数量的受试者,但这 1 2 些受试者并不是随机挑选出来的受试者群是对所有可能的应答者的一 种结构性样本,他们与所考虑的问题有着理论上的联系,比如,预期他 们对某一问题有着明确而且独特的观点,并从本质上界定着某一因素 选择受试者,与选择q 样本一样,其广度和包容性都要使人有最大把握 相信在这一组受试者和q 样本之下所讨论的主要因素都已经得到了体 现。 4 ) 进行q 排序。q 排序即受试者按照指导语( 例如:“从最同意到最不同 意”,“从最喜欢到最不喜欢”) 对q 样本排序而使其观点模式化的过程 每个受试者的排序结果,都要分别记录到事先设计好的量表上。量表一 般呈准正态分布,依据样本数目的多少及预计受试者对所讨论问题的了 解程度与兴趣,分布的峰度有所不同从最不同意到最同意的程度,可 能是7 级、9 级或l l 级,大多数研究都采用l l 级分类制。每一级都预 先给定一个分值,比如从1 到9 ( 9 级分类制) ,或5 到+ 5 ( 11 级分类制) 在排序后,每一陈述就获得了相应的分数。除了需要建构q 样本和寻找 p 样本外,还需要设计一份问卷,以了解受试者的背景资料。另外,为 了作进一步的分析,问卷也可以依据研究需要而设计一些特别的问题。 研究者在受试者完成q 排列后,常要求他们对最同意和最不同意的陈述 加以详述,使研究者对受试者的观点有更进一步的了解。在撰写研究报 告时,也可以根据这些详述,解释受试者为什么对某些陈述呈现极端反 应,而不必完全凭推论来做解释。 5 ) 分析与解释。所有的受试者都完成q 排列后,将进行数据分析。数据分 析包括3 个连续的步骤。第一步,计算所有q 排列的相关系数。第二步, 对相关矩阵进行因子分析第三步,计算因子陈述的分值和差异值。 q 方法论是一种探究个体内以及群组内主要的观点或思想模式的方法。本质 上来讲,它是帮助获取和反映众多的复杂的观点的方法。它主要用来识别拥有冲 突的价值、喜好和观点的群组,进而更好的理解存在的差异,同时,也应用在识 别潜在的研究领域。在软件工程的实践中,q 方法论有很多潜在的领域可以应用 【b r 0 0 4 ,如:度量对软件过程改进目标同意的程度以及本质;度量对产品功能 需求和质量需求同意的程度以及本质:通过度量评审人员对软件架构对不同质量 1 3 需求满足的程度的理解来提供对软件架构的评审;阐明项目或组织的利益攸关者 间观点的不同。 根据使用双赢谈判模型的经验【b e 眇8 】表明当成功条件的数目增加时,利益 攸关者识别和解决冲突便很困难。主要表现在:理解来自不同领域的利益攸关者 对需求的观点比较困难;当利益攸关者或提出的成功条件增多时通过比较两个成 功条件来识别冲突所需要比较的次数会以n ! 的速率增长,从而导致备选方案也会 随之而增多,( 如果一个利益攸关者与每一个其它的利益攸关者来探讨每一个备 选的解决方案,则从理论上来讲,会有n ! 次的谈判,一对一的谈判是需要的。) 沟通比较困难。 本文依据q 方法论的特点以及双赢谈判模型中存在的问题,将它应用在需 求筛选过程领域中,对需求来自不同利益攸关者的成功条件进行分析,识别出利 益攸关者的主要的思想模式和观念,降低成功条件的数量,从而帮助识别需求成 功条件内以及与其它需求成功条件的冲突,为双赢谈判模型中进一步识别问题也 提供了基础。 2 3 2 多元分析理论 多元分析 v l z 0 4 是多变量的统计分析方法,是数理统计中广泛采用的一个 重要的分支,其内容庞杂,视角独特,方法多样,深受工程技术人员的青睐和广 泛的使用,并在使用中不断的完善和创新。由于变量的相关性,不能简单地把每 个变量的结果进行汇总,这是多变量统计分析的基本出发点。近年来,多元分析 受到更多的r r 领域的学者与程序开发人员的重视。本部分主要讲述了本文引入 的q 方法论中所用到的多元分析的相关知识。 1 1 样本的相似性度量 本文采用了变量聚类法中的相似性度量,在实际工作中,变量聚类法的应用 十分重要,在系统分析或评估过程中,为避免遗漏某些重要的因素,往往在一开 始选取指标时,尽可能地考虑所有相关的因素,而这样做的结果,则是变量过多, 变量间的相关度高,给系统分析与建模带来很大的不便。因此,人们常常希望能 研究变量间的相似关系,按照变量的相似关系把它们聚合成若干类,进而找出影 1 4 响系统的主要因素。其中确定变量相似性度量常采用的有相关系数和夹角余弦两 种方法,下面给出了相关系数的方法: 相关系数法: 记变量五= ( 五,扎) r 。( i _ l ,2 ,0 0 0 * o o 9 p ) ,则可以用两变量五与一 的样本相关系数作为它们的相似性度量。 芝( 气一i ) ( x 缸- 一x j ) 铲1 矿6 i 3 j 其中: i 为样本均值:i = 丢妻以 为样本方差:牟= 昙妻( 一- - 毛j 2 2 ) 因子分析 因子分析w l z 0 4 1 是英国心理学家s p e a r m a n 在1 9 0 4 年提出来的,他成功的 解决了智力测验得分的统计分析,长期以来,教育心理学家不断丰富、发展了因 子分析理论与方法,并应用这一方法在行为科学领域进行了广泛的研究。 因子分析可以看成是主成分分析的推广,它也是多元统计分析中一种常见的 降维方法,因子分析涉及的计算与主成分分析也很类似,但差别也是很明显的: 主成分分析把方差划分为不同的正交成分,而因子分析则把方差划分为不同的起 因因子:因子分析中特征值的计算只能从相关系数矩阵出发,其必须将主成分转 换成因子。 因子分析有确定的模型,观察数据在模型中被分解为公共因子、特殊因子、 和误差三部分。详细分析在本文后面给出。因子分析的首要任务就是估计因子载 荷的方差,然后给因子个合理的解释,若仍难以进行合理的解释,则需要迸一 步做因子旋转,希望旋转后能发现比较合理的解释。 多元分析理论中样本的相似性度量及因子分析是q 方法论的重要部分,本 文对其理论基础做了简单的介绍,为需求筛选过程中对需求成功条件的分析提供 1 5 了严谨的理论基础。 2 4 本章小结 本章介绍了需求工程理论中需求的定义以及需求的层次,需求工程的研究领 域和面临的问题,接着分析了目前主要的商用需求开发与管理的软件的现状。针 对目前需求工程理论研究以及需求开发与管理工具的现状,引出了对本文主要研 究内容需求筛选过程的研究内容。对本文采用的双赢谈判模型以及q 方法 论做了简述,最后介绍了q 方法论相关的多元分析理论。 1 6 第3 章需求筛选过程 本章首先详细分析了需求筛选相关的研究内容,在需求分析过程中明确引入 了需求筛选过程,给出了需求筛选过程过程模型承t p m ,并详细分析了r t p m 的两个阶段需求结构化阶段和需求筛选阶段所包含的主要活动。 3 1 需求筛选 在需求工程领域,依据与需求筛选所完成的主要活动的相似性存在很多术语 与需求筛选相似 s a 0 0 4 ,诸如需求谈判、需求优先级排列、需求选择、需求分 配等,本文采用了需求筛选这一术语,并明确了这一过程所包含的主要活动,在 此基础上对其应用目的、作用以及面临的问题做了分析。 3 1 1 需求筛选 需求筛选来源于医学上的一个概念,是将医疗上的筛选方法引入需求工程中 来解决需求开发中遇到的一些问题时而提出的。医疗上的筛选是指在许多医疗事 故或重大人员伤亡事件发生对使现有资源,诸如可以提供的资金和人员数日的约 束条件下获得更大的成功救治的一种方法。例如:将要救治的病人分为三个级别: 病情临危,已经无法救治:病情严重,但还可以医治;受伤,但暂不医治不会有 严重后果。针对以上分类采取不同的救治策略。从而使的灾难发生时,在药物以 及其它条件限制的情况下救治更多的人,减少人员伤亡 需求筛选过程是一个在给定的时间以及资源等限制下决定产品的哪些需求 必须满足的过程 d a v 0 3 。它主要的三个活动,如表3 - 1 所示。 表3 - 1 需求筛选过程的主要活动 活动l 建立需求的优先级别,包含与优先级别相关的依赖关系 活动2估计满足每项需求的资源,包含与资源相关的依赖关系 活动3根据资源的限制选择需求的一个子集使产品在预期的市场中获得最大的 成功 1 7 3 1 2 需求筛选的目的与作用 、, 依据需求筛选的定义,从一个纯粹的开发经理的角度来看,筛选非常简单。 开发经理估计所陈述的特性的工作量以及时间,然后与所给的时间表和财政预算 对比,如果不符合,项目经理去掉一些特性的开发直到满足给定的时间等限制, 筛选便完成了但是问题便出在这里,去掉一些特性会减少开发的风险,但是这 种逻辑完全忽略了对市场、价格、利润等的影响。因此需求筛选必须考虑市场, 财政以及开发的综合因素的影响。 因此,需求筛选的目的 d 吖z 0 0 】非常直观:选择一组特性的集合;这些特性 可以在合适的资源和可以接受的风险下实现;具有这组特性的产品在市场上能以 一个可以接受的价格出售;能够得到一个可以接受的收益从而得到投资的一个合 理的回报。 软件工业遭受着与任何学科相比最低的成功记录:投入研发新的软件的资金 的7 1 生产出来的产品都成了“板凳软件”没有使用价值 d a y 9 9 。主要的 原因很简单:我们在可能完成的时间以及成本限制内重复的答应去做更多的事 情;不断的去构建根本不令客户满意的系统;当面对不可避免的需求变更时几乎 没有控制的规则 需求筛选这一长期被大家忽视的过程对于选择“正确”的需求 y o u 0 4 起着 重要的作用,主要作用体现在 s a g 0 4 :需求筛选过程使项目在早期阶段就能得 到一个更加完整的需求;减少需求变更的次数;在软件的全生命周期中为所有利 益攸关者提供一个共享的视图,而且保存该过程中的产品,保留所选择决策的基 本原理与依据;控制项目发生“范围蔓延”。 3 1 3 需求筛选过程面临的问题 需求筛选理论上来讲可以解决很多需求工程中的问题,但由于需求筛选本身 的复杂性,使其在需求工程中发展缓慢,下面分析在需求工程的研究领域中存在 的相关方法及其存在的问题: 1 1k a r lw i e g e r s 提出的优先级划分方法w i e 9 9 。 他建议了两种划分优先级的尺度,每一种有三个级别:高、中、低和本质的、 1 8 条件的、可选的,可以在不同的抽象级别中采用( 如,用例级别、特性级别、或 功能性需求级别) ,采用了q f d ( 质量功能开发) 中关于客户价值的观念,客户价 值取决于两个方面:一方面,如果实现了特定的产品特性,那么将为客户提供利 益;另一方面,如果不能实现产品特性,就要受到损失。优先级计算方法: 优先级= 价值( ( 费用费用权值) + ( 风险风险

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论