本書全面論述了軟件復用的基本概念和過程以及管理方面所面臨的挑戰(zhàn),提供了可操作的管理概念以使軟件復用人員能夠以低成本的方式使用軟件復用技術,并有助于創(chuàng)建一個管理框架,使復用人員在逐步引入軟件復用時可以進行管理。本書對于軟件復用具有很高的指導價值,能夠為軟件開發(fā)人員和管理人員提供一個及時發(fā)現軟件復用方面問題及解決方案的指南。本書前言譯者序:自從1968年NATO軟件工程會議以來,軟件工程的發(fā)展已近三十年,其間取得了豐碩的研究成果,但離徹底解決“軟件危機”還有相當大的距離。近幾年來,面對日益復雜的軟件系統(tǒng),研究人員開始認識到,要真正實現軟件的工業(yè)化生產方式,達到軟件產業(yè)發(fā)展所需要的軟件生產率和質量,軟件復用是一條現實可行的途徑。從軟件復用概念提出至今已近三十年,在技術研究上已取得了較大進展,有許多成功的復用研究和實踐活動。隨著技術發(fā)展,人們發(fā)現現有的組織管理模式已成為推行復用技術的障礙,目前達成的一個共識是:為了進行有效地進行軟件復用,必須改革現有的管理方式和組織結構。如何使用成熟的軟件復用技術,將軟件復用真正有效地引入到軟件組織中,從而提高組織的軟件生產率、降低軟件開發(fā)成本、提高軟件質量及減少產品投放市場的時間,這一問題越來越成為軟件研究開發(fā)人員關注的焦點。目前,關于軟件復用方面的書籍很少,并且有關軟件復用理論與實踐相結合的書籍更少,而這樣的書籍又恰恰是廣大從事軟件開發(fā)人員和軟件項目管理人員在進行軟件復用實踐中所迫切需要的。本書在軟件復用理論與實踐上結合得很好,為了使中國的讀者能夠更好地從中受益,譯者受機械工業(yè)出版社的委托,翻譯了這本書。本書對軟件復用具有很高的指導價值,它能幫助那些想得到幫助、務實的軟件開發(fā)人員和管理者提供一個及時發(fā)現軟件復用相關問題及解決方案的指南。少談理論而更多地注重實踐、內行專家的建議和指導,這些將為代價高昂的軟件復用問題提供已證實的、易于實現的解決方案,而這些問題正不斷困擾著當今的軟件復用實踐。本書將提供以下指導:幫助深入理解與開發(fā)組織的軟件復用工作相關的基本概念、過程和管理挑戰(zhàn)幫助創(chuàng)建一個管理框架以便軟件復用倡導者在逐步引入軟件復用時可以管理軟件復用提供可操作的和管理概念以便允許軟件復用倡導者在大多數節(jié)省成本的方式下使用正在出現的軟件復用技術。對于每個軟件開發(fā)人員和項目管理人員來說,本書是不可多得的軟件復用在實踐上的指導書籍。對于在高校和研究所從事軟件工程研究的人員來說,本書也是一本很好的軟件復用參考書?!盾浖陀脤嵺`》一書共分12章,第1章到第7章的翻譯工作由孫艷春負責;第8章到第12章的翻譯工作由馬亮負責;另外孫艷春負責了全書的修改與校對工作。本書在翻譯過程中,得到以下同志的大力幫助,他們是:黃毅斌、麻志毅、趙俊峰、張路、賈宏宇、趙海燕、周明輝、焦文品、嚴偉、解軍。在此對這些同志表示衷心的感謝。感謝機械工業(yè)出版社華章公司的領導和有關編輯,他們?yōu)楸緯捻樌霭妫冻隽舜罅康男燎趧趧?。由于譯者自身的知識局限,時間也比較倉促,譯文難免存在著疏漏和錯誤,誠懇地希望廣大讀者給予批評與指正。譯者2003年6月于北京大學前言介紹軟件復用:一種實踐方法在過去六年中,我在幾個大公司和政府部門領導了軟件復用工作。作為一個變革代理人,我的工作是將新技術引入到準備進行技術創(chuàng)新的公司中。為了進行變革,我必須設想能直接論證這些技術將在廣闊范圍內產生積極效益的戰(zhàn)略和實現策略,我必須基于新思想本身的優(yōu)點,把它們推銷給倡導者和批評家。為了實現變革,我必須設計出受固定進度和預算制約的實踐方法。在過去的兩年中,我停止撰寫本書并且承擔了管理國防部軟件復用啟動的工作。我面臨的挑戰(zhàn)與我在企業(yè)界所遇到的挑戰(zhàn)相似。然而,規(guī)模更大,并且政治因素更濃重。為了能順利開展工作,我必須成為一個變革代理人。在這樣大的部門中部署變革策略是一項困難的工作。這需要技巧、民主以及最重要的協作工作。可能在政府中我獲得的所有經驗中最關鍵的是當推力起推動作用時,能讓人信服的是一個強有力的企業(yè)案例。因此,我已經將本書的重點變?yōu)閹椭緯淖x者來建立這樣一個案例。無疑,你已經閱讀了關于面向對象方法、CASE(計算機輔助軟件工程)和許多其它新技術的優(yōu)點的言過其實的報導。我們好象一直在尋找銀彈(silverbullet)。這些技術已經能被使用嗎?它們穩(wěn)定嗎?能花很小的代價將它們引入到部門中嗎?這些技術的不足有哪些?你怎樣使用它們?其他人使用這些技術時獲得了哪些經驗?你可能想過這些問題及大量相關問題。希望當你在組織內啟動復用項目時,本書能幫你解決這些問題及其它問題。即使你解決了所遇到的問題,在你的組織內所發(fā)生的任何大變革對企業(yè)來說都是危險的。盡管技術可能看起來好,但你的公司可能不準備使用它。技術可能不成熟,不能用于應用系統(tǒng)或需要剪裁后才能用于項目開發(fā)中。當你想用這些技術進行變革時,時間、才能和資金可能不夠用。管理層可以決定其它的優(yōu)先級,或者不愿意進行必要的投資。你所領導的項目成員當面臨變革時可能感到恐懼或者不能確定要做什么。即使你獲得了保證,但依照所需的進度,你可能不能生產出產品,因為它們功能太復雜了,或者因為當你需要主力成員時,主力成員卻不夠。如果你不能交付你所承諾的產品,你知道在下一個預算周期將不能獲得未來資源以繼續(xù)你的追求(和信譽)。許多事情都可能發(fā)生。你可能正在想在高速路上的生命的確是有趣和令人興奮的??赡苁沁@樣。然而,記住它同樣可以是危險的。在本書中使用安全提示以幫助避免災難。當所有的云霧消散,使用技術的基本目標將是節(jié)省時間、工作量或資金。人們給出的其它原因都是些廢話。達到這些目標的最簡單的方法包括以下幾點:提高成員的效率(以同樣的投入獲得更大的產出)降低工作量(通過復用需要更少的新產品,因此投入更少)因為系統(tǒng)級軟件復用相對較新,已驗證的用于將復用引入各組織的管理方法正剛剛出現。在一個地點實用的方法在另一個地點可能就不實用。換句話說,你必須靈活。更重要的是,你必須注重實效并且跟隨潮流?;谖业慕涷灒覟橹械纫?guī)模到大規(guī)模公司中軟件復用的引入管理工作編寫了本書以提供實踐指導。我所選擇的例子,目的是為了給你提供處理多種情況的建議。本書是基于問題和面向行動來編寫的。我已經將本書的重點放在解決許多不一致的管理的、技術的、政治的和心理的挑戰(zhàn)上,這些挑戰(zhàn)經常造成軟件復用的啟動工作的成功或失敗。我為本書設定的三個特定目標是:幫助您深入理解與開發(fā)組織的軟件復用工作相關的基本概念、過程和管理挑戰(zhàn)幫助創(chuàng)建一個管理框架以便倡導者在逐步引入軟件復用時可以管理軟件復用提供可操作的和管理概念以便允許倡導者在大多數節(jié)省成本的方式下使用正在出現的復用技術。幸運的是,我有機會在幾個有遠見的商業(yè)組織中和國防部的早期采納項目中測試了這些復用策略。它們的經驗和所獲得的教訓作為以下章節(jié)中我所提供的建議的基礎。當它們是可選擇的時候,我將討論它們。當有問題時,我將描述這些問題并給出解決方案(如果存在的話)。與正在出現的技術相關的所有問題決不可能都解決。所以,你可以感受到一些現存的問題還有待進一步解決。如果這樣令你討厭我首先表示歉意。但是,告訴你被識別出的問題并且該問題正在被研究,可能是我目前能提供給你的最好的建議。盡管注重實效,在本書中所闡述的概念都基于已驗證的管理理論。這些技術強調需要創(chuàng)新、合理的計劃、意見一致、團隊工作、堅持到底。這些建立于現代化的組織和激勵措施理論之上。這些強調過程成熟度并且利用了許多在變革管理新領域中的理論和經驗教訓。本書適用于對將軟件復用引入一個組織這個話題感興趣的任何人。行政人員、管理人員、工程師、程序員、研究人員、教授和學生都可以從本書的研讀中獲益。我衷心地希望本書能激勵你的工作。對我最好的致意就是你將本書提供的一些思想貫徹到你所在的組織中。我也對結果感興趣。不要害怕寫信告訴我好的、壞的以及可怕的結果。我有興趣將你獲得的經驗教訓放到本書的未來版本中。最終的想法是:尋找快樂。記注,將變革引入一個組織中是一件令人興奮的事。當遇到困難時,也是一個有益的經歷。DonaldJ.Reifer托蘭斯,加利福尼亞州