软件工程第三章.ppt
《软件工程第三章.ppt》由会员分享,可在线阅读,更多相关《软件工程第三章.ppt(36页珍藏版)》请在课桌文档上搜索。
1、 软件工程 讲稿,第二部分 课程内容,第三章软件需求工程,学习目标:了解软件需求分析的任务与重要性,理解其中的重要概念,如SRS,里程碑,可提交物等;掌握软件需求分析的步骤、方法;了解软件需求分析内容与后续工作的关系;理解软件需求工程知识;掌握软件需求分析文档的撰写;需求分析阶段存在的常见问题。,3.1 概述,所谓“需求分析”,是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。软件开发项目过程可以用图3.1开发过程模型来说明。,图3.1 开发过程模型,3.1 概述,图中几个概念的含义。当前系统:将用户正在使用的系统。目标系统:在应用计算机
2、后要实现的系统。当前系统的物理模型:用一个具体化的模型模拟、了解当前系统的组织机构、资源利用情况和日常数据处理过程。当前系统的逻辑模型:在理解当前系统的具体运行过程后,从个体的细节抽象出本质的过程模型。,3.1 概述,目标系统的逻辑模型:分析当前系统与目标系统逻辑上的差别,明确目标系统要“做什么”的实质工作,从当前系统的逻辑模型导出目标系统的逻辑模型。目标系统的物理模型:确定待开发系统的系统元素,将功能和数据结构分配到系统元素中。它的具体物理模型则是由它的逻辑模型经实例化后,具体到某个业务领域得到的。,3.2 需求分析任务,软件需求分析阶段研究的对象是软件项目的用户要求,如何准确表达用户的要求
3、,怎样与用户共同明确将要开发的是一个什么样的系统,是需求分析要解决的主要问题。下面简要叙述需求分析阶段的具体任务。一、确定对系统的综合要求。对系统的综合要求有下述四个方面:1系统功能要求2系统性能要求3运行要求4将来可能提出的要求,3.2 需求分析任务,二、分析系统的数据要求分析系统的数据要求通常采用建立概念模型的方法。三、导出系统的逻辑模型综合上述两项分析的结果可以导出系统的详细的逻辑模型,通常用数据流图、数据字典和主要的处理算法描述这个逻辑模型。四、修正系统开发计划根据在分析过程中获得的对系统的更深入更具体的了解,可以比较准确地估计系统的成本和进度,修正以前制定的开发计划。五、开发原型系统
4、,3.2 需求分析任务,对于软件系统的开发,使用“样机”(原型系统)的主要目的是,使用户通过实践获得关于未来的系统将怎样为他们工作的更直接更具体的概念,从而可以更准确地提出和确定他们的要求。,3.3 软件需求分析类型,3.3.1功能需求与非功能需求 软件系统需求通常分为三类:功能需求,非功能需求,领域需求。1.功能需求功能需求描述系统所预期提供的功能或服务。2.非功能需求 非功能需求,是指那些不直接与系统具体功能相关的一类需求。它们与系统的总体特性相关,如可靠性、反应时间和储存空间等。,3.3 软件需求分析类型,图3.3 非功能需求的类型,3.3 软件需求分析类型,3.领域需求 领域需求起源于
5、系统的应用领域而不是系统的用户需要。它们可能是一个新的特有的功能需求、对已存在的功能需求的约束或者是需要实现的一个特别计算。3.3.2用户需求 用户需求是从用户角度来描述系统功能和非功能需求,以便让不具备专业技术方面知识的用户能看懂。这样的需求描述只描述系统的外部行为,要尽量避免对系统设计特性的描述。,3.3 软件需求分析类型,3.3.3系统需求 系统需求是比用户需求更详细的需求描述,是系统实现的基本依据,因此,是一个完全的和一致的系统描述,是软件工程人员系统设计的起点。自然语言时常被用来书写系统需求描述,但被用来做更详细的描述时,深层次的问题就暴露出来,主要有:自然语言的二义性会造成语义理解
6、的偏差。自然语言书写的需求描述随意性大。没有一个简单的方法使自然语言书写的需求模块化。替代的描述方式如表3.2所示:,3.3 软件需求分析类型,表3.2:可以替换自然语言的方法,3.4 软件需求分析原则,进行用户需求是需求分析的第一步,用户需求通常可以分为功能需求和性能需求两类。功能需求定义了系统应该做什么,系统要求输入什么信息,输出什么信息,以及如何将输入变换为输出。性能需求则定义了软件运行的状态特征,如系统运行效率,可靠性,安全性,可维护性等等。,3.5 需求分析方法,在软件工程学的需求分析中常用的方法通常采用结构化分析技术、面向对象分析技术,以及原型开发技术等。3.5.1结构化分析方法结
7、构化分析技术是一种面向数据流的分析方法。结构化分析就是使用数据流图、数据词典、结构化英语、判定表和判定树等工具,来建立一种新的、称为结构化说明书的目标文档。建立功能模型数据流程图,又称数据流图,它是以图形的方式来表达数据处理系统中信息的变换和传递过程。数据流程图有三个重要属性:,3.5 需求分析方法,数据流程图有三个重要属性:1)可以表示任何一个系统(人工的、自动的或混合的)中的信息流程。2)每个圆圈可能需要进一步分解以求得对问题的全面理解。3)着重强调的是数据流程而不是控制流程。数据流程图中的基本符号有:1、数据流数据流是有名字有流向的数据,在数据流程图中,数据流用标有名字的箭头来表示。,3
8、.5 需求分析方法,2、加工加工又称处理逻辑,表示数据所进行的加工或变换,以标有名字的圆圈代表加工。指向加工的数据流是该加工的输入数据,离开加工的数据流是该加工的输出数据。3、文件文件是数据暂存的处所,可对文件进行必要的存取,在图中以标有名字的双直线段表示。4、数据源及数据终点表明数据处理过程的数据来源或数据去向的标志称为数据源及数据终点,在数据流程图中均以命名的方框来表示。,3.5 需求分析方法,2.建立数据模型软件系统本质上是信息处理系统,因此,在软件系统的整个开发过程中都必须考虑两方面的问题“数据”及对数据的“处理”。在需求分析阶段则既要分析用户的数据要求,又要分析用户的处理要求。为了把
9、用户的数据要求清晰明确地表达出来,系统分析员通常建立一个概念性的数据模型(也称为信息模型)。概念性数据模型是一种面向问题的数据模型,是按照用户的观点来对数据和信息建模。最常用的表示概念性数据模型的方法,是实体一联系方法,用这种方法表示的概念性数据模型又称为ER模型。,3.5 需求分析方法,ER模型中包含“实体”、“联系”和“属性”等三个基本成分:1实体 实体是客观世界中存在的且可相互区分的事物,实体可以是人也可以是物;可以是具体事物也可以是抽象概念。在ER图中用矩形框代表实体。2联系客观世界中的事物彼此间往往是有联系的,联系可分为三类:(1)一对一联系(11)(2)一对多联系(1N)(3)多对
10、多联系(MN),3.5 需求分析方法,在ER图中,用连接相关实体的菱形框表示联系。3属性属性是实体或联系所具有的性质。通常一个实体由若干个属性来刻画。在ER图中用椭圆形或圆角矩形表示实体(或联系)的属性,并用无向边把实体(或联系)与其属性连接起来。4范式通常用“范式(Normal Forms)”定义消除数据冗余的程度。第一范式(1 NF)数据冗余程度最大,第五范式(5 NF)数据冗余程度最小。但是,范式级别越高,存储同样数据就需要分解成更多张表,因此,“存储自身”的过程也就越复杂。,3.5 需求分析方法,从实用角度看来,在大多数场合选用第三范式都比较恰当。1第一范式每个属性值都必须是原子值,即
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 第三
链接地址:https://www.desk33.com/p-235734.html