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