软件工程(五)-面向数据结构的分析设计方法

定义

以程序模块化为基础建立起来的软件机体,结构的基本单元是模块,模块的相互作用实现功能,模块的组合构成系统。结构化方法尽管是早期的方法,但可以初步了解软件开发的细化过程是如何进行的。理解有关结构化分析分解、抽象等一些重要思想。

如何结构化一个现实问题


  • 面向数据结构的方法

该方法是Jackson 提出的,简称JSD(Jackson System Development)。
该方法先定义数据结构,然后把数据结构转换为问题解的程序结构。在许多领域信息有着清晰的层次结构,输入数据、存储信息(即数据库)及数据输出都有各自的组成样式。因此可以顺序出现的就用顺序结构,选择出现的就用分支结构,反复出现的就用循环结构。
①确定数据结构特征;
②用顺序、选择和重复三种基本形式表示数据;
③把数据结构表示映射为软件的控制结构;
④用与具体方法配套的设计指南进一步精化控制结构;
⑤软件的过程性描述。
特点:不区分分析与设计,两者是一体化的。


  • 面向数据流的方法

面向数据流的方法有一整套的分析设计方法,有SA、SD和SP等生存周期各个不同的阶段。
提出了一组提高软件结构合理性的准则,如抽象与分解、模块独立性、信息隐蔽等。针对面向数据流结构化方法。
面向数据流的方法是广为流传的结构化方法,几乎成为结构化方法的暗指。
1.分析的思想:
分解,抽象,多视图,自顶向下,逐层分解,逐步求精;
2.分析的目标:
建立系统的逻辑模型,包括功能模型、数据模型和行为模型;
3.建模的主要技术:
功能建模:数据流图DFD(Data Flow Diagram)+ 数据字典DD(Data Dictionary);
数据建模:实体关系图ERD(Entity Relation Diagram);
行为建模:状态转换图STD(State Transform Diagram);
另外还使用加工说明PESPEC(Process SPECification)和判定表等辅助工具。

步骤

一般通过以下五个步骤来完成设计:
(1)分析并确定输入数据和输出数据的逻辑结构,并用Jackson结构图来表示这些数据结构。
(2)找出输入数据结构和输出数据结构中有对应关系的数据单元。
(3)按以下的规则由输入、输出的数据结构导出程序结构。
1)为每一对在输入数据结构和输出数据结构中有对应关系的单元画一个处理框。
2)为输入和输出数据结构中剩余的数据单元画一个处理框。
3)所有处理框在程序结构图上的位置,应与由它处理的数据单元在数据结构Jackson图上的位置一致。
4)必要时,可以对映射导出的程序结构图进行进一步的细化。
(4)列出基本操作与条件,并把它们分配到程序结构图的适当位置。
(5)用伪码写出程序。

猜你喜欢

转载自blog.csdn.net/qq_41306240/article/details/82529769