第6章 程序设计软工

合集下载

第6章应用程序设计与实现技术

第6章应用程序设计与实现技术

为自动化工程技术人员提供了采用搭积木的方
式制作现场控制过程和控制界面的工具。
第六章应用程序设计与实现技术
组态的概念最早来自“ configuration” ,其含义是 使用软件工具对计算机及软件的各种资源进行配置, 达到使计算机或软件按照预先设置,自动执行特定任 务,满足使用者要求的目的。组态软件是面向监控与 数据采集的软件平台工具,具有丰富的设置项目,使 用方式灵活,功能强大。 大部分 DCS 厂家的组态软件仍是专用的(即与硬 件相关的),不可相互替代。现在,国内已出现了多 家独立软件商,专门从事工业组态软件的开发。他们 都在设法提供不同厂家、不同设备的对应I/O驱动模块, 使组态软件越来越趋于通用。
计算机控制技术
Computer Controlled System
第六章应用程序设计与实现技术
第六章 应用程序设计与实现技术
6.1 程序设计技术 6.2 数据结构及其应用技术(自学) 6.3 测量数据预处理技术 6.4 数字控制器的工程实现(自学)
6.5 系统的有限字长数值问题
6.6 软件抗干扰技术


数据共享:具有与第三方程序的接口,方便数据共享。
第六章应用程序设计与实现技术
五、衡量一个控制系统软件性能优劣的主要指标

系统功能是否完善,能否提供足够多的控制算法(包括 若干种高级控制算法)。 系统内各种功能能否完善地协调运行,如进行实时采样 和控制输出的同时,又能同时显示画面,打印管理报表 和进行数据通信操作。 人机接口是否良好,有丰富的画面和报表形式,较多的 操作指导信息。另外操作要方便、灵活。 系统的可扩展性能如何,即是否能不断地满足用户的新 要求和一些特殊的需求。
计算机控制技术computercontrolledsystem第六章应用程序设计与实现技术第六章应用程序设计与实现技术61程序设计技术62数据结构及其应用技术自学63测量数据预处理技术64数字控制器的工程实现自学65系统的有限字长数值问题66软件抗干扰技术第六章应用程序设计与实现技术一计算机应用系统中的软件软件是计算机系统中与硬件相互依存的另一部分它是包括程序数据及其相关文档的完整集合

软件工程课件第六章共31页文档

软件工程课件第六章共31页文档

29.04.2020
西南交通大学信息科学与技术学院
结构化程序设计的核心内容
2、三种基本结构的共同点是单入口、单出口。
单入口单出口的控制结构,使得程序的静态结构和 它的动态执行情况一致。这样,使得程序容易阅读和理 解,也容易保证程序的正确性。
29前.0一4.页2020
西南交通大学信息科学与技术学院
国家软件开发工程规范的规定
BEGIN
1. 设置初值;
2. 处理24小时数据;
END
求精步骤1:设置初值。开始时一般不明确为哪些变量赋初值。
求精步骤2:计算结果是以小时为统计单位输出,它是重复执行24次的
循环结构。
局部数据结构设计:数据输入的方案选择:
1、处理前读入所有24小时数据,共1440个,需要大一个大的数组。
2、每次计算输入一个数据,这要保证对先前输入的数据不再使用。
国家软件开发工程规范规定“程序单元必须只有唯一的 入口,唯一的出口”有两个不同的概念:
1、以模块为对象,每个模块只有一个入口(通过模块名进 行调用),唯一的出口指通过模块的返回语句返回到调用语 句的下一个语句(对函数是返回到调用的位置)。
2、以五种语句的控制结构为对象,每种控制结构,以其 语句标志的第一个语句为入口语句,以语句控制范围的下一 个语句为出口到的语句。
3、自顶向下的程序验证。
29.04.2020的核心内容
二、使用三种基本控制结构来构造程序 1、任何程序都由顺序、选择和重复三种基本控制结构构造。
顺序实现了任何算法规约中的核心处理步骤; 条件允许根据逻辑情况选择处理方式; 重复提供了循环。 这些逻辑元素是结构化程序设计的基础。 根据逐步求精的思想,可用三种方式对模块过程进行分解: ①用顺序方式对过程分解,确定各部分的执行顺序; ②用选择方式对过程分解,确定各部分的执行条件; ③用循环方式对过程分解,确定某个部分进行重复的开始和 结束的条件。 对处理过程仍然模糊的部分反复使用以上分解,直到所有细 节确定下来。

