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