Java系統分析與架構設計

《Java系統分析與架構設計》是2023年清華大學出版社出版的圖書,作者是肖海鵬、王榮芝、張天怡、王化宇、周洪翠。

基本介紹

  • 中文名:Java系統分析與架構設計
  • 作者:肖海鵬、王榮芝、張天怡、王化宇、周洪翠
  • 出版社:清華大學出版社
  • 出版時間:2023年1月1日
  • 定價:79 元
  • ISBN:9787302614142
內容簡介,圖書目錄,

內容簡介

《Java系統分析與架構設計》面向軟體工程項目實戰,內容按照軟體項目的生命周期展開,分別為軟體項目需求分析、軟體項目架構設計(開發架構模式為主)、軟體項目模組設計、軟體項目的持久層設計(關係型物理表設計、Redis設計、MongoDB設計)、軟體項目的部署等。
  《Java系統分析與架構設計》共7章,第1章以大型企業項目“中國石油物資採購管理信息系統”為例,詳細講解需求分析技術,如流程圖分解、UML用例圖設計、UML狀態圖設計、概念模型分析等;第2章為“軟體架構設計”,講解架構設計五視圖、Java EE架構模式、微服務架構模式、Dubbo 3架構模式、MOM架構模式等內容,同時結合大型分散式項目“電影院綜合票務管理平台”進行詳細的架構設計示範;第3章為“項目模組設計”,講解UML類圖、UML時序圖設計方法,同時結合項目“新聞系統”與“物流管理系統”進行模組設計的項目實戰示範;第4章為“持久層物理表設計”,講解“三範式與反範式”設計方法,並總結13個真實企業級軟體項目,進行物理表設計示範;第5章為“持久層Redis資料庫設計”,結合“噹噹書城”項目進行Redis項目實戰示範;第6章為“持久層MongoDB資料庫設計”,結合“新浪微博”系統,進行MongoDB項目實戰示範;第7章為“項目部署”,講解了Nginx反向代理、Docker虛擬化部署以及Web伺服器集群、MySQL集群部署、Redis集群部署、MongoDB集群部署。
  《Java系統分析與架構設計》提供大量項目實戰代碼示例,具體程式代碼見本書配套資源,獲取方式見前言。
  《Java系統分析與架構設計》適合作為高等院校計算機、軟體工程專業高年級本科生、研究生的教材,也可供有一定編程經驗的軟體開發人員、廣大科技工作者和研究人員參考使用。

圖書目錄

