不是三維

出版時間:2010-4  出版社:何小朝 電子工業(yè)出版社 (2010-04出版)  作者:何小朝  頁數(shù):290  
Tag標(biāo)簽:無  

前言

20世紀(jì)初,偉大的物理學(xué)家愛因斯坦提出了具有劃時代意義的相對論,其全新的時空理念直到今天都很難被人們以常規(guī)的形象思維所理解,而愛因斯坦認(rèn)為,人們不能正確理解世界本質(zhì)的根本原因是由于人類的理解能力無法超脫三維空間范圍的限制,正如我們無法想象在四維或多維空間的一個球體的形狀一樣?,F(xiàn)代軟件行業(yè)的概念、方法、工具出現(xiàn)速度之快是非常驚人的,幾乎所有的同行每天都在不停地學(xué)習(xí)新的東西。筆者相信其中有相當(dāng)一部分人是期望能從新的方法中找到解決該行業(yè)多年需要解決的眾多難題的好途徑,如設(shè)計的規(guī)范化問題,管理的有效性問題,開發(fā)的重復(fù)性問題等。然而,筆者也相信,當(dāng)我的同行們懷著期待的心情對這些新的理論與方法不斷學(xué)習(xí)與嘗試后,他們發(fā)現(xiàn)——雖然大量可視化開發(fā)工具與眾多應(yīng)用支撐環(huán)境的出現(xiàn),使現(xiàn)代應(yīng)用軟件開發(fā)者基本擺脫了過去那種將最大精力放在界面、通信及大量數(shù)據(jù)管理的狀態(tài),而能集中力量開發(fā)自己的核心業(yè)務(wù)內(nèi)容;然而,往往在一個具體的項目或具體的企業(yè)中,又有眾多的原本令人興奮不已的新方法、新理論,甚至是那些成功者的寶貴經(jīng)驗,卻是那樣難以真正起到預(yù)期的作用,甚至在有些情況下毫無作用。因此,這些可能主要存在于新的設(shè)計分析方法與管理方法和具體應(yīng)用結(jié)合等方面。軟件開發(fā)工具不斷更新,軟件工程師們現(xiàn)在可以很輕松地構(gòu)建復(fù)雜的圖形用戶界面(多年以前,圖形用戶界面是軟件開發(fā)中工作量最大的部分之一),很方便地對數(shù)據(jù)進行管理,進行調(diào)試;同時,一些新軟件開發(fā)支撐環(huán)境與體系架構(gòu)的出現(xiàn),如C/S結(jié)構(gòu)、J2EE、DCOM、CORBA等,一方面使程序員可以擺脫RPC、Socket等底層的方法,輕松地開發(fā)網(wǎng)絡(luò)化的信息系統(tǒng);另一方面使復(fù)雜系統(tǒng)的構(gòu)建效率與質(zhì)量大大提高。近年來,軟件行業(yè)在這些方面的發(fā)展的確產(chǎn)生了巨大的成效,并為大多數(shù)人所接受。然而,軟件行業(yè)在其他方面的革新內(nèi)容對軟件業(yè)的實際貢獻,以及在軟件管理、設(shè)計、開發(fā)人員中的普及與實用程度,都遠(yuǎn)不如開發(fā)工具與環(huán)境的新內(nèi)容那么明顯與直接。軟件分析設(shè)計方法的革新主要體現(xiàn)在面向?qū)ο蟮募夹g(shù)與思想,數(shù)據(jù)與方法的封裝、繼承,多態(tài)及復(fù)用,使設(shè)計師們可以更加形象地用軟件來描述客觀事物及其相互關(guān)系與作用,這應(yīng)該是一種非常偉大的創(chuàng)造,也在軟件行業(yè)起到巨大的推動作用;然而,另外,雖然面向?qū)ο蠹夹g(shù)與思想的優(yōu)勢已為同行們所公認(rèn),但在實際工程中,除了大量使用面向?qū)ο蟮拈_發(fā)工具與語言以外,真正采用面向?qū)ο蟮乃枷雭矸治?、設(shè)計系統(tǒng)、描述設(shè)計結(jié)果以完成實際項目的做法卻遠(yuǎn)不如想象中那么普及。這是因為某些工程太簡單而沒有必要用到它,還是因為它太難以實用化,或者還有其他什么原因呢?軟件工程理論不斷在構(gòu)造新的理想:軟件的生產(chǎn)能像生產(chǎn)一部汽車,生產(chǎn)一臺電視機或蓋一座大樓一樣,有標(biāo)準(zhǔn)的零件,標(biāo)準(zhǔn)的結(jié)構(gòu),標(biāo)準(zhǔn)的流程,標(biāo)準(zhǔn)的生產(chǎn)線,標(biāo)準(zhǔn)的組裝……理論家們充滿了創(chuàng)造性的構(gòu)想與信心,而大批一線的軟件工程師們卻對這種理想產(chǎn)生懷疑。軟件企業(yè)管理模式的革新也是大部分企業(yè)迫切的需求,先進的CMM出現(xiàn)了,其理論不斷被人們所了解,大家都對那些已經(jīng)獲得某種CMM級別的企業(yè)產(chǎn)生了深切的崇拜與向往,并異口同聲的宣布,“我們也要做!”但我們同時又發(fā)現(xiàn),大量的軟件企業(yè)在把CMM與自己企業(yè)的實際情況有機結(jié)合的道路上卻遇到了令人頭痛的困難與疑惑,這種困難與疑惑好像不僅僅是為接受新機制而“痛一時,利一生”那么簡單。問題出在哪里呢?為什么在軟件工業(yè)化的道路上要達到像電子、機械產(chǎn)品的程度會那么困難?多年來,作者也一直思考這個問題。本書認(rèn)為,“對一件事物解決方法的制定要基于正確了解該事物的本質(zhì)?!蹦敲?,可能軟件這個事物與傳統(tǒng)其他產(chǎn)品的特征還是有著巨大的區(qū)別,這可能不只是量的區(qū)別,而是質(zhì)的區(qū)別?;蛟S我們應(yīng)該從這個角度重新審視一下過去采用與傳統(tǒng)工業(yè)化類比的思想所得來的靈感、理想與方法。因此,本書從軟件與三維實物的本質(zhì)性不同出發(fā)表研究軟件生產(chǎn)方法論,指出軟件的本質(zhì)是不能實現(xiàn)工業(yè)化生產(chǎn)的內(nèi)在原因,提出了全新的先進軟件生產(chǎn)模式與方法——代碼驅(qū)動生產(chǎn)的概念,并稱這將是適合軟件本質(zhì)的新途徑。這里,要首先感謝家人的支持!感謝長年在日本工作的好友郭果明與施文彪為我提供的一些信息,同時,電子工業(yè)出版社的袁金敏編輯和顧慧芳編輯也為本書的出版提出了許多寶貴的建議,在此一并衷心感謝!