[计算机软件及应用]第六章 微型计算机的程序设计

[计算机软件及应用]第六章 微型计算机的程序设计

HLT
h ;暂停
6
例2:将内存(10050H)单元的内容拆成两段,每
段4位,并将它们分别存入内存(10051H)和 (10052H)单元。即(10050H)单元中的低4位放 入(10051H)的低4位,(10050H)单元中的高4位 放入(10052H)的低4位,而(10051H)和 (10052H)的高4位均为零)。
h
15
h
16
START: IN AL,71
CLC CMP AL,10
JC LP1 CMP AL,20
JC LP2 MOV BL,0FFH LP3: MOV AL, BL OUT 73H,AL
HLT LP1: MOV BL,00
JMP LP3 LP2: MOV BL,88H
JMP LP3
;将71H端口的字节读入AL ;清除CF ;AL-10,结果不返回 ;小于10转LP1 ; AL-20,结果不返回 ; 10AL<20 转LP2 ;将0FFH送入BL寄存器
h
13
(3)根据流程图编制程序如下:
CLC
;清除CF
CMP AX,BX ;AX-BX,结果不返回
JC AA
;CF=1转AA去执行(即AX<BX时转移)
SUB AX,BX ; AX ← AX-BX
MOV DI,2800H ;结果指针DI=2800H
MOV [DI],AX ;结果送到2800H和2801H单元,
10050H 被加数低8位 10053H 加数高8位
10051H 被加数高8位 10054H 和的低8位
10052H 加数低8位 10055H 和的高8位
被加数+加数→AX
AX →(10054H)和(10055H)单元

第6章 DSP软件设计

第6章 DSP软件设计

参数1 参数1 在A中
© Software College , East China Institute of Technology , 2009 HJF
混合编程函数调用规则(续)
汇编器对被调用函数局部帧的分配
局部帧包括局部变量块和局部参数块两部分,其中局部参数块是 局部帧中用来传递参数到其他函数的部分。如果被调用函数没有 局部变量并且不再调用其他函数或需要调用的函数没有参数,则 不分配局部帧。 对于混合编程而言,若被调用函数是手工编写的汇编程序,则局 部帧由编程者自己完成分配,也不需要在堆栈中进行,而编译器 分配局部帧。 结果返回 函数调用结束后,将返回值置于累加器A中。整数和指针在累加 器A的低16位中返回, 浮点数和长整型数在累加器A 的32位中返 回。
© Software College , East China Institute of Technology , 2009 HJF
混合编程函数调用规则(续)
参数传递规则
函数调用前

将参数置于参数 表中, 表中,调用函数
被调用者分配局 部帧和参数表
SP SP SP 调用者的 调用者的 参数块 调用者的 调用者的 局部变量 高 (a) (b) (c) 返回地址 参数2 参数2 …… 参数n 参数n 调用者的 调用者的 局部变量 参数1 参数1 在A中 参数数据 局部数据 返回地址 参数2 参数2 …… 参数n 参数n 调用者的 调用者的 局部变量 被调用的
© Software College , East China Institute of Technology , 2009 HJF
混合编程
变量和函数命名规则(续)
在C和汇编混合编程的时候,存在C语言和汇编语言的变量以及 函数的接口问题。 在C程序中定义的变量,编译为.asm文件后,都被归到.bss区, 变量名前面都带一个下划线。在C程序中定义的函数,编译后 在函数名前也带了一个下划线。例如: extern int num变成 extern float nums[5]变成 extern void func ( )变成 .bss _num, 1 .bss _nums, 5 _func

