上位机软件设计的一些总结

很多时候,我们需要把硬件设备测量的数据输入计算机,以能够有一个更好的数据表示和一个更好的人机界面,比如说对于一个测井系统,井下测量设备通过各种各样的传感器测得地下的各种信号,通过电缆传输给地面的测量装置。地面测量装置的功能主要是对传感器测来的各种信号进行转换,比如对模拟信号进行采样、对脉冲信号进行计数等。但地面测量装置对数据的表现往往有很大的局限性,比如只能在很小的液晶品上显示实时的曲线,事后无法进行回放分析等。这些时候,往往借助价格相对低廉的PC来更丰富、更直观的表达数据! 这类系统的需求往往是固定的,但系统开发出来后的维护,和大多数的软件一样,如果设计编码做的不好,维护起来也不是一件令人开心的事情,对于未从事开发的维护人员更是如此!以下根据个人的经验总结一些在设计开发过程中的一些原则! 1、设计 此类系统往往分为数据输入/输出和转换(从下位机取得数据、设置下位机运行状态、原始值和工程值之间的转换)、数据处理(往往和行业有关的转换)、数据表示(为了让专业人员或操作工更直观的对系统状态进行判断)。 设计时可以将这三部分独立开来,通过参数定义交互的方式。三个部分的设计和编码可以独立开来,只要遵从事先约定的数据交换协议即可。这样做可以使开发过程分阶段或在不同的组员之间进行分工而不互相依赖,可以方便的编写测试而不等待其他模块提供数据。比如对于数据输入/输出模块,它只需保证能正确的和下位机交换数据并转化为事先约定的格式即可;对于中间数据处理模块,它只负责对于这对于事先约定的数据格式进行正确的处理即可,这部分往往和行业背景有关、所用的软件只涉及语言本身而没有其他复杂的软件方法,很多行业相关的人员往往足以担任;数据表现部分,往往包含数据的存取、绘图、打印等操作,它只依赖于事先定一的数据格式,并不依赖于其他两部分(当然这只是对于开发而言、系统运行时当然依赖于前两者提供的数据)。 2、数据的定义 数据是整个软件工作的基础,一切的软件活动都是围绕数据而展开,因此定义数据时一定要不厌其烦对其进行说明,对它们代表的实际意义、将对其进行何种处理、确定的以及能够预料到的说明均应当进行记录。 3、对于方法 最起码的,要说明该方法操作何种数据、函数功能是什么。 4、对于此类软件,不可避免的要使用一些全局的变量,可以借用组态软件中有关数据字典的概念,对这些全局变量进行统一管理,对其何处初始化、何处修改等尽量进行说明! 5、牢记两点:以后要维护;封装。 6、建议在每个文件创建时进行规范,注明该模块创建人、时间、模块功能等,对于版权信息,那是项目以外的问题,虽个人情况决定!

    推荐阅读