预购商品
书目分类
特别推荐
本書由國際知名的軟體工程專家伊恩·薩默維爾撰寫,系統地介紹了軟體產品工程化的基本思想、原理和方法。與同類書籍不同的是,本書重點關注與軟體產品相關的工程化過程和技術,而不是傳統的以過程為基礎的項目驅動型軟體工程技術。 本書的核心內容包括軟體產品、軟體架構、敏捷軟體工程、人物角色、場景、用戶故事、基於雲的軟體、微服務架構、安全和隱私以及DevOps等。建議讀者具有一定的Java或Python等物件導向語言的程式設計經驗,在學習過程中注重從產品工程化的視角來理解軟體工程技術,從而為開發高品質、高安全性、高可靠性的軟體產品打好基礎。
Engineering Software Products: An Introduction to Modern Software Engineering 出版者的話 譯者序 前言 第1章 軟體產品 1 1.1 產品願景 6 1.2 軟體產品管理 9 1.2.1 產品願景管理 11 1.2.2 產品路線圖管理 11 1.2.3 用戶故事和場景開發 11 1.2.4 產品待定項管理 12 1.2.5 接受度測試 12 1.2.6 客戶測試 12 1.2.7 使用者介面設計 12 1.3 產品原型設計 13 要點 14 推薦閱讀 15 習題 16 第2章 敏捷軟體工程 17 2.1 敏捷方法 17 2.2 極限程式設計 20 2.3 Scrum爭球模型 22 2.3.1 產品待定項 27 2.3.2 限時衝刺 30 2.3.3 自組織團隊 35 要點 39 推薦閱讀 39 習題 40 第3章 特徵、場景和使用者故事 42 3.1 人物角色 46 3.2 場景 50 3.3 用戶故事 55 3.4 特徵識別 59 3.4.1 特徵推導 62 3.4.2 特徵清單 64 要點 67 推薦閱讀 67 習題 68 第4章 軟體架構 69 4.1 為什麼架構很重要 71 4.2 架構設計 74 4.3 系統分解 77 4.4 分佈架構 86 4.5 技術議題 91 4.5.1 資料庫 92 4.5.2 傳播平臺 93 4.5.3 伺服器 93 4.5.4 開源 94 4.5.5 開發技術 95 要點 95 推薦閱讀 96 習題 97 第5章 基於雲的軟體 98 5.1 虛擬化和容器 100 5.2 一切即服務 104 5.3 軟體即服務 107 5.4 多租戶系統和多實例系統 111 5.4.1 多租戶系統 111 5.4.2 多實例系統 116 5.5 雲軟體架構 118 5.5.1 資料庫組織 118 5.5.2 可擴展性和可恢復性 120 5.5.3 軟體結構 121 5.5.4 雲平臺 122 要點 124 推薦閱讀 125 習題 126 第6章 微服務架構 127 6.1 微服務 130 6.2 微服務架構 133 6.2.1 架構設計決策 135 6.2.2 服務通信 136 6.2.3 資料分發與共用 139 6.2.4 服務協調 142 6.2.5 故障管理 144 6.3 RESTful服務 147 6.4 服務部署 151 要點 154 推薦閱讀 155 習題 156 第7章 安全和隱私 157 7.1 攻擊和防範 159 7.1.1 注入攻擊 160 7.1.2 跨網站腳本攻擊 161 7.1.3 會話劫持攻擊 162 7.1.4 拒絕服務攻擊 163 7.1.5 暴力攻擊 164 7.2 認證 165 7.2.1 聯合身份 167 7.2.2 移動設備認證 169 7.3 授權 170 7.4 加密 172 7.4.1 對稱和非對稱加密 173 7.4.2 TLS和數位簽章 176 7.4.3 資料加密 177 7.4.4 金鑰管理 179 7.5 隱私 181 要點 184 推薦閱讀 184 習題 186 第8章 可信賴程式設計 187 8.1 避免錯誤 189 8.1.1 程式複雜度 190 8.1.2 設計模式 198 8.1.3 重構 202 8.2 輸入驗證 204 8.2.1 規則運算式 206 8.2.2 數字檢查 209 8.3 失效管理 210 要點 216 推薦閱讀 216 習題 217 第9章 測試 219 9.1 功能測試 221 9.1.1 單元測試 223 9.1.2 特徵測試 226 9.1.3 系統和發佈測試 227 9.2 自動化測試 230 9.3 測試驅動開發 238 9.4 安全測試 241 9.5 代碼評審 243 要點 246 推薦閱讀 247 習題 248 第10章 DevOps和代碼管理 250 10.1 代碼管理 253 10.1.1 原始程式碼管理基礎 254 10.1.2 使用Git 259 10.2 DevOps自動化 263 10.2.1 持續集成 264 10.2.2 持續交付和部署 268 10.2.3 基礎設施即代碼 270 10.3 DevOps度量 272 要點 276 推薦閱讀 276 習題 277 索引 279
伊恩·薩默維爾(Ian Sommerville) 英國著名軟體工程專家,曾任聖安德魯斯大學軟體工程系教授。他在軟體工程的教學和科研方面有40多年的工作經驗,研究領域包括需求工程、大規模複雜系統和系統可靠性等。他撰寫的軟體工程教材暢銷全球,銷量超過75萬冊。 譯者簡介: 李必信,東南大學電腦科學與工程學院教授,中國電腦學會軟體工程專委會委員、容錯計算專委會常務委員,江蘇省電腦學會軟體專委會副主任。主要研究方向是軟體發展方法與技術、演算法設計與分析、高級軟體工程、軟體架構建模/分析/測試與驗證、軟體系統演化及軟體品質保證等。
客服公告
热门活动
订阅电子报