text: 本文结合统一建模语言UML，提出一种嵌入式系统可视化开发方法，并将其实际运用到了嵌入式远程温度监控系统的开发过程中，验证了该方法的可行性和有效性。
  UML(UnifiedModelingLanguage)是一种定义良好、易于表达、功能强大且普遍适用的面向对象和基于构件的系统建模语言。它扩展了现有方法的应用范围，不仅可建立软件系统的模型，还可建立非软件系统的模型，可广泛用于描述系统软件、嵌入式系统、企业机构或业务过程等。UML由图、视图、模型元素、通用机制和扩展机制等几个部分组成[2]。其中图是UML建模的关键，根据图在系统开发过程中不同阶段的应用，可以分为用例图、静态图、行为图、交互图、实现图等五类，这些图为系统的开发提供了多种图形表达形式，应用于建模的不同阶段。
  文中提出的基于UML的嵌入式系统开发方法支持需求、分析、设计、实现、测试的循环迭代，使用面向对象思想，通过细化分析和设计阶段的步骤，使得整个过程更有条理、充实，更适合于多任务的嵌入式系统开发。方法的需求、分析、设计过程被细化后分别包括了以下几个步骤：
  ·需求阶段明确了系统所要实现的功能以及所要达到的性能，是整个系统开发的目标。
  ·分析阶段主要是精化和结构化需求，清楚地描述系统内部，是设计阶段的基础。分为两个步骤：
  ·设计阶段是在对系统各方面有了解的基础上来确定特定的解决方案。分为两个步骤：
  分层结构设计：确定了具体实现时软件和硬件的最佳分界。
  详细设计：在软件方面是深入到了系统低层信息，如操作的属性、类的流程等;硬件方面则是到了设计具体电路板的阶段。
  本方法利用面向对象的概念将系统分成了相互关联却又较独立的模块，一方面方便了系统开发时的迭代过程以及系统的后期维护，设计人员可以根据不同的新的需要对各个步骤中相应部分进行调整来实现改进，这样就可以大量减少重复分析或设计的过程;另一方面，对象概念可以和嵌入式系统中的任务概念很好的映射起来。任务可看成是由一个或多个对象协作而成的，在分析、设计过程中确立对象的同时也就确定了系统的多个任务，为嵌入式系统的多任务特性提供了很好的支持。
  本文后续部分将以嵌入式远程温度监控系统为例，简单阐述和验证此方法。
  功能性需求是系统功能的陈述。在UML中是应用用例图来描述系统功能的。如图1所示，系统大致由下述几个角色和用例组成:
  五个用例：当前温度信息显示、更改最高警戒温度、更改最低警戒温度、修改测温仪工作状态以及登陆服务器(身份验证)。
  以上的各个用例只是对系统功能的大致划分，主要目的是为后面的系统分析作基础。
  温度测量范围要求0-400℃，显示精度为0.2℃。
  远程监控系统为Internet远端用户提供统一开放的平台，
  远程监控系统每秒自动更新提供给用户的温度信息。
  远程监控系统也为本地用户提供友好的人机交互界面。
  可以看出，这些非功能性需求为确定系统的结构和系统选用的技术等进行了约束。
  在系统分析阶段，通过细化和结构化系统需求，可将系统需求转换成系统中的结构、类、对象和关系等实体元素，并从静态和动态两个角度来清楚描述这些实体元素。
  系统结构分析是对系统元素静态的描述，它在系统需求的基础上确定系统的总体架构及内部对象。
  首先用部署图来描述系统的物理架构，如图2所示，其中带有阴影的为处理器，未带有阴影的是外部设备;系统采用了目前远程监控系统中比较流行的浏览器/服务器模式(B/S)。这样系统的4个功能用例都将主要由嵌入式Web服务器实现。此外，根据非功能性需求中的无线监控约束，在工控现场，运用了蓝牙技术。
  然后用类图来描述系统静态的对象结构及其相互关系。从用例图(图1)中我们可分解出一些类，并将这些类之间的结构描述出来。比如从远端用户的“登录服务器”用例就可分解出嵌入式Web服务器中的网卡、TCP/IP、HTTP类，本地用户的“登录服务器”用例则可分解出嵌入式Web服务器中的键盘、显示器和本地监控等类。依次略推在嵌入式Web服务器中共定义了网卡、TCP/IP、HTTP、蓝牙模块、键盘、显示屏、本地监控、数据处理等类。
  每个类可以设置属性和操作，但我们在这个步骤中并没有定义，而仅仅是对嵌入式Web服务器的对象结构作静态描述，类的属性和操作的定义将随着完整的类图在后文中出现。
  系统行为分析就是从多个角度来描述所研究系统的动态部分。我们可用状态图描述系统的状态行为，然后根据系统内部所具有的行为来定义和精化类的操作，另外也可用顺序图和协作图从不同的角度来显示动态的信息流。
  这里采用嵌入式Web服务器的状态图来简单说明(如图3所示)。根据嵌入式系统的特点，在此处，状态图不但包括嵌套层次结构状态的概念，还可用并发的概念来表示那些可以和其他状态同时处于活动状态的独立状态，图中用虚线表示。
  设计阶段是在对系统各方面都有充分了解的基础上确定特定的解决方案。
  我们在系统的分析阶段，一直使用统一的标识来描述系统，但系统具体实现时还是需要将软、硬件分开实现，所以我们要在系统设计阶段对软硬件层次进行划分。若这次的划分最终不能满足要求，也可以通过迭代在以后的循环中尝试多种方案，直到满足要求。
  在系统结构分析中用类图所作的统一描述涵盖了软件层和硬件层共同组成的系统结构，所有软件层和硬件层都是由类图中提取而来的，但类图中既可由软件实现又可由硬件提供的一部分内容则要根据性能、价格、规格大小等因素来加以选择。如本系统中TCP/IP协议栈的实现，就即可通过软件编程，也可选择购买提供TCP/IP协议栈的网卡芯片，相比较而言，自带TCP/IP协议栈的网卡芯片提供的性能更高、更稳定，但成本也较高，但本系统对网络实现并没有特别高的要求，所以从成本上考虑，还是选择了软件实现TCP/IP协议栈。这样，TCP/IP协议栈也就将在软件层中描述而不在硬件层中出现。
  这里用部署图描述的系统硬件层(如图4)，它将类图中的数据处理对象，即软件层中的操作系统所具有的任务映射到了处理器的各个线程，并且还设置了每个线程的优先级。而蓝牙模块所带的操作：蓝牙底层协议，表示蓝牙底层协议是由蓝牙模块硬件实现的。系统的软件层也可以通过组件图来描述。
  详细设计是一次循环中需求、分析、设计的最后一步，指定了细节问题，明确了单个对象的范围、内数据结构和算法的实现等。
  先前已对类的属性和操作作了定义，而在详细设计中，为了编写代码，必须对每个类中定义的操作的各个属性(包括它的类型和初始值等)填补完整。因为此时的类图是为软件编程准备的，所以应根据体系结构设计过程中组件图的内容重新进行整理，保留并细化由软件实现的所有类。完整的类图如图5所示。
  依照这些类的行为流程图，在编程阶段就可以容易的实现代码，并且由于有了统一的设计决策，即使是由不同的编程人员编写，最后的代码体现出的思路都是大同小异的，也方便非开发人员了解和维护系统。
  通过对UML语言的分析，文中提出了一种基于UML的嵌入式系统可视化开发方法，并实际应用到嵌入式远程温度监控系统的开发过程中。此方法面向对象，步骤清晰流畅，并全部由UML的统一标准符号加以描述，有效的提高了系统的开发效率，也有利于系统以后的维护和升级。
  在基于构件的软件工程思想指导下，介绍了面向特定领域的软件开发过程，对基于特征的领域分析方法中结合面向对象和构件化的思想进行了探讨，提出了基于构件的领域需求分析方法，提高了软件复用的层次，并将此方法应用于基金管理领域的需求分析中。
  架构设计有三个维度，或者说是我们在考虑架构时需要思考三个方向。这三个维度分别为面向对象、面向方面、面向服务。这三个维度可以看作是正交的，但不同维度会互相印证，互相支撑。
  主流工业以太网的五大技术，你了解多少？
  智能马路，究竟能带来什么？