軟件工程

出版時間:2011-5  出版社:瞿中、吳渝、常慶麗、 等 機(jī)械工業(yè)出版社 (2011-05出版)  作者:瞿中,吳渝,常慶麗 等 著  頁數(shù):357  

內(nèi)容概要

  《軟件工程(第2版)》從實(shí)用的角度出發(fā),根據(jù)教育部高教司主持編審的《中國計算機(jī)科學(xué)與技術(shù)學(xué)科教程2002》中對軟件工程的要求組織編寫,并參照美國ACM和IEEE Computing Curricula 2005教程關(guān)于軟件工程的描述?!盾浖こ蹋ǖ?版)》詳細(xì)介紹了軟件工程、軟件開發(fā)過程、軟件計劃、需求分析、總體設(shè)計、詳細(xì)設(shè)計、編碼、軟件測試、軟件維護(hù)、軟件工程標(biāo)準(zhǔn)化和軟件文檔、軟件工程質(zhì)量、軟件工程項(xiàng)目管理、開發(fā)實(shí)例等知識。每章配有習(xí)題,以指導(dǎo)讀者深入地進(jìn)行學(xué)習(xí)?!  盾浖こ蹋ǖ?版)》內(nèi)容豐富,結(jié)構(gòu)合理,既可作為高等院校計算機(jī)專業(yè)課程的教材或教學(xué)參考書,也可作為通信、電子信息、自動化等相關(guān)專業(yè)的計算機(jī)課程教材,還可供軟件工程師、軟件項(xiàng)目管理者和應(yīng)用軟件開發(fā)人員閱讀參考。

書籍目錄

