软件需求分析的研究 软件需求分析的研究

软件需求分析的研究

  • 期刊名字:计算机工程与设计
  • 文件大小:529kb
  • 论文作者:王继成,高珍
  • 作者单位:同济大学
  • 更新时间:2020-09-25
  • 下载次数:
论文简介

第23卷第8期计算机工程与设计2002年8月Vol.23 No. 8COMPUTER ENGINEERING AND DESIGNAug. 2002文章编号1000-7024(2002)08-0018-04中圈分类号:TP311文献标识码:A软件需求分析的研究王继成,高珍(同济大学计算机科学与工程系,上海200092)摘要: 通过对物资管理系统的需求分析,说明了软件需求分析的重要性,详细阐述了软件需求分析的任务、过程、原则和方法.关键词:软件需求;软件工程;管理信息系统Research on software requirement analysisWANG Ji-cheng, GAO Zhcn(Dept. of Cormputer Science and Engineering, Tongji University, Shanghai 200092, China)Abstract: In this paper, an example about the material management requirement analysis will be used to show the importance ofsofware requirement analysis. Then the task, process, principle and methods of software requirement analysis are discused.Key words: software requirement; software egineering; MIS的限制和软件同其他元素的接口细节,定义软件的其1引言他有效性要求。缺乏用户参与、不完整的需求及不断变更需求,需求分析的任务就是借助于当前系统的逻辑模是导致信息技术项目不能按进度安排和资金预算完型导出目标系统的逻辑模型,解决目标系统的“做什成全部功能的主要原因。许多软件开发人员不能熟么”的问题。其实现步骤是:①获得当前系统的物理练地收集客户需求,很多开发者并不知道实用的需求模型;②抽象出当前系统的逻辑模型;③建立目标系统工程技术,工程参与者甚至连“需求”是什么也有不同的逻辑樸型。的看法。软件开发中,信息沟通(交流)至少应与计算优秀需求应具有如下特性:①完整性,即每一项占有同等的比重,然而现实往往强调了计算而忽略了需求都必须将所要实现的功能描述清楚,以使开发人信息沟通。员获得设计和实现这些功能所需的所有必要信息;②在软件工程中,软件需求分析是软件定义时期的正确性,即每一项需求都必须准确地陈述其要开发出最后一个阶段,它是软件生存期中极其重要的一-步,的功能性。 判断正确的参考是需求的来源,如客户或需求分析的结果是整个软件系统开发的基础,关系到高层的系统需求规格说明。若软件需求与对应的系工程的成败和软件产品的质量,是软件成败的决定因统需求相抵触则是不正确的。只有用户代表才能确素之一。下面作者将结合一个具体的物资流动和销定用户需求的正确性,这就是为何一定要有用户的积售软件系统的实例对软件需求分析进行详细的研究。极参与的原因:⑧可行性,即每一项需求都必需是在已知系统和环境的权能和限制范围内可以实施的。为2软件需求分 析的任务避免不可行的需求,最好在获取需求(收集黹求)过程软件需求分析的任务不是确定系统怎样完成它中始终有一位软件工程小组的组员与需求分析人员.的工作,而是确定系统必须完成哪些工作,也就是对或考虑市场的人员在一起工作,由他来负责技术可行目标系统提出完整、准确、清晰、具体的要求。它所做性上的检查:④必要性,即每一项需求都应把客户真.的工作是深入描述软件的功能和性能确定软件设计正所需要的和最终系统所需遵从的标准记录下来。收稿日期: 2001-08-28作者简介:玉继成(198-),男,江苏人,博士,救报.博士生导师, 主要研究中国煤化工等.- 18-TYHCNMHG“必要性”也可以理解为每项需求都是用来授权你编需求:为用户界面细致地规定到达的要求。⑦资源使写文档的“根源”。要使每项需求都能回溯至某项客用需求:开发的软件在运行时和开发时所需要的各种.户的输入,如使用实例或别的来源:⑤划分优先级,即资源。⑧软件成本消耗与开发进度需求:在软件项目给每项需求、特性或使用实例分配一个实施优先级以立项后,要根据合同规定,对软件开发的进度和各步指明它在特定产品中所占的分量。如果把所有的带骤的费用提出要求,作为开发管理的依据。⑨预先估求都看作同样重要,那么项目管理者在开发或节省预计以后系统可能达到的目标,这样可以比较容易对系算或调度中就丧失控制自由度:⑧无二义性,即对所统进行必要的补充和修改。有需求说明的读者都只能有一个明确统-的解释,由对于以上的各项需求,以该物资流动和销售软件于自然语言极易导致二义性,所以尽量把每项需求用系统为例,它的商品销售采用会员制,公司下没有多简洁明了的用户性的语言表达出来。避免二义性的个大销售代理,每个大销售代理下可设有多个小销售有效方法包括对需求文档的正规审查、编写测试用代理,每个小销售代理下可以发展若干各会员,会员例、开发原型以及设计特定的方案脚本;⑦可验证性,通过小代理购买本公司产品。即检查一下每项需求是否能通过设计测试用例或其因此该软件系统的具体功能需求包括:管理大代它的验证方法,如用演示、检测等来确定产品是否确理、小代理以及会 员信息(包括增加、修改、删除、查询实按需求实现了。如果需求不可验证,则确定其实施大小代理以及会员信息):管理商品信息(包括修改和是否正确就成为主观臆断,而非客观分析了。一份前查询商品信息):具体销售商品(具体流程为用户在小后矛盾、不可行或有二义性的需求也是不可验证的。.代理处定购商品,小代理通过大代理向公司提货,下以物资流动和销售软件系统为例,它的需求分析代理送货 上门,小代理、大代理、公司分别开具发票,的任务就是根据上海实业公司销售其商品的具体业最后售货 成功增加用户积分):查询商品的具体销售务流动情况,生成该系统的物理模型,即把业务中的过程(可以察看用户定购的货物已经处于销售过程中手动操作转化为相应的机器操作然后表示出来。最哪一步等信息)。后由该物理模型导出其相应的逻辑模型。这里,由于性能需求上要求其销售过程的安全保密性较高。该公司之前没有相应的软件,所谓的当前系统就是指环境罱求中软件方面衢要windows95/98操作系统、SQL当前公司业务的手动操作流程。Server7.0以上数据库管理系统版本、InternetExplore浏览器;使用方面要求公司职员应严格遵守公司的货物3软件需求分析的过程供应的流程,按预先拟定的顺序- -步步做下去,工作人软件需求分析的过程具体可分为对问题的识别、员不能任意行事。譬如只有货物到达客户且客户付分析与综合、制定规格说明和评审。款之后才能开具发票,且发票应该按顺序分别由小代问题识别是指系统分析人员研究可行性分析报理到大代理,最后再由公司开具,不能随意打乱顺序。告和软件项目实施计划,确定对目标系统的综合要求,关于可靠性需求,该软件的可靠性要求较高,如果并提出这些需求实现条件,以及需求应达到的标准。运行 不当或安全性失败,将会直接造成公司和购物者的这些需求具体包括:①功能需求:列举出所开发软件.的财产损失。同时其安全保密要求也较高,因为如果该在职能上应做什么。②性能需求;给出所开发软件的系统被破坏或该系统的数据库被黑客窥视且改动,公司技术性能指标,如存储容量限制、运行时间限制、安全.的业务将一片混乱,直接造成巨额经济损失。保密性等。③环境需求:软件系统运行时所处环境的在软件成本消耗与开发进度需求方面,要求该项要求.如硬件方面:机型、外部设备、数据通信接口;软.目在3个月内完成由最初的系统可行性分析到最后的件方面:系统软件,包括操作系统、网络软件、数据库软件运行验收成功这一全过程,这就要求开发速度管理系统;使用方面:使用部门在制度上,操作人员的快.质量高,对系统分析员和程序员都提出较高要求。技术水平上应具备怎样的条件。④可靠性需求:对所在预先估计以后系统可能达到的目标方面,本系开发软件在投入运行后不发生故障的概率,按实际的统将该软件定位为一个集网络购物与代理购物为一体运行环境提出要求。所以对于重要的软件,或是运行的综合购物系统。该软件的初级版本将为以后的最终失效会造成严重后果的软件,应提出较高的可靠性要版本留下适当的接口。如该系统的初级版本中不包括求.⑤安全保密要求:应当在这方面恰当地做出规定,网络购物,但在建立该系统的数据库结构时已将有关对所开发的软件给予特殊的设计,使其在运行中,其网络购物的数据部分考虑进去,预留了相应的表格或安全保密方面的性能得到必要的保证。⑥用户界面记录项,这使该系统在扩充功能时显得相对简单。.中国煤化工MHCNMH G-19-TMT除了这些必要的需求,问题识别的另一个工作是下,数据流特征是用将输入转化为输出的变换过程来建立分析所需要的通信途径,以保证能顺利地对问题描述的,数据内容用数据词典机制明确表示,或者通进行分析。过描述数据或数据对象的层次结构隐含地表示:在功.由于参与系统开发人员较少,管理人员、系统分.能表示方法方面,功能一般用数据变换或加工来表.析员、开发人员兼为一体,作为公司的用户又特意派示。还有在接口的定义、问题分解的机制以及对抽象出一名熟悉业务的人员做辅助工作,使用户、分析员、的支持、逻辑视图核物理视图以及系统抽象模型方面.管理员和开发人员的通信异常简单。都有相同或相似的机制。分析与综合的目标是给出目标系统的详细逻辑.以该物资流动和销售软件系统为例,本软件系统模型。在此步骤中,分析和综合工作需反复地进行。的经过简化的数据流图如图1所示。常用的分析方法有面向数据流的结构化分析方法(简顶层图:[小情售代现订单信昌(青货系统重物和发慕[圆称SA)、面向数据结构的Jackson方法(简称JSD)、面向对象的分析方法(简称0OA)等,以及用于建立动态模一层图:可库存信息]型的状态迁移图或Petri网等。商品信对于编制需求分析的文档,我们称描述需求的文.订单信息个查请修改库存档为软件需求规格说明书,除了编写软件需求规格说明书之外,还要制定数据要求说明书以及编写初步的[小销售代理]发前信息员]用户手册。出售货物该项工作要求颇高,它不仅需要清晰地了解系统.发期信息的方方面面,还要求有较好的文字表达和组织能力。D2发票管理]需求分析评审是指在需求分析的最后一步,对系二层图(喀)统功能的正确性、完整性和清晰性,以及其他需求给图1简化的数据流困予评价。本软件系统的数据字典为见表1-5。4软件需求分析的原则和工具表1外部项软件需求分析方法很多,其描述方法各不相同,但它们有共同的基本准则。首先它们必须能够表达名称:输入数据流:小销售代理和理解问题的数据域和功能域:其次它们必修按照自輸出数据流:会员的订单信息顶向下、逐层分解的方式对问题进行分解和不断细.说明会员定鹏商晶罱过小代理输入系统化:最后它们都要给出系统的逻辑视图和物理视图。软件需求分析工具可以帮助分析员进行需求分会员析,利用它们可以改善分析的质量和生产率。按照不.输入敷据魂:所駒货物以及购物发票同的方式,需求分析的自动工具可以归为两类:一类输出数据说:工具是为自动生成和维护系统的规格说明而设计的:贷物和发票仍有小代理负责交给会员另一类用一种特殊的以自动方式处理的表示法,产生表2数据流(以订单信息为例, 其它略) .需求规格说明和需求规格说明的-致性和组织方面编_号:的诊断报告。近来常用的分析工具有SADT (一种结.会员的真品订单信息构化分析与设计的技术)和PSL(问题说明语盲)/PSA组成:订单编号、订货日期、商品编号、商品敷量、会员端号(问题说明分析器)等。说明:该教据流来自小销售代理,流向库存管理功能模失5软件需求分析方 法麦3数据存储(以发票管理信息为例,其它赂)软件需求分析方法有很多,每一种分析方法都引编号:入了不同的记号和分析策略。但与此同时,他们也具.名称发票管理信息输入敷据流: .有关发票信息有一些共同的性质,具体概括为:在支持数据域分析输出数据流:机制方面,所有的方法都直接或间接地涉及到数据发襄愉号.发票面象、开具日期、开具方榆好对应的订单编号流、数据内容或数据结构等数据域的属性。多数情况中国煤化工情代理、小情售代理开具-20-YHCNMHG表4数据元素(以订单编号为例,其它略)细设计过程中,用原型来验证总体结构或某些关键算端号:法。用于演进出目标系统的原型。该方法是经过初名称订单编号步分析获得一组基本的需求后,快速地用原型加以实从属的数据流:订单信息、发票信息、发货信息现,作为沟通各方的基础和时间的场所。随着用户和.从属的数据存储:发票管理表, 订单管理表、邋送单管理表开发人员对系统理解逐渐加深,该方法不断对原型进类型字符串行修改和扩充,直到用户感到满意为止。该方法力图.长度用正常的迭带来避免不正常的反复。③以该物资流表5数据处理(以查询管理库存为例,其它略)动和销售软件系统为例,它的具体开发背景是:该公编号:司负责人认为将公司的日常业务实现电脑自动化以名称:查询、管理库存及进行网上营销是公司发展的必然趋势,在没有任何输入: 订单信息现存参照软件系统的基础上,设想了该软件系统的大功能: 由订单信息,找到公司或大销售代理处符合条件的存货,生成致框架,至于该系统的具体详细的要求,恰恰是模糊货物递送单,把货物发送给会员所属的小悄售代理而笼统的。因此,该软件系统适合用原型法来开发,.说明:如果没有符合条件的存货, 则委考虑进费并且利用它可以同时验证软件需求和演进出目标系统。其具体做法是我们找出最简单的一条物 资流动6原型法路线,以最快的速度开发出来,交给用户使用和测试,传统的软件工程方法学强谓自顶向下分阶段开从他们的反馈中, -步步地反复改进其功能和界面,发,要求在进入实际开发期之前必须预先对需求严格直到用户满意为止。也正是在这种不断的尝试中,我定义。但实践表明,在系统建立起来之前很难仅仅依们逐渐确定了正确、完整、清晰明了的需求分析,最终靠分析就确定出一套完整、一致、有效的应用需求,并.完成了该系统的开发工作。且这种预先定义的策略更不能适应用户需求不断变7结束语化的情况。由此, 原型法应运而生,它- -反传统的自顶向下的开发模式,是目前较流行的使用开发模式。在分析员进行软件需求分析时,总会碰到这样或原型法的流行是由实际软件开发中存在的大量那样的困难, 面临困难时,分析员应该采取积极的措事实决定的。首先,并非所有的需求都能预先定义。施,与用户充分交流,认真听取用户的所有要求、考虑用户对其目标和要求往往只有模糊笼统的认识,许多和设想。另外,可以在合同上约束需求的变更,以减细节并不清楚。要求一个只有初步设想人准确无误少或是避免用户需求变更给软件开发带来的困难和地输出全部需求是不切实际的。除此以外,人们对系损失。 选用适当的开发模型,使其适应各个不同的项统的要求往往随时间而改变,如果按照传统的自定向目。还有,需求规格说明需要由用户确认,注意听取下开发模式,后期需求变化的代价极高,甚至可能意用户的意见,让用户明白经用户签署的正式文档不能味着失敗。其次,项目参加者之间存在通信障碍。只轻易更改。要求用户参与需求评审,这是开发人员与通过各种静态的文档进行通信,对于深刻理解一个动用户就软件需求交换意见的好机会。通过以上措施,态系统是相当困难的。最后,现实中存在的快速建造逐一克服需求分析中的困难,圆满地完成软件需求分原型的工具可以大大缩减创建系统原型的时间,可以析任务,为以后的软件开发打下坚实的基础。在短期内迅速有效地建立系统原型,通过使用原型可参考文献:以尽早获得更正确更完整的需求,消除通信障碍使设计和编程更快速更准确,从而可提高软件质量、减少1] Pressman R S. Software Engineering: A Practitioner's Ap-proachM]. New York: McGraw. Hil, lnc, 1992.测试和调试的工作量,由此而减少软件的总成本。由于建立原型的目的不同,实现原型的途径也有[2] Robert s A.Software Eagineering[M]. Los Alamitos: IEEEComputer Society Press, 1993.所不同,通常由以下3种类型:①用于验证软件需求的[3] Martin L, Sbooman. Software Engincering Design, Reliabi-原型。该类原型所实现的功能与最终产品的功能是lity, and Management [M]. McGraw-Hill Book Company,有差别的,主要表现在两方面:垂直原型(原型只包含1999,5.目标系统的一部分功能)和水平原型(原型对目标系[4] Barry w, Boehm. Cbaracter of software quality [M]. New统的功能从某些方面作了简化)。②用于验证设计方York: McGraw-Hil, le,1999.案的原型。为保真软件产品的质量,在总体设计或详中国煤化工YHCNMHG一21一|胍

论文截图
版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。