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