admin 管理员组

文章数量: 1184232


2024年12月31日发(作者:pythonpip安装)

第五章

详细设计

目标:确定应该怎样具体地实

现所要求的系统

1

经过这个阶段的设计工作,应该得出

对目标系统的精确描述,从而在编码

阶段可以把这个描述直接翻译成用某

种程序设计语言书写的程序。

详细设计阶段的任务还不是具体地编写

程序,而是要设计出程序的“蓝图”,以

后程序员将根据这个蓝图写出实际的程

序代码。因此,详细设计的结果基本上

决定了最终的程序代码的质量。

2

衡量程序的质量

不仅逻辑正确,性能是否满足要

求,更主要的是看其是否容易理

解和阅读。

§5.1 结构程序设计

产生的背景

3

结构程序设计的概念最早由ra

提出。1965年他在一次会议上指出:“可

以从高级语言中取消GO TO语句”,“程

序的质量与程序中所包含的GO TO 语句

的数量成反比”。1966年Bohm和

Jacopini证明了,只用3种基本的控制结

构就能实现任何单入口单出口的程序。

结构程序设计的经典定义

如果一个程序的代码块仅仅通过

顺序、选择和循环这三种基本控

制结构进行连接,并且每个代码

块只有一个入口和一个出口,则

称这个程序是结构化的。

4

结构程序设计的定义

尽可能少用GO TO语句的程序设计

方法,最好仅在检测出错误时才使

用GO TO 语句,而且应该总是使用

前向GO TO语句。

三种基本结构

A

Exp

B

AB

(a)

(b)

5

exp

F

A

T

exp

T

F

A

(c)

A

CASE

DO

F

exp

case1case2…case n

T

(d)

6

¾

有时需要立即从循环(甚至嵌套的循

环)中转移出来,如果允许使用

LEAVE(或BREAK)结构,则不仅方

便而且会使效率提高很多。

¾

LEAVE或BREAK结构实质上是受

限制的GO TO 语句,用于转移到循

环结构后面的语句。

¾

经典的结构程序设计:只允许使用顺

序、IF-THEN-ELSE型分支和DO-

WHILE型循环。

¾

扩展的结构程序设计:除上述3种基本

控制结构之外,还允许使用DO-CASE

型多分支结构和DO-UNTIL型循环结

构。

¾

修正的结构程序设计:再加上允许使用

LEAVE(或BREAK)结构。

7

结构程序设计的好处

1)自顶向下逐步求精,符合人类普遍规律。

2)清晰的层次结构,易读,易理解。

3)单入/出口结构易保证正确性,易诊断错误

并改正

4)控制结构有确定模式,代码只限于几种直

截了当的方式,易于测试。

5)可重用代码量最大

6)逻辑结构清晰,有利于正确性证明

具体实现结构化设计中

碰到的几个问题

8

问题之一:是否能够将问题解的任何算法都

表示为结构化构造?

1966年由Boehm Jacopini提出,并经Mills

进一步发展,在理论上证明了问题解的任

何算法都可以表示为结构化的构造。其理

论可归纳为:

定理一:假如不增加辅助变量、不

增加额外计算或不改变程序的执行

顺序,则必然存在不能用if-while

表示的构造。

9

定理二:在定理一的假设条件下,

if-while构造的充分必要条件是:

该构造不包含两个(或两个以

上)出口的循环。

定理三:若允许增加辅助变量、或增

加额外计算、或改变程序的执行顺

序,问题解的任何算法都可以表示

为结构化的构造。

10

非结构化流程图

START

S

F

P2

F

P1

T

T

2

1

START

S

T

P1 and P2

F

F

P1

T

21

11

START

START

S

F

S

P2

F

P1

T

T

1

T

2

P1 and P2

F

F

P1

T

21

非结构化流程

12

增加辅助变量

B

13

5.2 人机界面设计

人机界面设计是接口设计的一个重

要的组成部分。对于交互式系统来

说,人机界面设计和数据设计、体

系结构设计及过程设计一样重要。

5.2.1 设计问题

¾

系统响应时间

¾

用户帮助设施

¾

出错信息处理

¾

命令交互

14

1. 系统响应时间

本文标签: 程序 设计 用户 信息 系统

更多相关文章

快速上手TP-LINK150M无线USB网卡免驱版:wifiautoinstallsetup安装包的简便安装流程

1月前

