圖書簡介
本書以一個完整的軟體案例為主線,以VisualStudio為開發工具、.NET(特別是ASP.NETMVC)為開發平台、C#為程式語言、SQLServer為資料庫伺服器,全面闡述了軟體原理與工程。
其中,VisualStudio開發工具包括軟體項目、軟體MVC等內容;C#語言+.NET平台編程包括ASP.NETMVC平台、C#、JavaScript、XML、XHTML、CSHTML、CSS語言等內容;SQLServer伺服器包括資料庫、數據倉庫、SQL、數據集成OLDI、數據多維分析OLAP、數據挖掘OLDM等內容。
本書理論、實踐、上機實訓緊密結合,內容全面,系統性強、範例典型,可用作“軟體工程”、“軟體設計與開發”、“.NET編程”、“C#編程”、“網站建設”等本科生計算機套用課程的教材,也可作為信息科技普及用書。
目錄
第1章軟體原理與工程概述——以EDSS軟體為例1
1.1軟體的“信息互動系統”觀1
1.1.1“系統”即“信息互動系統”1
1.1.2系統的疊代性3
1.2軟體探究的“信息互動系統原理與工程”觀6
1.2.1“系統原理與工程”即“信息互動系統原理與工程”6
1.2.2“系統原理與工程”框架6
1.2.3系統要素及其架構:概述7
1.2.4系統要素及其架構:要素/類型/對象的含義10
1.2.5系統要素及其架構:架構/模式/結構/關係的含義15
1.2.6系統要素及其架構:數據與行為的含義19
1.2.7系統要素及其架構:小結32
1.2.8系統過程及其狀態35
1.2.9系統工程37
1.3軟體原理與工程——以EDSS軟體系統為例42
1.3.1“EDSS原理與工程”框架42
1.3.2EDSS要素及其架構43
1.3.3EDSS過程及其狀態48
1.3.4EDSS工程50
1.3.5“EDSS軟體原理與工程”框架53
1.3.6EDSS軟體要素及其架構53
1.3.7EDSS軟體過程及其狀態56
1.3.8EDSS軟體工程:概述57
1.3.9EDSS軟體工程:軟體分析59
1.3.10EDSS軟體工程:軟體設計61
1.3.11EDSS軟體工程:軟體開發62
1.3.12EDSS軟體工程:軟體實施63
1.3.13EDSS軟體工程:軟體管理64
1.3.14EDSS軟體工程:軟體評價641.4本章小結65第2章軟體工程工具軟體——以VisualStudio開發EDSS軟體為例66
2.1VisualStudio界面66
2.2VisualStudio配置68
2.3VisualStudio與.NET平台68
2.4VisualStudio與軟體工程70
2.5VisualStudio與解決方案、項目、項72
2.5.1項:概述73
2.5.2項:Properties資料夾76
2.5.3項:“引用”資料夾76
2.5.4項:M、V、C資料夾78
2.5.5項:Content、Scripts資料夾80
2.5.6項:Global.asax檔案、Global.asax.cs檔案82
2.5.7項:Web.config檔案85
2.5.8項:小結87
2.5.9項目88
2.5.10解決方案94
2.6代碼編輯97
2.7代碼模型98
2.8代碼導航100
2.9代碼重構103
2.10軟體排錯、測試、調試104
2.11軟體編譯、生成、打包、部署、發布106
2.12軟體運行108
2.13本章小結108第3章軟體語言——以C#編寫ASP.NETMVC平台的EDSS軟體為例109
3.1代碼檔案110
3.2代碼語法:詞法、句法112
3.3代碼詞法:關鍵字、非關鍵字113
3.4代碼詞法:標識符;名稱、ID114
3.5代碼詞法:運算符、表達式114
3.6代碼詞法:注釋115
3.7代碼句法:語句、語句塊116
3.8代碼句法:流程控制語句117
3.9對象類型:概述126
3.10對象類型:類、結構、枚舉、委託、特性、接口127
3.10.1類:繼承擴展於Object根的屬性與方法統一體127
3.10.2類:屬性/欄位/數據/事件138
3.10.3類:方法/函式/行為/Lambda表達式141
3.10.4特殊的類:結構144
3.10.5特殊的類:枚舉146
3.10.6特殊的類:委託148
3.10.7特殊的類:特性150
3.10.8接口154
3.11對象類型:基礎類型、複雜類型159
3.11.1基礎類型:數值類型159
3.11.2基礎類型:字元類型;正則表達式查詢160
3.11.3基礎類型:布爾類型164
3.12對象類型:泛型165
3.13對象類型的關係167
3.13.1引用與被引用/關聯與被關聯167
3.13.2依賴與被依賴169
3.13.3複合與被複合170
3.13.4聚合與被聚合171
3.13.5嵌套與被嵌套173
3.14對象類型的結構174
3.14.1線性結構:集合、LINQ174
3.14.2樹型結構:XML文檔、XMLDOM183
3.14.3網狀結構189
3.15對象類型的模式193
3.16對象類型的架構196
3.16.1MVC架構196
3.16.2MVC架構與軟體、軟體周期、會話周期197
3.16.3MVC架構與URL路由200
3.16.4控制器C201
3.16.5模型M:數據注釋、數據驗證、資料庫的映射205
3.16.6模型M:與ViewBag的互補207
3.16.7視圖V:視圖V與瀏覽器端界面208
3.16.8視圖V:HTML、CSS、@C#、ASP.NETMVC平台209
3.16.9視圖V:布局視圖、分部視圖214
3.16.10瀏覽器端界面:HTML、CSS、JavaScript、瀏覽器平台218
3.16.11瀏覽器端界面:傳送名值對、表單、檔案223
3.16.12瀏覽器端界面:AJAX231
3.17本章小結233第4章軟體數據技術——以SQLServer實現EDSS數據套用為例235
4.1數據採集235
4.1.1SSMS與資料庫開發管理236
4.1.2資料庫服務238
4.1.3資料庫239
4.1.4資料庫:Schema/架構246
4.1.5資料庫:表、表關係246
4.1.6SQL語言250
4.1.7數據採集套用的開發253
4.2關於數據倉庫265
4.3數據集成266
4.3.1SSBIDS與SSIS解決方案、項目、項266
4.3.2SSIS包267
4.3.3SSIS包:連線268
4.3.4SSIS包:控制流269
4.3.5SSIS包:數據流272
4.4數據分析、數據挖掘275
4.4.1SSBIDS與SSAS解決方案、項目、項275
4.4.2數據源276
4.4.3數據源視圖280
4.4.4多維分析數據集283
4.4.5多維分析數據集:結構286
4.4.6多維分析數據集:計算288
4.4.7多維分析數據集:瀏覽器290
4.4.8數據分析套用的開發291
4.4.9挖掘結構294
4.4.10挖掘結構:算法模型297
4.4.11挖掘結構:模型查看器299
4.4.12數據挖掘套用的開發300
4.5本章小結302參考文獻303文中注釋304示例目錄
示例21Global.asax代碼示例82
示例22Global.asax.cs代碼示例83
示例23Web.config檔案代碼示例86
示例31.cs檔案中C#代碼的基本框架110
示例32分支語句:if…else…117
示例33分支語句:switch119
示例34循環語句:while120
示例35循環語句:do…while…122
示例36循環語句:for124
示例37循環語句:foreach125
示例38類類型,類是屬性與方法的統一體127
示例39結構類型144
示例310枚舉類型146
示例311委託類型148
示例312特性類型151
示例313接口類型154
示例314正則表達式162
示例315泛型165
示例316對象類型的關係:引用與被引用/關聯與被關聯167
示例317對象類型的關係:依賴與被依賴169
示例318對象類型的關係:複合與被複合170
示例319對象類型的關係:聚合與被聚合171
示例320對象類型的關係:嵌套與被嵌套173
示例321對象類型的結構:線性結構(自定義類型實現)175
示例322對象類型的結構:線性結構(.NET內置類型實現,List<T>等
集合類型,LINQ)181
示例323對象類型的結構:樹型結構(自定義類型實現)184
示例324對象類型的結構:樹型結構(.NET內置類型實現、XMLDOM)186
示例325對象類型的結構:網狀結構(自定義類型實現,.NET尚未內置網狀
結構相關的類型)189
示例326對象類型的模式:原型模式194
示例327控制器C201
示例328模型M205
示例329視圖V(HTML、CSS、@C#、ASP.NETMVC平台相關代碼)210
示例330布局視圖214
示例331分部視圖217
示例332瀏覽器端界面(HTML、CSS、JavaScript、瀏覽器平台相關代碼)219
示例333瀏覽器端界面傳送名值對給伺服器端控制器C:瀏覽器端界面224
示例334瀏覽器端界面傳送名值給伺服器端控制器C:伺服器端控制器C224
示例335瀏覽器端界面傳送表單給伺服器端控制器C:瀏覽器端界面226
示例336瀏覽器端界面傳送表單給伺服器端控制器C:伺服器端控制器C228
示例337瀏覽器端界面傳送檔案給伺服器端控制器C:瀏覽器端界面229
示例338瀏覽器端界面傳送檔案給伺服器端控制器C:伺服器端控制器C230
示例339Ajax232
示例41模型M:Person實體類253
示例42模型M:Learner實體類254
示例43模型M:Educator實體類255
示例44模型M:Curriculum實體類255
示例45模型M:CurriculumCategory實體類256
示例46模型M:CurriculumSelectedScore實體類257
示例47“.NET平台的實體類型及其關係”與“資料庫平台的數據表及其關係”
的映射258
示例48數據分析套用291
示例49數據挖掘套用300
圖目錄
圖11系統的模型表述(系統的描述是文本語言與模型語言的統一)2
圖12“信息互動系統”的模型表述2
圖13系統的疊代與直趨的統一3
圖14系統、EDSS系統、EDSS軟體系統、整個世界系統6
圖15“系統原理與工程:系統要素及其架構、過程及其狀態的分析、設計、開發、
實施、管理、評價的疊代”是系統認識與改造的理想疊代起點、疊代主線7
圖16系統要素及其架構的疊代起點;系統的本質7
圖17系統要素及其架構的疊代粒度之一8
圖18系統要素及其架構的理想疊代粒度、疊代框架(CMMI視角)9
圖19系統要素及其架構的理想疊代粒度、疊代框架(MVC視角)10
圖110要素、類型、對象的層次關係(以教育系統為例)11
圖111過程狀態圖示例;順序、分支、循環的統一(以考試過程狀態為例)13
圖112系統的架構、模式、結構、關係的層次關係(以教育系統為例)16
圖113結構分類18
圖114要素/類型/對象的數據與行為的疊代層次20
圖115“類型/對象”與“數據表/行”之間的映射20
圖116資料庫示例:EDSS資料庫21
圖117“類繼承關係”與“表引用關係”之間的映射25
圖118數據倉庫示例:EDSSDW數據倉庫26
圖119資料庫中的數據定期集成轉換到數據倉庫的示例:SSIS數據集成項目28
圖120基於多維分析數據集的多維分析示例:SSAS多維數據分析項目29
圖121基於數據挖掘結構的數據挖掘示例:SSAS數據挖掘項目30
圖122聚類圖示31
圖123分類/回歸圖示32
圖124要素及其架構的層次33
圖125系統過程及其狀態的疊代起點、疊代框架(CMMI視角)36
圖126系統過程及其狀態的疊代起點、疊代框架(MVC視角)37
圖127系統工程的疊代起點、疊代框架(CMMI視角,具體套用時分拆為分析、
設計、開發、實施、管理、評價六個環節)38
圖128系統工程的疊代起點、疊代框架(MVC視角,具體套用時分拆為
分析、設計、開發、實施、管理、評價六個環節)40
圖129EDSS原理與工程:EDSS要素及其架構、過程及其狀態的分析、設計、
開發、實施、管理、評價的疊代42
圖130EDSS要素及其架構的疊代起點,EDSS的本質43
圖131EDSS要素及其架構的疊代粒度之一44
圖132EDSS要素及其架構的理想疊代粒度、疊代框架45
圖133教育要素及其架構的疊代起點;教育的本質45
圖134教育要素及其架構的疊代粒度之一46
圖135教育要素及其架構的理想疊代粒度、疊代框架47
圖136教育要素及其架構的簡化48
圖137EDSS過程及其狀態的疊代起點、疊代框架50
圖138EDSS工程的疊代起點、疊代框架(具體套用時分拆為分析、設計、開發、
實施、管理、評價六個環節)52
圖139EDSS軟體原理與工程:EDSS軟體要素及其架構、過程及其狀態
的分析、設計、開發、實施、管理、評價的疊代53
圖140EDSS軟體要素及其架構的疊代起點;EDSS軟體的本質54
圖141EDSS軟體要素及其架構的疊代粒度之一54
圖142EDSS軟體要素及其架構的理想疊代粒度、疊代框架55
圖143EDSS軟體過程及其狀態的疊代起點、疊代框架57
圖144EDSS軟體工程的疊代起點、疊代框架(具體套用時分拆為分析、設計、
開發、實施、管理、評價六個環節)59
圖145主角用例疊代的模型表述60
圖146EDSS軟體視圖界面設計用戶登錄使用61
圖147EDSS軟體視圖界面設計註銷登錄62
圖148軟體視圖界面與軟體用例的一一對應62
圖149EDSS軟體開發示例63
圖21VisualStudio主界面67
圖22VisualStudio配置68
圖23軟體平台69
圖24原始碼檔案、目標代碼檔案72
圖25“Windows資源管理器中的原始碼檔案、資料夾”與“VS解決方案資源
管理器中的解決方案、項目、項”互為映射73
圖26項的添加(引用)75
圖27項的排除75
圖28“添加引用”對話框77
圖29控制器C的創建78
圖210視圖V的創建79
圖211模型M的創建80
圖212Content資料夾下的.css樣式等檔案的創建81
圖213Script資料夾下的.js腳本檔案的創建81
圖214Web.config檔案的創建85
圖215“新建項目”的界面,項目的類別與創建89
圖216項目的添加(引用)90
圖217項目的卸載91
圖218項目屬性設定:應用程式92
圖219項目屬性設定:生成93
圖220項目屬性設定:Web93
圖221項目屬性設定:代碼分析94
圖222解決方案屬性設定:“啟動項目”96
圖223解決方案屬性設定:“項目依賴項”96
圖224C#代碼編輯視窗97
圖225IntelliSense98
圖226代碼模型:類圖(類型及其關係圖)99
圖227代碼模型:順序圖(類型屬性方法及其關係圖)100
圖228對象瀏覽器中的代碼導航101
圖229代碼視窗中的代碼導航102
圖230任務列表視窗中的代碼導航103
圖231代碼重構104
圖232軟體調試106
圖233軟體發布107
圖234軟體運行108
圖31.cs檔案中C#代碼基本框架的運行結果110
圖32if…else…分支語句示例的運行結果118
圖33switch分支語句示例的運行結果120
圖34while循環語句示例的運行結果121
圖35do…while…循環語句示例的運行結果123
圖36for循環語句示例的運行結果124
圖37foreach循環語句示例的運行結果126
圖38類類型示例的運行結果129
圖39結構類型示例的運行結果145
圖310枚舉類型示例的運行結果147
圖311委託類型示例的運行結果149
圖312特性類型示例的運行結果153
圖313接口類型示例的運行結果156
圖314正則表達式示例的運行結果163
圖315泛型示例的運行結果166
圖316引用與被引用/關聯與被關聯關係示例的運行結果168
圖317依賴與被依賴關係示例的運行結果170
圖318複合與被複合關係示例的運行結果171
圖319聚合與被聚合關係示例的運行結果173
圖320嵌套與被嵌套關係示例的運行結果174
圖321自定義類型實現線性結構示例的運行結果180
圖322.NET內置類型實現線性結構示例的運行結果182
圖323自定義類型實現樹型結構示例的運行結果185
圖324.NET內置類型實現樹型結構的運行示例188
圖325網狀結構的運行結果示例193
圖326原型模式的運行結果示例195
圖327ASP.NETMVC軟體架構197
圖328軟體、軟體周期、會話周期示例的運行結果198
圖329控制器C的運行結果示例:View()方法返回視圖V203
圖330控制器C的運行結果示例:Content()方法返回字元串204
圖331控制器C的運行結果示例:File()方法返回檔案204
圖332控制器C的運行結果示例:Redirect()方法重定向到其他URL205
圖333模型M的運行結果示例:通過控制器C內置的Content()方法返回
取值於模型M對象屬性的字元串給瀏覽器端207
圖334模型M的運行結果示例:通過控制器C內置的View()方法傳遞給
視圖V再返回給瀏覽器端207
圖335ViewBag示例的運行結果:控制器C通過ViewBag傳遞數據給
視圖V再返回給瀏覽器端208
圖336視圖V示例的運行結果210
圖337布局視圖示例的運行結果215
圖338分部視圖示例的運行結果217
圖339HTML、CSS、JavaScript、瀏覽器平台示例的運行結果220
圖340瀏覽器端界面傳送名值對給伺服器端控制器C的運行結果示例225
圖341瀏覽器端界面傳送表單給伺服器端控制器C示例的運行結果229
圖342瀏覽器端界面傳送檔案給伺服器端控制器C示例的運行結果231
圖343Ajax示例的運行結果233
圖41SSMS連線SS服務236
圖42SSMS連線資料庫引擎後的“對象資源管理器”界面:EDSS資料庫示例237
圖43SSDE資料庫服務的屬性設定239
圖44資料庫的屬性設定240
圖45資料庫的導出241
圖46資料庫的導入242
圖47資料庫的分離243
圖48資料庫的附加244
圖49資料庫的備份244
圖410資料庫的還原245
圖411表的屬性設定247
圖412新建表、表列247
圖413表列的編輯248
圖414為新建表輸入名稱248
圖415表行的新建249
圖416表關係的新建250
圖417SQL編輯、編譯、運行的界面:查詢設計器251
圖418EDSSDW數據倉庫的表及其關係示例265
圖419SSBIDS開發SSIS項目266
圖420新建SSIS包、SSIS包設計器268
圖421新建連線269
圖422已添加的連線270
圖423控制流選項卡、控制流工具箱270
圖424“執行SQL任務”控制流272
圖425數據流選項卡、數據流工具箱273
圖426數據流的編輯273
圖427數據源的編輯示例274
圖428數據目標的編輯示例274
圖429SSBIDS開發SSAS項目275
圖430數據源嚮導:建立數據分析的數據源連線277
圖431“數據源設計器”對話框中查看、修改數據源278
圖432數據源嚮導:建立數據挖掘的數據源連線279
圖433數據源視圖嚮導:建立數據分析的數據源視圖281
圖434數據源視圖中表及其關係的屬性282
圖435用“數據源視圖嚮導”建立數據挖掘的數據源視圖283
圖436多維數據集嚮導284
圖437“多維數據集結構”選項卡286
圖438新建度量值287
圖439維度結構編輯器:維度表的屬性及其關係編輯288
圖440多維分析數據集:計算289
圖441多維分析數據集的瀏覽290
圖442數據分析(OLAP)套用開發示例293
圖443挖掘結構嚮導295
圖444挖掘模型示例:Microsoft_Decision_Trees決策樹算法298
圖445數據挖掘結果的瀏覽示例:Microsoft_Decision_Trees決策樹算法299
圖446數據挖掘(OLDM)套用開發示例301表目錄
表11系統分析、設計、開發、實施、管理、評價的疊代7
表12ScoreOfSelectedCurriculumByLearner(學習者所選課程分數)21
表13Learner(學習者)22
表14Curriculum(課程)22
表15CurriculumCategory(課程類別)22
表16MeasureScoreOfSelectedCurriculumByLearner26
表17DimCurriculum26
表18DimCurriculumCategory27
表19DimLearner27
表110DimLearnerSourcePlace27
表111DimCurriculumSelectedTime27
表112“信息互動系統”相關術語辨析33
表113系統過程及其狀態的疊代起點、疊代框架(CMMI視角)35
表114系統過程及其狀態的疊代起點、疊代框架(MVC視角)36
表115系統工程的疊代起點、疊代框架(CMMI視角,具體套用時分拆為
分析、設計、開發、實施、管理、評價六個環節)38
表116系統工程的疊代起點、疊代框架(MVC視角,具體套用時分拆為
分析、設計、開發、實施、管理、評價六個環節)39
表117EDSS分析、設計、開發、實施、管理、評價的疊代43
表118EDSS過程及其狀態的疊代起點、疊代框架49
表119EDSS工程的疊代起點、疊代框架(具體套用時分拆為分析、
設計、開發、實施、管理、評價六個環節)51
表120EDSS軟體分析、設計、開發、實施、管理、評價的疊代53
表121EDSS軟體過程及其狀態的疊代起點、疊代框架56
表122EDSS軟體工程的疊代起點、疊代框架(具體套用時分拆為分析、
設計、開發、實施、管理、評價六個環節)58
表123EDSS軟體分析概要59
表124EDSS軟體設計概要61
表125EDSS軟體開發概要63
表126EDSS軟體實施概要63
表127EDSS軟體管理概要64
表128EDSS軟體評價概要64
表21虛擬機平台軟體、作業系統平台軟體;C/S軟體、B/S軟體70
表22軟體錯誤的類別:編譯時錯誤、運行時錯誤、邏輯錯誤104
表31C#關鍵字113
表32C#上下文關鍵字114
表33C#運算符115
表34類型的可訪問性、類型成員的可訪問性137
表35基礎類型:數值類型159
表36基礎類型:字元類型、字元串類型161
表37字元轉義161
表38正則表達式的元字元164
表39基礎類型:布爾類型165
表310@C#+ASP.NETMVC平台、C#+.NET平台的比較212
表311JavaScript+瀏覽器平台、C#+.NET平台的比較221
表41“SSMS開發資料庫”與“VS開發ASP.NETMVC項目”237
表42SQL、LINQ的語法比較251
表43SQL+資料庫平台、LINQ+.NET平台的基本功能比較252
表44數據注釋(DataAnnotations)、流暢應用程式接口(fluentAPI)263
表45面向對象的數據基本操作、面向SQL的數據基本操作264
表46“SSBIDS開發SSIS項目”與“VS開發ASP.NETMVC項目”267
表47“SSBIDS開發SSAS項目”與“VS開發ASP.NETMVC項目”276
表22軟體錯誤的類別:編譯時錯誤、運行時錯誤、邏輯錯誤104
表31C#關鍵字113
表32C#上下文關鍵字114
表33C#運算符115
表34類型的可訪問性、類型成員的可訪問性137
表35基礎類型:數值類型159
表36基礎類型:字元類型、字元串類型161
表37字元轉義161
表38正則表達式的元字元164
表39基礎類型:布爾類型165
表310@C#+ASP.NETMVC平台、C#+.NET平台的比較212
表311JavaScript+瀏覽器平台、C#+.NET平台的比較221
表41“SSMS開發資料庫”與“VS開發ASP.NETMVC項目”237
表42SQL、LINQ的語法比較251
表43SQL+資料庫平台、LINQ+.NET平台的基本功能比較252
表44數據注釋(DataAnnotations)、流暢應用程式接口(fluentAPI)263
表45面向對象的數據基本操作、面向SQL的數據基本操作264
表46“SSBIDS開發SSIS項目”與“VS開發ASP.NETMVC項目”267
表47“SSBIDS開發SSAS項目”與“VS開發ASP.NETMVC項目”276
第1章概述1
1.1軟體服務外包1
1.1.1服務外包1
1.1.2軟體服務外包的內涵2
1.1.3軟體服務外包市場3
1.2軟體外包與軟體開發過程6
1.2.1軟體外包項目特點6
1.2.2軟體外包項目全過程管理7
1.2.3軟體工程過程9
1.3軟體外包與軟體開發規範10
1.3.1軟體性能10
1.3.2軟體開發規範12
1.3.3軟體工程標準15第2章軟體開發過程20
2.1軟體生命周期20
2.2常用軟體過程模型21
2.2.1瀑布模型21
2.2.2增量模型23
2.2.3演化模型24
2.2.4螺旋模型26
2.2.5統一過程模型27
2.2.6敏捷過程29第3章軟體開發規範31
3.1軟體過程規範31
3.1.1軟體過程概要31
3.1.2工程過程規範32
3.1.3管理過程規範33
3.1.4管理過程的主要成果38
3.1.5管理過程案例45
3.2軟體文檔規範53
3.2.1軟體文檔53
3.2.2軟體文檔分類54
3.2.3軟體文檔編制56
3.2.4軟體文檔規範57
3.2.5軟體編碼規範58
3.3軟體支持過程規範66
3.3.1軟體支持過程概述66
3.3.2軟體配置管理67
3.3.3軟體質量保證85
3.3.4分析與決策91
3.3.5軟體評審96第4章軟體管理規範101
4.1軟體管理概述101
4.2項目計畫102
4.2.1項目估算102
4.2.2項目計畫制訂104
4.2.3評審項目計畫105
4.2.4項目計畫變更控制106
4.2.5項目計畫主要工作成果107
4.2.6項目計畫案例109
4.3項目監控114
4.3.1項目監控策略114
4.3.2項目計畫跟蹤117
4.3.3偏差控制118
4.3.4項目進展匯報118
4.3.5項目監控的主要工作成果119
4.4變更管理和需求變更管理119
4.4.1變更管理119
4.4.2需求變更管理120
4.4.3變更管理的主要工作成果122
4.5溝通管理122
4.5.1規劃溝通122
4.5.2發布信息124
4.5.3報告績效125
4.5.4管理利害關係人126
4.5.5溝通管理的主要工作成果127
4.6風險管理127
4.6.1風險管理計畫128
4.6.2風險管理128
4.6.3風險管理的主要工作成果131
4.6.4風險管理案例133第5章傳統軟體過程及其規範138
5.1傳統軟體過程概要138
5.1.1傳統軟體過程138
5.1.2傳統軟體過程的優缺點139
5.1.3傳統軟體過程的適用性140
5.2軟體需求分析140
5.2.1軟體需求分析的主要工作140
5.2.2軟體需求分析階段的成果144
5.2.3軟體需求評審155
5.2.4軟體需求確認和需求管理156
5.3軟體設計157
5.3.1軟體設計的主要工作157
5.3.2軟體設計階段的成果161
5.3.3軟體設計的評審168
5.3.4軟體體系結構的設計和選擇的原則170
5.3.5設計模式的套用171
5.3.6資料庫設計原則171
5.3.7詳細設計原則172
5.4軟體編碼173
5.4.1軟體編碼階段的主要工作173
5.4.2軟體編碼階段的成果175
5.4.3程式代碼評審176
5.4.4SQL語言及使用178
5.4.5單元測試的認識誤區和實施原則181
5.5軟體測試182
5.5.1軟體測試階段的主要工作182
5.5.2軟體測試階段的成果187
5.5.3軟體測試用例的評審189
5.5.4軟體測試的原則及規範190
5.6軟體發布與維護193
5.6.1軟體維護階段的主要工作194
5.6.2軟體維護階段的成果197
5.6.3軟體維護的原則199
5.7傳統軟體過程案例200
5.7.1軟體需求分析200
5.7.2軟體設計218
5.7.3軟體編碼228
5.7.4軟體測試231
5.7.5軟體發布與維護231第6章統一過程及其規範232
6.1統一過程介紹232
6.1.1統一過程的維度233
6.1.2時間軸——階段與疊代233
6.1.3統一過程的工件238
6.2需求規範239
6.2.1辭彙表239
6.2.2軟體需求規格說明244
6.2.3用例規範250
6.3分析和設計規範254
6.3.1軟體架構設計文檔254
6.3.2用例實現規範272
6.4實施規範275
6.5測試規範280
6.5.1測試計畫280
6.5.2測試評估摘要293
6.6配置和變更管理規範298
6.7項目管理規範301參考文獻314第3章中國象棋對弈軟體開發211
3.1象棋棋譜製作系統211
3.1.1系統設計與功能演示211
3.1.2系統程式分析213
3.2簡易的象棋對弈軟體241
3.2.1簡易的象棋對弈軟體的設計與分析241
3.2.2簡易的象棋對弈軟體的實現241
3.3象棋對弈軟體的網路化251
3.3.1象棋對弈軟體中加入通信程式251
3.3.2象棋對弈網路程式設計255
習題3258第4章部落格系統的實現與分析266
4.1一個建設中的部落格系統266
4.1.1系統的導入與調試運行266
4.1.2系統的瀏覽互動界面與使用269
4.1.3管理員登錄相關檔案代碼分析276
4.1.4資料庫操作相關檔案代碼分析290
4.1.5發表日誌相關檔案代碼分析300
4.1.6其他相關檔案代碼分析311
4.2部落格系統功能的進一步完善316
4.2.1發表日誌評論317
4.2.2日誌查看與修改328
4.2.3日誌分類334
4.2.4心情模組設計337
4.2.5管理員模組分析340
習題4343第5章網路購物系統開發353
5.1簡易的圖書網購系統353
5.1.1資料庫表354
5.1.2系統運行356
5.1.3公用類的實現與分析358
5.1.4套用類的實現與分析363
5.1.5JavaBean的實現與分析366
5.1.6JSP主頁面設計368
5.1.7登錄頁面設計372
5.1.8商品頁面設計374
5.1.9購物車相關頁面設計376
5.1.10訂單頁面設計382
5.1.11其他相關檔案388
5.2圖書網購系統的改進391
5.2.1圖書網購系統的註冊功能實現391
5.2.2圖書網購系統的圖書查找功能實現406