大道至簡

出版時(shí)間:2010年1月  出版社:電子工業(yè)出版社  作者:周愛民  頁數(shù):228  
Tag標(biāo)簽:無  

前言

  心跳是什么聲音?  請問您——尊敬的讀者:心跳是什么聲音?此時(shí),你我的心在跳著——這是顯而易見的事,但是,你知道心跳是什么聲音嗎?  也許有人聽到過。例如從電視里,或者從醫(yī)院的重癥監(jiān)護(hù)設(shè)備這類儀器里聽到過“嗶嗶”的聲音。然而我想問:“你——自己的心跳是什么聲音?”  其實(shí),把手放在左胸,我們就能感受到心跳;用手捂住耳朵,我們就可以聽得見心跳的聲音。也許,這么多年來,我們許多人從來沒有覺得自己的心在跳著,也沒有聽到過它跳動(dòng)的聲音。因?yàn)?,我們也許從來沒有去嘗試過認(rèn)清自己?! ∧愕男奶惻c常人嗎?比如有點(diǎn)雜音,又比如節(jié)拍上比別人慢上0.1秒?有可能嗎?當(dāng)然,完全有可能,我們的心臟在結(jié)構(gòu)和機(jī)制上基本是一樣的,但運(yùn)作起來的時(shí)候,或許會(huì)稍稍有不同。例如你與臨座的同事?lián)碛邢嗤男奶l率的機(jī)率,其實(shí)微乎其微?! ∷?,你想與他,或者更多的人“齊心協(xié)力”嗎?而這,原本就是一件不可能的事情啊?! ≈匦抡J(rèn)識(shí)我們自己  首先,如同我們并不了解自己一樣,對于我們這個(gè)項(xiàng)目團(tuán)隊(duì),乃至于整個(gè)軟件行業(yè)中的許多人,也許都從來沒有去嘗試過認(rèn)清我們自己。如此,我們又妄談什么開發(fā),又妄談什么工程呢?  你認(rèn)為你呆在一個(gè)“敏捷的”團(tuán)隊(duì)里面嗎?或者是呆在一個(gè)“正規(guī)的、工程化的”團(tuán)隊(duì)里面嗎?或者,你就只是呆在一個(gè)“松散組織”里面,三個(gè)星期以來,還沒有與對面的那位大胡子兄弟打過一次招呼……  你認(rèn)為這就是“我們自己”嗎?那個(gè)被稱為“敏捷團(tuán)隊(duì)”、“工程化團(tuán)隊(duì)”或“松散組織”的一群人,就是“我們”?我們用這些名詞的時(shí)候,只是我們“仿佛像是”這些個(gè)名詞而已。然而請注意,原先說出類似這些名詞的人,現(xiàn)在有些已經(jīng)作古,有些活到了七老八十,還有些已經(jīng)在開始抽自己的耳光了。而且,更加重要的是,這些人——他們——遠(yuǎn)在千里之外、異國它鄉(xiāng),處于不同的文化背景、教育背景、歷史背景與工程背景等等之下,他們說出這些名詞的時(shí)候,代表的是他們——他們自己的——那個(gè)確定的團(tuán)隊(duì)?! ∫约?,他們的確定的心跳。  東施效顰有什么不對嗎?沒什么不對,“效顰”這件事情實(shí)在太正確了,以至于無法反駁:愛美之心人皆有之,與追求先進(jìn)的科學(xué)技術(shù)生產(chǎn)力一樣都是人的、社會(huì)的本性。東施的問題只在于她未能在“效顰”之前看看自己的面目,也未能在“效顰”之后看看自己的面目——多數(shù)的人,多數(shù)的團(tuán)隊(duì),能做到這件事情的一半,就已經(jīng)很了不起了?! 〕髴B(tài)總是有的,我們只是不自知,也或者不自認(rèn)罷了?! ∈虑樵竞唵巍 ∮幸粋€(gè)實(shí)驗(yàn),當(dāng)把完全一樣但左右反轉(zhuǎn)的兩張肖像照片給到這個(gè)人面前,并暗示他其中有一張做過細(xì)微處理時(shí),那個(gè)人通常會(huì)認(rèn)為反轉(zhuǎn)過的那張照片里面是真正的自己。這其中的原因,在于人們總是從鏡子中看到自己的一個(gè)反相,所以主觀上會(huì)認(rèn)為照片中照出來的、正面的形相便是假的了?! ∑鋵?shí),捂住耳朵去聽以及舉起鏡子來看,都不過是舉手之勞。前者或許是一生中從未做過的事,后者可能是一生中天天在做的事情,而兩者相同之處在于:做與不做,我們都沒有了解過“這件事情”本身?! ∷^“大道至簡”,就是說事情原本是簡單的:我們不是不知道,而只是認(rèn)識(shí)沒達(dá)到罷了。思想與行為本是脫節(jié)的,我們陷于行為而無有思想,所以手把鏡子舉幾十年,不過是照見了一個(gè)反面的自己;所以你的、我們的工程已經(jīng)做了這么久,卻做成了一個(gè)個(gè)反面的樣本。  “停下來,思考才是進(jìn)步的本質(zhì)”,李維先生在本書第二版的序中說的這句話,是人生之洞見,求知之雋哲。然而,你停下來了嗎?然而,你知道“停下來”僅僅只是行為,而不是思想本身嗎?  知行如一只是追求,而知行不一,本才是一個(gè)人的常態(tài)啊?! ↑c(diǎn)評版的一些說明  這五年來,我漸漸地接受了關(guān)于這本書的種種聲音。甚至我越來越想聽到更多的聲音,只要這聲音中包含著思考。思想是一種過程,而非某種確定的結(jié)果。所以言及你我的觀點(diǎn)的時(shí)候,所謂的正確與錯(cuò)誤,只有一時(shí)一事的分別。 更重要的,是要看到談?wù)撜咴谶@其中的思想與背景?! ∥以絹碓缴羁痰捏w會(huì)到背景對于工程實(shí)踐者以及他們的團(tuán)隊(duì)的實(shí)質(zhì)影響,因此也越來越想看到不同背景下的同仁們、前輩們,以及專學(xué)者是如何理解工程的。這是我邀請這許多師者友人來合做《大道至簡》點(diǎn)評版的初衷。所以在點(diǎn)評版的邀請函中,我曾告訴各位專家:我不對任何言論做出任何的辯解。我希望讀者聽到一些更加真實(shí)的聲音,了解他們的思想。這些聲音與思想是未經(jīng)詮解的,未加修飾的,未有私念的??傊?,各位專家是在為這本書的文字而闡發(fā)觀點(diǎn),還是這些文字只是引子,讓大家有機(jī)會(huì)說出了某些觀點(diǎn),等等這些“貌似的根源”其實(shí)并不關(guān)鍵?! 「鼮殛P(guān)鍵的是:我不能去干擾這一切。正如秋桐夜雨,你我能聽,已是幸甚;能有所感,便是美事;能知其美方是智者,知其寒方是醒客。讀書、做事、寫文章等等行事之中,我們在大多數(shù)時(shí)候,忘掉了聽?! ≡谶@本點(diǎn)評版中,我新加了一章“具體工程”。這出自我在讀《人月神話》時(shí)的許多感受。在近兩年的實(shí)踐中,我不停地關(guān)注與審視這一觀念,補(bǔ)充它、完善它,最終,它成了本書中完整的一章。這既是對我以前所謂“靈活的工程(flexible engineering)”的最終注解,也是實(shí)現(xiàn)工程靈活性的必由之路?! 〉谌娴脑龈摹 〉谌妫c(diǎn)評版)增加了六位專家的134條點(diǎn)評內(nèi)容。我自己新寫了第十章“具體工程”?! 〉谑徽拢ㄔ谑拢┑摹暗诎斯?jié) 靈活的軟件工程”作了較多的刪減?! ∪サ袅艘恍┱闹械牟鍒D?! ∫恍┰~句上的勘誤與修改?! ≈轮x  感謝這本書的讀者們?! 「兄x各位點(diǎn)評專家?! 「兄x那些在這本書的撰寫、編排、出版中給我?guī)椭耐?、好友與同行專家們。  最后,感謝愛我和我所深愛的妻?! ≈軔勖瘛 ?009年9月

