文档介绍:软件工程
第5章结构化分析与设计
1
复旦大学计算机科学与工程系软件工程课程
结构化方法
一种面向数据流的传统软件开发方法
以数据流为中心构建软件的分析模型和设计模型
分为:
结构化分析(Structured Analysis 简称SA)
结构化设计(Structuresd Design 简称SD)
结构化程序设计(Structured Programmin 简称SP)
2
复旦大学计算机科学与工程系软件工程课程
内容摘要
结构化分析方法概述
数据流图
分层数据流图的审查
数据字典
描述基本加工的小说明
结构化设计概述
数据流图到软件体系结构的映射
初始结构图的改进
小结
3
复旦大学计算机科学与工程系软件工程课程
内容摘要
结构化分析方法概述
数据流图
分层数据流图的审查
数据字典
描述基本加工的小说明
结构化设计概述
数据流图到软件体系结构的映射
初始结构图的改进
小结
4
复旦大学计算机科学与工程系软件工程课程
结构化分析方法
发展历史
提出:20世纪60年代末到70年代初
成熟:20世纪70年代末到80年代中期
主要思想:抽象与自顶向下的逐层分解(控制复杂性的两个基本手段)
抽象:在每个抽象层次上忽略问题的内部复杂性,只关注整个问题与外界的联系
分解:将问题不断分解为较小的问题,直到每个最底层的问题都足够简单为止
5
复旦大学计算机科学与工程系软件工程课程
结构化分析方法中的抽象与分解
抽象:从作为整体的软件系统开始(第一层),每一抽象层次上只关注于系统的输入输出
分解:将系统不断分解为子系统、模块……
随着分解层次的增加,抽象的级别越来越低,也越接近问题的解(算法和数据结构)
2
1
4
3
X
6
复旦大学计算机科学与工程系软件工程课程
结构化分析过程
理解当前的现实环境,获得当前系统的具体模型(物理模型)
从当前系统的具体模型抽象出当前系统的逻辑模型
分析目标系统与当前系统逻辑上的差别,建立目标系统的逻辑模型
为目标系统的逻辑模型作补充
7
复旦大学计算机科学与工程系软件工程课程
结构化分析模型的描述
数据字典是模型的核心,它包含了软件使用和产生所有数据的描述
数据流图:用于功能建模,描述系统的输入数据流如何经过一系列的加工变换逐步变换成系统的输出数据流
实体—关系图:用于数据建模,描述数据字典中数据之间的关系
实体-关系图
数据流图
状态转换图
控制规约
数据字典
加工规约
数据对象描述
状态转换图:用于行为建模,描述系统接收哪些外部事件,以及在外部事件的作用下的状态迁移情况
8
复旦大学计算机科学与工程系软件工程课程
内容摘要
结构化分析方法概述
数据流图
分层数据流图的审查
数据字典
描述基本加工的小说明
结构化设计概述
数据流图到软件体系结构的映射
初始结构图的改进
小结
9
复旦大学计算机科学与工程系软件工程课程
数据流图
Data Flow Diagram(简称DFD):描述输入数据流到输出数据流的变换(即加工)过程,用于对系统的功能建模,基本元素包括:
数据流(data flow):由一组固定成分的数据组成,代表数据的流动方向
加工(process):描述了输入数据流到输出数据流的变换,即将输入数据流加工成输出数据流
文件(file):使用文件、数据库等保存某些数据结果供以后使用
源或宿(source or sink):由一组固定成分的数据组成,代表数据的流动方向
10
复旦大学计算机科学与工程系软件工程课程