app功能模块设计图片,app系统框架图怎么设计

  

  在汽车领域,开发高效、无错误的软件是一个巨大的挑战。随着对复杂软件算法和维护安全标准的需求增加,这些挑战也在增加。为了克服这些挑战,汽车软件开发公司正从传统的软件开发转向基于模型的软件开发(MBSD)。MBSD是一种解决复杂嵌入式控制系统的可视化方法。   

  

  软件工程分为不同的阶段,包括需求澄清、架构设计、开发和测试。在现代软件开发中,需要在设计阶段模拟设计变更,验证功能的正确实现,以避免在生产阶段出现软件错误,对一级供应商和OEM厂商的收入产生巨大影响。一般来说,软件也是导致事故和产品故障的主要原因之一。出售给客户的车辆的ECU软件的微小变化也会导致灾难。   

  

  MBSD已经成为最有前途和被广泛接受的方法,因为它具有代码自动生成、设计阶段验证和确认的功能,并且用MBSD创建原型的工作量较少。在传统的软件开发过程中,设计基于文本描述,手工编写的代码难以理解和修改。传统方法和基于模型的方法之间的区别如图1所示。   

  

     

  

  图一。传统软件开发与基于模型的软件开发(MBSD)   

  

  表1显示了一些主要原始设备制造商和一级供应商使用MBSD的优势。MBSD的主要优势包括:   

  

  在软件开发生命周期早期通过分析模型降低风险和成本;   

  

  提高产品质量,缩短开发时间;   

  

  图形化表示让任何开发者都可以非常方便地修改,从而减少对专家的依赖,降低文档成本;   

  

  模型易于重用,可以减少交叉开发环境中常见功能的重复开发。   

  

  代码自动生成消除了手写代码的错误;   

  

  基于模型的仿真验证软件功能是否满足要求,大大减少了调试工作量。   

  

     

  

  表1。原始设备制造商和一级供应商MBSD产生的收入   

  

  1-V模式中的MBSD发展生命周期模式   

  

  通常,汽车软件算法由不同的主要供应商提供。为了管理生命周期中的复杂性,业界创建了许多软件开发生命周期模型,如瀑布模型、敏捷开发模型、快速原型模型、螺旋模型和增量模型。在MBSD最常用的软件开发生命周期是V模型,如图2所示。   

  

     

  

  图二。五. MBSD模式   

  

  在汽车工业中,V型车被广泛接受,也为ISO 26262等汽车安全标准所接受。为每个阶段创建审核清单和质量文件。进入/退出标准在每个阶段都有明确的定义。   

  

  v模型是瀑布模型的扩展,也称为验证和确认模型。一般来说,V模型的左边描述了开发活动,而右边则是测试。重要的是在进入下一个阶段之前完成一个阶段。开发和测试活动应该并行进行,以减少产品开发时间。   

  

  下面列出了V模型的一些主要优点:   

  

  从软件开发的早期阶段开始,测试避免了错误的向下流动,并使早期发现错误成为可能。   

  

  当开发人员创建软件时,准备测试规范;   

  

  性价比高,因为避免了返工;   

  

  测试发生在软件开发的所有阶段。   

  

  2MBSD软件架构设计   

  

  软件体系结构是整个软件系统的基本蓝图。在许多OEM和主要供应商中,SA工件是根据过程标准ISO 26262和ASPICE创建的。软件架构师为整个项目创建软件架构设计文档和图表,这些文档和图表由另一个软件架构师审阅。软件架构设计文件包含车辆功能的架构图。图3显示了BMS的软件架构图。   

  

     

  

  图3。楼宇管理系统软件架构图   

  

  ――3MBSD的开发工具MATLAB/Simulink   

  

  有各种各样的MBSD工具和技术可用于汽车和航空软件开发。MBSD由诸如系统建模语言(SysML)和统一建模语言(UML)的建模语言支持,以实现高效的软件开发。   

  

  MBSD的现成工具有MATLAB/Simulink、LabVIEW、ASCET和Scade。在这些工具中,MATLAB/Simulink是车辆功能开发和工厂模型开发最常用的工具。   

  

  MathWorks为建模、代码生成和验证提供了完整的MBSD工具链。车辆功能在仿真环境中建模,并根据工厂模型进行验证。MATLAB/Simulink具有以下优势:   

  

  用模块化概念轻松构建大型模型,比如创建自己的可重用库;   

  

  与时间序列有关的实时要求的定点模型;   

  

  实车系统的浮点模型工厂模型;   

  

  早期验证功能和错误检测;   

  

  自动代码生成;   

  

  贯穿模型   

Examiner (MXAM) 等工具确保符合 MISRA;
通过时间分区测试 (TPT) 和 BTC Embedded Tester 等支持工具进行功能测试。

  

图4 展示了使用 MATLAB/Simulink创建模块的过程。
开发人员可以通过创建库和模型引用在项目成员之间共享和集成来自不同开发人员的建模工作。

  

  


  

  

图4. MATLAB/Simulink创建模块的过程
自动代码生成是 MBSD 的主要优势。它消除了手动编码工作并减少了出错的机会。MATLAB 以不同的语言(如 C、C++ 和硬件描述语言)提供各种代码生成选项。它还符合 AUTOSAR、ISO 26262、DO-178、MISRA C 和 CERT C 等标准。由于它是自动生成的,因此还会生成代码需求之间的可追溯性。

  

4MBSD 中的统一建模语言(UML)

  


UML 图是大多数汽车行业软件架构设计的基础,可促进项目早期与不同合作者和客户群体的设计讨论。
UML 是设计人员向程序员提供详细设计以供实施的基本蓝图。UML 图可以大致分为结构图和行为图,前者说明了系统的静态结构组成,后者则描述了系统与参与者和其他系统的动态行为关系。

  

以下是结构图类别:
类图是最广泛使用的UML 图,它以面向对象的方式表示系统。
对象图也用于表示系统的结构视图。对象图在使用方面也类似于类图。它们用于开发系统的原型。
组件图阐明了系统的各个组件以及它们之间的交互,与时间无关。组件图为系统提供了实现视图。
部署图用于在部署视图中对系统的物理实体进行建模。

  

以下是行为图类别:
用例图表示可以使用系统执行的各种任务。这也描述了每个参与者在执行系统的每个用例中的角色。
活动图描述了框架中的控制流。它包括各种活动和联系。活动流可以是连续的、同时的,甚至是分支的。
状态图用于传达系统在系统内部或系统外部发生的各种事件触发时的行为。
序列图用于表示系统的各种对象之间相对于时间发生的活动/消息操作的序列。

  

在系统建模的分析阶段,大多使用用例图。用例图是系统级别的用户交互图,其中基于需求描述车辆系统。对于每个车辆功能,确定一个或多个用例,并在用例和实施(设计要求)之间建立明确的可追溯性。在系统建模的设计阶段,可使用类图、序列图、状态图和部署图以详细地将系统功能的核心进行可视化呈现。

相关文章