结构化程序设计的基本概念
- 格式:ppt
- 大小:387.02 KB
- 文档页数:21
结构化系统设计方法的基本思想是以系统的逻辑功能设计和数据流关系为基础,根据数据流程图和数据字典,借助于标推的设计淮则和图表工具,通过“自上而下”和“自下而上”的反复,逐层把系统划分为多个大小适当,功能明确,具有一定独立性,并容易实现的模块,从而把复杂系统的设计转变为多个简单模块的设计。
从目前大多数信息系统的开发现状来看,结构化系统设计方法是运用最为普遍,同时也是最为成熟的一种开发方式。
简单地说,结构化系统设计方法可以用三句话进行概括;自上而下;逐步求精;模块化设计。
首先,自上而下,就是在管理信息系统的设计与系统分析阶段,必须采用整体大于局部、上级优于下级的设计思路。
优先考虑如何满足领导层的管理需求,其次才考虑中层与底层的管理需求。
其次,对客户的需求分析应做到逐步求精。
在深入调研的基础上力图在编写程序之前就清晰地了解客户的实际运作过程,从而制定出切实可行的开发方案,并且为将来可能的功能扩展留有充分的余地。
最后阶段才进入程序编写阶段。
在进行软件设计时采用模块化的设计思路,并且采用自下而上的实施方法,即先开发一些能够独立运行并完成某些功能的小型程序模块,而后将这些模块进行组合。
采用这种设计方法,在所有功能模块开发完成之后,只需将所有模块进行有机组合,就能够获得一个完善的系统。
二、结构化系统设计方法的由来与发展在数据处理领域,“结构化”…词最早出现于程序设计,即结构化程序设计。
“结构化”的含义是指用一组标准的准则和工具从事某项工作。
在结构化程序设计之前,每一个程序员都按照各自的习惯和思路编写程序,没有统一的标准,也没有统一曲技术方法,因此,程序的调试、维护都很困难,这是造成软件危机的主要原因之一。
1966年,Bohn和Jacopinl提出了有关程序设计的新理论.即结构化程序设计理论。
这个理论认为,任何——个程序都可以用三种基本逻辑结构来编制,而且只需这三种结构。
这三种结构分别是顺序结构、判断结构和循环结构,其特点是每种结构只有一个入口点和一个出口点。
单片微型计算机原理及接口技术答案【篇一:单片微型计算机原理与接口技术髙锋版课后答案第4章】txt>思考与练习题解析【4—1】简述下列基本概念:程序、程序设计、机器语言、汇编语言及高级语言。
【答】各基本概念如下。
【4—2】在单片机领域,目前最广泛使用的是哪几种语言?有哪些优越性?单片机能否直接执行这几种语言?【答】在单片机领域,目前最广泛使用的是汇编语言和高级语言。
汇编语言编写的程序效率高,占用存储空间小,运行速度快,而且能反映单片机的实际运行情况。
但编程比使用高级语言困难,通用性差。
单片机不能直接执行汇编语言程序,必须通过人工(或机器)汇编把汇编语言程序转换为机器语言程序。
高级语言不受具体机器的限制,而且使用了许多数学公式和习惯用语,从而简化了程序设计的过程,通用性强,易于移植到不同类型的单片机中。
单片机不能直接识别和执行高级语言,需要将其转换为机器语言程序才能识别和执行。
对于高级语言,这一转换工作通常称为“编译”或者“解释”。
进行编译或者解释的专用程序称为“编译程序”或者“解释程序”。
【4—3】什么叫伪指令?8oc51单片机程序设计中主要有哪些伪指令语句?【答】伪指令又称为“汇编程序控制译码指令”。
“伪”体现在汇编时不产生机器指令代码,不影响程序的执行,仅指明在汇编时执行一些特殊的操作。
例如.为程序指定一个存储区,将一些数据、表格常数存放在指定的存储单元,说明源程序开始或结束等.。
不同的单片机开发装置所定义的伪指令不全相同。
80c51单片机程序设计中主要有伪指令语句如下。
1.org(origin)一汇编起始地址伪指令,指令格式为:org 表达式’其含义是向汇编程序说明,下述程序段的起始地址由表达式指明。
表达式通常为十六进制地址码。
2.end(end 0f assembly)一汇编结束伪指令。
其含义是通知汇编程序,该程序段汇编至此结束。
3.equ(equate)—赋值伪指令。
指令格式为:标号 equ 表达式其含义是把表达式赋值于标号,这里的标号和表达式是必不可少的。
请简要回答结构化程序设计方法的基本原则结构化程序设计方法是一种程序设计的方法论,它的基本原则包括:模块化、逐步细化、自顶向下、结构化控制流程、信息隐藏和清晰性。
第一,模块化。
模块化的思想是将程序中的各个功能模块独立开来,便于代码的重用和管理。
在设计程序时,应该把程序划分成若干个独立的子程序或函数,这使得代码更容易理解和维护。
第二,逐步细化。
在程序设计的过程中,应该逐步细化程序的功能和流程,从而使得程序更加易于理解和修改。
逐步细化的过程应该是自顶向下的,从整体到局部的分解。
第三,自顶向下。
通过将程序从高层次分解到低层次,自顶向下分析程序,可以使得设计更加清晰,模块更加独立,方便实现和测试。
程序设计过程中应该先概括性地描述程序的总体功能,然后逐渐深入到具体细节。
第四,结构化控制流程。
结构化程序设计方法强调程序必须具备良好的控制流程结构,遵循“顺序、选择、循环”三种基本结构,以确保程序的正确性和可读性。
在程序实现时,应该进行适当的结构化处理和优化。
第五,信息隐藏。
结构化程序设计方法提倡信息隐藏,即将功能独立、功能相关的数据封装在一个独立的独立的模块或类中,同时隐藏其他模块或类中的信息从而避免代码的耦合性,提高程序的可读性、稳定性和可维护性。
第六,清晰性。
结构化程序设计方法要求程序的代码应该尽可能地清晰易懂,比如采用有意义的命名、缩进、注释等方式,从而使得程序更加易于读懂和修改。
程序设计人员应该注意代码的可读性和注释的必要性。
综上所述,结构化程序设计方法的基本原则是模块化、逐步细化、自顶向下、结构化控制流程、信息隐藏和清晰性。
这些原则是指导程序员设计出高质量、易于维护和扩展的软件的基本准则。
第6章程序设计基本结构著名计算机科学家Niklaus Wirth提出程序定义的著名公式:程序=数据结构+算法。
数据结构表示数据之间的关系,算法指明了对数据处理的步骤和方法。
在C语言程序设计中,数据类型描述数据结构,语句描述算法,程序由一系列语句组成。
也就是说,程序是一组能够完成特定任务的指令序列,按照特定的逻辑关系以一定的结构组织在一起,并以文件的形式存储在计算机的外部设备上。
程序设计是根据特定的问题,使用某种程序设计语言编写程序,让计算机自动执行。
程序设计包括结构化程序设计和面向对象程序设计。
结构化程序设计是传统的程序设计方法,通过自顶向下、逐步细化的模块化编程方式进行编程,层次清晰;面向对象程序设计通过编程语言提供的辅助工具设计用户界面,自动生成应用程序,用户只需编写少量的过程代码,通过事件驱动方式运行程序。
C语言是结构化的程序设计语言,本章将采用Visual C++作为编程环境,详细介绍结构化程序设计的基本结构和使用C语言进行结构化程序设计的基本方法。
6.1 概述按照结构化程序设计的观点,任何算法功能都可以通过程序模块组成的三种基本程序结构即顺序结构、选择结构(又称分支结构)和循环结构来组合实现。
结构化程序设计的基本思想是采用“自顶向下,逐步求精”的程序设计方法和“单入口单出口”的控制结构。
“自顶向下、逐步求精”的程序设计方法从问题本身开始,经过逐步细化,将解决问题的步骤分解为由基本程序结构模块组成的结构化程序框图;“单入口单出口”的思想认为一个复杂的程序,如果它仅是由顺序结构、选择结构和循环结构三种基本程序结构通过组合、嵌套构成,那么这个新构造的程序一定是一个单入口单出口的程序。
6.1.1 三种基本结构的流程图表示1.顺序结构顺序结构是最简单最基本的程序控制结构,程序中的的语句将自顶向下逐条执行,即按语句的排列顺序从第一条顺序执行到最后一条,如果要执行第n条语句,必须首先执行第n-1条语句,且每个语句只执行一遍,无需专门的控制语句实现。
第三部分程序设计基础3.1 程序、程序设计、程序设计语言的定义⑴程序:计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。
⑵程序设计:程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。
程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。
程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。
⑶程序设计语言:程序设计语言用于书写计算机程序的语言。
语言的基础是一组记号和一组规则。
根据规则由记号构成的记号串的总体就是语言。
在程序设计语言中,这些记号串就是程序。
程序设计语言有3个方面的因素,即语法、语义和语用。
3.2 高级语言和低级语言的概念及区别⑴高级语言:高级语言(High-level programming language)是高度封装了的编程语言,与低级语言相对。
它是以人类的日常语言为基础的一种编程语言,使用一般人易于接受的文字来表示(例如汉字、不规则英文或其他外语),从而使程序编写员编写更容易,亦有较高的可读性,以方便对电脑认知较浅的人亦可以大概明白其内容。
⑵低级语言:低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。
机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。
⑶区别:高级语言:实现效率高,执行效率低,对硬件的可控性弱,目标代码大,可维护性好,可移植性好低级语言:实现效率低,执行效率高,对硬件的可控性强,目标代码小,可维护性差,可移植性差了解知识:CPU运行的是二进制指令,所有的语言编写的程序最终都要翻译成二进制代码。
越低级的语言,形式上越接近机器指令,汇编语言就是与机器指令一一对应的。
而越高级的语言,一条语句对应的指令数越多,其中原因就是高级语言对底层操作进行了抽象和封装,使编写程序的过程更符合人类的思维习惯,并且极大了简化了人力劳动。
结构化开发方法概念。
结构化开发方法是一种软件开发方法,旨在通过将程序分解成模块并使用流程图等可视化工具来帮助开发人员更有效地设计、编写、测试和维护软件系统。
该方法的核心理念是把程序分解成小的、可重用的模块,这些模块之间通过定义的接口进行通信。
这样做的好处是,开发人员可以更容易地理解整个系统的结构,同时也可以更容易地调试和维护程序的各个部分。
结构化开发方法通常包括以下步骤:
1. 需求分析:确定软件系统的要求和特性。
2. 设计:设计软件系统的整体结构,并定义每个模块的功能和接口。
3. 编码:编写程序代码。
4. 测试:测试系统以确保它符合要求并能够正常运行。
5. 维护:维护程序并进行必要的更新和修复。
结构化开发方法的优点包括:
1. 可重用性:通过将程序分解成可重用的模块,可以更容易地编写和维护程序。
2. 易于理解:结构化开发方法使用可视化工具,如流程图,可以帮助开发人员更容易地理解系统的结构。
3. 易于调试:结构化开发方法的模块化结构使得调试和修复程序的各个部分更加容易。
4. 相对容易的维护:结构化开发方法使得程序的维护和更新更加容易,因为每个模块都是相对独立的。
总的来说,结构化开发方法是一种非常有用的软件开发方法,可以帮助开发人员更有效地设计、编写、测试和维护软件系统。
理解结构化和⾯向对象的区别结构化⽅法 结构化程序设计⽅法包含结构化分析(SA)、结构化设计(SD)、结构化程序设计(SP)三个⽅⾯,分别对应了软件开发中的分析、设计和编码阶段。
结构化分析是由DeMarco和Yourdon在20世纪70年代所倡导的。
结构化分析是⼀种基于功能分解的分析⽅法,在分析过程中使⽤了各种⼯具,例如数据流图等,这些⼯具本质上是⼀个对⽤户需求的解读,也是⾯向⽤户展⽰的⼀个“说明书”,⽬的在于使软件真正符合⽤户的需求。
结构化设计⾯向数据流,其最⼤的着⼒点在于设计系统各个组成部分之间的内部联系,以满⾜软件所需要的层次和结构。
结构化设计中,软件被⾃顶向下地不断细分,并谨慎地对待数据流通软件时的每⼀个步骤。
David Hay曾经说过(1999):"信息⼯程是1970年代开发的结构化技术的逻辑延伸。
结构化编程导致结构化设计,这⼜导致结构化系统分析。
这些技术的特点是使⽤图表,例如为结构化设计的产⽣的结构图和为结构化分析⽽产⽣的数据流图,这些图表都是为了帮助⽤户与开发者之间的交流,以及规范化分析、开发过程⽽产⽣的。
在20世纪80年代,各种⼯具开始出现,它们⾃动绘制图表,并跟踪在数据字典中描述的东西。
"[1] 例如CAD/CAM这样的CASE⼯具。
⾯向对象⽅法 和结构化设计类似,⾯向对象技术包括⾯向对象分析(OOA)、⾯向对象设计(OOD)和⾯向对象编程(OOP)三部分。
⾯向对象⽅法有⼏个需要遵循的基本原则:即抽象、封装、继承和多态。
在⾯向对象建模中,代码和数据被合并成⼀个单⼀的不可拆分的单元,也就是⼀个对象。
这样的特性允许对象保持像⼀个⿊盒⼦,也就是说没有⼈需要看到⾥⾯的具体原理。
⽽为了达到这⼀点,对任何对象的所有修改是通过作⽤于对象的消息来完成的,并且实际上所有对象都从消息中获得它们的动作。
在⾯向对象建模中,这种特性被称为封装性,它⼤⼤便利了软件部件、包或者库的调⽤,并且更便于重⽤。