详细设计(过程设计):

文章目录

  • 一.详细设计的任务
  • 二.详细设计的方法

一.详细设计的任务

1.为每个模块确定采用的算法
2.确定每一模块使用的数据结构
3.确定模块接口的细节
4.要为灭一个模块设计出一组测试用例

二.详细设计的方法

在过程设计阶段,要决定各个模块的实现算法,并精确地表达这些算法。表达过程规格说明的工具叫做详细设计工具。它可以分为以下三类:
➽ 图形工具(程序流程图,N-S图,问题分析图,PAD)
➽ 表格工具 (判定表)判定路径是否正确
➽语言工具(program design language,PDL)

图形工具:

(一)程序流程图:也称程序框图

优点:易学、表达算法直观。
缺点:(1)不够规范,特别是使用箭头使质量受到很大影响,需要加以限制,使其成为规范的详细设计工具
(2)不是逐步求精的好工具,它诱使程序员过早考虑控制流程,而不去考虑程序的整体结构。
(3)不易表示数据结构和层次结构。

五种基本控制结构:

顺序型

选择型

先判定型循环(Do-While)

后判定型循环(Do-Until)

多情况选择型(CASE型)
(二)N—S图(盒图):

五种基本控制结构由五种图形构件表示:

N-S图特点:

1.功能域表示明确
2.不能实现任意的转移
3.很容易确定局部和全部的作用域
4.很容易的表示模块的嵌套以及模块的层次结构
5.可以表示模块之间的调用关系

N-S图的不足:

1.控制关系比较隐含
2.循环次数隐含
3.比程序流程图好 ,使编程人员逐步养成结构化方式思考问题

注意:N-S 图可以嵌套,但是嵌套不允许交叉。

(三)问题分析图(PAD):

PAD图优点:

1.所设计的程序是结构化的
2.所描述的流程图清晰
3.程序的逻辑结构易懂,便于记忆
4.很易将PAD图转变为高级语言程序,嵌套层次清晰
5.很容易描述数据结构
6.支持自顶向下,逐步求精的方法

(四)HIPO图:HIPO 图

表格工具:

判定表:

❥ 判定表用于表示程序的静态逻辑
❥ 在判定表中的条件部分给出所有的两分支判断的列表,动作部分给出相应的处理
❥要求将程序流程图中的多分支判断都改成两分支判断

建立判定表的步骤:
语言工具:

过程设计语言(PDL):

✦ 过程设计语言(Process Design Language, PDL)也称为伪码,是一种用于描述模块算法设计和处理细节的语言。
✦ 一方面,PDL具有严格的关键字外层语法,用于定义控制结构和数据结构;
✦另一方面,PDL表示实际操作和条件的内层语法又是灵活自由的,可使用自然语言的词汇。

PDL特点:

✎提供全部结构化控制结构、数据说明和模块特征。能对PDL正文进行结构分割,使之变得易于理解。

✎为了区别关键字,规定关键字一律大写,其他单词一律小写。
或者规定关键字加下划线,或者规定他们为黑体字。

PDL的优点:

✎它既可以描述过程,数据,也可以描述模块,接口等

PDL不足:

✎不足:不如图形工具直观,复杂的条件组合与动作之间关系时不如判定表清晰简单

