軟件工程(原書第10版)

軟件工程(原書第10版) pdf epub mobi txt 電子書 下載 2025

[英] 伊恩·薩默維爾(Ian Sommerville) 著,彭鑫,趙文耘 等 譯
圖書標籤:
  • 軟件工程
  • 軟件開發
  • 編程
  • 計算機科學
  • 軟件質量
  • 需求分析
  • 係統設計
  • 測試
  • 項目管理
  • 軟件維護
想要找書就要到 靜流書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
齣版社: 機械工業齣版社
ISBN:9787111589105
版次:1
商品編碼:12311942
品牌:機工齣版
包裝:平裝
叢書名: 計算機科學叢書
開本:16開
齣版時間:2018-02-01
用紙:膠版紙
頁數:515
正文語種:中文

具體描述

內容簡介

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

作者簡介

  伊恩·薩默維爾(Ian Sommerville),英國著名軟件工程專傢,曾任聖安德魯斯大學軟件工程係教授。2014年退休。他在軟件工程的教學和科研方麵有40多年的經驗。研究領域包括需求工程、大規模復雜係統和係統可靠性等。他撰寫的軟件工程教材暢銷全球。銷量超過75萬冊。

內頁插圖

目錄

齣版者的話
譯者序
前言

第一部分 軟件工程導論
第1章 概述
1.1 專業化軟件開發
1.1.1 軟件工程
1.1.2 軟件工程的多樣性
1.1.3 互聯網軟件工程
1.2 軟件工程職業道德
1.3 案例研究
1.3.1 胰島素泵控製係統
1.3.2 心理健康治療病人信息係統
1.3.3 野外氣象站
1.3.4 學校數字化學習環境
要點
閱讀推薦
網站
練習
參考文獻
第2章 軟件過程
2.1 軟件過程模型
2.1.1 瀑布模型
2.1.2 增量式開發
2.1.3 集成與配置
2.2 過程活動
2.2.1 軟件規格說明
2.2.2 軟件設計和實現
2.2.3 軟件確認
2.2.4 軟件演化
2.3 應對變化
2.3.1 原型
2.3.2 增量式交付
2.4 過程改進
要點
閱讀推薦
網站
練習
參考文獻
第3章 敏捷軟件開發
3.1 敏捷方法
3.2 敏捷開發技術
3.2.1 用戶故事
3.2.2 重構
3.2.3 測試先行的開發
3.2.4 結對編程
3.3 敏捷項目管理
3.4 敏捷方法的伸縮
3.4.1 敏捷方法的實踐問題
3.4.2 敏捷和計劃驅動的方法
3.4.3 麵嚮大型係統的敏捷方法
3.4.4 麵嚮整個組織的敏捷方法
要點
閱讀推薦
網站
練習
參考文獻
第4章 需求工程
4.1 功能性需求和非功能性需求
4.1.1 功能性需求
4.1.2 非功能性需求
4.2 需求工程過程
4.3 需求抽取
4.3.1 需求抽取技術
……
第5章 係統建模
第6章 體係結構設計
第7章 設計和實現
第8章 軟件測試
第9章 軟件演化

第二部分 係統可依賴性和信息安全
第10章 可依賴係統
第11章 可靠性工程
第12章 安全工程
第13章 信息安全工程
第14章 韌性工程

第三部分 高級軟件工程
第15章 軟件復用
第16章 基於構件的軟件工具
第17章 分布式軟件工程
第18章 麵嚮服務的軟件工程
第19章 係統工程
第20章 係統之係統
第21章 實時軟件工程

第四部分 軟件管理
第22章 項目管理
第23章 項目計劃
第24章 質量管理
第25章 配置管理
術語錶

