软件工程复习(五):详细设计

结构程序设计

定义

如果一个程序的代码块仅仅通过顺序、选择和循环这3 种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。

下图中(a)为顺序结构,(b)为 IF-THEN-ELSE选择(分支)结构,(c)为 DO-WHILE 型循环结构。
在这里插入图片描述

图(a)为 DO - UNTIL型循环结构,(b)多分支结构。
在这里插入图片描述

人机界面设计

人机界面设计是接口设计的重要组成部分。对于交互式系统来说,人机界面设计和数据设计、体系结构设计及过程设计一样重要。(可参考概要设计)。

设计问题

设计人机界面过程中会遇到的4 个问题:系统响应时间、用户帮助设施、出错信息处理、命令交互

系统响应时间

作出控制动作到系统响应的时间。具有长度和易变性。

用户帮助设施

包括集成的帮助设施(设计在软件里面)和附加的帮助设施(联机用户手册)。前者优于后者。

出错信息处理

出错信息和警告信息。

命令交互

通常即可从菜单栏选择,又可以通过键盘命令调用。

设计过程

是一个迭代的过程。
在这里插入图片描述

人机界面设计指南

包括一般交互指南、信息显示指南、数据输入指南

过程设计工具

工具名主要优点主要缺点
程序流程图简单直观不考虑全局;不易表示数据结构
盒图(N-S图)考虑全局;作用域明确不易绘制和修改
PAD图清晰表现逻辑结构、数据结构;有直接转换工具~
判定表清晰表现动作关系含义复杂;不够简洁
判定树形式简单简洁性比判定表还要差
过程设计语言便于保持文档和程序一致性;便于数据结构说明不直观

程序流程图

又称为程序框图,历史最悠久、使用最广泛的方法。

优点:
对控制流程的描绘很直观,便于初学者掌握。

缺点:
1、不够逐步求精,程序员只考虑程序的控制流程,而不考虑全局结构。
2、用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制。
3、不易表示数据结构。

在这里插入图片描述

盒图(N-S 图)

优点 :
1.功能域(作用域)明确
2.无 GOTO
3.容易确定局部或全局数据的作用域
4.容易表示嵌套关系,体现层次结构

缺点 :
1.修改困难,特别在手工画时
2.分支或嵌套多时不好画

在这里插入图片描述

PAD图

PAD是问题分析图(problem analysis diagram)的英文缩写,用二维树形结构的图来表示程序的控制流,将这种图翻译成程序代码比较容易。
在这里插入图片描述

优点:
■使用表示结构化控制结构的PAD符号设计出来的程序必然是结构化程序。
■描绘的程序结构十分清晰。
■程序逻辑易读、易懂、易记。 
■容易将PAD图转换成高级语言源程序,可用软件工具自动完成。
■即可表示程序逻辑,也可描绘数据结构。
■支持自顶向下、逐步求精方法的使用。

在这里插入图片描述

判定表

当算法中包含多重嵌套的条件选择时,判定表(树)能够清晰地表示复杂的条件组合与应做的动作之间的对应关系。 其他方法都不可以。

一张判定表由4部分组成:
在这里插入图片描述

优点:
能清晰地表示复杂的条件组合与应做的动作之间的对应关系。

缺点:
1.含义无法一眼看出,需要有一个简短的学习过程。
2.当数据元素的值多于两个时,判定表的简洁程度也将下降。

判定树

判定树是判定表的变种,也能清晰地表示复杂的条件组合与应做的动作之间的对应关系。多年来判定树一直受到人们的重视,是一种比较常用的系统分析和设计的工具。

优点:
它的形式简单,一眼就可以看出其含义,因此易于掌握和使用。

缺点:
简洁性不如判定表,数据元素的同一个值往往要重复写多遍,而且越接近树的叶端重复次数越多。

画判定树时分枝的次序可能对最终画出的判定树的简洁程度有较大影响。

例题

在这里插入图片描述
利用判定表:
在这里插入图片描述
利用判定树:
在这里插入图片描述

过程设计语言(PDL)

也称为伪码,它是用正文形式表示数据和处理过程的设计工具。

PDL具有严格的关键字外部语法,用于定义控制结构和数据结构;同时,PDL表示实际操作和条件的内部语法通常又是灵活自由的,可以适应各种工程项目的需要。它使用一种语言的词汇,同时却使用另一种语言的语法。

伪代码的基本控制结构:
■简单陈述句结构:避免复合语句。
■判定结构:IF_THEN_ELSE或CASE_OF结构。
■选择结构:WHILE_DO或REPEAT_UNTIL结构。

特点:
■关键字的固定语法,它提供了结构化控制结构、数据说明和模块化的特点。
■自然语言的自由语法,它描述处理特点。
■数据说明的手段。应该既包括简单的数据结构,又包括复杂的数据结构。
■模块定义和调用的技术,应该提供各种接口描述模式。

优点:
可以作为注释直接插在源程序中间。有助于保持文档和程序的一致性,提高了文档的质量。
可以使用普通的正文编辑程序或文字处理系统,很方便地完成PDL的书写和编辑工作。
已经有自动处理程序存在,而且可以自动由PDL生成程序代码。

缺点:
不如图形工具形象直观,描述复杂的条件组合与动作间的对应关系时,不如判定表清晰简单。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值