文档介绍:软件工程Software Engineering
2018年1月9日
1
广东工业大学计算机学院
第4章软件需求分析
本章内容:
需求分析
结构化分析
系统流程图
数据流图
数据字典
关系数据理论
2018/1/9
2
广东工业大学计算机学院
需求分析
需求分析是软件定义时期的最后一个阶段,其基本任务是回答“系统必须做什么”这个问题。
需求分析不是确定系统怎样完成工作,而是确定系统必须完成哪些工作。对目标系统提出完整、准确的具体要求。
需求分析阶段结束时,要提交详细的数据流图、数据字典和算法描述。
2018/1/9
3
广东工业大学计算机学院
需求分析的特点
需求分析虽处于软件开发过程的开始阶段,但它对于整个软件开发过程以及软件产品质量是至关重要的。需求分析是指开发人员要进行细致的调查分析,准确理解用户的要求。将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约的过程。
2018/1/9
4
广东工业大学计算机学院
需求分析的难点主要体现在以下几个方面:
1. 需求易变性
用户在开始时提出一些功能需求,当对系统有一定的理解后,会提出一些需求。以后随着理解的深入而不断提出新的需求。
2. 问题的复杂性
一方面是由用户需求所涉及的因素繁多引起的,如运行环境和系统功能等;另一方面是扩展的应用领域本身的复杂性。
2018/1/9
5
广东工业大学计算机学院
3. 交流障碍
需求分析涉及人员较多,系统分析员要与软件系统用户、问题领域专家、需求工程师和项目管理员等进行交流。但是这些人具备不同的背景知识,处于不同的角度,扮演不同角色,造成了相互之间交流的困难。
2018/1/9
6
广东工业大学计算机学院
4. 不完备性和不一致性
由于用户各类人员对于系统的要求所处的角度不一样,所以对问题的陈述往往是不完备的,其各方面的需求还可能存在着矛盾。需求分析要消除其矛盾,形成完备及一致的定义。
2018/1/9
7
广东工业大学计算机学院
为了克服需求分析的困难,人们展开的各种研究都是围绕着需求分析的方法、自动化工具(如CASE技术)及形式化需求分析等方面进行研究。需求分析的方法在应用中已有丰富的应用经验。
2018/1/9
8
广东工业大学计算机学院
需求分析的原则
为使需求分析科学化,对软件工程的分析阶段中提出了许多需求分析方法。许多软件需求分析方法都有独特的观点和表示法,但都适用下面的基本原则:
(1)可以把一个复杂问题按功能进行分解并可逐层细化。
(2)必须能够表达和理解问题的数据域和功能域。
(3)建立模型。所谓模型就是所研究对象的一种表达形式。
2018/1/9
9
广东工业大学计算机学院
需求分析的任务
需求分析的基本任务是要准确地理解旧系统,定义新系统的目标。
需求分析的任务还不是确定系统怎样完成它的工作,仅仅是确定系统要完成哪些工作,也就是对系统提出完整、准确、清晰、具体的要求。
这个时期的工作可以从可行性阶段的数据流图等文档出发,划分出系统必须完成的许多基本功能,研究这些功能并进一步具体化。
2018/1/9
10
广东工业大学计算机学院