• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      運用孫子兵法思想搞好軟件開發(fā)

      2016-04-25 08:58:40WangJue
      孫子研究 2016年1期
      關(guān)鍵詞:孫子兵法孫子代碼

      王 玨/Wang Jue

      ?

      運用孫子兵法思想搞好軟件開發(fā)

      王 玨/Wang Jue

      作為長期從事科研工作的我來說,原以為那些兵法之書讀來是很乏味的,也曾以為生活與那些兵法相差甚遠,讀來也只是浪費時間和精力。但通過前段時間對《孫子兵法》的研讀,打消了原本幼稚的想法,被其中高深的謀略和杰出的智慧所俘虜了。在當今社會,科學(xué)技術(shù)在國防科技中扮演的角色越來越突出,正如習(xí)近平在中國科學(xué)院第十七次院士大會中指出“科技是國家強盛之基,創(chuàng)新是民族進步之魂”。國際間的實力較量已從過去側(cè)重軍事力量的較量,讓位于經(jīng)濟力量的競爭,特別表現(xiàn)為科技實力的競爭。治學(xué)如治兵,《孫子兵法》中的謀略思想,同樣是指導(dǎo)科研工作的法寶。以軟件開發(fā)來說,如能應(yīng)用孫子兵法思想來把握一些環(huán)節(jié),將如虎添翼,事半功倍。

      一 、注重“知彼知己”,通過需求分析實現(xiàn)“百戰(zhàn)不殆”

      孫子曰:“知彼知己者,百戰(zhàn)不殆;不知彼而知己,一勝一負;不知彼,不知己,每戰(zhàn)必殆?!保ā秾O子·謀攻篇》)這句話告訴我們,既要了解敵人,又要了解自己,則經(jīng)歷上百次戰(zhàn)斗也不會有危險;不了解敵人,只了解自己,或許會勝利;但既不了解敵人也不了解自己,則每次用兵都會遭遇到危險。孫子重知、更重先知、反對不知的思想,體現(xiàn)了他對信息的高度重視,他把“知”看作是正確指導(dǎo)戰(zhàn)爭勝利的先決條件。同樣,進行軟件開發(fā),也必須體察“彼”“己”,做到知彼知己。在軟件開發(fā)中所謂“彼”,一是要掌握外界的研發(fā)動態(tài),避免重復(fù)研究和滯后研究;二是深入進行需求分析,瞄準客戶需求搞研發(fā)。①很長時間里人們一直誤認為需求分析是整個軟件開發(fā)中的一個簡單步驟,未能引起足夠重視,但實踐證明它是整個過程中的重中之重。只有通過軟件需求分析,才能確定主攻方向,也才能把軟件功能和性能的總體概念描述為具體的軟件需求規(guī)格說明,從而奠定軟件開發(fā)的基礎(chǔ)。許多大型應(yīng)用系統(tǒng)的失敗,歸根到底是需求分析的失?。阂传@取需求的方法不當,使得需求分析不到位或不徹底,導(dǎo)致開發(fā)者反復(fù)多次地進行需求分析,致使設(shè)計、編碼、測試無法順利進行;要么客戶配合不好,導(dǎo)致客戶對需求不認可,或客戶需求不斷變化,同樣致使設(shè)計、編碼、測試無法順利進行。所謂“己”,主要指項目組自身的實力,包括項目經(jīng)理的領(lǐng)導(dǎo)能力、技術(shù)人員科研開發(fā)能力、整個團隊協(xié)作能力等。因此,項目經(jīng)理要能夠準確地對團隊中每個成員進行合理評估,善于發(fā)掘隊員潛力,發(fā)揮各自優(yōu)勢,有的放矢地靈活指揮,最大限度地提升團隊效率。與此同時,更要及時準確地掌握項目運作情況以及階段性成果等,并依此制定和調(diào)整計劃。否則,就會脫離實際而迷失方向。

      二、重視“廟算”,通過概要設(shè)計實現(xiàn)“先勝而后求戰(zhàn)”

      孫子曰:“夫未戰(zhàn)而廟算勝者,得算多也;未戰(zhàn)而廟算不勝者,得算少也。多算勝,少算不勝,而況于無算乎!”(《孫子·計篇》)這句話告訴我們拉開戰(zhàn)斗序幕之前,就已“廟算”周密,充分估量了有利條件和不利條件,開戰(zhàn)之后往往會取得勝利;拉開戰(zhàn)斗序幕之前,沒能進行周密“廟算”,很少分析有利條件和不利條件,開戰(zhàn)之后往往會失敗,更何況開戰(zhàn)之前無“廟算”呢?孫子認為,“未戰(zhàn)而廟算”對戰(zhàn)爭勝負起著決定性的作用。也就是說,戰(zhàn)前一定要反復(fù)計議,權(quán)衡比較,透徹分析,科學(xué)決策,做到目標明確、條件具備方可行動,力避盲目性。

      在軟件開發(fā)中,概要設(shè)計(系統(tǒng)設(shè)計)是決定軟件性能高低的重要因素,關(guān)系到整個項目的成敗。因此,必須深思熟慮,進行“廟算”。由于盲目決策而造成科研項目失敗的事例,比比皆是。某些決策失誤,可以設(shè)法挽回,但重大決策失誤,將造成不可挽回的損失。因此,在軟件開發(fā)前應(yīng)該綜合考慮軟件系統(tǒng)可靠性、健壯性、可修改性、效率性、可擴展性等因素,設(shè)計合理的系統(tǒng)框架,力求為軟件開發(fā)夯實基礎(chǔ)。如軟件系統(tǒng)的可靠性,隨著軟件功能的擴展及用戶需求的提升,軟件系統(tǒng)規(guī)模越做越大,越來越復(fù)雜,其可靠性越來越難保證。軟件本身對系統(tǒng)運行的可靠性要求越來越高,軟件系統(tǒng)的可靠性也直接關(guān)系到軟件自身的聲譽和生存發(fā)展競爭能力。因此,軟件的可靠性必須在設(shè)計階段就確定,在生產(chǎn)和測試階段再考慮就困難了。

      三、善于“以迂為直”,通過合理變通實現(xiàn)“后發(fā)先至”

      孫子曰:“軍爭之難者,以迂為直,以患為利。故迂其途,而誘之以利,后人發(fā),先人至,此知迂直之計者也?!保ā秾O子·軍爭篇》)這句話強調(diào),兩軍爭奪勝利時,最難的是如何通過迂遠曲折的途徑,達到近直的目的,變不利條件為有利條件,做到晚于敵人出發(fā)而先于敵人到達目的地。在軍事戰(zhàn)略上,“直”往往是最難達到的,因為雙方的注意力都集中在此,成了實際上的“迂”;而“迂”看似緩慢,然而避實擊虛,成了實際上的“直”,“迂”與“直”往往會發(fā)生轉(zhuǎn)化。孫子這一辯證思想對軟件編碼具有重要啟迪意義。

      軟件開發(fā)的最終目的是創(chuàng)造出滿足用戶需求的軟件。因此,在頂層設(shè)計的基礎(chǔ)之上,落實到底層還是代碼的編寫。軟件編碼是指把軟件設(shè)計轉(zhuǎn)換成計算機可以接受的程序,即寫成以某一程序設(shè)計語言表示的“源程序清單”。在軟件編寫過程中無論是開發(fā)人員也好、測試人員也好,其對需求的理解是一個波浪式漸進的過程,由一開始理解得不夠全面、透徹,到具體編寫代碼過程中思路的逐步清晰,再到腦子中具體疑問的越來越多。所以,懂得了這個道理,我們就要通過迂遠曲折的途徑,達到近直的目的。在開發(fā)過程中不要只知道往前走,適當?shù)臅r候停下來,甚至往回走,重新去審視一下用戶需求,往往會有新的發(fā)現(xiàn)。此時再根據(jù)對需求的重新理解去編寫代碼,這樣就能事半功倍。在代碼編寫過程中,由于內(nèi)存沒有及時釋放、數(shù)組越界、函數(shù)返回值錯誤等問題,導(dǎo)致程序開發(fā)停滯不前時,更應(yīng)當借鑒以迂為直的思想,合理地利用代碼重用性,使開發(fā)人員在編程時提高效率,而且可以將一些比較實用的代碼有效地在其它項目中重新發(fā)揮作用。在上述情況中,把軟件代碼的直接編寫看做“直”,而將利用代碼重用性、借鑒他人的編程成果、用較短的時間達成用戶需求目的看作為“迂”。從中便不難看出,以迂為直,合理變通,后發(fā)先至,不失為軟件開發(fā)的良策。

      注釋

      ①陳妍:《談計算機軟件開發(fā)前期的建模測試》,《網(wǎng)絡(luò)安全技術(shù)與應(yīng)用》2013年第9期,第9-11頁。

      (責(zé)任編輯:薛寧東)

      摘 要:《孫子兵法》中的謀略思想,同樣是指導(dǎo)科研工作的法寶,對軟件開發(fā)有所啟示。一 、注重“知彼知己”,通過需求分析實現(xiàn)“百戰(zhàn)不殆”。二、重視“廟算”,通過概要設(shè)計實現(xiàn)“先勝而后求戰(zhàn)”。三、善于“以迂為直”,通過軟件開發(fā)實現(xiàn)“后發(fā)先至”。

      Developing Software with the Thinking of The Art of War

      Abstract:The stratagem thinking in The Art of War is also effective method directing the scientific research work, which has enlightenment for software development.First, attaching great importance to estimating correctly one's strength as well as that of one's opponent and realizing fighting one hundred battles with no danger of defeat.Second, attaching great importance to estimation and realize that a victorious army always seeks battle after his plans indicate that victory is possible under them through sketch design.Third, being good at making the devious route the most direct and through software development to realize getting to destination first despite starting late.

      關(guān)鍵詞:孫子兵法軟件開發(fā)啟示

      Key Words:The Art of War; Software Development; Enlightenment

      作者簡介:王玨,中國人民解放軍國防大學(xué)研究生院博士研究生、上尉。

      收稿日期:2015-1-26

      中圖分類號:E8

      文獻標識碼:A

      文章編號:2095-9176(2016)01-0086-03

      猜你喜歡
      孫子兵法孫子代碼
      《孫子兵法》組歌
      黃河之聲(2021年11期)2021-09-18 03:08:24
      創(chuàng)世代碼
      動漫星空(2018年11期)2018-10-26 02:24:02
      創(chuàng)世代碼
      動漫星空(2018年2期)2018-10-26 02:11:00
      創(chuàng)世代碼
      動漫星空(2018年9期)2018-10-26 01:16:48
      創(chuàng)世代碼
      動漫星空(2018年5期)2018-10-26 01:15:02
      孫子壵
      孫子垚
      孫子垚
      孫子
      小說月刊(2015年9期)2015-12-16 18:05:20
      談對《孫子兵法》原文的理解
      軍事歷史(2002年1期)2002-08-16 07:33:00
      含山县| 兖州市| 克东县| 海淀区| 五家渠市| 新兴县| 柳林县| 湾仔区| 安阳市| 浦城县| 玛多县| 岳池县| 金昌市| 涟水县| 黑水县| 东源县| 佛坪县| 云梦县| 安远县| 江华| 桂阳县| 徐州市| 易门县| 独山县| 洛阳市| 壶关县| 习水县| 西城区| 会东县| 怀仁县| 蛟河市| 柞水县| 当雄县| 新乡市| 靖安县| 敦煌市| 阿拉尔市| 庄浪县| 麦盖提县| 罗田县| 唐海县|