然后用类图来描述系统静态的对象结构及其相互关系。从用例图(图1)中我们可分解出一些类,并将这些类之间的结构描述出来。比如从远端用户的“登录服务器”用例就可分解出嵌入式Web服务器中的网卡、TCP/IP、HTTP类,本地用户的“登录服务器”用例则可分解出嵌入式Web服务器中的键盘、显示器和本地监控等类。依次略推在嵌入式Web服务器中共定义了网卡、TCP/IP、HTTP、蓝牙模块、键盘、显示屏、本地监控、数据处理等类。
每个类可以设置属性和操作,但我们在这个步骤中并没有定义,而仅仅是对嵌入式Web服务器的
对象结构作静态描述,类的属性和操作的定义将随着完整的类图在后文中出现。
4.2系统行为分析
系统行为分析就是从多个角度来描述所研究系统的动态部分。我们可用状态图描述系统的状态行为,然后根据系统内部所具有的行为来定义和精化类的操作,另外也可用顺序图和协作图从不同的角度来显示动态的信息流。
这里采用嵌入式Web服务器的状态图来简单说明(如图3所示)。根据嵌入式系统的特点,在此处,状态图不但包括嵌套层次结构状态的概念,还可用并发的概念来表示那些可以和其他状态同时处于活动状态的独立状态,图中用虚线表示。
![]() 图3 嵌入式Web服务器状态图 |
5 系统设计
设计阶段是在对系统各方面都有充分了解的基础上确定特定的解决方案。
5.1层次结构设计
我们在系统的分析阶段,一直使用统一的标识来描述系统,但系统具体实现时还是需要将软、硬件分开实现,所以我们要在系统设计阶段对软硬件层次进行划分。若这次的划分最终不能满足要求,也可以通过迭代在以后的循环中尝试多种方案,直到满足要求。
在系统结构分析中用类图所作的统一描述涵盖了软件层和硬件层共同组成的系统结构,所有软件层和硬件层都是由类图中提取而来的,但类图中既可由软件实现又可由硬件提供的一部分内容则要根据性能、价格、规格大小等因素来加以选择。如本系统中TCP/IP协议栈的实现,就即可通过软件编程,也可选择购买提供TCP/IP协议栈的网卡芯片,相比较而言,自带TCP/IP协议栈的网卡芯片提供的性能更高、更稳定,但成本也较高,但本系统对网络实现并没有特别高的要求,所以从成本上考虑,还是选择了软件实现TCP/IP协议栈。这样,TCP/IP协议栈也就将在软件层中描述而不在硬件层中出现。
![]() 图4 部署图 |
5.2详细设计
详细设计是一次循环中需求、分析、设计的最后一步,指定了细节问题,明确了单个对象的范围、内数据结构和算法的实现等。
先前已对类的属性和操作作了定义,而在详细设计中,为了编写代码,必须对每个类中定义的操作的各个属性(包括它的类型和初始值等)填补完整。因为此时的类图是为软件编程准备的,所以应根据体系结构设计过程中组件图的内容重新进行整理,保留并细化由软件实现的所有类。完整的类图如图5所示。
![]() 图5 细化类图 |
依照这些类的行为流程图,在编程阶段就可以容易的实现代码,并且由于有了统一的设计决策,
即使是由不同的编程人员编写,最后的代码体现出的思路都是大同小异的,也方便非开发人员了解
和维护系统。
6 结束语
通过对UML语言的分析,文中提出了一种基于UML的嵌入式系统可视化开发方法,并实际应用到嵌入式远程温度监控系统的开发过程中。此方法面向对象,步骤清晰流畅,并全部由UML的统一标准符号加以描述,有效的提高了系统的开发效率,也有利于系统以后的维护和升级。
参考文献
[1] Bruce Powel Douglass 著.《实时UML——开发嵌入式系统高效对象(第2版)》.中国电力出版社,2003年12月
[2] Wendy Boggs, Michael Boggs著,邱仲潘 等译.UML与Rational Rose 2002从入门到精通. 2002年7月,电子工业出版社,北京
[3] 唐英,李志蜀.使用UML分析设计嵌入式系统.计算机应用研究,2002年,5,p117-p120