`声明Copyrighte2018普联技术有限公司版权所有,保留所有权利未经普联技术有限公司明确书面许可,任何单位或个人不得擅自仿制、复制、誉抄或转译本书部分或全部内容。不得以任何形式或任何方式(电子、机械、影

当你的双系统遭遇了删除的厄运,这里有绝地翻盘的大招!

1月前

引言 “手贱”是科技进步的第一动力——至少在我的电脑上是这样。 前几天,我决定给硬盘来一次“断舍离”。看着那块装着老Windows 10系统的F盘,心想既然主力系统已经是Windows 11了,留着它也是浪费空间。于是

好友一碰就消失?揭秘QQ自动退出的神秘原因

1月前

曾经遇到过该问题,以为是偶然或是RP问题,昨天有同事也出现了类似症状,觉得大概与RP无关啦,所以写下比较简单的但有效的解决方法。下面描述一下症状:针对某个QQ号码,选择某个特定的好友,准备输入消息的时候,该QQ号会自动关闭;同个

Ubuntu Linux新手必学:解决QQ自动关闭的技巧

1月前

原文地址: 前几天每次开机启动电脑,Ubuntu 9.10 linux qq 老是自动退出,QQ登陆了还没几分钟呢,刚想聊几句天的,悄无声息的QQ自动关闭了。 然后今天也奇怪了,QQ登陆后不会自动退出了,而且可以同时登

Ubuntu系统下的QQ问题大汇总:一键解决自动关闭!

1月前

每次开机启动电脑,Ubuntu  10 linux qq 老是自动退出,QQ登陆了还没几分钟呢,刚想聊几句天的,悄无声息的QQ自动关闭了。 只要修改一下qq配置文件(usrbinqq)就可以了。 具体如下。

192.168.0.127之谜:揭秘网络背后的精彩故事

1月前

首先得明白 192.168.0.1是个 IP地址,更细一点的话,属于 C类型的,后面的 27则表示 网络号的长度

如何利用192.168.1.1优化你的家庭网络体验

1月前

虽然前面小编也发布过关于的相关信息,但是都是解释相关的问题的,没有好好介绍关于的信息,今天小编星期八就给大家介绍一下的详细信息! 是什么? 192.168.0.1属于IP地址的

192.168.0.1隐藏的路由器入口,教你快速进入并优化网络!

1月前

有不少的用户在反馈,说在的时候,登录入口打不开找不到,从而无法对进行设置,问我应该怎么办? 根据鸿哥的经验来看,出现无法打开的登录入口问题,绝大数情况下是用户自己操作有误引起的,极少数情况

一文详解:轻松进入192.168.1.1路由器控制台

1月前

快速体验打开 输入框输入如下内容 帮我开发一个路由器登录页面模拟系统,用于展示常见路由器的管理界面登录流程。系统交互细节:1.输入正确IP地址跳转登录页 2.输入错误地址提示更正 3.忘记密码时显示重置指

192.168.0.1与192.168.1.1:家庭网络地址的细微区别

1月前

哈哈,这个问题问得真好!让我来给你讲讲192.168.0.1和192.168.1.1这两个"网络小管家"的区别吧~ 其实啊,它们就像是两个不同性格的邻居,虽然住在一个大社区(192.168.0.0-192.168

告别重装系统,用DISM轻松解决电脑问题

1月前

介绍了解: DISM(部署映像服务和管理)是三种 Windows 诊断工具中最强大的。当遇到频繁的崩溃、冻结和错误,或者 SFC 要么无法修复您的系统文件,或者根本无法运行时,可以使用该工具。 相连文章: 修复

Dism助力:快速上手实现Flash Player无缝安装与更新

1月前

相关文章推荐:Windows ADK 下载地址: 命令示例:Gimagex图形化演示:以下命令由DISMGUI生成,原汁原味1.首次备份镜像【Captu

一扫系统故障,畅享Flash内容新体验!

1月前

在win10系统中,当系统出现文件受损或丢失后,可以使用DISM工具进行联机修复:1、使用管理员运行CMD: DISM Online Cleanup-image RestoreHealth命令会联机下载并修

让Dism++帮您驾驭Windows系统,轻松优化

1月前

简介:Dism++是一款先进的系统维护工具,专注于清理电脑垃圾、释放内存,提供全面的系统优化解决方案。最新版本Dism++10.1.1000.100_2d2bf466baca088c4b35248f5a7316f4e00cac0b特别

Dism++:让你的电脑焕然一新,快速提升性能,告别延迟!

1月前

无需全家桶,不占内存,5MB的绿色工具让你的Windows流畅如新!在Windows系统长期使用过程中,系统臃肿、运行卡顿、C盘爆满等问题困扰着绝大多数用户。面对这些痛点,很多人的第一反应是重装系统,但今天我将介绍一款更

告别Flash播放器错误,用DISM轻松搞定

1月前

在win10系统中,当系统出现文件受损或丢失后,可以使用DISM工具进行联机修复:1、使用管理员运行CMD: DISM Online Cleanup-image RestoreHealth命令会联机下载并修

Dism++:你的日常维护与系统优化好帮手

1月前

简介:Dism++是一款先进的系统维护工具,专注于清理电脑垃圾、释放内存,提供全面的系统优化解决方案。最新版本Dism++10.1.1000.100_2d2bf466baca088c4b35248f5a7316f4e00cac0b特别

Linux备份与恢复必修课:SWF文件安全策略从入门到精通

1月前

在linux工作,系统备份是很有必要的,养成系统备份的好习惯会提高你的工作效率。下面我就简单的说一下:1.备份系统首先成为root用户:sudo su然后进入文件系统的根目录

Ubuntu系统维护秘籍:备份步骤详解,保护你的劳动成果!

1月前

记录ubuntu的系统备份方法: 测试平台:ubuntu16.04,已安装nvidia384 cuda opencv protobuf等等运算库。使用ubuntu时经常需要重新安装电脑,和windows不一样的

SWF文件备份失败?这些步骤让你轻松搞定

1月前

数据备份与恢复、系统备份与恢复 一、数据备份与恢复 1、什么是备份 备份,即另外准备一 – 为应付文件、数据丢失或损坏等可能出现的意外情况,将电子计算机存储设备中的数据复制到大容量存储设备中 2

发表评论

全部评论 0
暂无评论