欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 電子產(chǎn)品程序設(shè)計漫談 [打印本頁]

作者: 電子黑    時間: 2016-6-29 23:06
標題: 電子產(chǎn)品程序設(shè)計漫談
                         電子產(chǎn)品軟件設(shè)計漫談
技術(shù)源于積累,成功源于執(zhí)著。
                                 ——沈輝文







一、方案的制定階段
    1. 一個項目的成敗往往不是在最后一天體現(xiàn),而是在第一天就被注定了(三軍未動,糧草先行)。也就是說,方案的制定階段直接關(guān)系到項目的成敗。因此在這個階段要細致的做好準備工作,這些工作主要包括以下內(nèi)容:
    2. 制定技術(shù)開發(fā)要求,首先要搞明白我們到底想做什么?最害怕的就是那種沒有要求的設(shè)計項目。因為有時,沒有要求就意味著客戶隨時會提出新要求。這往往會陷開發(fā)者以兩難的境地。
    3. 制定實現(xiàn)方案,進行技術(shù)準備。了解技術(shù)瓶頸和難點在哪。評估這些技術(shù)難點的風險。能否解決?如何解決?對于有經(jīng)驗的工程師來說,技術(shù)方案的定制與論證幾乎憑直覺就能完成。而對于新手來說,這些工作切往往很難獨立完成,需要前輩給予指導或協(xié)助。
    4.評估整個項目開發(fā)需要的各方面的資源,包括:人力、工具、材料、場地、經(jīng)費等。并由此核算與評估項目的成本(包括研發(fā)成本和生產(chǎn)成本)。
    5.評估確定開發(fā)周期。開發(fā)周期有兩個概念,一個是指工程師評估出來的開發(fā)周期。一個是指市場方面希望的完工時間期限。當二者發(fā)生矛盾時,就必須進行協(xié)調(diào)。要么市場方面放寬期限,要么增派人手或安排加班。
    在整個立項過程中,工程師往往只把關(guān)注的目光片面地投向技術(shù)方案本身,而忽略了市場前景預(yù)估,成本核算、工具和材料的準備以及人力資源的調(diào)度等等。其實這些因素同樣關(guān)系著產(chǎn)品的成敗,需要給予足夠的重視。必要時,應(yīng)該請相關(guān)人員共同參與,進行評估和協(xié)助。
二、產(chǎn)品設(shè)計階段
    在經(jīng)過多方面的綜合評估,確認方案可行,即可立項,進入具體的設(shè)計階段了。其實這個設(shè)計階段中包含了系統(tǒng)、程序、電路、機械結(jié)構(gòu)等多方面的內(nèi)容。由于本手記主要講電子程序設(shè)計。因此就撇開其他,只講程序。在這個階段工程師的主要任務(wù)是:
    1.程序框架的規(guī)劃。
    2.各個模塊功能的細分。
    3.系統(tǒng)資源的分配。
    4.算法的設(shè)計。
    5.程序流程圖的繪制。
    新手們常常喜歡跳過這個階段,蠢蠢欲動地直接上機去寫程序,邊寫邊調(diào)。滿以為這樣可以加快進度,結(jié)果往往事倍功半,反而耽誤了時間。
    其實,磨刀不誤砍柴工。這個階段付出的辛苦,將在后面幾個階段獲得N倍的報答。反之,這個階段的任何一點懈怠,都有可能為以后的工作埋下禍根。
三、代碼編寫階段
    這個階段就是我們平時所謂的寫程序了,其實是最沒技術(shù)含量的活,誰都能干。這個階段最基本的要求就是盡量減少筆誤現(xiàn)象,并且嚴格遵守編程規(guī)范。
    根據(jù)經(jīng)驗,筆誤現(xiàn)象是無法完全杜絕的。筆誤屬于低級錯誤,其實并不可怕。即使存在一些筆誤,也可在下一步調(diào)試階段糾正。事實上,現(xiàn)在許多編譯器已經(jīng)可以為我們發(fā)現(xiàn)許多筆誤現(xiàn)象。
    真正需要注意的是遵守編程規(guī)范。一個規(guī)范的程序文本,不但是審美的要求,而且更是后續(xù)調(diào)試和修改工作得以勝利進行的保證。 關(guān)于編程規(guī)范,如果展開來講的話,完全可以寫一本書。
    1.向前兼容原則
    對于單個程序員來說,效率來自于不斷積累。這時要奉行的最高原則就是向前兼容。
    我們知道,許多有經(jīng)驗的編程老手,都擁有自己的程序模塊庫。當他們需要設(shè)計一個新的程序時,只要直接從舊的項目中抽取出成熟模塊,移植到新的項目中。七拼八湊,就完成了新程序的設(shè)計。這極大提高了開發(fā)速度。
    為了讓這些模塊,能夠在不同時期的不同項目中,保持較好的兼容性,必須讓它們遵守相同的規(guī)范。
    因此,要盡快形成個人成熟、完善的程序風格。
    2.相互兼容原則
    對于一個開發(fā)團隊來說,效率來自于分工協(xié)作。這時要奉行的最高原則就是相互兼容。
    在團隊中,編程者個人技巧的重要性被降低。甚至這些不和規(guī)范的技巧,會成為合作者之間溝通的障礙。
    團隊中的個人英雄主義是失敗的先兆。而團隊默契配合,才是成功的關(guān)鍵因素。
    因此,有必要制定統(tǒng)一的編程規(guī)范,讓團隊中的伙伴一起遵守,避免各自為政、一盤散沙。
