预购商品
书目分类
特别推荐
本書是軟件工程領域的優質作品,國際上眾多名校採用本書作為教材。本書注重從實踐出發選擇和安排素材,同時在理論上進行全面深入的探討。本書分為3個部分。第一部分解釋為什麼軟件工程知識對實踐者和研究者同樣重要,並討論理解過程模型的必要性,利用敏捷方法的必要性,以及精細地進行項目計畫的必要性;第二部分論述軟件開發和維護的主要步驟;第三部分講述如何對軟件進行評估和改進。本書適合作為計算機相關專業軟件工程課程的本科教材,也適用於介紹軟件工程的概念與實踐的研究生課程。本書還適合期望進一步學習該領域相關知識的專業人員閱讀。
1 Why Software Engineering? / 軟件工程概述 1 1.1 What Is Software Engineering? / 什麼是軟件工程? 2 Solving Problems / 問題求解 2 Where Does the Software Engineer Fit In? / 軟件工程師的角色是什麼? 4 1.2 How Successful Have We Been? / 軟件工程取得了哪些進展? 5 1.3 What Is Good Software? / 什麼是好的軟件? 9 The Quality of the Product / 產品的品質 10 The Quality of the Process / 過程的品質 11 Quality in the Context of the Business Environment / 商業環境背景下的品質 12 1.4 Who Does Software Engineering? / 軟件工程涉及哪些人員? 14 1.5 A Systems Approach / 系統的方法 16 The Elements of a System / 系統的要素 16 Interrelated Systems / 相互聯繫的系統 18 1.6 An Engineering Approach / 工程的方法 21 Building a House / 蓋房子 21 Building a System / 構建系統 23 1.7 Members of the Development Team / 開發團隊的成員 25 1.8 How Has Software Engineering Changed? / 軟件工程發生了多大的變化? 27 The Nature of the Change / 變化的本質 28 Wasserman’s Discipline of Software Engineering / 軟件工程的 Wasserman 規範 30 1.9 Information Systems Example / 信息系統的例子 35 1.10 Real-Time Example / 即時系統的例子 37 1.11 What This Chapter Means for You / 本章對單個開發人員的意義 39 1.12 What This Chapter Means for Your Development Team / 本章對開發團隊的意義 39 1.13 What This Chapter Means for Researchers / 本章對研究人員的意義 40 1.14 Term Project / 學期專案 40 1.15 Key References / 主要參考文獻 42 1.16 Exercises / 練習 42 2 Modeling the Process and Life Cycle / 過程和生命週期的建模 45 2.1 The Meaning of Process / 過程的含義 45 2.2 Software Process Models / 軟件過程模型 48 Waterfall Model / 瀑布模型 48 V Model / V 模型 52 Prototyping Model / 原型化模型 53 Operational Specification / 可操作規格說明 54 Transformational Model / 可轉換模型 54 Phased Development: Increments and Iterations / 階段化開發:增量和反覆運算 55 Spiral Model / 螺旋模型 58 Agile Methods / 敏捷方法 59 2.3 Tools and Techniques for Process Modeling / 過程建模工具和技術 63 Static Modeling: Lai Notation / 靜態建模:Lai 標記法 64 Dynamic Modeling: System Dynamics / 動態建模:系統動力學 67 2.4 Practical Process Modeling / 實際的過程建模 70 Marvel Case Studies / Marvel 的案例研究 70 Desirable Properties of Process Modeling Tools and Techniques / 過程建模工具和技術應該具有的特性 72 2.5 Information Systems Example / 信息系統的例子 73 2.6 Real-Time Example / 即時系統的例子 75 2.7 What This Chapter Means for You / 本章對單個開發人員的意義 76 2.8 What This Chapter Means for Your Development Team / 本章對開發團隊的意義 76 2.9 What This Chapter Means for Researchers / 本章對研究人員的意義 77 2.10 Term Project / 學期專案 77 2.11 Key References / 主要參考文獻 77 2.12 Exercises / 練習 81 3 Planning and Managing the Project / 計畫和管理項目 82 3.1 Tracking Progress / 跟蹤項目進展 82 Work Breakdown and Activity Graphs / 工作分解和活動圖 84 Estimating Completion / 估算完成時間 87 Tools to Track Progress / 跟蹤進展的工具 92 3.2 Project Personnel / 專案人員 95 Staff Roles and Characteristics / 人員角色和特性 95 Work Styles / 工作風格 99 Project Organization / 專案組織 101 3.3 Effort Estimation / 工作量估算 104 Expert Judgment / 專家判斷 106 Algorithmic Methods / 演算法方法 108 Machine-Learning Methods / 機器學習方法 115 Finding the Model for Your Situation / 找出適合具體情形的模型 117 3.4 Risk Management / 風險管理 119 What Is a Risk? / 什麼是風險? 119 Risk Management Activities / 風險管理活動 120 3.5 The Project Plan / 專案計畫 123 3.6 Process Models and Project Management / 過程模型和專案管理 125 Enrollment Management / 註冊管理 125 Accountability Modeling / 責任建模 128 Anchoring Milestones / 緊密結合里程碑 131 3.7 Information Systems Example / 信息系統的例子 133 3.8 Real-Time Example / 即時系統的例子 135 3.9 What This Chapter Means for You / 本章對單個開發人員的意義 136 3.10 What This Chapter Means for Your Development Team / 本章對開發團隊的意義 136 3.11 What This Chapter Means for Researchers / 本章對研究人員的意義 137 3.12 Term Project / 學期專案 137 3.13 Key References / 主要參考文獻 137 3.14 Exercises / 練習 138 4 Capturing the Requirements / 獲取需求 141 4.1 The Requirements Process / 需求過程 142 4.2 Requirements Elicitation / 需求引發 144 4.3 Types of Requirements / 需求的類型 148 Resolving Conflicts / 解決衝突 149 Two Kinds of Requirements Documents / 兩種需求文檔 153 4.4 Characteristics of Requirements / 需求的特性 155 4.5 Modeling Notations / 建模標記法 156 Entity-Relationship Diagrams / 實體 - 聯繫圖 157 Example: UML Class Diagrams / 例子:UML 類圖 159 Event Traces / 事件蹤跡 162 Example: Message Sequence Chart / 例子:消息時序圖 163 State Machines / 狀態機 164 Example: UML Statechart Diagrams / 例子:UML 狀態圖 165 Example: Petri Nets / 例子:Petri 網 169 Data-Flow Diagrams / 資料流程圖 172 Example: Use Cases / 例子:用例 173 Functions and Relations / 函數和關係 175 Example: Decision Tables / 例子:判定表 176 Example: Parnas Tables / 例子:Parnas 表 177 Logic / 邏輯 178 Example: Object Constraint Language (OCL) / 例子:物件約束語言(OCL) 180 Example: Z / 例子:Z 181 Algebraic Specifications / 代數規格說明 183 Example: SDL Data / 例子:SDL 數據 184 4.6 Requirements and Specification Languages / 需求和規格說明語言 187 Unified Modeling Language (UML) / 統一模組化語言(UML) 188 Specification and Description Language (SDL) / 規格說明和描述語言(SDL) 189 Software Cost Reduction (SCR) / 軟件成本降低(SCR) 190 Other Features of Requirements Notations / 需求標記法的其他特徵 191 4.7 Prototyping Requirements / 原型化需求 191 4.8 Requirements Documentation / 需求文檔 193 Requirements Definition / 需求定義 193 Requirements Specification / 需求規格說明 195 Process Management and Requirements Traceability / 過程管理和需求的可跟蹤性 197 4.9 Validation and Verification / 確認和驗證 198 Requirements Validation / 需求確認 199 Verification / 驗證 202 4.10 Measuring Requirements / 測量需求 204 4.11 Choosing a Specification Technique / 選擇規格說明技術 206 4.12 Information Systems Example / 信息系統的例子 209 4.13 Real-Time Example / 即時系統的例子 211 4.14 What This Chapter Means for You / 本章對單個開發人員的意義 213 4.15 What This Chapter Means for Your Development Team / 本章對開發團隊的意義 214 4.16 What This Chapter Means for Researchers / 本章對研究人員的意義 214 4.17 Term Project / 學期專案 215 Preconditions and Assumptions / 前提和假設 215 High-Level Description of Functionality / 功能的高層描述 215 Functional Requirements / 功能需求 216 Data Constraints / 資料約束 217 Design and Interface Constraints / 設計和介面約束 218 Quality Requirements / 品質需求 218 4.18 Key References / 主要參考文獻 218 4.19 Exercises / 練習 219 5 Designing the Architecture / 設計體系結構 223 5.1 The Design Process / 設計過程 223 Design Is a Creative Process / 設計是一種創造性過程 225 Design Process Model / 設計過程模型 228 5.2 Modeling Architectures / 體系結構建模 231 5.3 Decomposition and Views / 分解和視圖 231 Architectural Views / 體系結構視圖 234 5.4 Architectural Styles and Strategies / 體系結構風格和策略 235 Pipe-and-Filter / 管道和篩檢程式 236 Client-Server / 用戶端 - 伺服器 237 Peer-to-Peer / 對等網路 238 Publish-Subscribe / 發佈 - 訂閱 240 Repositories / 信息庫 241 Layering / 分層 242 Combining Architectural Styles / 組合體系結構風格 243 5.5 Achieving Quality Attributes / 滿足品質屬性 245 Modifiability / 可修改性 245 Performance / 性能 247 Security / 安全性 248 Reliability / 可靠性 250 Robustness / 穩健性 254 Usability / 易使用性 254 Business Goals / 商業目標 255 5.6 Collaborative Design / 協作設計 256 Outsourcing / 外包 257 5.7 Architecture Evaluation and Refinement / 體系結構的評估和改進 258 Measuring Design Quality / 測量設計品質 258 Fault-Tree Analysis / 故障樹分析 259 Security Analysis / 安全性分析 262 Trade-off Analysis / 權衡分析 263 Cost-Benefit Analysis / 成本效益分析 268 Prototyping / 原型化 272 5.8 Documenting Software Architectures / 文檔化軟件體系結構 273 Mappings among Views / 視圖間的映射 275 Documenting Rationale / 文檔化設計合理性 276 5.9 Architecture Design Review / 體系結構設計評審 276 Validation / 確認 276 Verification / 驗證 278 5.10 Software Product Lines / 軟件產品線 279 Strategic Scoping / 戰略範圍 280 Advantages of Product-Line Architecture / 產品線體系結構的優勢 282 Product-Line Evolution / 產品線的演化 283 5.11 Information Systems Example / 信息系統的例子 284 5.12 Real-Time Example / 即時系統的例子 286 5.13 What This Chapter Means for You / 本章對單個開發人員的意義 287 5.14 What This Chapter Means for Your Development Team / 本章對開發團隊的意義 288 5.15 What This Chapter Means for Researchers / 本章對研究人員的意義 288 5.16 Term Project / 學期專案 289 5.17 Key References / 主要參考文獻 290 5.18 Exercises / 練習 290 6 Designing the Modules / 設計模組 293 6.1 Design Methodology / 設計方法 294 6.2 Design Principles / 設計原則 295 Modularity / 模組化 297 Interfaces / 介面 302 Information Hiding / 信息隱藏 304 Incremental Development / 增量式開發 306 Abstraction / 抽象 307 Generality / 通用性 308 6.3 OO Design / 物件導向設計 310 Terminology / 術語 311 Inheritance vs. Object Composition / 繼承與物件組合 315 Substitutability / 可替換性 317 Law of Demeter / 德米特法則 318 Dependency Inversion / 依賴倒置 320 6.4 Representing OO Designs in the UML / 在 UML 中體現物件導向設計 321 UML in the Process / 過程中的 UML 321 UML Class Diagram / UML 類圖 324 Other UML Diagrams / 其他 UML 圖 330 6.5 OO Design Patterns / 物件導向設計模式 338 Template Method Pattern / 範本方法模式 340 Factory Method Pattern / 工廠方法模式 341 Strategy Pattern / 策略模式 342 Decorator Pattern / 裝飾者模式 343 Observer Pattern / 觀察者模式 344 Composite Pattern / 組合模式 345 Visitor Pattern / 訪問者模式 346 6.6 Other Design Considerations / 設計中其他方面的考慮 348 Data Management / 資料管理 348 Exception Handling / 異常處理 349 Designing User Interfaces / 使用者介面設計 351 Frameworks / 框架 351 6.7 OO Measurement / 物件導向度量 353 OO Size Measures / 物件導向系統規模的度量 353 OO Design Quality Measures / 物件導向系統設計品質的度量 355 Where to Do OO Measurement / 在何處進行物件導向測量 362 6.8 Design Documentation / 設計文檔 363 6.9 Information Systems Example / 信息系統的例子 366 6.10 Real-Time Example / 即時系統的例子 367 6.11 What This Chapter Means for You / 本章對單個開發人員的意義 367 6.12 What This Chapter Means for Your Development Team / 本章對開發團隊的意義 369 6.13 What This Chapter Means for Researchers / 本章對研究人員的意義 369 6.14 Term Project / 學期專案 369 6.15 Key References / 主要參考文獻 370 6.16 Exercises / 練習 370 7 Writing the Programs / 編寫程式 373 7.1 Programming Standards and Procedures / 程式設計標準和過程 373 Standards for You / 對開發人員的標準 374 Standards for Others / 對其他人員的標準 375 Matching Design with Implementation / 設計和實現的匹配 376 7.2 Programming Guidelines / 程式設計的指導原則 376 Control Structures / 控制結構 377 Algorithms / 演算法 378 Data Structures / 資料結構 379 General Guidelines / 通用性指導原則 382 7.3 Documentation / 文檔 387 Internal Documentation / 內部文檔 387 External Documentation / 外部文檔 390 7.4 The Programming Process / 程式設計過程 391 Programming as Problem Solving / 將程式設計作為問題求解 392 Extreme Programming / 極限程式設計 393 Pair Programming / 結對程式設計 393 Whither Programming? / 程式設計向何處去? 394 7.5 Information Systems Example / 信息系統的例子 395 7.6 Real-Time Example / 即時系統的例子 396 7.7 What This Chapter Means for You / 本章對單個開發人員的意義 397 7.8 What This Chapter Means for Your Development Team / 本章對開發團隊的意義 398 7.9 What This Chapter Means for Researchers / 本章對研究人員的意義 398 7.10 Term Project / 學期專案 398 7.11 Key References / 主要參考文獻 399 7.12 Exercises / 練習 399 8 Testing the Programs / 測試程式 401 8.1 Software Faults and Failures / 軟件故障和失效 401 Types of Faults / 故障的類型 403 Orthogonal Defect Classification / 正交缺陷分類 405 8.2 Testing Issues / 測試的相關問題 407 Test Organization / 測試的組織 407 Attitudes Toward Testing / 對測試的態度 409 Who Performs the Tests? / 誰執行測試? 409 Views of the Test Objects / 測試物件的視圖 410 8.3 Unit Testing / 單元測試 412 Examining the Code / 檢查代碼 412 Proving Code Correct / 證明代碼正確性 416 Testing Program Components / 測試程式構件 420 Comparing Techniques / 技術比較 425 8.4 Integration Testing / 集成測試 426 Bottom-Up Integration / 自底向上集成 426 Top-Down Integration / 自頂向下集成 428 Big-Bang Integration / 一次性集成 429 Sandwich Integration / 三明治集成 430 Comparison of Integration Strategies / 集成策略的比較 430 8.5 Testing Object-Oriented Systems / 測試物件導向系統 433 Testing the Code / 代碼測試 433 Differences between Object-Oriented and Traditional Testing / 物件導向測試和傳統測試之間的區別 434 8.6 Test Planning / 測試計畫 436 Purpose of the Plan / 計畫的目的 436 Contents of the Plan / 計畫的內容 437 8.7 Automated Testing Tools / 自動測試工具 438 Code Analysis Tools / 代碼分析工具 438 Test Execution Tools / 測試執行工具 440 Test Case Generators / 測試用例生成器 441 8.8 When to Stop Testing / 什麼時候停止測試 441 Fault Seeding / 故障播種 442 Confidence in the Software / 軟件中的可信度 443 Other Stopping Criteria / 其他的停止測試的標準 444 Identifying Fault-Prone Code / 識別易出故障的代碼 445 8.9 Information Systems Example / 信息系統的例子 446 8.10 Real-Time Example / 即時系統的例子 447 8.11 What This Chapter Means for You / 本章對單個開發人員的意義 448 8.12 What This Chapter Means for Your Development Team / 本章對開發團隊的意義 448 8.13 What This Chapter Means for Researchers / 本章對研究人員的意義 449 8.14 Term Project / 學期專案 449 8.15 Key References / 主要參考文獻 449 8.16 Exercises / 練習 450 9 Testing the System / 測試系統 453 9.1 Principles of System Testing / 系統測試的原則 453 Sources of Software Faults / 軟件故障根源 453 System Testing Process / 系統測試過程 455 Configuration Management / 配置管理 459 Test Team / 測試小組 465 9.2 Function Testing / 功能測試 466 Purpose and Roles / 目的與職責 466 Cause-and-Effect Graphs / 因果圖 468 9.3 Performance Testing / 性能測試 472 Purpose and Roles / 目的和職責 472 Types of Performance Tests / 性能測試的類型 472 9.4 Reliability, Availability, and Maintainability / 可靠性、可用性以及可維護性 474 Definitions / 定義 474 Failure Data / 失效數據 475 Measuring Reliability, Availability, and Maintainability / 測量可靠性、可用性和可維護性 477 Reliability Stability and Growth / 可靠性的穩定性和可靠性增長 478 Reliability Prediction / 可靠性預測 479 Importance of the Operational Environment / 操作環境的重要性 482 9.5 Acceptance Testing / 接受度測試 483 Purpose and Roles / 目的和職責 483 Types of Acceptance Tests / 接受度測試的種類 484 Results of Acceptance Tests / 接受度測試的結果 484 9.6 Installation Testing / 安裝測試 486 9.7 Automated System Testing / 自動化系統測試 486 9.8 Test Documentation / 測試文檔 487 Test Plans / 測試計畫 488 Test Specification and Evaluation / 測試規格說明和評估 491 Test Description / 測試描述 492 Test Analysis Report / 測試分析報告 495 Problem Report Forms / 問題報告表 496 9.9 Testing Safety-Critical Systems / 測試安全攸關的系統 498 Design Diversity / 設計多樣性 500 Software Safety Cases / 軟件安全性案例 502 Cleanroom / 淨室方法 505 9.10 Information Systems Example / 信息系統的例子 509 9.11 Real-Time Example / 即時系統的例子 511 9.12 What This Chapter Means for You / 本章對單個開發人員的意義 513 9.13 What This Chapter Means for Your Development Team / 本章對開發團隊的意義 513 9.14 What This Chapter Means for Researchers / 本章對研究人員的意義 513 9.15 Term Project / 學期專案 514 9.16 Key References / 主要參考文獻 514 9.17 Exercises / 練習 515 10 Delivering the System / 交付系統 519 10.1 Training / 培訓 519 Types of Training / 培訓的種類 520 Training Aids / 培訓助手 522 Guidelines for Training / 培訓的指導原則 523 10.2 Documentation / 文檔 524 Types of Documentation / 文檔的種類 524 User Help and Troubleshooting / 用戶幫助和疑難排解 529 10.3 Information Systems Example / 信息系統的例子 531 10.4 Real-Time Example / 即時系統的例子 532 10.5 What This Chapter Means for You / 本章對單個開發人員的意義 532 10.6 What This Chapter Means for Your Development Team / 本章對開發團隊的意義 532 10.7 What This Chapter Means for Researchers / 本章對研究人員的意義 533 10.8 Term Project / 學期專案 533 10.9 Key References / 主要參考文獻 533 10.10 Exercises / 練習 533 11 Maintaining the System / 維護系統 535 11.1 The Changing System / 變化的系統 535 Types of Systems / 系統的類型 536 Changes During the System Life Cycle / 在系統生命週期過程中發生的變化 539 The System Life Span / 系統生命週期跨度 539 11.2 The Nature of Maintenance / 維護的本質 543 Maintenance Activities and Roles / 維護活動及其角色 543 11.3 Maintenance Problems / 維護問題 546 Staff Problems / 人員問題 546 Technical Problems / 技術問題 548 The Need to Compromise / 必要的妥協 549 Maintenance Cost / 維護成本 550 11.4 Measuring Maintenance Characteristics / 測量維護特性 554 External View of Maintainability / 可維護性的外部視圖 555 Internal Attributes Affecting Maintainability / 影響可維護性的內部屬性 556 Other Product Measures / 其他的產品測量 558 11.5 Maintenance Techniques and Tools / 維護技術和工具 560 Configuration Management / 配置管理 560 Impact Analysis / 影響分析 562 Automated Maintenance Tools / 自動化維護工具 566 11.6 Software Rejuvenation / 軟件再生 568 Redocumentation / 文檔重構 569 Restructuring / 重組 570 Reverse Engineering / 逆向工程 571 Reengineering / 工程再造 572 The Future of Rejuvenation / 軟件再生的前景 574 11.7 Information Systems Example / 信息系統的例子 574 11.8 Real-Time Example / 即時系統的例子 575 11.9 What This Chapter Means for You / 本章對單個開發人員的意義 576 11.10 What This Chapter Means for Your Development Team / 本章對開發團隊的意義 576 11.11 What This Chapter Means for Researchers / 本章對研究人員的意義 577 11.12 Term Project / 學期專案 577 11.13 Key References / 主要參考文獻 577 11.14 Exercises / 練習 578 12 Evaluating Products, Processes, and Resources / 評估產品、過程和資源 580 12.1 Approaches to Evaluation / 評估的方法 580 Feature Analysis / 特徵分析 581 Surveys / 調查 582 Case Studies / 案例研究 582 Formal Experiments / 正式試驗 583 Preparing for an Evaluation / 準備評估 584 12.2 Selecting an Evaluation Technique / 選擇評估技術 585 Key Selection Factors / 關鍵選擇因素 585 What to Believe / 相信什麼 586 12.3 Assessment vs. Prediction / 評價與預測 589 Validating Prediction Systems / 確認預測系統 590 Validating Measures / 確認測量 593 A Stringent Requirement for Validation / 對確認的緊迫需求 593 12.4 Evaluating Products / 評估產品 595 Product Quality Models / 產品品質模型 595 Establishing Baselines and Targets / 建立基線和設定目標 599 Software Reusability / 軟件可複用性 601 12.5 Evaluating Processes / 評估過程 610 Postmortem Analysis / 事後分析 611 Process Maturity Models / 過程成熟度模型 617 12.6 Evaluating Resources / 評估資源 626 People Maturity Model / 人員成熟度模型 627 Return on Investment / 投資回報 629 12.7 Information Systems Example / 信息系統的例子 631 12.8 Real-Time Example / 即時系統的例子 632 12.9 What This Chapter Means for You / 本章對單個開發人員的意義 632 12.10 What This Chapter Means for Your Development Team / 本章對開發團隊的意義 633 12.11 What This Chapter Means for Researchers / 本章對研究人員的意義 633 12.12 Term Project / 學期專案 633 12.13 Key References / 主要參考文獻 634 12.14 Exercises / 練習 634 13 Improving Predictions, Products, Processes, and Resources / 改進預測、產品、過程和資源 636 13.1 Improving Predictions / 改進預測 636 Predictive Accuracy / 預測的精確性 637 Dealing with Bias: The u-Plot / 處理偏誤:u 曲線 638 Dealing with Noise: Prequential Likelihood / 處理雜訊:prequential 似然度 640 Recalibrating Predictions / 重新校準預測 642 13.2 Improving Products / 改進產品 645 Inspections / 審查 645 Reuse / 複用 648 13.3 Improving Processes / 改進過程 649 Process and Capability Maturity / 過程和能力成熟度 649 Maintenance / 維護 653 Cleanroom / 淨室方法 654 13.4 Improving Resources / 改進資源 657 Work Environment / 工作環境 657 Cost and Schedule Trade-Offs / 成本和進度的權衡 658 13.5 General Improvement Guidelines / 總體改進指導原則 660 13.6 Information Systems Example / 信息系統的例子 661 13.7 Real-Time Example / 即時系統的例子 662 13.8 What This Chapter Means for You / 本章對單個開發人員的意義 662 13.9 What This Chapter Means for Your Development Team / 本章對開發團隊的意義 662 13.10 What This Chapter Means for Researchers / 本章對研究人員的意義 663 13.11 Term Project / 學期專案 663 13.12 Key References / 主要參考文獻 663 13.13 Exercises / 練習 664 14 The Future of Software Engineering / 軟件工程的未來 665 14.1 How Have We Done? / 目前取得了哪些進展? 665 Wasserman’s Steps to Maturity / Wasserman 的獲得成熟度的措施 666 What Now? / 當前要做哪些工作? 668 14.2 Technology Transfer / 技術轉移 668 How We Make Technology Transfer Decisions Now / 現在我們怎樣做出技術轉移的決策 669 Using Evidence in Technology Decision-Making / 在技術決策中使用證據 670 Evidence Supporting Technology Decisions / 支援技術決策的證據 671 A Closer Look at the Evidence / 對證據的進一步討論 672 New Models of Technology Transfer / 技術轉移的新模型 674 Next Steps in Improving Technology Transfer / 改進技術轉移的下一步 676 14.3 Decision-Making in Software Engineering / 軟件工程中的決策 676 Lots of Decisions / 大量的決策 677 Group Decision-Making / 群體決策 679 How We Really Decide / 我們實際上如何決策 680 How Groups Really Make Decisions / 群體實際上如何決策 683 A Modest Observational Study / 一個適度的觀察研究 685 Lessons Learned / 獲得的經驗教訓 688 14.4 The Professionalization of Software Engineering: Licensing, Certification, and Ethics / 軟件工程的職業化:執照發放、認證和倫理 689 Focus on the People / 將重點放在人員上 689 Software Engineering Education / 軟件工程教育 690 Software Engineering Body of Knowledge / 軟件工程知識體系 692 Licensing Software Engineers / 給軟件工程師頒發執照 694 Certification / 認證 700 Code of Ethics / 倫理守則 702 Professional Development / 職業發展 704 Next Steps in Research and Practice / 研究和實踐的進一步發展 705 14.5 Term Project / 學期專案 706 14.6 Key References / 主要參考文獻 706 14.7 Exercises / 練習 708 Annotated Bibliography / 參考文獻及注解 709
莎麗·勞倫斯·弗里格(Shari Lawrence Pfleeger),世界範圍內享有盛譽的軟件工程學者,在軟件開發領域有數十年的豐富經驗,主要從事軟件工程和資訊技術的教學、諮詢和研究工作,在軟件品質保證、度量和軟件工程實踐研究方面有較大影響力。現任美國智庫蘭德公司的高級研究員。她曾經執教于倫敦城市大學和馬里蘭大學,並擔任IEEE Software和IEEE Transactions on SoftwareEngineering等專業期刊的副主編多年。 瓊安·M. 阿特利(Joanne M. Atlee),世界傑出的軟件工程學者,在軟件需求和軟件工程教育方面有著傑出貢獻。她是IEEE計算機學會和ACM聯合發起的軟件工程課程專案指導委員會的成員,也是國際資訊處理聯合會(IFIP)軟件需求工程工作組成員。她是滑鐵盧大學副教授,創立了該校的軟件工程學位專案並擔任專案主任。
客服公告
热门活动
订阅电子报