本書全面系統(tǒng)地講述軟件工程的概念、原理和典型的方法學,并介紹軟件項目的管理技術。其正文共8章,第1章是概述,第2-6章順序講述軟件生命周期各階段的任務、過程、結構化方法、面向對象分析和面向對象設計方法以及建模工具,第7-8章介紹軟件體系結構以及分布式系統(tǒng)?勺鳛楦叩仍盒\浖こ陶n程的教材或教學參考書。本書詳細而全面地介紹實際用于軟件開發(fā)實踐的各種技能,旨在使學生通過有限課時的學習后,不僅能對軟件工程的原理有所認識,而且能具備實際開發(fā)軟件的各種技能,比如按照標準和規(guī)范編寫文檔等
本書比較系統(tǒng)全面地闡述了軟件工程導論課程的理論和技術,既兼顧傳統(tǒng)的、實用的軟件開發(fā)方法,又涵蓋了軟件工程領域新的技術和方法,將當前的軟件工程理論與方法進行了很好的融合:借助貫穿于全書的極具代表性的實例,細致而巧妙地講解了各種相關概念。使讀者從中學會軟件開發(fā)各個環(huán)節(jié)的技術。
經(jīng)過近五十年的發(fā)展,軟件工程在支持軟件系統(tǒng)工程化開發(fā)方面取得了令人矚目的成績,提出了大量的理論、方法、技術和工具。但是,近年來的研究和實踐表明軟件危機依然存在,軟件開發(fā)仍然存在高成本、質量得不到保證、進度和成本難以控制等方面的問題,許多軟件項目被迫延期甚至取消。與此同時,隨著網(wǎng)絡技術的不斷發(fā)展,部署在網(wǎng)絡基礎上的軟件系統(tǒng)的規(guī)模和復雜程度越來越高,并表現(xiàn)出諸如持續(xù)性、自適應性、交互性、異構性等特點。因此,如何支持這類復雜系統(tǒng)的開發(fā),緩解和消除現(xiàn)階段的軟件危機是當前軟件工程面臨的一項重要挑戰(zhàn)。本書全面、系統(tǒng)地講述了軟件工程的概念、原理和典型的方法學,并介紹了軟件項目的管理技術,同時介紹了近年軟件工程領域的一些新方法和新技術,包括:敏捷軟件開發(fā)(agile software development)、測試驅動開發(fā)(testdriven development)、模型驅動開發(fā)(modeldriven development)等。本書共10章,內容分別為:軟件工程概述、需求分析工程、結構化方法、面向對象方法、統(tǒng)一建模語言UML與實例、軟件測試、軟件維護、軟件體系結構、面向對象開發(fā)中的設計模式、分布式系統(tǒng)與部件技術。本書可作為高等院校軟件工程課程的教材或教學參考書。本書由武漢學院魯星、武漢華夏理工學院錢小紅、武昌工學院曾丹擔任主編,由南寧學院雷淵、青島理工大學琴島學院宋傳磊、武漢設計工程學院崔歡歡擔任副主編,參編人員有武漢學院肖瑩慧、王靜、劉勝艷。在這里要特別感謝肖瑩慧、王靜、劉勝艷老師的幫助,她們的辛苦工作是本書得以順利出版的關鍵。如果讀者對本書有任何意見或建議,請聯(lián)系我們。前言
第1章軟件工程概述1
1.1軟件技術概述1
1.2軟件危機3
1.3軟件工程4
1.4軟件工程環(huán)境8
習題9
第2章需求分析工程10
2.1需求分析工程概述10
2.2需求分析工程的步驟11
2.3需求分析技術12
習題26
第3章結構化方法27
3.1問題定義27
3.2可行性研究27
3.3結構化分析28
3.4結構化設計34
習題43
第4章面向對象方法44
4.1面向對象方法概述44
4.2面向對象分析48
4.3面向對象設計63
習題74
第5章統(tǒng)一建模語言UML與實例75
5.1UML概述75
5.2UML視圖77
5.3可視化建模工具Rose90
5.4UML實例簡易教學管理系統(tǒng)JXGL91
習題101
第6章軟件測試102
6.1軟件測試的目標和原則102
6.2軟件測試的步驟103
6.3軟件測試的方法110
6.4程序調試115
6.5面向對象測試118
習題118
第7章軟件維護119
7.1軟件維護的定義119
7.2軟件維護的代價120
7.3軟件維護過程120
7.4軟件的可維護性122
7.5預防性維護123
7.6軟件再工程過程123
習題124
第8章軟件體系結構125
8.1軟件體系結構概述125
8.2軟件體系結構的描述語言128
8.3體系結構風格131
習題136
第9章面向對象開發(fā)中的設計模式137
9.1設計模式概述137
9.2四種設計模式138
9.3設計模式編目142
9.4設計模式的選擇及使用145
習題148
第10章分布式系統(tǒng)與部件技術149
10.1概述149
10.2CORBA技術153
10.3COM 技術158
習題166
參考文獻167
目錄