內(nèi)容概要

  “不惟說好,不怕說壞”?! ∽灾觥⒊霭妗洞蟮乐梁啞浖こ虒?shí)踐者的思想》五年來,軟件工程界可有新思?作者周愛民先生又對軟件工程有了何種理解?在五年后,作者邀請不同背景的六位工程理論與實(shí)踐領(lǐng)域的專家,從不同角度對《大道至簡》進(jìn)行點(diǎn)評;并新著 “具體工程”一章,矛頭直指《人月神話》,進(jìn)一步歸納了作者五年來在軟件工程方向上的探索與反思。一本《大道至簡》講不完整個(gè)軟件工程。那么,它到底講了些什么?有什么疑問?未來該往何處去探索?作者五年來思考的這些問題,在“點(diǎn)評版”里一一陳述。

作者簡介

  周愛民(Aimingoo),有十余年的軟件開發(fā)、項(xiàng)目管理、團(tuán)隊(duì)建設(shè)的經(jīng)驗(yàn)。曾任多家軟件公司高級(jí)程序設(shè)計(jì)師、項(xiàng)目經(jīng)理、部門經(jīng)理、區(qū)域總經(jīng)理等職,現(xiàn)任支付寶(中國)公司業(yè)務(wù)架構(gòu)師。目前主要從事軟件工程、體系架構(gòu)和語言基礎(chǔ)方面的研究與實(shí)踐。

