欧美特黄特色视频_大屁股熟女一区二区三区_成人无码视频_www.黄色av_性动漫xxx无尽_91免费专区

400-821-6015
行業(yè)資訊
您當(dāng)前的位置:首頁(yè) ? 行業(yè)資訊 ? 行業(yè)資訊
內(nèi)部資訊行業(yè)資訊

如何成為一名優(yōu)秀的汽車軟件工程師

發(fā)布日期:2022-06-07


基于個(gè)人工作經(jīng)驗(yàn)來(lái)談以下幾點(diǎn):

  • 汽車軟件工程師的最重要技能
  • V流程引發(fā)的所思所想
  • Bug修復(fù)引發(fā)的所思所想
  • 汽車軟件工程師如何精進(jìn)技能


01 汽車軟件工程師的最重要技能


 人到中年,感覺(jué)以前聽(tīng)的大道理都是人生真理,比如"求上得中,求中得下"。先來(lái)看參考[1]:

引自[1]: The Most Significant Skills for Automotive Software Developers
Skill 1: Industry Expertise
Software developers in the automotive industry must be familiar with various industry standards. You should know what an infotainment system and a head unit are, what components are behind them, how they can be connected and what forms of data transmission and storage exist. Tier 1 suppliers like Bosch will require hands-on experience in embedded programming. Automakers will also value your ability to develop and test software for ECUs (Electric Control Units) microcontrollers, microprocessors, debuggers, etc.


Skill 2: Experience with Large-Scale Projects
In a large scale project, you will be required to communicate and interact with the teams of engineers, designers, testers as well as involved executive managers. If you’re an inexperienced software developer, brace yourself for overwhelming complexity of processes, tight deadlines and multiple interchangeable operations of geographically distributed teams. Therefore, before stepping up into any development activities, it’s better to study the entire structure of an organization, project requirements and only then, narrowing down to your specific job responsibilities.


Skill 3: Technology Competency
If you are attentive to details and can demonstrate a good technology competency, you’ll be able to cope with an extensive codebase of an embedded system that can have different versions and modules, their complex logical dependencies and mathematical algorithms. In addition, it will be also valued if you understand how to alter the code to provide new functions without affecting the functionality of existing solutions. The act of balancing between technical requirements, changing business requirements and high standards to the functional safety of any in-vehicle solutions is also a part of this competency you may hardly find in any job description.


Skill 4: Communication Skills
Software development in the automotive industry has many factors to consider. Among them are project requirements, project planning, basic architecture, quality requirements and process changes. At every stage of software development, you will have to put into practice your communication skills and professional approach to the entire delivery process including numerous iterations of the same feature.


Skill 5: Good Knowledge of English
Frequently, automotive projects are international and people from different countries are expected to have a decent level of English to find a common language with other team members. Besides, your English fluency will be also highly estimated by the management of the project deciding on which IT service company and team to pick up during the tender.


