中大型 LABVIEW 软件三层设计架构
通常一个 若包含三、四十个以上的 不包含 本身在
中提供的 时,就可算是一个中大型的软件计划了。虽然比
起软件工程中的一些作业环境软件如 系列或大型应用软件如
、等仍算是小工程,但其复杂性亦在一定程度之上,若没有事先想好
在撰写程序时的一些规划与方法,想要完成这类中大型的软件绝对不是一件简单的
事。尤其这类软件通常不是由一个人,而是由一个团队所共同完成的,因此整个软
件的结构,就要能让团队中的每一成员都能清楚的了解,而且要够简单,才算是好
的软件结构。以下将参考由 等人所着”
!""!#$%&,中之第 ' 章的部分内容,介绍所谓软件计划中的三
层式结构$#$(#)的概念及其优点。ˆ
需要软件结构的主要原因,是当软件人员发展软件到某一阶段时,若没有计划或
无意的创造了许多 ,但各 之间有许多部分其实是重复撰写的;或各
相互间呼叫时没有一定的纪律,使得在 *$+ 中所看到的各 间的联机
是错综复杂,像个盘丝洞一般,这将可能会使多人发展的软件计划增加所耗费的时
间和可能出错的机会、减低程序的效率,以及增加 !!! 时的困难。为了改
善上述的情形,所以要提倡三层式结构的概念。
三层式结构由上而下依次为:, 、# 和 - ,这种
结构是由经验中得来的,在多人发展的软件计划中显得简单明了,当大家都能遵照
这个结构来写程序时,这种结构就可以充分显现出它的优点。那这三个阶层到底如
何区别呢?以通俗的比喻来说,假设我们如果要组织一个篮球队参加全国比赛,每
个球员要练习基本动作及体能,如何跑、如何跳、手脚该如何放置才是正确位置等,
这就相当于系统中 - 所做的事情;接下来,将各球员组合练习某一套
防守或进攻的战术,如二三区域联防、人盯人防守,每个人该在什么位置才能正确
接应等,则像是 # 中一项项的 了;而最后比赛时,场上的战略运用,
包括何时要用什么战术组合、如何更换球员、何时喊暂停、终场前是不是要故意犯
规或采拖延战术等等,对照过来,就像是在 , 中,如何将 #
中各 做最有效能的整合与排列组合等的工作。
简单来说,- 包含了程序与所有仪器、组件、马达或其它应用软件
的沟通、控制等较低阶的事情,使其可完成某一项基本的动作,例如初始化、马达
走到 $" 位置、雷射以设定的能量及频率发射光束‧‧‧等。可注意到我们在这边所
说的 ,并不像一般在别处所称驱动程序的那种 那么低阶,真正最低
阶的工作还是要有现成的 来帮忙才行;在 # 中,则是如何连接各个
- 的基本动作,使可做完出一套连续、有意义的流程,来执行某项测试,
例如让手臂由 点走到 点,下降夹取一个螺丝,再走至 . 点装到某面板上,然
后回到 点等待,类似这样控制一个流程的进行,便是 # 的工作内容;
, 则包含了使用者接口/或称人机接口,(,$
,目的是整合各项测试和例外处理*!等,将它们
以适当的顺序及流程组合,很容易地让使用者操作。
当一个软件计划严格的遵照上述的三层结构来撰写时,最大的优点是可使程序
代码的再使用达到最大化,在不同的 # 中,可重复使用相同