前言/序言

  軟件工程在過去50年之中取得瞭令人矚目的進展。我們的社會已經無法在缺少大型專業化軟件係統的情況下正常運轉瞭。國傢的公用事業和基礎設施(如能源、通信、交通)全都依賴於復雜且可靠的計算機係統。軟件使得我們可以探索空間,創造萬維網這一人類曆史上最重要的信息係統。智能手機和平闆電腦無處不在,而為這些設備開發軟件的整個“應用開發産業”已經在過去幾年中悄然形成。
  人類現在正麵臨著一係列迫切的挑戰——氣候變化和極端天氣、自然資源的減少、需要為更多的人口提供食物和住房、國際恐怖主義的威脅,以及為老年人提供令人滿意的生活。我們需要新技術來幫助我們應對這些挑戰,可以肯定的是軟件將在這些技術中扮演核心角色。因此,軟件工程對於我們在這個星球上的未來極其重要。我們必須繼續培養軟件工程師並推動軟件工程學科的持續發展,從而滿足開發更多的軟件係統以及創造我們所需要的越來越復雜的未來係統的需要。
  當然,軟件項目還存在很多問題。係統仍然有時會延遲交付並且成本超支。我們正在創造越來越復雜的軟件係統之係統(software systems of systems),在這條道路上遇到各種睏難也是不足為奇的。然而,我們不應該讓這些問題掩蓋軟件工程領域已經取得的巨大成就,以及所形成的各種令人印象深刻的軟件工程方法和技術。
  本書的不同版本已經有超過30年的曆史,而這一版同樣遵循瞭本書第1版中所建立的基本原則:
  1.按照工業界實踐介紹軟件工程,不對任何特定的方法(例如敏捷開發、形式化方法)持傾嚮性態度。在現實中,工業界往往將各種技術(例如敏捷以及基於計劃的開發)混閤在一起使用,這一點也在本書中有所反映。
  2.根據我所知道的以及所理解的知識介紹軟件工程。很多人建議我增加並詳細介紹其他相關話題,例如開源軟件開發、UML的使用以及移動軟件工程等,但是我對這些領域的瞭解並不多,我個人的工作主要是在係統可靠性和係統工程方麵,這一點在我為本書所選擇的高級專題中有所反映。
  我認為現代軟件工程的關鍵問題是管理復雜性,將敏捷和其他方法結閤起來,並確保我們的係統安全以及有韌性。這些問題是我在這一版中修改和新增內容的主要因素。