出版說明前言第1章 概論1.1 軟件的概念1.1.1 軟件的定義以及特點(diǎn)1.1.2 軟件技術(shù)的發(fā)展階段1.1.3 軟件的分類1.2 軟件危機(jī)1.2.1 軟件危機(jī)的定義1.2.2 軟件危機(jī)產(chǎn)生的原因1.2.3 解決軟件危機(jī)的途徑1.3 軟件工程1.3.1 軟件工程的定義和研究對象1.3.2 軟件工程的基本原理1.3.3 軟件工程項(xiàng)目的基本目標(biāo)1.3.4 軟件工程的基本原則1.4 軟件生存周期1.4.1 軟件生存周期的概念1.4.2 軟件開發(fā)工具1.5 軟件開發(fā)過程模型1.6 軟件開發(fā)方法簡述1.7 軟件工程的最新發(fā)展動向1.8 經(jīng)典例題講解小結(jié)習(xí)題第2章 結(jié)構(gòu)化分析2.1 可行性研究2.1.1 問題定義2.1.2 可行性研究的任務(wù)2.1.3 可行性研究的步驟2.2 系統(tǒng)流程圖2.2.1 系統(tǒng)流程圖的符號2.2.2 系統(tǒng)流程圖舉例2.2.3 分層2.3 制訂軟件計劃2.3.1 確定軟件計劃2.3.2 復(fù)審軟件計劃2.4 成本/效益分析2.4.1 成本估算技術(shù)2.4.2 成本/效益分析的方法2.5 需求分析的概念和任務(wù)2.5.1 需求分析的概念2.5.2 需求分析的層次2.5.3 需求分析的目標(biāo)和任務(wù)2.5.4 需求分析的原則2.5.5 需求規(guī)格說明書2.5.6 評審2.6 獲取需求的方法2.6.1 存在問題2.6.2 常用方法2.6.3 需求分析的過程2.6.4 結(jié)構(gòu)化需求分析方法2.7 傳統(tǒng)的軟件建模2.7.1 軟件建模2.7.2 數(shù)據(jù)模型的實(shí)體-聯(lián)系圖建立2.7.3 功能模型、行為模型的建立及數(shù)據(jù)字典2.7.4 構(gòu)建數(shù)據(jù)流圖實(shí)例2.7.5 快速原型法分析實(shí)例2.8 經(jīng)典例題講解小結(jié)習(xí)題第3章 結(jié)構(gòu)化設(shè)計3.1 總體設(shè)計的任務(wù)及過程3.1.1 總體設(shè)計的任務(wù)3.1.2 總體設(shè)計的過程3.2 總體設(shè)計的原理3.2.1 軟件結(jié)構(gòu)和過程3.2.2 模塊設(shè)計3.2.3 結(jié)構(gòu)設(shè)計3.3 設(shè)計準(zhǔn)則3.4 總體設(shè)計的常用方法及工具3.4.1 面向數(shù)據(jù)流的設(shè)計方法3.4.2 總體設(shè)計中的工具3.5 模塊結(jié)構(gòu)設(shè)計3.6 數(shù)據(jù)存儲設(shè)計3.7 模型-視圖-控制器框架3.7.1 MVC模式3.7.2 MVC中的模型類、視圖類和控制類3.7.3 MVC的實(shí)現(xiàn)3.8 總體設(shè)計說明書編寫規(guī)范3.9 詳細(xì)設(shè)計階段的任務(wù)3.10 結(jié)構(gòu)化詳細(xì)設(shè)計的原則3.11結(jié)構(gòu)化詳細(xì)設(shè)計的方法和工具3.11.1 詳細(xì)設(shè)計的方法3.11.2 詳細(xì)設(shè)計的工具3.11.3 詳細(xì)設(shè)計工具的選擇3.12詳細(xì)設(shè)計規(guī)格說明與復(fù)審3.12.1 詳細(xì)設(shè)計說明3.12.2 設(shè)計復(fù)審3.13 面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化設(shè)計方法3.14 Jackson程序設(shè)計方法3.14.1 Jackson方法的基本思想3.14.2 Jackson結(jié)構(gòu)圖3.14.3 Jackson方法的設(shè)計技術(shù)3.15Warnier程序設(shè)計方法3.15.1 Warnier方法的基本思想3.15.2 Warnier方法的設(shè)計技術(shù)3.16基于組件的設(shè)計方法3.17 界面設(shè)計3.17.1 用戶界面設(shè)計的一般原則和步驟3.17.2 字符界面設(shè)計3.17.3 菜單設(shè)計3.17.4 對話框設(shè)計3.17.5 多窗口界面設(shè)計3.18 軟件體系結(jié)構(gòu)3.18.1 軟件體系結(jié)構(gòu)的興起3.18.2 軟件體系結(jié)構(gòu)的概念3.18.3 軟件體系結(jié)構(gòu)的現(xiàn)狀及發(fā)展方向3.18.4 軟件體系結(jié)構(gòu)的描述方法3.19 軟件體系結(jié)構(gòu)與操作系統(tǒng)3.19.1 分層結(jié)構(gòu)3.19.2 微內(nèi)核結(jié)構(gòu)3.20經(jīng)典例題講解小結(jié)習(xí)題第4章 編碼及測試4.1 程序設(shè)計語言4.1.1 程序設(shè)計語言的發(fā)展及分類4.1.2 選擇程序設(shè)計語言的標(biāo)準(zhǔn)4.2 程序設(shè)計風(fēng)格4.2.1 源程序文檔化4.2.2 數(shù)據(jù)說明4.2.3 表達(dá)式和語句結(jié)構(gòu)4.2.4 輸入和輸出4.3 程序效率4.4 編程安全4.5 結(jié)構(gòu)化程序設(shè)計方法4.6 程序的復(fù)雜性及度量4.6.1 代碼行度量法4.6.2 McCabe度量法4.6.3 Halstead度量法4.7 軟件測試基礎(chǔ)4.7.1 軟件測試的意義4.7.2 基本概念4.7.3 軟件測試的目的、任務(wù)、原則和研究對象4.7.4 軟件測試的發(fā)展歷史及趨勢4.8 軟件測試的方法4.8.1 靜態(tài)測試和動態(tài)測試4.8.2 黑盒測試和白盒測試4.9 軟件測試的步驟4.9.1 單元測試4.9.2 集成測試4.9.3 確認(rèn)測試4.9.4 系統(tǒng)測試4.9.5 驗(yàn)收測試4.10軟件測試4.10.1 軟件測試角色4.10.2 軟件測試的需求規(guī)格說明4.10.3 軟件測試設(shè)計說明4.11測試設(shè)計和管理4.11.1 錯誤曲線4.11.2 測試用例設(shè)計4.12軟件測試工具4.12.1 自動軟件測試的優(yōu)點(diǎn)4.12.2 測試工具分類4.12.3 自動測試的相關(guān)問題4.13經(jīng)典例題講解小結(jié)習(xí)題第5章 軟件維護(hù)及軟件再工程5.1 軟件維護(hù)的概念5.1.1 軟件維護(hù)的定義5.1.2 軟件維護(hù)的分類5.1.3 軟件維護(hù)成本5.2 軟件維護(hù)的特點(diǎn)5.3 軟件維護(hù)過程5.4 軟件維護(hù)的步驟5.5 軟件的可維護(hù)性5.5.1 影響軟件可維護(hù)性的因素5.5.2 軟件可維護(hù)性度量5.5.3 提高軟件的可維護(hù)性方法5.6 逆向工程和再工程5.6.1 預(yù)防性維護(hù)5.6.2 軟件的逆向工程和再工程5.6.3 軟件再工程的過程5.6.4 軟件再工程的方法小結(jié)習(xí)題第6章 面向?qū)ο蠓椒▽W(xué)6.1 面向?qū)ο蠓椒▽W(xué)概述6.1.1 面向?qū)ο蠓椒▽W(xué)的要點(diǎn)6.1.2 面向?qū)ο蠓椒▽W(xué)的優(yōu)點(diǎn)6.2 面向?qū)ο蟮母拍?.2.1 對象6.2.2 其他概念6.3 面向?qū)ο蠼?.4 對象模型6.4.1 類圖的基本符號6.4.2 表示關(guān)系的符號6.5 功能模型6.5.1 用例圖6.5.2 用例建模6.6 3種模型之間的關(guān)系6.7 經(jīng)典例題講解小結(jié)習(xí)題第7章 面向?qū)ο蠓治?.1 面向?qū)ο蠓治龅幕具^程7.1.1 概述7.1.2 三個子模型與五個層次7.2 需求陳述的書寫7.3 建立對象模型7.3.1 確定類與對象7.3.2 確定關(guān)聯(lián)7.3.3 劃分主題7.3.4 確定屬性7.3.5 識別繼承關(guān)系7.3.6 反復(fù)修改7.4 建立動態(tài)模型7.5 建立功能模型7.5.1 畫出基本系統(tǒng)模型圖7.5.2 畫出功能級數(shù)據(jù)流圖7.5.3 描述處理框功能7.6 定義服務(wù)7.7 經(jīng)典例題講解小結(jié)習(xí)題第8章 面向?qū)ο笤O(shè)計8.1 面向?qū)ο笤O(shè)計的準(zhǔn)則8.1.1 模塊化8.1.2 抽象化8.1.3 信息隱藏和封裝8.1.4 對象的高內(nèi)聚和弱耦合8.1.5 可擴(kuò)充性8.1.6 可重用性8.2 啟發(fā)規(guī)則8.2.1 設(shè)計結(jié)果應(yīng)該清晰易懂8.2.2 一般——特殊結(jié)構(gòu)的深度應(yīng)適當(dāng)8.2.3 設(shè)計簡單的類8.2.4 使用簡單的協(xié)議8.2.5 使用簡單的服務(wù)8.2.6 把設(shè)計變動減至最小8.3 軟件重用8.3.1 概述8.3.2 類構(gòu)件8.3.3 軟件重用的效益8.4 系統(tǒng)分解8.4.1 子系統(tǒng)之間的兩種交互方式8.4.2 組織系統(tǒng)的兩種方案8.4.3 設(shè)計系統(tǒng)的拓?fù)浣Y(jié)構(gòu)8.5 設(shè)計問題域子系統(tǒng)8.6 設(shè)計人—機(jī)交互子系統(tǒng)8.6.1 設(shè)計人—機(jī)交互界面的準(zhǔn)則8.6.2 設(shè)計人—機(jī)交互子系統(tǒng)的策略8.7 設(shè)計任務(wù)管理子系統(tǒng)8.7.1 確定事件驅(qū)動型任務(wù)8.7.2 確定時鐘驅(qū)動型任務(wù)8.7.3 確定優(yōu)先任務(wù)和關(guān)鍵任務(wù)8.7.4 確定協(xié)調(diào)任務(wù)8.7.5 確定資源需求8.8 設(shè)計數(shù)據(jù)管理子系統(tǒng)8.8.1 選擇數(shù)據(jù)存儲管理模式8.8.2 設(shè)計數(shù)據(jù)管理子系統(tǒng)8.9 設(shè)計類中的服務(wù)8.9.1 確定類中應(yīng)有的服務(wù)8.9.2 涉及實(shí)現(xiàn)服務(wù)的方法8.10 設(shè)計關(guān)聯(lián)8.10.1 關(guān)聯(lián)的遍歷8.10.2 實(shí)現(xiàn)單向關(guān)聯(lián)8.10.3 實(shí)現(xiàn)雙向關(guān)聯(lián)8.10.4 鏈屬性的實(shí)現(xiàn)8.11設(shè)計優(yōu)化8.11.1 確定優(yōu)先級8.11.2 提高效率的幾項(xiàng)技術(shù)8.11.3 調(diào)整繼承關(guān)系8.12經(jīng)典例題講解小結(jié)習(xí)題第9章 面向?qū)ο髮?shí)現(xiàn)9.1 面向?qū)ο笳Z言9.1.1 面向?qū)ο笳Z言的優(yōu)點(diǎn)9.1.2 面向?qū)ο笳Z言的技術(shù)特點(diǎn)9.1.3 選擇面向?qū)ο笳Z言的原則9.2 面向?qū)ο蟪绦蛟O(shè)計風(fēng)格9.2.1 提高可重用性9.2.2 提高可擴(kuò)充性9.2.3 提高健壯性9.3 測試策略9.3.1 面向?qū)ο鬁y試模型9.3.2 面向?qū)ο蠓治龅臏y試9.3.3 面向?qū)ο笤O(shè)計的測試9.3.4 面向?qū)ο缶幊痰臏y試9.3.5 面向?qū)ο蟮膯卧獪y試9.3.6 面向?qū)ο蟮募蓽y試9.3.7 面向?qū)ο蟮南到y(tǒng)測試9.4 經(jīng)典例題講解小結(jié)習(xí)題第10章 軟件工程標(biāo)準(zhǔn)化和軟件文檔10.1 軟件工程標(biāo)準(zhǔn)化的概念10.1.1 什么是軟件工程標(biāo)準(zhǔn)化10.1.2 軟件工程標(biāo)準(zhǔn)化的意義10.1.3 軟件工程標(biāo)準(zhǔn)化的類型10.2 軟件工程標(biāo)準(zhǔn)的制定與推行10.3 軟件工程標(biāo)準(zhǔn)的層次和體系框架10.3.1 軟件工程標(biāo)準(zhǔn)的層次10.3.2 軟件工程過程中版本控制與變更控制處理過程10.3.3 中國的軟件工程標(biāo)準(zhǔn)化工作10.4 ISO9000國際標(biāo)準(zhǔn)簡介10.5 軟件文檔10.5.1 軟件文檔的作用和分類10.5.2 對軟件文檔編制的質(zhì)量要求10.5.3 軟件文檔的管理和維護(hù)10.6 經(jīng)典例題講解小結(jié)習(xí)題第11章 軟件工程質(zhì)量及項(xiàng)目管理11.1 軟件質(zhì)量特性11.1.1 軟件質(zhì)量的定義11.1.2 軟件質(zhì)量的特性11.2 軟件質(zhì)量的度量模型11.2.1 軟件度量和軟件質(zhì)量的度量11.2.2 軟件質(zhì)量的度量模型11.3 軟件質(zhì)量保證11.3.1 什么是軟件質(zhì)量保證11.3.2 軟件質(zhì)量保證的主要任務(wù)11.3.3 軟件質(zhì)量保證策略11.4 技術(shù)評審11.5 軟件質(zhì)量管理體系11.5.1 軟件產(chǎn)品質(zhì)量管理的特點(diǎn)11.5.2 軟件質(zhì)量管理的指導(dǎo)思想11.5.3 軟件質(zhì)量管理體系11.6 軟件項(xiàng)目管理11.6.1 軟件項(xiàng)目管理的特點(diǎn)11.6.2 軟件項(xiàng)目管理的主要職能11.6.3 軟件項(xiàng)目管理的主要內(nèi)容11.7 基于CASE技術(shù)的開發(fā)工具簡介11.8 軟件項(xiàng)目管理活動11.8.1 計劃項(xiàng)目11.8.2 項(xiàng)目組織11.8.3 控制項(xiàng)目11.8.4 終結(jié)項(xiàng)目11.9 成本估算11.10計劃和組織11.10.1 項(xiàng)目計劃的制定11.10.2 項(xiàng)目組人員管理原則11.10.3 人員組織與管理11.11進(jìn)度計劃11.11.1 制定開發(fā)進(jìn)度計劃11.11.2 Gantt圖與時間管理11.11.3 工程網(wǎng)絡(luò)與關(guān)鍵路徑11.11.4 項(xiàng)目進(jìn)度跟蹤與控制11.12風(fēng)險管理11.12.1 風(fēng)險識別與分類11.12.2 風(fēng)險評估與分析11.12.3 風(fēng)險策劃與管理11.12.4 風(fēng)險規(guī)避與監(jiān)控11.13項(xiàng)目管理認(rèn)證體系IPMP與PMP11.13.1 IPMP概況11.13.2 PMP簡介11.13.3 我國目前的項(xiàng)目管理認(rèn)證體系的發(fā)展?fàn)顩r11.14經(jīng)典例題講解小結(jié)習(xí)題第12章 開發(fā)實(shí)例12.1 項(xiàng)目論證和計劃12.1.1 系統(tǒng)調(diào)查12.1.2 新系統(tǒng)的總體功能需求和性能要求12.1.3 系統(tǒng)開發(fā)的框架12.2 可行性分析12.3 需求分析12.3.1 數(shù)據(jù)流分析12.3.2 系統(tǒng)流程圖12.3.3 數(shù)據(jù)字典12.4 總體設(shè)計12.4.1 功能模塊圖12.4.2 層次方框圖12.4.3 IPO圖12.4.4 系統(tǒng)的功能結(jié)構(gòu)圖12.4.5 人事管理工作的工作流程模型圖12.4.6 系統(tǒng)數(shù)據(jù)庫關(guān)系說明圖12.5 詳細(xì)設(shè)計12.6 系統(tǒng)實(shí)現(xiàn)12.7 測試與維護(hù)12.7.1 測試結(jié)果12.7.2 系統(tǒng)維護(hù)小結(jié)習(xí)題參考文獻(xiàn)