書籍目錄

第1 章編程的精義/001第1 節(jié)編程的精義/002第2 節(jié)能不能學(xué)會(huì)寫程序的問題/004第3 節(jié)程序= 算法+ 結(jié)構(gòu)/005第4 節(jié)語言/006第5 節(jié)在沒有工程的時(shí)代/ 007第2 章是懶人造就了方法/ 011第1 節(jié)是懶人造就了方法/ 012第2 節(jié)一百萬行代碼是可以寫在一個(gè)文件里的/013第3 節(jié)你桌上的書是亂的嗎/ 015第4 節(jié)我的第一次思考:程序= 算法+ 結(jié)構(gòu)+ 方法/017第3 章團(tuán)隊(duì)缺乏的不只是管理/023第1 節(jié)三個(gè)人的團(tuán)隊(duì)/024第2 節(jié)做項(xiàng)目= 死亡游戲/ 025第3 節(jié)做ISO質(zhì)量體系的教訓(xùn)/ 027第4 節(jié)誰動(dòng)搖了你的制度/ 029第5 節(jié)“那我們就開始開發(fā)吧” /031第6 節(jié)組織的學(xué)問:角色/ 032xxiv 大道至簡——軟件工程實(shí)踐者的思想(點(diǎn)評版)第7 節(jié)跟隨螞蟻,但不要栽進(jìn)螞蟻洞里/ 034第8 節(jié)“什么是增值稅發(fā)票?” /035第4 章流于形式的溝通/041第1 節(jié)客戶不會(huì)用C,難道就會(huì)用UML嗎/.042第2 節(jié)項(xiàng)目文檔真的可以用甲骨文來寫/ 044第3 節(jié)溝通的三層障礙/046第4 節(jié)最簡溝通/ 049第5 節(jié)為不存在的角色留下溝通的渠道/ 052第6 節(jié)流于形式的溝通/054第5 章失敗的過程也是過程/ 057第1 節(jié)做過程不是做工程/ 058第2 節(jié)做過場/ 060第3 節(jié)實(shí)現(xiàn),才是目的/060第4 節(jié)過程不是死模型/061第5 節(jié)“刻鵠類鶩”與“畫虎類狗” / 063第6 節(jié)工程不是做的,是組織的/065第6 章誰是解結(jié)的人/067第1 節(jié)是誰的問題/068第2 節(jié)正視你的成功/070第3 節(jié)總得先做點(diǎn)兒什么吧/ 072第4 節(jié)你不是團(tuán)隊(duì)的腿/074第5 節(jié)三鼓而竭/ 077第6 節(jié)先人后己/080第7 節(jié)自相矛盾/ 082第7 章從編程到工程/085第1 節(jié)語言只是工具/086第2 節(jié)關(guān)注點(diǎn)/ 088第3 節(jié)程序/089第4 節(jié)方法/089第5 節(jié)過程/090第6 節(jié)工程/091目錄xxv第7 節(jié)組織/093第8 節(jié)BOSS/095第9 節(jié)上帝之手/ 096第8 章你看得到工具的本質(zhì)嗎/101第1 節(jié)利器何以為先/102第2 節(jié)神乎其技又有什么用呢/103第3 節(jié)工具的本質(zhì)/105第4 節(jié)惟手熟爾/ 107第5 節(jié)魯班帶了個(gè)壞頭/108第6 節(jié)工匠思想/ 110第7 節(jié)化而用之,融通與融同/113第8 節(jié)南橘北枳/ 116第9 章現(xiàn)實(shí)中的軟件工程/ 121第1 節(jié)大公司手中的算盤/ 122第2 節(jié)思考項(xiàng)目成本的經(jīng)理/ 126第3 節(jié)審視AOP / 128第4 節(jié)審視MDA/MDD/130第5 節(jié)審視AP和XP / 132第10 章具體工程/139第1 節(jié)預(yù)言——《人月神話》及其地位/ 140第2 節(jié)錯(cuò)誤的命題——對《人月神話》的反思/143第3 節(jié)具體工程及工程的具體化/145第4 節(jié)控制規(guī)模/ 149第5 節(jié)隔離問題域/153第6 節(jié)這樣是不是太簡單了? /155第7 節(jié)鄭人的履/ 157第11 章是思考還是思想/159第1 節(jié)軟件工程三個(gè)要素的價(jià)值/160第2 節(jié)其實(shí)RUP是一個(gè)雜物箱/161第3 節(jié)UML與甲骨文之間的異同/162第4 節(jié)經(jīng)營者離開發(fā)者很遠(yuǎn),反之亦然/ 163xxvi 大道至簡——軟件工程實(shí)踐者的思想(點(diǎn)評版)第5 節(jié)矛盾:實(shí)現(xiàn)目標(biāo)與保障質(zhì)量/164第6 節(jié)枝節(jié)與細(xì)節(jié)/165第7 節(jié)細(xì)解“法”與“式” / 166第8 節(jié)靈活的軟件工程/169附錄A 愚公移山記/171附錄B 愚公移山記(文言)/179參考文獻(xiàn)/185索引/187前言后語/189設(shè)計(jì)手記/195編輯手記/197

