出版時間:2010-8 出版社:中國鐵道出版社 作者:周蘇,王文 著 頁數(shù):304
前言
軟件工程是一門理論性和實踐性都很強的學科,它采用工程化的概念、理論、技術和方法來指導計算機軟件的開發(fā)與維護,它主要研究軟件結(jié)構(gòu)、軟件設計方法、軟件工具、軟件工程標準和規(guī)范以及軟件工程的有關理論。采用工程化的概念、原理、技術和方法來開發(fā)與維護軟件,把經(jīng)過時間考驗,證明正確的管理技術和當前能夠得到的最好的開發(fā)方法結(jié)合起來,這就是軟件工程。另一方面,高等教育的新形勢需要我們積極進行教學改革,研究和探索新的教學方法。在長期的教學實踐中,我們體會到,堅持“因材施教”的重要原則,把實驗實踐環(huán)節(jié)與理論教學相融合,以實驗實踐教學促進學科理論知識的學習,是有效地改善教學效果和提高教學水平的重要方法之一。本書是具有較強實踐性的高職高專院校“軟件工程”課程的教材。針對計算機和其他IT專業(yè)學生的發(fā)展需求,本書系統(tǒng)、全面地介紹了軟件工程的概念、原理、方法及應用,詳細介紹了軟件生存周期、面向?qū)ο筌浖^程和軟件過程工程的思想和實現(xiàn)方法,力圖反映軟件工程領域的最新發(fā)展,具有較強的系統(tǒng)性和可讀性。本書的主要特色是:理論聯(lián)系實際,結(jié)合一系列知識的學習和實驗,把軟件工程的概念、理論和技術知識融入實踐當中,使學生保持濃厚的學習熱情,加深對軟件工程知識的認識、理解和掌握;按照一系列軟件工程國家標準來表達和描述軟件工程的知識,使軟件工程技術具有很強的可操作性。
內(nèi)容概要
《軟件工程基礎》是一門理論性和實踐性都很強的學科,它采用工程化的概念、理論、技術和方法來指導計算機軟件的開發(fā)與維護?!盾浖こ袒A》針對計算機和其他rr專業(yè)學生的發(fā)展需求,系統(tǒng)、全面地介紹了軟件工程的概念、原理、方法及應用,詳細介紹了軟件生存周期、面向?qū)ο筌浖^程和軟件過程工程的思想和實現(xiàn)方法,力圖反映軟件工程領域的最新發(fā)展,具有較強的系統(tǒng)性和可讀性?!盾浖こ袒A》的主要特色是:理論聯(lián)系實際,結(jié)合一系列實訓項目,把軟件工程概念、理論和技術的相關知識融入實踐當中,使學生保持濃厚的學習熱情,加深對軟件工程知識的認識、理解和掌握;按照一系列軟件工程國家標準來表達和描述軟件工程的知識,使軟件工程技術具有很強的可操作性?!盾浖こ袒A》還以實訓和引導學生自主學習的方式,安排了豐富和生動的閱讀內(nèi)容,安排了對Visio、Power Designer和Visual Source Safe等常用軟件工具的學習?!盾浖こ袒A》可作為具有較強實踐性的高職高專院?!败浖こ獭闭n程的教材,也可供有一定實踐經(jīng)驗的軟件開發(fā)人員、管理人員參考或作為繼續(xù)教育的教材,還可作為各個級別的計算機軟件專業(yè)技術資格和水平考試中相關內(nèi)容的學習輔導用書。
書籍目錄
第1章 軟件工程概述1.1 計算機系統(tǒng)與軟件1.2 軟件生存周期和軟件生存周期過程1.3 軟件生存周期模型1.3.1 瀑布模型1.3.2 漸增模型1.3.3 演化模型1.4 軟件工程定義1.4.1 軟件工程的內(nèi)容1.4.2 軟件工程的基本目標和原則1.4.3 軟件工程與一般工程的差異1.5 軟件工具與開發(fā)環(huán)境1.5.1 軟件工具1.5.2 軟件開發(fā)環(huán)境1.6 軟件工程的發(fā)展1.7 閱讀:軟件工程學科的相關學科1.8 習題與思考1.9 實訓:軟件工程的計算環(huán)境第2章 可行性研究與計劃2.1 可行性研究2.2 軟件計劃2.2.1 軟件范圍2.2.2 資源2.2.3 軟件成本估算2.3 進度安排2.4 4 .計劃文件與復審2.5 閱讀:《人月神話》作者布魯克斯2.6 題與思考2.7 實訓:軟件工具與軟件開發(fā)環(huán)境第3章 軟件需求分析3.1 需求分析階段的任務3.2 結(jié)構(gòu)化分析方法3.2.1 結(jié)構(gòu)化分析方法的內(nèi)容3.2.2 結(jié)構(gòu)化分析方法的步驟3.3 數(shù)據(jù)流程圖3.3.1 數(shù)據(jù)流程圖的屬性和成分3.3.2 數(shù)據(jù)流程圖示例3.3.3 數(shù)據(jù)流程圖繪制準則3.4.數(shù)據(jù)字典3.4.1 數(shù)據(jù)流條目3.4.2 文件條目3.4.3 數(shù)據(jù)項條目3.4.4 加工條目3.5 加工的分析與表達3.5.1 加工的表達原則3.5.2 結(jié)構(gòu)化語言3.5.3 判定表3.5.4 判定樹3.6 需求分析文件與復審3.6.1 GB/T8567-2006規(guī)定的文件3.6.2 需求分析的復審3.7 閱讀:軟件思想家杰拉爾德·溫伯格3.8 題與思考3.9 實訓:軟件開發(fā)繪圖工具Visio第4章 軟件概要設計4.1 模塊的劃分4.1.1 軟件結(jié)構(gòu)4.1.2 模塊劃分的基本原則4.1.3 內(nèi)聚度4.1.4 耦合度4.1.5 高I內(nèi)聚和低耦合4.1.6 模塊劃分的方法4.2 結(jié)構(gòu)化設計方法4.2.1 變換與事務型數(shù)據(jù)流分析4.2.2 模塊化設計4.2.3 模塊結(jié)構(gòu)圖4.2.4 從數(shù)據(jù)流程圖導出模塊結(jié)構(gòu)圖4.3 Parnas方法4.3.1 信息隱蔽原則4.3.2 加強系統(tǒng)各成分間的檢查4.4 Jackson方法4.5 程序的邏輯構(gòu)造方法4.6 概要設計文件與復審4.6.1 概要設計說明書4.6.2 概要設計的復審4.7 閱讀:Parnas:把軟件工程作為一門真正的工程學科(1)4.8 習題與思考4.9 實訓:使用Visio繪制工程圖形第5章 軟件詳細設計5.1 概述5.2 結(jié)構(gòu)化構(gòu)造5.3 圖形設計工具5.3.1 程序流程圖5.3.2 方塊圖5.3.3 HIPO圖5.3.4 PAD圖5.4 偽碼與程序設計語言5.5 各種詳細設計工具的比較5.6 詳細設計文件與復審5.6.1 詳細設計說明書5.6.2 詳細設計的復審5.7 閱讀:Parnas:把軟件工程作一門真正的工程學科(2)5.8 習題與思考5.9 實訓:軟件工程國家標準第6章 軟件編碼6.1 結(jié)構(gòu)化程序設計方法6.2 程序設計風格6.2.1 源程序6.2.2 數(shù)據(jù)說明6.2.3 語句結(jié)構(gòu)6.3 源代碼文件6.3.1 綜合文件6.3.2 程序組織文件6.3.3 指令級注釋6.4.程序設計技術6.4.1 冗余程序設計6.4.2 防錯性程序設計6.4 -3程序設計的質(zhì)量6.4.4 編譯程序和解釋程序6.5 編程語言的特點6.5.1 過程性語言6.5.2 說明性語言6.5.3 腳本語言6.5.4 低級語言6.5.5 高級語言6.5.6 面向?qū)ο笳Z言6.5.7 事件驅(qū)動語言6.5.8 構(gòu)件(組件)6.6 選擇編程語言6.7 編碼文件與復審6.8 閱讀:19世紀的傳奇合作巴貝奇與阿達6.9 習題與思考6.10 實訓:軟件測試環(huán)境第7章 軟件測試7.1 測試的基本概念7.2 測試方法7.2.1 靜態(tài)分析技術7.2.2 動態(tài)測試技術7.3 單元測試7.4 組裝測試7.4.1 組裝測試的任務7.4.2 組裝測試的方式7.5 確認測試7.6 測試用例設計7.6.1 白盒法7.6.2 黑盒法7.7 測試工具與測試自動化7.7.1 基于GUI的自動化測試7.7.2 自動化測試工具的特征7.7.3 自動化測試工具的分類7.7.4 B測試7.8 測試文件與復審7.8.1 GB/T8567-2006規(guī)定的文件7.8.2 GB/T9386-1988規(guī)定的文件7.8.3 測試的復審7.9 排錯技術與系統(tǒng)轉(zhuǎn)換7.10 閱讀:從程序員到軟件測試工程師7.11 習題與思考7.12 實訓:黑盒法與白盒法設計測試用例第8章 軟件維護8.1 概述8.1.1 軟件維護工作的必要性8.1.2 軟件維護的內(nèi)容8.’1.3 維護工作的過程8.2 軟件的可維護性8.3 軟件維護的管理8.4 系統(tǒng)分析與建模工具Power Designer8.5 閱讀:軟件工程學科的內(nèi)涵8.6 習題與思考8.7 實訓:Power Designer入門第9章 軟件質(zhì)量管理9.1 軟件項目特點與軟件管理職能9.1.1 軟件項目的特點9.1.2 軟件管理的主要職能9.2 對軟件質(zhì)量的需求9.2.1 用戶的質(zhì)量觀9.2.2 發(fā)人員的質(zhì)量觀9.2.3 維護人員的質(zhì)量觀9.2.4 管理人員的質(zhì)量觀9.3 軟件質(zhì)量度量9.3.1 軟件質(zhì)量框架模型9.3.2 軟件質(zhì)量特性9.3.3 評估指標的選取原則9.4 軟件質(zhì)量評估指標體系9.4.1 功能度指標9.4.2 可靠性指標9.4.3 易用性指標9.4.4 效率特性指標9.5 CMM:軟件能力成熟度模型9.6 Power Designer的CDM9.7 閱讀:《未來之路》和《數(shù)字化生存》9.8 習題與思考9.9 實訓:Power Designer業(yè)務處理模型第10章 軟件配置管理10.1 軟件配置管理的概念10.2 配置管理軟件VSS10.2.1 VSS的主要功能10.2.2 軟件配置管理員的任務10.2.3 項目組其他人員的任務10.2.4 與Visual Studio:IDE集成10.3 閱讀:軟件產(chǎn)業(yè)的設計大師和VB之父Alan Cooper10.4 習題與思考10.5 實訓:軟件配置管理工具VSS第11章 面向?qū)ο蠓治雠c設計11.1 面向?qū)ο蠓椒?1.1.1 面向?qū)ο蠓椒ǖ奶攸c11.1.2 面向?qū)ο筌浖こ?1.2 面向?qū)ο蟮母拍?1.2.1 對象11.2.2 類11.2.3 消息傳遞11.2.4 多態(tài)性11.3 面向?qū)ο筌浖拈_發(fā)過程11.3.1 類生存期11.3.2 面向?qū)ο蟮拈_發(fā)11.4 面向?qū)ο蠓治觥狾OA11.4.1 OOA的基本內(nèi)容11.4.2 常用的OOA方法11.4.3 論域分析11.5 面向?qū)ο笤O計——OOD11.5.1 高層設計11.5.2 類設計的目標和方針11.5.3 通過復用設計類11.5.4 類設計方法11.6 Power Designer的CDM11.7 閱讀:極限編程XP的先驅(qū)Kent Beck.11.8 習題與思考11.9 實訓:Power Designer概念數(shù)據(jù)模型第12章 面向?qū)ο蟮膶崿F(xiàn)12.1 面向?qū)ο缶幊?2.2 面向?qū)ο鬁y試12.2.1 面向?qū)ο鬁y試的特點12.2.2 面向?qū)ο蟮臏y試步驟12.2.3 面向?qū)ο蟮臏y試策略12.3 面向?qū)ο筌浖臏y試用例設計12.3.1 傳統(tǒng)測試用例設計方法的可用性12.3.2 基于故障的測試設計12.3.3 基于場景的測試設計12.3.4 測試表層結(jié)構(gòu)和深層結(jié)構(gòu)12.4 Power Designer的PDM12.4.1 表、列、視圖、主鍵、候選鍵、外鍵12.4.2 存儲過程和觸發(fā)器12.4.3 默認值與規(guī)則12.4.4 完整性檢查約束12.4.5 索引12.4.6 檢查PDM對象12.5 閱讀:CASE與信息工程的創(chuàng)始人James Martin12.6 題與思考l2.7 實訓:Power Designer·物理數(shù)據(jù)模型第13章 統(tǒng)一建模語言——UML13.1 UMI.概述13.2 Power Designer OOM13.2.1 用例圖13.2.2 時序圖13.2.3 類圖13.3 閱讀:軟件開發(fā)的教父Martin Fowler13.4 習題與思考13.5 實訓:Power Designer面向?qū)ο竽P偷?4章 軟件文件14.1 目的和作用14.2 軟件生存周期與各種文件的編制14.3 文件編制中考慮的因素14.3.1 文件的讀者14.3.2 文件內(nèi)容的重復性14.3.3 文件內(nèi)容的靈活性14.4 文件編制的質(zhì)量要求14.5 文件的管理和維護14.5.1 文件的形成14.5.2 文件的分類與標識14.5 -3文件控制14.5.4 文件的修改管理14.5.5 《軟件文檔管理指南》(GB/T16680-1996)14.6 閱讀:軟件工程的七條基本原理14.7 習題與思考14.8 實訓:軟件產(chǎn)品開發(fā)文件編制指南第15章 軟件工程實訓總結(jié)15.1 實訓的基本內(nèi)容15.2 實訓的基本評價15.3 課程學習能力測評15.4 軟件工程實訓總結(jié)15.5 實訓總結(jié)評價(教師)附錄A課程設計附錄B軟件文檔編寫提示(部分)參考文獻
章節(jié)摘錄
插圖:在傳統(tǒng)工業(yè)領域中,實行標準生產(chǎn)的必要性及其為生產(chǎn)、流通、運行等方面帶來的好處人們早已習以為常。然而,在我國,對于計算機軟件領域的標準化問題,人們的認識還很不一致。事實上,對軟件人員來說,掌握軟件工程的知識是必要的,樹立對軟件工程標準化的正確認識也同樣是非常必要的。因為作為一個產(chǎn)業(yè)部門,軟件已經(jīng)成長壯大起來,它的支柱學科——軟件工程已經(jīng)逐漸成熟,軟件產(chǎn)品已經(jīng)進入商業(yè)化階段。隨著人們對計算機軟件認識的逐漸深入,軟件工作的范圍從只是使用程序設計語言編寫程序擴展到了軟件的整個生存周期。諸如軟件計劃制定、需求分析、軟件設計、程序編寫、軟件測試、軟件維護以及相應的組織管理工作等都需要按一定的規(guī)范進行。自然,制定適用于某個范圍的軟件開發(fā)規(guī)范是軟件工程標準化的一個重要內(nèi)容。(1)軟件工程標準化的內(nèi)容軟件工程標準化涉及的方面包括:①軟件設計的標準化。包括設計方法、設計表達方法、程序結(jié)構(gòu)、程序設計語言、程序設計風格、用戶接口設計、數(shù)據(jù)結(jié)構(gòu)設計、算法設計等。②文件編寫的標準化。包括管理文件、項目實施計劃、質(zhì)量保證計劃、開發(fā)進度月報、分析文件(如可行性分析報告、軟件需求說明書等)、設計文件說明書(如概要設計說明書、詳細設計說明書等)、用戶文件(如用戶手冊、維護手冊、操作手冊)、系統(tǒng)實現(xiàn)文件(如源代碼、生成信息、測試信息、驗收報告、開發(fā)總結(jié)報告)等。③項目管理標準。包括開發(fā)流程、開發(fā)作業(yè)、計劃與進度管理、人員組織、質(zhì)量管理(如軟件驗收、開發(fā)階段評審等)、成本管理、維護管理、配置管理等??梢姡浖こ虡藴蕬獙浖嬷芷谥兴须A段的工作(包括技術性和管理性工作)做出合理、統(tǒng)一的規(guī)定,包括對軟件工程的對象、特性、配置、狀態(tài)、動作、過程、方法、責任、義務、權(quán)限等都做出具體的規(guī)定。
編輯推薦
《軟件工程基礎》:高職高專院校實踐類課程系列規(guī)劃教材
圖書封面
評論、評分、閱讀與下載