UML 在嵌入式系统设计中的应用
GPS终端设计中的应用
2.1车载GPS终端系统简介
车载GPS终端是置于机动车内的实时定位装置,如图1所示。它的应用对象是需要定位、调度的车队,例如:运输车队和出租车等。车辆可以通过终端和GPS卫星进行实时、准确的定位,并通过无线通讯网络上报远程的中心系统。中心可以通过终端远程监视车行轨迹,甚至在特殊情况下通过终端控制车辆。同时,终端还可以起到车载电话的作用,并可在车辆遇险时进行报警。另外,通过终端车辆还可以接收少量的调度信息。
2.2需求分析
在对系统进行需求分析时,可以使用UseCase图进行功能上的需求分析。UseCase图分角色(Actor)和案例(Case)两部分。角色是与系统交互的人或物,而案例是系统提供的功能块。使用UseCase观察系统能够将系统实现与系统目标分开,有助于开发人员了解最重要的部分,满足用户需求,而不会沉浸于实现细节。
对于车载GPS终端,主要的角色有两种:车载终端用户和监控中心用户。终端用户可以报警,打车载电话等;而监控中心可以查询车辆位置,发送调度信息。其UseCase框图如图2所示。
2.3规格说明
规格说明比需求分析更详细,通过UML设计可以使规格说明更直观、更清晰。首先,使用Class框图描述系统处理的数据结构。例如在车载GPS终端的规格说明设计时可以使用Class框图描述需要接收的GPS卫星信号,如图3所示。
第二,在规格说明阶段,还需要识别出系统的对象。首先以功能块划分,广泛地找出系统的主要对象;然后使用Collaboration框图描述它们之间的关系。图4描述了车载GPS终端的主要对象,根据框图可以进行进一步的细化。
最后,在规格说明阶段进行系统的业务描述。即规范系统完成一定功能的主要流程。这可以利用Activity框图进行。图5显示了GPS数据到达时,车载GPS终端系统所进行的处理流程。
2.4系统设计
规格说明完成后,需要对系统的各个模块及模块之间的关系仔细地分析,从而确定哪些部分使用硬件完成,哪些部分使用软件实现。在本例中,需要硬件实现的模块有:GPS接收模块、电源模块、用户控制模块、LCD显示模块和GSM通讯模块。所有的控制逻辑和数据计算全部由主控制器的软件实现。
随后,系统设计分为两个分支:硬件设计及软件设计。使用UML的Collaboration图和Component图对系统的硬、软件分别进行系统设计。图6用Component框图描述了车载GPS终端系统的软件系统架构。
2.5构件设计
接下来对每一个系统构件进行详细的设计。对于某些大型工程,甚至需要把每一个构件作为一个项目,重新以需求分析、规格说明开始展开构件设计循环。在构件设计中,除了可以使用前文介绍过的各种UML框图外,通常还需要使用StateChart、Sequence这两种框图描述具体的系统流程细节。
在本例中,GSM模块共有四个状态:待命、有问题、通话中、短消息通讯中。使用StateChart框图描述它们之间的转换关系,如图7所示。
Sequence框图显示了一个特定对象进行特定操作时所遇到的流程。图8显示了车载终端用户甲在遇到危险按下报警按钮后系统的处理过程。
2.6集成测试和部署
在集成测试时,可以联合使用所有的UML框图认真分析每个构件的原理,针对每一个系统功能、每一个可能发生错误的过程写出相应的测试程序,进行完整而可靠的程序测试。
利用UML和系统的设计方法可以使传统的嵌入式系统设计告别“手工作坊”的开发方式,大大提高嵌入式系统的开发速度和产品质量,增强设计的可复用性。
但是UML是图形化描述语言,比较适用于面向对象的程序设计;对于精确的规格设计或非面向对象的语言设计来说就不尽如人意了。在具体应用中,灵活应用注释功能,把框图对应模块所需的具体规格要求以注释的形式写在框图中,充分利用StateChart和Sequence这些框图来完成面向过程部分的设计。
《UML 在嵌入式系统设计中的应用(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/172462.html
2.1车载GPS终端系统简介
车载GPS终端是置于机动车内的实时定位装置,如图1所示。它的应用对象是需要定位、调度的车队,例如:运输车队和出租车等。车辆可以通过终端和GPS卫星进行实时、准确的定位,并通过无线通讯网络上报远程的中心系统。中心可以通过终端远程监视车行轨迹,甚至在特殊情况下通过终端控制车辆。同时,终端还可以起到车载电话的作用,并可在车辆遇险时进行报警。另外,通过终端车辆还可以接收少量的调度信息。
2.2需求分析
在对系统进行需求分析时,可以使用UseCase图进行功能上的需求分析。UseCase图分角色(Actor)和案例(Case)两部分。角色是与系统交互的人或物,而案例是系统提供的功能块。使用UseCase观察系统能够将系统实现与系统目标分开,有助于开发人员了解最重要的部分,满足用户需求,而不会沉浸于实现细节。
对于车载GPS终端,主要的角色有两种:车载终端用户和监控中心用户。终端用户可以报警,打车载电话等;而监控中心可以查询车辆位置,发送调度信息。其UseCase框图如图2所示。
2.3规格说明
规格说明比需求分析更详细,通过UML设计可以使规格说明更直观、更清晰。首先,使用Class框图描述系统处理的数据结构。例如在车载GPS终端的规格说明设计时可以使用Class框图描述需要接收的GPS卫星信号,如图3所示。
第二,在规格说明阶段,还需要识别出系统的对象。首先以功能块划分,广泛地找出系统的主要对象;然后使用Collaboration框图描述它们之间的关系。图4描述了车载GPS终端的主要对象,根据框图可以进行进一步的细化。
最后,在规格说明阶段进行系统的业务描述。即规范系统完成一定功能的主要流程。这可以利用Activity框图进行。图5显示了GPS数据到达时,车载GPS终端系统所进行的处理流程。
2.4系统设计
规格说明完成后,需要对系统的各个模块及模块之间的关系仔细地分析,从而确定哪些部分使用硬件完成,哪些部分使用软件实现。在本例中,需要硬件实现的模块有:GPS接收模块、电源模块、用户控制模块、LCD显示模块和GSM通讯模块。所有的控制逻辑和数据计算全部由主控制器的软件实现。
随后,系统设计分为两个分支:硬件设计及软件设计。使用UML的Collaboration图和Component图对系统的硬、软件分别进行系统设计。图6用Component框图描述了车载GPS终端系统的软件系统架构。
2.5构件设计
接下来对每一个系统构件进行详细的设计。对于某些大型工程,甚至需要把每一个构件作为一个项目,重新以需求分析、规格说明开始展开构件设计循环。在构件设计中,除了可以使用前文介绍过的各种UML框图外,通常还需要使用StateChart、Sequence这两种框图描述具体的系统流程细节。
在本例中,GSM模块共有四个状态:待命、有问题、通话中、短消息通讯中。使用StateChart框图描述它们之间的转换关系,如图7所示。
Sequence框图显示了一个特定对象进行特定操作时所遇到的流程。图8显示了车载终端用户甲在遇到危险按下报警按钮后系统的处理过程。
2.6集成测试和部署
在集成测试时,可以联合使用所有的UML框图认真分析每个构件的原理,针对每一个系统功能、每一个可能发生错误的过程写出相应的测试程序,进行完整而可靠的程序测试。
利用UML和系统的设计方法可以使传统的嵌入式系统设计告别“手工作坊”的开发方式,大大提高嵌入式系统的开发速度和产品质量,增强设计的可复用性。
但是UML是图形化描述语言,比较适用于面向对象的程序设计;对于精确的规格设计或非面向对象的语言设计来说就不尽如人意了。在具体应用中,灵活应用注释功能,把框图对应模块所需的具体规格要求以注释的形式写在框图中,充分利用StateChart和Sequence这些框图来完成面向过程部分的设计。
《UML 在嵌入式系统设计中的应用(第2页)》