《現代軟件開發實踐指南》 本書是一部麵嚮軟件從業者的綜閤性指南,旨在幫助讀者掌握當前最前沿的軟件開發理念、方法和技術。我們將深入探討軟件生命周期的各個階段,從需求分析到部署與維護,為讀者提供一套係統性的解決方案,以應對日益復雜的軟件開發挑戰。 核心內容概覽: 1. 需求工程與分析: 用戶故事與場景驅動開發: 學習如何從用戶視角齣發,編寫清晰、可執行的用戶故事,並通過場景分析來深入理解用戶需求,確保開發的軟件能夠真正解決用戶痛點。 建模技術: 掌握用例圖、活動圖、狀態圖等UML建模工具,將抽象的需求轉化為直觀的視覺模型, facilitating clear communication between stakeholders and the development team. 原型化與驗證: 探討不同類型的原型(拋棄式、演化式)及其在需求驗證中的作用,以及如何通過用戶反饋迭代優化産品方嚮。 2. 軟件設計與架構: 設計原則與模式: 深入剖析SOLID原則、KISS、DRY等核心設計原則,以及常見的設計模式(工廠模式、單例模式、觀察者模式等)在實際項目中的應用,提升代碼的可維護性、可擴展性和可重用性。 架構風格與模式: 介紹微服務架構、事件驅動架構、分層架構等主流架構風格,分析其優缺點及適用場景,幫助讀者構建健壯、可伸縮的係統。 領域驅動設計(DDD): 學習如何圍繞業務領域來組織軟件設計,建立統一的領域語言,實現業務與技術的深度融閤,應對復雜業務邏輯。 API設計與管理: 掌握RESTful API、GraphQL等現代API設計原則,以及API版本控製、文檔生成等實踐,確保係統間高效、安全的交互。 3. 敏捷開發方法論: Scrum與Kanban: 全麵解讀Scrum的框架、角色、事件與工件,以及Kanban的流程與實踐,指導讀者如何在實際項目中落地敏捷開發,實現快速迭代與持續交付。 DevOps文化與實踐: 強調開發與運維的協作,探討持續集成(CI)、持續交付(CD)、自動化測試、基礎設施即代碼(IaC)等關鍵實踐,構建高效、可靠的軟件交付流水綫。 精益思想在軟件開發中的應用: 學習如何消除開發過程中的浪費,持續優化價值流,以最小的成本創造最大的用戶價值。 4. 軟件實現與測試: 現代編程範式: 探討函數式編程、麵嚮對象編程、聲明式編程等不同編程範式的特點,引導讀者根據項目需求選擇最適閤的範式。 單元測試、集成測試與端到端測試: 詳細介紹各種測試方法的目的、策略與實現,強調自動化測試在保障軟件質量中的核心地位。 代碼審查與靜態分析: 闡述代碼審查的流程與最佳實踐,以及利用靜態代碼分析工具(如SonarQube)來發現潛在的代碼缺陷與安全漏洞。 重構技術: 學習如何安全有效地對現有代碼進行改進,提升代碼質量,而不改變其外部行為。 5. 軟件質量保障與部署: 性能測試與調優: 學習如何識彆性能瓶頸,進行負載測試、壓力測試,並掌握相應的調優策略。 安全開發實踐: 強調安全是軟件開發生命周期中不可或缺的一部分,介紹常見的安全威脅(如OWASP Top 10)及其防護措施,以及安全編碼指南。 容器化與雲原生: 介紹Docker、Kubernetes等容器化技術,以及微服務在雲環境中的部署與管理,實現應用的彈性伸縮與高可用。 監控與日誌: 學習如何建立有效的係統監控與日誌收集機製,及時發現並定位生産環境中的問題。 6. 項目管理與團隊協作: 風險管理: 識彆、評估和應對軟件開發過程中的潛在風險,確保項目按時、按質完成。 溝通與協作: 強調團隊成員之間以及與客戶之間的有效溝通,構建協作共贏的工作環境。 度量與改進: 學習如何收集和分析項目度量指標,用於評估項目進展、識彆改進機會,並持續優化開發流程。 本書特色: 實踐導嚮: 強調理論與實踐的結閤,通過豐富的案例分析和代碼示例,幫助讀者將所學知識轉化為實際技能。 前沿性: 涵蓋當前軟件開發領域最熱門的技術和方法,如微服務、DevOps、容器化等。 係統性: 提供一個完整的軟件開發知識體係,從宏觀到微觀,層層深入。 可讀性強: 語言清晰易懂,結構邏輯嚴謹,適閤不同背景的軟件從業者閱讀。 無論您是初入軟件開發的工程師,還是經驗豐富的架構師,亦或是項目經理,本書都將是您提升專業技能、擁抱軟件工程新範式的寶貴參考。通過本書的學習,您將能夠更自信地應對復雜項目,構建高質量、可維護、可擴展的軟件係統,並在快速變化的行業中保持競爭力。

用戶評價

評分

這本書給我最大的感受是,軟件工程並非一門刻闆的理論學科,而是一門充滿實踐智慧的工程藝術。它不僅僅是關於代碼如何編寫,更是關於如何有效地組織團隊、管理流程、應對變化。書中對需求工程的詳盡闡述,讓我明白,準確理解用戶需求是成功的基礎。而對軟件設計的深入剖析,則為我們提供瞭構建高質量係統的工具箱。我尤其喜歡書中關於“軟件質量”的多維度定義,它不僅僅是功能的正確性,更包含瞭性能、安全性、易用性、可維護性等方方麵麵。通過閱讀這本書,我對軟件開發的認識,從簡單的“寫代碼”提升到瞭“構建成功的軟件産品”的層麵,這是一種非常寶貴的認知升級。

評分

從我個人的角度來看,這本書在結構上的編排堪稱一絕。它遵循瞭一條清晰且邏輯嚴密的脈絡,從軟件開發的基礎概念,逐步深入到更復雜的實踐和理論。開篇部分對於軟件開發的基本原則和模型進行瞭紮實的介紹,為後續的學習打下瞭堅實的基礎。隨後,它詳細闡述瞭需求工程、係統設計、編碼實踐、測試與質量保證等各個階段的關鍵活動和技術。我尤其贊賞的是,書中沒有將各個階段割裂開來,而是強調瞭它們之間的相互聯係和迭代關係。例如,在講解需求分析時,它會提及設計階段如何驗證需求的完整性和可行性,而在討論編碼時,也會迴顧需求和設計的要求。這種全局觀的視角,對於理解軟件開發的係統性至關重要。書中還加入瞭許多關於軟件過程改進、項目管理和團隊協作的內容,這使得這本書的內容遠不止於技術本身,更包含瞭軟件工程作為一門學科所必須關注的組織和人本因素。這本書的語言風格也十分嚴謹,既不失學術的深度,也不缺乏實踐的可操作性。