【软件工程】 详细设计相关推荐

  1. 软件工程详细设计说明书_软件工程导论知识点梳理之简答题

    1. 软件危机的表现形式 对软件开发成本和进度估计不准确 已完成的软件不符合用户需求 软件产品质量差,可靠性得不到保证 软件产品可维护性差 软件成本在计算机总成本中的比例逐渐变大 软件开发生产率提高速 ...

  2. 软件工程详细设计说明书_软件设计师

    软件设计师是指能根据软件开发项目管理和软件工程的要求,按照系统总体设计规格说明书进行软件设计,编写程序设计规格说明书等相应的文档的实用性人才.还能够组织和指导程序员编写.调试程序,并对软件进行优化和集 ...

  3. 软件工程--详细设计说明书格式

    详细设计说明书 1 引言  1.1 编写目的:阐明编写详细设计说明书的目的,指明读者对象.  1.2 项目背景:应包括项目的来源和主管部门等.  1.3 定义:列出本文档中所用到的专门术语的定义和缩写 ...

  4. 软件工程 | 第五章 详细设计与实现

    软件工程 系列为本学期(2020春季)软件工程以及软件工程实践课程笔记整理~ 需求文档已经交了,设计文档还会远吗?从理论到实践,果然还有很多东西需要掌握 整理这部分笔记时想起了毕设学长的话,代码要让自 ...

  5. 软件工程实验一:详细设计及编码

    实验一:详细设计及编码 一.实验目的: 掌握结构化程序设计的概念,使用详细设计工具(流程图.N-S图和PAD图)进行设计,用C语言编程和运行. 二.实验内容及代码: (1) Program searc ...

  6. (软件工程)---- 详细设计说明书

    (软件工程)---- 详细设计说明书 1引言 1.1.1编写目的 1.2 背景 1.3 定义 1.4 参考资料 2 程序系统的结构 3一般用户设计说明 3.1 程序描述 3.2 功能 3.3 性能 3 ...

  7. (软件工程复习核心重点)第五章详细设计-第三节:过程设计工具

    文章目录 (1)程序流程图 A:符号 B:优缺点 (2)盒图(N-S) A:符号 B:优点(了解) (3)PAD图 A:符号 B:优点 (4)判定表 A:组成 B:优缺点 (5)判定树 (6)过程设计 ...

  8. 第6章 详细设计(软件工程导论 第6版)

    详细设计的根本目标: 得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序(确定应该怎样具体地实现所要求的系统) 详细设计的目标: (1)逻辑上正确地实现每个模 ...

  9. 软件工程概论-- 详细设计,过程设计的6大工具:程序流程图,判定表,N-S图和判定树之间的区别, PAD图的优点?

         在详细设计阶段进行过程设计时,要描述程序处理过程,可以采用图形,表格,语言类工具,无论采用哪类工具,都需要我们对设计进行清晰的描述,应标明控制流程,系统功能,数据结构等方面的细节,以便在系统 ...

  10. 软件工程第六章——详细设计

    详细设计 结构化程序设计 结构化程序 控制结构(三种节点) 正规程序 基本程序 封闭结构 结构化定理 人机界面设计 设计问题 设计过程 过程设计工具 程序流程图 盒图 特点 PAD图 判定表 PDL( ...

最新文章

  1. “Hello,Jetpack”:构建您的第一个Jetpack应用程序
  2. VTK:Qt之RenderWindowUISingleInheritance
  3. Linux 系统管理员工具集
  4. 最大隶属度原则_商圈广告精准投放,请牢记这四大黄金原则!
  5. linux svn删除目录命令,删除目录下的所有.svn版本库目录_CentOS
  6. 俗语:“生不睡柳,死不睡杨”,有什么道理?
  7. linux怎样删除定时任务,Linux(CentOS)使用定时任务删除Tomcat日志文件
  8. 手把手教你详细分析 Chrome 1day 漏洞 (CVE-2021-21224)
  9. Atitit 编程语言的block概念 目录 1. 匿名block 1 1.1. 函数块 方法快 1 1.2. Sp udf块 1 2. 实现block的方式 1 2.1. 早期的语言大多是采用en
  10. 计算机机房岗位管理制度,机房管理规定-机房管理制度.doc
  11. 100个思维模型(不一定都适用,各取所需)
  12. phpcms 文件:index.html 不可写,phpcms uploadfile不可写怎么办
  13. 2022UI自动化测试框架搭建 —— yaml文件管理定位元素
  14. bag of tricks for image classification with convolutional neural networks
  15. 34%的人会出轨。。。
  16. 固态硬盘SSD和机械硬盘哪个好?它们有什么区别?
  17. IMU使用入门——WT901CM
  18. C语言中abs和fabs的区别
  19. linux双系统如何选择顺序,Ubuntu和Windows双系统选择开机顺序
  20. CPU基本结构和运行原理

热门文章

  1. 2种方式打开jar文件
  2. 光环PMP 串讲冲刺 敏捷
  3. python爬取有妖气漫画
  4. codeblocks下载安装以及使用自带GCC / g++编译器
  5. Cisco ASA 5585防火墙ASDM配置
  6. java数组排序去重_JAVA数组去重排序
  7. Android 测试
  8. UTF-8 ,UTF8, GBK,GB2312 之间的关系和区别
  9. JS入门到精通完整版
  10. CSS 模拟电影卡片