软件工程第六章软件详细设计PPT课件

软件工程第六章软件详细设计PPT课件
一种类自然语言。结构化语言语法结构包括内外两层。 内部语法则比较灵活,可以使用数据字典中定义过的 词汇、易于理解的一些名词、运算符和关系符;外层 语法具有较固定的格式,设定一组符号如IF、THEN、 ELSE、DO WHILE…ENDWHILE、DO CASE…ENDCASE等,用于描述顺序、选择和重复 的控制结构。
3
6.1详细设计任务
6.1.1 详细设计的基本任务 1.数据结构设计 前面的需求分析、总体设计阶段,确定的 概念性的数据类型,要进行确切的定义。这一 部分的设计内容一般比较多,所以大多数采用 小型数据库辅助的方法。
4
2.物理设计 对数据库进行物理设计,即确定数据库的
物理结构。物理结构主要指数据库的存储记录 格式、存储记录安排和存储方法,这些都依赖 于具体所使用的数据库系统。
要评审。
10
6.1.2 详细设计方法
1.采用自顶向下、逐步求精的程序设计方法 在详细设计中,虽然处于“具体”设计阶段,但
在设计某个复杂的模块内部处理过程时,仍可以采用 逐步求精的方法。可以将其分解为若干个模块来实现, 降低处理细节的复杂度。
11
2.使用三种基本控制结构构造程序 设计时,如果对一个模块处理过程细化中,开始是模 糊的,可以用下面三种方式以模糊过程进行分解:
5
3.算法设计 在总体设计的结构完成后,结构各个环节
的实现是多解的。着就需要用系统设计与分析 的技术来描述。可以用某种图形、表格、语言 等工具将每个模块处理过程的详细算法描述出 来。
6
4.界面设计 用户界面的设计现在显得比较重要,可以
采用字符用户界面设计,图形用户界面和多媒 体人机界面设计。这就要结合具体的系统来处 理。
以上三种逻辑表达工具各有所长和不足,归纳 起来可以得出下列结论:

第六章详细设计

第六章详细设计

软件工程
17
6.2.2设计过程
(1)用户界面设计是一个迭代的过程,也就是说 ,通常先创建设计模型,再用原型实现这个设计 模型,并由用户试用和评估,然后根据用户意见 进行修改。 (2)为了支持上述迭代过程,出现了各种用于界 面设计和原型开发的软件工具。这些工具被称为 用户界面工具箱或用户界面开发系统,它们为简 化窗口、菜单、设备交互、出错信息、命令及交 互环境的许多其他元素的创建,提供了各种例程
软件工程
18
或对象。这些工具所提供的功能,既可以用基于 语言的方式也可以用基于图形的方式来实现。 (3)一旦建立起用户界面的原型,就必须对它进 行评估,以确定其是否满足用户的需求。评估可 以是非正式的,例如,用户即兴发表一些反馈意 见;评估也可以十分正式,例如,运用统计学方 法评价全体终端用户填写的调查表。 (4)用户界面的评估周期如下所述:完成初步设 计之后就创建第一级原型;用户试用并评估该原 型,直接向设计者表述对界面的评价;
软件工程
24
(9)提供对用户工作内容敏感的帮助设施 (10)用简单动词或动词短语作为命令名。过长的 命令名难于识别和记忆,也会占用过多的菜单空 间。 2.信息显示指南 (1)只显示与当前工作内容有关的信息。用户在获 得有关系统的特定功能的信息时,不必看到与之 无关的数据、菜单和图形。 (2)不要用数据淹没用户,应该用便于用户迅速吸 取信息的方式来表示数据。例如,可以用图形或 图表来取代庞大的表格。

软件工程
常见的帮助设施可分为集成的和附加的两类 。 (1)集成的帮助设施从一开始就设计在软件 里面,通常,它对用户工作内容是敏感的, 因此用户可以从与刚刚完成的操作有关的主 题中选择一个请求帮助。 【特点】可以缩短用户获得帮助的时间,增 加界面的友好性。

