软件需求分析与建模.ppt
《软件需求分析与建模.ppt》由会员分享,可在线阅读,更多相关《软件需求分析与建模.ppt(146页珍藏版)》请在三一办公上搜索。
1、第2章 软件工程过程模型,2023/5/29 1,结束,返回,瀑布模型(waterfall model)定义 部分 开发部分 维护部分,图2.7 瀑布模型,引言,2023/5/29 2,结束,返回,第3章 软件需求分析与建模,3.1 需求分析,3.2 数据建模,3.3 功能建模,3.4 行为建模,3.6 结构化需求分析的若干技术,3.5 数据字典,3.7 验证软件需求,第3章 软件需求分析与建模,2023/5/29 3,结束,返回,【难点、重点】,本章的学习重点在于理解软件需求的概念和重要性,熟悉需求开发和需求管理的基本思想和主要活动,掌握结构化的分析方法;,难点是怎样在实际的软件项目中灵活运
2、用这些思想和方法。,第3章 软件需求分析与建模,2023/5/29 4,结束,返回,【学习目的】,本章介绍需求分析的意义、概念和方法,了解结构化分析方法和需求管理的关键活动;要求学会运用实体关系图、数据流图和状态控制图进行结构化分析建模,能够编写软件需求规格说明书。,第3章 软件工程过程模型,2023/5/29 5,结束,返回,软件需求分析的目的,待开发项目的可行性分析的基础上,建立目标系统的逻辑模型,需求分析,输入,输出,图3.1 需求分析的目的,第3章 软件需求分析与建模,2023/5/29 6,结束,返回,3.1 软件需求分析,3.1.1 需求分析的任务,3.1.2 需求分析的步骤,3.
3、1.3 需求分析的原则,第3章 软件需求分析与建模,2023/5/29 7,结束,返回,3.1 软件需求分析,3.1.1 需求分析的任务,(1)需求分析的主要任务,设计阶段的依据,需求分析阶段,软件规格说明书,生成、提交,作为,就是要通过软件开发人员与用户的交流和讨论,准确地获取用户对系统的具体要求,见图1.11。,理解需求,图3.2,(1)软件定义时期,软件定义部分又可划分为问题定义、可行性研究和需求分析三个阶段。,软件定义时期,需求分析,可行性研究,问题定义,系统分析报告,可行性分析报告初步项目计划,需求规格说明书,1.3 软件生存期(software life cycle),要解决的问题
4、是什么,是否有可行的解决办法,目标系统必须做什么,图1.11,第1章 软件工程引论,任务,任务,任务,撰写,撰写,撰写,进入下一时期,第3章 软件需求分析与建模,2023/5/29 9,结束,返回,3.1.1 需求分析的任务,由于需求分析研究的对象是用户对开发项目的要求,在实现这一阶段任务时必须要注意两个问题。,(2)需求分析研究的对象,需求分析员软件设计人员,用户,交流的难题,留下隐患,系统模型,花时搞清需求,建好模型,图3.3,问题一,问题二,第4章 软件需求分析与建模,2023/5/29 10,结束,返回,图3.4 需求分析类型,(3)系统的需求分类,业务需求反映了组织机构或客户对系统或
5、产品高层次的目标要求,它们在项目视图与范围文档中予以说明。,用户需求 描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。,功能需求 定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。主要说明了待开发系统在功能上实际应做些什么,是用户最主要的需求。通常包括系统的输入、系统能完成的功能、系统的输出及其他反应。,非功能需求是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。主要包括:过程需求(如交付需求、实现方法需求等)产品需求(如可靠性需求、可移植性需求、安全保密性需求)外部需求(如法规需求、费用需求等)等。,第3章 软件需
6、求分析与建模,2023/5/29 11,结束,返回,3.1 软件需求分析,3.1.2 需求分析的步骤,需求获取需求分析需求建模编写需求文档需求验证,第3章 软件需求分析与建模,2023/5/29 12,结束,返回,3.1.2 需求分析的步骤,需求分析阶段的工作,大致可分为如下几个步骤进行:,阅读描述系统需求的用户文档;对相关软件、技术的市场调查;对管理部门、用户的访问咨询;对工作现场的实际考察等。,(1)获取用户的需求,软件开发人员只有通过认真细致的调查研究,才能获得进行系统分析的原始资料。需求信息的获取可来源于:,第3章 软件需求分析与建模,2023/5/29 13,结束,返回,3.1.2
7、需求分析的步骤,(2)需求分析 对于获取的原始需求,软件开发人员需要根据掌握的专业知识,运用抽象的逻辑思维,找出需求间的内在联系和矛盾,去除需求中不合理和非本质的部分,确定软件系统的真正需求。,(3)需求建模 对于确定的系统需求,软件开发人员要通过现有的需求分析方法及工具对其进行清晰、准确的描述,建立无二义性的、完整的系统逻辑模型。,第3章 软件需求分析与建模,2023/5/29 14,结束,返回,3.1.2 需求分析的步骤,(4)书写需求说明书 需求阶段应提交的主要文档包括需求规格说明书、初步的用户手册和修正后的开发计划。其中,需求规格说明书是对分析阶段主要成果的综合描述,是该阶段最重要的技
8、术文档。,第3章 软件需求分析与建模,2023/5/29 15,结束,返回,3.1.2 需求分析的步骤,(5)需求复审 为了保证软件开发的质量,对需求分析阶段的工作要按照严格的规范进行复审,从不同的技术角度对该阶段工作做出综合性的评价。复审即要有用户参加,也要有管理部门和软件开发人员参加。,第3章 软件需求分析与建模,2023/5/29 16,结束,返回,3.1 软件需求分析,3.1.3 需求分析的原则,目前存在着许多需求分析的方法,虽然各种方法都有其独特的描述方法,但不论采用何种方法,需求分析都必须遵循以下基本原则:,(1)能够表达和理解问题的数据域和功能域 所有软件开发的最终目的都是为了解
9、决数据处理的问题,数据处理的本质就是将一种形式的数据转换成另一种形式的数据。需求分析阶段必须明确系统中应具备的每一个加工、加工的处理对象和由加工所引起的数据形式的变化。,第3章 软件需求分析与建模,2023/5/29 17,结束,返回,3.1.3 需求分析的原则,(2)分解 为了便于问题的解决和实现,在需求分析过程中需要对于原本复杂的问题按照某种合适的方式进行分解(对功能域和数据域均可)。使系统的理解和实现变得较为容易。,第3章 软件需求分析与建模,2023/5/29 18,结束,返回,(3)能够给出系统的逻辑表示和物理表示 系统需求的逻辑表示用于指明系统所要达到的功能要求和需要处理的数据,不
10、涉及实现的细节。系统需求的物理表示用于指明处理功能和数据结构的实际表现形式,通常由系统中的设备决定。,3.1.3 需求分析的原则,第3章 软件需求分析与建模,2023/5/29 19,结束,返回,3.1 软件需求分析,3.1.4 需求分析的方法,结构化分析(SA),面向对象分析(OOA),实体关系图,数据流图,状态转换图,数据建模,功能建模,动态建模,分析建模方法,进行,进行,进行,结构化分析(SA,Structure Analysis),面向对象分析(OOA,Object Oriented Analysis),图3.5 需求分析方法,第3章 软件需求分析与建模,2023/5/29 20,结束
11、,返回,3.1 软件需求分析,3.1.5 需求分析模型,需求分析产生的模型使人们可以更好地理解将要建造的系统,它有助于系统分析员理解系统的信息、功能和行为,成为确定需求规格说明完整性、一致性和精确性的重要依据,奠定了软件设计的基础。,第3章 软件需求分析与建模,2023/5/29 21,结束,返回,3.1 软件需求分析,3.1.5 需求分析模型,结构化分析导出的分析模型包括数据模型、功能模型和行为模型。该模型以“数据字典”为核心,描述了软件使用的所有数据对象,围绕这个核心的是“实体关系图”、“数据流图”和“状态转换图”。具体形式如下图所示:,第3章 软件需求分析与建模,2023/5/29 22
12、,结束,返回,3.1 软件需求分析,3.1.5 需求分析模型,图3.6 需求分析模型,实体关系图(ER,Entity Relation):数据建模的基础,描述数据对象及其关系;,数据流图(DFD,Data Flow Diagram):功能建模的基础,描述数据怎样转换以及转换的功能;,状态转换图(ST,Status Tranformtion)行为建模的基础,表示系统的各种行为状态以及状态间的转换方式。;,第3章 软件需求分析与建模,2023/5/29 23,结束,返回,3.2 数据建摸,3.2.1 实体关系图,3.2.2 方框层次图,3.2.3 Warnier图,第3章 软件需求分析与建模,20
13、23/5/29 24,结束,返回,3.2 数据建摸,(1)数据模型包括三种基本元素:数据对象属性关系它们对理解问题的信息域提供了基础。,3.2.1 实体关系图,数据对象表示具有不同属性的事物,ER用带有标记的矩形来表示。,关系表示数据对象之间的相互连接,ER用直线连接相关联的数据对象,并在直线上用带标记的菱形框来表示关系。,属性也称性质,指数据对象某一方面的特征,ER用带有标记的椭圆来表示。,第3章 软件需求分析与建模,2023/5/29 25,结束,返回,3.2 数据建摸,3.2.1 实体关系图,属性,(2)ER图中的基本符号,连接,图3.7 ER图的符号,第3章 软件需求分析与建模,202
14、3/5/29 26,结束,返回,3.2.1 实体关系图,两个数据对象之间有以下三种关联,ER在数据对象之间的连线上用数字或字母表示:一对一(1:1):对象 A的一个实例只能关联到对象B的一个实例,对象 B的一个实例也只能关联到对象A的一个实例.,对象 A,对象 B,丈夫,妻子,关系,夫妻,1,1,1,1,图3.8 一对一关系,第3章 软件需求分析与建模,2023/5/29 27,结束,返回,3.2.1 实体关系图,一对多(1:N):对象 A的一个实例可以关联到对象B的一个或多个实例,而对象 B的一个实例只能关联到对象A的一个实例,如一个母亲可以有多个孩子,而一个孩子只能有一个母亲。,对象 A,
15、对象 B,母亲,孩子,关系,母子,1,n,1,n,图3.9 一对多关系,第3章 软件需求分析与建模,2023/5/29 28,结束,返回,3.2.1 实体关系图,多对多(M:N):对象 A的一个实例可以关联到对象B的一个或多个实例,同时对象 B的一个实例也可以关联到对象A的一个或多个实例,如一个叔叔可以有多个侄子,一个侄子也可以有多个叔叔。,对象 A,对象 B,叔叔,侄子,关系,叔侄,m,n,m,n,图3.10 多对多关系,第3章 软件需求分析与建模,2023/5/29 29,结束,返回,学生选课ER图,图3.11,第3章 软件需求分析与建模,2023/5/29 30,结束,返回,工资计算系统
16、ER图,图3.12,第3章 软件需求分析与建模,2023/5/29 31,结束,返回,3.2 数据建摸,3.2.2 方框层次图,层次方框图也是数据建模的图形工具 层次方框图通过树型结构的一系列多层次的矩形框描述复杂数据的层次结构。,树型结构顶端的矩形框只有一个,用于代表完整的数据结构。下面各层的矩形框是对完整数据结构的逐步分解和细化得到的数据子集;底层的矩形框代表组成该数据结构的基本元素,是数据的最小单位,不可再分割。,第3章 软件需求分析与建模,2023/5/29 32,结束,返回,3.2 数据建摸,3.2.2 方框层次图,层次方框图非常适合描述自顶向下的需求分析方法中数据的层次关系。系统分
17、析员可以从对顶层信息的分类开始,沿着层次图中的每条路径逐步细化,直到确定了数据结构的全部细节为止。,第3章 软件需求分析与建模,2023/5/29 33,结束,返回,3.2 数据建摸,3.2.2 方框层次图,例如,某单位职工的实发工资由应发工资和扣款两部分组成,每部分又可进一步细分。如应发工资又可分为基本工资和奖金;基本工资又可分为国家工资、津贴、补贴;奖金也可分为出勤奖和业绩奖;津贴和补贴还可以再进一步地细分。实发工资的层次方框图如下图所示。,第3章 软件需求分析与建模,2023/5/29 34,结束,返回,图3.13 职工工资的层次方框图,第3章 软件需求分析与建模,2023/5/29 3
18、5,结束,返回,3.2 数据建摸,3.2.3 Warnier图,Warnier图是法国科学家Warnier提出的另一种描述数据层次结构的图形工具。与层次方框图类似,Warnier图也采用了树型结构表示数据,但与层次方框图相比,Warnier图对数据的描绘手段更加丰富。,第3章 软件需求分析与建模,2023/5/29 36,结束,返回,3.2.3 Warnier图,在Warnier图中,使用大括号来区分数据结构的层次。一个大括号内的所有名字都属于同一类信息;异或符号“”用于表明一类信息或一个数据元素在一定条件下出现,而且在这个符号上、下方的两个名字所代表的数据只能出现一个。在一个名字下面或右边的
19、圆括号中出现的数字指明了这个名字所代表的信息类或数据元素在该数据结构中重复出现的次数。,第3章 软件需求分析与建模,2023/5/29 37,结束,返回,3.2.3 Warnier图,例如,某计算机公司的一种软件产品要么是系统软件,要么是应用软件;系统软件中有k1种操作系统、k2种编译程序,此外还有工具软件;工具软件进一步又可划分为编辑程序、测试工具和辅助设计工具,它们各自的数量分别为j1、j2和j3。描绘这种软件产品的Warnier 图如图4.14所示。,第3章 软件需求分析与建模,2023/5/29 38,结束,返回,3.2.3 Warnier图,图4.14 描绘一种软件产品的Warnie
20、r图,第3章 软件需求分析与建模,2023/5/29 39,结束,返回,练习题-实体关系图,图3.15 某学校教学管理ER图,第3章 软件需求分析与建模,2023/5/29 40,结束,返回,小结,作业 P57 1,5,需求分析的任务,需求分析的步骤,需求分析的原则,实体关系图,方框层次图,Warnier图,需求分析的方法,需求分析模型,第3章系统工程基础与可行性研究,2023/5/29 41,结束,返回,软件定义时期,需求分析,可行性研究,问题定义,系统分析报告,可行性分析报告初步项目计划,需求规格说明书,要解决的问题是什么,是否有可行的解决办法,目标系统必须做什么,任务,任务,任务,撰写,
21、撰写,撰写,图1.11软件定义,软件定义部分又可划分为问题定义、可行性研究和需求分析三个阶段。,软件定义部分,第3章 软件需求分析与建模,2023/5/29 42,结束,返回,3.1 软件需求分析,3.1.5 需求分析模型,图3.6 需求分析模型,实体关系图(ER,Entity Relation):数据建模的基础,描述数据对象及其关系;,实体关系图,方框层次图,Warnier图,第3章 软件需求分析与建模,2023/5/29 43,结束,返回,3.3 功能建模,【本节知识点】数据流图功能建模,第3章 软件需求分析与建模,2023/5/29 44,结束,返回,3.3 功能建模,数据流图(DFD,
22、Data Flow Diagram)是结构化分析的基本工具,它描述了信息流和数据转换,通过对加工进行分解可以得到数据流图。,3.3.1 数据流图概念,数据流图,功能模型,创建,第3章 软件需求分析与建模,2023/5/29 45,结束,返回,3.3 功能建模,DFD有四种元素,其基本符号如下图所示:,3.3.2 数据流图符号,外部实体:与系统进行交互,但系统不对其进行加工和处理的实体,用带标记的矩形表示;,加工:对数据进行的变换和处理,用带标记的圆圈表示;,数据流:在数据加工之间或数据存储和数据加工之间进行流动的数据,用带标记的箭头表示;,数据存储:在系统中需要存储的实体,用带标记的双实线表示
23、。,第3章 软件需求分析与建模,2023/5/29 46,结束,返回,3.3.3 基本系统模型,第0层DFD称为基本系统模型,可以将整个软件系统表示为一个具有输入和输出的黑匣子,用一个圆圈表示。,图3.16 系统的顶层数据流图,第4章 软件需求分析与建模,2023/5/29 47,结束,返回,3.3.4 数据流与加工之间的关系,表3.1 加工中常见关系的符号表示,第3章 软件需求分析与建模,2023/5/29 48,结束,返回,3.3 功能建模,3.3.5 数据流模型的创建,通常,数据流图是分层绘制的,整个过程反映了自顶向下进行功能分解和细化的分析过程。,顶层(也称第0层)DFD用于表示系统的
24、开发范围,以及该系统与周围环境的数据交换关系;最底层DFD代表了那些不可进一步分解的“原子加工”;中间层DFD是对上一层父图的细化,其中的每一个加工可以继续细化,中间层次的多少由系统的复杂程度决定。,第3章 软件需求分析与建模,2023/5/29 49,结束,返回,3.3.5 数据流模型的创建,(1)建立数据流图的步骤,第0层DFD将整个系统表示成一个加工;确定并标记主要的输入和输出;分离出下一层中的加工、数据对象和存储,并对其进行细化,一次细化一个加工;标记所有加工和箭头;重复步骤和,直到所有的加工只执行一个简单的操作,可以很容易地用程序实现。,第3章 软件需求分析与建模,2023/5/29
25、 50,结束,返回,3.3.5 数据流模型的创建,(2)建立数据流图的说明,绘制第0层DFD的时候,将整个系统看成一个加工,然后找出作用于该加工的外部实体,以及相应的数据输入和输出。绘制下一层数据流图时,细化第0层的加工,从而描述系统的主要功能。继续进行分解,直到所有的加工只执行一个简单的操作为止。,第3章 软件需求分析与建模,2023/5/29 51,结束,返回,3.3 功能建模,3.3.5 数据流模型的创建,图3.17 工资计算系统的顶层(0层)数据流图,(3)建立顶层数据流图系统基本模型,第3章 软件需求分析与建模,2023/5/29 52,结束,返回,3.3.5 数据流模型的创建,(4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 需求 分析 建模
链接地址:https://www.31ppt.com/p-5018952.html