章節(jié)摘錄

  第2章 是懶人造就了方法  第1節(jié) 是懶人造就了方法  戰(zhàn)國時(shí)期的李冰鑿了一座山?!  妒酚洝分姓f李冰在成都做太守的時(shí)候鑿出了離堆。一種說法是他將都江堰附近的玉壘山鑿了一個(gè)叫寶瓶口的大口子,而鑿的石頭就堆成了離堆。另一說,則是李冰的確鑿了一座崖,但是在沫水,亦即今天的大渡河?! ≡谀睦镨彽纳剑鞘穼W(xué)家都說不清楚的事。但的確鑿了一座山,而且方法是“(因)其崖嶄峻不可破,(冰)乃積薪燒之”?! ∥覀円呀?jīng)看到事物的進(jìn)化了?!读凶印珕柶防锏挠薰八槭瘬羧馈?,而李冰就已經(jīng)懂得“積薪燒之”了?! ?huì)有人說愚公是“碎石”,但史書中并沒有說他究竟是零敲碎打呢,還是用火來燒爆掉。但想想在那個(gè)時(shí)代,如果有人懂得了燒石頭這個(gè)方法,哪有不立即載文志之,永世傳承的。  再說了,愚公嘛。愚者怎么會(huì)呢?這還需要分析嗎?需要嗎?  所以愚公會(huì)鑿,而李冰會(huì)燒。那李冰又為什么會(huì)用“燒”這種方法來碎石呢?如果李冰也像愚公那樣日復(fù)一日地督促著他的團(tuán)隊(duì)鑿石開山,那他一定沒有時(shí)間來學(xué)習(xí)、尋找或者觀察;當(dāng)然也不會(huì)發(fā)現(xiàn)“燒”這種方法可以加快工程進(jìn)度,使得一大座山在短時(shí)間內(nèi)就被嘩啦嘩啦地給“碎”掉了?! ∫览畋膱F(tuán)隊(duì)可是成百上千人,要修堰筑壩,要“鑿離堆”,當(dāng)然還要吃喝拉撒睡。所以李冰如果忙起來,必然是“受命以來,夙夜憂嘆”,必然食難下咽,睡無安枕。反之,李冰一定是個(gè)閑人,可以閑到?jīng)]事去看火能不能把石頭燒爆?! ≡谶@么大的工程里,如果有一個(gè)人會(huì)閑到看火燒石頭,你說他不是賴是什么?  正是一個(gè)懶人造就了“燒石頭”這個(gè)“碎石”的方法。愚公太勤快了,勤快到今天可以比昨天多鑿一倍的石頭。或許在愚公的項(xiàng)目計(jì)劃案的首頁就寫著朱批大字“吾今勝昨倍許,明勝今倍許,而山不加增,何苦而不快。”

