西安工业大学《软件工程》第三章_需求工程.docxVIP

西安工业大学《软件工程》第三章_需求工程.docx

  1. 1、本文档共64页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第三章需求工程

需求工程是当前软件工程中的关键问题,从美国于1995年开始的一项调查结果就足以看出这一点。在这项调查中,他们对全国范围内的8000个软件项目进行跟踪调查,结果表明,有1/3的项目没能完成,而在完成的2/3的项目中,又有1/2的项目没有成功实施。他们仔细分析失败的原因后发现,与需求过程相关的原因占了45%,而其中缺乏最终用户的参与以及不完整的需求又是两大首要原因,各占13%和12%。

需求工程又是软件工程中最复杂的过程之一,其复杂性来自于客观和主观两个方面。从客观意义上说,需求工程面对的问题几乎是没有范围的。由于应用领域的广泛性,它的实施无疑与各个应用行业的特征密切相关。其客观上的难度还体现在非功能性需求及其与功能性需求的错综复杂的联系上,当前对非功能性需求分析建模技术的缺乏大大增加了需求工程的复杂性。从主观意义上说,需求工程需要方方面面人员的参与(如领域专家、领域用户、系统投资人、系统分析员、需求分析员等等),各方面人员有不同的着眼点和不同的知识背景,沟通上的困难给需求工程的实施增加了人为的难度。

最初,需求工程仅仅是软件工程的一个组成部分,是软件生命周期的第一个阶段。虽然大家也都知道需求工程对软件整个生命周期的重要性,但对它的研究远远没有对软件工程的其他部分的研究那么深入。

在传统软件工程生命周期中,涉及需求的阶段称作需求分析。一般来说,需求分析的作用是:

●系统工程师说明软件的功能和性能,同时指明软件和其他系统成分的接口,并定义软件必须满足的约束;

●软件工程师求精软件的配置,建立数据模型、功能模型和行为模型;

●为软件设计者提供可用于转换为数据设计、体系结构设计、界面设计和过程设计的模型;

●提供开发人员和客户需求规格说明,用于作为评估软件质量的依据。

但从当前的研究现状来看,需求工程的内容远不止这些。需求工程是系统工程和软件工程的一个交叉分支,涉及到软件系统的目标、软件系统提供的服务、软件系统的约束和软件系统运行的环境。它还涉及这些因素和系统的精确规格说明以及系统进化之间的关系。它也提供现实需要和软件能力之间的桥梁。

需求工程的基本活动包括:

●需求获取;

●需求分析;

●需求传递;

●需求认可;

●需求进化。

每个活动都有它基本的动机、任务和结果,也有各自的困难所在。

首先,开始一个项目是因为要对现行系统进行改造。要改造一个系统是因为现行系统存在需要解决的问题。如:现行系统与当前情况不符合、出现新的商机或者可能节省时间、资金和资源等,这就是抽取需求的动机。在这个阶段,需求工程师的任务是认识问题之所在,获取足够多的知识,最后成为问题领域的专家。

需求获取是非常困难的,其主要原因有:

●缺乏领域知识,应用领域的问题常常是模糊的、不精确的;

●存在多个知识源,而且多知识源之间可能有冲突;

●面对的客户可能有偏见,如不能提供你需要了解什么或不想告知你需要了解的事情。

需求获取的方法一般有问卷法、面谈法、数据采集法、用况法、情景实例法以及基于目标的方法等,还有知识工程方法,如:场记分析法、卡片分类法、分类表格技术法和基于模型的知识获取法等。

需求工程的第二个阶段是需求分析,目前有许多工作都以此为目标进行。需求分析和模拟的出发点在于:

●指导获取;

●帮助需求工程师了解进展;

●帮助发现问题;

●帮助检查对问题的理解。

需求分析包含三个层次的工作。首先是需求建模。需求模型的表现形式有自然语言、半形式化(如图、表、结构化英语等)和形式化表示等。自然语言形式具有表达能力强的特点,但它不利于捕获模型的语义,一般只用于需求抽取或标记模型。半形式化表示可以捕获结构和一定的语义,也可以实施一定的推理和一致性检查。形式化表示具有精确的语义和推理能力,但要构造一个完整的形式化模型,需要较长时间和对问题领域的深层次理解。对需求概念模型的要求包括:

●实现的独立性:不模拟数据的表示和内部组织等;

●足够抽象:只抽取关于问题的本质方面;

●足够形式化:语法无二义性,并具有丰富的语义;

●可构造性:简单的模型块,能应付不同复杂程度和规模的描述;

●利于分析:能支持二义性、不完整性和不一致性分析;

●可追踪性:支持横向交叉索引并能与设计或实现等建立关联;

●可执行性:可以动态模拟,利于与现实相比较;

●最小性:没有冗余的概念。

需求模拟技术又分为企业模拟、功能需求模拟和非功能需求模拟等。

企业模拟是一种软系统方法,涉及整个组织,从各个不同的视点分析问题,包括目标、组织结构、活动、过程等。有的企业模拟还建立可执行的领域模型。采用企业模拟方法产生的不仅仅是规格说明,还可以得到许多关于企业运作的状况分析。目前代表性的工作包括:

文档评论(0)

千帆起航 + 关注
实名认证
文档贡献者

走过路过,不要错过!

1亿VIP精品文档

相关文档