內(nèi)容概要

  《不是三維:軟件項目的設(shè)計、開發(fā)與管理》從軟件與三維實物的本質(zhì)性不同出發(fā)研究軟件生產(chǎn)方法論。今天,軟件生產(chǎn)中許多傳統(tǒng)問題并沒有得到質(zhì)的改善,以“爆炸”形容的技術(shù)發(fā)展的實質(zhì)究竟是什么?先進管理模式下的管理現(xiàn)狀如何?《不是三維:軟件項目的設(shè)計、開發(fā)與管理》首先深入分析以上問題,指出軟件的本質(zhì)及其至今不能實現(xiàn)工業(yè)化生產(chǎn)的內(nèi)在原因;接著,從軟件設(shè)計,測試與管理三個方面,系統(tǒng)地介紹了作者多年實踐中總結(jié)出來的有效實用方法;最后從軟件本質(zhì)出發(fā),提出了全新的先進軟件生產(chǎn)模式與方法——代碼驅(qū)動生產(chǎn)(Code Driving Production),并指出這將是適合軟件本質(zhì)的新途徑?!  恫皇侨S:軟件項目的設(shè)計、開發(fā)與管理》適合于從事軟件工程研究的科研人員、管理人員與設(shè)計人員閱讀,也可作為高等學(xué)校與計算機相關(guān)專業(yè)師生的教學(xué)參考讀物。

作者簡介

何小朝,工學(xué)博士,北京大學(xué)計算機系博士后,第一屆中國軟件業(yè)十大杰出青年候選人,第十六屆世界計算機大會電子商務(wù)大會數(shù)據(jù)管理分會主席,中國青年科技工作者協(xié)會第二屆會員,中國航空史研究會會員,中小企業(yè)創(chuàng)新基金評審專家。作者自1992年起從事軟件開發(fā)與管理工作,并自2002年起,在北美從事軟件系統(tǒng)分析與設(shè)計近七年之久。迄今為止,共負(fù)責(zé)、參與國內(nèi)外大中型軟件項目20多項,涉及網(wǎng)絡(luò)與分布式系統(tǒng)、數(shù)據(jù)管理,嵌入式系統(tǒng)及工業(yè)設(shè)計與生產(chǎn)等領(lǐng)域,歷任北京北大青烏信息工程有限責(zé)任公司總工程師,北京青鳥華光技術(shù)管理部部長、總工程師,青鳥天橋公安事業(yè)部副總經(jīng)理,大唐微電子高級項目經(jīng)理,北京安德爾國際軟件有限公司總經(jīng)理、董事,北美PPMC技術(shù)總監(jiān),北京先進數(shù)通科技有限公司BI事業(yè)部首席架構(gòu)師等職。在國內(nèi)外發(fā)表科技論文20余篇,多篇獲獎,并被美國《工程索引》檢索6篇。

