打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
“架构”是个什么鬼?

    “电气”就是与电相关的意思,可以作为定语形容所有与电相关的事物,比如电气系统、电气零件、电气功能等。“电子电气”其实可以用“电气”来替代,因为电子也是与电相关的,所以电气当然也包括电子。但考虑到目前在汽车行业内,电子电气架构(EEA)已经成为约定俗成的叫法(虽然也有少数文献使用电气架构的叫法),因此笔者也是人在屋檐下,不得不低头,只好也按照使用最广泛的叫法“电子电气架构”而不是“电气架构”。但除“电子电气架构”以外,笔者在描述其它与电相关的事物时,仍然使用“电气”来做定语。接下来先弄清楚汽车电子电气架构设计中的“架构”是什么。

什么是架构
    架构这个概念最早起源于建筑行业。《新华词典》对架构的定义是:建造、构筑、框架、支架。在维基百科中,架构被定义为:规划、设计和建造建筑物或其它物理结构的过程或者产出物(Architecture is both the process and the product of planning, designing, and constructing buildings and other physical structures. )。在柯林斯英汉双解大词典中,architecture被翻译为建筑艺术(Architecture is the art of planning, designing, and constructing buildings. )或者是建筑风格(The architecture of a building is the style in which it is designed and constructed. )。架构的概念起源于建筑其实不难理解。首先建筑是物理实体,看得见摸得着,非常直观。人们通过观察建筑,可以了解到建筑的各个组成部分以及各个组成部分是如何连接在一起的;通过更进一步的观察可以总结出建筑物的不同风格。由以上架构的定义可知,架构可以作为名词指代建筑物的结构或者建筑风格(设计和规划的结果),也可以作为动词指代设计、规划和建造建筑物结构和风格的过程(设计和规划的过程)。虽然架构的概念起源于建筑行业,但由于几乎所有的事物都可以分解为不同的组成部分,而且各个组成部分之间也存在着各种各样的关系,因此架构的概念也就自然而然地应用到了不同的行业和技术领域中,例如,公司的组织架构和体现各部门职责分工的业务架构、在软件开发技术领域中的软件架构等。
2 什么是软件架构
    架构这个概念应用最成熟,同时也是研究最为深入的应该非软件开发技术领域莫属。在百度百科上,架构甚至直接被归类为计算机术语,它被定义为:架构,又称软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口(计算机科学)来实现。虽然以上软件架构的定义非常复杂,涉及到的软件技术术语也很多,但软件架构中“架构”的核心含义并没有脱离“架构”这个概念的内涵,即事物的各个组成部分以及它们之间的关系。软件架构可以看作是由许多抽象组件构成的,各个抽象组件之间通过接口产生关系。参考文献[36]将“软件架构”的定义方式分为两大派别:组成派和决策派。每个派别中都有很多对软件架构的定义,这里只对组成派和决策派中最典型的定义进行介绍。在组成派中,Mary Shaw在《软件体系结构:一门初露端倪学科的展望》中对软件架构给出了非常简明的定义:软件系统的架构将系统描述为计算组件及组件之间的交互。上述定义中的“组件”是广泛意义上的元素之意,它可以指子系统、框架(Framework)、模块、类等不同粒度的软件单元,它们可以担负不同的计算职责。在决策派中,RUP(Rational Unified Process,Rational统一过程),它把软件架构定义为关于以下问题的重要决策:1) 软件系统的组织;2)选择组成系统的结构元素和它们之间的接口,以及当这些元素相互协作时所体现的行为;3)如何组合这些元素,使它们逐渐合成为更大的子系统;4)用于指导这个系统组织的架构风格:这些元素以及它们的接口、协作和组合;5)软件架构并不仅仅注重软件本身的结构和行为,还注重其他特性:使用、功能性、性能、弹性、重用、可理解性、经济和技术的限制及权衡,以及美学等。RUP给出的软件架构的定义虽然比较冗长,但其核心思想非常明确:软件架构是在一些重要方面所做出的决策的集合。软件架构的组成派和决策派的定义是从两个不同角度去描述软件架构,并不矛盾。组成派认为:架构=组件+交互,这是从软件架构的设计结果角度去定义。决策派认为:架构=重要决策的集合,这是从软件架构的设计过程角度去定义。组成派和决策派的定义合在一起,完整地表达了“软件架构”所指代的设计结果(软件架构)和设计过程(设计软件架构的过程)的2个方面的含义。笔者为了便于区分“架构”所指代的设计结果与设计过程2个方面的含义,用“软件架构”来指代设计结果,用“软件架构设计”来指代设计过程。类似地,用“电子电气架构”来指代设计结果,用“电子电气架构设计”来指代设计过程。

       以上对“架构”和“软件架构”的概念进行了比较详细的解析,最后给出了软件架构设计的定义。由于汽车电子电气架构设计的核心思想和技术方法借鉴了软件架构设计,因此首先明确软件架构设计的定义是非常有必要的。接下来,在详细阐述“汽车电子电气架构设计”之前,先对其所应用的汽车电气系统开发技术领域中所涉及的一些基本概念进行解析。需要说明的是,笔者所进行的概念解析并不是教科书或者字典式的标准概念定义,其目的只是为了在所研究课题的背景下给出最符合上下文语境的概念解析,以便于笔者所做研究的论述。

