出版時間:2004-7 出版社:高等教育出版社 作者:許家怡 頁數(shù):302
內(nèi)容概要
“軟件工程”是一門指導(dǎo)計算機軟件開發(fā)和維護的工程學(xué)科,近年來隨著我國信息化建設(shè)的開展,軟件工程取得了前所未有的飛速發(fā)展。 本書作為教育部新世紀網(wǎng)絡(luò)課程建設(shè)工程的子課題“軟件工程網(wǎng)絡(luò)課程”配套教材,是在吸取了國內(nèi)外有關(guān)教材的精華,并結(jié)合編者多年來進行軟件工程的教學(xué)及軟件開發(fā)實踐經(jīng)驗,體會的基礎(chǔ)上編寫的。 內(nèi)容注重科學(xué)性、先進性,強調(diào)實踐性,提供了豐富的軟件開發(fā)實例和素材,反映了軟件工程的最新發(fā)展技術(shù)。全書共分11章,前10章系統(tǒng)地介紹了傳統(tǒng)的軟件工程方法,面向?qū)ο蟮能浖こ谭椒?,基于?gòu)件的軟件工程方法以及軟件測試,軟件工程管理等的基本概念、方法和技術(shù);第11章提供了一個綜合性的設(shè)計型實驗“軟件工程課程設(shè)計”,給出了多個采用面向?qū)ο蟮姆椒ㄩ_發(fā)的軟件實例,還介紹了面向?qū)ο蟮能浖_發(fā)工具RationalRose?! ”緯勺鳛楦叩仍盒!败浖こ獭闭n程的教材或教學(xué)參考書,也可供廣大工程技術(shù)人員和科研人員參考使用。
書籍目錄
第1章 軟件工程概述 1.1 軟件工程的產(chǎn)生和發(fā)展 1.1.1 軟件工程的發(fā)展過程 1.1.2 軟件危機 1.1.3 軟件工程的定義 1.1.4 軟件工程研究的內(nèi)容 1.2 軟件與軟件生存期 1.2.1 軟件的概念和特點 1.2.2 軟件工程過程 1.2.3 軟件生存期 1.3 軟件生存期模型 1.3.1 瀑布模型 1.3.2 循環(huán)模型 1.3.3 增量模型 1.3.4 螺旋模型 1.3.5 噴泉模型 1.3.6 智能模型 1.4 軟件開發(fā)方法 1.4.1 結(jié)構(gòu)化開發(fā)方法 1.4.2 面向數(shù)據(jù)結(jié)構(gòu)的開發(fā)方法 1.4.3 原型化開發(fā)方法 1.4.4 面向?qū)ο蟮拈_發(fā)方法 1.5 軟件工具與軟件開發(fā)環(huán)境 習(xí)題一第2章 軟件需求分析 2.1 基本概念 2.1.1 軟件需求分析的任務(wù) 2.1.2 需求分析的過程 2.1.3 軟件需求分析的原則 2.1.4 需求分析方法 2.2 結(jié)構(gòu)化分析方法 2.2.1 SA法概述 2.2.2 數(shù)據(jù)流圖 2.2.3 實例:醫(yī)院病房監(jiān)護系統(tǒng) 2.2.4 分層DFD圖的改進 2.2.5 數(shù)據(jù)詞典 2.2.6 加工邏輯說明 2.3 原型化方法 2.3.1 軟件原型的分類 2.3.2 快速原型開發(fā)模型 2.4 系統(tǒng)動態(tài)分析 2.4.1 狀態(tài)遷移圖 2.4.2 Petri網(wǎng) 習(xí)題二第3章 軟件設(shè)計與編碼 3.1 軟件設(shè)計階段的任務(wù)與目標(biāo) 3.1.1 軟件設(shè)計在開發(fā)階段中的重要性 3.1.2 軟件設(shè)計階段的任務(wù) 3.2 軟件結(jié)構(gòu)與軟件結(jié)構(gòu)圖 3.2.1 軟件結(jié)構(gòu)的基本概念 3.2.2 軟件的樹狀結(jié)構(gòu)和網(wǎng)狀結(jié)構(gòu) 3.2.3 軟件結(jié)構(gòu)圖 3.3 模塊的獨立性 3.3.1 模塊獨立性 3.3.2 耦合性 3.3.3 內(nèi)聚性 3.3.4 信息隱蔽 3.4 結(jié)構(gòu)化設(shè)計方法 3.4.1 結(jié)構(gòu)化設(shè)計方法概述 3.4.2 數(shù)據(jù)流圖的分類與典型的系統(tǒng)結(jié)構(gòu) 3.4.3 變換分析 3.4.4 事務(wù)分析 3.4.5 實例:銀行貸款文件管理 3.4.6 模塊結(jié)構(gòu)圖的改進 3.5 JACKSON系統(tǒng)開發(fā)方法 3.5.1 JACKSON方法簡介 3.5.2 JACKSON方法的設(shè)計過程 3.5.3 JACKSON方法的技術(shù)構(gòu)成 3.6 詳細設(shè)計描述工具 3.6.1 程序流程圖 3.6.2 N-S圖 3.6.3 PAD圖 3.7 用戶界面設(shè)計 3.7.1 用戶界面的特性及設(shè)計任務(wù) 3.7.2 用戶界面的基本類型 3.7.3 輸入/輸出用戶界面設(shè)計 3.8 程序編碼 3.8.1 程序設(shè)計語言的選擇 3.8.2 結(jié)構(gòu)化程序設(shè)計 3.8.3 程序設(shè)計風(fēng)格 3.8.4 算法與程序效率 習(xí)題三第4章 面向?qū)ο蠓椒ā?.1 面向?qū)ο蠓椒ǜ攀觥 ?.1.1 什么是面向?qū)ο蠓椒ā ?.1.2 面向?qū)ο蠓椒ǖ闹饕攸c 4.2 面向?qū)ο蟮幕靖拍睢 ?.2.1 對象與類 4.2.2 繼承 4.2.3 多態(tài)性 4.2.4 消息 4.2.5 方法 4.3 面向?qū)ο蟮姆治觥 ?.3.1 需求分析中的問題 4.3.2 面向?qū)ο蠓治龅奶攸c 4.3.3 面向?qū)ο蠓治龅幕救蝿?wù)與分析過程 4.4 面向?qū)ο蟮脑O(shè)計 4.4.1 面向?qū)ο笤O(shè)計的準則 4.4.2 面向?qū)ο笤O(shè)計的基本任務(wù) 4.5 典型的面向?qū)ο蠓椒ā ?.5.1 Booch方法 4.5.2 Coad/Yourdon方法 4.5.3 對象模型技術(shù) 4.5.4 OOSE方法 習(xí)題四第5章 UML統(tǒng)一建模語言 5.1 UML概述 5.1.1 UML的形成 5.1.2 UML的主要內(nèi)容 5.1.3 UML的圖形表示 5.1.4 UML的特點 5.2 通用模型元素 5.2.1 模型元素 5.2.2 約束 5.2.3 依賴關(guān)系 5.2.4 細化 5.2.5 注釋 5.3 用例模型 5.3.1 用例圖 5.3.2 確定執(zhí)行者 5.3.3 確定用例 5.3.4 用例之間的關(guān)系 5.3.5 用例圖實例 5.4 建立靜態(tài)模型 5.4.1 類圖與對象圖 5.4.2 類的識別 5.4.3 屬性與操作識別 5.4.4 類之間的關(guān)系 5.4.5 包圖 5.5 建立動態(tài)模型 5.5.1 消息 5.5.2 狀態(tài)圖 5.5.3 順序圖 5.5.4 合作圖 5.5.5 活動圖 5.6 實現(xiàn)模型 5.6.1 構(gòu)件圖 5.6.2 配置圖 習(xí)題五第6章 軟件復(fù)用和構(gòu)件技術(shù) 6.1 軟件復(fù)用概述 6.1.1 軟件復(fù)用的基本概念 6.1.2 軟件復(fù)用的級別 6.1.3 軟件復(fù)用的形式 6.2 可復(fù)用構(gòu)件與構(gòu)件工程 6.2.1 可復(fù)用構(gòu)件 6.2.2 基于構(gòu)件的軟件工程 6.3 領(lǐng)域工程分析和基于構(gòu)件的開發(fā) 6.3.1 領(lǐng)域分析 6.3.2 構(gòu)件的開發(fā)與構(gòu)件庫 6.3.3 基于構(gòu)件的開發(fā) 6.4 基于構(gòu)件的軟件開發(fā)特點 6.4.1 開發(fā)的質(zhì)量 6.4.2 開發(fā)的效率 6.4.3 開發(fā)的成本 6.5 軟件構(gòu)件技術(shù)的技術(shù)規(guī)范 6.5.1 對象管理組織的CORBA 6.5.2 微軟的COM 6.5.3 Sun的EJB 習(xí)題六第7章 軟件測試 7.1 軟件測試的基本概念 7.1.1 軟件測試的目的和重要性 7.1.2 軟件測試的特點和原則 7.1.3 軟件測試的基本步驟 7.1.4 靜態(tài)分析與動態(tài)測試 7.2 白盒法測試 7.2.1 邏輯覆蓋 7.2.2 語句覆蓋 7.2.3 判定覆蓋 7.2.4 條件覆蓋 7.2.5 判定-條件覆蓋 7.2.6 條件組合覆蓋 7.2.7 白盒法測試實例 7.3 黑盒法測試 7.3.1 等價分類法 7.3.2 邊界值分析法 7.3.3 錯誤推測法 7.3.4 因果圖法 7.4 軟件測試的策略 7.4.1 單元測試 7.4.2 組裝測試 7.4.3 確認測試 7.4.4 系統(tǒng)測試 7.4.5 α測試和β測試 7.4.6 綜合測試策略 7.5 排錯技術(shù) 7.5.1 排錯的原則 7.5.2 幾種主要的排錯方法 7.6 面向?qū)ο蟮臏y試 7.6.1 在面向?qū)ο笳Z境中的單元測試 7.6.2 在面向?qū)ο笳Z境中的集成測試 7.6.3 在面向?qū)ο笳Z境中的確認測試 習(xí)題七第8章 軟件維護 8.1 軟件維護的基本概念 8.1.1 軟件維護的目的 8.1.2 軟件維護的類型 8.1.3 軟件維護的特性 8.1.4 軟件維護的代價 8.2 軟件維護的過程 8.2.1 維護組織 8.2.2 維護工作的流程 8.2.3 維護工作的組織管理 8.3 軟件維護技術(shù) 8.3.1 面向維護的技術(shù) 8.3.2 維護支援技術(shù) 8.3.3 維護檔案記錄 8.3.4 維護工作評價 8.4 軟件可維護性 8.4.1 軟件可維護性的定義 8.4.2 提高可維護性的方法 8.5 逆向工程和再工程 8.5.1 逆向工程 8.5.2 軟件重構(gòu) 8.5.3 再工程的成本/效益分析 8.5.4 再工程的風(fēng)險分析 習(xí)題八第9章 軟件工具與集成化環(huán)境 9.1 軟件開發(fā)工具 9.2 集成化CASE環(huán)境 9.2.1 概述 9.2.2 集成化的CASE開發(fā)環(huán)境的體系結(jié)構(gòu) 9.3 軟件開發(fā)工具Rational Rose 9.3.1 Rose工具簡介 9.3.2 業(yè)務(wù)用例圖 9.3.3 用例圖 9.3.4 類圖 9.3.5 協(xié)作圖與時序圖 9.3.6 活動圖 9.3.7 狀態(tài)圖 9.3.8 構(gòu)件圖和部署圖 習(xí)題九第10章 軟件工程管理 10.1 軟件工程管理概述 10.1.1 軟件管理的任務(wù)與目標(biāo) 10.1.2 軟件的作用范圍 10.1.3 資源要求 10.2 可行性研究 10.2.1 可行性研究的任務(wù) 10.2.2 系統(tǒng)的描述 10.2.3 可行性研究報告 10.3 成本估算技術(shù) 10.3.1 影響成本估算的因素 10.3.2 成本估算模型 10.3.3 Halstead理論模型 10.3.4 專家估算模型 10.3.5 IBM估算模型 10.3.6 Putnam估算模型 10.3.7 COCOMO模型 10.3.8 成本估算方法 10.3.9 成本/效益分析 10.4 軟件項目的組織與計劃 10.4.1 軟件項目管理的特點 10.4.2 軟件開發(fā)進度計劃 10.4.3 人員配備與組織 10.4.4 軟件開發(fā)小組與軟件生產(chǎn)率 10.5 軟件質(zhì)量保證 10.5.1 軟件質(zhì)量因素的定義 10.5.2 軟件質(zhì)量保證工作 10.5.3 軟件項目的跟蹤與控制 10.6 軟件能力成熟度模型(CMM) 10.6.1 CMM的基本概念 10.6.2 軟件過程的成熟度等級 10.6.3 關(guān)鍵過程區(qū)域 10.6.4 軟件企業(yè)如何實施CMM 習(xí)題十第11章 軟件工程課程設(shè)計 11.1 課程設(shè)計目的與要求 11.1.1 目的與要求 11.1.2 命題原則 11.2 課程設(shè)計步驟安排 11.2.1 確定課題 11.2.2 需求分析 11.2.3 軟件設(shè)計 11.2.4 編碼與測試 11.2.5 驗收測試 11.3 案例分析 11.3.1 案例一ATM系統(tǒng) 11.3.2 案例二醫(yī)院病房監(jiān)護系統(tǒng) 11.3.3 案例三會議系統(tǒng)參考文獻及參考網(wǎng)站
編輯推薦
本書內(nèi)容注重科學(xué)性、先進性,強調(diào)實踐性,提供了豐富的軟件開發(fā)實例和素材,反映了軟件工程的最新發(fā)展技術(shù)。可作為高等院?!败浖こ獭闭n程的教材或教學(xué)參考書,也可供廣大工程技術(shù)人員和科研人員參考使用。
圖書封面
評論、評分、閱讀與下載