書籍目錄

第一部分 現(xiàn)狀與困惑第1章 困難與困惑1.1 軟件項目實施的困難1.1.1 漫長的維護期1.1.2 什么時候開始編碼——生產(chǎn)過程控制.1.1.3 開發(fā)周期的精確估算1.1.4 需求何時確定1.1.5 令人頭痛的邊緣問題1.1.6 魯棒性1.2 飛速發(fā)展?——困惑第2章 技術(shù)方法的抉擇——軟件設(shè)計師的困惑2.1 引言2.2 軟件設(shè)計師的理想2.2.1 什么是軟件設(shè)計師2.2.2 技術(shù)人員的理想2.3 似有曙光——方法論2.3.1 技術(shù)進步帶來希望2.3.2 軟件技術(shù)方法綜述2.4 現(xiàn)實2.4.1 新技術(shù)手段的使用狀況2.4.2 困難沒有得到本質(zhì)解決2.4.3 許多人這樣看2.4.4 痛一時,利一生2.5 疑惑——方法的抉擇2.6 方法到底解決了什么2.6.1 通用函數(shù)庫、類庫與框架的復(fù)用2.6.2 分層體系使生產(chǎn)集中于應(yīng)用本身2.6.3 面向?qū)ο笥袡C描述客觀目標(biāo)2.6.4 “平臺無關(guān)”是以“時間換空間”2.6.5 其他本質(zhì)探討2.7 常用有效技術(shù)方法簡介2.7.1 分析與設(shè)計的組織2.7.2 開發(fā)環(huán)境的選擇2.7.3 編程2.7.4 文檔的生成2.7.5 其他環(huán)節(jié)2.8 本章小結(jié)第3章 如何有效地服務(wù)——技術(shù)管理者的煩惱3.1 軟件項目管理現(xiàn)狀3.1.1 管理過多依賴個人經(jīng)驗3.1.2 管理規(guī)則很不成熟3.1.3 管理組與開發(fā)組不協(xié)調(diào)3.1.4 無通用規(guī)則可循,各有特色3.1.5 新方法的現(xiàn)實情況3.2 軟件項目管理的幾個具體問題3.2.1 文檔的管理問題3.2.2 設(shè)計文檔的作用到底是什么3.2.3 過程控制問題3.2.4 測試的問題3.2.5 需求制定的問題3.3 管理者的希望與困惑——CMM3.3.1 CMM簡介3.3.2 PSP/TSP3.3.3 CMM應(yīng)用現(xiàn)狀3.3.4 CMM的困惑3.4 究竟怎么回事3.5 本章小結(jié)第4章 理想與現(xiàn)實——科學(xué)與工程的碰撞4.1 軟件工程的理想——生產(chǎn)線與復(fù)用4.2 工程實踐——與理想模式的距離4.2.1 軟件是數(shù)字化社會的主體4.2.2 軟件生產(chǎn)業(yè)的主體是什么4.2.3 軟件生產(chǎn)工程實踐現(xiàn)狀4.3 “飛速發(fā)展”的本質(zhì)4.4 本章小結(jié)第二部分 軟件的本質(zhì)第5章 不是三維——軟件的本質(zhì)5.1 三維空間——人類形象思維的局限5.2 傳統(tǒng)產(chǎn)品簡析5.2.1 傳統(tǒng)產(chǎn)品——三維實體5.2.2 傳統(tǒng)產(chǎn)品的核心——設(shè)計輸出5.2.3 傳統(tǒng)產(chǎn)品生產(chǎn)模式——生產(chǎn)線5.3 軟件產(chǎn)品簡析5.3.1 軟件是一種特殊的產(chǎn)品5.3.2 二維可視化設(shè)計語言能力分析5.3.3 軟件無法完全可視化表達5.3.4 軟件產(chǎn)品的核心——代碼5.3.5 一個有趣的問題5.4 軟件的本質(zhì)——不是三維5.5 本章小結(jié) 第三部分 軟件生產(chǎn)方法論——實踐與研究第6章 設(shè)計與開發(fā)6.1 引言6.1.1 構(gòu)件化生產(chǎn)與自動化的探討6.1.2 實用技術(shù)方法涉及的內(nèi)容6.2 應(yīng)用系統(tǒng)架構(gòu)設(shè)計6.2.1 什么是架構(gòu)6.2.2 幾種常見架構(gòu)模式6.2.3 實踐中的系統(tǒng)架構(gòu)設(shè)計6.3 系統(tǒng)分析與設(shè)計6.3.1 軟件分析與設(shè)計的內(nèi)容6.3.2 系統(tǒng)整體結(jié)構(gòu)的軟件描述6.3.3 整體代碼框架搭建6.3.4 系統(tǒng)公共庫設(shè)計6.3.5 接口設(shè)計6.4 代碼編制與調(diào)試6.4.1 程序結(jié)構(gòu)搭建6.4.2 多線程/多進程程序設(shè)計6.4.3 編輯6.4.4 編譯6.4.5 調(diào)試6.4.6 類型安全6.4.7 跨平臺程序設(shè)計6.4.8 開源軟件代碼6.5 面向?qū)ο蟆_理解與使用1606.5.1 何時使用面向?qū)ο?.5.2 如何使用面向?qū)ο?.6 設(shè)計的結(jié)束與輸出6.6.1 實效的制度化,而非教條的制度化6.6.2 強化設(shè)計結(jié)束準(zhǔn)則6.6.3 設(shè)計階段的輸出文檔6.7 本章小結(jié)第7章 軟件測試——質(zhì)量保證的重要環(huán)節(jié)7.1 測試技術(shù)綜述7.1.1 測試的階段7.1.2 測試的種類7.1.3 常用的測試工具7.1.4 測試步驟7.2 軟件測試中幾個實用問題7.2.1 手工測試7.2.2 自動化測試7.2.3 測試用例的制定7.2.4 關(guān)于測試驅(qū)動開發(fā)7.2.5 測試時間估算7.2.6 測試人員的素質(zhì)7.3 對測試標(biāo)準(zhǔn)的探討7.3.1 軟件bug的分布特征7.3.2 測試標(biāo)準(zhǔn)的制定原則7.3.3 測試人員的困惑——測試標(biāo)準(zhǔn)如何實施7.4 軟件測試的本質(zhì)探討與工業(yè)化生產(chǎn)7.5 本章小結(jié)第8章 軟件項目管理方法論8.1 軟件項目管理的產(chǎn)生8.2 軟件項目管理的作用與地位——為研發(fā)服務(wù)8.3 軟件項目管理的內(nèi)容8.4 軟件項目管理的實用方法8.4.1 軟件規(guī)模劃分8.4.2 軟件類型劃分8.4.3 軟件項目實施的階段劃分……第9章 用軟件管理軟件第10章 新一代軟件生產(chǎn)方法論探索——代碼驅(qū)動生產(chǎn)后記參考文獻

