
为应对软件开发中的低水平重复建设问题,提出了平台化设计思想。每个公司开发的产品和人员素养都不相同,我们需要根据自身的实际情况来定制属于自己的平台,但有一些理念可以参考。
1.实事求是
好的平台是什么样的呢?不要被广为流传的高大上的名词所迷惑,如分层、鲁棒、可扩展等等,也不要被一些玄而又玄的概念吓倒。我们之所以要做一个平台,是解决问题的——开发提速、便于维护。只要有利于这个目的的平台就是我们所想要的平台。
2.分层设计
对于一般的嵌入式系统,我们可将软件分为四层:硬件抽象层、基础平台层、专用平台层和应用层。硬件抽象层可以理解为硬件驱动或虚拟硬件(用于调试)。基础平台层是提取出来的公用的函数和算法。专用平台层将硬件接口数据转化为应用所需的各类抽象数据类型,如遥控、遥测数据等。层之间约定如下:
各层之间仅允许通过API接口访问;
仅允许上层调用下层,下层多采取架构设计思想。
在利用这个平台开发新产品时,需要调整的为硬件抽象层和专用平台层。
3.有序可纠错
软件研发时如果没有时间思考,如同缺乏灵魂。抓住有序与可纠错,高质量软件就成功了一半。有序包括研发流程的有序,编码的有序,测试的有序......可纠错指出错时,有可分析信息,有肢解分析的工具支撑。
平台开发是个任重道远的事情,但如果能够借鉴其理念,将其应用到现有的软件开发中,也会带来很大裨益。