【软件工程】软件工程系统设计——详细设计(过程设计)

halo~我是bay_Tong桐小白
本文内容是桐小白个人对所学知识进行的总结和分享,知识点会不定期进行编辑更新和完善,了解最近更新内容可参看更新日志,欢迎各位大神留言、指点

软件工程系统设计——详细设计(过程设计)

【更新日志】

最近更新:

  • 暂无编辑记录,持续更新中……

详细设计概述

概要设计的任务完成后,就进入详细设计阶段,即过程设计阶段,这个阶段要决定各个木块的实现算法,并使用过程描述工具精确地描述这些算法

专用的描述工具可以分为以下几类:

  • 图形工具——把过程的细节用图形方式描述出来。如程序流程图、N-S图、PAD图、决策树等
  • 表格工具——用一张表来表达过程的细节,这张表列出了各种可能的操作及其相应的条件,即描述了输入、处理和输出信息。如判定表
  • 语言工具——用某种类高级语言(伪代码)来描述过程的细节

程序流程图

程序流程图又称程序框图,是用统一规定的标准符号描述程序运行具体步骤的图形表示。程序框图的设计是在处理流程图的基础上,通过对输入输出数据和处理过程的详细分析,将计算机的主要运行步骤和内容标识出来。程序框图是进行程序设计的最基本依据,因此它的质量直接关系到程序设计的质量

流程图的基本控制结构:
在这里插入图片描述
任何复杂的程序流程图都应由这五种基本控制结构组合或嵌套而成

流程图需注意的要点:

  • 循环的界限设有一对特殊的符号。循环开始符是削去上面两个直角的矩形,循环结束符是削去下面两个直角的矩形,其中应该注明循环名和进入循环的条件(对于while型循环)或循环终止的条件(对于until循环),通常这两个符号应在同一条纵线上,上下对应,循环体夹在其间
    在这里插入图片描述
  • 流线表示控制流的流向,在自上而下或自左而右的自然流向情形下,流线可不加箭头,否则必须在流线上加上箭头

N-S盒图

N-S图,也被称为盒图或NS图(Nassi Shneiderman图)。是结构化编程中的一种可视化建模

N-S图的5种基本控制结构:
在这里插入图片描述
N-S图的特点:

  • 图中每个矩形框(除CASE构造中表示条件取值的矩形框外)都是明确定义了的功能域(即一个特定控制结构的作用域),以图形表示,清晰可见
  • 它的控制转移不能任意规定,必须遵守结构化程序设计的要求
  • 很容易确定局部数据和(或)全局数据的作用域
  • 很容易表现嵌套关系,也可以表示模块的层次结构

N-S图的扩展表示:当问题很复杂是,N-S图可能很大,在一张图上画不下,这时可给这个图中一些部分取个蜜罐子,在图中相应位置用名字(用椭圆形框住)而不是用细节取表现这些部分。然后在另外的图上再把这些命名的部分进一步展开
在这里插入图片描述

PAD图

PAD是日本日立公司提出,由程序流程图演化来的用结构化程序设计思想表现程序逻辑结构的图形工具

PAD的五种基本控制结构:
在这里插入图片描述
为反映增量型循环结构,PAD中增加了对应于for循环的控制结构,其中n1是循环初值,n2是循环终值,n3是循环增量
在这里插入图片描述
PAD图的扩充表示:当一个模块在一张图上画不下时,可在图中该模块相应位置矩形框中简记一个“NAME A”,把PAD图从左到右展开,再在另一张图上详细画出A的内容,用def及双线来定义A的PAD。这种方式可使在一张图上画不下的图分在几张图上画出,还可以用它来定义子程序
在这里插入图片描述
PAD的执行顺序从最左主干线的上端的结点开始,自上而下依次执行,直到该纵线下端,再返回上一层的总线的转入处,如此继续,直到执行到主干线的下端为止

PAD图的特点:

  • 使用PAD符号所设计出来的程序必然是结构化程序
  • PAD图描绘程序结构清晰,图中竖线的总条数就是程序的层次数
  • 用PAD图表现程序逻辑易读、易懂、易记
  • 容易将PAD图自动转换为高级语言源程序
  • PAD图既可以表示程序逻辑,也可用于描绘数据结构
  • PAD图的符号支持自顶向下、逐步求精方法的使用

PAD树形的特点使它比流程图更容易在计算机上处理,如在开发PAD向高级语言程序的转换程序之后,便可从终端输入PAD的图形,并自动转换成高级语言程序。因此可以省去人工编码的步骤,从而大大提高了软件开发的生产率

伪代码

伪代码是一种介于自然语言和形式化语言之间的半形式化语言,是一种用于描述功能模块的算法设计和加工细节的语言,也称为程序设计语言(PDL)

伪代码的基本控制结构:

  • 简单陈述句结构:避免复合语句
  • 判定结构:if_then_else或case_of结构
  • 重复结构:while_do或repeat_until结构

伪代码的特点:

  • 有固定的关键字外语法,提供全部结构化控制结构、数据说明和模块特征。外语法的关键字是有限的词汇集,它们能对伪代码正文进行结构分割,使之变得易于理解
  • 内语法使用自然语言来描述处理特性,为开发者提供方便,提高可读性
  • 有数据说明机制,包括简单的(如标量和数组)与复杂的(如链表和层次结构)的数据结构
  • 有子程序定义与调用机制,表达各种方式的接口说明

持续更新中……
我是桐小白,一个摸爬滚打的计算机小白

猜你喜欢

转载自blog.csdn.net/bay_Tong/article/details/109118560
今日推荐