Righting Software, 1st edition
BRAND: PEARSON
Publisher: | Addison-Wesley Professional |
Author: | Juval Löwy |
Edition: | (November 27, 2019) © 2020 |
eBook ISBN: | 9780136524021 |
Print ISBN: | 9780136524038 |
Type: | 1 Year Subscription. Dành cho Cá nhân |
eBook edition. 1 Year Subscription. Dành cho Cá nhân | Trường ĐH, Nhóm, Thư Viện: Gọi 0915920514 để báo giá Pearson, Vital Source eBook hoặc mua Sách In
See what in the box
Mô tả sản phẩm
Ngay cả hiện nay, các dự án phần mềm vẫn tiếp tục thất bại ở mức đáng báo động, nhiều dự án thành công có đầy rẫy lỗi và ngay cả những hệ thống phần mềm “đáng tin cậy” cũng thường không đáp ứng được kỳ vọng. Các lập trình viên cấp bậc và tập tin hoạt động như những kỹ thuật viên đơn thuần; kiến trúc sư phần mềm không được đào tạo đầy đủ để thành công và thông tin có sẵn cho họ rất lộn xộn, không nhất quán hoặc sai. Trong Righting Software, Juval Löwy giúp khắc phục những vấn đề này bằng cách giới thiệu một phương pháp tiếp cận có cấu trúc và kỹ thuật cao dành cho thiết kế hệ thống và dự án đã được chứng minh là có hiệu quả.
Phương pháp thiết kế phần mềm của Löwy tích hợp hai thành phần có mối liên hệ mật thiết với nhau: thiết kế hệ thống (thường được gọi là kiến trúc) và thiết kế dự án. Cùng với nhau, chúng bao gồm thiết kế phần mềm. Đối với thiết kế hệ thống, ông trình bày một phương pháp được thiết kế để phân tách hệ thống thành các khối hoặc dịch vụ xây dựng nhỏ hơn - giải quyết lĩnh vực mà đại đa số kiến trúc sư phần mềm hiện đang thất bại. Tiếp theo, anh ấy cho thấy cách thực hiện thiết kế dự án hiệu quả từ thiết kế hệ thống của bạn, tính toán chính xác thời lượng, chi phí và rủi ro theo kế hoạch cũng như đưa ra một số phương án thực hiện tốt.
Các kỹ thuật và ý tưởng trong Righting Software được áp dụng bất kể công nghệ phần mềm, nền tảng, quy mô dự án, quy mô công ty hay ngành - và chúng được thiết kế đặc biệt để giải quyết các nguyên nhân cốt lõi gây ra lỗi phần mềm ngày nay.
Preface xxiii
About the Author xxxiii
Chapter 1: The Method 3
What Is The Method? 4
What The Method Is Not 9
Part I: System Design 11Chapter 2: Decomposition 13
Avoid Functional Decomposition 14
Volatility-Based Decomposition 30
Identifying Volatility 37
Chapter 3: Structure 55
Use Cases and Requirements 56
Layered Approach 58
Typical Layers 60
Classification Guidelines 65
Subsystems and Services 70
Open and Closed Architectures 75
Chapter 4: Composition 83
Requirements and Changes 83
Composable Design 85
There Is No Feature 91
Handling Change 92
Chapter 5: System Design Example 95
System Overview 96
The Anti-Design Effort 106
Business Alignment 108
The Architecture 111
Design Validation 124
What’s Next? 135
Part II: Project Design 137
Chapter 6: Motivation 139
Why Project Design? 139
Chapter 7: Project Design Overview 145
Defining Success 145
Project Initial Staffing 147
Educated Decisions 151
Services and Developers 153
Effort Estimations 157
Critical Path Analysis 166
Scheduling Activities 176
Project Cost 184
Earned Value Planning 187
Roles and Responsibilities 194
Chapter 8: Network and Float 195
The Network Diagram 195
Floats 199
Floats-Based Scheduling 205
Chapter 9: Time and Cost 207
Accelerating Software Projects 207
Schedule Compression 210
Time–Cost Curve 214
Project Cost Elements 222
Network Compression 231
Chapter 10: Risk 235
Choosing Options 235
Time–Risk Curve 236
Risk Modeling 239
Compression and Risk 248
Risk Decompression 249
Risk Metrics 253
Chapter 11: Project Design in Action 255
The Mission 255
Finding the Normal Solution 265
Network Compression 276
Efficiency Analysis 289
Time–Cost Curve 290
Planning and Risk 293
SDP Review 303
Chapter 12: Advanced Techniques 307
God Activities 307
Risk Crossover Point 308
Finding the Decompression Target 313
Geometric Risk 315
Execution Complexity 320
Very Large Projects 324
Small Projects 331
Design by Layers 332
Chapter 13: Project Design Example 335
Estimations 335
Dependencies and Project Network 339
The Normal Solution 341
Compressed Solution 346
Design by Layers 350
Subcritical Solution 353
Comparing the Options 355
Planning and Risk 355
Preparing for the SDP Review 359
Chapter 14: Concluding Thoughts 361
When to Design a Project 361
General Guidelines 365
Design of Project Design 370
In Perspective 372
The Hand-Off 374
In Practice 377
Debriefing Project Design 378
About Quality 379
Appendix A: Project Tracking 387
Activity Life Cycle and Status 388
Project Status 392
Tracking Progress and Effort 395
Projections 396
Projections and Corrective Actions 398
More on Projections 404
Appendix B: Service Contract Design 407
Is This a Good Design? 407
Modularity and Cost 409
Services and Contracts 411
Factoring Contracts 415
Contract Design Metrics 419
The Contract Design Challenge 423
Appendix C: Design Standard 425
The Prime Directive 426
Directives 426
System Design Guidelines 426
Project Design Guidelines 427
Project Tracking Guidelines 429
Service Contract Design Guidelines 430
Index 431
Ngay cả hiện nay, các dự án phần mềm vẫn tiếp tục thất bại ở mức đáng báo động, nhiều dự án thành công có đầy rẫy lỗi và ngay cả những hệ thống phần mềm “đáng tin cậy” cũng thường không đáp ứng được kỳ vọng. Các lập trình viên cấp bậc và tập tin hoạt động như những kỹ thuật viên đơn thuần; kiến trúc sư phần mềm không được đào tạo đầy đủ để thành công và thông tin có sẵn cho họ rất lộn xộn, không nhất quán hoặc sai. Trong Righting Software, Juval Löwy giúp khắc phục những vấn đề này bằng cách giới thiệu một phương pháp tiếp cận có cấu trúc và kỹ thuật cao dành cho thiết kế hệ thống và dự án đã được chứng minh là có hiệu quả.
Phương pháp thiết kế phần mềm của Löwy tích hợp hai thành phần có mối liên hệ mật thiết với nhau: thiết kế hệ thống (thường được gọi là kiến trúc) và thiết kế dự án. Cùng với nhau, chúng bao gồm thiết kế phần mềm. Đối với thiết kế hệ thống, ông trình bày một phương pháp được thiết kế để phân tách hệ thống thành các khối hoặc dịch vụ xây dựng nhỏ hơn - giải quyết lĩnh vực mà đại đa số kiến trúc sư phần mềm hiện đang thất bại. Tiếp theo, anh ấy cho thấy cách thực hiện thiết kế dự án hiệu quả từ thiết kế hệ thống của bạn, tính toán chính xác thời lượng, chi phí và rủi ro theo kế hoạch cũng như đưa ra một số phương án thực hiện tốt.
Các kỹ thuật và ý tưởng trong Righting Software được áp dụng bất kể công nghệ phần mềm, nền tảng, quy mô dự án, quy mô công ty hay ngành - và chúng được thiết kế đặc biệt để giải quyết các nguyên nhân cốt lõi gây ra lỗi phần mềm ngày nay.
Preface xxiii
About the Author xxxiii
Chapter 1: The Method 3
What Is The Method? 4
What The Method Is Not 9
Part I: System Design 11Chapter 2: Decomposition 13
Avoid Functional Decomposition 14
Volatility-Based Decomposition 30
Identifying Volatility 37
Chapter 3: Structure 55
Use Cases and Requirements 56
Layered Approach 58
Typical Layers 60
Classification Guidelines 65
Subsystems and Services 70
Open and Closed Architectures 75
Chapter 4: Composition 83
Requirements and Changes 83
Composable Design 85
There Is No Feature 91
Handling Change 92
Chapter 5: System Design Example 95
System Overview 96
The Anti-Design Effort 106
Business Alignment 108
The Architecture 111
Design Validation 124
What’s Next? 135
Part II: Project Design 137
Chapter 6: Motivation 139
Why Project Design? 139
Chapter 7: Project Design Overview 145
Defining Success 145
Project Initial Staffing 147
Educated Decisions 151
Services and Developers 153
Effort Estimations 157
Critical Path Analysis 166
Scheduling Activities 176
Project Cost 184
Earned Value Planning 187
Roles and Responsibilities 194
Chapter 8: Network and Float 195
The Network Diagram 195
Floats 199
Floats-Based Scheduling 205
Chapter 9: Time and Cost 207
Accelerating Software Projects 207
Schedule Compression 210
Time–Cost Curve 214
Project Cost Elements 222
Network Compression 231
Chapter 10: Risk 235
Choosing Options 235
Time–Risk Curve 236
Risk Modeling 239
Compression and Risk 248
Risk Decompression 249
Risk Metrics 253
Chapter 11: Project Design in Action 255
The Mission 255
Finding the Normal Solution 265
Network Compression 276
Efficiency Analysis 289
Time–Cost Curve 290
Planning and Risk 293
SDP Review 303
Chapter 12: Advanced Techniques 307
God Activities 307
Risk Crossover Point 308
Finding the Decompression Target 313
Geometric Risk 315
Execution Complexity 320
Very Large Projects 324
Small Projects 331
Design by Layers 332
Chapter 13: Project Design Example 335
Estimations 335
Dependencies and Project Network 339
The Normal Solution 341
Compressed Solution 346
Design by Layers 350
Subcritical Solution 353
Comparing the Options 355
Planning and Risk 355
Preparing for the SDP Review 359
Chapter 14: Concluding Thoughts 361
When to Design a Project 361
General Guidelines 365
Design of Project Design 370
In Perspective 372
The Hand-Off 374
In Practice 377
Debriefing Project Design 378
About Quality 379
Appendix A: Project Tracking 387
Activity Life Cycle and Status 388
Project Status 392
Tracking Progress and Effort 395
Projections 396
Projections and Corrective Actions 398
More on Projections 404
Appendix B: Service Contract Design 407
Is This a Good Design? 407
Modularity and Cost 409
Services and Contracts 411
Factoring Contracts 415
Contract Design Metrics 419
The Contract Design Challenge 423
Appendix C: Design Standard 425
The Prime Directive 426
Directives 426
System Design Guidelines 426
Project Design Guidelines 427
Project Tracking Guidelines 429
Service Contract Design Guidelines 430
Index 431