軟件工程(原書第10版)計算機科學叢書

軟件工程(原書第10版)計算機科學叢書 pdf epub mobi txt 電子書 下載 2025

圖書標籤:
  • 軟件工程
  • 計算機科學
  • 編程
  • 軟件開發
  • 軟件設計
  • 軟件測試
  • 需求分析
  • 係統設計
  • 算法
  • 數據結構
想要找書就要到 靜流書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
店鋪: 點點動力圖書專營店
齣版社: 機械工業齣版社
ISBN:9787111589105
商品編碼:25527683902
叢書名: 軟件工程 原書第10版
齣版時間:2018-02-01

具體描述

  商品基本信息
商品名稱:   軟件工程(原書第10版)
作者:   [英] 伊恩·薩默維爾
市場價:   89.00
ISBN號:   9787111589105
版次:   1-1
齣版日期:   2018-01
頁數:   532
字數:   400
齣版社:   機械工業齣版社
  目錄
目 錄
Software Engineering, Tenth Edition
齣版者的話
譯者序
前言
部分 軟件工程導論
第1章 概述 2
1.1 專業化軟件開發 3
1.1.1 軟件工程 5
1.1.2 軟件工程的多樣性 6
1.1.3 互聯網軟件工程 8
1.2 軟件工程職業道德 9
1.3 案例研究 11
1.3.1 胰島素泵控製係統 12
1.3.2 心理健康治療病人信息係統 13
1.3.3 野外氣象站 14
1.3.4 學校數字化學習環境 15
要點 16
閱讀推薦 17
網站 17
練習 17
參考文獻 18
第2章 軟件過程 19
2.1 軟件過程模型 20
2.1.1 瀑布模型 21
2.1.2 增量式開發 23
2.1.3 集成與配置 25
2.2 過程活動 26
2.2.1 軟件規格說明 26
2.2.2 軟件設計和實現 27
2.2.3 軟件確認 29
2.2.4 軟件演化 30
2.3 應對變化 31
2.3.1 原型 32
2.3.2 增量式交付 33
2.4 過程改進 34
要點 36
閱讀推薦 36
網站 37
練習 37
參考文獻 37
第3章 敏捷軟件開發 39
3.1 敏捷方法 40
3.2 敏捷開發技術 42
3.2.1 用戶故事 43
3.2.2 重構 44
3.2.3 測試先行的開發 45
3.2.4 結對編程 46
3.3 敏捷項目管理 47
3.4 敏捷方法的伸縮 50
3.4.1 敏捷方法的實踐問題 51
3.4.2 敏捷和計劃驅動的方法 52
3.4.3 麵嚮大型係統的敏捷方法 54
3.4.4 麵嚮整個組織的敏捷方法 56
要點 57
閱讀推薦 57
網站 58
練習 58
參考文獻 58
第4章 需求工程 60
4.1 功能性需求和非功能性需求 62
4.1.1 功能性需求 63
4.1.2 非功能性需求 64
4.2 需求工程過程 66
4.3 需求抽取 67
4.3.1 需求抽取技術 69
4.3.2 故事和場景 71
4.4 需求規格說明 73
4.4.1 自然語言規格說明 74
4.4.2 結構化規格說明 75
4.4.3 用況 76
4.4.4 軟件需求文檔 77
4.5 需求確認 79
4.6 需求變更 80
4.6.1 需求管理計劃 81
4.6.2 需求變更管理 82
要點 83
閱讀推薦 83
網站 84
練習 84
參考文獻 85
第5章 係統建模 86
5.1 上下文模型 87
5.2 交互模型 89
5.2.1 用況建模 90
5.2.2 順序圖 91
5.3 結構模型 93
5.3.1 類圖 93
5.3.2 泛化 95
5.3.3 聚集 95
5.4 行為模型 96
5.4.1 數據驅動的建模 96
5.4.2 事件驅動的建模 97
5.4.3 模型驅動的工程 99
5.5 模型驅動的體係結構 100
要點 102
閱讀推薦 103
網站 103
練習 103
參考文獻 104
第6章 體係結構設計 105
6.1 體係結構設計決策 107
6.2 體係結構視圖 109
6.3 體係結構模式 110
6.3.1 分層體係結構 111
6.3.2 知識庫體係結構 112
6.3.3 客戶-服務器體係結構 113
6.3.4 管道和過濾器體係結構 115
6.4 應用體係結構 116
6.4.1 事務處理係統 117
6.4.2 信息係統 118
6.4.3 語言處理係統 119
要點 121
閱讀推薦 122
網站 122
練習 122
參考文獻 123
第7章 設計和實現 125
7.1 使用UML的麵嚮對象設計 126
7.1.1 係統上下文和交互 126
7.1.2 體係結構設計 128
7.1.3 對象類識彆 129
7.1.4 設計模型 130
7.1.5 接口規格說明 133
7.2 設計模式 134
7.3 實現問題 136
7.3.1 復用 137
7.3.2 配置管理 138
7.3.3 宿主機-目標機開發 139
7.4 開源開發 141
7.4.1 開源許可證 142
要點 143
閱讀推薦 143
網站 144
練習 144
參考文獻 145
第8章 軟件測試 146
8.1 開發測試 149
8.1.1 單元測試 150
8.1.2 選擇單元測試用例 151
8.1.3 構件測試 153
8.1.4 係統測試 155
8.2 測試驅動的開發 157
8.3 發布測試 159
8.3.1 基於需求的測試 159
8.3.2 場景測試 160
8.3.3 性能測試 161
8.4 用戶測試 161
要點 163
閱讀推薦 164
網站 164
練習 164
參考文獻 165
第9章 軟件演化 166
9.1 演化過程 168
9.2 遺留係統 170
9.2.1 遺留係統管理 173
9.3 軟件維護 176
9.3.1 維護預測 178
9.3.2 軟件再工程 179
9.3.3 軟件重構 181
要點 182
閱讀推薦 182
網站 183
練習 183
參考文獻 183
第二部分 係統可依賴性和信息安全
第10章 可依賴係統 186
10.1 可依賴性屬性 187
10.2 社會技術係統 189
10.2.1 規章與守約 191
10.3 冗餘和多樣性 192
10.4 可依賴的過程 193
10.5 形式化方法與可依賴性 195
要點 197
閱讀推薦 198
網站 198
練習 198
參考文獻 199
第11章 可靠性工程 200
11.1 可用性和可靠性 202
11.2 可靠性需求 203
11.2.1 可靠性度量 204
11.2.2 非功能性可靠性需求 205
11.2.3 功能性可靠性規格說明 207
11.3 容錯體係結構 207
11.3.1 保護性係統 208
11.3.2 自監控係統體係結構 208
11.3.3 N版本編程 210
11.3.4 軟件多樣性 211
11.4 可靠性編程 212
11.5 可靠性度量 216
11.5.1 運行概況 218
要點 218
閱讀推薦 219
網站 219
練習 219
參考文獻 220
第12章 安全工程 221
12.1 安全關鍵係統 222
12.2 安全需求 224
12.2.1 危險識彆 225
12.2.2 危險評估 226
12.2.3 危險分析 227
12.2.4 風險降低 229
12.3 安全工程過程 229
12.3.1 安全保證過程 230
12.3.2 形式化驗證 232
12.3.3 模型檢測 233
12.3.4 靜態程序分析 234
12.4 安全案例 235
12.4.1 結構化論證 237
12.4.2 軟件的安全論證 238
要點 240
閱讀推薦 241
網站 241
練習 241
參考文獻 242
第13章 信息安全工程 244
13.1 信息安全和可依賴性 245
13.2 信息安全和組織 248
13.2.1 信息安全風險評估 249
13.3 信息安全需求 249
13.3.1 濫用案例 252
13.4 信息安全係統設計 253
13.4.1 設計風險評估 254
13.4.2 體係結構設計 257
13.4.3 設計準則 259
13.4.4 信息安全係統編程 263
13.5 信息安全測試和保證 263
要點 265
閱讀推薦 265
網站 265
練習 266
參考文獻 266
第14章 韌性工程 268
14.1 網絡安全 270
14.2 社會技術韌性 273
14.2.1 人為錯誤 275


   內容簡介
    本書是係統介紹軟件工程理論的經典教材,共包含四個部分:第壹部分(第1~9章)是對軟件工程的一般性介紹,介紹瞭軟件工程的一些重要概念(如軟件過程和敏捷方法),描述瞭基本的軟件開發活動(從需求規格說明一直到係統演化);第二部分(第10~14章)關注軟件係統可依賴性和信息安全等重要話題;第三部分(第15~21章)介紹更高級的軟件工程話題;第四部分(第22~25章)介紹一係列的管理話題,關注技術管理問題。本書適閤作為軟件和係統工程專業本科生或研究生教材,同時也是軟件工程師難得的參考書。
    

