本文和大家重点讨论一下UML模型的应用问题,以实现大型实时监控应用软件为例向大家介绍UML模型的应用,CTS是监控系统的中心,它主要用来控制测量设备实时跟踪和测量飞行目标,实时处理测量结果,并兼有显示、打印、记录等功能。
1、概述
实时监控应用软件(CTS)开发过去采用的是结构化方法,采用的编程语言也是汇编语言、FortranAda等结构化编程语言。也曾有过分析和设计阶段采用结构化方法,编程实现采用面向对象语言的尝试。
采用面向对象方法(UML)完整的实现监控实时应用软件是首次尝试,收到了较好的成效。UML(统一建模语言)是美国Rational公司创造的面向对象开发中一种通用的、统一的图形化模型语言。它于1997年11月被美国OMG小组批准成为面向对象开发的行业标准语言。UML标准的树立统一了面向对象的建模方法,消除了对象建模差别。Rational公司的旗舰产品之一RationalRose提供了对这一行业标准语言的充分支持。
Rose是一个面向对象的软件分析设计建模工具,可以创建基于UML标准的模型,图形化地对软件系统结构加以描述和定义,并且通过建立的模型直接生成代码框架。同时,还可以从开发者编的应用系统中直接逆向生成模型。下面将就实时监控应用软件的分析设计是如何使用RationalRose来实现的作一简要介绍。
2、UML模型
CTS是监控系统的中心,它主要用来控制测量设备实时跟踪和测量飞行目标,实时处理测量结果,并兼有显示、打印、记录等功能。它和测量设备的关系如图1所示。
实时应用软件通过数据包和测量设备交换信息。软件实时性要求较高,在每个采样周期内,必须完成该周期的数据处理工作,也要有一定的人工干预能力。实时应用软件模型用来描述软件各层次的各个方面,它包括UseCase图、类图、序列图、状态图、分布图和组件图。
2.1UseCase图
UML模型中UseCase也称为用例、使用情况,它是系统分析人员从用户使用的观点来看系统功能、功能之间的关系以及用户与功能之间的关系。它是系统功能以及用户与功能之间的关联,利用UseCase系统分析人员对系统的功能和行为加以描述。CTS的UseCase图如图2所示。CCP为前端通信处理机,Operator为操作员,Interrupt为操作台命令产生的中断。Simulation模拟状态,用于软件调试和操作员训练。Task:实战状态,用于实战任务。Abnomity:异常处理,应急状态。SimpleServer:打印、记盘等服务。CommuniciateProcess:从CCP接收测量设备传来的数据包之后解包,然后按要求将多帧数据重新组织成一帧转发到CCPDataProcess:将CommuniciateProcess接收的数据依据处理要求进行挑点处理,利用CommuniciateProcess解包后的数据计算轨道、平滑外推和预报等。DisplayProcess:将挑点后的数据按指定的要求在不同的显示服务器上以文字、数字或图象形式显示。将DataProcess的处理结果在指定的显示服务器显示。所有UseCase的工作都必须在指定的时间周期内完成。
2.2类图
类图是系统的逻辑结构,是模型的核心部分。它描述了系统中的类及类之间的关系,类图描述系统的静态结构。UML模型中类包是子系统中相关类的集合,包类似于Peter/Coord方法中的主题词(subject)。图3描述了CTS的类包。
UML模型中类包DisplayProcess、DataProcess、CAbnormity和CommunicateProcess是我们自己开发的,是系统的核心,其余的类包是由Microsoft提供的。DisplayProcess类包包含了显示所需要的所有和MFC有关的类,DisplayProcess类包中的类都是从MFC派生的,一般都增加了CTS系统所需要的特性。DisplayProcess类包中的类及类之间的关系如图4所示。
图4DisplayProcess类包中的类及类之间的关系
【编辑推荐】