四、產(chǎn)品調(diào)試階段
    這個階段就是要驗證前面的工作,把程序調(diào)通。
    在這里,調(diào)通的概念并不是說,程序在正常狀態(tài)下,偶然正確運行那么一回就算萬事大吉。我們要保證,程序在各種可能的狀態(tài)(包括異常狀態(tài))下都能按預(yù)期的要求工作。
    曾經(jīng)聽說,某某高手一口氣寫了N多K的程序,沒有經(jīng)過調(diào)試,一次燒片就成功了。我覺得這簡直就是神話一般不可思議。我堅信一點,就是沒有BUG的程序是不存在的。這年頭,就連Windows XP都渾身是補丁,誰又能宣稱自己比比爾蓋茨還牛呢?
    調(diào)試階段要做的兩件重要事情:一是測試,就是要進可能多地找出程序中的BUG;二是DEBUG,就是要解決這些BUG。
    找不出BUG,或解決不了BUG,都是失敗。
    程序員往往更善于解決BUG,卻不善于發(fā)現(xiàn)BUG。這是由于程序員面對自己的程序,往往會存在視覺盲點。這就像禿子看不到自己的光頭一樣。另一方面,程序員即使發(fā)現(xiàn)BUG,但由于程序是自己寫的,往往不能正視之。這是一種思維障礙,就像我們常常不愿承認自己的缺點一樣。因此,最好的解決辦法,是在程序(產(chǎn)品樣品)交付客戶之前,請其他人員進行測試檢驗。
    在找到BUG后,需要程序員去分析問題并解決問題了。這才體現(xiàn)個人功力,拉開差距的時候呢。高手和低手的差別就在這時顯現(xiàn)出來。
五、產(chǎn)品維護階段
    這個階段是指產(chǎn)品在推向市場或交付客戶后,根據(jù)市場或客戶需求,進行升級維護,當然也包括進一步對隱形BUG的消除。
    一個得不到維護的產(chǎn)品,是沒有生命力的。就像一顆已經(jīng)死亡的樹,雖然表面上看來還枝繁葉茂,但實際上它已經(jīng)停止生長,遲早要腐化掉。
    同樣道理,一款常年不更新?lián)Q代的電子產(chǎn)品,會像過去的明星漸漸被人遺忘一樣,逐漸丟失市場份額,而產(chǎn)品維護,是延長產(chǎn)品生命周期的不二法門。
    產(chǎn)品如何才能經(jīng)歷歲月的考驗,千錘百改,依然生機勃勃?
    1.養(yǎng)成良好的編程習慣
    程序應(yīng)該模塊化,就像積木一樣,便于拆卸或增加。
    對于MCU的一些資源,如RAM寄存器或I/O口,甚至包括一些常數(shù),必須先定義在使用,避免直接使用。將來需要調(diào)整時,只要修改定義部分就好了。
    對于相同或類似的程序段,應(yīng)該用子程序來實現(xiàn)。如果受堆棧等資源限制,不能使用子程序,則應(yīng)該用宏來實現(xiàn)。只要以后需要修改時,只需要改一點,無需改一片。
    2.自覺加強版本管理
    詳細記錄每個程序版本的修改細節(jié),形成一份歷史記錄。并且,每次改動后的版本都應(yīng)該保留,新版本不要覆蓋老版本的文件。一個基本原則是,凡是要燒片測試或送樣的程序版本,如需要再做修改,必須升級版本號。
    并且,每次修改程序時,相關(guān)的注釋及輔助說明文檔也應(yīng)該同步更新。免得下次再改時,發(fā)現(xiàn)對不上號。
    所有程序版本應(yīng)該妥善歸類、存檔備份。有條件最好刻成光盤,避免日久年長因病毒或硬盤損壞而丟失。













歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1