传统软件设计方法(精)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
这些子结构是根据流经每一动作路径的数据流特征,采用本节或 上节所述设计步骤逐一导出的。 步骤七、使用启发式设计策略,精化所得程序结构雏形,改良软 件质量。这一步骤与变换分析法相同。
SD设计优化点
1.调整模块的功能和规模,降低耦合度,提高内聚度。 2.调整软件结构的深度、宽度、扇出和扇入数目,改
步骤五、执行“一级分解”(first level factoring)
一级分解的目标是导出具有三个层次的程序结构,顶层为主控模块;
底层模块执行输入、计算和输出功能;中层模块控制、协调底层的工作。
步骤六、执行“二级分解”。
步骤七、采用启发式设计策略,精化所得程序结构雏形,改良软件质量
上述七个设计步骤的目标是给出软件的一个整体描述。
传统软件设计方法
——面向数据流的设计方法
特点及起源
面向数据流的设计方法,即通常所说的结构设计法 (Structure Design,简称SD方法),由Yourdon和 Constantine等人于1774年提出的,与结构化分析 (SA)相衔接,根据对数据流的分析设计软件结构。
面向数据流的设计方法用于软件的概要设计描述, 包括模块、界面和数据结构的定义,这是所有后续 开发的基础。
善软件结构性能。 3.改造程序结构,使任一模块的作用域在其控制域之
内。 4.分析模块之间的接口信息,降低界面的复杂性和冗
余程度,提高协调性。 5.模块功能应该可预言,避免对模块施加过多限制。 6. 改造程序结构,追求单入口单出口的模块。 7. 为满足设计或可移植性的要求,把某些软件用包
2. 划定流界;
3. 将数据流图映射为程序结构;
4. 提取层次控制结构;
5. 通过设计复审和使用启发式策略进
一步精化所得到的结构。
信息流分为变换流和事务流两种类型
1)变换流 变换流 — 在基本系统模型(即顶级数据流图)中信息通常以
“外部世界”所具有的形式进入系统,经过处理后又以这种形式 离开系统。 变换流的特点是:经过变换B的数据流一部分先经过变换C到达变 换E,然后另一部分经过变换D到达E;即C和D是顺序结构。 2)事务流 事务流——单个数据项称为事务(transaction)沿传入路径(也 称接受通道)进入系统,由外部形式变换为内部形式后到达事务 中心,事务中心根据数据项计值结果从若干动作路径中选定一条 继续执行。 可见它是一个选择结构。
(package)的形式封装起来。
原则启发式设计策略
此外,程序中那些供选择的或“单调”(one-shot) 的模块应单独存在,以便高效地加载。
辅助文档 获得程序结构后,必须开发一系列辅助文档,作为软
件总体设计的组成部分。主要工作包括: 1)陈述每个模块的处理过程; 2)描述每个模块的界面; 3)根据数据字典定义数据结构; 4)综述设计中所有限制和约束; 5)对概要设计进行复审;
SD方法对那些顺序处理信息且不含层次数据结构的 系统最为有效,例如过程控制、复杂的数值分析过 程、以及科学与工程方面的应用。当SD方法用于完 全的数据处理时,即使系统中使用层次数据也同样 行之有效。
SD方法的设计过程和有关概念
SD方法能方便地将数据流图转换为软件结构, 其过程分为五步:
1. 确定信息流的类型;
根据数据流的类型,软件结构的分析方法 有两种:
1.变换分析
2.事物分析
整体步ຫໍສະໝຸດ Baidu如图<面向数据流的设计>
> <面向数据流的设计
变换分析
变换分析的各个步骤。
步骤一、复审基本系统模型
步骤二、复审和精化软件数据流图
步骤三、确定DFD的特性,判定它为变换流还是事务流。
步骤四、划定输入流和输出流的边界,孤立变换中心。
一旦有了这样一个描述,设计人员即可从整体角度评价和精化软件的总 体结构,此时修改所需耗费不多,却能大大提高软件质量。
事务分析
当数据流具有明显的事务特征时,即能找到一个事务(亦称触发 数据项)和一个事务中心,采用事务分析法更为适宜。
事务分析法可概括为七个步骤: 步骤一、复审基本系统模型; 步骤二、复审并精化软件数据流图; 步骤三、确定数据流图的特征; 步骤四、指出事务中心,确定接收部分和发送部分的流界; 步骤五、映射出系统上层模块结构; 步骤六、分解并精化事务结构以及每条动作路径所对应的结构。
SD设计优化点
1.调整模块的功能和规模,降低耦合度,提高内聚度。 2.调整软件结构的深度、宽度、扇出和扇入数目,改
步骤五、执行“一级分解”(first level factoring)
一级分解的目标是导出具有三个层次的程序结构,顶层为主控模块;
底层模块执行输入、计算和输出功能;中层模块控制、协调底层的工作。
步骤六、执行“二级分解”。
步骤七、采用启发式设计策略,精化所得程序结构雏形,改良软件质量
上述七个设计步骤的目标是给出软件的一个整体描述。
传统软件设计方法
——面向数据流的设计方法
特点及起源
面向数据流的设计方法,即通常所说的结构设计法 (Structure Design,简称SD方法),由Yourdon和 Constantine等人于1774年提出的,与结构化分析 (SA)相衔接,根据对数据流的分析设计软件结构。
面向数据流的设计方法用于软件的概要设计描述, 包括模块、界面和数据结构的定义,这是所有后续 开发的基础。
善软件结构性能。 3.改造程序结构,使任一模块的作用域在其控制域之
内。 4.分析模块之间的接口信息,降低界面的复杂性和冗
余程度,提高协调性。 5.模块功能应该可预言,避免对模块施加过多限制。 6. 改造程序结构,追求单入口单出口的模块。 7. 为满足设计或可移植性的要求,把某些软件用包
2. 划定流界;
3. 将数据流图映射为程序结构;
4. 提取层次控制结构;
5. 通过设计复审和使用启发式策略进
一步精化所得到的结构。
信息流分为变换流和事务流两种类型
1)变换流 变换流 — 在基本系统模型(即顶级数据流图)中信息通常以
“外部世界”所具有的形式进入系统,经过处理后又以这种形式 离开系统。 变换流的特点是:经过变换B的数据流一部分先经过变换C到达变 换E,然后另一部分经过变换D到达E;即C和D是顺序结构。 2)事务流 事务流——单个数据项称为事务(transaction)沿传入路径(也 称接受通道)进入系统,由外部形式变换为内部形式后到达事务 中心,事务中心根据数据项计值结果从若干动作路径中选定一条 继续执行。 可见它是一个选择结构。
(package)的形式封装起来。
原则启发式设计策略
此外,程序中那些供选择的或“单调”(one-shot) 的模块应单独存在,以便高效地加载。
辅助文档 获得程序结构后,必须开发一系列辅助文档,作为软
件总体设计的组成部分。主要工作包括: 1)陈述每个模块的处理过程; 2)描述每个模块的界面; 3)根据数据字典定义数据结构; 4)综述设计中所有限制和约束; 5)对概要设计进行复审;
SD方法对那些顺序处理信息且不含层次数据结构的 系统最为有效,例如过程控制、复杂的数值分析过 程、以及科学与工程方面的应用。当SD方法用于完 全的数据处理时,即使系统中使用层次数据也同样 行之有效。
SD方法的设计过程和有关概念
SD方法能方便地将数据流图转换为软件结构, 其过程分为五步:
1. 确定信息流的类型;
根据数据流的类型,软件结构的分析方法 有两种:
1.变换分析
2.事物分析
整体步ຫໍສະໝຸດ Baidu如图<面向数据流的设计>
> <面向数据流的设计
变换分析
变换分析的各个步骤。
步骤一、复审基本系统模型
步骤二、复审和精化软件数据流图
步骤三、确定DFD的特性,判定它为变换流还是事务流。
步骤四、划定输入流和输出流的边界,孤立变换中心。
一旦有了这样一个描述,设计人员即可从整体角度评价和精化软件的总 体结构,此时修改所需耗费不多,却能大大提高软件质量。
事务分析
当数据流具有明显的事务特征时,即能找到一个事务(亦称触发 数据项)和一个事务中心,采用事务分析法更为适宜。
事务分析法可概括为七个步骤: 步骤一、复审基本系统模型; 步骤二、复审并精化软件数据流图; 步骤三、确定数据流图的特征; 步骤四、指出事务中心,确定接收部分和发送部分的流界; 步骤五、映射出系统上层模块结构; 步骤六、分解并精化事务结构以及每条动作路径所对应的结构。