软件工程课件第六章


根据上面的讨论,需要命名的数据有:
20.09.2020
结构化程序设计的核心内容
2、三种基本结构的共同点是单入口、单出口。
单入口单出口的控制理 解,也容易保证程序的正确性。
20前.0一9.页2020
国家软件开发工程规范的规定
国家软件开发工程规范规定“程序单元必须只有唯一的 入口,唯一的出口”有两个不同的概念:
1972年,IBM公司的Mills进一步提出,程 序应该只有一个入口和一个出口。
20.09.2020
结构化程序设计
结构程序设计是按照一组能提高程序 的可读性和易维护性的规则而进行的程序 设计方法,目的是为了使程序具有一种合 理的结构,以使程序易理解和维护,便于 保证和验证程序的正确性。
20.09.2020
扩展的结构程序设计:还允许使用DO_CASE型多分支结 构和DO_UNTIL型循环结构。
修正的结构程序设计:再允许使用BREAK(LEAVE)结构。
20.09.2020
逐步求精算法实例
空气污染物含量数据的统计处理程序
假定某工厂烟囱附近,在24小时中每分钟测量1次空气中
污染物含量。得到的数据以每100单位中所含污染物成分的值
3、自顶向下的程序验证。
20.09.2020
结构化程序设计的核心内容
二、使用三种基本控制结构来构造程序 1、任何程序都由顺序、选择和重复三种基本控制结构构造。
顺序实现了任何算法规约中的核心处理步骤; 条件允许根据逻辑情况选择处理方式; 重复提供了循环。 这些逻辑元素是结构化程序设计的基础。 根据逐步求精的思想,可用三种方式对模块过程进行分解: ①用顺序方式对过程分解,确定各部分的执行顺序; ②用选择方式对过程分解,确定各部分的执行条件; ③用循环方式对过程分解,确定某个部分进行重复的开始和 结束的条件。 对处理过程仍然模糊的部分反复使用以上分解,直到所有细 节确定下来。

软件工程第6章


(7)对所有输入动作都提供帮助。
(8)消除冗余的输入。
– – – 不要要求用户指定输入数据的单位 尽可能提供默认值 绝对不要要求用户提供程序可以自动获得或计算出来的 信息。
6.3 过程设计的工具
6.3.1 程序流程图
程序流程图至今仍在广泛使用。
6.3.2 盒图(N-S图)
调用 子程序
图6.4 盒图的基本符号
(2) 自然语言的自由语法,描述处理。 (3) 数据说明。
纯量、数组、链表或层次等数据结构。
(4) 模块定义和调用的技术,应该提供各种接口 描述模式。 (5)可以作为注释直接插在源程序中间。
1.数据说明 declare〈数据名〉 as 〈限定词〉 2.子程序结构//function procedure 〈子程序名〉 interface 〈参数表〉 〈分程序或PDL语句〉 return end 〈子程序名〉 3.分程序结构 begin 〈分程序名〉 〈PDL语句〉 end 〈分程序名〉 4.选择 if 〈条件〉 then 〈PDL语句〉 else 〈PDL语句〉 end if
j
a b x1 x2 x5 c x3 x4 d e x8 g h f x6 i x7
end if end// else case xi of x2:loop while condition x5 execute process c end loop x3: execute process d x4: execute process e end case end if end// end loop exceute process j end
j
6.5 程序复杂程度的度量
6.5.1 McCabe方法
1. 流图

第6章 软件工程——结构化软件开发——详细设计编码测试