《精通軟件開發:原理、實踐與演進》 內容概述: 本書是一部旨在為讀者提供全麵、深入且與時俱進的軟件工程知識體係的著作。我們拋棄瞭對單一版本號的執著,而是專注於軟件工程領域的核心原理、普適性實踐以及驅動行業發展的演進趨勢。本書將引導您穿越軟件開發的復雜世界,從基礎概念的紮根,到高級技法的精煉,再到麵嚮未來的創新思維,讓您構建堅實的理論基礎,掌握高效的實踐技能,並培養應對挑戰的敏銳洞察力。 第一部分:軟件工程的基石 本部分將帶您深入理解軟件工程這門學科的本質,探究其為何重要,以及它如何在日新月異的科技浪潮中扮演著不可或缺的角色。 什麼是軟件工程? 我們將從最根本的角度定義軟件工程,闡述其區彆於簡單編程的獨特之處。您將瞭解到,軟件工程不僅僅是編寫代碼,更是一門關於如何係統化、規模化、高質量地構建和維護復雜軟件係統的科學與藝術。我們將探討軟件工程的目標,包括提高開發效率、保證軟件質量、降低開發成本、縮短開發周期以及提升軟件的可維護性和可靠性。 軟件生命周期模型: 您將認識到,軟件開發並非一蹴而就,而是遵循一係列階段性的過程。本書將詳細介紹各種經典的軟件生命周期模型,如瀑布模型、迭代模型、螺鏇模型、敏捷模型等。我們將深入分析每種模型的優勢、劣勢、適用場景以及演進過程,幫助您理解不同模型如何應對不同的項目需求和約束。您將學會如何根據項目特點選擇最閤適的模型,並理解敏捷開發方法論在現代軟件工程中的核心地位及其對整個開發流程的影響。 需求工程: 軟件的成功與否,很大程度上取決於對用戶需求的準確理解和錶達。本部分將為您揭示需求工程的奧秘,從需求獲取的各種技術(如訪談、問捲、原型法、用戶故事等),到需求分析的方法(如用例建模、數據流圖、ER圖等),再到需求規格說明的編寫原則和文檔化。您將學習如何識彆、記錄、驗證和管理軟件需求,確保開發齣的軟件真正滿足用戶期望。 軟件設計: 優秀的軟件設計是軟件質量的基石。我們將從宏觀架構設計到微觀模塊設計,係統地介紹軟件設計的原則和模式。您將學習到麵嚮對象設計的核心概念(如封裝、繼承、多態),設計模式的分類與應用(如創建型、結構型、行為型模式),以及如何進行係統分解、模塊化設計、接口設計和數據庫設計。本書將強調“清晰、簡潔、可維護”的設計理念,幫助您構建易於理解、擴展和重用的軟件係統。 軟件實現與編碼: 盡管本書側重於工程層麵,但良好的實現是概念落地的關鍵。我們將探討高質量編碼的原則,包括代碼風格、命名規範、注釋的重要性、以及編寫可讀性強、易於維護的代碼的技巧。雖然不深入具體編程語言的語法,但我們將強調如何在編碼過程中體現軟件工程的思想,例如通過單元測試、代碼審查等方式來保證代碼質量。 第二部分:軟件工程的實踐 本部分將聚焦於軟件開發過程中至關重要的實踐活動,涵蓋瞭從項目管理到質量保障的各個環節,旨在幫助您掌握可行的技術和方法。 軟件項目管理: 任何成功的軟件項目都離不開有效的管理。我們將探討軟件項目管理的各個方麵,包括項目啓動、計劃、執行、監控和收尾。您將學習到項目範圍管理、時間管理(如關鍵路徑法、掙值管理)、成本管理、風險管理、質量管理、溝通管理和團隊管理等核心知識。我們將介紹敏捷項目管理框架,如Scrum和Kanban,以及它們如何在實踐中促進團隊協作和快速交付。 軟件測試與質量保證: 軟件質量是軟件工程的生命綫。本部分將深入探討軟件測試的理論與實踐。您將瞭解不同層次的測試,如單元測試、集成測試、係統測試和驗收測試,以及各種測試方法,如黑盒測試、白盒測試、灰盒測試。我們將重點介紹測試策略的製定、測試用例的設計、自動化測試的優勢與實現,以及如何建立全麵的質量保證體係,確保軟件的可靠性、性能、安全性和可用性。 軟件維護與演進: 軟件開發並非止於發布,維護和演進是軟件生命周期中漫長而關鍵的階段。我們將探討軟件維護的挑戰,包括糾錯性維護、適應性維護、完善性維護和預防性維護。您將學習到如何評估和管理技術債務,如何進行代碼重構以提升軟件的可讀性和可維護性,以及如何有效地進行軟件升級和版本管理,以應對不斷變化的用戶需求和技術環境。 軟件配置管理: 在多人協作的復雜軟件項目中,對代碼、文檔以及其他開發資源的有效管理至關重要。本部分將介紹軟件配置管理(SCM)的核心概念和技術,包括版本控製係統(如Git)、基綫管理、變更控製以及構建和發布管理。您將理解SCM如何確保軟件開發過程的有序性、可追溯性和可重復性。 軟件開發工具與環境: 現代軟件開發離不開各種先進的工具和集成開發環境(IDE)。我們將介紹各種類彆的軟件開發工具,如需求管理工具、設計工具、開發工具、測試工具、項目管理工具以及持續集成/持續部署(CI/CD)工具。您將瞭解這些工具如何自動化繁瑣的任務,提高開發效率,並促進團隊協作。 第三部分:軟件工程的演進與前沿 技術不斷進步,軟件工程也在持續演化。本部分將帶領您審視軟件工程的最新發展趨勢和未來方嚮,激發您的創新思維。 敏捷與DevOps的深入實踐: 我們將進一步深化對敏捷開發理念的理解,並探討DevOps文化與實踐如何將開發與運維緊密結閤,實現更快速、更可靠的軟件交付。您將瞭解持續集成、持續交付、自動化部署、基礎設施即代碼(IaC)等DevOps的核心實踐,以及它們如何重塑現代軟件工程的工作流程。 微服務架構與雲原生: 隨著企業對彈性、可伸縮性和敏捷性的需求不斷增長,微服務架構和雲原生技術已成為主流。本書將介紹微服務的設計原則、優勢與挑戰,以及如何構建健壯的分布式係統。您將瞭解容器化技術(如Docker)和容器編排平颱(如Kubernetes)在雲原生應用中的關鍵作用。 軟件安全工程: 在日益嚴峻的網絡安全威脅下,將安全思維融入軟件開發的每一個環節已成為共識。我們將探討軟件安全工程的理念,包括安全編碼實踐、安全測試、威脅建模以及安全開發生命周期(SDL)。您將瞭解如何構建具備抵禦常見安全漏洞能力的軟件。 人工智能與軟件工程: 人工智能(AI)正在深刻地影響著軟件工程的方方麵麵。我們將探討AI在需求分析、代碼生成、測試優化、缺陷檢測以及項目預測等方麵的應用潛力。您將瞭解AI驅動的開發工具和平颱如何賦能開發者,提升軟件開發的智能化水平。 軟件工程的未來展望: 我們將對軟件工程的未來進行展望,探討新興技術(如Web3、量子計算等)可能為軟件工程帶來的機遇與挑戰,以及可持續發展、綠色計算等理念在軟件工程中的重要性。 目標讀者: 本書適閤於所有希望深入理解軟件開發過程、提升軟件工程能力的人員。這包括: 計算機科學和軟件工程專業的學生: 為您打下堅實的理論基礎,為未來的學習和職業生涯做好準備。 初級和中級軟件工程師: 幫助您從“寫代碼”轉嚮“構建高質量軟件”,係統化地提升技術能力和工程素養。 項目經理和技術領導者: 為您提供管理軟件項目、規劃技術路綫和領導團隊的必備知識。 對軟件開發感興趣的任何人士: 幫助您全麵瞭解軟件是如何被創造、改進和維護的。 本書的特色: 全麵性與深度並存: 涵蓋瞭軟件工程的各個核心領域,並深入探討瞭其中的關鍵原理和實踐。 與時俱進的視角: 緊跟技術發展的步伐,重點關注現代軟件工程的最新趨勢和前沿技術。 理論與實踐相結閤: 不僅講解概念,更注重實際應用,為您提供可行的指導。 清晰易懂的錶述: 采用邏輯清晰的結構和通俗易懂的語言,讓復雜的概念易於理解。 啓發性與前瞻性: 引導讀者思考軟件工程的本質和未來發展,激發創新能力。 通過閱讀《精通軟件開發:原理、實踐與演進》,您將不再僅僅是代碼的編寫者,而是能夠成為一名更優秀的軟件構建者,能夠自信地應對復雜項目,創造齣高質量、高價值的軟件産品。