章節(jié)摘錄

構(gòu)方面較重要的發(fā)展成果之一。這里,我們說多層體系,是指單應(yīng)用服務(wù)節(jié)點的多層結(jié)構(gòu),SOA或WebService所指的多服務(wù)節(jié)點的結(jié)構(gòu)不算在內(nèi)?;叵胱畛踹M行軟件系統(tǒng)的設(shè)計與開發(fā)時,除了考慮模塊劃分與接口問題之外,主要解決的是本行業(yè)領(lǐng)域內(nèi)業(yè)務(wù)問題的方法或算法,很少有人考慮軟件系統(tǒng)的架構(gòu)與設(shè)計模式的問題。抽象并提出多層體系結(jié)構(gòu)主要是為了解決數(shù)據(jù)庫技術(shù)、前臺展現(xiàn)技術(shù)及軟件不斷普及后出現(xiàn)的以下幾個問題:·我們提供的應(yīng)用服務(wù)需要應(yīng)付大量的用戶,需要能同時響應(yīng)更多用戶的需求,即大家常講的好的可伸縮性:·我們提供的應(yīng)用服務(wù)希望核心數(shù)據(jù)不能被別人直接訪問;·我們提供的應(yīng)用服務(wù)希望能將用戶界面、業(yè)務(wù)邏輯與數(shù)據(jù)訪問等在邏輯甚至物理上分開處理。于是,軟件結(jié)構(gòu)設(shè)計者們抽象出了多層體系結(jié)構(gòu)作為標(biāo)準(zhǔn)的設(shè)計模式來解決上述問題。其主要思想是,將具有共同特征的部分分離成專門的層,各層之間通過標(biāo)準(zhǔn)協(xié)議來通信或交流?,F(xiàn)在最普及的多層結(jié)構(gòu)主要指包括用戶界面層(展現(xiàn)層),業(yè)務(wù)邏輯層與數(shù)據(jù)訪問層的三層結(jié)構(gòu),其中以MVC最為流行。其他還有四層、五層等實際也沒有脫離這個范疇,或根據(jù)特殊的需求增加了專門處理部分(層)而已。在實際的工程中,絕大多數(shù)應(yīng)用系統(tǒng)其實都只簡單采用了胖客戶端c/s結(jié)構(gòu)與瘦客戶端的B/s結(jié)構(gòu),國內(nèi)的情況是,如J2:EE體系中重量級的EJB和JMS這樣的技術(shù),除了少數(shù)大型應(yīng)用領(lǐng)域有使用以外,多數(shù)軟件開發(fā)很少涉及。

