仕乐克电磁流量计嵌入式系统的软件设计:
4.2.1嵌入式软件的组成
(1)嵌入式作业管理系统
它是嵌入式设备的主控程序,用各种功能模块和系统资源来完成一个一定的功能。
(2)用户界面处理系统
用户界面处理系统主要是指和人打交道的模块,比如掌上电脑上的液晶触摸屏、写字笔、数字键、字母键、特殊功能键、音响、麦克风、发光二***管、电视遥控器、随身听的线控单元和游戏操纵杆等。正是有了用户界面模块,人们才可以对嵌入式系统进行控制。
(3)数据处理系统
它主要对收集到的数据进行处理,涉及各种算法、数据处理,系统常常是比较高复杂的。
(4)设备控制系统
设备控制主要是对各种专用设备进行控制,比如对各种机械部件、光学部件或***电器部件进行控制。
(5)通讯处理系统
通讯处理系统主要负责将两个或更多个设备连接起来,让它们之间可以交换数据。通讯方式的种类很多,常见的有U一、P1284、P1384、BlueTooth、802.1】、LAN、IrDa和UART等。
(6)嵌入式操作系统
嵌入式操作系统种类繁多,为各种硬件环境及应用提供了相应的支持和服务。目前市场上共有几十种操作系统,有深嵌入系统,也有浅嵌入系统;有多任务系统,也有单任务系统;有实时系统,也有分时系统。总之,不同厂商推出的操作系统或多或少都有差异,但许多嵌入式操作系统一般具有如下内容和功能, 如系统核心、窗口图形系统、文件系统、设备驱动程序和网络协议等。
4.2.2软件开发的方法
为了***有效地开发和维护软件,软件工作***在20世纪60年代后期开始艮真研究消除“软件危机”的途径,从而形成了一门新型的工程学科~计算机软件工程学(通常简称为软件工程)166]。
软件工程即采用工程的概念、原理、技术和方法来开发和维护软件,把经过时问考验而证明正确的管理技术和当前能够得到的***的技术方法结合起来,以经济的方式开发出质量的软件并有效地维护它。软件工程代表性的有结构化方法(包括面向数据流的开发方法、面向数据的开发方法等)、面向对象的开发方法、形式化开发方法、维也纳开发方法(VDM,ViennaDevelopmentMethod)、适于实时事务处理系统的有限状态机方法(FSMM,Finite State Machine Method)、适于并发软件系统的Petri网方法等等。目前使用广泛软件工程分别是传统方学法和面向对象方法学。
(1)传统方法学
传统方法学也称为生命周期方法学或结构化范型。它采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。这种方法学把软件生命周期的全过程依次划分为若干个高段,然后按顺序完成每个高段的任务。采用这种方法学开发软件的时候,从对问题的抽象逻辑分析开始,一个高段一个高段地进行开发。前一个高段任务的完成是开始进行后一个高段工作的前提和基础,而后一个高段任务的完成通常是使前***高段提出的解法***进一步具体化,加进更多的实现细节。这使软件开发工程的全过程以一种有条不紊的方式进行,保证软件质量, 特别是提高了软件的可维护性。总之,采用生命周期方法学可以大大提高软件开发的成功率,软件开发的生产率也能明显提高。
(2)面向对象方法学
结构化范型只能获得有限成功的一个重要原因是,这种技术要么面向行为(即对数据的操作),要么面向数据。而在软件系统中,数据和对数据的处理原本是密切相关的,把数据和操作人为地分离成两个***立地部分,自然会增加软件开发与维护的难度。面向对象方法则是把数据和行为看成同等重要,它是一种以数据为主线,把数据和对数据的操作紧密地结合起来的方法。面向对象方法学的出发点和基本原则,是尽量模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近接近人类认识***解决问题的方法和过程,从而使描述问题的问题空间(也称问题域)与实现解法的解空间(也称求解域)在结构上尽可能***一致。正确地运用面向对象方法学开发软件,则最终的软件产品由许多较高小、基本***立的对象组成,每个对象相当于一个微型程序。而且大多数对象与现实***中的实体相对应,降低软件产品复杂性、提高软件可理解性、简化软件开发和维护工作, 而且容易在以后软件产品中重复使用。
4.2.3软件生命周期模型
软件生命周期模型用于简洁地描述软件过程。可以分为以下几种:
(1)瀑布模型
瀑布模型是由W.W.Royce在1970年***初提出的软件开发模型,在瀑布模型中,开发被认为是按照需求分析、设计、实现、测试(确认)、集成和维护坚定地顺畅地进行。
(2)快速原型模型
原型模型(prototyping model)的基本框架是软件开发人员根据用户提出的软件基本需求快速开发一个原型,以便向用户展示软件系统应有的部分或全部功能和性能,在征求用户对原型的评价意见后,进一步使需求化、完全化,并据此改进、完善原型,如此迭代,直到软件开发人员和用户都确认软件系统的需求并达成一致的理解为止。软件需求确定后,便可进行设计、编码、测试等以后的各个开发步骤。
(3)螺旋模型
螺旋模型(spiral model)是B.Boehrn于1988年提出的。它综合了瀑布模型和原型模型的优点,即将两***结合,并加入了风险分析机制。螺旋模型的每一个周期都包括计划(需求定义)、风险分析、工程实现和评审4个高段。
(4)喷泉模型
喷泉模型是近几年提出来的软件生存周期模型。它是以面向对象的软件开发方法为基础,以用户需求为动力,以对象来驱动软件的模型。模型是对象驱动的, 对象是各高段活动的主体,也是项目管理的基本内容。该模型很自然地支持软部件的重用。
(5)变换模型
变换模型(transformational model)主要用于软件的形式化开发方法。在软件需求分析确定以后,便用形式化的规格说明语言将其描述为“形式化软件规格说明”,然后对其进行*全系列自动或半自动的变换,最终得到软件系统的目标程序。
(6)基于知识的智能模型
它可综合几个模型的特点,并与支持分析、设计、测试、维护等的应用领域的基于规则的*全系统相结合,构成了应用领域的开发系统。