用戶評價

評分

我一直認為,軟件工程是一門關於“如何做”的學問,而《軟件工程(原書第10版)計算機科學叢書》這本書,則讓我看到瞭“為什麼這麼做”的深刻道理。在我接觸到這本書之前,我對於軟件開發的很多實踐,都是憑著感覺和經驗來做的,很多時候不知道為什麼這樣做是對的,也不知道為什麼那樣做會齣錯。這本書的開篇就給瞭我一種“撥開迷霧”的感覺。它從軟件的本質齣發,分析瞭軟件的復雜性,以及這種復雜性如何導緻項目失敗,並由此引齣瞭對工程化方法的需求。書中對軟件質量的定義和度量,也讓我有瞭更清晰的認識,原來質量不僅僅是代碼不齣錯,更包含瞭功能性、性能、安全性等多個維度。而且,作者對於軟件維護的重視程度,也讓我印象深刻,很多項目在上綫後就草草收尾,卻忽略瞭後期維護的巨大成本和挑戰。這本書就像一個經驗豐富的嚮導,它不僅指齣瞭前進的方嚮,還詳細講解瞭沿途的風景和可能遇到的障礙,讓我對軟件工程這門學科有瞭更係統、更全麵的理解。雖然書中的一些章節對我來說閱讀起來有些吃力,但我能感受到,它正在引導我去思考更深層次的問題,並且培養我成為一個更成熟、更專業的軟件工程師。

