文档介绍:软件工程
结构化分析和设计( Structured Analysis & Design )
1974年Stevens, Meyers, and Constantine在一篇论文中首倡。
受到广泛的应用,有大量相关的工具及文献支持。
2
主要内容
软件的结构化开发包括:
方法
语言
分析和设计的综合
质量控制(模块的质量评估)
结构化开发方法主要基于信息流
已经形成的大量的启发式分析和设计策略
3
主要的步骤
准备和分析
Data Flow Diagram - DFD
由数据流图得出程序结构图
Structure Chart - SC
4
数据流图(DFD)
用于问题定义和需求阶段,描述系统的功能需求,是一种具有标注的图形化技术;
由一系列的活动/过程/加工组成,这些过程对信息进行加工;
允许并行和异步行为的存在;
采取初步细化和层次化分解的策略,以控制分析和设计的复杂性。
5
完全的数据流分析
数据流图(Data Flow Diagram)
数据字典(Data Dictionary)
加工说明(Process Specifications)
6
数据流图-加工(Process)
又名活动/过程(Activity/Process);
负责对数据进行变换;
具有相应的输入数据和输出数据;
能进行进一步的分解,描述更多的细节;
标记名字应为动词;
有相应的加工说明定义每个加工的具体过程。
label
label
P_Number
7
数据流图-数据流(Data Flow)
又名信息流(Flow of information);
用于连接不同的加工;
不包含控制信息,即数据流图不体现系统的控制信息;
具有方向性,能被分叉和汇合;
用名词进行标注,在数据词典里详细说明。
label
label
label
label
label
label
label
8
数据流图-数据存储/实体(Data Store)
存储永久性数据,例如数据库和文件等;
服务于相应的加工,仅能用于信息的检索和存储(存储和更新);
用名词进行标注;
用数据词典或实体-关系图(ER Diagram)进行详细定义。
label
D#
label
9
数据流图-源(Source)和目的地(Sink)
外部数据流的来源和目的地;
表示系统本身与外部环境的交互(连接);
除了接受数据和发送数据,没有另外的加工作用于外部数据的源和目的地;
用名词进行标注,可在数据词典里进行详细的说明定义。
label
10