Skill 6: Responsibility
New releases in the automotive industry have far-reaching implications. The more features are added, the more complicated the entire embedded system becomes. And most importantly, these are mission-critical systems and any unnoticed mistake may incur more than just repair expenses. Perhaps, you remember a much-talked-of fatal test drive by Uber self-driving car[ that failed to recognize a pedestrian in the darkness. In this case, not only testers but also automotive software developers must have a strong sense of responsibility in terms of the code quality and deadlines.


讀懂了么?發(fā)現(xiàn)英語(yǔ)重要了吧。目前以我個(gè)人經(jīng)歷,我覺(jué)得英語(yǔ)的重要性體現(xiàn)在:

  1. 標(biāo)準(zhǔn)規(guī)范多是英文的,比如ASPICE, AUTOSAR, ISO26262等;
  2. 優(yōu)秀論文多是英文的,比如變速箱控制,自動(dòng)駕駛,深度學(xué)習(xí)方面等;
  3. 工具文檔多是英文的,比如matlab,Vector,Doors等......
      不管怎樣,讓自己的英語(yǔ)越來(lái)越好,將會(huì)越來(lái)越受益。說(shuō)可能受限于環(huán)境,但聽(tīng)讀寫不限。當(dāng)然我覺(jué)得最重要不是英語(yǔ),是責(zé)任。這里不談責(zé)任,但都源于責(zé)任。接下來(lái)我就基于自身作為一個(gè)汽車軟件工程師的工作經(jīng)歷,從幾個(gè)角度來(lái)分享我的體會(huì)。

02 V流程


軟件工程師應(yīng):
  • 具備強(qiáng)烈的需求意識(shí);
  • 認(rèn)真對(duì)待文檔規(guī)范;
  • 積極測(cè)試。

     作為汽車軟件工程師,肯定都知道圖1的V流程,左邊的需求,設(shè)計(jì),右邊的測(cè)試。在工作中,V流程的各環(huán)節(jié)幾乎都做過(guò),很有感觸。

圖片

圖1 V流程,引自[2]


首先談需求,沒(méi)有需求就沒(méi)有V流程后面的設(shè)計(jì)和測(cè)試。先看下需求的標(biāo)準(zhǔn)定義

引自:ISO/IEC/IEEE 15288:2015(E) terms and definition
requirement:statement that translates or expresses a need and its associated constraints and conditions.
再看圖1的需求類別:
  • stakeholder requirement(利益相關(guān)者需求),
  • system requirement(系統(tǒng)需求),
  • software requirement(軟件需求) 。
       這些需求之間有什么關(guān)系呢?我覺(jué)得下圖2作了比較清晰的說(shuō)明,即正向地來(lái)說(shuō)利益相關(guān)者先提出了一個(gè)大概需求,經(jīng)與系統(tǒng),技術(shù)反復(fù)溝通與反饋,確定了利益相關(guān)者需求,再據(jù)此確定了系統(tǒng)需求,最后再據(jù)系統(tǒng)需求確定了軟件需求;反向地來(lái)說(shuō),具體實(shí)現(xiàn)過(guò)程中也可能存在軟件需求不合理情況,進(jìn)而依次去更新軟件需求,系統(tǒng)需求和利益相關(guān)者需求。

圖片

圖2 系統(tǒng)需求規(guī)范開(kāi)發(fā)流程


       軟件工程師也許屬于圖2紅圈的一份子吧,當(dāng)然這里的目的不在于探究細(xì)節(jié),通過(guò)這個(gè)圖主要想表達(dá)是:軟件工程師應(yīng)具備強(qiáng)烈的需求意識(shí),不僅僅局限于代碼層面,應(yīng)明白從需求層面到代碼層面,只有深入理解了需求,才能寫出更加準(zhǔn)確精煉的模型或代碼。很多軟件工程師也需要寫相應(yīng)的軟件需求吧,那么怎樣寫好一條軟件需求呢?我覺(jué)得圖3是一個(gè)很好的推薦.

圖片

圖3 需求的書寫語(yǔ)法


       其次談文檔規(guī)范。認(rèn)真對(duì)待文檔規(guī)范,你將會(huì)有意想不到的收獲。軟件工程師一般都不喜歡寫文檔,寫了一份又一份,關(guān)鍵最后還可能幾乎沒(méi)人看,但規(guī)定要去寫那還必須得寫,些許無(wú)奈。那何不換個(gè)角度,先從認(rèn)真對(duì)待開(kāi)始,接下來(lái)就會(huì)逐漸思考如何寫?如何寫好?為什么文檔模板這么安排?不知不覺(jué)就會(huì)去看一些標(biāo)準(zhǔn)規(guī)范,通過(guò)這些就能逐漸去理解文檔的別有用心以及這些模板的由來(lái),一般標(biāo)準(zhǔn)會(huì)提供一些參考模板,比如圖4(源引自:IEEE Recommended Practice for Software Requirements Specifications,IEEE Std 830-1998)。然后結(jié)合自身工作經(jīng)驗(yàn),再來(lái)理解這些文檔,會(huì)發(fā)現(xiàn)文檔不再那么抽象,其實(shí)非??茖W(xué),非常嚴(yán)謹(jǐn),最后會(huì)學(xué)著利用這些文檔來(lái)幫助自己形成一個(gè)更有邏輯更有層次的表達(dá)。所以認(rèn)真對(duì)待文檔規(guī)范(也包括流程),有了這方面的強(qiáng)烈意識(shí),我覺(jué)得一方面不管是要符合ASPICE,還要AUTOSAR,應(yīng)該都可以很快遵循這些規(guī)范來(lái)指導(dǎo)實(shí)踐;另一方面也極有助于我們從項(xiàng)目管理和軟件工程角度來(lái)看待項(xiàng)目。


圖片

圖4 從Mode角度組織的軟件需求模板


       最后談測(cè)試。本質(zhì)上就一句話:紙上得來(lái)終覺(jué)淺,覺(jué)知此事要躬行。從零開(kāi)始的項(xiàng)目一般還好,邊開(kāi)發(fā)邊測(cè)試;有base的項(xiàng)目,最好得主動(dòng)多仿真多測(cè)試,通過(guò)數(shù)據(jù)和現(xiàn)象來(lái)快速理解。說(shuō)到測(cè)試,分享一個(gè)小故事:曾經(jīng)看著德國(guó)同事準(zhǔn)備集成測(cè)試報(bào)告的圖,類似于下圖5,他創(chuàng)建了多個(gè)子窗口歸類地來(lái)分別顯示數(shù)據(jù),調(diào)好數(shù)軸標(biāo)尺等操作,以使得他人一眼就看懂測(cè)試結(jié)果。當(dāng)然他就是這么想的,然后我就照學(xué)了??磦€(gè)反例(圖6),自行對(duì)比感受下。


圖片

圖5 測(cè)試數(shù)據(jù)整理范例

圖片

圖6 測(cè)試數(shù)據(jù)整理反例



03 bug修復(fù)


       “這個(gè)bug對(duì)功能有什么影響?”,很喜歡聽(tīng)到別人這么問(wèn)。這里又想分享一個(gè)小故事:看到過(guò)有個(gè)人解決問(wèn)題能力非常強(qiáng),幾乎來(lái)了一個(gè)bug,看看數(shù)據(jù)看看模型,咔咔兩下就給解決了,但我發(fā)現(xiàn)很奇怪的現(xiàn)象,這個(gè)人天天都有bug要解決。后面不幸讓我接手了,發(fā)現(xiàn)補(bǔ)丁好多好多,有些還無(wú)法追溯。后面又遇到了一位很有要求的同事,每次一有bug就問(wèn)我“這個(gè)bug對(duì)功能有什么影響?”,剛開(kāi)始我大概都這么回答“不知道,但代碼層面分析了bug的影響和解決方法,該方法不會(huì)影響其他代碼邏輯,能滿足客戶的要求,balabala. ......該方法”。故事到這,首先得從功能層面去分析:這個(gè)bug對(duì)功能有什么影響?如果你都不清楚功能,怎么能夠確定這就一個(gè)bug呢?怎么能夠保證修復(fù)方案是最佳的呢?怎么能夠確保修復(fù)后仍滿足需求呢?當(dāng)然要更全面更理想的分析可參見(jiàn)圖7。

圖片

圖7 理想的bug分析流程


       所以,應(yīng)該加強(qiáng)從功能層面理解好軟件,當(dāng)然模型或代碼層面也很重要,這樣宏微觀上都能切換自如,軟件就會(huì)被你玩的溜溜的。



04  技能精進(jìn)


4.1 軟件方面


      先談軟件方面,曾經(jīng)為了了解從軟件到硬件的最終執(zhí)行,我花了幾個(gè)月聽(tīng)計(jì)算機(jī)科學(xué)課程,從計(jì)算導(dǎo)論與C語(yǔ)言基礎(chǔ)北京大學(xué),李戈):記得當(dāng)時(shí)聽(tīng)明白了計(jì)算機(jī)硬件如何實(shí)現(xiàn)0101,圖靈機(jī)怎么工作等等,講得非常精彩。


      再到計(jì)算機(jī)系統(tǒng)要素Build a Modern Computer from First Principles: Nand to Tetris,希伯來(lái)大學(xué)): 記得講到布爾運(yùn)算(兩個(gè)結(jié)論:Any Boolean function can be represented using an expression containing AND and NOT operation. Boolean function can be represented using an expression containing only NAND operations),寄存器,CPU,匯編語(yǔ)言,編譯原理,特別有意思。


       最后到數(shù)據(jù)結(jié)構(gòu)清華大學(xué),鄧俊輝):記得講到搜索算法改進(jìn),最終我都買了本鄧教授的書。


       整個(gè)聽(tīng)課過(guò)程下來(lái),雖然我沒(méi)有做作業(yè),忘了絕大部分,但是我覺(jué)得從軟件到硬件怎么運(yùn)行,我基本上有個(gè)概念,假如真要我去做這方面的深入,給我時(shí)間肯定沒(méi)問(wèn)題。


       總的來(lái)說(shuō),從廣度上對(duì)軟件要有一定的認(rèn)識(shí)。當(dāng)然,從深度上對(duì)軟件也需要很深的認(rèn)識(shí)。比如:運(yùn)行時(shí)序問(wèn)題,一定要明白先有誰(shuí)后有誰(shuí);精度(scaling)問(wèn)題,配置就要求很細(xì)致;內(nèi)聯(lián)函數(shù)問(wèn)題,使用就要特別小心。


