国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

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

王 玨/Wang Jue

?

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

王 玨/Wang Jue

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

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

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

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

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

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

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

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

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

注釋

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

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

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

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

收稿日期:2015-1-26

中圖分類號(hào):E8

文獻(xiàn)標(biāo)識(shí)碼:A

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

猜你喜歡
孫子兵法孫子代碼
《孫子兵法》組歌
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
孫子壵
孫子垚
孫子垚
孫子
談對(duì)《孫子兵法》原文的理解