软件工程课件4的知识.ppt

  1. 1、本文档共110页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
广东工业大学计算机学院 软件工程 Software Engineering 第4章 软件需求分析 本章内容: 4.1 需求分析 4.2 结构化分析 4.3 系统流程图 4.4 数据流图 4.5 数据字典 4.6 关系数据理论 4.1 需求分析 需求分析是软件定义时期的最后一个阶段,其基本任务是回答“系统必须做什么”这个问题。 需求分析不是确定系统怎样完成工作,而是确定系统必须完成哪些工作。对目标系统提出完整、准确的具体要求。 需求分析阶段结束时,要提交详细的数据流图、数据字典和算法描述。 4.1.1 需求分析的特点 需求分析虽处于软件开发过程的开始阶段,但它对于整个软件开发过程以及软件产品质量是至关重要的。需求分析是指开发人员要进行细致的调查分析,准确理解用户的要求。将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约的过程。 需求分析的难点主要体现在以下几个方面: 1. 需求易变性 用户在开始时提出一些功能需求,当对系统有一定的理解后,会提出一些需求。以后随着理解的深入而不断提出新的需求。 2. 问题的复杂性 一方面是由用户需求所涉及的因素繁多引起的,如运行环境和系统功能等;另一方面是扩展的应用领域本身的复杂性。 3. 交流障碍 需求分析涉及人员较多,系统分析员要与软件系统用户、问题领域专家、需求工程师和项目管理员等进行交流。但是这些人具备不同的背景知识,处于不同的角度,扮演不同角色,造成了相互之间交流的困难。 4. 不完备性和不一致性 由于用户各类人员对于系统的要求所处的角度不一样,所以对问题的陈述往往是不完备的,其各方面的需求还可能存在着矛盾。需求分析要消除其矛盾,形成完备及一致的定义。 为了克服需求分析的困难,人们展开的各种研究都是围绕着需求分析的方法、自动化工具(如CASE技术)及形式化需求分析等方面进行研究。需求分析的方法在应用中已有丰富的应用经验。 4.1.2 需求分析的原则 为使需求分析科学化,对软件工程的分析阶段中提出了许多需求分析方法。许多软件需求分析方法都有独特的观点和表示法,但都适用下面的基本原则: (1)可以把一个复杂问题按功能进行分解并可逐层细化。 (2)必须能够表达和理解问题的数据域和功能域。 (3)建立模型。所谓模型就是所研究对象的一种表达形式。 4.1.3 需求分析的任务 需求分析的基本任务是要准确地理解旧系统,定义新系统的目标。 需求分析的任务还不是确定系统怎样完成它的工作,仅仅是确定系统要完成哪些工作,也就是对系统提出完整、准确、清晰、具体的要求。 这个时期的工作可以从可行性阶段的数据流图等文档出发,划分出系统必须完成的许多基本功能,研究这些功能并进一步具体化。 1. 问题明确定义 (1)功能需求:指所开发的软件必须具备什么样的功能。 (2)性能需求:要开发软件的技术性能指标,如访问时延、存储容量、运行时间等限制。 (3)环境需求:软件运行时所需要的硬件的机型、外设;软件的操作系统、开发与维护工具和数据库管理系统等要求。 (4)用户界面需求:用户操纵界面的形式、输入/输出数据格式、数据传递的载体等。 (5)系统的可靠性、安全性、可移植性和可维护性等方面的需求。 2. 导出软件的逻辑模型 分析人员根据前面获取的需求资料,要进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。同时对数据域进行分解,并分配到各个子功能上,以确定系统的构成及主要成分。最后要用图文结合的形式,建立起新系统的逻辑模型。 3. 编写文档 通过分析确定了系统必须具有的功能和性能,定义了系统中的数据,描述了数据处理的主要算法。应该把分析的结果用正式的文件记录下来,作为最终软件的部分材料。编写文档的步骤如下: (1)编写“需求说明书”,把双方共同的理解与分析结果用规范的方式描述出来,作为今后各项工作的基础。 (2)编写初步用户使用手册,要从用户使用系统的角度来描述系统的用户要求。 (3)编写确认测试计划,作为今后确认和验收的依据。 (4)修改完善项目开发计划。 4.1.4 需求分析的方法 需求分析就是研究问题域,产生一个满足用户需求的系统模型。这个系统模型应能正确地描述问题域和系统责任,并使后续开发阶段的有关人员能根据这个模型继续进行工作。软件分析方法比较多,其中最有影响的是功能分解法、数据流法、信息建模法和面向对象的分析。 1. 功能分解方法 功能分解 = 功能+ 子功能 + 功能接口 功能分解法(function decomposition)以系统需要提供的功能为中心来组织系统。首先定义各种功能,然后把功能分解为子功能,同时定义功能之间的接口。 2. 结构化分析方法 结构化分析 = 数据流

文档评论(0)

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

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

1亿VIP精品文档

相关文档