內容簡介
《軟件工程:實踐者的研究方法(原書第8版 本科教學版)》自第1版齣版至今,30多年來在軟件工程界産生瞭巨大而深遠的影響。第8版繼承瞭之前版本的風格與優勢,係統地講解軟件過程、建模、質量管理、項目管理等基礎知識,涵蓋相關概念、原則、方法和工具,並且提供豐富的輔助閱讀資源和網絡資源,指導有興趣的讀者進行更深入的學習和研究。本書是麵嚮本科生的版本,保留瞭完整版中的基礎內容,壓縮或刪除瞭一些高級內容,更加適閤作為高等院校計算機、軟件工程及相關專業的軟件工程課程教材。
作者簡介
Roger S. Pressman軟件過程改善和軟件工程技術方麵的國際知名人士,目前還擔任R. S. Pressman and Associates 公司總裁。30多年來,他作為軟件工程師、管理人員、教授、作者及谘詢顧問始終工作在軟件工程領域。Pressman博士著有6部著作,並撰寫瞭很多技術文章,是多種行業期刊的固定撰稿人,曾任多個行業雜誌的編委,多年來一直擔任 《IEEE Software》雜誌的Manager專欄的編輯。Pressman博士是知名的演講者,曾在許多行業會議上演講,他還是美國計算機協會 (ACM)、美國電氣與電子工程師協會(IEEE)等組織的成員。
目錄
齣版者的話
改編者序
譯者序
前言
第1章 軟件的本質 1
1.1 軟件的本質 3
1.1.1 定義軟件 3
1.1.2 軟件應用領域 4
1.1.3 遺留軟件 5
1.2 軟件的變更本質 6
1.2.1 WebApp 6
1.2.2 移動App 7
1.2.3 雲計算 7
1.2.4 産品綫軟件 8
習題與思考題 8
擴展閱讀與信息資源 8
第2章 軟件工程 10
2.1 定義軟件工程學科 11
2.2 軟件過程 11
2.2.1 過程框架 12
2.2.2 普適性活動 12
2.2.3 過程的適應性調整 13
2.3 軟件工程實踐 13
2.3.1 實踐的精髓 14
2.3.2 通用原則 14
2.4 軟件開發神話 16
2.5 這一切是如何開始的 18
習題與思考題 19
擴展閱讀與信息資源 19
第一部分 軟件過程
第3章 軟件過程結構 22
3.1 通用過程模型 23
3.2 定義框架活動 24
3.3 明確任務集 24
3.4 過程模式 25
習題與思考題 27
擴展閱讀與信息資源 27
第4章 過程模型 29
4.1 慣用過程模型 30
4.1.1 瀑布模型 30
4.1.2 增量過程模型 32
4.1.3 演化過程模型 32
4.1.4 並發模型 36
4.1.5 演化過程的最終評述 37
4.2 專用過程模型 38
4.2.1 基於構件的開發 38
4.2.2 形式化方法模型 39
4.2.3 麵嚮方麵的軟件開發 39
4.3 統一過程 40
4.3.1 統一過程的簡史 41
4.3.2 統一過程的階段 41
4.4 産品和過程 42
習題與思考題 43
擴展閱讀與信息資源 43
第5章 敏捷開發 45
5.1 什麼是敏捷 46
5.2 敏捷及變更成本 47
5.3 什麼是敏捷過程 47
5.3.1 敏捷原則 48
5.3.2 敏捷開發戰略 49
5.4 極限編程 49
5.4.1 極限編程過程 49
5.4.2 工業極限編程 51
5.5 其他敏捷過程模型 53
5.5.1 Scrum 53
5.5.2 動態係統開發方法 54
5.5.3 敏捷建模 55
5.5.4 敏捷統一過程 56
5.6 敏捷過程工具集 57
習題與思考題 58
擴展閱讀與信息資源 58
第6章 軟件工程的人員方麵 60
6.1 軟件工程師的特質 60
6.2 軟件工程心理學 61
6.3 軟件團隊 62
6.4 團隊結構 63
6.5 敏捷團隊 64
6.5.1 通用敏捷團隊 64
6.5.2 XP團隊 65
6.6 社交媒體的影響 66
6.7 軟件工程中雲的應用 67
6.8 協作工具 67
6.9 全球化團隊 68
習題與思考題 69
擴展閱讀與信息資源 69
第二部分 建模
第7章 理解需求 72
7.1 需求工程 73
7.2 建立根基 78
7.2.1 確認利益相關者 78
7.2.2 識彆多重觀點 78
7.2.3 協同閤作 79
7.2.4 首次提問 79
7.3 獲取需求 80
7.3.1 協作收集需求 80
7.3.2 質量功能部署 82
7.3.3 使用場景 83
7.3.4 獲取工作産品 84
7.3.5 敏捷需求獲取 84
7.3.6 麵嚮服務的方法 84
7.4 開發用例 85
7.5 構建分析模型 88
7.5.1 分析模型的元素 89
7.5.2 分析模式 91
7.5.3 敏捷需求工程 91
7.5.4 自適應係統的需求 91
7.6 避免常見錯誤 92
習題與思考題 92
擴展閱讀與信息資源 93
第8章 需求建模:基於場景的方法 95
8.1 需求分析 96
8.1.1 總體目標和原理 96
8.1.2 分析的經驗原則 97
8.1.3 域分析 97
8.1.4 需求建模的方法 99
8.2 基於場景建模 100
8.2.1 創建初始用例 100
8.2.2 細化初始用例 102
8.2.3 編寫正式用例 103
8.3 補充用例的UML模型 105
8.3.1 開發活動圖 105
8.3.2 泳道圖 106
習題與思考題 107
擴展閱讀與信息資源 107
第9章 需求建模:基於類的方法 108
9.1 識彆分析類 108
9.2 描述屬性 111
9.3 定義操作 111
9.4 類–職責–協作者建模 113
9.5 關聯和依賴 118
9.6 分析包 118
習題與思考題 119
擴展閱讀與信息資源 119
第10章 需求建模:行為和模式 121
10.1 生成行為模型 121
10.2 識彆用例事件 122
10.3 狀態錶達 122
10.4 需求建模的模式 125
10.4.1 發現分析模式 125
10.4.2 需求模式舉例:執行器–傳感器 126
習題與思考題 129
擴展閱讀與信息資源 129
第11章 設計概念 131
11.1 軟件工程中的設計 132
11.2 設計過程 134
11.2.1 軟件質量指導原則和屬性 134
11.2.2 軟件設計的演化 136
11.3 設計概念 137
11.3.1 抽象 137
11.3.2 體係結構 137
11.3.3 模式 138
11.3.4 關注點分離 138
11.3.5 模塊化 138
11.3.6 信息隱蔽 139
11.3.7 功能獨立 139
11.3.8 求精 140
11.3.9 方麵 140
11.3.10 重構 141
11.3.11 麵嚮對象的設計概念 141
11.3.12 設計類 142
前言/序言
前 言Software Engineering: A Practitioner’s Approach, Eighth Edition, Chinese Abridgement 如果有這樣一款計算機軟件,它能滿足用戶的需求,能在相當長的時間內無故障地運行,修改起來輕鬆便捷,使用起來更是得心應手,那麼,這款軟件必定是成功的,它切實改善瞭我們的生活。但是,如果有這樣一款軟件,它令用戶失望,錯誤頻齣,修改起來睏難重重,使用起來更是舉步維艱,那麼,這必定是一款失敗的軟件,它使我們的生活一團糟。誰都希望開發齣優秀的軟件,為我們的生活帶來便利,而不是把自己陷入失敗的深淵。要想使軟件獲得成功,在設計和構建軟件時就需要有規範,需要采用工程化的方法。 自本書第1版問世以來的近35年中,軟件工程已經從少數倡導者提齣的一些朦朧概念發展成為一門正規的工程學科,已被公認為是一個值得深入研究、認真學習和熱烈討論的課題。在整個行業中,軟件工程師已經代替程序員成為人們優先選擇的工作崗位,軟件過程模型、軟件工程方法和軟件工具都已在全行業的所有環節成功采用。 盡管管理人員和一綫專業人員都承認需要有更為規範的軟件方法,但他們卻始終在爭論應該采用什麼樣的規範。有許多個人和公司至今仍在雜亂無章地開發著自己的軟件,甚至即使他們正在開發的係統要服務於當今最為先進的技術,狀況也仍是如此。許多專業人員和學生並不瞭解現代方法,這導緻他們所開發的軟件質量很差,因而造成瞭嚴重的後果。此外,有關軟件工程方法真實本質的爭論一直持續進行著。軟件工程的地位問題已成為一門對比研究課題。人們對軟件工程的態度已經有所改善,研究工作已取得瞭進展,不過要成為一門完全成熟的學科,我們還有大量的工作要做。 我們希望本書能夠成為引導讀者進入正在走嚮成熟的軟件工程學科的入門讀物,和以前的7個版本一樣,第8版對學生和專業人員同樣具有很強的吸引力。它既是軟件專業人員的工作指南,也是高年級本科生和一年級研究生的綜閤性參考書。 第8版中包含瞭許多新的內容,它絕不隻是前一版的簡單更新。這一版不僅對內容做瞭適當的修改,而且調整瞭全書的結構,以改進教學順序;同時更加強調一些新的和重要的軟件工程過程和軟件工程實踐知識。此外,本書進一步加強瞭“支持係統”,為學生、教師和專業人員提供瞭更為豐富的知識資源。讀者可訪問專門為本書建立的網站(www.mhhe.com/pressman)查閱這些信息。 篇章結構本書共26章,分為四個部分。這種劃分有利於那些無法在一個學期內講完全書內容的教師靈活安排教學。 第一部分“軟件過程”給齣瞭有關軟件過程的各種不同觀點,討論瞭所有重要的過程模型,還涉及慣用過程和敏捷過程在指導思想上的分歧。第二部分“建模”給齣瞭分析方法和設計方法,重點講解麵嚮對象方法和UML建模。第三部分“質量管理”介紹瞭有關質量管理的概念、規程和方法,使得軟件團隊能夠很好地評估軟件質量,實施軟件質量保證規程,並正確地運用有效的測試策略和戰術。第四部分“管理軟件項目”介紹瞭與計劃、管理和控製軟件開發項目的人員有關的問題。 第8版沿用瞭前麵幾個版本的做法,在各章中都提供瞭大量的輔助閱讀信息,包括一個虛擬軟件團隊在工作中遇到睏難時展開的對話,還包括對各章相關知識給齣的補充方法和工具。 緻謝我們要特彆感謝渥太華大學的Tim Lethbridge,他幫助我們開發瞭UML和OCL的案例,以及配閤本書內容的其他案例研究。Colby學院的Dale Skrien開發瞭附錄1的UML教輔資源。他們的幫助和意見都是十分寶貴的。此外也感謝高級軟件工程師Austin Krauss,他提供瞭關於視頻遊戲産業軟件開發的寶貴意見。同時,要對為第8版評審做齣貢獻的幾位教授錶示感謝,他們是佛羅裏達大學的Manuel E. Bermudez、堪薩斯州立大學的Scott DeLoach、密歇根州立大學的Alex Liu和猶他州立大學的Dean Mathias。正是他們的詳盡而真誠的評審意見幫助瞭我們,使得本書更加完善。 特彆感謝十分高興有機會與羅傑閤作,參與本書第8版的撰寫工作。在此期間我的兒子Benjamin推齣瞭他的第一款移動App,我的女兒Katherine開始瞭她的室內設計生涯。我十分高興地看到他們已經長大成人。同時非常感謝妻子Norma,她熱情地支持我,使我能夠將所有空閑時間都投入本書的寫作。 布魯斯R. 馬剋西姆(Bruce R. Maxim)隨著本書各版本的不斷推齣,我的兩個兒子Mathew和Michael也逐漸從小男孩成長為男子漢。他們在生活中的成熟、品格和成功鼓舞著我,沒有什麼比這更讓我自豪瞭。他們現在也已經有瞭自己的孩子——Maya和 Lily,這兩個女孩已經是移動計算時代新智能設備方麵的奇纔。最後要感謝妻子Barbara,她寬容我花費如此多的時間在辦公室工作,並且還鼓勵我繼續寫作本書的下一個版本。 羅傑 S.普萊斯曼(Roger S. Pressman) 改編者序Software Engineering: A Practitioner’s Approach, Eighth Edition, Chinese AbridgementPressman博士的《軟件工程:實踐者的研究方法》(第8版)加入瞭Maxim博士的工作,一如既往是軟件工程領域的經典教材。 此次本科教學版的推齣,主要是為瞭與第7版本科教學版保持一緻,使內容更符閤普通高校本科生的課程大綱,適閤本科學生在一學期內掌握軟件工程最核心的基礎內容,也幫助更多學生更好地接受英文原版教材。 與原版相比,第8版本科教學版的改動內容如下。 我們注意到新版增加瞭移動App和安全工程這兩塊非常重要的內容。然而,考慮到課時限製,我們隻保留瞭安全工程部分,將移動App的內容留給研究生課程。與第7版的改動宗旨相似,我們主要關注公共框架中的基本概念,而將WebApp、移動App、度量及其他高級課題內容留給研究生階段的課程。 本科教學版不包含但適閤研究生階段學習的章節有:完整版第16章(基於模式的設計),第17章(WebApp設計),第18章(移動App設計),第20章(評審技術),第25章(測試WebApp),第26章(測試移動App),第28章(形式化建模與驗證),第36章(維護與再工程),以及關於高級課題的第五部分。完整版第30章(産品度量)也是比較高級的課題,但概要介紹框架性概念的30.1節可保留,此節被移到第21章(軟件質量保證)最後,變為21.10節。 此外,為瞭與第7版本科教學版保持一緻,下列章節中還做瞭少量裁減: 1. 所有與WebApp和移動App相關的章節都被刪除,具體包括:11.5節、14.5節、15.5節、22.5~22.6節、29.4節、32.2.6節、34.5.4 節。 2. 第3、4章:裁減3.5節和4.4~4.5節屬於研究生課程中的高級內容。 3. 第7章:該章隻是引言,其核心內容將在後麵的章節中逐一展開介紹。為減少學生必須閱讀的篇幅,該章被整體刪除。 4. 第8章:裁減8.2.5~8.2.6節、8.6~8.8節屬於研究生課程中的高級內容。 5. 第23章:裁減23.4.4節、23.6.1節、23.6.4節、23.8~23.10節屬於研究生課程中的高級內容。 6. 對於本科課程而言,瞭解關於度量和估算的基本概念就足夠瞭,因此32.4~32.6節以及33.9~33.10節也作為高級內容被裁減。 經過壓縮,英文完整版900餘頁的篇幅被大幅壓縮到中文版400頁左右。由於我們隻是就知識點做瞭裁減,對於保留部分並未刪減原作的語言和案例,所以不會對寫作風格造成明顯的破壞。鑒於改編者的經驗和學識有限,對於裁減內容的定奪或存在欠妥之處,歡迎廣大讀者批評指正。 陳越2016年11月譯 者 序Software Engineering: A Practitioner’s Approach, Eighth Edition, Chinese Abridgement本書是國際知名軟件工程專傢羅傑 S. 普萊斯曼(Roger S. Pressman)的最新著作。自35年前第1版問世以來,這本書在軟件工程界産生瞭巨大而深遠的影響。其權威性是無可置疑的,在培養軟件工程專業人纔方麵所起的作用也是顯而易見的。在這一版中,新加入的布魯斯(Bruce)作為第二作者參與瞭本書的編寫工作。 我自20世紀80年代中期開始從事高校軟件工程方麵的教學與科研工作,多年來,這本書的各個版本一直是我的重要參考書,它給瞭我許多啓發和幫助,我也曾多次嚮許多業界好友和學生推薦此書。 如今基於計算機的係統已經廣泛而深入地滲透到經濟、國防和人們日常生活的各個領域,特彆是在互聯網的推動下,不僅許多行業得以改進和更新,而且産生瞭一批新的行業,展現瞭全新的業態。我們必須意識到,在計算機不斷嚮社會的深度和廣度層麵發展的過程中,軟件始終處在係統的核心地位,起著中樞和靈魂的作用,而且這種作用正日益突齣。因此,如何為現代化係統配備閤格和優良的軟件也就更加受到人們的廣泛關注。 本書係統地論證瞭軟件工程領域的基本知識和最新研究成果,包括新的概念、原則、技術、方法和工具。同時書中還為讀者提供瞭進一步學習和研究的綫索,包括許多可供利用的網上資料和信息。與第7版相比,本版繼承瞭一些優點,同時也做瞭一些改動、擴充和更新。 本書特點1. 全書內容分為四個部分,共26章,還包括兩個附錄。四個部分的內容分彆為軟件過程、建模、質量管理和管理軟件項目。 2. 本書繼承瞭前一版的特色,突齣瞭軟件質量管理的內容,同時也加強瞭軟件過程部分。此外,增加的內容還包括:軟件工程工作對人員的要求;近年來軟件産業發展中齣現的新課題——軟件係統安全性和移動App。 3. 仍然在各章的開頭給齣“要點瀏覽”(包括概念、人員、重要性、步驟、工作産品和質量保證措施)以及“關鍵概念”(全章內容的關鍵詞)。 4. 仍然在各章的末尾給齣“習題與思考題”以及“擴展閱讀與信息資源”,這些都非常適閤有興趣、有需要的讀者沿著所提供的綫索開展進一步的學習和研究。 5. 仍然保留瞭本書曆次版本在各章中為讀者提供的多種形式的輔助閱讀信息,可以說這是本書的一個突齣特點。這些信息從形式上分為兩類:一類是采用通欄形式的說明框,包括要點瀏覽、信息欄、軟件工具和SafeHome對話框等。
……
軟件工程:實踐者的研究方法(原書第8版 本科教學版) epub pdf mobi txt 電子書 下載 2024
軟件工程:實踐者的研究方法(原書第8版 本科教學版) 下載 epub mobi pdf txt 電子書