評分

這本書就像一位經驗豐富的建築師,為軟件開發這棟宏偉的建築,提供瞭最堅實的設計藍圖和施工指南。它不僅僅關注軟件的“構建”,更深入到“設計”和“規劃”的層麵。在需求的理解和定義上,它強調瞭清晰、完整、可驗證的重要性。在軟件架構的設計上,它提供瞭多種原則和模式,引導我們如何構建靈活、可擴展、可維護的係統。我尤其贊賞書中關於“權衡”的討論,無論是技術選擇、資源分配,還是風險應對,都充滿瞭工程學的智慧,教會我們在復雜環境中做齣明智的決策。書中對軟件測試的深入講解,也讓我認識到,測試並非是開發完成後的附加項,而是貫穿整個開發生命周期的關鍵環節。它不僅是找齣 Bug,更是驗證需求、提升質量的有力保障。這本書的價值在於,它能夠幫助開發者從“編碼匠”升級為“係統工程師”,從“解決眼前問題”提升到“構建可持續的軟件資産”。

評分

這本書給我最大的啓發,在於它讓我重新審視瞭“工程”這個詞在軟件開發中的真正含義。很多時候,我們可能會把編程看作是一種創造性的活動,但這本書清晰地展現瞭軟件開發作為一門工程學科的嚴謹性和係統性。它詳細講解瞭軟件開發的生命周期,以及在每個階段需要遵循的規範和流程。從需求獲取的藝術,到架構設計的哲學,再到編碼實現的精度,以及測試驗證的嚴苛,每一個環節都被賦予瞭工程學的嚴謹性。書中對於風險管理的論述,讓我深刻認識到,在軟件開發過程中,預見和規避風險是多麼重要。它不僅僅是技術問題,更是管理和策略問題。我特彆喜歡書中對軟件質量的定義,它不僅僅是代碼的 Bug 數量,更包含瞭係統的性能、安全性、可維護性等多個維度。讀完這本書,我感覺自己對軟件開發的理解,從“寫齣能跑的代碼”提升到瞭“構建健壯、可維護、可擴展的軟件係統”的層麵。這是一種質的飛躍。

評分

這本書簡直是軟件工程領域的百科全書,即便我已經從業多年,初次翻閱依然被其內容的深度和廣度所震撼。它不像某些技術書籍那樣,隻停留在概念的介紹,而是深入到每一個環節的細節。從需求分析的各種模型和方法,到設計模式的精妙運用,再到測試策略的多樣性,書中都給予瞭詳盡的闡述。我尤其欣賞的是它對敏捷開發和DevOps的討論,這不僅僅是理論上的介紹,還包含瞭很多實際的案例分析,讓我能清晰地看到這些現代開發模式如何在實際項目中落地生根,解決痛點。書中關於項目管理的部分,也並非簡單的甘特圖和WBS羅列,而是深入探討瞭風險管理、溝通協調、團隊建設等軟技能的重要性,這對於很多初入職場的開發者來說,是至關重要的補充。甚至在軟件維護和演進方麵,也給齣瞭前瞻性的指導,強調瞭代碼質量、可維護性和可擴展性的長期價值。總而言之,這本書提供瞭一個係統而全麵的視角,幫助讀者理解軟件工程的整個生命周期,以及在這個過程中可能遇到的各種挑戰和解決方案。它就像一位經驗豐富的導師,循循善誘,讓你對軟件工程這門藝術與科學有瞭更深刻的認識。

評分

這本《軟件工程(原書第10版)》不僅僅是一本教科書,更像是一份寶貴的經驗集錦。它將復雜的軟件工程理論,通過生動的案例和清晰的邏輯,展現在讀者麵前。我特彆喜歡書中對“軟件危機”的探討,以及如何通過科學的工程方法來應對。從需求工程的嚴謹性,到設計模式的巧妙運用,再到測試策略的多樣性,每一個環節都充滿瞭智慧。書中對敏捷開發和DevOps的深入分析,也讓我看到瞭軟件開發未來的趨勢。它不僅僅是技術的更新,更是一種協作和溝通的文化。我還會經常迴顧書中關於“軟件演進”和“維護”的部分,這部分內容對於延長軟件的生命周期,降低維護成本,具有極其重要的指導意義。它讓我明白,軟件工程不僅僅是“如何開始”,更是“如何持續”。

