第2章 软件要求定义.pptVIP

  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文档。上传文档
查看更多
习题 1.可行性研究的任务是什么? 2.可行性研究有哪些步骤? 3.成本效益分析可用哪些指标进行度量? 4.项目开发计划有哪些内容? 5.什么是需求分析? 需求分析阶段的基本任务是什么? 6.什么是IDEF方法? IDEF0方法有什么特点? 项目开发计划是一个管理性的文档,它的主要内容如下: (1) 项目概述:说明项目的各项主要工作;说明软件的功能、性能;为完成项目应具备的条件;用户及合同承包者承担的工作、完成期限及其他条件限制;应交付的程序名称,所使用的语言及存储形式;应交付的文档。 (2) 实施计划:说明任务的划分,各项任务的责任人;说明项目开发进度,按阶段应完成的任务,用图表说明每项任务的开始时间和完成时间;说明项目的预算,各阶段的费用支出预算。 (3) 人员组织及分工:说明开发该项目所需人员的类型、组成结构和数量等。 (4) 交付期限:说明项目最后完工交付的日期。 2.3 软件需求分析 2.3.1 需求分析的特点 在进行可行性研究和项目开发计划以后,如果确认开发一个新的软件系统是必要的而且是可能的,那么就可进入需求分析阶段。 需求分析是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。需求分析虽处于软件开发过程的开始阶段,但它对于整个软件开发过程以及软件产品质量是至关重要的。 在计算机发展的早期,所求解问题的规模较小,需求分析被忽视。随着软件系统复杂性的提高及规模的扩大,需求分析在软件开发中所处的地位愈加突出,从而也愈加困难,它的难点主要体现在以下几个方面: (1) 问题的复杂性。这是由用户需求所涉及的因素繁多引起的,如运行环境和系统功能等。 (2) 交流障碍。需求分析涉及人员较多,如软件系统用户、问题领域专家、需求工程师和项目管理员等,这些人具备不同的背景知识,处于不同的角度,扮演不同角色,造成了相互之间交流的困难。 (3) 不完备性和不一致性:由于各种原因,用户对问题的陈述往往是不完备的,其各方面的需求还可能存在着矛盾,需求分析要消除其矛盾,形成完备及一致的定义。 (4) 需求易变性。用户需求的变动是一个极为普遍的问题,即使是部分变动,也往往会影响到需求分析的全部,导致不一致性和不完备性。 为了克服上述困难,人们主要围绕着需求分析的方法及自动化工具(如CASE技术)等方面进行研究。 2.3.2 需求分析的原则 近几年来已提出许多软件需求分析与说明的方法(如结构化分析方法和面向对象分析方法),每一种分析方法都有独特的观点和表示法,但都适用下面的基本原则: (1) 必须能够表达和理解问题的数据域和功能域。数据域包括数据流(即数据通过一个系统时的变化方式)、数据内容和数据结构,而功能域反映上述三方面的控制信息。 (2) 可以把一个复杂问题按功能进行分解并可逐层细化。通常软件要处理的问题如果太大太复杂就很难理解,若划分成几部分,并确定各部分间的接口,就可完成整体功能。在需求分析过程中,软件领域中的数据、功能和行为都可以划分。 (3) 建模。模型可以帮助分析人员更好地理解软件系统的信息、功能和行为,这些模型也是软件设计的基础。 结构化分析方法(见8.2节)和面向对象分析方法都遵循以上原则。 2.3.3 需求分析的任务 需求分析的基本任务是要准确地定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。在可行性研究和项目开发计划阶段对这个问题的回答是概括的、粗略的。 1.问题识别 双方确定对问题的综合需求。这些需求包括: (1) 功能需求:指所开发的软件必须具备的功能,这是最重要的。 (2) 性能需求:指待开发的软件的技术性能指标,如存储容量、运行时间等限制。 (3) 环境需求:指软件运行时所需要的软、硬件(如机型、外设、操作系统和数据库管理系统等)的要求。 (4) 用户界面需求:即人机交互方式、输入/输出数据格式等。 另外还有可靠性、安全性、保密性、可移植性和可维护性等方面的需求,这些需求一般通过双方交流、调查研究来获取,并达到共同的理解。 2.分析与综合,导出软件的逻辑模型 分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。这里也包括对数据域进行分解,并分配到各个子功能上,以确定系统的构成及主要成分,并用图文结合的形式,建立起新系统的逻辑模型。 3.编写文档 编写文档的步骤如下: (1) 编写“需求说明书”,把双方共同的理解与分析结果用规范的方式描述出来,作为今后各项工作的基础。

文档评论(0)

yigang0925 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档