14
打印A, 例 打印 B, C三数中最小者程序 程序1 三数中最小者程序 程序1 100 110 程序2 程序2 if ( A < B ) and ( A < C ) then 130 write ( A ) 140 else if ( A ≥ B ) and ( B < C ) then write ( B ) else write ( C ) endif endif 120
15
找出100以内的素数 例 找出 以内的素数 从2到100中去掉 到 中去掉2,3,…,9,10的倍数,剩下的就是 的倍数, 中去掉 的倍数 100以内的素数。 以内的素数。 以内的素数 为了解决这个问题,可先按程序功能写出一个框架。 为了解决这个问题,可先按程序功能写出一个框架。
16
main ( ) { /*建立 到100的数组 ],其中 建立2到 的数组 的数组A[ ,其中A[i]=i*/ 建立 = for ( i = 2;i <= 100;i++ ) A[i] = i; ; ; ; /* 建立 到10的素数表 ],其中存放 到 建立2到 的素数表 的素数表B[ ,其中存放2到 10以内的素数 以内的素数*/ 以内的素数 B[1]= 2;B[2]= 3;B[3]= 5;B[4]= 7; ; ; ; ; /*若A[i]=i是B[ ]中任一数的倍数,则剔除 中任一数的倍数, 若 =是 中任一数的倍数 则剔除A[i]*/ for ( j = 1;j <= 4;j++ ) ; ; /*检查 ]所有的数能否被 检查A[ 所有的数能否被 所有的数能否被B[j]整除并将能 检查 整除并将能 被整除的数从A[ ]中剔除 中剔除*/ 被整除的数从A[ ]中剔除*/ for ( i = 2;i <= 100;i++) ; ; ) if ( A[i]/B[j] * B[j] == A[i] ) / A[i] = 0; ; /*输出 ]中所有没有被剔除的数 输出A[ 中所有没有被剔除的数 中所有没有被剔除的数*/ 输出 for ( i = 2; i <= 100;i++) ; ; ) /*若A[i]没有被剔除,则输出之 没有被剔除, 若 没有被剔除 则输出之*/ if ( A[i] != 0 ) printf ( “A[%d]=%d\n”, I,A[i] ); = ; }

软件工程第6章软件设计概论


• 原因是,软件实现代码中包含了太多细节,无法 对其进行有效的评估,确定是否满足用户需求、 是否具备良好的软件质量属性,一旦发现缺陷后 再来修改程序代码的代价太高。
2020/8/20
国防科技大学计算机学院
3
软件设计概论
• 软件设计模型比程序代码更易评估、更易修改。 • 大型软件的需求寻求软件解的过程是一个循序渐 进、不断精化的迭代过程,必须自顶向下、先结 构后细节,必须借鉴前人的软件设计经验,必须 综合比较多种设计方案择优采用。 • 只有设计模型,而非程序代码,才能有效地支持 这一过程。 • 软件设计是需求模型与实现代码之间的“桥梁”, 是达成软件质量目标的关键性阶段。
• 软件设计的制约因素来自资源和技术两个方面。 • 资源制约因素指,在目标软件开发过程中可以获取的时间、人力、
财力、开发辅助工具等。 • 技术制约因素主要是指待开发目标软件系统可以使用的技术平台。 • 如,持久数据存储可以使用数据库管理系统,抑或只能借助文件
系统?又如,远程通信可以使用分布计算中间件(J2EE或.NET), 抑或只能采用更基本的网络通信机制?
201851545人机交互设计针对用例描述的用户与软件系统之间的交互动作设计为实现用例所必需的每一个屏幕窗口对话框或网页屏幕中哪些信息是由软件系统自动提供的哪些是由用户输入的用户在屏幕上可施行哪些动作例如选取菜单项点击按钮等软件系统应如何响应用户的界面动作屏幕之间的跳转关系如何界面元素如何与设计模型中负责业务逻辑处理的设计元素相衔接等
• 支持软件实现的设计模型内容应包括:
• (1)设计模型应该宏观地说明目标软件系统的整体结构, 这种宏观的软件结构在软件工程中称为“体系结构” (architecture,也称“架构”)。
• 它从高层抽象的角度刻画组成目标软件系统的模块以及 它们之间的逻辑关联和协作关系。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档