評分

對我而言,這本書最吸引我的地方在於它對軟件開發中的“係統性”的強調。它不像一些零散的技術文章,這本書從軟件的産生、發展到消亡,提供瞭一個完整的生命周期視圖。從最初的“為什麼要做”的需求分析,到“如何做”的設計和編碼,再到“做的好不好”的測試和質量保證,以及最後的“如何讓它活得更久”的維護和演進,環環相扣,邏輯嚴密。我特彆欣賞書中關於“度量”和“改進”的章節,它教我們如何用數據說話,如何識彆瓶頸,如何持續優化開發流程。這讓我意識到,軟件工程是一門不斷學習和進化的科學。書中對不同規模和類型的項目,都給齣瞭相應的工程方法論指導,這使得它具有很強的普適性。

評分

不得不說,這本書的內容之豐富,足以讓任何一個軟件工程師受益匪淺。它涵蓋瞭從軟件開發的宏觀概念到微觀技術的方方麵麵。在需求工程方麵,書中介紹瞭多種需求獲取和建模技術,並結閤實際案例說明瞭它們的應用。在軟件設計方麵,它深入探討瞭各種設計原則、設計模式和架構風格,並提供瞭如何選擇和應用這些技術的指導。我特彆欣賞的是,書中對軟件測試和質量保證的論述,它詳細介紹瞭單元測試、集成測試、係統測試、驗收測試等不同層級的測試方法,以及如何進行缺陷管理和過程度量。此外,書中還涵蓋瞭軟件項目管理、團隊協作、配置管理、軟件維護等重要主題,為讀者提供瞭一個全麵的軟件工程知識體係。這本書的案例分析也非常精彩,通過對真實項目中的成功與失敗經驗的總結,讓讀者能夠更深刻地理解軟件工程的實踐意義。

評分

我一直認為,真正好的技術書籍,應該能夠激發讀者的思考,而不是僅僅傳授知識。這本《軟件工程(原書第10版)》恰恰做到瞭這一點。書中大量的案例研究,並非生搬硬套,而是通過對真實世界問題的剖析,引導讀者去思考“為什麼”和“如何做”。例如,在討論不同架構風格的優劣時,它沒有簡單地列齣它們的特點,而是通過比較不同場景下采用不同架構所帶來的後果,讓你深刻理解架構選擇的權衡和取捨。我也非常喜歡書中關於度量和指標的部分,它教會我們如何量化軟件開發的各個方麵,從而更好地識彆問題、改進流程。尤其是在談到軟件質量時,書中不僅僅是強調瞭代碼層麵的檢查,更延伸到瞭用戶體驗、係統可靠性和安全性等方麵,展現瞭一個 holistic 的質量觀。對於一些模糊的概念,比如“可維護性”,書中也給齣瞭具體的衡量標準和實現途徑,這對於實際工作中如何落地執行非常有指導意義。我還會經常翻閱書中的一些流程圖和錶格,它們簡潔明瞭地梳理瞭復雜的概念,幫助我快速迴顧和理解。這絕對是一本值得反復閱讀、從中汲取智慧的經典之作。

評分

在我看來,這本書最大的價值在於它提供瞭一個係統性的框架,幫助讀者理解軟件開發的整個過程。它不僅僅是技術的堆砌,更是一種思維方式的引導。從項目啓動到軟件交付,再到後期的維護,每一個環節都得到瞭詳盡的闡述。書中對於不同開發模型的介紹,比如瀑布模型、迭代模型、敏捷模型等,都進行瞭深入的分析,並闡述瞭它們各自的優缺點和適用場景。這讓我能夠根據不同的項目需求,選擇最閤適的開發模型。我尤其喜歡書中關於軟件度量和過程改進的內容,它強調瞭通過數據來驅動決策,從而不斷優化開發過程。例如,書中對代碼復雜度、缺陷密度、開發效率等指標的討論,為我們提供瞭量化軟件開發質量和效率的工具。這本書的語言風格也非常易於理解,即使是對於初學者,也能在閱讀過程中逐步建立起對軟件工程的全麵認識。

相關圖書

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

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