本書主要介紹軟件工程及其應用的有關內容,包括可行性研究、需求分析、總體設計、詳細設計、編碼、測試、維護以及有關軟件管理、軟件開發(fā)工具和環(huán)境等方面的內容。為了保持教材內容的先進性,本書還介紹了面向對象軟件工程學、統(tǒng)一建模語言UML、軟件工程標準與軟件文檔等方面的內容。本書內容新穎,實例豐富,各章均有小結與習題,便于教學和自學。本書可作為高等院?!败浖こ獭闭n程的教材或教學參考書,也可供從事軟件開發(fā)與應用的工程技術人員和管理人員閱讀參考。前言軟件工程是指導計算機軟件開發(fā)與維護的工程學科,它采用工程的概念、原理、技術和方法來開發(fā)和維護軟件,把經過時間檢驗證明是正確的管理技術和當前能夠得到的最好的技術方法結合起來,以便經濟地開發(fā)出高質量的軟件并有效地維護它。從20世紀60年代末提出“軟件工程”概念以來,歷經三十多年的飛速發(fā)展,軟件工程逐漸成熟,現(xiàn)已成為計算機科學與技術領域中的一門重要學科。隨著計算機的日益普及,計算機軟件已無處不在。以軟?乃得鰲⒖?、维护和管理为闹R藎魑畔⒉檔囊桓鮒е?,软件工程这抑eЭ埔閻鸞ノ嗣撬煜ず凸惴河τ謾O衷詿蠹葉既鮮兜劍綣心母魷钅坎蛔裱砑こ淘潁囟ɑ崾艿絞導某頭!R虼?,入U嫜安⒃謔導使ぷ髦姓返卦擻萌砑こ蹋前讜諼頤敲媲暗囊幌釷制惹械娜撾?。??軟件工程是一門研究范圍非常廣泛的迅速發(fā)展的新興學科,學科內的新技術、新方法不斷涌現(xiàn)。本書著重從實用角度講解軟件工程的基本概念、基本原理和技術方法,同時也注意了該書的系統(tǒng)型和先進性。希望本書既能對實際的軟件開發(fā)人員和管理人員有所幫助,又能為讀者深入研究這門學科奠定較好的基礎。本書共有13章。第1章介紹了軟件的概念、發(fā)展和軟件危機,著重介紹了軟件生存期、軟件開發(fā)模型及軟件工程的基本概念和基本內容。第2、3、4、5、6、9、10章是本書的重點,分別論述可行性研究、需求分析、總體設計、詳細設計、編碼、測試、維護階段的各種方法和技術,對SA方法、SD方法、數據流圖、數據字典、層次圖、HIPO圖、結構圖、NS圖、PAD圖、PDL語言、黑盒法、白盒法等逐一做了詳細的介紹,讀者開發(fā)軟件時可根據需要靈活運用。為了保持教材內容的先進性,本書第7、8章介紹了面向對象軟件工程學和統(tǒng)一建模語言UML,主要包括面向對象方法的基本概念、面向對象的分析、面向對象的設計、軟件復用、UML的靜態(tài)建模機制、UML的動態(tài)建模機制、UML軟件開發(fā)過程等內容。第11章介紹了有關軟件項目計劃、軟件項目組織、軟件項目人員配備、軟件項目的指導和檢驗、軟件配置管理和配置管理工具等軟件管理方面的內容。第12章介紹了軟件開發(fā)工具和環(huán)境,并對計算機輔助軟件工程CASE做了簡要的介紹。第13章介紹了軟件工程標準與軟件文檔,包括ISO9000質量標準、ISO/IEC12207軟件生存周期過程標準、能力成熟度模型CMM等內容。在附錄中給出了計算機軟件開發(fā)文檔編制指南,供實際應用時參考。本書內容新穎,實例豐富,語言文字通俗易懂;各章重點、難點突出,原理、技術和方法的闡述融于豐富的實例之中;各章均有小結與習題,便于教學和自學。本書可作為高等院?!败浖こ獭闭n程的教材或教學參考書,也可供從事軟件開發(fā)與應用的工程技術人員和管理人員閱讀參考。本書的第7、8、12、13章由李成大副教授編寫,第1、2、3、4、5、11章由張京副教授編寫,第9、10章由鄭顯舉老師編寫,第6章及附錄由許玨老師編寫,李成大老師負責統(tǒng)稿全書。西南交通大學計算機與通信工程學院文登敏副教授仔細審閱了本書,并提出了非常寶貴的意見,特此表示深深的謝意。由于編者水平有限,編寫時間倉促,書中錯誤之處在所難免,懇請專家和讀者批評指正。