《软件工程分析.ppt》由会员分享,可在线阅读,更多相关《软件工程分析.ppt(76页珍藏版)》请在优知文库上搜索。
1、2023-3-101需求建模方法需求建模方法o结构化分析方法结构化分析方法 面向数据流的分析方法面向数据流的分析方法 面向数据的分析方法面向数据的分析方法o面向对象的分析方法面向对象的分析方法2023-3-102需求建模方法的组成需求建模方法的组成 一组语言机制一组语言机制 供需求分析人员表达用户需求、构造软件模型。供需求分析人员表达用户需求、构造软件模型。 规则和经验规则和经验 指导分析人员提取需求并使用户需求精确化、全指导分析人员提取需求并使用户需求精确化、全面化、一致化。面化、一致化。2023-3-103o六十年代未、七十年代初结构化设计盛行,六十年代未、七十年代初结构化设计盛行,结构化
2、分析以结构化设计附产品的身份出现。结构化分析以结构化设计附产品的身份出现。o七十年代未期七十年代未期 Douglas Ross提出结构化分析提出结构化分析的术语的术语o DeMarcoDEM79 进行推广,给出分析员进行推广,给出分析员可以创建信息流模型的主要图形记号,建议可以创建信息流模型的主要图形记号,建议将将“数据字典数据字典”和和“处理说明处理说明”作为信息流作为信息流模型的补充,並提供方法应用的实例;模型的补充,並提供方法应用的实例;2023-3-104o八十年代初期八十年代初期Page-JonesPAG80,GaneGAN82等等人提出结构化分析方法的一些变种,用于人提出结构化分析
3、方法的一些变种,用于信息系统信息系统的开发;的开发;o八十年代中期八十年代中期 Ward、MellorWAR85、Hatiy和和PirbhaiHAT87对结构化分析进行扩充对结构化分析进行扩充支持实时、支持实时、控制和嵌入式系统的开发控制和嵌入式系统的开发;oHarel Pnueli研制了研制了面向复杂实时反应式系面向复杂实时反应式系统统(Complex Real-time Reactive System)的开的开发环境发环境 STATEMATE。2023-3-105 1 1 数据流图与数据字典数据流图与数据字典 2 2 实体一关系图实体一关系图 数据对象、属性与关系数据对象、属性与关系 实体
4、一关系图实体一关系图 3 3 数据流图的实时系统扩充数据流图的实时系统扩充 Ward & MellorWard & Mellor扩充扩充 Hatley & PirhaiHatley & Pirhai扩充扩充 4 4 基于数据流的分析方法基于数据流的分析方法 创建数据流模型创建数据流模型 创建控制流模型创建控制流模型 创建过程规格说明创建过程规格说明 5 5 基于数据流图的需求分析基于数据流图的需求分析CASECASE工具。工具。 语言机制语言机制 动态分析动态分析 基于基于CASECASE工具的需求分析工具的需求分析o以以“家庭保安系统家庭保安系统”为例展示结构化分析方法的使用过程。为例展示结
5、构化分析方法的使用过程。2023-3-106实体关系图数数据据字字典典控控制制規規约约C CS SP PE EC C数数据据对对象象描描述述加加工工規規约约P PS SP PE EC C实实体体- -关关系系图图数数据据流流图图状状态态- -变变迁迁图图第五章第五章 面向数据流的分析方法面向数据流的分析方法2023-3-107核心核心 数据字典数据字典 描述软件工程项目的所有数据对象描述软件工程项目的所有数据对象中间层中间层 实体实体-关系图关系图、数据流图数据流图、状态状态-变迁图变迁图 实体实体-关系图关系图 描述数据对象之间的关系描述数据对象之间的关系 数据流图数据流图 功能建模的基础功
6、能建模的基础 系统或子系统对数据实施的变换、变换的功能系统或子系统对数据实施的变换、变换的功能 提供信息分析的信息提供信息分析的信息 状态状态-变迁图变迁图 行为建模的基础行为建模的基础 系统的行为模式(称系统的行为模式(称“状态状态”)以及状态变迁的方)以及状态变迁的方式式第五章第五章 面向数据流的分析方法面向数据流的分析方法2023-3-108 最外层最外层数据对象描述、加工规格说明数据对象描述、加工规格说明PSPEC、控制规格说明控制规格说明CSPEC数据对象数据对象 表示表示实体实体-关系图关系图中每个数据对象的属性中每个数据对象的属性加工规格说明加工规格说明PSPEC 描述描述数据流
7、图数据流图的每个功能。的每个功能。 控制规格说明控制规格说明CSPEC 描述软件控制的附加信息描述软件控制的附加信息第五章第五章 面向数据流的分析方法面向数据流的分析方法2023-3-109o基于计算机的信息处理系统由数据流和一系列基于计算机的信息处理系统由数据流和一系列的加工构成,这些加工将输入数据流加工为输的加工构成,这些加工将输入数据流加工为输出数据流出数据流o数据流图描述数据流和加工数据流图描述数据流和加工o数据流图用图形符号表示数据流、加工、数据数据流图用图形符号表示数据流、加工、数据源及外部实体源及外部实体o数据流图具有层次结构,支持问题分解、逐步数据流图具有层次结构,支持问题分解
8、、逐步求精的分析方法求精的分析方法o它是数据驱动的数据流图既可以表示基于计算它是数据驱动的数据流图既可以表示基于计算机的系统,也可以表示软件机的系统,也可以表示软件第五章第五章 面向数据流的分析方法面向数据流的分析方法2023-3-10105.1数据流图与数据字典数据流图与数据字典2023-3-10112023-3-10122023-3-10132023-3-1014 随着需求随着需求分析活动的分析活动的深入,较高深入,较高抽象级别的抽象级别的复杂加工逐复杂加工逐步精化为一步精化为一系列相互关系列相互关联的数据流联的数据流和子加工。和子加工。5.1数据流图与数据字典数据流图与数据字典2023-
9、3-1015o逐层精化必须保逐层精化必须保持数据流图的平持数据流图的平衡衡o数据流与加工精数据流与加工精化必须保持一致化必须保持一致o需求分析活动只需求分析活动只求对问题全面、求对问题全面、清晰的理解,不清晰的理解,不考虑软件设计细考虑软件设计细节节 5.1数据流图与数据字典数据流图与数据字典2023-3-10162023-3-10172023-3-10182023-3-10192023-3-10202023-3-10212023-3-10222023-3-10232023-3-10242023-3-10252023-3-10262023-3-10272023-3-10282023-3-102
10、92023-3-10302023-3-10312023-3-10322023-3-10332023-3-1034定义定义 数据字典由数据条目组成,数据字典描述、组数据字典由数据条目组成,数据字典描述、组织和管理数据流图的数据流、加工、数据源及外织和管理数据流图的数据流、加工、数据源及外部实体。部实体。o数据字典用简洁、清晰、易理解的文字描述条目,数据字典用简洁、清晰、易理解的文字描述条目,说明数据流图的加工功能、性能、要求及设计约说明数据流图的加工功能、性能、要求及设计约束等。束等。o数据流图与数据字典配套使用,完整地描述软件数据流图与数据字典配套使用,完整地描述软件需求。需求。5.1数据流图
11、与数据字典数据流图与数据字典2023-3-1035内容内容(1 1)名称与别名)名称与别名 数据流、数据源或外部实体的标识;数据流、数据源或外部实体的标识;(2 2)数据类型;)数据类型;(3 3)何处使用如何使用)何处使用如何使用 输入流输出流的加工表;输入流输出流的加工表;(4 4)内容描述;)内容描述;(5 5)补充说明)补充说明 如,取值范围与缺省值,有关的设计约束等。如,取值范围与缺省值,有关的设计约束等。5.1数据流图与数据字典数据流图与数据字典2023-3-10362023-3-10372023-3-10382023-3-10392023-3-10402023-3-1041202
12、3-3-10422023-3-10432023-3-1044o需求分析的重要任务是,对复杂的数据及数据需求分析的重要任务是,对复杂的数据及数据关系进行分析、建模。关系进行分析、建模。o实体实体关系图是数据模型的基础,它描述数据对关系图是数据模型的基础,它描述数据对象、属性、及其关系。象、属性、及其关系。 第五章第五章 面向数据流的分析方法面向数据流的分析方法2023-3-1045o数据对象数据对象o数据属性数据属性o数据关系数据关系o数据对象、属性与关系数据对象、属性与关系5.2实体实体-关系图关系图2023-3-1046数据对象数据对象 现实世界具有不同特征和属性的实体或事务的现实世界具有不
13、同特征和属性的实体或事务的标识,计算机软件描述并处理的一组信息。如,事标识,计算机软件描述并处理的一组信息。如,事件、行为、角色、组织、地点、结构等。件、行为、角色、组织、地点、结构等。o数据对象只封装数据,包括:数据流、数据源、外数据对象只封装数据,包括:数据流、数据源、外部实体的数据部分,不封装操作。部实体的数据部分,不封装操作。o数据对象是相互关联的。数据对象是相互关联的。5.2实体实体-关系图关系图2023-3-1047属性属性 用用“标识符、符号串和值标识符、符号串和值”标识,描述数据对象的性质。包标识,描述数据对象的性质。包括:括:(1 1)命名)命名 标识数据对象标识数据对象(2
14、 2)描述)描述 描述数据对象的性质描述数据对象的性质(3 3)引用)引用 建立数据对象之间的联系建立数据对象之间的联系o数据对象的属性是原子数据项,不包含内部数据结构。数据对象的属性是原子数据项,不包含内部数据结构。 o数据对象的任何属性有且仅有一个属性值。数据对象的任何属性有且仅有一个属性值。o现实世界的实体具有许多属性,分析人员只能考虑与应用现实世界的实体具有许多属性,分析人员只能考虑与应用问题有关的属性。问题有关的属性。5.2实体实体-关系图关系图2023-3-1048例例 汽车销售管理问题的数汽车销售管理问题的数据对象描述表据对象描述表. . 汽车属性汽车属性 制造商制造商 型号型号
15、 标识码标识码 车体类型车体类型 颜色颜色 买主买主 5.2实体实体-关系图关系图2023-3-1049关系关系o数据对象按照某种关系相互连接数据对象按照某种关系相互连接o用用对象关系偶对象关系偶描述数据对象描述数据对象o关系关系的命名及内涵应反映描述的问题的命名及内涵应反映描述的问题o删除与问题无关的删除与问题无关的关系关系5.2实体实体-关系图关系图2023-3-1050数据对象、属性和关系数据对象、属性和关系o问题的数据对象与其它数据对象存在各种形式的关问题的数据对象与其它数据对象存在各种形式的关联联。o数据模型研究,数据对象、数据对象的属性、数据数据模型研究,数据对象、数据对象的属性、
16、数据对象之间的关系。对象之间的关系。o基于数据的对象、属性与关系构成应用问题数据模基于数据的对象、属性与关系构成应用问题数据模型的基本要素。型的基本要素。 5.2实体实体-关系图关系图2023-3-1051例例 汽车销售问题的数据对象、属性与关系汽车销售问题的数据对象、属性与关系 数据对象数据对象 数据对象数据对象 关系关系 制造商制造商 汽车汽车 生产生产 购车用户购车用户 汽车汽车 购买购买5.2实体实体-关系图关系图2023-3-1052数据对象的描述数据对象的描述 用基数和形态两个参数用基数和形态两个参数实体实体关系图关系图 描述系统所有数据对象的组成和属性,描描述系统所有数据对象的组成和属性,描述数据对象之间关系的图形语言。述数据对象之间关系的图形语言。5.2实体实体-关系图关系图2023-3-1053 基数基数 cardinality 一对象与另一对象关联个数的度量。一对象与另一对象关联个数的度量。 取值取值o“一对一一对一”(1 1:1 1) 一个对象一个对象A A关联一个对象关联一个对象B B, ,反之,一个对象反之,一个对象B B关联一个对关联一个对象象A A。如,夫