定 價(jià):59 元
叢書(shū)名:面向CS2013計(jì)算機(jī)專(zhuān)業(yè)規(guī)劃教材
- 作者:鄭人杰 馬素霞 等
- 出版時(shí)間:2019/12/1
- ISBN:9787111642572
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類(lèi):TP311.5
- 頁(yè)碼:
- 紙張:膠版紙
- 版次:
- 開(kāi)本:16開(kāi)
本書(shū)作者針對(duì)軟件工程的學(xué)科特點(diǎn),注重結(jié)合實(shí)例講解軟件工程的理論與方法,避免抽象和枯燥的論述,在兼顧傳統(tǒng)的結(jié)構(gòu)化方法的同時(shí),注重當(dāng)前廣為采用的面向?qū)ο蠛兔艚蓍_(kāi)發(fā)方法,新版加入了新型的軟件開(kāi)發(fā)方法,例如開(kāi)源軟件、智能化軟件、微服務(wù)。強(qiáng)調(diào)軟件質(zhì)量、軟件安全和軟件從業(yè)人員的職業(yè)道德和專(zhuān)業(yè)素質(zhì)。
當(dāng)今,軟件業(yè)是社會(huì)經(jīng)濟(jì)發(fā)展的先導(dǎo)性和戰(zhàn)略性產(chǎn)業(yè),它已成為信息產(chǎn)業(yè)和國(guó)民經(jīng)濟(jì)新的增長(zhǎng)點(diǎn)和重要支柱。軟件工程在軟件開(kāi)發(fā)中起著重要的作用,對(duì)軟件產(chǎn)業(yè)的形成及發(fā)展起著決定性的推動(dòng)作用。采用先進(jìn)的工程化方法進(jìn)行軟件開(kāi)發(fā)和生產(chǎn)是實(shí)現(xiàn)軟件產(chǎn)業(yè)化的關(guān)鍵技術(shù)手段。與其他產(chǎn)業(yè)相比,軟件產(chǎn)業(yè)具有自己的特殊性。軟件產(chǎn)業(yè)的發(fā)展更加依賴(lài)于人力資源,因此軟件產(chǎn)業(yè)的競(jìng)爭(zhēng)越來(lái)越集中到對(duì)人才的競(jìng)爭(zhēng)。然而,剛畢業(yè)的大學(xué)生往往要經(jīng)過(guò)半年到一年的培訓(xùn)才能適應(yīng)軟件企業(yè)的工作。長(zhǎng)期以來(lái),我國(guó)軟件人才的現(xiàn)狀遠(yuǎn)遠(yuǎn)不能滿足軟件產(chǎn)業(yè)發(fā)展的要求。因此,軟件工程人員隊(duì)伍的成長(zhǎng),特別是高層軟件工程人員隊(duì)伍的成長(zhǎng)顯得更為緊迫。
自從軟件工程概念誕生以來(lái),學(xué)術(shù)界和工業(yè)界做了大量的研究與實(shí)踐工作,也取得了許多重要成果。尤其是20世紀(jì)90年代以后,隨著網(wǎng)絡(luò)技術(shù)及面向?qū)ο蠹夹g(shù)的廣泛應(yīng)用,軟件工程取得了突飛猛進(jìn)的發(fā)展。軟件工程已從計(jì)算機(jī)科學(xué)與技術(shù)中脫離出來(lái),逐漸形成了一門(mén)獨(dú)立的學(xué)科。軟件工程教育所處的地位也越來(lái)越重要,軟件工程課程已成為軟件工程、計(jì)算機(jī)科學(xué)與技術(shù)等專(zhuān)業(yè)的必修課程。
軟件工程課程實(shí)踐性比較強(qiáng),如果學(xué)生沒(méi)有實(shí)踐經(jīng)驗(yàn),則很難理解相關(guān)的理論知識(shí)。因此,教師普遍感到軟件工程課程難教,而學(xué)生則普遍感到難學(xué)。近年來(lái),軟件工程學(xué)科的發(fā)展非常迅速,新的理論、方法和工具層出不窮,其中很多已經(jīng)應(yīng)用到企業(yè)的實(shí)際工作中。軟件工程的教學(xué)面臨越來(lái)越大的壓力。我們認(rèn)為,除了需要在教學(xué)內(nèi)容、教學(xué)方法方面進(jìn)行改革之外,實(shí)踐能力的培養(yǎng)對(duì)建設(shè)一支企業(yè)需要的合格軟件工程人才隊(duì)伍尤為關(guān)鍵。
本書(shū)在編寫(xiě)中力圖遵循以下原則:
(1)既要強(qiáng)調(diào)和突出基本概念、基本方法,又要盡可能使材料內(nèi)容的組織符合讀者的認(rèn)識(shí)規(guī)律,在講解概念、方法的過(guò)程中盡量結(jié)合實(shí)例,并且注重軟件工程方法、技術(shù)和工具的綜合應(yīng)用,避免只是抽象和枯燥地講解。
(2)在介紹傳統(tǒng)的結(jié)構(gòu)化方法和面向?qū)ο蠓椒ǖ耐瑫r(shí),兼顧當(dāng)前廣為采用的流行方法,如面向服務(wù)的方法和面向數(shù)據(jù)的方法,以突出教材的實(shí)用性以及學(xué)科當(dāng)前的發(fā)展。
(3)既要充分重視技術(shù)性?xún)?nèi)容,使初學(xué)者掌握必要的工程知識(shí)和方法,同時(shí)也應(yīng)兼顧軟件工程實(shí)踐中必不可少的管理知識(shí),例如項(xiàng)目管理、質(zhì)量管理、人員管理等內(nèi)容。
本書(shū)在第2版的基礎(chǔ)上進(jìn)一步對(duì)內(nèi)容做了調(diào)整和充實(shí),所做改動(dòng)概述如下:
(1)更新了第1章,在13節(jié)“軟件工程的目標(biāo)”中提供了國(guó)際標(biāo)準(zhǔn)的軟件質(zhì)量特性及其子特性作為軟件產(chǎn)品的質(zhì)量目標(biāo)。在15節(jié)“軟件工程方法概述”中增加了面向服務(wù)的方法和面向數(shù)據(jù)的方法。在164節(jié)“常用軟件工具介紹”中對(duì)代表性的軟件工具進(jìn)行了修訂。
(2)第10章“軟件測(cè)試方法”中增加了107節(jié)“自動(dòng)化測(cè)試”,原107節(jié)“調(diào)試”后移為108節(jié)。
(3)第11章“軟件維護(hù)”中增加了113節(jié)“逆向工程”和114節(jié)“重構(gòu)”,原113~115節(jié)依次后移為115~117節(jié)。
(4)第13章“軟件項(xiàng)目管理”中增加了137節(jié)“質(zhì)量管理”。
(5)本書(shū)最后增加了第15章“軟件人員的職業(yè)道德和社會(huì)責(zé)任”。
(6)新增加了一個(gè)附錄,其中列舉了近年國(guó)內(nèi)外軟件引起的系統(tǒng)重大事故,目的是讓讀者從實(shí)際案例中吸取教訓(xùn),提高對(duì)軟件質(zhì)量的重視。
總之,本書(shū)力爭(zhēng)做到結(jié)構(gòu)合理、內(nèi)容豐富,講解由淺入深,既體現(xiàn)知識(shí)點(diǎn)的連貫性、完整性,又體現(xiàn)其在實(shí)際中的應(yīng)用。
前言
教學(xué)建議
第一部分軟件工程概述
第1章軟件與軟件工程的概念
11軟件的概念、特性和分類(lèi)
111軟件的概念及特性
112軟件的分類(lèi)
12軟件危機(jī)與軟件工程
121軟件危機(jī)
122軟件工程
13軟件工程的目標(biāo)
14軟件生存期
15軟件工程方法概述
151傳統(tǒng)方法
152面向?qū)ο蠓椒?br>153面向服務(wù)方法
154面向數(shù)據(jù)方法
155形式化方法
16軟件工具概述
161軟件工具的概念
162軟件工具的發(fā)展
163軟件工具的分類(lèi)
164常用軟件工具介紹
17軟件工程知識(shí)體系及知識(shí)域
習(xí)題
第2章軟件生存期模型
21瀑布模型
22快速原型模型
23增量模型
24螺旋模型
25噴泉模型
26統(tǒng)一過(guò)程
27基于構(gòu)件的開(kāi)發(fā)模型
28敏捷過(guò)程
習(xí)題
第二部分結(jié)構(gòu)化分析與設(shè)計(jì)方法
第3章軟件需求獲取與結(jié)構(gòu)化分析方法
31需求獲取與需求分析階段的任務(wù)
311需求獲取的任務(wù)和原則
312需求獲取的過(guò)程
313軟件需求分析階段的任務(wù)
32結(jié)構(gòu)化分析方法
321功能建模
322數(shù)據(jù)建模
323行為建模
324數(shù)據(jù)字典
325加工規(guī)格說(shuō)明
33系統(tǒng)需求規(guī)格說(shuō)明
331軟件需求規(guī)格說(shuō)明模板
332SRS和DRD的質(zhì)量要求
34需求評(píng)審
341正式的需求評(píng)審
342需求評(píng)審中的常見(jiàn)風(fēng)險(xiǎn)
35需求管理
351需求跟蹤
352需求變更管理
習(xí)題
第4章結(jié)構(gòu)化設(shè)計(jì)方法
41軟件設(shè)計(jì)的概念及原則
411軟件設(shè)計(jì)的概念
412軟件設(shè)計(jì)的原則
42結(jié)構(gòu)化設(shè)計(jì)
421結(jié)構(gòu)化軟件設(shè)計(jì)的任務(wù)
422結(jié)構(gòu)化設(shè)計(jì)與結(jié)構(gòu)化分析的關(guān)系
423模塊結(jié)構(gòu)及表示
424數(shù)據(jù)結(jié)構(gòu)及表示
43體系結(jié)構(gòu)設(shè)計(jì)
431基于數(shù)據(jù)流方法的設(shè)計(jì)過(guò)程
432典型的數(shù)據(jù)流類(lèi)型和系統(tǒng)結(jié)構(gòu)
433變換型映射方法
434事務(wù)型映射方法
435模塊間的耦合與內(nèi)聚
436軟件模塊結(jié)構(gòu)的改進(jìn)方法
44接口設(shè)計(jì)
441接口設(shè)計(jì)概述
442人機(jī)交互界面
45數(shù)據(jù)設(shè)計(jì)
451文件設(shè)計(jì)
452數(shù)據(jù)庫(kù)設(shè)計(jì)
46過(guò)程設(shè)計(jì)
461結(jié)構(gòu)化程序設(shè)計(jì)
462程序流程圖
463NS圖
464PAD圖
465偽代碼
466自頂向下、逐步細(xì)化的設(shè)計(jì)過(guò)程
47軟件設(shè)計(jì)規(guī)格說(shuō)明
48軟件設(shè)計(jì)評(píng)審
481概要設(shè)計(jì)評(píng)審的檢查內(nèi)容
482詳細(xì)設(shè)計(jì)評(píng)審的檢查內(nèi)容
習(xí)題
第三部分面向?qū)ο蠓治雠c設(shè)計(jì)方法
第5章面向?qū)ο蠓椒ㄅcUML
51面向?qū)ο蟮母拍钆c開(kāi)發(fā)方法
511對(duì)象
512類(lèi)與封裝
513繼承
514多態(tài)
515消息通信
516面向?qū)ο蟮能浖_(kāi)發(fā)方法
52UML簡(jiǎn)介
521UML的產(chǎn)生和發(fā)展
522UML的特點(diǎn)
523UML的基本模型
53UML的事物
531結(jié)構(gòu)事物
532行為事物
533分組事物
534注釋事物
54UML的關(guān)系
541依賴(lài)關(guān)系
542關(guān)聯(lián)關(guān)系
543泛化關(guān)系
544實(shí)現(xiàn)關(guān)系
55UML的圖
551用例圖
552類(lèi)圖
553順序圖與通信圖
554狀態(tài)圖
555活動(dòng)圖
556構(gòu)件圖與部署圖
習(xí)題
第6章面向?qū)ο蠓治?br>61面向?qū)ο蠓治龈攀?br>611確定系統(tǒng)邊界
612面向?qū)ο蠓治龅?種模型
62建立用例模型
621確定業(yè)務(wù)參與者
622確定業(yè)務(wù)需求用例
623創(chuàng)建用例圖
63建立對(duì)象模型
631對(duì)象模型的5個(gè)層次
632劃分主題
633確定類(lèi)與對(duì)象
634確定結(jié)構(gòu)
635確定屬性
636確定服務(wù)
637建立類(lèi)圖
64建立動(dòng)態(tài)模型
641順序圖
642通信圖
643狀態(tài)圖
習(xí)題
第7章軟件體系結(jié)構(gòu)與設(shè)計(jì)模式
71軟件體系結(jié)構(gòu)的基本概念
711什么是體系結(jié)構(gòu)
712體系結(jié)構(gòu)模式、風(fēng)格和框架的概念
713體系結(jié)構(gòu)的重要作用
72典型的體系結(jié)構(gòu)風(fēng)格
721數(shù)據(jù)流風(fēng)格
722調(diào)用∕返回風(fēng)格
723倉(cāng)庫(kù)風(fēng)格
73特定領(lǐng)域的軟件體系結(jié)構(gòu)
731類(lèi)屬模型
732參考模型
74分布式系統(tǒng)結(jié)構(gòu)
741多處理器體系結(jié)構(gòu)
742客戶機(jī)∕服務(wù)器體系結(jié)構(gòu)
743分布式對(duì)象體系結(jié)構(gòu)
744代理
75體系結(jié)構(gòu)框架
751模型視圖控制器
752J2EE體系結(jié)構(gòu)框架
753PCMEF與PCBMER框架
76設(shè)計(jì)模式
761抽象工廠
762單件
763外觀
764適配器
765職責(zé)鏈
766中介者
767觀察者
習(xí)題
第8章面向?qū)ο笤O(shè)計(jì)
81面向?qū)ο笤O(shè)計(jì)過(guò)程與準(zhǔn)則
811面向?qū)ο笤O(shè)計(jì)過(guò)程
812面向?qū)ο笤O(shè)計(jì)準(zhǔn)則
82體系結(jié)構(gòu)模塊及依賴(lài)性
821類(lèi)及其依賴(lài)性
822接口及其依賴(lài)性
823包及其依賴(lài)性
824構(gòu)件及其依賴(lài)性
83系統(tǒng)分解
831子系統(tǒng)和類(lèi)
832服務(wù)和子系統(tǒng)接口
833子系統(tǒng)分層和劃分
834Coad & Yourdon的面向?qū)ο笤O(shè)計(jì)模型
835子系統(tǒng)之間的兩種交互方式
836組織系統(tǒng)的兩種方案
84問(wèn)題域部分的設(shè)計(jì)
85人機(jī)交互部分的設(shè)計(jì)
851用戶界面設(shè)計(jì)步驟
852Web應(yīng)用系統(tǒng)的界面設(shè)計(jì)
86任務(wù)管理部分的設(shè)計(jì)
87數(shù)據(jù)管理部分的設(shè)計(jì)
88對(duì)象設(shè)計(jì)
881使用模式設(shè)計(jì)對(duì)象
882接口規(guī)格說(shuō)明設(shè)計(jì)
883重構(gòu)對(duì)象設(shè)計(jì)模型
89優(yōu)化對(duì)象設(shè)計(jì)模型
習(xí)題
第四部分軟件實(shí)現(xiàn)與測(cè)試
第9章軟件實(shí)現(xiàn)
91程序設(shè)計(jì)語(yǔ)言
911程序設(shè)計(jì)語(yǔ)言的性能
912程序設(shè)計(jì)語(yǔ)言的分類(lèi)
913程序設(shè)計(jì)語(yǔ)言的選擇
92程序設(shè)計(jì)風(fēng)格
921源程序文檔化
922數(shù)據(jù)說(shuō)明標(biāo)準(zhǔn)化
923語(yǔ)句結(jié)構(gòu)簡(jiǎn)單化
924輸入/輸出規(guī)范化
93編碼規(guī)范
94程序效率與性能分析
941算法對(duì)效率的影響
942影響存儲(chǔ)器效率的因素
943影響輸入/輸出的因素
習(xí)題
第10章軟件測(cè)試方法
101軟件測(cè)試的基本概念
1011什么是軟件測(cè)試
1012軟件測(cè)試的目的和原則
1013軟件測(cè)試的對(duì)象
1014測(cè)試信息流
1015測(cè)試與軟件開(kāi)發(fā)各階段的關(guān)系
1016白盒測(cè)試與黑盒測(cè)試
102白盒測(cè)試的測(cè)試用例設(shè)計(jì)
1021邏輯覆蓋
1022語(yǔ)句覆蓋
1023判定覆蓋
1024條件覆蓋
1025判定條件覆蓋
1026條件組合覆蓋
1027路徑覆蓋
103基本路徑覆蓋
104黑盒測(cè)試的測(cè)試用例設(shè)計(jì)
1041等價(jià)類(lèi)劃分
1042邊界值分析
105軟件測(cè)試的策略
1051單元測(cè)試
1052組裝測(cè)試
1053確認(rèn)測(cè)試
1054系統(tǒng)測(cè)試
1055測(cè)試的類(lèi)型
106人工測(cè)試
1061靜態(tài)分析
1062人工測(cè)試方法
107自動(dòng)化測(cè)試
1071自動(dòng)化測(cè)試與手工測(cè)試
1072腳本技術(shù)
1073自動(dòng)化測(cè)試框架及測(cè)試流程
108調(diào)試
習(xí)題
第五部分軟件維護(hù)與軟件管理
第11章軟件維護(hù)
111軟件維護(hù)的概念
1111軟件維護(hù)的定義
1112影響維護(hù)工作量的因素
1113軟件維護(hù)的策略
112軟件維護(hù)活動(dòng)
1121軟件維護(hù)申請(qǐng)報(bào)告
1122軟件維護(hù)工作流程
1123維護(hù)檔案記錄
1124維護(hù)評(píng)價(jià)
113逆向工程
114重構(gòu)
115程序修改的步驟和修改的副作用
1151分析和理解程序
1152修改程序
1153修改程序的副作用及其控制
1154重新驗(yàn)證程序
116軟件的維護(hù)性
1161軟件維護(hù)性定義
1162軟件維護(hù)性度量
117提高軟件維護(hù)性的方法
1171使用提高軟件維護(hù)性的開(kāi)發(fā)技術(shù)和工具
1172實(shí)施開(kāi)發(fā)階段產(chǎn)品的維護(hù)性審查
1173改進(jìn)文檔
習(xí)題
第12章軟件過(guò)程與軟件過(guò)程改進(jìn)
121軟件過(guò)程概述
122軟件生存期過(guò)程國(guó)際標(biāo)準(zhǔn)
123軟件過(guò)程成熟度
1231什么是軟件過(guò)程成熟度
1232過(guò)程制度化
124軟件能力成熟度模型
1241CMM與SEI
1242CMM的演化
1243CMM族和CMMI
1244CMMI 13簡(jiǎn)介
1245CMMI評(píng)估
125軟件過(guò)程改進(jìn)
1251軟件過(guò)程改進(jìn)的IDEAL模型
1252軟件過(guò)程改進(jìn)框架
1253有效的軟件過(guò)程
習(xí)題
第13章軟件項(xiàng)目管理
131軟件項(xiàng)目管理概述
1311軟件項(xiàng)目管理的目標(biāo)
1312軟件項(xiàng)目管理涉及的幾個(gè)方面
132項(xiàng)目估算
1321項(xiàng)目策劃與項(xiàng)目估算
1322軟件規(guī)模估算的功能點(diǎn)方法
1323軟件開(kāi)發(fā)成本估算
133風(fēng)險(xiǎn)管理
1331什么是軟件風(fēng)險(xiǎn)
1332風(fēng)險(xiǎn)管理的任務(wù)
1333風(fēng)險(xiǎn)評(píng)估
1334風(fēng)險(xiǎn)控制
1335做好風(fēng)險(xiǎn)管理的建議
134進(jìn)度管理
1341進(jìn)度控制問(wèn)題
1342甘特圖
1343時(shí)標(biāo)網(wǎng)狀圖
1344PERT圖
135需求管理
1351系統(tǒng)需求與軟件需求
1352需求工程
1353需求變更
1354需求變更控制
1355可追溯性管理
136配置管理
1361什么是軟件配置管理
1362軟件配置標(biāo)識(shí)
1363變更管理
1364版本控制
1365系統(tǒng)建立
1366配置審核
1367配置狀態(tài)報(bào)告
137質(zhì)量管理
習(xí)題
第14章軟件工程標(biāo)準(zhǔn)及軟件文檔
141軟件工程標(biāo)準(zhǔn)
1411標(biāo)準(zhǔn)的概念
1412軟件標(biāo)準(zhǔn)化的意義
1413標(biāo)準(zhǔn)的分類(lèi)與分級(jí)
1414軟件工程標(biāo)準(zhǔn)的制定與實(shí)施
1415軟件組織內(nèi)的標(biāo)準(zhǔn)化工作
142軟件文檔
1421軟件文檔的作用和分類(lèi)
1422軟件基本文檔的內(nèi)容要求
1423對(duì)文檔編制的質(zhì)量要求
1424文檔的管理和維護(hù)
習(xí)題
第15章軟件人員的職業(yè)道德和社會(huì)責(zé)任
151當(dāng)前軟件產(chǎn)品和軟件產(chǎn)業(yè)的社會(huì)地位
152軟件人員不良行為表現(xiàn)的實(shí)例
153軟件工程人員的職業(yè)道德修養(yǎng)
1531職業(yè)道德和社會(huì)責(zé)任
1532軟件工程人員職業(yè)道德修養(yǎng)的若干方面
154在軟件業(yè)中組織職業(yè)道德規(guī)范的貫徹實(shí)施
附錄近年國(guó)內(nèi)外軟件引起的系統(tǒng)重大事故
參考文獻(xiàn)