出版時間:2010-11 出版社:清華大學(xué)出版社 作者:吳潔明 等編著 頁數(shù):371
前言
本書歷經(jīng)兩年多的時間,今天終于完成了。軟件工程方面的教材已經(jīng)非常多了,本書以培養(yǎng)應(yīng)用型軟件人才為目標(biāo),突出4個特點:第一,突出案例教學(xué),從始至終貫穿了生活實例和軟件項目的案例,幫助讀者理解軟件工程的內(nèi)容、掌握軟件工程的方法,靈活應(yīng)用到實際的軟件工程項目之中。第二,內(nèi)容新穎實用,軟件工程本身強(qiáng)調(diào)不斷改進(jìn)和完善過程,因此本書充實了軟件模式、可擴(kuò)展標(biāo)記語言、代碼重構(gòu)等內(nèi)容,并介紹了這些內(nèi)容在軟件工程中的應(yīng)用。第三,可操作性強(qiáng),在介紹分析和設(shè)計方法時,給出了詳細(xì)的步驟,使初學(xué)者可以參照具體的步驟,盡快掌握并應(yīng)用書中介紹的方法。第四,不僅告訴讀者應(yīng)該怎么做才是好的,還告訴了讀者什么是不好的,為什么不好,以幫助讀者深刻地領(lǐng)會軟件工程的原理和規(guī)范,促使讀者在實際工程中自覺應(yīng)用軟件工程方法,自覺遵守軟件工程規(guī)范?!败浖こ獭比沃囟肋h(yuǎn),我們應(yīng)該從兩個方面理解“軟件工程”:一方面是把“軟件項目”或“軟件產(chǎn)品”的開發(fā)和維護(hù)工作當(dāng)成一個工程去做,也就是說,作為一個“軟件工程”的建設(shè)者和管理者,我們應(yīng)該強(qiáng)調(diào)規(guī)劃、設(shè)計、實施和驗收過程的規(guī)范化和文檔化;另一方面把“軟件工程”作為一門學(xué)科,深入研究這門學(xué)科存在的問題,找出解決問題的方法,設(shè)計解決問題的過程,發(fā)明解決問題的工具。本書共分為14章,第1章介紹軟件工程概述,從軟件危機(jī)的現(xiàn)象入手,介紹經(jīng)典案例,并且進(jìn)行詳細(xì)的點評,由此引起讀者對軟件危機(jī)的重視,對軟件工程的渴望。接著介紹軟件的特點,講述軟件工程的基本原理、研究的主要內(nèi)容,以及軟件工程的發(fā)展歷史。為了讓讀者對軟件工程學(xué)科有一個完整的認(rèn)識,第1章還介紹了軟件工程學(xué)科的知識體系,最后介紹了軟件工程師的職業(yè)素質(zhì)和從業(yè)要注意的十大問題。
內(nèi)容概要
本書以培養(yǎng)應(yīng)用型軟件人才為目標(biāo),全面系統(tǒng)地闡述了軟件工程的基本概念、原理和典型方法。全書突出4個特點:第一,從始至終貫穿案例教學(xué)的思想,提高讀者的學(xué)習(xí)興趣;第二,內(nèi)容新穎實用,介紹廠軟件模式、xml、代碼重構(gòu)等內(nèi)容在軟件工程中的應(yīng)用;第三,可操作性強(qiáng),讀者可參照書中給出的模板和案例,構(gòu)建自己的應(yīng)用;第四,通過對反面案例的點評,幫助讀者深刻地領(lǐng)會軟件工程的原理和規(guī)范,促使讀者在實際工程中自覺應(yīng)用軟件下程的方法,自覺遵守軟件工程規(guī)范?! ”緯m合作為高等院校“軟件工程”課程的教材或參考書,書中給出了大量的表格和模板,可作為軟件公司的培訓(xùn)教材使用,對具有一定實踐經(jīng)驗的軟件工程人員也有很好的參考價值。
書籍目錄
第1章 軟件工程概述 1.1 軟件危機(jī) 1.2 軟件工程 1.3 軟件工程學(xué)科知識體系 1.4 軟件工程師職業(yè)道德 練習(xí)1 第2章 軟件過程 2.1 軟件過程的概念 2.2 幾個典型的軟件過程模型 2.3 迭代與遞增 2.4 rup軟件開發(fā)過程 2.5 敏捷開發(fā) 練習(xí)2 第3章 軟件工程管理 3.1 人員組織與管理 3.2 軟件規(guī)模與成本估算 3.3 軟件開發(fā)計劃與控制 3.4 軟件配置管理 3.5 軟件質(zhì)量管理 練習(xí)3 第4章 需求工程 4.1 需求工程的概念 4.2 確定系統(tǒng)目標(biāo)和范圍 4.3 需求獲取方法 4.4 需求分析的任務(wù) 4.5 需求分析的原則 4.6 定義軟件的質(zhì)量屬性 4.7 需求優(yōu)先級 4.8 需求驗證技術(shù) 4.9 需求管理 練習(xí)4 第5章 結(jié)構(gòu)化需求分析 5.1 結(jié)構(gòu)化分析的主要技術(shù) 5.2 結(jié)構(gòu)化分析方法的實現(xiàn)步驟 5.3 編寫需求規(guī)格說明書 5.4 結(jié)構(gòu)化分析案例 練習(xí)5 第6章 結(jié)構(gòu)化軟件設(shè)計 6.1 軟件設(shè)計的概念 6.2 軟件設(shè)汁原則和影響設(shè)計的因素 6.3 結(jié)構(gòu)化設(shè)計方法 6.4 小型圖書館圖書信息管理系統(tǒng)軟件結(jié)構(gòu)設(shè)計 6.5 優(yōu)化軟件結(jié)構(gòu) 6.6 數(shù)據(jù)設(shè)計 6.7 詳細(xì)設(shè)計 6.8 設(shè)計復(fù)查 練習(xí)6 第7章 面向?qū)ο蠡A(chǔ) 7.1 從一個例子看結(jié)構(gòu)化方法的問題 7.2 面向?qū)ο蟮母拍睢 ?.3 面向?qū)ο箝_發(fā)的方法簡介 7.4 uml語言 7.5 用例圖 7.6 活動圖 7.7 狀態(tài)圖 7.8 交互圖 7.9 類圖 7.10 配置圖 7.11 組件圖 練習(xí)7 第8章 面向?qū)ο蠓治觥 ?.1 面向?qū)ο蠓治龈攀觥 ?.2 建立用例模型 8.3 建立對象模型 8.4 構(gòu)造動態(tài)模型 8.5 評審分析模型 8.6 面向?qū)ο蟮男枨蠓治鲆?guī)格說明書 練習(xí)8 第9章 面向?qū)ο笤O(shè)計 9.1 面向?qū)ο蟮脑O(shè)計概念 9.2 面向?qū)ο蟮脑O(shè)計原則——類設(shè)計原則 9.3 xml在軟件設(shè)計中的應(yīng)用 9.4 基于uml的面向?qū)ο笤O(shè)計過程 9.5 面向?qū)ο笤O(shè)計規(guī)格說明書 練習(xí)9 第10章 用戶界面設(shè)計 10.1 界面設(shè)計原則 10.2 界面設(shè)計 10.3 用戶界面評價 10.4 用戶界面設(shè)計案例分析 練習(xí)10 第11章 軟件編碼 11.1 程序設(shè)計語言 11.2 良好的編程實踐 11.3 軟件編碼規(guī)范 11.4 代碼重構(gòu) 練習(xí)11 第12章 軟件測試 12.1 軟件測試基本概念 12.2 軟件測試過程 12.3 軟件測試計劃 12.4 測試用例設(shè)計和測試執(zhí)行 12.5 單元測試 12.6 集成測試 12.7 系統(tǒng)測試 12.8 驗收測試 12.9 界面測試 12.10 面向?qū)ο蟮臏y試 12.11 軟件測試工具 練習(xí)12 第13章 軟件交付與維護(hù) 13.1 軟件維護(hù)概念 13.2 維護(hù)過程 13.3 提高軟件的可維護(hù)性 練習(xí)13 第14章 如何編寫軟件開發(fā)文檔 14.1 軟件文檔的作用和要求 14.2 軟件文檔的種類和提供時機(jī) 14.3 軟件文檔的編寫步驟 14.4 如何寫好軟件文檔 14.5 文檔管理 14.6 軟件工程標(biāo)準(zhǔn) 14.7 幾個常用軟件文檔的模板 練習(xí)14參考文獻(xiàn)
章節(jié)摘錄
插圖:可維護(hù)性——它描述糾正一個缺陷或進(jìn)行一個變更的容易程度??删S護(hù)性取決于軟件的可理解性、軟件的結(jié)構(gòu)和選擇的軟件開發(fā)工具。為了使軟件易于維護(hù),通常需要規(guī)范設(shè)計和實現(xiàn),例如:函數(shù)調(diào)用不能超過兩層,以便于執(zhí)行跟蹤;每個模塊中源代碼與注釋的比例為2:1;對庫存統(tǒng)計報表格式變化的修改時間不能超過一周等類似的定量描述??梢浦残浴攘堪衍浖囊环N環(huán)境移植到另一種環(huán)境中所花費的工作量。為了實現(xiàn)可移植性,需要研究軟件要移植的環(huán)境??梢浦残耘c高效性可能會有沖突,為了軟件具有更好的可移植性,系統(tǒng)分析人員會做更多的限制,例如為了提高軟件的可移植性,盡量不使用運行環(huán)境提供的庫函數(shù)等限制??梢浦残詫浖某晒Σ皇亲钪匾模虼朔治鋈藛T要與用戶一起協(xié)商,平衡性能的取舍??芍赜眯浴砻饕粋€軟件組件可用于其他軟件的程度??芍赜密浖拈_發(fā)成本會比較高,因為可重用軟件必須標(biāo)準(zhǔn)化、資料齊全、不依賴于特定的應(yīng)用程序和運行環(huán)境??蓽y試性——指測試軟件時查找缺陷的簡易程度,如果軟件中包含復(fù)雜的算法和處理邏輯,或者使用了復(fù)雜的數(shù)據(jù)結(jié)構(gòu),或者功能模塊間的關(guān)系復(fù)雜,都會影響可測試性??蓽y試性需求描述的例子有:一個模塊的最大循環(huán)復(fù)雜度不能超過20。循環(huán)復(fù)雜度是衡量一個模塊源代碼中邏輯分支數(shù)目的參數(shù),一個模塊中的邏輯分支過多會影響可測試性??衫斫庑浴侵溉藗兺ㄟ^閱讀程序源代碼和相關(guān)文檔了解程序功能、結(jié)構(gòu)和運行方式的容易程度。一個可理解的程序應(yīng)該具備下面的一些特征?!つK結(jié)構(gòu)良好,功能完備?!こ绦蛩惴ê喢鳎瑳]有含糊不清的代碼,使用有意義的過程名?!ごa風(fēng)格和設(shè)計風(fēng)格一致?!げ捎媒Y(jié)構(gòu)化編程,程序只使用順序、分支和循環(huán)三種基本語句結(jié)構(gòu),并且每個模塊都是單入口單出口。·盡量使用簡單的數(shù)據(jù)結(jié)構(gòu),使用有意義的數(shù)據(jù)名和變量名。·程序處理完整,程序不僅實現(xiàn)了基本的功能,而且還要有數(shù)據(jù)檢查、出錯處理等輔助功能。
編輯推薦
《軟件工程實例教程》:北京市高等教育精品教材立項項目。
圖書封面
評論、評分、閱讀與下載