出版時間:2009-8 出版社:清華大學出版社有限公司 作者:張權范 編 頁數(shù):321
前言
軟件工程是以軟件的說明、開發(fā)、維護和管理為內容,利用工程學的原理和方法來組織和管理軟件生產(chǎn),以保證軟件產(chǎn)品的質量,提高軟件生產(chǎn)率。隨著計算機應用的普及,計算機軟件無處不在。該學科已成為計算機科學的一個重要分支與信息產(chǎn)業(yè)的一個支柱,軟件工程已逐漸為人們所熟悉并得到廣泛應用。人們都認識到,在項目開發(fā)過程中必須遵循軟件工程原則。軟件工程課程是計算機相關專業(yè)學生參加工作以后最能直接應用的一門專業(yè)課。在本書的編寫過程中盡可能堅持簡單明了與實用的原則講述軟件工程的基本概念、原理、方法和工具,介紹目前較成熟的、廣泛使用的軟件工程技術。軟件工程講述“軟件開發(fā)”和“做程序員”的道理,在一個團隊中的合作精神。古人說:“讀書明理”。我認為其中的重要內涵,是要有積極的人生觀,以貢獻社會為己任。本書是作者多年的軟件工程教學與實踐經(jīng)驗的總結,希望本書的出版能為培養(yǎng)我國軟件專業(yè)人才發(fā)揮一定的作用。軟件工程的觀念、方法、策略和規(guī)范都是樸實無華的,并非要具備超凡的智慧才可領會,關鍵在于實踐。要抱著科學的態(tài)度來看待它,因為它不是小說,沒有引人人勝的情節(jié)。如何正確安排軟件的結構,合理組織、管理軟件的生產(chǎn),不僅僅是從事軟件開發(fā)專業(yè)人員的事,廣大計算機應用人員也需要掌握這方面的知識。本書可作為高等院校計算機專業(yè)的教材,也可供從事計算機軟件開發(fā)及應用的廣大科技人員做參考。作者建議在學習軟件工程課程之前,學生應當具備高級語言、數(shù)據(jù)結構、操作系統(tǒng)和數(shù)據(jù)庫技術等方面的知識,并且要從宏觀與微觀相結合的角度來了解該課程。從宏觀的角度來講,可以從面向數(shù)據(jù)流、面向數(shù)據(jù)結構和面向對象等層次來整體把握該課程;從微觀的角度來講,要掌握各層次的各種軟件工程工具的具體運用。本課程可安排在專業(yè)課學習的后期,畢業(yè)設計之前。使學生在畢業(yè)實習、畢業(yè)設計實踐中,運用軟件工程學的原理、方法和工具。
內容概要
本書從面向數(shù)據(jù)流、面向數(shù)據(jù)結構、面向對象三個層面由淺人深地對軟件工程進行了系統(tǒng)的介紹。本書最大的特色是:語言簡單明了,概念清晰,內容豐富且實用,對每一個具體的知識點一般都有具體的真實的現(xiàn)場工作場景的案例來幫助讀者理解相關的理論知識,跟蹤了目前軟件工程領域的最新成果。當然,本書的重點還是對傳統(tǒng)的軟件工程思想的描述,而對于軟件測試以及面向對象的章節(jié),因為目前在高等院校中都把它們作為單獨的課程來開設,所以,僅以介紹為主,但也都給出了比較好的案例;對軟件生命周期各環(huán)節(jié)的文檔附有規(guī)格說明書,主要的文檔還附有具體案例。 全書共分10章,是按軟件工程的三個層面與軟件生命周期的順序來組織的,本書可作為高等院校計算機專業(yè)本科層次的教材,也可以作為大專層次院校的教材或者作為社會上廣大讀者的自學參考書。
書籍目錄
第1章 概述 1.1 軟件工程學的幾個基本概念 1.1.1 軟件與軟件工程 1.1.2 軟件生存周期 1.1.3 軟件開發(fā)模型 1.1.4 軟件工程的任務及其研究范圍 1.2 軟件開發(fā)的原則和方法 1.2.1 軟件開發(fā)原則概述 1.2.2 軟件開發(fā)的方法 小結 習題第2章 軟件計劃 2.1 問題定義和可行性研究 2.1.1 問題定義 2.1.2 可行性研究 2.2 軟件計劃 2.2.1 軟件工作范圍 2.2.2 資源 2.2.3 軟件成本估算 2.2.4 軟件計劃任務書 2.2.5 案例:“學分管理系統(tǒng)” 2.2.6 項目開發(fā)進度月報編寫規(guī)范 小結 習題第3章 軟件需求分析 3.1 軟件需求分析的目標和任務 3.1.1 軟件需求分析的目標 3.1.2 軟件需求分析的任務 3.2 結構化分析 3.2.1 結構化分析方法的策略 3.2.2 數(shù)據(jù)流程圖 3.2.3 分層數(shù)據(jù)流程圖案例:簡易庫存管理系統(tǒng)數(shù)據(jù)流程圖 3.2.4 數(shù)據(jù)字典 3.2.5 結構化分析步驟 3.3 按功能逐層分解法 3.3.1 層次圖 3.3.2 IPO圖 3.4 軟件需求分析報告書寫規(guī)范 3.5 軟件需求分析報告的案例 小結 習題第4章 軟件總體設計 4.1 軟件總體設計的任務和目標 4.2 軟件總體設計基礎 4.2.1 軟件結構 4.2.2 結構圖 4.2.3 軟件模塊 4.3 軟件總體設計準則 4.4 結構化軟件設計 4.4.1 變換設計 4.4.2 事務設計 4.4.3 綜合設計 4.4.4 結構化軟件設計步驟 4.4.5 案例 4.5 Jackson設計方法 4.5.1 Jackson方法中的數(shù)據(jù)結構 4.5.2 Jackson設計方法案例 4.6 概要設計說明書編寫規(guī)范 4.7 概要設計說明書案例:簡易庫存管理系統(tǒng)概要設計 4.7.1 數(shù)據(jù)庫的結構設計 4.7.2 數(shù)據(jù)表之間的關系的設計 4.7.3 系統(tǒng)模塊結構設計 小結 習題第5章 軟件詳細設計 5.1 結構化程序設計 5.1.1 基本邏輯結構 5.1.2 基本結構嵌套 5.2 詳細設計工具 5.2.1 流程圖 5.2.2 N.S結構流程圖(盒圖) 5.2.3 HIPO圖 ……第6章 軟件編碼第7章 軟件測試第8章 軟件實施與維護第9章 軟件項目管理第10章 面向對象軟件工程技術
章節(jié)摘錄
插圖:第2章 軟件計劃在軟件系統(tǒng)開發(fā)之前,要對需要解決的問題進行定義,對問題的性質、目標和規(guī)模進行確切的了解。同時,對待開發(fā)的系統(tǒng)要進行可行性研究,對有關歷史、現(xiàn)狀和經(jīng)濟前景做調查,確定軟件系統(tǒng)所需要的計算機資源,這些是非常必要的。在確定開發(fā)一個軟件系統(tǒng)時還要制訂一個軟件計劃,其目的是向管理人員提出關于項目的經(jīng)費預算,人力、物力的需要量,進度的初步安排等,以便管理人員有效地組織人力、物力來實施這項軟件計劃。2.1 問題定義和可行性研究2.1.1 問題定義這里所講的問題是指用戶的基本要求,就是確切地定義用戶要求解決的問題,即確定問題的性質、工程的目標和規(guī)模。怎樣定義問題?問題定義的來源是用戶,是提出問題、請求解決的人。若問題是以書面形式提出,那么分析員應該認真閱讀和分析書面材料;如果問題是以口頭形式提出,那么分析員應該認真傾聽并仔細記錄要點,在適當?shù)臅r候認真地請用戶解釋。分析員還應該通過對用戶的訪問調查進一步搞清楚,用戶為什么提出這樣的問題,問題的背景是什么,用戶的目標是什么。問題定義的目的是要在短時間內,對用戶的要求有一個比較準確的估計,對要實現(xiàn)的系統(tǒng)規(guī)模做到胸中有數(shù)。但僅有這些還不夠,還要搞清用戶不打算干什么,在這個系統(tǒng)中哪些內容不用實現(xiàn)。工作的宗旨是搞清要做什么,并劃清要實現(xiàn)系統(tǒng)的范圍邊界。
編輯推薦
《軟件工程基礎》:原理與技術的完美結合;教學與科研的最新成果;語言精煉,實例豐富;可操作性強,實用性突出。
圖書封面
評論、評分、閱讀與下載