第2节 软件开发规范
推荐给好友
打印
加入收藏
更新于2008-05-14 11:39:40

 LabVIEW 是用于包括测试问题在内的解决多种问题的编程语言。 解决问题的技巧在运用LabVIEW 创建解决方案的过程中至关重要。
计算机程序员用软件编程时,遵循软件开发规范解决实际问题。
遵循一定规范开发代码可以帮助程序员更好地解决既定问题,而毫无计划地编写代码很可能无法解决问题。
良好的规范还可以提高代码的可读性、可扩展性和可修改性。

 软件开发规范是一种策略
 
遵循特定步骤编写代码可以使问题变得简单,因为这些都是软件工程师在多年的实践过程中的经验总结。
软件开发规范是用LabVIEW 设计软件解决方案时采用的一种策略。 可以通过软件开发规范为实际测试系统创建一个解决方案。
 
软件开发规范步骤
 
1. 定义问题(问题描述)。
2. 设计算法或流程图。
3. 通过编程实现设计。
4. 测试和验证该程序。
5. 维护和更新该程序。

一、问题描述
 
在问题描述阶段,必须确定要解决的核心问题。这一阶段中,要把注意力集中在必须解决的核心问题上,忽略考虑一些支节问题。 开始阶段对问题进行准确定义,可以节约设计和实现解决方案的时间。
熔炉案例-要用熔炉加工一种钢材,并且在一定的时间TIME内熔炉必须保持在特定的温度TEMP,才成功地加工。对于这个系统,必须知道TIME和TEMP以及调整熔炉温度的方法。材料的类型和加工的具体时刻可以忽略。
 
二、系统设计
 
在确定了问题的范围之后,接着就要分析问题并设计出一个解决方案。
分析问题包括确定软件的输入、输出,以及所有必需的附加条件。
在确定了输入和输出之后,要实现一个软件解决方案还需设计相应的算法、流程图或状态转移图。
 
确定输入和输出
 
输入是指在解决问题的过程中要处理的原始数据。
熔炉案例-熔炉软件的输入是TIME(秒)、 TEMP (开尔文)和熔炉温度T (开尔文)。
输出包括最终的计算结果、处理结果或者解决问题的过程中所需施加的控制条件。
熔炉案例-熔炉软件的输出是一个给熔炉线圈提供电压的开关。 通过改变这个开关的状态(开启或关闭),可以控制是否给熔炉线圈提供电压。 当熔炉线圈加上电压或者取消电压时,熔炉的温度会立刻发生变化。
 
确定必需的附加条件
 
考虑是否还有其它因素影响问题的解决。 例如,是否需要指定计量单位(如厘米或)?
熔炉案例-假设只有当熔炉的内部温度等于外部温度时熔炉才可以开始工作,
那么这就是本案例必需的附加条件。
 
设计算法
 
算法是处理输入和产生输出的一系列的步骤。
熔炉案例-下面这个算法描述了熔炉的操作过程:
1. 读取熔炉外部温度和熔炉内部温度。
2.如果熔炉内部温度不等于外部温度,则跳至步骤1。
3.读取熔炉内部温度。
4.如果熔炉内部温度大于加工必需温度,则关闭开关,停止给熔炉线圈提供电压。
5.如果熔炉当前的内部温度小于或等于加工必需温度,则打开开关,给熔炉线圈加上电压。
6.如果当前加工时间小于加工必需时间,则跳至步骤3。
7. 停止给熔炉线圈提供电压。

设计流程图
 
流程图显示了解决问题的各个步骤。 流程图非常有用,因为它可以直观地表示出算法复杂的进程。 例如,当算法的某一步和最终结果之间有两条路径可以选择时,您就可以从流程图上直观地看出,从而按照自己的需要选择相应的路径。

 设计状态转移图
 
状态转移图是创建LabVIEW 状态机时常用的一种特殊类型的流程图。 状态转移图可以清楚地显示出一个程序共有多少种状态,以及在怎样的情况下程序会从一个状态切换至另一个状态。 在状态转移图中,状态用一个标有该状态名称的圆圈表示,转移用一个标有转移条件的箭头表示。
程序处于某个状态,是指程序满足某个条件、执行某个操作,或者等待事件发生。 转移是指某个条件、操作或者事件的发生使得程序从一个状态切换至下一个状态。
程序的开始用实心圆   表示。
程序的结束用靶形圆   表示。


三、系统的实现

在实现阶段,要依据前面设计好的算法或流程图创建相应的代码。 用文本语言编写代码的过程,就是将算法用代码表达的过程。 由于LabVIEW 是一种图形化编程语言,可以按照流程图设计程序。

四、系统的测试

测试和验证是软件开发规范中的重要一环。 测试程序时要确保测试数据中既有合理的数据也有不合理的数据。 合理的数据用于检测程序的输入是否可以产生。
期望的输出。 不合理的数据用于检测程序的错误处理机制是否有效。
熔炉案例-如需检测熔炉案例的错误处理机制是否有效,可以给熔炉温度输入一个小于环境温度的值。 一个有效的错误处理机制会提醒用户只能提高熔炉的温度,而不能降低熔炉的温度。

五、系统的维护

维护是在完成解决方案后一直要做的事情。维护包括修正程序中的错误、增加并行结构,从而改进解决方案。
熔炉案例-假设在代码完成后,客户希望在熔炉的其它位置添加温度传感器,用于增强该系统的可靠性。 那么,如果在最初进行设计程序时考虑到了程序的可扩展性问题,将更易于为程序增加功能。

 

<<上一节    下一节>>

相关链接


 
关于我们 | 诚邀加盟 | 客户服务 | 相关法律 | 网站地图 | 友情链接 | 服务信箱:service@eefocus.com
© 2006 与非门科技信息咨询(北京)有限公司 All Rights Reserved.