4.2 工具方面


       再談工具方面,以MATLAB/Simulink為例。我個(gè)人受益于兩方面:一方面是來(lái)自同事,有同事的悉心指導(dǎo)和用心分享,也有看同事怎么做的,去模仿學(xué)習(xí)怎么做,去思考談?wù)摓槭裁催@么做(當(dāng)然更多時(shí)候后者去看去試去悟);另一方面來(lái)自mathworks提供的demo和研討會(huì)視頻。比如入門變速箱控制模型時(shí),我就找到了一個(gè)特別有用的demo包,如圖7示意,通過(guò)這個(gè)demo包做仿真做調(diào)試,這樣很快就上手建模操作。另外通過(guò)一系列的研討會(huì)視頻,很快就入門了MBD,以及如何使用Simulink工具做模型檢查,驗(yàn)證與確認(rèn)等,如圖8。所以,把握身邊的和網(wǎng)上的,工具肯定沒(méi)問(wèn)題。


圖片
圖7 變速箱控制的demo


圖片
圖8 模型驗(yàn)證的最佳實(shí)踐


圖片

圖9 MATLAB/Simulink錄制的研討會(huì)


4.3 專業(yè)知識(shí)


        最后談專業(yè)知識(shí),以變速箱控制為例,變速箱控制目的就是開(kāi)車的人踩了多大油門或多大剎車,變速箱就要自動(dòng)地去操作擋位和離合器,讓開(kāi)車的人開(kāi)加速不錯(cuò),的很爽,很是舒服(當(dāng)然不僅僅是變速箱的功勞)。那么怎么實(shí)現(xiàn)的呢?比如圖10示意一個(gè)升檔控制過(guò)程。