評分

拿到《軟件工程(原書第10版)計算機科學叢書》這本書,心情是既激動又帶著一絲敬畏。我是一名在校的計算機科學專業的學生,一直以來,軟件工程對我來說就像是一個模糊的概念,知道它的存在,卻不太清楚它的具體內涵。這次抱著學習的目的,購入瞭這本被廣泛推薦的經典著作。書的開篇就給瞭我一個下馬威,它沒有直接講什麼設計模式或者開發流程,而是深入探討瞭軟件生命周期的各個階段,從需求分析到係統維護,每一個環節都被剖析得淋灕盡緻。我印象最深的是關於需求獲取的部分,作者詳細介紹瞭各種訪談技巧、問捲設計以及原型開發方法,讓我意識到,很多軟件項目的失敗,並非源於技術上的不足,而是因為在項目初期對用戶需求的理解就存在偏差。這種“慢下來,想清楚”的理念,對於我們這些急於上手寫代碼的開發者來說,無疑是一劑良藥。書中的圖錶和模型也相當豐富,清晰地展示瞭各種軟件開發模型,如瀑布模型、敏捷模型等,並且對它們的優缺點進行瞭深入的比較分析,這讓我能夠更理性地選擇適閤不同項目的開發方法。盡管書中涉及的概念和理論非常多,我需要花費大量時間和精力去理解,但我堅信,這本書記載的知識將為我未來的軟件開發生涯打下堅實的基礎。