电气、电子电气、电气零件、汽车电气系统

   笔者将“电气零件”定义为:需要使用电能才可以实现其功能的零件。电气零件不仅包括零件的物理实体部分,如果零件具有软件(例如控制器类电气零件),也包括软件部分。电气零件包括开关、传感器、控制器、执行器、线束等所有需要使用电能的零件。笔者将“汽车电气系统”定义为:汽车所有电气零件以及电气零件所实现功能的集合。这里需要说明,对于一个完整的汽车功能,例如电动助力转向,除了包括电气零件(电动助力转向控制、转向电机等)实现的功能以外,还包括机械零件(方向盘、转向管柱等)实现的功能。笔者研究的范围只针对电气零件所实现的功能,即电气功能,不包括机械零件所实现的功能。

功能、电气功能、整车级电气功能

   “功能”在软件开发领域一般定义为:系统应该提供或者完成的任务或者活动。一个功能接收一些数据、处理数据,并将结果(输出数据)传递给另一个功能、一个数据存储(文件)或者一个接收端。一个功能将输入转换为输出。由于以上功能定义是针对软件开发技术领域的,为了增加定义的适用范围,笔者基于以上的定义,把功能定义为:系统按照一定的规则完成特定任务的能力。对于笔者所研究的汽车电气系统开发技术领域,汽车电气系统由电气零件以及电气零件所实现的功能组成,因此,笔者将“电气功能”定义为:通过电气零件所实现的功能。控制器类电气零件可以通过硬件和软件实现功能,非控制器类电气零件只能通过硬件实现功能。汽车电气系统所实现的电气功能可以划分为不同的级别,单个电气零件实现零件级电气功能,比如制动踏板开关可以将驾驶员踩制动踏板的动作转换为电信号。2个以上的零件级电气功能互相协作可以实现子系统级电气功能或者整车级电气功能。笔者将“整车级电气功能”定义为:用户可以直接感知的最高层级的电气功能。它能够提供一个终端到终端的汽车电气系统属性的操作,或者用户通过输入、操作、显示和反馈可以感知的电气功能。它应该具有客观和可测量的性能衡量标准。


下一篇文章将介绍从事“汽车电子电气架构设计”的架构工程师到底是干什么的,这个非常难以回答的问题。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
车载SOA架构国内外发展现状
面向信号与面向服务SOA混合架构设计方法
SOA如何应用于经典的软件开发流程
理解软件架构
软件架构为什么重要?
软件架构设计浅谈 - 今日头条(TouTiao.com)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服