出版時間:2011-10 出版社:韓萬江、姜立新、等、 宋茂強 機械工業(yè)出版社 (2011-10出版) 作者:韓萬江 等 著 頁數(shù):274
Tag標簽:無
內容概要
《軟件工程案例教程:軟件項目開發(fā)實踐(第2版)》以案例的形式講述了軟件工程中軟件項目開發(fā)的實踐過程,全面涵蓋軟件項目開發(fā)中需求分析、概要設計、詳細設計、編碼、測試、提交以及運行維護等過程中涉及的理論、方法、技術、提交的產品和文檔等。《軟件工程案例教程:軟件項目開發(fā)實踐(第2版)》注重實效,系統(tǒng)、全面,通過貫穿始終的案例的講述,讓學習者在短時間內掌握軟件項目開發(fā)的基本知識、基本過程,并有效提高實踐能力?! 盾浖こ贪咐坛蹋很浖椖块_發(fā)實踐(第2版)》共分九章,第1~2章介紹軟件工程的基本概念以及軟件工程的主要技術,第3~9章系統(tǒng)地講述軟件項目開發(fā)的各個過程。《軟件工程案例教程:軟件項目開發(fā)實踐(第2版)》注重理論與實際的結合,引導學生通過軟件開發(fā)理論和案例的學習,深刻理解軟件工程的實質,為以后的軟件工程實踐打下基礎?! 盾浖こ贪咐坛蹋很浖椖块_發(fā)實踐(第2版)》既適合作為高等院校計算機及相關專業(yè)軟件工程、軟件測試課程的教材,也適合作為廣大軟件技術人員的培訓教程,同時可以作為軟件開發(fā)人員在工作及學習中的技術參考書。
書籍目錄
前言 第1章 軟件工程概述 1 1.1 軟件工程的背景 1 1.2 軟件工程知識體系 3 1.3 軟件工程的三段論 4 1.4 軟件工程模型 5 1.4.1 軟件項目開發(fā)路線圖 7 1.4.2 軟件項目管理路線圖 8 1.4.3 軟件過程改進路線圖 9 1.5 軟件開發(fā)模型 12 1.5.1 瀑布模型 12 1.5.2 v模型 12 1.5.3 原型模型 13 1.5.4 增量式模型 13 1.5.5 螺旋式模型 13 1.5.6 噴泉模型 15 1.5.7 智能模型 15 1.6 軟件工程中的復用原則 15 1.7 小結 17 1.8 練習題 17 第2章 結構化方法和面向對象方法 19 2.1 軟件工程方法比較 19 2.2 結構化軟件工程方法 20 2.2.1 結構化需求分析 21 2.2.2 結構化概要設計與詳細設計 21 2.2.3 結構化編碼 22 2.2.4 結構化測試 22 2.2.5 結構化維護 22 2.3 面向對象軟件工程方法 22 2.3.1 面向對象需求分析 23 2.3.2 面向對象設計 24 2.3.3 面向對象編程 24 2.3.4 面向對象測試 24 2.3.5 面向對象維護 24 2.4 軟件逆向工程 25 2.5 小結 25 2.6 練習題 25 第3章 軟件項目的需求分析 26 3.1 軟件項目需求概述 26 3.1.1 需求定義 26 3.1.2 需求類型 27 3.1.3 需求的重要性 28 3.2 需求工程 28 3.2.1 需求獲取 28 3.2.2 需求分析 31 3.2.3 需求規(guī)格說明 31 3.2.4 需求驗證 32 3.2.5 需求變更 32 3.3 需求分析模型 33 3.3.1 關聯(lián)模型 34 3.3.2 行為模型 34 3.3.3 數(shù)據(jù)模型 35 3.3.4 原型模型 37 3.4 需求建模的方法 37 3.4.1 結構化分析方法 37 3.4.2 面向對象分析方法 39 3.4.3 其他方法 49 3.5 需求規(guī)格說明文檔 51 3.6 項目案例 53 3.7 小結 63 3.8 練習題 63 第4章 軟件項目的概要設計 65 4.1 軟件設計定義 65 4.2 概要設計方法概論 66 4.3 設計模型 66 4.3.1 體系結構設計 66 4.3.2 數(shù)據(jù)設計 69 4.3.3 接口設計 78 4.3.4 構件設計 80 4.4 結構化的設計方法 85 4.4.1 功能模塊劃分 85 4.4.2 面向數(shù)據(jù)流的設計 86 4.4.3 輸入/輸出設計 87 4.5 面向對象的設計方法 87 4.5.1 識別對象 88 4.5.2 確定屬性 89 4.5.3 定義操作 89 4.5.4 確定對象之間的通信 90 4.5.5 完成對象定義 90 4.6 關于軟件模式和框架的概念 96 4.6.1 體系結構模式 96 4.6.2 設計模式 98 4.6.3 體系結構框架 99 4.7 軟件設計指導原則 102 4.8 概要設計文檔 103 4.9 項目案例 106 4.10 小結 119 4.11 練習題 119 第5章 軟件項目的詳細設計 121 5.1 關于詳細設計的概念 121 5.2 詳細設計的內容 122 5.3 結構化的詳細設計方法 122 5.3.1 面向數(shù)據(jù)結構的設計 122 5.3.2 結構化詳細設計的例子 125 5.4 面向對象的詳細設計方法 126 5.4.1 面向對象的詳細設計 126 5.4.2 面向對象詳細設計的例子 127 5.5 表達詳細設計的工具 129 5.5.1 圖形符號的設計方式 129 5.5.2 表格的設計方式 129 5.5.3 過程設計語言pdl 130 5.6 詳細設計文檔 132 5.7 項目案例 133 5.8 小結 145 5.9 練習題 145 第6章 軟件項目的編碼 147 6.1 編碼概述 147 6.2 編碼方法 147 6.2.1 結構化編程 148 6.2.2 面向對象編程 152 6.3 編碼策略 153 6.3.1 自頂向下的開發(fā)策略 153 6.3.2 自底向上的開發(fā)策略 153 6.3.3 自頂向下和自底向上相結合的開發(fā)策略 153 6.3.4 線程模式的開發(fā)策略 153 6.4 編碼語言與編碼標準和規(guī)范 154 6.4.1 編碼語言 154 6.4.2 編碼標準和規(guī)范 154 6.5 關于重構理念和重用原則 161 6.5.1 重構理念 161 6.5.2 重用原則 161 6.6 編碼文檔 162 6.7 項目案例 162 6.8 小結 172 6.9 練習題 172 第7章 軟件項目的測試 174 7.1 軟件測試概述 174 7.2 軟件測試方法概論 175 7.3 靜態(tài)測試 176 7.3.1 文檔審查 176 7.3.2 代碼檢查 178 7.3.3 技術評審 178 7.4 動態(tài)測試 180 7.4.1 白盒測試方法 180 7.4.2 黑盒測試方法 185 7.4.3 灰盒測試方法 196 7.5 軟件測試級別 196 7.5.1 單元測試 197 7.5.2 集成測試 199 7.5.3 系統(tǒng)測試 201 7.5.4 驗收測試 204 7.5.5 上線測試 204 7.5.6 回歸測試 204 7.6 面向對象的測試 204 7.6.1 面向對象分析的測試 205 7.6.2 面向對象設計的測試 205 7.6.3 面向對象的單元測試 206 7.6.4 面向對象的集成測試 207 7.6.5 面向對象的系統(tǒng)測試方法 207 7.7 測試過程管理 208 7.7.1 軟件測試計劃 208 7.7.2 軟件測試設計 209 7.7.3 軟件測試開發(fā) 210 7.7.4 軟件測試執(zhí)行 210 7.7.5 軟件測試跟蹤 211 7.7.6 軟件測試評估與總結 211 7.8 自動化測試 211 7.9 軟件測試過程的文檔 213 7.9.1 測試計劃文檔 213 7.9.2 測試設計文檔 214 7.9.3 軟件測試報告 222 7.10 項目案例 224 7.10.1 集成測試設計案例 224 7.10.2 系統(tǒng)測試設計案例 230 7.10.3 系統(tǒng)測試報告案例 238 7.11 小結 250 7.12 練習題 250 第8章 軟件項目的提交 252 8.1 軟件項目驗收與移交 252 8.2 驗收測試 253 8.3 培訓 254 8.3.1 培訓對象 254 8.3.2 培訓方式 254 8.3.3 培訓指南 255 8.4 用戶文檔 255 8.4.1 用戶手冊 255 8.4.2 系統(tǒng)管理員手冊 255 8.4.3 其他文檔 256 8.5 軟件項目提交文檔 256 8.5.1 驗收測試報告 256 8.5.2 用戶手冊 259 8.5.3 系統(tǒng)管理員手冊 260 8.5.4 產品提交文檔 261 8.6 項目案例 262 8.7 小結 265 8.8 練習題 265 第9章 軟件項目的維護 267 9.1 軟件項目維護概述 267 9.2 試運行 267 9.3 軟件的可維護性 268 9.4 軟件項目維護的類型 268 9.5 軟件再工程過程 269 9.6 軟件項目維護的過程 271 9.6.1 維護申請 271 9.6.2 維護實現(xiàn) 272 9.6.3 維護產品發(fā)布 272 9.7 軟件維護過程文檔 272 9.8 項目案例 272 9.9 小結 273 9.10 練習題 273 參考文獻 275
章節(jié)摘錄
版權頁:插圖:進行需求獲取的時候應該注意如下問題:1)需求過程缺乏用戶的參與,軟件人員往往受技術驅動,習慣性地跳到模塊的劃分,導致需求本身驗證困難。2)溝通失真也是主要問題,要通過即時的驗證來減少溝通失真。3)識別真正的客戶。識別真正的客戶不是一件容易的事情,項目總要面對多方客戶,不同類型客戶的素質、背景和要求都不一樣,有的時候沒有共同的利益,例如,銷售人員希望使用方便,會計人員最關心的是銷售的數(shù)據(jù)如何統(tǒng)計,人力資源關心的是如何管理和培訓員工等等。有時他們的利益甚至有沖突,所以必須認識到客戶并非平等的,有些人比其他人對項目的成功更為重要,要清楚地識別出那些影響項目的人,對多方客戶的需求進行排序。4)正確理解客戶的需求??蛻粲袝r并不十分明白自己的需要,可能提供一些混亂的信息,而且有時會夸大或者弱化真正的需求,所以需要我們既要懂一些心理知識,也要懂一些其他行業(yè)的知識,了解客戶的業(yè)務和社會背景,有選擇地過濾需求,理解和完善需求,確認客戶真正需要的東西。5)變更頻繁。為了響應變化,通過對變更分類來識別哪些變更可以通過復用和可配置解決。6)具備較強的忍耐力和清晰的思維。進行需求獲取的時候,應該能夠從客戶凌亂的建議和觀點整理出真正的需求,不能對客戶需求的不確定性和過分要求失去耐心,甚至造成不愉快,要具備好的協(xié)調能力。7)使用符合客戶語言習慣的表達。與客戶溝通最好的方式就是采用客戶熟悉的術語進行交流,這樣可以快速了解客戶的需求,同時也可以在談論的過程中為客戶提供一些建議和有針對性的問題。可適當請客戶提供一些需求模型(例如表格、流程圖、舊系統(tǒng)說明書等),這樣能夠更加方便雙方的交流,也便于我們提出建設性的意見和避免需求存在隱患。對于客戶的需求要做到頻繁溝通,不怕麻煩,只有經(jīng)過多次交流才能更好地了解客戶的目的。8)提供需求開發(fā)評估報告。無論需求開發(fā)的可行性是否存在,都需要給客戶一套比較完整的需求開發(fā)評估報告。通過這種直觀的表現(xiàn),讓客戶了解到需求執(zhí)行下去所需要花費的成本和代價,這樣也幫助客戶對需求進行重新評估。9)尊重開發(fā)人員和客戶的意見,妥善解決矛盾。如果用戶與開發(fā)人員之間不能相互理解,那關于需求的討論將會有障礙。參與需求開發(fā)過程的客戶和開發(fā)人員要相互尊重,就項目成功達成共識,否則會導致需求延緩或擱淺,如果沒有有效的解決方案,會使得矛盾升級,最后導致雙方都不滿意。10)劃分需求的優(yōu)先級。絕大多數(shù)項目沒有足夠的時間或資源實現(xiàn)功能性的每個細節(jié),決定哪些特性是必要的,哪些是重要的,是需求開發(fā)的主要部分,這只能由客戶負責設定需求優(yōu)先級。在必要的時候懂得取舍是很重要的,盡管沒有人愿意看到自己所希望的需求在項目中未被實現(xiàn),但畢竟要面對現(xiàn)實,業(yè)務決策有時不得不依據(jù)優(yōu)先級來縮小項目范圍,或延長工期,或增加資源,或在質量上尋找折中。
編輯推薦
《軟件工程案例教程:軟件項目開發(fā)實踐(第2版)》按照軟件開發(fā)過程模型,通過一個貫穿全書的綜合案例,詳細介紹了軟件開發(fā)的需求分析、概要設計、詳細設計、編碼、測試、提交以及維護等軟件開發(fā)過程。在第2版修訂中,作者結合多年的教學和軟件工程項目實踐經(jīng)驗。根據(jù)軟件工程技術的新發(fā)展,進一步完善了很多軟件開發(fā)技術和技巧,并更換了第1版的所有案例說明。第2版中的“綜合信息管理平臺”案例,其復雜性和綜合性更加合理、科學,通過循序漸進的案例學習,讀者可以快速掌握軟件開發(fā)的基本知識、基本過程,并有效提高實踐能力,為以后順利投入工作實踐打下堅實的基礎。《軟件工程案例教程:軟件項目開發(fā)實踐(第2版)》特點:·內容全面,涵蓋了軟件項目開發(fā)的所有內容,包括理論、方法、提交產品和文檔?!ぷ⒅貙嵭?。書中涉及的理論和方法都有相應的實踐案例對照講解,便于學生理解掌握?!そY構清晰,全書通過一個貫穿始終的綜合項目案例詳細說明軟件項目的完整開發(fā)過程和提交的文檔等?!ち曨}實用,每章后配有相應的習題,便于學生復習、鞏固所學理論知識?!そ梯o支持,為教師配有電子教案,方便教師教學。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載