出版時(shí)間:2007-3 出版社:電子工業(yè)出版社 作者:周愛(ài)民 頁(yè)數(shù):168
Tag標(biāo)簽:無(wú)
前言
前言 “你在做什么?”我經(jīng)常這樣反問(wèn)那些跑來(lái)問(wèn)我問(wèn)題的人們。然后他們就愣住了。. 做了許多年的開(kāi)發(fā),其實(shí)有很多人并不知道“自己在做什么”?!队薰粕健返墓适吕锩?,愚公為山所阻,苦于“出入之迂”,然后就決定“移山”??雌饋?lái)偉大而風(fēng)光的工程,可能只是拍拍腦袋的一時(shí)主意——如果只是覺(jué)得繞路太遠(yuǎn),那么劈山開(kāi)路豈不是更加經(jīng)濟(jì)? 愚公移山只是一種精神追求,而做工程卻不是追求精神目標(biāo)。我們的目標(biāo)是完成工程,但是你現(xiàn)在環(huán)顧一下你的團(tuán)隊(duì):有多少人的眼光是落在工程本身上的呢? 程序員正在調(diào)試代碼,項(xiàng)目經(jīng)理在忙著開(kāi)會(huì),市場(chǎng)經(jīng)理在請(qǐng)客吃飯,老板可能還在來(lái)公司的路上……總之,你的身旁沒(méi)有什么人關(guān)注工程本身。即便有一個(gè)人或幾個(gè)人在像模像樣地畫(huà)著模型圖,或者寫(xiě)著需求、分析與設(shè)計(jì)書(shū),但是對(duì)于他們來(lái)說(shuō),這只是例行的工作,而不是出于工程本身的需要?! ∑鋵?shí)這也是我在幾年前的狀態(tài),同時(shí)身兼主程、團(tuán)隊(duì)負(fù)責(zé)人和項(xiàng)目經(jīng)理的時(shí)候,我列出的工作清單排滿了上班與下班的時(shí)間。我甚至忙到不知道自己有多忙。直到我將自己的角色分解到“工程層狀模型(EHM)”中,我才漸漸地梳理出自己的工作方法?! 洞蟮乐梁?jiǎn)》這本書(shū)的名字并沒(méi)有什么奧妙。因?yàn)槭窍扔辛薊HM,所以這本書(shū)根本上是隨著EHM的層次來(lái)展開(kāi)的。它的第一版曾在《程序員》中選載過(guò)三期,那時(shí)我為了方便就以《從編程到工程》作為書(shū)名。后來(lái)出電子版時(shí),才恢復(fù)到現(xiàn)在這個(gè)名字。而本質(zhì)上來(lái)說(shuō),這本書(shū)還是講的“從編程到工程”的各個(gè)環(huán)節(jié)?! ≈劣凇暗馈保鋵?shí)在乎于你的認(rèn)知。它不過(guò)是規(guī)律、本質(zhì)的代名詞?,F(xiàn)在的書(shū)名,更像是一個(gè)以程序員出身的工程實(shí)踐者,在歷經(jīng)10年后,終于領(lǐng)悟到“自己在做什么”時(shí)的一聲感嘆?! 洞蟮乐梁?jiǎn)》向你講述兩個(gè)內(nèi)容:做什么和為什么做?!白鍪裁础弊鳛橐环N狀態(tài)或者現(xiàn)象,通常是(階段性)不變的,所以人們了解自己“在做什么”時(shí)大多只需要觀察。簡(jiǎn)而言之,只需要自省,就可以了解自己的所作所為了。然而“為什么做”卻相對(duì)更難于理解,因?yàn)檫@是“表象下的實(shí)質(zhì)”,潛藏得很深:習(xí)以為常,便會(huì)根本上忘卻“習(xí)”的來(lái)由。例如項(xiàng)目總監(jiān)說(shuō)要一份計(jì)劃,你大概只需要拿一個(gè)以前做過(guò)的文檔模板,很快就能寫(xiě)出一份項(xiàng)目計(jì)劃案來(lái)。但在這個(gè)過(guò)程中,你已經(jīng)忘掉了“項(xiàng)目計(jì)劃案”真正存在的價(jià)值——寫(xiě)它的目的,并不是“完成工作”?! ?xiě)一份項(xiàng)目計(jì)劃案的時(shí)候,你的角色是項(xiàng)目經(jīng)理,你的職責(zé)是計(jì)劃與分工,你的目標(biāo)是工程的時(shí)間、進(jìn)度與質(zhì)量的平衡。這份文檔是工程的綱要,因此閱讀群體是整個(gè)團(tuán)隊(duì)和項(xiàng)目干系人。所有這些,都可能導(dǎo)致文檔的規(guī)格和措辭存在差異?! ∷阅阈枰J(rèn)識(shí)“為什么做”?! ∵@其實(shí)并不是非常困難。例如我在工程中經(jīng)常問(wèn)的問(wèn)題是“可不可以不做”——哈哈,看起來(lái)我很偷懶似的。其實(shí)不然,。因?yàn)榻酉聛?lái)我就會(huì)從不同的人那里得到“非做不可”的種種理由。 然而這是方法或者手法?!洞蟮乐梁?jiǎn)》并不告訴你這些具體的方法與手法。我只是敘述了基本的原理與思想?!洞蟮乐梁?jiǎn)》陳述的是一種途徑、一個(gè)方面,以及一些探求途徑、方面過(guò)程中的故事與思考?! ∽鍪掠袥](méi)有章法,在于你頭腦夠不夠清醒;頭腦夠不夠清醒,在于你是否視見(jiàn)到事物的本實(shí)。具體到如何做一件事(例如做軟件工程)的方法與步驟,是本書(shū)所不能告訴你的。而反過(guò)來(lái)說(shuō),如果你認(rèn)為你自己“足夠清醒”,那么這本書(shū)原本也就不會(huì)告訴你更多?! ∧阕銐蚯逍褑? 第二版的增改 寫(xiě)這一版的《大道至簡(jiǎn)》,其實(shí)用掉的時(shí)間與整個(gè)第一版差不太多。但新添加的內(nèi)容,也就兩章三節(jié)而已: 第六章,誰(shuí)是解結(jié)的人; 第八章,你看得到工具的本質(zhì)嗎; 第四章第三節(jié),溝通的三層障礙; 第九章第五節(jié),審視AP和XP; 第十章第七節(jié),細(xì)解“法”與“式”。.. 此外,第二版的《大道至簡(jiǎn)》加入了一個(gè)有趣的部分,就是九幅四格漫畫(huà)和一篇《愚公移山記》?! 〕嗽黾拥膬?nèi)容之外,本版的《大道至簡(jiǎn)》還修改了一些章節(jié)的位置。例如第七章的“關(guān)注點(diǎn)”一節(jié)。因?yàn)镋HM圖提出來(lái)的不僅僅是一個(gè)“多層”的體系,而且它的“關(guān)注點(diǎn)”也是EHM體系的一個(gè)重要部分。因此放在一起來(lái)講述,會(huì)使這個(gè)體系更加完整?! ∵€有一些細(xì)部修改。例如第一版說(shuō)李冰與愚公處于“差不多同一時(shí)間”。這經(jīng)不起考究,就改掉了?! £P(guān)于新添加的章節(jié) 第一版的EHM體系中有一個(gè)關(guān)注點(diǎn)沒(méi)有詳述。也就是“組織”。事實(shí)上在 “失敗的過(guò)程也是過(guò)程”中,最后一節(jié)“工程不是做的,是組織的”,就是打 算延伸到“組織問(wèn)題”進(jìn)行討論的。但寫(xiě)第一版的時(shí)候,并沒(méi)有就此展開(kāi)。所 以有些讀者在看第一版時(shí),覺(jué)得這一段沒(méi)什么意義?! ”景嬷刑砑拥牡诹隆罢l(shuí)是解結(jié)的人”,討論的就是組織和管理的問(wèn)題?!〕薪由衔亩懻摗敖M織角色,分工明確,步調(diào)一致”等這些問(wèn)題。為此,在綜述EHM的第七章,也修改了“組織”小節(jié)的部分文字?! ≡诒景嬷?,我還添加了一章“審視XP和AP",對(duì)敏捷編程與極限編程做了一些討論。我試圖站在更中立的角度上來(lái)討論AP、XP,以及傳統(tǒng)的工程過(guò)程(例如RUP)。因?yàn)楸緯?shū)并不打算去迎合某種或者某些過(guò)程、方法與工具?! 〉词谷绱耍懊艚?Agile)”也與本書(shū)表達(dá)的“靈活(Flexible)”的觀點(diǎn)有相近的地方。其實(shí)本書(shū)在英文名上,就曾考慮過(guò)使用“Thinking In Flexible Engineering”這樣的名字。我在這里特別補(bǔ)充這一點(diǎn),是希望不要把本書(shū)的思想與AP和XP等同起來(lái)。 新添加的第八章“你看得到工具的本質(zhì)嗎”,占了不少的篇幅。其實(shí),對(duì)于我自己來(lái)說(shuō),理解“語(yǔ)言只是工具”是一個(gè)頓悟的過(guò)程。但對(duì)于讀者來(lái)說(shuō),是頓悟還是領(lǐng)悟,則更多的取決于思想方法與工程積累。我不能期望大家都能頓悟,所以就詳寫(xiě)了這一章,希望能以漸進(jìn)的說(shuō)理,對(duì)我的思想脈絡(luò)做一概括,并闡述工具之于工程的本末?! £P(guān)于《愚公移山記》 在基本不影響原故事的前提下,我在本書(shū)中對(duì)愚公移山的故事進(jìn)行了續(xù)。我在2005年4月就完成了本書(shū)的第一版,7月赴西藏旅游時(shí),在珠峰大本營(yíng)扎營(yíng)之夜構(gòu)思了“愚公移山”的續(xù)寫(xiě)概要,但到10月發(fā)布本書(shū)第一版(電子版)時(shí),這篇續(xù)卻沒(méi)能夠?qū)懗鰜?lái)。此次編寫(xiě)第二版,把這一年來(lái)在頭腦中漸漸清晰的故事重理脈絡(luò),編撰成一篇文言,就是附錄中的《愚公移山記》。為方便閱讀,在本書(shū)附錄中又附了一篇白話文的版本?! ?shū)中的九幅四格漫畫(huà),不但概括了故事的大意,也是整本書(shū)的框架骨骼。為了使得整個(gè)故事更加完整并具連續(xù)性,我對(duì)愚公移山中人物的歷史背景進(jìn)行了一些設(shè)定(姓氏的設(shè)定主要是為了避免在故事中出現(xiàn)“愚公n代”這樣的寫(xiě)法)。這里先作一些交待: 愚公,復(fù)姓公輸,祖上虞國(guó)人(今山西平陸縣北)。后遷居到太行山北時(shí)以虞人自稱,性情耿正,人稱愚公?! ≈芹?,復(fù)姓端木,魏國(guó)河曲人(今山西芮城西,風(fēng)陵渡一帶),后遷與愚公毗鄰,仍以河曲人自稱?! ∴徣司┏鞘?,世居此地。有孀妻遺男。京城一氏的后代中,有很多復(fù)祖姓目夷的人?! ⌒?、前言及其他 這一版本,仍請(qǐng)蔣濤先生作序,替換了由他為本書(shū)第一版(電子版)所寫(xiě)的序言。在請(qǐng)李維先生做推薦辭時(shí),先生不辭辛勞,寄過(guò)來(lái)一份推薦序,因此,我敬而重之地做在本書(shū)的序中。本書(shū)的另一篇序,則是請(qǐng)我的老朋友王昊寫(xiě)的?! 〉谝话娴摹扒把浴币浴昂笳Z(yǔ)”的形式在書(shū)末給出,這一版中保留了這個(gè)做法,具體的原因參見(jiàn)書(shū)末的“前言后語(yǔ)”?! 〈送?,為了便于讀者閱讀理解本書(shū),我也為新版寫(xiě)了這篇“再版前言”。
內(nèi)容概要
本書(shū)提出了審視軟件工程的全新視角和軟件工程的體系模型(EHM,軟件工程層狀模型)本書(shū)用非工程的方式重新解析軟件工程現(xiàn)象,全面、細(xì)致而深刻地分析了工程中各個(gè)環(huán)節(jié)的由來(lái)、價(jià)值及其內(nèi)在關(guān)系。綜合論述開(kāi)發(fā)、工程二者的現(xiàn)狀,例如對(duì)程序員“工匠思想”的起源進(jìn)行廣征博引的分析,也對(duì)工程中“敏捷過(guò)程”的經(jīng)驗(yàn)主義本質(zhì)進(jìn)行深至髓質(zhì)的論證。全書(shū)語(yǔ)言輕快,可讀性強(qiáng),薄且有味。 本書(shū)是在“思想方法學(xué)”這一軟件工程尚未涉足過(guò)的領(lǐng)域中的實(shí)習(xí)之作。作者親歷國(guó)內(nèi)軟件工程的英雄時(shí)代、泡沫時(shí)代,從失敗中醒覺(jué)而創(chuàng)建獨(dú)特的思考方法,對(duì)軟件開(kāi)發(fā)、工程中的現(xiàn)狀深刻反思,從而完成這本專著。在缺乏獨(dú)立思維、對(duì)國(guó)外工程理論亦步亦趨的國(guó)內(nèi)工程界、開(kāi)發(fā)業(yè)界,該書(shū)無(wú)疑是一份激蕩新思的佳作。本書(shū)是第一本討論軟件工程思想本源的書(shū)籍,也是第一本從工程實(shí)踐出發(fā)溯源而論的佳作。
作者簡(jiǎn)介
周愛(ài)民,有十余年的軟件開(kāi)發(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)任上海盛大網(wǎng)絡(luò)平臺(tái)架構(gòu)師。目前主要從事軟件工程、體系架構(gòu)和語(yǔ)言基礎(chǔ)方面的研究與實(shí)踐?! ?001年,主持完成的“極光數(shù)據(jù)處理倉(cāng)庫(kù)中心系統(tǒng)”被河南省信息產(chǎn)業(yè)廳授予省高新技術(shù)產(chǎn)品二等獎(jiǎng)?! ?003年,被美國(guó)Borland公司授予“Borland Delphi產(chǎn)品專家”稱號(hào)?! ?004年,出版《Delphi源代碼分析》,被譽(yù)為“Delphi領(lǐng)域精品著作”?! ?005年,發(fā)布《大道至簡(jiǎn)》第一版(電子版)?! ?006年,發(fā)起開(kāi)源項(xiàng)目。Qomolangma Open Project,探討語(yǔ)言系統(tǒng)基礎(chǔ)技術(shù)。
書(shū)籍目錄
對(duì)第一版的贊揚(yáng)精彩在于思考停下來(lái),思考才是進(jìn)步本質(zhì)屏幕上的第四種顏色再版前言致謝第一章 編程的精義第一節(jié) 編程的精義第二節(jié) 能不能學(xué)會(huì)寫(xiě)程序的問(wèn)題第三節(jié) 程序=算法+結(jié)構(gòu)第四節(jié) 語(yǔ)言第五節(jié) 在沒(méi)有工程的時(shí)代第二章 是懶人造就了方法第一節(jié) 是懶人造就了方法第二節(jié) 一百萬(wàn)行代碼是可以寫(xiě)在一個(gè)文件里的第三節(jié) 你桌上的書(shū)是亂的嗎第四節(jié) 我的第一次思考:程序=算法+結(jié)構(gòu)+方法第三章 團(tuán)隊(duì)缺乏的不只是管理第一節(jié) 三個(gè)人的團(tuán)隊(duì)第二節(jié) 做項(xiàng)目=死亡游戲第三節(jié) 做ISO質(zhì)量體系的教訓(xùn)第四節(jié) 誰(shuí)動(dòng)搖了你的制度第五節(jié) “那我們就開(kāi)始開(kāi)發(fā)吧”第六節(jié) 組織的學(xué)問(wèn):角色第七節(jié) 跟隨螞蟻,但不要栽進(jìn)螞蟻洞里第八節(jié) “什么是增值稅發(fā)票?”第四章 流于形式的溝通第一節(jié) 客戶不會(huì)用C,難道就會(huì)用UML嗎第二節(jié) 項(xiàng)目文檔真的可以用甲骨文來(lái)寫(xiě)第三節(jié) 溝通的三層障礙第四節(jié) 最簡(jiǎn)溝通第五節(jié) 為不存在的角色留下溝通的渠道第六節(jié) 流于形式的溝通第五章 失敗的過(guò)程也是過(guò)程第一節(jié) 做過(guò)程不是做工程第二節(jié) 做過(guò)場(chǎng)第三節(jié) 實(shí)現(xiàn),才是目的第四節(jié) 過(guò)程不是死模型第五節(jié) “刻鵠類鶩”與“畫(huà)虎類狗”第六節(jié) 工程不是做的,是組織的第六章 誰(shuí)是解結(jié)的人第一節(jié) 是誰(shuí)的問(wèn)題第二節(jié) 正視你的成功第三節(jié) 總得先做點(diǎn)兒什么吧第四節(jié) 你不是團(tuán)隊(duì)的腿第五節(jié) 三鼓而竭第六節(jié) 先人后已第七節(jié) 自相矛盾第七章 從編程到工程第八章 你看得到工具的本質(zhì)嗎第九章 現(xiàn)實(shí)中的軟件工程第十章 是思考還是思想附錄一 與蔣濤就電子版序的對(duì)話附錄二 愚公移山記附錄三 愚公移山記(文言)前言后語(yǔ)
編輯推薦
★在"思想方法學(xué)"這一軟件工程尚未涉足過(guò)的領(lǐng)域中的實(shí)習(xí)之作! ★第一本討論軟件工程思想本源的書(shū)籍,也是第一本從工程實(shí)踐出發(fā)溯源而論的佳作?! 洞蟮乐梁?jiǎn):軟件工程實(shí)踐者的思想》是在“思想方法學(xué)”這一軟件工程尚未涉足過(guò)的領(lǐng)域中的實(shí)習(xí)之作。作者親歷國(guó)內(nèi)軟件工程的英雄時(shí)代、泡沫時(shí)代,從失敗中醒覺(jué)而創(chuàng)建獨(dú)特的思考方法,對(duì)軟件開(kāi)發(fā)、工程中的現(xiàn)狀深刻反思,從而完成這本專著。在缺乏獨(dú)立思維、對(duì)國(guó)外工程理論亦步亦趨的國(guó)內(nèi)工程界、開(kāi)發(fā)業(yè)界,該書(shū)無(wú)疑是一份激蕩新思的佳作。《大道至簡(jiǎn):軟件工程實(shí)踐者的思想》是第一本討論軟件工程思想本源的書(shū)籍,也是第一本從工程實(shí)踐出發(fā)溯源而論的佳作。
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版