在软件需求分析阶段,系统知道“要做什么”,而在软件设计阶段,系统知道“该怎么办”。
软件设计分为总体设计/详细设计
设计的基本原理:
总体设计的任务和流程的总体设计分为数据导向、功能导向、面向对象的分析
设计原则:独立性、规模、深度、宽度、进、出。 瞄准镜。 接口。 单曲发行。 预测(黑匣子) )
总体设计图形工具1 .层次图:描述层次结构。
2.HIPO图:除分层图外,图中最上面方框外编号****的基本形式:输入、处理、输出。
3 .结构图(SC )表示程序结构的图形表示方法。 反映程序模块之间的层次关系和联系。
成分:模块、模块间调用关系、通信、辅助控制符号。
结构图的四中类型:搬入、搬出、转换、协调
结构图VS数据流图
数据流图反映了程序内数据流的情况
结构图反映了程序内控制流程的情况
结构图VS程序流程图
Battle1:
结构图重点反映了模块之间的隶属关系,即调用关系和层次关系。
流程图表示程序的执行顺序以及执行顺序所依赖的条件。
Battle2:
结构图着眼于软件系统的整体结构,不涉及内部细节,只考虑模块的作用以及上下模块的关系
程序流程图表示执行程序的具体算法
面向数据流的设计方法目标:提供设计软件结构的一种系统化途径。
角色:信息流映射到软件结构。
映射的方式取决于信息流的类型
信息流的类型分为两类
1 )转换流(信息)系统(外换)内)加工)内换)外)。
转换型系统结构图:输入、转换中心、输出。
2 .事务处理流程:信息----输入----处理----输入类型选择操作----执行
根据信息流的类型,进行不同的分析。
转换分析:将具有转换流特征的数据流图以预定模式映射到软件结构
事务分析:设计过程与转换分析类似,不同之处在于数据流图到软件结构的映射方式不同。 事务流映射的软件结构包括接收和发送分支。