编程语言应用

注册

 

发新话题 回复该主题

不懂汽车软件架构那你还没入门 [复制链接]

1#

什么是汽车软件架构?

汽车软件架构是软件系统的高层结构、创建这些结构的原则,以及对这些结构的文档记录。这些结构可以被用来推导出整个软件系统。

汽车架构就是一种构建汽车软件系统的理念。

不同的OEM(整车厂)都有自己构建软件系统的方式。然而整车厂构建软件系统的方式又有许多相似性-他们通常会使用V模型进行软件开发。

上图中,我们可以看到电气系统被组织成多个领域,例如信息娱乐和动力总成域。这些域中的每个域都有一组特定的属性-有些对安全性要求很高,而有些则要求不高,有些是面向用户的,有些是实时的和嵌入式的。但是,每个域都被组织为子系统,这个子系统集中了一些特殊的功能(某些OEM称这些子系统简称为“系统”),例如主动安全系统和高级辅助驾驶功能。这些系统将许多逻辑元素组合在一起并实现功能,这些逻辑元素会被组合成功能,这里的功能通常被称为端到端功能,因为它们实现了用户功能,例如自适应巡航控制,车道偏离警告和从A到B的导航。

这些功能由电气系统的子系统实现,并且与子系统,组件和模块的组织相关。因此,我们经常看到“功能架构(视图)”就是描述功能之间的依赖关系。

每个子系统包含许多组件,这些组件包括实现功能部分的软件元素的较小部分(例如,该部分可以是信息娱乐系统的消息代理)。这些组件被组织成软件模块,这些软件模块通常是一些源代码文件。这些编程语言功能或软件类别的组合称为逻辑软件组件。

软件架构这个词可以用在这个层次结构里的每个层次(除了最低层次以外),我们可以使用EE架构(电子电气架构)描述整车软件和硬件组织方式。我们可以使用ECU架构描述ECU里软件子系统、组件和模块的逻辑组织方式。根据ECU的大小和在车内的角色,我们可以在ECU里定义模块、组件或子系统。

汽车软件架构的高层结构:

软件组件/块:根据逻辑结构被打包到若干子系统和组件中的一段软件。所有组件/块集成在一起是应用层软件。

硬件组件/ECU:软件执行所使用的平台的设计元件。这些元件有ECU、通信总线、传感器和执行器等。

功能:从功能的角度进行描述的软件逻辑设计要素,它们分布在组件/块之中,例如软件的功能、属性、需求等。

软件架构过程是一种规定性设计,该过程随着设计的演进而不断发展。

架构设计原则

原则指的是软件架构师为设定开发场景所做的决策。例如,定义系统中应包含哪些组件、每个组件应当具备哪些功能,以及这些组件间该如何通信。架构会定义每个组件的接收和发送port,以实现信息的传递。同时架构一会定义每个组件实现的功能,明确功能需求。

详细设计时根据工作内容的不同,可以分为功能架构、物理架构(网络架构)、逻辑架构等等。

功能架构:

一项开发工作的源头一定是产品管理者对产品应具备什么功能的思考,企业一般将之称为功能需求。

功能架构设计

分享 转发
TOP
发新话题 回复该主题