第1章 軟體需求分析技術 1
1.1 案例:中國石油物資採購管理信息系統軟體需求分析 2
1.1.1 項目概述 2
1.1.2 業務需求概述 7
1.1.3 業務流程分解 11
1.1.4 功能需求描述 16
1.2 業務流程圖的重要性 17
1.2.1 基本流程圖 17
1.2.2 複雜流程分解 19
1.2.3 角色參與流程 19
1.3 UML與軟體需求 20
1.3.1 UML介紹 20
1.3.2 UML用例圖 21
1.3.3 UML狀態圖 24
1.3.4 UML活動圖 27
1.4 軟體需求概念模型 28
1.4.1 實體與屬性 29
1.4.2 實體之間的關係 30
第2章 軟體架構設計 32
2.1 架構設計五視圖 32
2.2 開發架構模式選擇 33
2.3 軟體三層架構 34
2.4 MVC架構 38
2.5 AJAX架構 41
2.6 前後台分離架構 43
2.7 Java EE架構 45
2.7.1 Java EE架構介紹 45
2.7.2 創建EJB項目 47
2.7.3 編寫EJB服務 47
2.7.4 Web站點調用EJB服務 53
2.8 Web服務架構 54
2.8.1 Web服務與RPC 54
2.8.2 創建Web服務 56
2.8.3 編寫Web服務 57
2.8.4 Web站點調用Web服務 58
2.9 微服務架構 59
2.9.1 Spring Cloud Netflix介紹 59
2.9.2 Spring Boot與Spring Cloud 60
2.9.3 註冊伺服器Eureka 61
2.9.4 服務提供者 63
2.9.5 服務消費者 65
2.9.6 微服務異常傳遞 68
2.10 Dubbo架構 70
2.10.1 Dubbo 3介紹 71
2.10.2 Dubbo 3新特性 73
2.10.3 Dubbo註冊中心 76
2.10.4 Dubbo服務提供者 78
2.10.5 Dubbo服務消費者 80
2.10.6 Dubbo互動協定 83
2.11 MOM架構 85
2.11.1 JMS與MOM 86
2.11.2 ActiveMQ伺服器搭建 87
2.11.3 傳送點對點訊息 88
2.11.4 主動接收點對點訊息 90
2.11.5 監聽接收點對點訊息 91
2.11.6 傳送主題訊息 93
2.11.7 主動接收主題訊息 93
2.11.8 監聽接收主題訊息 93
2.11.9 多用戶同時接收點對點訊息 94
2.11.10 多用戶同時接收主題訊息 95
2.11.11 訊息生命期 96
2.11.12 會話與訊息確認模式 96
2.11.13 案例:JTA與MOM實現用戶異步註冊 100
2.12 案例:電影院綜合票務管理平台架構設計 105
2.12.1 票務平台業務需求 105
2.12.2 票務平台行業規範 106
2.12.3 票務平台整體架構設計 109
2.12.4 院線票務系統架構設計 110
2.12.5 網路代售系統架構設計 111
2.12.6 院線票務系統與授權管理平台接口設計 112
2.12.7 院線票務系統與影院管理系統接口設計 115
2.12.8 院線票務系統與網路代售系統接口設計 116
2.12.9 院線票務系統訊息通知設計 122
2.12.10 自動取票接口設計 123
第3章 項目模組設計 124
3.1 UML與邏輯設計 124
3.1.1 UML類圖 124
3.1.2 UML時序圖 130
3.1.3 UML協作圖 131
3.2 新聞系統模組設計 132
3.2.1 新聞系統功能描述 132
3.2.2 新聞系統開發架構 133
3.2.3 新聞系統主頁設計 133
3.2.4 新聞目錄列表頁設計 136
3.2.5 新聞頁設計 139
3.2.6 新聞評論頁設計 141
3.2.7 新聞發布設計 143
3.3 物流管理系統模組設計 145
3.3.1 物流管理系統需求分析 145
3.3.2 物流管理系統模組設計 148
第4章 持久層物理表設計 155
4.1 持久層設計原則 156
4.1.1 三範式原則 156
4.1.2 反範式原則 158
4.1.3 BASE與ACID原則 160
4.1.4 事務隔離級別 162
4.1.5 CAP原則 164
4.1.6 記憶體一致性 165
4.2 PowerDesigner與物理模型 165
4.2.1 PowerDesigner功能介紹 166
4.2.2 PowerDesigner概念數據建模 167
4.2.3 PowerDesigner邏輯數據建模 167
4.2.4 PowerDesigner物理數據建模 168
4.3 案例:ERP系統員工與用戶表設計 169
4.3.1 項目功能需求 169
4.3.2 物理表設計 170
4.4 案例:業務系統許可權表設計 171
4.4.1 簡單業務系統的許可權表設計 171
4.4.2 中型業務系統的許可權表設計 172
4.4.3 Spring Security許可權設計 177
4.4.4 大型業務系統的許可權設計 181
4.5 案例:學校設備管理系統表設計 184
4.5.1 項目功能需求 184
4.5.2 物理表設計 184
4.5.3 項目核心代碼參考 185
4.6 案例:企業會議室預訂系統表設計 187
4.6.1 項目功能需求 187
4.6.2 物理表設計 188
4.6.3 項目核心代碼參考 190
4.7 案例:網上訂餐系統表設計 192
4.7.1 項目功能需求 192
4.7.2 物理表設計 192
4.8 案例:噹噹書城系統表設計 195
4.8.1 項目功能需求 195
4.8.2 物理表設計 195
4.8.3 項目核心代碼參考 198
4.9 案例:戶外旅遊網系統表設計 201
4.9.1 項目功能需求 201
4.9.2 物理表設計 203
4.9.3 項目核心代碼參考 206
4.10 案例:新聞系統表設計 208
4.10.1 項目功能需求 208
4.10.2 物理表設計 208
4.10.3 項目核心代碼參考 210
4.11 案例:物流管理系統表設計 210
4.11.1 項目功能需求 210
4.11.2 物理表設計 210
4.12 案例:學生線上考試系統表設計 212
4.12.1 項目需求用例分析 212
4.12.2 項目需求流程分解 213
4.12.3 項目總體設計 214
4.12.4 項目物理表設計 219
4.13 案例:影院管理系統表設計 221
4.13.1 項目需求與設計 221
4.13.2 物理表設計 223
4.13.3 項目核心代碼 224
4.14 案例:分散式連鎖酒店管理系統表設計 226
4.14.1 項目需求與設計 227
4.14.2 物理表設計 230
4.14.3 項目核心代碼 233
4.15 案例:中國石油物資採購管理信息系統表設計 237
4.15.1 項目功能需求與設計 237
4.15.2 物理表設計 240
4.15.3 項目核心代碼 244
第5章 持久層Redis資料庫設計 247
5.1 Redis功能介紹 247
5.2 Redis套用場景 248
5.3 Redis下載與安裝 248
5.4 案例:噹噹書城Redis實戰 250
5.4.1 Jedis連線Redis伺服器 250
5.4.2 圖書快取和排序 251
5.4.3 統計圖書訪問次數 253
5.4.4 圖書評論 255
5.4.5 圖書評論點讚 257
5.5 Spring整合Redis管理HTTP Session 258
第6章 持久層MongoDB資料庫設計 261
6.1 集合與文檔 261
6.2 MongoDB套用場景 262
6.3 MongoDB下載與安裝 264
6.4 系統資料庫與用戶庫 266
6.5 許可權管理 267
6.6 文檔的CRUD操作 269
6.7 內嵌文檔 270
6.8 索引 272
6.9 查詢分析 274
6.10 案例:新浪微博MongoDB實戰 276
6.10.1 微博項目分析 276
6.10.2 Java連線MongoDB 278
6.10.3 微博項目代碼實現 279
第7章 項目部署 286
7.1 中型項目部署架構 286
7.2 Nginx 287
7.2.1 Nginx介紹 287
7.2.2 Nginx下載與安裝 288
7.2.3 Nginx檔案伺服器配置 289
7.2.4 Nginx反向代理伺服器配置 291
7.3 Docker虛擬化 293
7.3.1 Docker容器與鏡像 293
7.3.2 Docker下載與安裝 294
7.3.3 Docker常用命令 296
7.3.4 Docker搭建Tomcat集群 299
7.3.5 項目部署到Tomcat集群 301
7.3.6 Nginx路由Tomcat集群 302
7.4 MySQL集群部署 302
7.4.1 Master Slave Replication 303
7.4.2 MHA Cluster 304
7.4.3 Galera Cluster(PXC) 305
7.4.4 MGR Cluster 307
7.4.5 NDB Cluster 308
7.5 Redis集群部署 309
7.5.1 Master Slave Replication 309
7.5.2 哨兵模式 309
7.5.3 Redis Cluster 310
7.6 MongoDB集群部署 312
7.6.1 主從集群 312
7.6.2 副本集 312
7.6.3 分片集群 314
IV
V

相關詞條

熱門詞條

聯絡我們