前 言
21世紀(jì)是信息社會(huì),信息技術(shù)已經(jīng)滲透到社會(huì)的各行各業(yè)。隨著計(jì)算機(jī)應(yīng)用技術(shù)的不斷發(fā)展,軟件工程學(xué)也滲入軟件研發(fā)的各個(gè)環(huán)節(jié)中。實(shí)用軟件工程是一門(mén)將理論和知識(shí)應(yīng)用于實(shí)踐的工程,它借鑒了傳統(tǒng)工程的原則和方法,講解了常用的23種設(shè)計(jì)模式,以求高效地開(kāi)發(fā)高質(zhì)量軟件。近年來(lái),大多數(shù)高等院校,無(wú)論是理工科還是文科專(zhuān)業(yè)都將軟件工程作為計(jì)算機(jī)應(yīng)用技術(shù)類(lèi)課程的必修課或選修課。
軟件工程是軟件開(kāi)發(fā)組織根據(jù)所要開(kāi)發(fā)的軟件特點(diǎn)及項(xiàng)目自身的特點(diǎn),選擇適合的軟件設(shè)計(jì)模式,把各種軟件工程學(xué)原理的特性和軟件設(shè)計(jì)模式有機(jī)地結(jié)合起來(lái),充分利用它們的優(yōu)點(diǎn),回避缺陷,有效地提高軟件質(zhì)量的過(guò)程。
本書(shū)是軟件開(kāi)發(fā)方法體系的完整體現(xiàn),有別于傳統(tǒng)軟件工程學(xué),增加了許多實(shí)際軟件開(kāi)發(fā)過(guò)程中需要的實(shí)用方法技術(shù),填補(bǔ)了傳統(tǒng)軟件工程的設(shè)計(jì)薄弱環(huán)節(jié)。
全書(shū)共分為8章,各章的主要內(nèi)容安排如下。
第1章主要介紹軟件工程學(xué)的基本概念、理論和基礎(chǔ)知識(shí)。
第2章主要介紹軟件設(shè)計(jì)過(guò)程基本原理、軟件設(shè)計(jì)建模工具UML,以及軟件設(shè)計(jì)環(huán)境Visio、PowerDesigner、Violet等。
第3章主要介紹23種先進(jìn)的設(shè)計(jì)模式,體現(xiàn)23種設(shè)計(jì)模式在軟件開(kāi)發(fā)過(guò)程中的重要設(shè)計(jì)地位和作用。
第4章主要介紹在面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言Java中實(shí)現(xiàn)23種設(shè)計(jì)模式的方法和實(shí)踐。
第5章主要介紹面向?qū)ο蠹夹g(shù)。面向?qū)ο蠹夹g(shù)是一種以對(duì)象為基礎(chǔ),以事件或消息驅(qū)動(dòng)對(duì)象執(zhí)行相應(yīng)的消息處理函數(shù)的程序設(shè)計(jì)技術(shù)。
第6章主要介紹各種行之有效的軟件測(cè)試方法和技術(shù)。
第7章主要介紹23種設(shè)計(jì)模式在實(shí)際應(yīng)用中的原則和分類(lèi)。
第8章主要介紹軟件工程控制活動(dòng)中的質(zhì)量保證、配置管理和項(xiàng)目管理的基本知識(shí)。
本書(shū)以學(xué)習(xí)、應(yīng)用為目的,以案例貫穿始終,系統(tǒng)地講授了軟件工程學(xué)和軟件設(shè)計(jì)模式,各章均以項(xiàng)目分配任務(wù)形式編排,有助于提高學(xué)生的實(shí)操和實(shí)際應(yīng)用能力。
本書(shū)由白文榮主編,在本書(shū)策劃和編寫(xiě)的過(guò)程中,得到了清華大學(xué)出版社的大力支持,在此表示衷心的感謝。
由于作者水平有限,書(shū)中難免存在錯(cuò)誤和不足之處,敬請(qǐng)廣大讀者批評(píng)指正。
為了方便教師教學(xué)和學(xué)生自主學(xué)習(xí),本書(shū)配有電子教案、案例源代碼、安裝軟件等,若有需要,可從清華大學(xué)出版社網(wǎng)站下載。
編 者
項(xiàng)目1 軟件工程概述.... 1
任務(wù)1 問(wèn)題的提出... 3
任務(wù)要求... 3
知識(shí)儲(chǔ)備... 3
任務(wù)實(shí)施... 7
任務(wù)2 軟件工程概述... 8
任務(wù)要求... 8
知識(shí)儲(chǔ)備... 8
任務(wù)實(shí)施... 10
任務(wù)3 面向?qū)ο蟮膸讉(gè)基本原則... 11
任務(wù)要求... 11
知識(shí)儲(chǔ)備... 11
任務(wù)實(shí)施... 13
任務(wù)4 軟件項(xiàng)目的生命周期... 13
任務(wù)要求... 13
知識(shí)儲(chǔ)備... 14
任務(wù)實(shí)施... 15
任務(wù)5 軟件項(xiàng)目的開(kāi)發(fā)模型... 15
任務(wù)要求... 15
知識(shí)儲(chǔ)備... 15
任務(wù)實(shí)施... 24
任務(wù)6 軟件工程學(xué)的基本原則... 24
任務(wù)要求... 24
知識(shí)儲(chǔ)備... 24
任務(wù)實(shí)施... 25
上機(jī)實(shí)訓(xùn):機(jī)票預(yù)訂系統(tǒng)... 26
項(xiàng)目小結(jié)... 27
習(xí)題... 27
項(xiàng)目2 軟件設(shè)計(jì)過(guò)程.... 29
任務(wù)1 洞悉軟件設(shè)計(jì)過(guò)程... 30
任務(wù)要求... 30
知識(shí)儲(chǔ)備... 30
任務(wù)實(shí)施... 31
任務(wù)2
面向?qū)ο筌浖O(shè)計(jì)工具UML. 32
任務(wù)要求... 32
知識(shí)儲(chǔ)備... 32
任務(wù)實(shí)施... 39
任務(wù)3
軟件設(shè)計(jì)過(guò)程管理... 54
任務(wù)要求... 54
知識(shí)儲(chǔ)備... 54
任務(wù)實(shí)施... 55
上機(jī)實(shí)訓(xùn):商品銷(xiāo)售系統(tǒng)... 60
項(xiàng)目小結(jié)... 61
習(xí)題... 61
項(xiàng)目3 軟件設(shè)計(jì)模式.... 63
任務(wù)1
創(chuàng)建型模式... 64
任務(wù)要求... 64
知識(shí)儲(chǔ)備... 64
任務(wù)實(shí)施... 65
任務(wù)2
結(jié)構(gòu)型模式... 92
任務(wù)要求... 92
知識(shí)儲(chǔ)備... 92
任務(wù)實(shí)施... 92
任務(wù)3
行為型模式... 135
任務(wù)要求... 135
知識(shí)儲(chǔ)備... 135
任務(wù)實(shí)施... 136
上機(jī)實(shí)訓(xùn):小動(dòng)物模式的應(yīng)用... 212
項(xiàng)目小結(jié)... 213
習(xí)題... 213
項(xiàng)目4 設(shè)計(jì)模式案例.... 217
任務(wù)1
命令模式... 218
任務(wù)要求... 218
知識(shí)儲(chǔ)備... 218
任務(wù)實(shí)施... 219
任務(wù)2
觀察者模式... 220
任務(wù)要求... 220
知識(shí)儲(chǔ)備... 220
任務(wù)實(shí)施... 221
任務(wù)3
裝飾模式... 224
任務(wù)要求... 224
知識(shí)儲(chǔ)備... 224
任務(wù)實(shí)施... 224
任務(wù)4
策略模式... 226
任務(wù)要求... 226
知識(shí)儲(chǔ)備... 226
任務(wù)實(shí)施... 226
任務(wù)5
適配器模式... 229
任務(wù)要求... 229
知識(shí)儲(chǔ)備... 229
任務(wù)實(shí)施... 229
任務(wù)6
責(zé)任鏈模式... 231
任務(wù)要求... 231
知識(shí)儲(chǔ)備... 231
任務(wù)實(shí)施... 232
任務(wù)7
外觀模式... 234
任務(wù)要求... 234
知識(shí)儲(chǔ)備... 234
任務(wù)實(shí)施... 234
任務(wù)8
迭代器模式... 236
任務(wù)要求... 236
知識(shí)儲(chǔ)備... 236
任務(wù)實(shí)施... 237
任務(wù)9
中介者模式... 238
任務(wù)要求... 238
知識(shí)儲(chǔ)備... 238
任務(wù)實(shí)施... 239
任務(wù)10
工廠方法模式... 241
任務(wù)要求... 241
知識(shí)儲(chǔ)備... 242
任務(wù)實(shí)施... 242
任務(wù)11
抽象工廠模式... 244
任務(wù)要求... 244
知識(shí)儲(chǔ)備... 244
任務(wù)實(shí)施... 245
任務(wù)12
生成器模式... 248
任務(wù)要求... 248
知識(shí)儲(chǔ)備... 248
任務(wù)實(shí)施... 249
任務(wù)13
原型模式... 251
任務(wù)要求... 251
知識(shí)儲(chǔ)備... 252
任務(wù)實(shí)施... 252
任務(wù)14
單件模式... 254
任務(wù)要求... 254
知識(shí)儲(chǔ)備... 254
任務(wù)實(shí)施... 254
任務(wù)15
組合模式... 255
任務(wù)要求... 255
知識(shí)儲(chǔ)備... 256
任務(wù)實(shí)施... 256
任務(wù)16
橋接模式... 259
任務(wù)要求... 259
知識(shí)儲(chǔ)備... 259
任務(wù)實(shí)施... 260
任務(wù)17
狀態(tài)模式... 261
任務(wù)要求... 261
知識(shí)儲(chǔ)備... 261
任務(wù)實(shí)施... 262
任務(wù)18
模板方法模式... 264
任務(wù)要求... 264
知識(shí)儲(chǔ)備... 264
任務(wù)實(shí)施... 264
任務(wù)19
代理模式... 266
任務(wù)要求... 266
知識(shí)儲(chǔ)備... 266
任務(wù)實(shí)施... 267
任務(wù)20
享元模式... 268
任務(wù)要求... 268
知識(shí)儲(chǔ)備... 268
任務(wù)實(shí)施... 269
任務(wù)21
訪問(wèn)者模式... 271
任務(wù)要求... 271
知識(shí)儲(chǔ)備... 271
任務(wù)實(shí)施... 272
任務(wù)22
備忘錄模式... 274
任務(wù)要求... 274
知識(shí)儲(chǔ)備... 274
任務(wù)實(shí)施... 275
任務(wù)23
解釋器模式... 278
任務(wù)要求... 278
知識(shí)儲(chǔ)備... 278
任務(wù)實(shí)施... 278
上機(jī)實(shí)訓(xùn):工廠方法模式的應(yīng)用... 283
項(xiàng)目小結(jié)... 283
習(xí)題... 283
項(xiàng)目5 面向?qū)ο蠹夹g(shù)概述.... 287
任務(wù)1
傳統(tǒng)方法學(xué)... 288
任務(wù)要求... 288
知識(shí)儲(chǔ)備... 288
任務(wù)實(shí)施... 289
任務(wù)2 面向?qū)ο蠓椒▽W(xué)... 296
任務(wù)要求... 296
知識(shí)儲(chǔ)備... 296
任務(wù)實(shí)施... 301
任務(wù)3 面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言... 301
任務(wù)要求... 301
知識(shí)儲(chǔ)備... 301
任務(wù)實(shí)施... 302
上機(jī)實(shí)訓(xùn):學(xué)校運(yùn)動(dòng)會(huì)模型... 307
項(xiàng)目小結(jié)... 308
習(xí)題... 309
項(xiàng)目6 軟件測(cè)試方法.... 311
任務(wù)1 軟件測(cè)試概述... 312
任務(wù)要求... 312
知識(shí)儲(chǔ)備... 312
任務(wù)實(shí)施... 314
任務(wù)2 軟件測(cè)試方法... 316
任務(wù)要求... 316
知識(shí)儲(chǔ)備... 317
任務(wù)實(shí)施... 320
任務(wù)3 軟件測(cè)試管理... 331
任務(wù)要求... 331
知識(shí)儲(chǔ)備... 331
任務(wù)實(shí)施... 331
任務(wù)4 測(cè)試工具簡(jiǎn)介... 338
任務(wù)要求... 338
知識(shí)儲(chǔ)備... 338
任務(wù)實(shí)施... 338
上機(jī)實(shí)訓(xùn):軟件測(cè)試方法... 345
項(xiàng)目小結(jié)... 346
習(xí)題... 347
項(xiàng)目7 設(shè)計(jì)模式的原則和分類(lèi).... 349
任務(wù)1 設(shè)計(jì)模式的原則... 350
任務(wù)要求... 350
知識(shí)儲(chǔ)備... 350
任務(wù)實(shí)施... 351
任務(wù)2 設(shè)計(jì)模式的分類(lèi)... 351
任務(wù)要求... 351
知識(shí)儲(chǔ)備... 351
任務(wù)實(shí)施... 353
上機(jī)實(shí)訓(xùn):觀察者模式... 355
項(xiàng)目小結(jié)... 356
習(xí)題... 356
項(xiàng)目8 軟件項(xiàng)目管理.... 357
任務(wù)1
軟件項(xiàng)目管理導(dǎo)論... 358
任務(wù)要求... 358
知識(shí)儲(chǔ)備... 358
任務(wù)實(shí)施... 361
任務(wù)2 項(xiàng)目管理流程及方法... 362
任務(wù)要求... 362
知識(shí)儲(chǔ)備... 363
任務(wù)實(shí)施... 370
上機(jī)實(shí)訓(xùn):項(xiàng)目管理工具Project 2010的
應(yīng)用... 376
項(xiàng)目小結(jié)... 380
習(xí)題... 380
參考文獻(xiàn).... 385