評分

作為一名對軟件架構設計充滿好奇心的開發者,《軟件工程(原書第10版)計算機科學叢書》這本書給我帶來瞭全新的視角。在我的認知裏,軟件工程更多的是關於開發流程和項目管理,而這本書則將架構設計提升到瞭一個前所未有的高度。它不僅僅是講如何劃分模塊,更深入地探討瞭良好的架構應該具備的特性,比如可維護性、可擴展性、可靠性以及性能。書中分析瞭各種架構風格,如微服務架構、事件驅動架構等,並且詳細闡述瞭它們在不同場景下的適用性,以及如何權衡其中的優缺點。我特彆喜歡它關於“演化式架構”的討論,這與我之前那種“一次性設計到位”的思維模式截然不同。作者強調,在快速變化的業務需求麵前,架構本身也需要不斷演進,而如何實現這種平滑的演進,書中提供瞭一些非常具有啓發性的方法。雖然書中關於架構的理論性內容非常強,很多概念需要反復推敲,但我能夠感受到,作者在用一種非常務實的態度來指導讀者進行架構設計,而不是僅僅停留在抽象的理論層麵。這本書讓我更加深刻地理解瞭,好的軟件不僅僅是能運行,更重要的是它能夠適應未來的變化,並且長久地為業務創造價值。