圖片圖10

本質(zhì)上就講理解此公式:

圖片

       就基本可以應(yīng)付變速箱的離合器控制工作了。再深挖電液系統(tǒng)的話,那么牛頓第二定律和伯努利方程都來(lái)了。


圖片

圖11 電液控制系統(tǒng)原理圖

        如果還覺(jué)得不夠的話,那么還可以繼續(xù),如圖12。(技術(shù)真是個(gè)黑洞)


圖片

圖12 變速箱系統(tǒng)的知識(shí)網(wǎng)絡(luò)

      所以,技術(shù)精進(jìn)不只在于一個(gè)點(diǎn),而在于一個(gè)面或一個(gè)體,任重而道遠(yuǎn)



05  總結(jié)


       一個(gè)人的精力是有限的,上述所說(shuō)大多數(shù)人還是很難做到位。但是不管怎樣,一個(gè)汽車工程師最好要具備這些意識(shí),不管是重在廣博,還是貴在專精,選好自己的方向,認(rèn)真工作,一定會(huì)越來(lái)越優(yōu)秀。         

      最后引用參考[8]的圖,溫故下本文的3個(gè)層面內(nèi)容:

       1)項(xiàng)目管理與軟件工程層面

圖片

圖片

圖13 V流程和工具鏈

        2)功能與軟件實(shí)現(xiàn)層面