后記

對于本書的論述,各位讀者無論是支持也好,懷疑也好,或是堅決地拍磚也好,筆者總算是將自己真實的觀點較為清楚全面的表達了出來,算是拋磚引玉吧。筆者在軟件行業(yè)摸爬滾打了這么多年,見到過這樣那樣的現(xiàn)象,產(chǎn)生過這樣那樣的看法,但其中很多都是自己切身的體會和對軟件業(yè)的深入思考,如有不當(dāng)之處,敬請專家、學(xué)者和廣大讀者批評和指正。細(xì)心的讀者可以發(fā)現(xiàn),筆者在對現(xiàn)有一些思想提出不同看法之后,在第10章雖然自己提出了全新的理論與相應(yīng)的方法論,但有很多內(nèi)容還需要深入、細(xì)化并繼續(xù)研究與實踐。無論如何,筆者認(rèn)為,在本書第10章提出的新一代先進軟件生產(chǎn)技術(shù)方法論的理論原型,有相當(dāng)?shù)膬r值,很值得我們思考并繼續(xù)研究、實踐并細(xì)化。筆者目前正在進行的,就是這樣的工作。

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

“想象力比知識重要,因為知識是有限的,而想 象力概括著世界上的一切?!薄  柌亍垡蛩固梗ˋlbert Einstein)“想想我們計算機程序的糟糕現(xiàn)狀吧,很顯然,軟件開發(fā)仍是黑箱藝術(shù),還不能稱之為工程學(xué)科?!薄  懊绹偨y(tǒng),Bill Clinton“好代碼本身就是最好的文檔?!薄  幊檀髱烻teve McConnell《代碼大全》的作者“代碼自動生成就跟喝酒一樣,適度就好?!薄  狝leXLowe,編程大師“偉大的車工值得給他幾倍于普通車工的薪水。而一個偉大的軟件代碼作家,其價值則要等同于一個普通軟件寫手的價值的1萬倍?!薄  葼柹w茨“在一個有10個人的軟件項目團隊里,也許3個人生產(chǎn)出來的不合格品就足以讓他們成為凈戶出為負(fù)的生產(chǎn)者?!薄  盾浖|(zhì)量保證》一書的作者,Gordon Schulmeyer

編輯推薦

《不是三維:軟件項目的設(shè)計、開發(fā)與管理》:善于思考,豐富經(jīng)驗,精通技能,做合格的軟件人才?!募夹g(shù)與管理兩個層面研究軟件生產(chǎn)方法論?!ど钊敕治鲕浖w速發(fā)展的本質(zhì)及技術(shù)與管理現(xiàn)狀,指出軟件與三維實物的本質(zhì)性不同是其至今不能實現(xiàn)有效工業(yè)化生產(chǎn)的內(nèi)在原因。·結(jié)合作者多年經(jīng)驗,從設(shè)計、實現(xiàn)、測試與管理多個角度全面介紹具體的有效實用方法與技術(shù)內(nèi)容?!娬{(diào)代碼是軟件的核心,指出軟件無法完全可視化表達?!能浖举|(zhì)出發(fā),提出以實現(xiàn)為中心的”代碼驅(qū)動生產(chǎn)“(Code Driving Production)模式、理論與方法,它不同于以設(shè)計為中心的傳統(tǒng)方法。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    不是三維 PDF格式下載


用戶評論 (總計2條)

 
 

  •   給三顆星不代表此書內(nèi)容不好,對我來說只是沒有想像的的那么實用。包裹的很好,但在被包裹之前顯然是受虐了。
  •   本來是朋友借給我看的,看過后馬上就去買了一本。講的比較淺顯易懂,確實非常有幫助,對于有一定工作經(jīng)驗的人來講應(yīng)該是很有總結(jié)作用了。
 

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

京ICP備13047387號-7