出版時間:2001-1 出版社:清華大學(xué)出版社 作者:鄭人杰等 編著 頁數(shù):300
內(nèi)容概要
軟件工程是20世紀(jì)60年代開始發(fā)展起來的新學(xué)科。隨著計算機的普及,作為其核心部分的軟件已深入到社會生產(chǎn)活動和生活的各個領(lǐng)域。軟件的開發(fā)和維護都需要軟件工程知識,因此有人稱它為軟件產(chǎn)業(yè)的支柱。本書是作者根據(jù)清華大學(xué)多年教學(xué)的講義改編的。內(nèi)容包括:軟件工程概述;軟件需求分析;軟件設(shè)計;詳細(xì)設(shè)計描述助工具;程序編碼;面向?qū)ο蠹夹g(shù);軟件測試,軟件維護;軟件工程標(biāo)準(zhǔn)化與軟件文檔。書中適當(dāng)介紹了軟件管理和軟件工程標(biāo)準(zhǔn)化問題。掌握這些知識將有助于讀者在軟件工程項目中體現(xiàn)工程化和標(biāo)準(zhǔn)化。內(nèi)容通俗易懂,圖文并茂,原理、方法與實例結(jié)合。本書適于作大專院校中計算機或軟件專業(yè)的教材,也可供計算機軟件人員和計算機用戶閱讀。
書籍目錄
第1章 軟件工程概述 1. 1 軟件的概念.特點和分類 1. 1. 1 軟件的概念與特點 1. 1. 2 軟件的分類 1. 2 軟件的發(fā)展和軟件危機 1. 3 軟件工程過程和軟件生存期 1. 3. 1 軟件工程過程(software engineering process) 1. 3. 2 軟件生存期(life cycle) 1. 4 軟件生存期模型 1. 4. 1 瀑布模型(waterfall model) 1. 4. 2 演化模型(evolutional model) 1. 4. 3 螺旋模型(spiral model) 1. 4. 4 噴泉模型(water fountain model) 1. 4. 5 智能模型(intelligence model) 1. 5 軟件工程的基本目標(biāo) 1. 5. 1 軟件工程的定義 1. 5. 2 軟件工程項目的基本目標(biāo) 第2章 軟件需求分析 2. 1 軟件需求分析概述 2. 1. 1 軟件需求分析的任務(wù) 2. 1. 2 需求分析的過程 2. 1. 3 軟件需求分析的原則 2. 2 結(jié)構(gòu)化分析方法 2. 2. 1 數(shù)據(jù)流圖(DFD, data flow diagram) 2. 2.2 數(shù)據(jù)詞典(DD, data dictionary) 2. 2. 3 加工邏輯說明 2. 3 結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法(DSSD)--面向數(shù)據(jù)結(jié)構(gòu)的分析方法之 2. 3. 1 Warnier圖 2. 3. 2 DSSD的分析方法 2. 4 Jackson系統(tǒng)開發(fā)方法(JSD)--面向數(shù)據(jù)結(jié)構(gòu)的分析方法之二 2. 4. 1 進程模型 2. 4. 2 JSD方法的步驟 2. 4. 3 實體動作分析 2. 4. 4 實體結(jié)構(gòu)分析 2. 4. 5 定義初始模型 2. 5 原型化方法(Prototyping) 2. 5. 1 軟件原型的分類 2. 5. 2 快速原型開發(fā)模型 2. 6 系統(tǒng)動態(tài)分析 2. 6. 1 狀態(tài)遷移圖 2. 6. 2 Petri網(wǎng) 2. 7 結(jié)構(gòu)化分析與設(shè)計方法(SADT) 第3章 軟件設(shè)計 3. 1 軟件設(shè)計的目標(biāo)和任務(wù) 3. 1. 1 軟件設(shè)計在開發(fā)階段中的重要性 3. 1. 2 軟件設(shè)計任務(wù) 3. 2 程序結(jié)構(gòu)與程序結(jié)構(gòu)圖 3. 2. 1 程序的樹狀結(jié)構(gòu)和網(wǎng)狀結(jié)構(gòu) 3. 2. 2 結(jié)構(gòu)圖(structure chart, 簡稱SC) 3. 3 模塊的獨立性 3. 3. 1 模塊(module) 3. 3. 2 模塊獨立性(module independence) 3. 3. 3 耦合性(coupling) 3. 3. 4 內(nèi)聚性(cohesion) 3. 3. 5 信息隱蔽 3. 4 結(jié)構(gòu)化設(shè)計方法--面向數(shù)據(jù)流的設(shè)計方法 3. 4. 1 典型的系統(tǒng)結(jié)構(gòu)形式 3. 4. 2 變換分析 3. 4. 3 事務(wù)分析 3. 4. 4 軟件模塊結(jié)構(gòu)的改進 3. 5 結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法(DSSD)--面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法之一 3. 5. 1 一種簡化的設(shè)計方法 3. 5. 2 導(dǎo)出邏輯輸出結(jié)構(gòu) 3. 5. 3 導(dǎo)出邏輯處理結(jié)構(gòu)(LPS) 3. 6 Jackson系統(tǒng)開發(fā)方法(JSD)--面向數(shù)據(jù)結(jié)構(gòu)的分析與設(shè)計方法之二 3. 6. 1 JSD功能描述 3. 6. 2 決定系統(tǒng)時間特性 3. 6. 3 實現(xiàn) 第4章 詳細(xì)設(shè)計描述的工具 4. 1 程序流程圖(Program flow chart) 4. 2 N-S圖 4. 3 PAD 4. 4 FDL 第5章 程序編碼 5. 1 對源程序的質(zhì)量要求 5. 2 結(jié)構(gòu)化程序設(shè)計 5. 2. 1 關(guān)于GOTO語句的爭論 5. 2. 2 結(jié)構(gòu)化程序設(shè)計的原則 5. 2. 3 程序設(shè)計自頂向下, 逐步求精 5. 3 程序設(shè)計風(fēng)格 5. 3. 1 源程序文檔化 5. 3. 2 數(shù)據(jù)說明 5. 3. 3 語句結(jié)構(gòu) 5. 3. 4 輸入和輸出(I/O) 5. 4 程序復(fù)雜性度量 5. 4. 1 代碼行度量法 5. 4. 2 McCabe度量法 5. 4. 3 Halstead的軟件科學(xué) 第6章 面向?qū)ο蠹夹g(shù) 6. 1 面向?qū)ο蟮母拍? 6. 2 基于復(fù)用的開發(fā)過程 6. 2. 1 應(yīng)用生存期 6. 2. 2 類生存期 6. 3 面向?qū)ο蠓治雠c模型化 6. 3. 1 面向?qū)ο蠓治?OOA, object-oriented analysis) 6. 3. 2 論域分析(domain analysis) 6. 3. 3 應(yīng)用分析(application analysis) 6. 3. 4 對象模型技術(shù)(OMT, object model tech. ) 6. 4 高層設(shè)計 6. 5 類的設(shè)計 6. 5. 1 通過復(fù)用設(shè)計類 6. 5. 2 類設(shè)計的方針 6. 5. 3 類設(shè)計的過程 6. 6 Coad與Yourdon面向?qū)ο蠓治雠c設(shè)計技術(shù) 6. 6. 1 面向?qū)ο蟮姆治? 6. 6. 2 面向?qū)ο蟮脑O(shè)計 6. 7 Booch的方法 6. 7. 1 Booch方法的設(shè)計過程 6. 7. 2 Booch方法的基本的模型 6. 8 面向?qū)ο笤O(shè)計的實現(xiàn) 6. 8. 1 類的實現(xiàn) 6. 8. 2 系統(tǒng)的實現(xiàn) 第7章 軟件測試 7. 1 軟件測試的基礎(chǔ) 7. 1. 1 什么是軟件測試 7. 1. 2 軟件測試的目的和原則 7. 1. 3 軟件測試的對象 7. 1. 4 測試信息流 7. 1. 5 測試與軟件開發(fā)各階段的關(guān)系 7. 2 測試用例設(shè)計 7. 3 白盒測試的測試用例設(shè)計 7. 3. 1 邏輯覆蓋 7. 3. 2 語句覆蓋 7. 3. 3 判定覆蓋 7. 3. 4 條件覆蓋 7. 3. 5 判定-條件覆蓋 7. 3. 6 條件組合覆蓋 7. 3. 7 路徑測試 7. 4 黑盒測試的測試用例設(shè)計 7. 4. 1 等價類劃分 7. 4. 2 邊界值分析 7. 4. 3 錯誤推測法 7. 4. 4 因果圖 7. 5 軟件測試的策略 7. 5. 1 單元測試(unit testing) 7. 5. 2 組裝測試(integrated testing) 7. 5. 3 確認(rèn)測試(validation testing) 7. 5. 4 系統(tǒng)測試(system testing) 7. 5. 5 測試的步驟及相應(yīng)的測試種類 7. 6 人工測試 7. 6. 1 靜態(tài)分析 7. 6. 2 人工測試 7. 7 調(diào)試(Debug, 排錯) 7. 7. 1 調(diào)試的步驟 7. 7. 2 幾種主要的調(diào)試方法 7. 7. 3 調(diào)試原則 第8章 軟件維護 8. 1 軟件維護的概念 8. 1. 1 軟件維護的定義 8. 1. 2 影響維護工作量的因素 8. 1. 3 軟件維護的策略 8. 2 軟件維護活動 8. 2. 1 軟件維護申請報告 8. 2. 2 軟件維護工作流程 8. 2. 3 維護檔案記錄 8. 2. 4 維護評價 8. 3 程序修改的步驟及修改的副作用 8. 3. 1 分析和理解程序 8. 3. 2 修改程序 8. 3. 3 重新驗證程序 8. 4 軟件可維護性 8. 4. 1 軟件可維護性的定義 8. 4. 2 可維護性的度量 8. 5 提高可維護性的方法 8. 5. 1 建立明確的軟件質(zhì)量目標(biāo)和優(yōu)先級 8. 5. 2 使用提高軟件質(zhì)量的技術(shù)和工具 8. 5. 3 進行明確的質(zhì)量保證審查 8. 5. 4 選擇可維護的程序設(shè)計語言 8. 5. 5 改進程序的文檔 8. 6 逆向工程和再工程 第9章 軟件工程標(biāo)準(zhǔn)化與軟件文檔 9. 1 軟件工程標(biāo)準(zhǔn)化 9. 1. 1 什么是軟件工程標(biāo)準(zhǔn) 9. 1. 2 軟件工程標(biāo)準(zhǔn)化的意義 9. 1. 3 軟件工程標(biāo)準(zhǔn)的層次 9. 1. 4 中國的軟件工程標(biāo)準(zhǔn)化工作 9. 2 軟件質(zhì)量認(rèn)證 9. 2. 1 ISO 9000系列標(biāo)準(zhǔn)及軟件質(zhì)量認(rèn)證 9. 2. 2 ISO 9000系列標(biāo)準(zhǔn)的內(nèi)容 9. 2. 3 制定與實施ISO 9000系列標(biāo)準(zhǔn) 9. 2. 4 ISO 9000-3的要點 9. 3 在開發(fā)機構(gòu)中推行軟件工程標(biāo)準(zhǔn)化 9. 4 軟件文檔的作用與分類 9. 4. 1 軟件文檔的作用和分類 9. 4. 2 對文檔編制的質(zhì)量要求 9. 4. 3 文檔的管理和維護 9. 5 軟件過程成熟度模型 9. 5. 1 軟件機構(gòu)的成熟性 9. 5. 2 軟件過程成熟度模型 9. 5. 3 關(guān)鍵過程領(lǐng)域 9. 5. 4 成熟度提問單 第10章 軟件管理 10. 1 軟件生產(chǎn)率和質(zhì)量的度量 10. 1. 1 軟件度量 10. 1. 2 面向規(guī)模的度量 10. 1. 3 面向功能的度量 10. 1. 4 軟件質(zhì)量的度量 10. 1. 5 影響軟件生產(chǎn)率的因素 10. 2 軟件項目的估算 10. 2. 1 對估算的看法 10. 2. 2 軟件項目計劃的目標(biāo) 10. 2. 3 軟件的范圍 10. 2. 4 軟件開發(fā)中的資源 10. 2. 5 軟件項目估算 10. 2. 6 分解技術(shù) 10. 3 軟件開發(fā)成本估算 10. 3. 1 軟件開發(fā)成本估算方法 10. 3. 2 專家判定技術(shù) 10. 3. 3 軟件開發(fā)成本估算的經(jīng)驗?zāi)P? 10. 4 軟件項目進度安排 10. 4. 1 軟件開發(fā)小組人數(shù)與軟件生產(chǎn)率 10. 4. 2 任務(wù)的確定與并行性 10. 4. 3 制定開發(fā)進度計劃 10. 4. 4 進度安排的方法 10. 4. 5 項目的追蹤和控制 10. 5 軟件項目的組織與計劃 10. 5. 1 軟件項目管理的特點 10. 5. 2 制定計劃 10. 5. 3 軟件項目組織的建立 10. 5. 4 人員配備 10. 5. 5 指導(dǎo)與檢驗 10. 6 軟件配置管理 10. 6. 1 軟件配置管理 10. 6. 2 配置標(biāo)識 10. 6. 3 版本控制 10. 6. 4 變更控制 10. 6. 5 配置狀態(tài)報告(configuration status reporting, CSR) 10. 6. 6 配置審計(configuration audit) 附錄 軟件產(chǎn)品開發(fā)文檔編寫指南 參考文獻
圖書封面
評論、評分、閱讀與下載