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. 系统响应时间
版权声明:本文标题:Swe5 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1735740502a1687075.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
更多相关文章
解锁OpenWRT新功能:USB无线网卡的添加教程
说明要完成网线网卡的驱动需要在内核中添加驱动,同时还需要将固件放入rootfs中正确的位置,如果需要固件的话。 内核驱动添加 因为内核中对常规的USB网卡均支持,所以直接添加即可, 例如下面是
一插即用,USB无线网卡让台式机无缝接入无线上网,享受ADSL新体验
轻松无线,USB无线网卡共享台式机接入ADSL无线上网 笔者在去年10月份的时候购置了一部内置无线网卡的笔记本电脑,但这个功能一直没有机会得以应用。今年春节回家的几日中突然萌发了组建无线局域网的想法,因为如果想用自
树莓派5的无线网卡:Raspbian系统下的优化设置
最近发现无线USB网卡很多,但它的几个概念搞得很不清楚,今天终于搞明白了。 其实无线USB网卡,有以下功能: 1. 作为无线网卡,USB接口。无线网卡的功能就是能连接到外部wifi,上网。 2. 作为无线网卡,
Ubuntu系统中TP-LINK 5200H无线USB网卡的驱动安装:0bda:1a2b型号解决方案
TP-LINK 5200H无线USB网卡ubuntu驱动 在ubuntu中设备ID0bda:1a2b驱动环境准备;git安装器具体步骤: 1、下载驱动 git clone
快速上手TP-LINK150M无线USB网卡免驱版:wifiautoinstallsetup安装包的简便安装流程
`声明Copyrighte2018普联技术有限公司版权所有,保留所有权利未经普联技术有限公司明确书面许可,任何单位或个人不得擅自仿制、复制、誉抄或转译本书部分或全部内容。不得以任何形式或任何方式(电子、机械、影
当你的双系统遭遇了删除的厄运,这里有绝地翻盘的大招!
引言 “手贱”是科技进步的第一动力——至少在我的电脑上是这样。 前几天,我决定给硬盘来一次“断舍离”。看着那块装着老Windows 10系统的F盘,心想既然主力系统已经是Windows 11了,留着它也是浪费空间。于是
NTBOOTAutoFix:双系统启动菜单的终极修复大师
简介:双系统启动菜单工具NTBOOTautofix是一款专业软件,用于管理和修复双系统或多系统的启动菜单问题。它特别适用于Windows系列操作系统,并提供修复启动菜单、恢复MBR、修复BCD、数据备份与恢复、命令行模式操作、安全扫描
重新激活QQ浏览器自动更新功能,升级体验从这里开始!
QQ浏览器自动更新功能关闭后的开启方法详解 在日常使用QQ浏览器的过程中,部分用户可能会遇到自动更新功能被意外关闭的情况。当该功能处于禁用状态时,浏览器将无法自动检测并安装新版本,可能导致安全漏洞修复延迟、功能更新滞后等问题。
Ubuntu Linux新手必学:解决QQ自动关闭的技巧
原文地址: 前几天每次开机启动电脑,Ubuntu 9.10 linux qq 老是自动退出,QQ登陆了还没几分钟呢,刚想聊几句天的,悄无声息的QQ自动关闭了。 然后今天也奇怪了,QQ登陆后不会自动退出了,而且可以同时登
Ubuntu系统QQ频繁断线?一文教你快速修复方法!
每次开机启动电脑,Ubuntu 10 linux qq 老是自动退出,QQ登陆了还没几分钟呢,刚想聊几句天的,悄无声息的QQ自动关闭了。 只要修改一下qq配置文件(usrbinqq)就可以了。 具体如下。
一步到位:教你彻底关闭QQ小程序的不二法门
我有3个QQ,每天都要登录,可是登录后,"腾讯网迷你首页"就会自动弹出,干扰了我的心情(呵呵~~只有会员才免遭此罪哦).于是,我编写了个程序:在10分钟内主动查找"腾讯网迷你首页",发现就把它关掉,不
无线路由器桥接掉线?5个实用方案让网络流畅
半年前用两个tplink无线路由器搭建了一个桥接的网络,但是二级路由器总是断线需要重启。经过大半年的摸索,偶然间解决了问题,在这里共享给为同样问题困扰的朋友。我的配置是tp 742做主路由器,连接联通的光纤。t
从入门到精通:TP-Link与Netcore桥接实操指南
朋友的无线到我家就很微弱,天气状况好的时候,还是可以接受的,糟的时候网络质量就非常的差。 于是果断入手了TPLink,通过桥接的方式 扩展他的信号,让wifi覆盖无死角。 基本配置如下(参考网络上的资料,但是不同的路由
一文详解:轻松进入192.168.1.1路由器控制台
快速体验打开 输入框输入如下内容 帮我开发一个路由器登录页面模拟系统,用于展示常见路由器的管理界面登录流程。系统交互细节:1.输入正确IP地址跳转登录页 2.输入错误地址提示更正 3.忘记密码时显示重置指
轻松搞定192.168.0.1,从初学者到高手的路由器设置技巧
摘 要 (导读:192.168.0.1路由器设置)1、路由器正确安装:2、IP地址设置3、登录路由器4、设置路由器目录本文将介绍192.168.0.1路由器设置的方法及教程;适用于小白新手换新路由器或者路" (导读
深度解析Dism++:打造Windows的私人优化专家
Dism++终极指南:免费高效的Windows系统优化解决方案 Dism++是一款功能强大的Windows系统优化工具,通过Dism-Multi-language项目提供全面的多语言支持,让全球用户都能以母语轻松使用其强大的系
Dism命令新探索:深入理解与实践Windows映像文件维护
Dism是什么? dism 命令(Deployment Image Servicing and Management)是Windows操作系统中的一个命令行工具,用于管理和维护映像文件(如Windows安装映像或修复映像)。d
当Windows系统出问题时,如何借助DISM挂载映像进行修复,让电脑焕然一新?
如何使用DISM对Windows系统映像进行修复在前些天我更新电脑驱动的时候,更新程序报错了。我检查后发现是系统映像完整性的问题。在我解决完问题后,我决定把这个解决的过程记录下来,希望能帮到别人。 那么正文开始
Ubuntu系统安全大计,备份技巧大公开
本文主要参考这个博客。全文一半内容是复制粘贴的这个博客内容,提前声明一下,以防侵权。还参考了下这个ubuntu有时候用着用着崩了,或者想回退到历史某个版本。这就需要系统备份了:把当前某个能用的状态备
Linux系统安全小贴士:掌握备份与恢复,安心每一天
系统备份linux秉承一切皆文件的思想,系统备份就相当于把整个(根目录)所有文件打包压缩保存。 备份前先切换到root用户,避免权限问题,然后切换到(根目录)。 tar -cvpzf mediaDisk
发表评论