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. 系统响应时间

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

更多相关文章

No Driver Trouble: A Guide to Successfully Installing TP-LINK USB Adapter on Win10

8天前

USB无线网卡型号:AX900 TL-XDN7000H 操作系统:win10专业版 症状描述 :插上无线网卡,没有弹出CD-ROM,但是检测到一个新的U盘。打开U盘看到有一个安装程序TP-LINK Wi

树莓派5的无线网卡:Raspbian系统下的优化设置

8天前

最近发现无线USB网卡很多,但它的几个概念搞得很不清楚,今天终于搞明白了。 其实无线USB网卡,有以下功能: 1. 作为无线网卡,USB接口。无线网卡的功能就是能连接到外部wifi,上网。 2. 作为无线网卡,

双系统启动菜单问题?NTBOOTautofix帮你快速解决!

8天前

简介:双系统启动菜单工具NTBOOTautofix是一款专业软件,用于管理和修复双系统或多系统的启动菜单问题。它特别适用于Windows系列操作系统,并提供修复启动菜单、恢复MBR、修复BCD、数据备份与恢复、命令行模式操作、安全扫描

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

8天前

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

QQ浏览器自动更新不想受?三步操作,让升级由你掌握!

8天前

如何关闭QQ浏览器自动更新功能:详细步骤与常见问题解析在日常使用电脑的过程中,许多用户都曾遇到过软件自动更新的困扰。以QQ浏览器为例,其自动更新功能虽然旨在为用户提供最新版本的功能和安全补丁,但部分用户反馈新版本可能存在

从入门到精通:TP-Link与Netcore桥接实操指南

8天前

朋友的无线到我家就很微弱,天气状况好的时候,还是可以接受的,糟的时候网络质量就非常的差。 于是果断入手了TPLink,通过桥接的方式 扩展他的信号,让wifi覆盖无死角。 基本配置如下(参考网络上的资料,但是不同的路由

TP-Link 478+的秘密武器:升级固件包,让你的设备焕然一新!

8天前

ZIP文件 资源目录 相关推荐 核心逻辑: * 1. 若DLQ未启用,直接调用原始处理器; * 2. 若启用,按配置重试处理事件; * 3. 重试耗尽后发送事件到DLQ。 *

解锁家庭网络配置:了解192.168.0.1和192.168.1.1的用途

8天前

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

192.168.0.127与Flash中心:解决Adobe Flash Player网络接入问题的策略

8天前

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

192.168.0.1设备探索:零基础入门

8天前

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

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

8天前

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

Dism工具大揭秘:Windows 10操作系统的幕后英雄

8天前

目录一、DISM是什么 DISM,英文名称为Deployment Imaging and Management,部署映像服务和管理。这是一个命令行工具,用于部署前从.wim文件、.ffu文件、.vhd文件或.vh

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

8天前

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

Dism++x64全面解析:告别臃肿系统,C盘焕发新生的全面优化方案

8天前

一、 为什么技术人都要用 Dism++? 在 Windows 运维和优化领域, Dism++被称为“全球第一款基于 CBS 的 Dism GUI 实现”。 对于普通用户,这可能听起来很拗口。简单

掌握Windows 10的Dism技巧,让系统管理更高效、更便捷

8天前

目录一、DISM是什么 DISM,英文名称为Deployment Imaging and Management,部署映像服务和管理。这是一个命令行工具,用于部署前从.wim文件、.ffu文件、.vhd文件或.vh

一文读懂Dism命令行,Adobe Flash Player安装不再难!

8天前

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

Dism++优化秘籍:一步到位提升电脑运行速度

8天前

1.系统文件清理 虽然dism的文件清理比较弱,但相对于其他清理工具来说,清理系统垃圾文件功能比较丰富,选择软件的空间回收栏目,勾选所有的清理功能,点击扫描,稍等片刻,即可扫描出不需要的文件,点击清理即可。 其中需要注

当Windows系统出问题时,如何借助DISM挂载映像进行修复,让电脑焕然一新?

8天前

如何使用DISM对Windows系统映像进行修复在前些天我更新电脑驱动的时候,更新程序报错了。我检查后发现是系统映像完整性的问题。在我解决完问题后,我决定把这个解决的过程记录下来,希望能帮到别人。 那么正文开始

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

8天前

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

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

8天前

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

发表评论

全部评论 0
暂无评论