內容簡介
《解碼圖靈的咒語:對於軟體的非技術性思考》以新穎的視角,突破了傳統的“就技術而論技術”的思維定式,從更為抽象和深刻的哲學、社會學、經濟學的角度來審視和探究軟體的內在規律,幫助人們更好地理解和駕馭軟體,避免反為其累。全書共分為六章。第一章對軟體進行一個全景式的考察,勾繪出軟體的學科圖譜。第二章從五種視角比較軟體工程與傳統建築工程的巨大差異。第三章討論軟體的哲學。第四章從實踐角度來探討軟體的社會性,同時涵蓋了軟體企業運作及人才培養等內容。第五章研究軟體的經濟學規律。最後一章探討軟體的倫理和法律問題。《解碼圖靈的咒語:對於軟體的非技術性思考》的閱讀對象不僅限於軟體技術開發人員,某種意義上說更適合於軟體管理者、軟體行業的主管人員、相關社會中介機構從業者,以及軟體工程教育者。
作者簡介
王鵬,男,生於1972年。現任上海億通國際股份有限公司研發中心副主任,上海億馬物流系統有限公司副總經理。1989年考入兩北工業大學計算機科學與工程系,1999年獲上海交通大學計算機軟體專業博士學位,高級工程師。長期從事軟體領域的技術研發和項目規劃與管理,曾出版澤著《計算機作業系統:設計與實現》
媒體推薦
本書最大的特點是其新穎的視角,它突破了傳統的”就技術而論技術“的思維定式,嘗試從更深入、更寬廣的角度來審視和探究軟體的內在規律。相信讀者看完後會有這樣的感覺:一些僅憑樸素的經驗說不清、道不明、又反覆做不好的事情,原未有著深刻的理論背景,現在才終於弄明白是怎么回事。
——上海交通大學計算機系教授、博士生導師 尤晉元
本書以獨特的思維方式對軟體領域的方法和工程進行了思考,並將軟體的實踐延伸到了社會、經濟和法律等方面。作者闡述的內容見解獨到、富有哲理.凝聚了作者多年從事軟體研究、開發和實踐的體會,對軟體從業者有良好的啟示.相信會引起讀者的共鳴。
——復旦大學計算機學院教授、博士生導師 朱揚勇博士
作為一個從事了二十年開發和管理的軟體技術人員,讀到這本書,我感覺眼前一亮,發現有這么多自己如鯁在喉的話都躍然紙上。特別是,該書對軟體從工程、社會學、經濟學、哲學等多個方面進行理解,說明了軟體的本質。它可以幫助我們排除對軟體的各種不切實際的期望,更準確地理解面臨的問題,無論對於寫軟體的、用軟體的還是管軟體的人.都具有特別有價值的參考意義。
——上海期貨信息技術有限公司總經理 王肇東博士
近年來與做軟體的同事交流.發現大家對軟體工程的一些新問題和挑戰都有不少困惑。讀了這本專著後,我真切地感到發人深思、啟人心智。這本書不僅僅講授知識,而且教給讀者思考的方法,確實稱得上是一本“授人以漁”的好書。
——Intel中國研究院高級研究經理 張益民博士
長期以來,我們一直看到許多從技術執行、或者商業策略的角度出發.來了解軟體本質的方法。而這本書卻給了我們一個全新的選擇。只有當不再就軟體本身而討論軟體,而是把它放在哲學、經濟學、社會學和倫理、法律的聚光燈下,才有機會看到一個更為完整的軟體的本質。書中深入淺出的解讀方法,不僅適用於軟體行業的專業技術人員,同樣也適用於軟體行業的其他參與和決策者們。
——新銳互動商業網路有限公司首席技術官 管敏仁
圖書目錄
導論
第一章 對軟體的認識與再認識
1.1 軟體發展簡史
1.2 軟體的成就與挑戰
1.3 對軟體的反思與再認識
1.3.1 軟體的悖論
1.3.2 對軟體的再認識
1.4 軟體的知識圖譜
第二章 論軟體工程——與傳統工程的比較
2.1 工程、項目及其實踐
2.1.1 工程的起源與發展
2.1.2 工程學與科學管理
2.1.3 典型的工程實踐
2.1.4 項目管理及其套用
2.2 軟體工程
2.2.1 軟體工程的發展歷程
2.2.2 軟體工程的實現框架:CMM過程模型
2.3 軟體工程與建築工程的比較——建設程式角度
2.3.1 建築工程
2.3.2 軟體工程
2.3.3 兩者的比較
2.4 軟體工程與建築工程的比較——項目管理角度
2.4.1 範圍管理
2.4.2 進度管理
2.4.3 成本管理
2.4.4 質量管理
2.5 軟體工程與建築工程的比較——客體關係角度
2.5.1 建築工程
2.5.2 軟體工程
2.6 軟體工程與建築工程的比較——工程經濟角度
2.6.1 建築工程
2.6.2 軟體工程
2.7 軟體工程與建築工程的比較——參與者的感受角度
2.8 小結
第三章 軟體的哲學分析
3.1 軟體哲學
3.1.1 什麼是軟體哲學
3.1.2 信息哲學
3.1.3 軟體哲學的範疇
3.2 軟體本體論
3.3 軟體認識論
3.3.1 軟體與認知理論
3.3.2 軟體與知識論
3.3.3 軟體工程與工藝
3.4 軟體方法論
3.4.1 軟體開發模型
3.4.2 軟體設計的哲理
3.4.3 程式開發的人因性
3.4.4 軟體質量與測試
3.4.5 軟體的元技術思考
第四章 軟體的社會學分析及實踐
4.1 軟體用戶心理學及軟體可用性
4.1.1 軟體用戶心理學的概念
4.1.2 軟體可用性與人機互動
4.2 軟體組織行為學
4.2.1 技術人員的差異
4.2.2 程式設計師的能力建設
4.2.3 軟體組織能力模型
4.2.4 看不見的手——社會文化和技術文化
4.3 軟體企業組織管理
4.3.1 科學管理與現代企業
4.3.2 軟體企業管理
4.4 客戶關係管理
4.5 合作夥伴關係管理
4.6 軟體工程師的許可與培養
4.6.1 許可與認證
4.6.2 為什麼許可不適用於軟體
4.6.3 軟體工程師的知識技能結構
4.6.4 軟體人才的培養
第五章 軟體經濟學與軟體產業
5.1 什麼是軟體經濟學
5.2 微觀軟體經濟學
5.2.1 軟體工程經濟學
5.2.2 軟體生產率管理
5.2.3 軟體產品和服務的定價
5.3 軟體產業經濟學
5.3.1 關於軟體產業
5.3.2 軟體產業經濟分析
5.3.3 美國的軟體產業
5.4 軟體業生態分析
5.4.1 軟體業的生態環境
5.4.2 軟體業的外部要素
第六章 軟體倫理與法律
6.1 軟體倫理問題t
6.1.1 倫理與計算機倫理學
6.1.2 與職業倫理學的關係
6.1.3 軟體倫理的範疇
6.2 軟體質量的法律問題
6.2.1 軟體質量缺陷的影響
6.2.2 軟體質量問題的法理分析
6.2.3 軟體質量問題的法律實踐
6.3 軟體契約的法律問題
6.3.1 為什麼軟體開發會失敗
6.3.2 軟體契約的爭議及根源
6.3.3 如何降低爭議和訴訟的風險
6.4 軟體的法律保護
附錄一 軟體業大事記
附錄二 ACM/IEEE—CS軟體工程道德規範和職業準則
附錄三 美國的計算機專業本科及研究生課程設定
參考文獻
後記
後記
這本書完稿的時候,我著實鬆了一口氣,像完成了一樁心事。將近二十年前,開始學習和從事軟體方面的工作,時間不算短了。經歷了一個又一個項目,在孜孜追求技術進步的同時,也悉心感受著軟體帶來的喜怒哀樂。總覺得,軟體這個東西就像一種空靈的存在,看不見、摸不著、說不清、道不透。
於是有了寫這本書的衝動,想把多年來的所學、所惑、所思、所悟清楚條理地表達出來,發讀者深思、啟讀者心智、供讀者批評。如果真的在這方面有一點作用,那么我的心血就算沒有白費。在本書的寫作過程中,我深深地感受到前人治學的體悟:學之不若好之,好之不若樂之。我是真的以之為樂了。
本書的撰寫得到我的導師尤晉元教授的大力支持,他對書稿進行了認真的審閱並提出了許多啟發性的建議,實際上書中的有些思想可以追溯到十多年前我在尤老師的指導下攻讀博士學位時的討論和交流。待全文定稿後尤老師又欣然為本書作序,並勉勵我在工程實踐的同時將學術研究堅持下去。本書完稿時,恰逢尤老師七十華誕,在此謹向他表示深深的謝意,並送上最美好的祝福。
上海交通大學出版社的崔霞老師一直關心本書的進展,並提出了很好的建議,本書的順利出版與她的熱情幫助和細緻工作是分不開的。書中的內容來源於多年的錙銖積累,我要感謝在交大時的同學和師兄弟,與他們的討論帶給我很多靈感和啟發,我至今懷念那段和他們在一起的充滿了激情和夢想的美好時光。同時也要感謝這些年來單位的領導,以及所經歷過的項目中的眾多客戶和同事,是他們讓我有機會獲得如此珍貴的經歷和感受。
序言
軟體是當前世界上最為活躍的技術要素,它深刻地改變了人類的生產和生活。同時軟體恐怕也是人類尚未真正掌握其運行規律的事物之一。我們對它的本體屬性、生產方式、經濟特徵以及相伴相生的一系列現實存在和矛盾尚缺乏本質性的認識,以至於一些嚴謹的學者感嘆軟體根本沒資格被稱為“工程”。
由於軟體與數學之間的內在聯繫,加之表層技術工具的層出不窮,因此通常將其歸於技術範疇。隨著軟體工程實踐的深入,人們逐漸開始關注管理維度的相關問題。而本書則嘗試從更為抽象和深刻的哲學、社會學、經濟學角度來探究軟體的本質,幫助人們更好地駕馭軟體,而儘量避免反為其累。概括而言,本書的主旨就是參軟體之道、析軟體之惑、賞軟體之趣,並希望能有助於弘軟體之業。
全書共分六章。導論首先通過一個笑話引出要討論的話題。第一章對軟體進行一個全景式的考察,通過總結軟體的成就和挑戰,進而提出對軟體的反思與再認識,並勾繪出軟體的學科圖譜,從而為後續討論設定坐標和基線。第二章從五種視角詳細比較軟體工程與傳統建築工程在範圍、進度、質量、成本等工程要素方面的巨大差異。本章內容繁複而細密,目的是儘量使讀者獲得一個感性和翔實的認識。第三章從本體論、認識論和方法論三個方面討論軟體哲學,內容涉及軟體的本質、軟體的認知特徵、軟體開發的思想溯源等,其目的是為軟體定義一套哲學建構和元規則。第四章從寬泛的實踐角度來探討軟體的社會性,其思想主線即為軟體的“人格化”特徵,同時涵蓋了軟體企業運作及人才培養等相關內容。第五章研究軟體的經濟學規律,包括微觀的項目運作,以及巨觀的產業群落。