章節(jié)摘錄

版權(quán)頁:插圖:傳統(tǒng)的軟件是利用標(biāo)準(zhǔn)函數(shù)庫技術(shù)來實(shí)現(xiàn)重用的,該方法試圖用標(biāo)準(zhǔn)函數(shù)庫中的函數(shù)作為“預(yù)制件”來建造新的軟件系統(tǒng)。但是,標(biāo)準(zhǔn)函數(shù)缺乏必要的“柔性”,不能適應(yīng)不同應(yīng)用場合的不同需要,并不是理想的可重用的軟件成分。在面向?qū)ο蠓椒ㄋ褂玫膶ο笾校瑪?shù)據(jù)和操作是作為平等伙伴出現(xiàn)的。因此,對象具有很強(qiáng)的自含性。此外,對象固有的封裝性和信息隱藏機(jī)制,使得對象的內(nèi)部實(shí)現(xiàn)與外界隔離,具有較強(qiáng)的獨(dú)立性。由此可見,對象是比較理想的模塊和可重用的軟件成分。面向?qū)ο蟮能浖夹g(shù)在利用可重用的軟件成分構(gòu)造新的軟件系統(tǒng)時,有很大的靈活性。以下兩種方法可以重復(fù)使用一個對象類:一種方法是創(chuàng)建該類的實(shí)例,從而直接使用它;另一種方法是從它派生出一個滿足當(dāng)前需要的新類。繼承性機(jī)制使得子類不僅可以重用其父類的數(shù)據(jù)結(jié)構(gòu)和程序代碼,而且可以在父類代碼的基礎(chǔ)上方便地修改和擴(kuò)充,這種修改并不影響對原有類的使用。(4)與人類習(xí)慣的思維方式一致面向?qū)ο蟮能浖夹g(shù)以對象為核心,用這種技術(shù)開發(fā)出的軟件系統(tǒng)由對象組成。對象是對現(xiàn)實(shí)世界實(shí)體的正確抽象,它是由描述內(nèi)部狀態(tài)表示靜態(tài)屬性的數(shù)據(jù),以及可以對這些數(shù)據(jù)施加的操作,封裝在一起所構(gòu)成的統(tǒng)一體,對象之間通過傳遞消息互相聯(lián)系,以模擬現(xiàn)實(shí)世界中不同事物彼此之間的聯(lián)系。面向?qū)ο蟮脑O(shè)計方法的基本原理是,使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題。它強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的概念而不強(qiáng)調(diào)算法,它鼓勵開發(fā)者在軟件開發(fā)的絕大部分過程中都用應(yīng)用領(lǐng)域的概念去思考。在面向?qū)ο蟮脑O(shè)計方法中,計算機(jī)的觀點(diǎn)是不重要的,現(xiàn)實(shí)世界的模型才是最重要的。面向?qū)ο蟮能浖_發(fā)過程從始至終都圍繞著建立問題領(lǐng)域的對象模型來進(jìn)行。對問題領(lǐng)域進(jìn)行自然分解,確定需要使用的對象和類,建立適當(dāng)?shù)念惖燃?,在對象之間傳遞消息實(shí)現(xiàn)必要的聯(lián)系,從而按照人們習(xí)慣的思維方式建立起問題領(lǐng)域的模型,模擬客觀世界。在人的認(rèn)識深化過程中,既包括了從一般到特殊的演繹思維過程,也包括了從特殊到一般的歸納思維過程。人在認(rèn)識和解決復(fù)雜問題時使用的最強(qiáng)有力的思維工具是抽象,也就是在處理復(fù)雜對象時,為了達(dá)到某個分析目的集中研究對象的與此目的有關(guān)的實(shí)質(zhì),忽略該對象的那些與此目的無關(guān)的部分。

編輯推薦

《軟件工程(第2版)》為高等院校規(guī)劃教材?軟件工程系列之一。

圖書封面

評論、評分、閱讀與下載


    軟件工程 PDF格式下載


用戶評論 (總計0條)

 
 

 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號-7