03第三章软件需求分析.ppt

  1. 1、本文档共187页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
需求分析 需求分析是软件定义时期的最后一个阶段 回答“系统必须做什么?”的问题 3.1 需求分析的重要性 The reason: there was no discussion in the requirements documents of the ways in which the Ariane-5 trajectory would be different from Ariane-4. 需求分析的重要性 5点事实 软件生命周期中,一个错误发现得越晚,修复错误的费用越高 许多错误是潜伏的,并且在错误产生后很长一段时间才被检查出来 在需求过程中会产生很多错误 DeMarco在一份研究报告中指出,被检查出来的错误的56%产生的根源可以追溯到需求阶段。 AIRMICS所进行的一项调查发现,在一份美国军方大型管理信息系统的需求现格说明书(SRS)中存在着500多个错误,当然这仅仅是一个软件项目中的一次调查。 在需求阶段,代表性的错误为疏忽、不一致和二义性 美国海军研究实验室从20世纪70年代起就对软件开发技术不断地进行研究。他们对海军A—7E—它机上的”宅行操作程序进行实地测试,以验证许多新设想的可行性。得出的研究数据表明:A—7E项目中77%的需求错误特点是不明确:疏忽、不一致和二义性。按错误类型对这些错误分布进行分析的结果是: 49%不正确的事实,31%疏忽,l 3%不一致,5%二义性 需求错误是可以被检查出来的 需求分析的重要性 在需求过程中会产生很多错误(事实3和4)。 许多错误并没有在早期被发现(事实2)。 这样的错误是能够在产生的初期被检查出来的(事实5)。 如果没有及时检查出来这些错误,软件费用会直线上升(事实1) 3.3 需求管理的困难性 需求工程涉及人员 需求工程 需求是什么?需求就是以一种清晰、简洁、一致且无二义性的方式,对一个待开发系统中各个有意义方面的陈述的一个集合。 需求工程一般指应用已证实有效的原理、方法,通过合适的工具和记号,系统地描述出待开发系统及其行为特征和相关约束;通常是一些过程的集合:需求获取(需求引出)、需求分析和编写软件规格说明书(SRS)及验证(包括鉴定和证实)。 3.3 软件需求分析的任务 需求工作:深入描述软件的功能和性能、确定软件设计的约束和软件同其它系统元素的接口细节、定义软件的其它有效性需求 初步目标:逐步细化对软件的要求,描述软件要处理的数据域,并给软件开发提供一种可转化为数据设计、结构设计和过程设计的数据和功能表示。 需求分析研究的对象是软件项目的用户要求 不要-“ 削足适履 ” ( “足” 为用户需求,“履” 为技术) 准确地表达被接受的用户要求 确定被开发软件系统的系统元素(物理模型) 将功能和信息结构分配到这些系统元素中 需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的 “做什么” 的问题。 通常软件开发项目是要实现目标系统的物理模型 目标系统的具体物理模型是由它的逻辑模型经实例化,即具体到某个业务领域而得到的 基本任务:准确地回答“系统必须做什么?” 1.确定对系统的综合需求 (1)系统功能要求 (2)系统性能要求 (3)运行要求 (4)将来可能提出的要求 2.导出系统的逻辑模型 数据流程图、数据字典、主要算法 例 子 例如,学生购买学校教材的手续可能是:先找系办公室的张秘书开一证明,凭证明找教材科的王会计开购书发票,向李出纳员交付书款,然后到书库找赵保管员领书。 通过对现实环境的调查研究,获得当前系统的具体模型。 去掉具体模型中的非本质因素,抽象出当前系统的逻辑模型 分析当前系统与目标系统的差别、建立目标的逻辑模型 对目标进行完善和补充,并写出完整的需求说明 这一步的主要工作有: (1)??? 确定目标系统的人-机界面,即哪些功能交给计算机去做,哪些功能由人工完成。例如在上图的系统中,按照书费收款和发书这两项工作仍须由人工完成。 (2)??? 补充迄今尚未考虑过的细节,例如确定系统的响应时间,增加出错处理等。在本例中,假如购书单中出现了学生不该购买或已经卖完的教材,就可用“无效书单”把相应的情况通知学生。 经过以上的修正和补充,就可以得到改进了的目标系统逻辑模型, 对需求说明进行复审,直到确认文档齐全,并且符合用户的全部需求为止。 从以上的简单叙述可以看出,需求分析是一个调查研究,去粗取精,综合比较,然后作出决策的过程。分析员不仅要熟悉计算机,还应该了解所开发系统的专业知识,并且与用户保持良好的对话与合作。当然,上述步骤仅显示一个粗略的轮廓,实际工作要复杂得多,下面还要详细介绍。 3.4 需求分析的过程 (1) 问题识别 ? 从系统的角度来理解软件并评审 软件

文档评论(0)

shaoye348 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档