软件工程——5.面向数据流的分析方法.ppt
《软件工程——5.面向数据流的分析方法.ppt》由会员分享,可在线阅读,更多相关《软件工程——5.面向数据流的分析方法.ppt(213页珍藏版)》请在沃文网上搜索。
1、软件工程Software EngineeringSoftware Engineering(An Introduction)软件工程Chapter 5 面向数据流的分析方法面向数据流的分析方法相关概念回顾相关概念回顾建模、常用的分析建模、常用的分析建模、常用的分析建模、常用的分析/建模方法建模方法建模方法建模方法About DFO(Data Flow Oriented)5.1 结构化开发方法结构化开发方法(Structured Developing MethodStructured Developing Method)5.2 SA(Structured Analysis)5.3 Data Mod
2、eling5.4 Function Modeling5.5 SA的扩充的扩充5.6 Behavior modeling5.7 SA的实施的实施5.8 其它的其它的DFO方法方法5.9 案例案例Chapter 5 面向数据流的分析方法面向数据流的分析方法5.2 SA(Structured Analysis)A Brief History&OverviewSA分析模型的结构和元素分析模型的结构和元素5.4 Function ModelingData Flow Diagram(DFD)Data dictionary(DD)process specification or PSPEC5.6 Behav
3、ior modelingControl Flow Diagram(CFD)control specification or CSPECState transition diagram(STD)Others可行性可行性研究研究需求导出需求导出和分析和分析软件原型软件原型可行性报告可行性报告系统模型系统模型系统描系统描述和文述和文档编写档编写需求有需求有效性验效性验证证需求规格说明文档需求规格说明文档相关概念回顾相关概念回顾需求分析的核心:建模需求分析的核心:建模相关概念回顾相关概念回顾建立软件模型是分析活动的焦点。建立软件模型是分析活动的焦点。建立软件模型是分析活动的关键。建立软件模型是分析活动
4、的关键。需求分析的核心在于建立分析模型。需求分析的核心在于建立分析模型。软件工程中,软件整个开发过程需要建模,软件工程中,软件整个开发过程需要建模,软件开发过程的各个阶段也需要建模。软件开发过程的各个阶段也需要建模。不同的软件开发方法,即软件开发范型,最不同的软件开发方法,即软件开发范型,最集中表现在它们模型的区别。所以,软件开集中表现在它们模型的区别。所以,软件开发过程的一系列模型的建立标准、描述形式、发过程的一系列模型的建立标准、描述形式、应用规范等,是一种软件开发方法(范型)应用规范等,是一种软件开发方法(范型)最核心的研究内容。最核心的研究内容。相关概念回顾相关概念回顾分析阶段中常用的
5、模型(逻辑模型)分析阶段中常用的模型(逻辑模型)实体关系图实体关系图数据流图、数据流定义、数据字典、数据流图、数据流定义、数据字典、结结构化英语、事件列表、状态转换图、构化英语、事件列表、状态转换图、用例图、时序图、协作图、类图、状态用例图、时序图、协作图、类图、状态图、图、Jackson实体结构图、实体结构图、SSD图、图、Jackson进进程模型、程模型、层次方框图、Warnier图、IPO/HIPO、等相关概念回顾相关概念回顾使用的方法不同,建立的模型也不相同。使用的方法不同,建立的模型也不相同。但是,但是,一般必须建立以下几类模型一般必须建立以下几类模型:数据模型、功能模型、行为模型数
6、据模型、功能模型、行为模型静态模型、动态模型静态模型、动态模型所建立的模型必须是从抽象到精化的一个所建立的模型必须是从抽象到精化的一个逐层分解逐层分解在需求分析阶段,创建的模型,要着重在需求分析阶段,创建的模型,要着重于描述系统要做什么,而不是如何去做于描述系统要做什么,而不是如何去做(不应涉及软件实现细节)(不应涉及软件实现细节)相关概念回顾相关概念回顾Data ModelBehavioralModelFunctionalModelAnalysis modeling and Model相关概念回顾相关概念回顾常用的分析常用的分析/建模方法建模方法面向数据流的结构化分析方法面向数据流的结构化分
7、析方法(SA)(SA)面向数据结构的面向数据结构的JacksonJackson方法方法(JSD)(JSD)面向数据结构的结构化数据系统开发方法面向数据结构的结构化数据系统开发方法(DSSD)面向对象的分析方法面向对象的分析方法(OOA)(OOA)建立动态模型的状态迁移图或建立动态模型的状态迁移图或Petri网网等等形式化方法形式化方法面向构件的面向构件的其它其它E-R方法方法面向数据流的分析方法面向数据流的分析方法一、一、About DFO(Data Flow Oriented)对对DFO的哲学观的回顾和进一步论述。的哲学观的回顾和进一步论述。“信息流是考虑的关键,即在一个基本系统中,信息流是
8、考虑的关键,即在一个基本系统中,信息可以表示成一个连续的信息可以表示成一个连续的流流,当这个流,当这个流从输入演变到输出时,它要经历一系列的变换从输入演变到输出时,它要经历一系列的变换(处理)(处理)”。抓住抓住“数据流数据流”这一核心概念,用它贯串分析这一核心概念,用它贯串分析的全过程,贯穿整个系统。的全过程,贯穿整个系统。它把系统看成是由数据流联系的各种功能的组它把系统看成是由数据流联系的各种功能的组合。通过每种功能的输入数据合。通过每种功能的输入数据/输出结果,进而输出结果,进而表示现有系统的或待开发系统的功能。表示现有系统的或待开发系统的功能。面向数据流的分析方法面向数据流的分析方法二
9、、(二、(Relevant)Methods1SA。最典型,最具代表性的方法。影响最。最典型,最具代表性的方法。影响最大,应用最广。(大,应用最广。(70年代末)年代末)2SA的扩充。在的扩充。在SA中引入实时系统分析和建模机中引入实时系统分析和建模机制,从而把制,从而把SA的适用范围扩充到面向实时控制的的适用范围扩充到面向实时控制的应用领域。主要是:应用领域。主要是:Ward&Mellor扩充,扩充,Hatley&Pirbhai扩充。(扩充。(80年代中年代中后期)后期)3SADT(Structured Analysis and Design Technique)。)。SADT is a tr
10、ademark of SoftTech Inc.(D.T.Ross等,等,19772;197457中册中册)。面向数据流的分析方法面向数据流的分析方法二、(二、(Relevant)Methods4基于自动工具的方法基于自动工具的方法(1)DFA-Tool,源自复杂实时反应式系统开,源自复杂实时反应式系统开发环境发环境STATEMATE。STATEMATE CASE工工具由具由Harel等人自等人自1984年开始研制,历时四年,年开始研制,历时四年,后来又经历了不断的发展和完善。它是目前能后来又经历了不断的发展和完善。它是目前能够真正为大型软件开发提供全方位支持的少数够真正为大型软件开发提供全方
11、位支持的少数软件开发环境之一。其成功应用引起了软件工软件开发环境之一。其成功应用引起了软件工程界的广泛重视。程界的广泛重视。CASE2000,Nastec公司公司JB/SAT。青岛。青岛CASE面向数据流的分析方法面向数据流的分析方法二、(二、(Relevant)Methods4基于自动工具的方法基于自动工具的方法(2)SREM(Software Requirements Engineering Methodology)。)。SREM was originally developed as an automated aid in requirements definition for soft
12、ware for United States Ballistic Missile Defence Weapons Systems(Alford 1978a).As such it formed part of the much broad Software Development System(SDS)which addressed all development phases of ballistic missile software.It has since been marcked by TRW in the United States.SDS has evolved into the
13、Distributed Computing Design Systems(DCDS)。面向数据流的分析方法面向数据流的分析方法二、(二、(Relevant)Methods4基于自动工具的方法基于自动工具的方法PSL/PSA(Problem Statement Language/Problem Statement Analyzer)是是1968年由年由D.Teichroew 在在University of Michigan 提提出的。它是为出的。它是为ISDOS项目而开发的,又是一个项目而开发的,又是一个称之为计算机辅助设计与规格说明分析工具称之为计算机辅助设计与规格说明分析工具CADSAT的更
14、大的系统的一部分。的更大的系统的一部分。5其它其它ARM(Ada Requirements Methodology)是一)是一种专门基于种专门基于Ada的方法。的方法。Chapter 5 面向数据流的分析方法面向数据流的分析方法相关概念回顾相关概念回顾建模、常用的分析建模、常用的分析建模、常用的分析建模、常用的分析/建模方法建模方法建模方法建模方法About DFO(Data Flow Oriented)5.1 结构化开发方法结构化开发方法(Structured Developing MethodStructured Developing Method)5.2 SA(Structured An
15、alysis)5.3 Data Modeling5.4 Function Modeling5.5 SA的扩充的扩充5.6 Behavior modeling5.7 SA的实施的实施5.8 其它的其它的DFO方法方法5.9 案例案例5.1 结构化方法结构化方法一种面向数据流的传统软件开发方法一种面向数据流的传统软件开发方法以数据流为中心构建软件的分析模型和设计模型以数据流为中心构建软件的分析模型和设计模型分为:分为:结构化分析结构化分析(Structured Analysis 简称简称SA),70年代末年代末结构化设计结构化设计(Structuresd Design 简称简称SD),70年代中年
16、代中结构化程序设计结构化程序设计(Structured Programmin 简称简称SP),70年代初年代初结构化开发方法结构化开发方法结构化开发方法结构化开发方法(Structured Developing Structured Developing MethodMethod)是现有的软件开发方法中最成熟,应用最广泛的方法,是现有的软件开发方法中最成熟,应用最广泛的方法,主要特点是快速,自然和方便。主要特点是快速,自然和方便。SA,SD,SP 法相互衔接,形成了一整套开发方法相互衔接,形成了一整套开发方法。若将法。若将SA,SD 法结合起来,又称为结构化分法结合起来,又称为结构化分析与设计
17、技术(析与设计技术(SADT 技术)。技术)。计算机世界计算机世界现实世界现实世界结结构构化化开开发发方方法法结构化结构化结构化结构化分析分析分析分析结构化结构化结构化结构化设计设计设计设计结构化结构化结构化结构化编程编程编程编程OOAOOAOODOODOOPOOP面向对象开发方法Chapter 5 面向数据流的分析方法面向数据流的分析方法相关概念回顾相关概念回顾建模、常用的分析建模、常用的分析建模、常用的分析建模、常用的分析/建模方法建模方法建模方法建模方法About DFO(Data Flow Oriented)5.1 结构化开发方法结构化开发方法(Structured Developin
18、g MethodStructured Developing Method)5.2 SA(Structured Analysis)5.3 Data Modeling5.4 Function Modeling5.5 SA的扩充的扩充5.6 Behavior modeling5.7 SA的实施的实施5.8 其它的其它的DFO方法方法5.9 案例案例Chapter 5 面向数据流的分析方法面向数据流的分析方法5.2 SA(Structured Analysis)A Brief History&OverviewSA分析模型的结构和元素分析模型的结构和元素5.4 Function ModelingData
19、 Flow Diagram(DFD)Data dictionary(DD)process specification or PSPEC5.6 Behavior modelingControl Flow Diagram(CFD)control specification or CSPECState transition diagram(STD)Others 5.2 SA(Structured Analysis)l lA Brief History SA是美国是美国Yourdon 公司提出的公司提出的57中册、中册、9、56SA于于70年代末经年代末经Yourdon E.,Constantine
20、L,DeMarco T.等人提出和发展的等人提出和发展的2。郑人杰等,实用。郑人杰等,实用SE并且此图(并且此图(DFD)已经编入由)已经编入由Yourdon和和Constantine 及及DeMarco所建议的分析和设计技术中。所建议的分析和设计技术中。11。R.S.Pressman结构化分析方法的雏型出现于结构化分析方法的雏型出现于20世纪世纪60年代后期。但是年代后期。但是直到直到1979年才由年才由DeMarco将其作为一种需求分析方法正将其作为一种需求分析方法正式提出式提出53。齐治昌等,。齐治昌等,SEYourdon的的DFD符号符号/Gane&Sarson的的DFD符号符号2、5
21、5、1。5.2 SA(Structured Analysis)A Brief HistoryYourdon方法方法 1978年,年,E.Yourdon和和L.L.Constantine提出了结提出了结构化方法,即构化方法,即SASD方法,也可称为面向功能的方法,也可称为面向功能的软件开发方法或面向数据流的软件开发方法。软件开发方法或面向数据流的软件开发方法。1979年年Tom DeMarco对此方法作了进一步的完对此方法作了进一步的完善。善。Pfleeger,Shari.L.,Software Engineering:Theory and Pratice,Higher Education Pr
22、ess,20015.2 SA:Overview一、一、SA的优点的优点1.快速、自然方便,历史长而得以不断完善和快速、自然方便,历史长而得以不断完善和广泛应用(至上世纪广泛应用(至上世纪90年代,欧、美、日及我年代,欧、美、日及我国,国,90%以上项目采用用结构化方法)。以上项目采用用结构化方法)。2.适用范围广。不但适用于数据处理类型的软适用范围广。不但适用于数据处理类型的软件系统,还可用于其它不同性质的任何系统,件系统,还可用于其它不同性质的任何系统,包括组织系统、人工系统、硬件系统、机械系包括组织系统、人工系统、硬件系统、机械系统或者是这些系统的混合。统或者是这些系统的混合。3.清晰、简
23、明、直观、自然,易于学习和理解,清晰、简明、直观、自然,易于学习和理解,使用方便。使用方便。(自然:与应用问题的观点较为一致,易于(自然:与应用问题的观点较为一致,易于应用开发)应用开发)5.2 SA:Overview二、二、SA的特征的特征1使用的工具简单、形象,同时又有很使用的工具简单、形象,同时又有很强的表达能力(图形强的表达能力(图形+结构化语言,适用结构化语言,适用于各种具有不同性质的系统)。于各种具有不同性质的系统)。2提供了很好的控制复杂性手段。提供了很好的控制复杂性手段。结构化的自顶向下逐层分解。结构化的自顶向下逐层分解。Structure:Components and int
24、errelationships among components 5.2 SA:Overview三、分析的结果三、分析的结果系统模型系统模型功能模型功能模型行为模型行为模型数据模型数据模型一套分层的模型图一套分层的模型图+一本数据字典一本数据字典DD。数据对数据对 加工加工象说明象说明 说明说明 控制说明控制说明E-R图图 DFD图图STD图图DD数据模型数据模型功能模型功能模型行为模型行为模型5.2 SA:SA分析模型的结构分析模型的结构5.2 SA:Analysis Model Elements数据字典数据字典(DD)是对所有与系统相关的元素的一个有组织的列是对所有与系统相关的元素的一个有
25、组织的列表表,以及精确、简洁和严格的定义,使得用户和以及精确、简洁和严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间系统分析员对于输入、输出、存储成分和中间计算有共同的理解。数据字典是模型的核心,计算有共同的理解。数据字典是模型的核心,它包含了系统使用和产生的所有数据以及模型它包含了系统使用和产生的所有数据以及模型图中其它所有织成元素的描述。图中其它所有织成元素的描述。E-R图图(ERD):用于数据建模用于数据建模数据流图数据流图(DFD):用于功能建模用于功能建模状态变迁图状态变迁图/转换图转换图(STD):用于行为建模。用于行为建模。工资汇总表工资汇总表工资条工资条工资工资计
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 面向 数据流 分析 方法