软件工程(六)第一代软件工程(传统软件工程) 您所在的位置:网站首页 结构化分析和设计方法的关系 软件工程(六)第一代软件工程(传统软件工程)

软件工程(六)第一代软件工程(传统软件工程)

2024-07-05 14:23| 来源: 网络整理| 查看: 265

结构化分析与设计的流程

瀑布模型由传统的生存周期过程演变而来。作为一种系统开发方法,结构化分析与设计是瀑布模型的首次实践。根据瀑布模型的上述流程,需求分析与软件设计是进入编码阶段前必须完成的任务。具体来说,系统开发从需求分析开始,首先建立系统的需求模型;接着通过 SD 方法提供的映射规则,把分析模型转化为初始设计模型;然后再优化为系统最终设计模型

基本任务

结构化分析

SA 有两项基本任务,即建立系统分析模型和编写软件需求规格说明书,二者都是分析阶段必须完成的文档。分析模型​包含描述软件需求的一组模型,是形成 SRS 文档、完成软件设计的基础,其中包含功能模型,​待开发系统的功能需求;数据模型,表示待开发系统的数据需求;行为模型,表示待开发系统的行为需求结构化分析的主要指导思想是抽象与分解

结构化设计

SD 阶段把分析模型中的 DFD 图转换为最终 SC 图,这仅仅是完成了软件设计的第一步。在随后的详细设计中,还需用适当工具对各个模块采用的算法和数据结构进行足够细致的描述。SC 图需分两步完成,即首先通过 “映射” 获得初始 SC 图;然后通过 “优化” 获得最终 SC 图。结构化设计的主要指导思想是分解与细化

SA 模型 组成

上图显示了 SA 模型的组成,由此可见,数据字典(DD)处于模型模型的核心,它是系统设计的各种数据对象总和,从 DD 出发可构建三种图

实体联系图(E-R 图)

描述数据对象间的关系,它代表软件的数据模型。在实体联系图中出现的每个数据对象的属性,均可用数据对象说明来描述

数据流图(DFD)

指明系统中的数据是如何流动和变换的,以及描述使数据流进行变换的功能。加工规格说明,在 DFD 图中出现的每个功能,可在加工规格说明中(PSPEC)进行描述,它们一起构成软件的功能模型

状态转换图(STD)

指明系统在外部事件的作用下将如何动作,表明系统的各种状态以及状态间的变换,从而构成行为模型的基础。关于软件控制方面的附加信息,可用控制规格说明来描述

数据流图

任何软件系统从根本上来说,都是对数据进行加工或变换的工具。数据流图只使用四种基本图形符号:圆框代表加工;箭头代表数据流向,数据名称总是标在箭头的边上;方框表示数据的源点和终点;双杠或单杠表示数据文件或数据库。文件与加工之间用带箭头的直线连接,单向表示只读或只写,双向表示又读又写

DFD 所表现的范围,可大到整个系统,小到一个模块。在需求分析中,常常用一组 DFD 图由粗到精地表示同一软件在不同抽象级别上的功能模型,并称之为分层数据流图

数据字典

数据字典的作用就是对软件中的每个数据规定一个定义条目

加工规格说明

通常用结构化语言、判定表或判定树作为描述工具。每个加工规格说明可用像字典中的条目一样记在卡片上

SD 模型 组成

SD 模型由 SA 模型映射而来。SA 模型的数据字典可转换为待开发系统的数据设计;数据流图可转换为体系结构设计(SC 图)与接口设计;加工规格说明可转换为模块内部的详细过程设计等等

在图中,由下至上包含了数据设计、体系结构设计、接口设计与过程设计。体系结构设计是用来确定软件结构的,其描述工具为结构图,简称 SC 图。过程设计主要指模块内部的详细设计

SC 图

在 SC 图中,用矩形框表示模块,带箭头的连线表示模块间调用,并在调用线的两旁标出传入和传出模块的数据流。SC 图允许使用的六种模块分别为传入模块、传出模块、变换模块、漏模块、源模块与控制模块。模块调用关系分别有简单调用、选择调用和循环调用

结构化系统分析

结构化分析就是使用 DFD、DD、结构化英语、判定表和判定树等工具,来建立一种新的、称为结构化说明书的目标文档。这里的结构化说明书就是 SRS

基本步骤

自顶向下对系统进行功能分解,画出分层 DFD 图;向后向前定义系统的数据和加工,编制 DD 和 PSPEC;最终写出 SRS

画分层数据流图

从系统的基本功能模型开始,逐层对系统进行分解,每分解一次,系统的加工数量就增加一次,继续重复分解,直到所有加工都足够简单为止。分层 DFD 图为整个系统勾画了一个概貌

确定数据定义和加工策略

定义系统的数据、确定加工的策略等问题。一般从数据的终点开始,沿着 DFD 图一步步向数据源点回溯,最终产生 SRS 文档​

需求分析的复审

需求分析的文档完成后,应用用户和系统分析员共同进行复审,并吸收设计人员参加

结构化系统设计

按照出发点的不同,传统的软件设计又可细分为面向数据流的设计和面向数据(数据结构)的设计两大类。前者以 SD 方法为主要代表,后者以 Jackson 方法为主要代表,本文仅讨论 SD 方法

从 DFD 图到 SC 图

从 SA 获得的 DFD 图中,所有系统可归结为变换型结构和事务型结构两种类型。按照 SD 方法规定的一组规则,采用变换映射与事务映射,将变换型 DFD 图和事务型 DFD 图事务映射为初始 SC 图

优化初始 SC 图

SD 方法中常用于优化软件初始 SC 图的两条指导规则

对模块划分的原则

过长的模块往往是分解不充分的表现,会增加阅读理解的难度;但小模块太多也会块间联系变得复杂,增大系统在模块调用时传递信息所花费的开销

高扇入/低扇出的原则

扇入高则上级模块多,能够增加模块利用率;扇出低则表示下级模块少,可以减少模块调用和控制的复杂度。设计良好的软件具有瓮形结构,两头小,中间大,这类软件在下部收拢,表明它在低层模块中使用了较多高扇入的共享模块

模块设计

传统软件工程将软件设计分两步走:总体(结构)设计 —— 用最终 SC 图表示;模块设计 —— 逐步细化的方法实现

目的

为 SC 图中的每个模块确定采用的算法和块内数据结构,用选定的表达工具给出清晰的描述

任务

编写软件的模块设计说明书,为此设计人员应:确定每一模块采用的算法、确定每一模块使用的数据结构、确定模块接口的细节​

原则与方法

清晰第一的设计风格 结构化的控制结构 逐步细化的实现方法



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有