媒體關(guān)注與評論

  一本書,一個(gè)軟件思想和創(chuàng)意的T臺(tái)大道  我很贊成Xin Zou 把這本書形容為模特兒行走的T臺(tái)大道,從原來Aimingoo的個(gè)人獨(dú)秀,發(fā)展成為眾多美女俊男,有的衣著光鮮迷人,有的簡樸天然,相映成趣,氣象萬千?! o論是那一個(gè)行業(yè),其領(lǐng)頭的國度或城市,都擁有最豪華的T臺(tái)大道。例如,中國唐朝中原成為詩人的T臺(tái)大道,當(dāng)今法國巴黎擁有最時(shí)髦的服裝秀T臺(tái),以及西班牙巴塞羅那蘭布拉(La Rambla)大道成為歐洲最活躍的街頭藝術(shù)表演大道。  如今,Aimingoo布建了一個(gè)軟件思想和創(chuàng)意走秀的舞臺(tái),如果未來繼續(xù)發(fā)展成為軟件產(chǎn)業(yè)最豪華的T臺(tái)大道,很可能意味著中國軟件業(yè)將邁向“工匠,團(tuán)隊(duì)工程,產(chǎn)業(yè)創(chuàng)意設(shè)計(jì)”三者融合為一體的成熟產(chǎn)業(yè),也很可能成為產(chǎn)業(yè)界的領(lǐng)頭羊?! ‰m然我無緣倘佯于唐朝的詩人舞臺(tái),也還沒機(jī)會(huì)親臨巴黎的服裝秀T臺(tái),不過我在西班牙工作之余,卻常攸游于蘭布拉大道,夢想著軟件人員的走秀舞臺(tái)。唯有在豪華的T臺(tái)大道上才有機(jī)會(huì)激蕩出偉大創(chuàng)意的軟件,也才能讓從只能賺小錢的嚴(yán)格工程化軟件,逐漸蛻變?yōu)槟苜嵈箦X的人性創(chuàng)意化軟件?! 【驮诮衲辏?009)的4月份,突然接獲Aimingoo的T臺(tái)走秀通告,且曰:“或立或論或評或述,盡隨先生意便可?!弊屛蚁渤鐾?,毫不猶疑地跳上舞臺(tái),搔首弄姿一下,以饗讀者和激勵(lì)讀者。并撰寫此序言以志之?! 「邿ㄌ谩 ?009.09  軟工系統(tǒng)模型的未來走向  我從事軟件工程(簡稱為軟工)的研究至今30余年,讀了周愛民這本《大道至簡--軟件工程實(shí)踐者的思想》,我心有戚戚焉。的確,大道至簡乃是所有軟件工程師所追求的理想?! ≈劣谝绾蔚玫酱蟮乐梁喣??系統(tǒng)模型是一個(gè)正中紅心的下手之處。系統(tǒng)模型是項(xiàng)目規(guī)劃、成本估算、項(xiàng)目計(jì)劃、風(fēng)險(xiǎn)管理、項(xiàng)目排程與追蹤、組態(tài)管理、軟件質(zhì)量保證、系統(tǒng)分析與設(shè)計(jì)等等所依據(jù)的。唯有求得一個(gè)好的系統(tǒng)模型,則軟件工程的大道至簡方有可成之時(shí)?! ∫粋€(gè)軟件可能是由數(shù)百個(gè)結(jié)構(gòu)元素(或稱零件)所組合成的。軟件工程所討論的對象是這一個(gè)軟件,而不是這些個(gè)別的結(jié)構(gòu)元素。軟件的學(xué)問在于系統(tǒng)模型,講究大道至簡;結(jié)構(gòu)元素的學(xué)問在于Algorithm和Object-Oriented Programming,講究執(zhí)行效率?! ∥覀€(gè)人在美國工作時(shí)發(fā)明結(jié)構(gòu)行為合一(Structure-Behavior Coalescence,簡稱為SBC)軟件架構(gòu)。這些年來,我將“SBC軟件架構(gòu)”當(dāng)作軟件工程的系統(tǒng)模型,成效不錯(cuò)?! ≈軔勖癫捎肊HM圖來當(dāng)軟件工程的系統(tǒng)模型,是一項(xiàng)不錯(cuò)的嘗試。不過我要提醒大家的是,未來要盡量將EHM圖往軟件架構(gòu)的意境方向移動(dòng),而不要將EHM圖往結(jié)構(gòu)元素的意境方向移動(dòng)。畢竟,結(jié)構(gòu)元素的學(xué)問在于Algorithm和Object-Oriented Programming,講究執(zhí)行效率,不太講究大道至簡;而軟件架構(gòu)的學(xué)問才真實(shí)地在于系統(tǒng)模型,非非常常地講究大道至簡?! ≮w善中  2009年8月 于 Austin, Texas, USA

