Righting Software, 1st edition
BRAND: PEARSON
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
Tổng quan sách
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 xxiiiAbout the Author xxxiii
- Chapter 1: The Method 3What Is The Method? 4What The Method Is Not 9Part I: System Design 11
- Chapter 2: Decomposition 13Avoid Functional Decomposition 14Volatility-Based Decomposition 30Identifying Volatility 37
- Chapter 3: Structure 55Use Cases and Requirements 56Layered Approach 58Typical Layers 60Classification Guidelines 65Subsystems and Services 70Open and Closed Architectures 75
- Chapter 4: Composition 83Requirements and Changes 83Composable Design 85There Is No Feature 91Handling Change 92
- Chapter 5: System Design Example 95System Overview 96The Anti-Design Effort 106Business Alignment 108The Architecture 111Design Validation 124What’s Next? 135Part II: Project Design 137
- Chapter 6: Motivation 139Why Project Design? 139
- Chapter 7: Project Design Overview 145Defining Success 145Project Initial Staffing 147Educated Decisions 151Services and Developers 153Effort Estimations 157Critical Path Analysis 166Scheduling Activities 176Project Cost 184Earned Value Planning 187Roles and Responsibilities 194
- Chapter 8: Network and Float 195The Network Diagram 195Floats 199Floats-Based Scheduling 205
- Chapter 9: Time and Cost 207Accelerating Software Projects 207Schedule Compression 210Time–Cost Curve 214Project Cost Elements 222Network Compression 231
- Chapter 10: Risk 235Choosing Options 235Time–Risk Curve 236Risk Modeling 239Compression and Risk 248Risk Decompression 249Risk Metrics 253
- Chapter 11: Project Design in Action 255The Mission 255Finding the Normal Solution 265Network Compression 276Efficiency Analysis 289Time–Cost Curve 290Planning and Risk 293SDP Review 303
- Chapter 12: Advanced Techniques 307God Activities 307Risk Crossover Point 308Finding the Decompression Target 313Geometric Risk 315Execution Complexity 320Very Large Projects 324Small Projects 331Design by Layers 332
- Chapter 13: Project Design Example 335Estimations 335Dependencies and Project Network 339The Normal Solution 341Compressed Solution 346Design by Layers 350Subcritical Solution 353Comparing the Options 355Planning and Risk 355Preparing for the SDP Review 359
- Chapter 14: Concluding Thoughts 361When to Design a Project 361General Guidelines 365Design of Project Design 370In Perspective 372The Hand-Off 374In Practice 377Debriefing Project Design 378About Quality 379Appendix A: Project Tracking 387Activity Life Cycle and Status 388Project Status 392Tracking Progress and Effort 395Projections 396Projections and Corrective Actions 398More on Projections 404Appendix B: Service Contract Design 407Is This a Good Design? 407Modularity and Cost 409Services and Contracts 411Factoring Contracts 415Contract Design Metrics 419The Contract Design Challenge 423Appendix C: Design Standard 425The Prime Directive 426Directives 426System Design Guidelines 426Project Design Guidelines 427Project Tracking Guidelines 429Service Contract Design Guidelines 430Index 431
