出版時間:2011-10 出版社:清華大學出版社 作者:張曉龍 編 頁數(shù):263
內(nèi)容概要
本書系統(tǒng)地講述了現(xiàn)代軟件工程的基本概念、原理和現(xiàn)代軟件方法學。本書由12章組成。首先介紹了軟件工程相關概念,面向對象方法學的基本概念、面向對象的開發(fā)過程以及面向對象分析和面向對象設計技術;接著介紹了uml建模技術以及各種用于可視化建模的模型與圖例。第5~8章講述了基于軟件復用的高級軟件工程,包括軟件復用的基本概念,基于組件及組件復用,軟件設計模式,軟件體系結構及其在軟件工程中的應用。第9章介紹了敏捷軟件過程,強調(diào)敏捷軟件過程在軟件工程中的作用。第10章介紹軟件測試技術與工具,最后兩章分別介紹了軟件項目管理,以及基于cmm/cmmi/tsp/psp的軟件過程。
本書適合計算機及計算機相近專業(yè)的本科生和研究生作為學習軟件工程的教材,也適合軟件開發(fā)人員及其他有關人員作為自學的參考書或培訓教材。
書籍目錄
第1章 現(xiàn)代軟件工程概述
1.1 軟件
1.2 軟件危機
1.3 軟件工程
1.4 軟件的生命周期
1.5 軟件工程的目標和原則
1.6 本章小結
習題1
第2章 面向對象軟件開發(fā)方法
2.1 面向對象基本思想
2.2 面向對象基本概念
2.3 面向對象方法
2.4 面向對象開發(fā)統(tǒng)一過程
2.5 本章小結
習題2
第3章 面向對象分析與設計技術
3.1 面向對象分析技術
3.2 面向對象設計技術
3.3 ooa與ood的關系
3.4 本章小結
習題3
第4章 uml建模技術
4.1 面向對象建模及uml簡介
4.2 用例視圖
4.3 動態(tài)模型圖
4.4 靜態(tài)模型圖
4.5 本章小結
習題4
第5章 軟件復用基礎
5.1 軟件復用概述
5.2 支持軟件復用的軟件工程
5.3 本章小結
習題5
第6章 基于組件與web service的軟件開發(fā)技術
6.1 corba組件系統(tǒng)
6.2 com+組件系統(tǒng)
6.3 j2ee組件系統(tǒng)
6.4 web service基礎
6.5 本章小結
習題6
第7章 軟件設計模式
7.1 軟件設計模式基礎
7.2 設計模式的分類
7.3 創(chuàng)建型(creational)設計模式
7.4 結構型(structural)設計模式
7.5 行為型(behavioral)設計模式
7.6 drawcli中設計模式的應用
7.7 本章小結
習題7
第8章 軟件體系結構
8.1 軟件體系結構基礎
8.2 基本的軟件體系結構風格
8.3 基于軟件體系結構的開發(fā)模式
8.4 軟件體系結構應用實例
8.5 本章小結
習題8
第9章 敏捷軟件過程
9.1 敏捷實踐
9.2 敏捷開發(fā)方法
9.3 xp——極限編程
9.4 scrum
9.5 dsdm——動態(tài)系統(tǒng)開發(fā)方法
9.6 crystal方法
9.7 fdd特性驅動開發(fā)
9.8 asd自適應軟件開發(fā)
9.9 本章小結
習題9
第10章 軟件測試技術與工具
10.1 常用的軟件測試方法
10.2 常見的軟件測試類型
10.3 軟件測試技術
10.4 自動化測試
10.5 手工測試與自動化測試的應用比較
10.6 常用的軟件測試工具
10.7 本章小結
習題10
第11章 軟件項目管理
11.1 軟件項目管理定義及特點
11.2 軟件項目計劃
11.3 軟件項目風險管理
11.4 軟件質(zhì)量管理
11.5 軟件配置管理(software configuration management,scm)
11.6 人員的組織與管理
11.7 本章小結
習題11
第12章 軟件成熟度模型與軟件過程
12.1 能力成熟度模型
12.2 能力成熟度模型集成
12.3 個人軟件過程
12.4 團隊軟件過程
12.5 能力成熟度模型與軟件過程之間的關系
12.6 本章小結
習題12
章節(jié)摘錄
版權頁:插圖:軟件工程方法學包含三個要素:方法、工具和過程。其中,方法是完成軟件開發(fā)的各項任務的技術方法;工具是為運用方法而提供的自動的或半自動的軟件工程支撐環(huán)境;過程是為了獲得高質(zhì)量的軟件所需要完成的一系列任務的框架,它規(guī)定了完成各項任務的工作步驟。大的軟件公司和研究機構一直在研究軟件工程方法學,而且也提出了很多實際的軟件開發(fā)方法。下面簡單介紹幾種使用得最廣泛的軟件工程方法學。1.結構化方法學結構化方法學也稱為傳統(tǒng)方法學,它采用結構化技術(結構化分析、結構化設計和結構化實現(xiàn))來完成軟件開發(fā)的各項任務,并使用適當?shù)能浖ぞ呋蜍浖こ汰h(huán)境來支持結構化技術的運用。這種方法學把軟件生命周期的全過程依次劃分為若干個階段,然后順序地完成每個階段的任務。采用這種方法學開發(fā)軟件的時候,從對問題的抽象邏輯分析開始,一個階段一個階段地進行開發(fā)。前一個階段任務的完成是開始進行后一個階段工作的前提和基礎,而后一階段任務的完成通常是使前一階段提出的解法更進一步具體化,加進了更多的實現(xiàn)細節(jié)。每一個階段的開始和結束都有嚴格標準,對于任何兩個相鄰的階段而言,前一階段的結束標準就是后一階段的開始標準。在每一個階段結束之前都必須進行正式嚴格的技術審查和管理復審,從技術和管理兩方面對這個階段的開發(fā)成果進行檢查,通過之后這個階段才算結束;如果沒通過檢查,則必須進行必要的返工,而且返工后還要再經(jīng)過審查。審查的一條主要標準就是每個階段都應該交出“最新式的”(即和所開發(fā)的軟件完全一致的)高質(zhì)量的文檔資料,從而保證在軟件開發(fā)工程結束時有一個完整準確的軟件配置交付使用。文檔是通信的工具,它們清楚準確地說明了到這個時候為止,關于該項工程已經(jīng)知道了什么,同時奠定了下一步工作的基礎。此外,文檔也起到備忘錄的作用,如果文檔不完整,那么一定是某些工作忘記做了,在進入生命周期的下一個階段之前,必須補足這些遺漏的細節(jié)。結構化方法學中的程序設計采用的是結構化程序設計(StructureProgramming,SP),是20世紀80年代主要的程序設計方法,其核心是模塊化。SP方法主張使用順序、選擇、循環(huán)三種基本結構來嵌套連接成具有復雜層次的“結構化程序”。SP的要點是“自頂而下,逐步求精”的設計思想,“獨立功能,單出、人口”的模塊僅用三種(順序、分支、循環(huán))基本控制結構的編碼原則。自頂向下的出發(fā)點是從問題的總體目標開始,抽象底層的細節(jié),先專心構造高層的結構,然后再一層一層地分解和細化。這種方法使復雜的設計過程變得簡單明了,過程的結果也容易做到正確可靠。目前,結構化方法學仍然是人們在開發(fā)軟件時使用得十分廣泛的軟件工程方法學。這種方法學歷史悠久,為廣大軟件工程師所熟悉,而且在開發(fā)某些類型的軟件時也比較有效,因此,在相當長一段時期內(nèi)這種方法學還會有生命力。
編輯推薦
《現(xiàn)代軟件工程》:教學目標明確,注重理論與實踐的結合,教學方法靈活,培養(yǎng)學生自主學習的能力,教學內(nèi)容先進,加強對畢業(yè)設計的指導作用,教學模式完善,提供配套的教學資源解決方案。
圖書封面
評論、評分、閱讀與下載