編輯推薦

  作者周愛民邀請《編程之美》作者鄒欣、《走出軟件作坊》作者呂建偉、臺(tái)灣OOP之父高煥堂等六位專家坐而論道?! 墓こ虒?shí)踐和理論研究兩個(gè)角度探索軟件工程該往何處去?! ∵@是一本閃爍著思考光芒的作品,它的精彩就在于作者深入的思考?!  Y濤 CSDN總經(jīng)理《程序員》總編輯  停下來,思考才是進(jìn)步的本質(zhì)?!  罹S原Borland/Code Gear公司大中華區(qū)首席技術(shù)官  傳達(dá)了探究工程本質(zhì)的獨(dú)立思考精神。期待它能激發(fā)朋友們的共鳴,知其然且知其所以然,以至簡之道應(yīng)變?nèi)f端?!  T群釗 盛大游戲總裁兼首席技術(shù)官  就如本書,最后所有的故事、理論不過是為了理解一個(gè)公式、陳述一幅圖形而已?!  蹶籇ELPHIBBS總版主平臺(tái)架構(gòu)師  體現(xiàn)了一個(gè)軟件開發(fā)人員的認(rèn)真的思考,展現(xiàn)了他的獨(dú)特思想。  ——鄒欣 點(diǎn)評專家  《大道至簡》和《走出軟件作坊》,一莊一諧,用自己的深思與實(shí)踐,探索中國軟件工程實(shí)踐之路?!  獏谓▊?阿朱) 點(diǎn)評專家  實(shí)踐出真知,軟件工程領(lǐng)域尤其如此,作者以本書將這些真知灼見做了一次傾情奉獻(xiàn)?!  醅| 點(diǎn)評專家  這本書對軟件項(xiàng)目管理生動(dòng)的探討——在點(diǎn)評版更顯其特色,是對軟件項(xiàng)目管理實(shí)踐的“格物致理”?!  狶wT點(diǎn)評專家

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    大道至簡 PDF格式下載


用戶評論 (總計(jì)0條)

 
 

推薦圖書


 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7