• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

基于UML的城轨列车超速防护系统建模

发布: 2009-11-06 10:56 | 作者: 不详 | 来源: 领测软件测试网采编 | 查看: 42次 | 进入软件测试论坛讨论

领测软件测试网

2.3.3 状态图分析

  UML编程过程是在状态图中定义的,由于状态图的表达性和可伸缩性都很好,UML用它们作为正式的FSM(有限状态机)表示。有限状态机是由已存在的条件(称为“状态”)的有限集定义的机器,同样也是状态间因事物触发的状态转移有限集。本案例的行为是通过各个类的状态和转换关系进行定义的,为了使状态图不趋于复杂化,并方便以后的更精确化,我们将各个类分配状态图。在这里,我们将主要类———ProtectSpeed(防护速度类)进行讨论(见图4),包括CompareSpeed(防护区段内列车速度控制在允许速度之下)、GetdownActualSpeed(保证列车在区段出口时速度降低到目标速度)、RefreshActualSpeed(不断得到列车实际运行速度)。

  

  比如,在RefreshActualSpeed(刷新实际速度)中需要获得处理好的数字速度,在该状态中加入Actual-Speed=SignalConditionerIn->GetActualSpeed(),这样就可以从SignalConditionIn(信号输入)中得到最大列车实际运行速度。

  在CompareSpeed(速度比较)中对得到的实际速度和最大允许速度比较,若超出规则进入制动状态,状态图进入BrakeController(制动控制)的状态图中。

  2.4 代码生成及系统级调试

  当以上设计完成时,我们能够产生代码并测试系统模型。我们需要用Component组件来告诉Rhapsody产生什么样的环境。通常我们使用的是Microsoft环境(Windows操作系统和VisualC++编译器),这样Rhapsody可以产生VisualC++6.0和基于VxWorks的C++程序。

  Rhapsody通过动态化状态图和顺序图促进了建模级的调试。用户可以在一个“面向对象”尺度上(操作调用,单个事件处理,整个事件队列)单步调试应用,并可以观察状态图的影响(如活动图的变化)。Rhapsody提供了3种不同层次的动画控制指令(在conf iguration中进行设置添加)。第1种是none,即要生成的是可发布的代码;第2种是tracing,它能够随着执行过程在主机的标准输出设备上显示文本的执行跟踪信息,第3个层次是anmiation(图形动画),以动画形式进行演示。

  Rhapsody代码在目标机上运行的同时,运行情况动态反馈到设计模型中来,例如基于状态图的断点设置、在顺序图上捕捉不同对象之间的消息映射等。在进行设计级调试的同时,与代码级调试工具联合调试。Rhapsody通过模型级/代码级联合调试、验证,能够直观地尽早发现系统的设计错误或缺陷,从而较早地确定或降低项目风险。

  另外,Rhapsody可以生成高质量的中文文档,可以生成软件应用所需的框架结构、运行库、编译文件、通讯方式、实施策略等。而且模型和代码的一致性更保证了文档和代码的一致性,为我们顺利地完成开发、后期经验的累积提供了很好的平台。可以通过定制模板,生成适合具体工作要求的文档。

  3 结论

  通过对北京地铁1号线的UML建模,可以缩短车载设备软件的开发周期。本文针对北京地铁1号线的LCF-100DT型车载设备进行UML建模,利用了Rhapsody这个基于UML语言的开发环境,UML的状态机模型与车载设备极好地对应,且便于借助CASE工具实现代码自动生成,能够极大地提高车载设备软件的开发效率和项目可管理性。Rhapsody采用基于模型的开发方式,为系统的开发提供了清晰的结构以及可复用的软件模块,能够切实提高实时软件的开发效率和可维护性,并可在系统级进行调试,从而提高系统的可靠性和实时性。Rhapsody提供了一个完整的用于复杂实时嵌入式的应用软件,是从分析、设计一直到代码实现和软件测试的开发环境。

 

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

44/4<1234

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网