软件工程总结笔记——软件详细设计(五)

文章目录

  • 第五章 软件详细设计
    • 5.1 结构化程序设计
      • 5.1.1 结构化的控制结构
      • 5.1.2 逐步细化的实现方法
      • 5.1.3 结构化程序设计的特点
    • 5.2 详细设计的工具
      • 5.2.1 程序流程图
      • 5.2.2 盒图(N-S图)
      • 5.2.3 问题分析图(PAD图)
      • 5.2.4 判定表
      • 5.2.5 判定树
      • 5.2.6 过程设计语言(PDL)
    • 5.3 面向数据结构的设计方法
      • 5.3.1 Jackson图
    • 5.4 程序复杂度的概念及度量方法
      • 5.4.1 程序图
      • 5.4.2 程序复杂度的度量方法

第五章 软件详细设计

任务:

  • ①为软件结构图中每一模块确定采用的算法和数据结构。
  • ②确定模块接口细节。
  • ③选定表达工具进行描述。
  • ④编写详细设计说明书,并通过复审。

5.1 结构化程序设计

流行的定义:结构程序设计是一种设计程序的技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。

5.1.1 结构化的控制结构

软件工程总结笔记——软件详细设计(五)_第1张图片
软件工程总结笔记——软件详细设计(五)_第2张图片

5.1.2 逐步细化的实现方法

把给定的模块功能转变为它的详细过程性描述,通常采用逐步细化的策略。

步骤:
①由粗到细地对程序进行逐步的细化。
②在细化程序的过程时,同时对数据的描述进行细化。
③每一步细化均使用相同的结构化语言。

5.1.3 结构化程序设计的特点

(1)自顶向下逐步求精的方法符合人类解决复杂问题的普遍规律,因此可以显著提高软件开发工程的成功率和生产率。
(2)用先全局后局部、先整体后细节、先抽象后具体的逐步求精过程开发出的程序有清晰的层次结构,因此容易阅读和理解。
(3)不适用GO TO 语句,仅使用单入口单出口的控制结构,使得程序的静态结构和它的动态执行情况比较一致。因此,程序容易阅读和理解,开发时也比较容易保证程序的正确性,即使出现错误也比较容易诊断和改正。
(4)控制结构有确定的逻辑模式,编写程序代码只限于使用很少几种直截了当的方式,因此源程序清晰流畅,易读易懂而且容易测试。
(5)程序清晰和模块化使得在修改和重新设计一个软件时可以重用的代码量最大。
(6)程序的逻辑结构清晰,有利于程序正确性证明。
(7)有利于设计的分工和组织工作。

5.2 详细设计的工具

5.2.1 程序流程图

软件工程总结笔记——软件详细设计(五)_第3张图片

5.2.2 盒图(N-S图)

软件工程总结笔记——软件详细设计(五)_第4张图片

5.2.3 问题分析图(PAD图)

Problem Analysis Diagram
软件工程总结笔记——软件详细设计(五)_第5张图片

5.2.4 判定表

软件工程总结笔记——软件详细设计(五)_第6张图片

5.2.5 判定树

软件工程总结笔记——软件详细设计(五)_第7张图片

5.2.6 过程设计语言(PDL)

软件工程总结笔记——软件详细设计(五)_第8张图片

5.3 面向数据结构的设计方法

5.3.1 Jackson图

5.4 程序复杂度的概念及度量方法

5.4.1 程序图

软件工程总结笔记——软件详细设计(五)_第9张图片

5.4.2 程序复杂度的度量方法

(1)代码行度量方法
(2)McCabe方法
(3)Halstead方法

你可能感兴趣的:(软件工程)