结构化分析

如题所述

第1个回答  2022-06-08

软件开发方法 」的含义:软件开发过程所遵循的办法和步骤。

软件开发活动的目的:有效地得到一个运行的系统及其支持文档(程序 + 文档),并且满足有关的质量要求(功能需求 + 非功能需求)。

软件开发方法学 」的含义: 规则、方法和工具的集成 ,即支持开发也支持以后的演化过程(交付运行后,系统还会变化;或者为了改错,或为了功能的递增)。

结构化方法是一种特定的软件开发方法学/一种系统化的软件开发方法,包括:

软件需求分析 而言,结构化分析指的是:系统化地使用 问题域 术语,给出该 问题的模型 (即“系统必须做什么?”的一个估算)。

一个抽象层是由一组确定的术语定义的,为支持需求分析中有关要使用的那些信息的表达,结构化分析方法给出了以下五个术语/符号:

数据流图是一种描述 数据变换 的图形工具,它包含的元素可以是数据流、数据存储、加工、数据源和数据潭等。

数据字典用于定义 数据流 数据存储 的结构,并给出构成所给出的数据流和数据存储的各数据项的基本数据类型。

数据字典还引入了一些 逻辑操作符 来定义 数据结构

示例:

描述加工“做什么”,即 加工逻辑 ,也包括其它一些与加工有关的信息,如执行条件、优先级、执行频率、出错处理等。

💡 描述一个加工,一般遵循如下模版:

「结构化自然语言」适用于加工的输入数据和输出数据之间的逻辑关系比较 简单 的加工描述。

示例:

「判定表」适用于加工的输入数据和输出数据之间的逻辑关系比较 复杂 的加工描述。

判定表:

示例:

「判定树」适用于加工的输入数据和输出数据之间的逻辑关系比较 复杂 的加工描述。

示例:

💡 顶层数据流图——0层数据流图——1层数据流图——...

「设计」的定义:一种软件开发活动,定义实现需求规约所需的软件结构。

设计目标:依据需求规约,在一个抽象层上建立系统软件模型,包括软件体系结构(数据和程序结构),以及详细的处理算法,产生设计规约说明书。

即: 回答如何解决问题——给出软件解决方案

结构化设计分为:

在总体设计层:

第一阶段:初始设计。在对给定的数据流图进行复审和精化的基础上,将其转化为初始的模块结构图。 根据穿越系统边界的数据流初步确定系统与外部的接口
第二阶段:精化设计。依据模块“高内聚低耦合”的原则,精化初始的模块结构图,并 设计其中的全局数据结构和每一模块的接口
第三阶段:设计复审阶段,(设计人员与综合评审团队)对前两个阶段得到的高层软件结构进行复审,必要时还可能需要对软件结构做一些精化工作。

基于 模块化 原理—— 高内聚、低耦合

模块化的概念和基本原则(略)。

耦合:不同模块之间相互依赖程度的度量。

内聚:一个模块之内各成分之间相互依赖程度的度量。

启发式规则:根据设计准则,从 长期的软件开发实践中,总结出来的规则

接口设计的分类:

系统的接口设计(包括用户界面设计及与其他系统的接口设计)是由穿过系统边界的数据流定义的。

在最终的系统中,数据流将成为用户界面中的表单、报表或与其他系统进行交互的文件或通信。

用户界面应具有的特性:可使用性、灵活性、可靠性。

「数据设计」:在设计阶段必须对要存储的数据及其格式进行设计。

文件设计的主要工作: 根据使用要求、处理方式、存储的信息量、数据的活动性以及所提供的设备条件等确定文件类型 ,选择文件媒体,决定文件组织方法,设计文件记录格式,并估算文件的容量。

以下几种情况适合选择 文件存储

详细设计的任务:定义每一模块。

详细设计中主要引入了三种动作控制结构(顺序、选择、循环)的术语/符号。

结构化程序设计的概念:设计具有如下结构的程序:

优点:

PDL 不仅可以作为设计工具,而且可作为注释工具,直接插在源程序中间,以保持文档和程序的一致性,提高了文档的质量。

缺点:

优点:

对控制流程的描绘很直观,便于初学者掌握。

缺点:

优点:

优点:支持自顶向下逐步求精的结构化详细设计,并且严格限制了控制从一个处理到另一个处理的转移。

当算法中 包含多重嵌套 的条件选择时,用程序流程图、盒图、PAD图、PDL都不易清楚描述,这时可以 选择判断表来表达复杂的条件组合与应做的动作之间的对应关系

判定树是判定表的变种,也能清晰地表达复杂的条件组合与应做的动作之间的对应关系,形式简单,但简洁性不如判定表,数据元素的同一个值往往需要重复写多次,而且越接近树的叶断重复次数越多。

一切系统都是由信息流构成的(其中包含一些必要的数据变换),每一个信息流都有自己的起点数据源,有自己的归宿数据潭,有驱动信息流动的加工,因此所谓信息处理主要表现为 信息的流动

结构化方法是一种系统化的软件系统建模方法,从测试的角度看,结构化方法是一种特定的建立验证和确认所需标尺的方法学,包括 结构化分析 结构化设计

结构化方法的抽象层,包括:

紧紧围绕 自顶向下 过程抽象 数据抽象 模块化 等基本原理/原则,给出了: 完备的符号 可操作的过程 易于理解的表示工具 。并提供了:控制信息组织复杂性的机制,例如逐层分解,数据打包等,以支持将问题空间的一个问题映射为解空间的一个解。

相似回答