圖片

圖14

     3)專業(yè)技術(shù)層面


圖片

圖15 掛擋控制



參考:

[1] AUTOMOTIVE SOFTWARE DEVELOPER: TOP 6 SKILLS AT A GLANCE,https://www.infopulse.com/blog/automotive-software-developer-top-6-skills-at-a-glance/

[2] Automotive SPICE Process Assessment / Reference Mode,http://www.automotivespice.com/fileadmin/software-download/Automotive_SPICE_PAM_30.pdf

[3] Essential aspects of the V-cycle software development process,https://x-engineer.org/graduate-engineering/modeling-simulation/model-based-design/essential-aspects-of-the-v-cycle-software-development-process/

[4] Mathworks官網(wǎng)錄制的視頻與網(wǎng)上研討會(huì),https://ww2.mathworks.cn/videos/search.html?s_tid=evmain_rw_bod&q=&page=1

[5] AUTOSAR_Introduction,https://www.autosar.org/fileadmin/ABOUT/AUTOSAR_Introduction.pdf,

[6]  The Analyzing Method of Root Causes for Software Problems,https://global-sei.com/technology/tr/bn73/pdf/73-13.pdf

[7] Estimation of the Clutch Characteristic Map for an Automated Wet Friction Clutch Transmission,https://www.sae.org/publications/technical-papers/content/2016-01-1113/

[8] Model-Based Design Methods for the Development of Transmission Control Systems,https://www.sae.org/publications/technical-papers/content/2014-01-0304/




轉(zhuǎn)自汽車電子與軟件

上海創(chuàng)程車聯(lián)網(wǎng)絡(luò)科技有限公司版權(quán)所有 滬ICP備11045498號(hào)-1   技術(shù)支持:網(wǎng)站建設(shè)
主站蜘蛛池模板: 天天爽夜夜爽人人爽QC | 奶头和荫蒂添的好舒服囗交 | 亚洲国产成人综合一区二区三区 | 人人超碰人人爱超碰国产 | 日本免费一区二区三区高清视频 | 天天摸日日添狠狠添婷婷 | 亚洲人成精品久久久久 | 看黄免费在线观看 | 果冻传媒2021精品一区 | 97精品视频在线观看自产线路二 | 夜夜爱天天干 | 国产美女视频a级做爰色戎 一本久久A精品一区二区 | 久久精品一二 | 日韩亚洲欧美一区 | 亚洲国产精品成人一区二区 | 国产精品一区二区在线 | 国产农村妇女毛片精品久久 | 17草视频 | 欧美a级片免费观看 | 爽妇网国产精品 | 毛片18| 全黄a免费一级毛片人人爱 久久久久偷看国产亚洲87 | 少妇搡BBBB搡BBB搡AA | japanese69极品少妇 | 亚州日本乱码一区二区三区 | 日本不卡一区二区三区四区 | 成年人免费观看网站 | 国产做A爰片毛片A片美国 | 99久久久国产 | 中国产一级a毛片四川女 | 欧美另类视频一区 | 寡妇张开腿让黑人捅爽 | 色综合伊人丁香五月桃花婷婷 | 色播亚洲视频在线观看 | 91tv官网精品成人亚洲 | 一区二区三区高清在线视频 | 狠狠躁夜夜躁人人爽蜜桃 | 永久免费A∨片在线观看 | 久久久久人妻精品区一三寸 | 中文字幕视频一区二区三区久 | 8848成人影院 |