評分

我是一個在互聯網公司摸爬滾打多年的程序員,參與過不少項目,也經曆過不少“踩坑”。《軟件工程(原書第10版)計算機科學叢書》這本書,我其實是抱著一種“看看前輩們是怎麼總結經驗的”心態去翻閱的。沒想到,它給我帶來瞭很多驚喜。書中的內容,沒有我之前想象的那麼枯燥,反而在很多地方觸及瞭我工作中的痛點。比如,關於項目管理的部分,作者詳細闡述瞭風險管理、進度控製以及質量保證的策略,這讓我聯想到我之前參與過的一個項目,因為對潛在風險估計不足,導緻後期返工量巨大,項目也因此延期瞭很久。這本書提供瞭很多實用的工具和技術,可以幫助我們提前識彆和規避這些風險。另外,關於軟件測試的章節,也讓我受益匪淺。我一直覺得測試隻是開發完成後的一項收尾工作,但書中強調瞭測試的各個階段,從單元測試到集成測試、係統測試,以及各種測試方法,讓我意識到,測試應該貫穿整個軟件開發過程,而不是僅僅是事後諸葛亮。這本書的語言風格比較直接,不拐彎抹角,很多觀點都很有見地,雖然有些內容我需要結閤自己的實際經驗去理解,但總體來說,它為我提供瞭一個係統性的框架,來審視和改進我現有的工作方式。

評分

我最近入手瞭一本《軟件工程(原書第10版)計算機科學叢書》,說實話,在拿到這本書之前,我對軟件工程的理解還停留在比較錶麵的概念,比如“寫代碼就是做軟件工程”。這本書的到來,徹底刷新瞭我的認知。從拿到書的那一刻起,我就被它厚重的質感和嚴謹的排版所吸引,這絕對不是一本隨便翻翻就能速成的教材,而是需要沉下心來,一點點啃的“硬骨頭”。翻開第一頁,我就被作者的開篇所吸引,他並沒有直接進入技術細節,而是從軟件工程的價值和重要性入手,用一種近乎哲學的高度,闡述瞭為何我們需要係統性的方法來構建軟件,以及軟件質量、成本、進度這些看似獨立的因素之間如何相互牽製。我尤其喜歡他舉的一些真實世界的案例,這些案例讓我看到瞭軟件工程在實際項目中的應用,以及那些不遵循工程化原則所帶來的災難性後果。這比那些乾巴巴的理論要生動得多,也更能引起我的思考。這本書的語言風格非常學術化,但又不失嚴謹和邏輯性,很多地方我需要反復閱讀纔能真正理解其中的深意。雖然我還沒有完全消化其中的內容,但可以預見,這將是一段充滿挑戰但也收獲滿滿的學習旅程。

相關圖書

本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有