چه کسانی این کتاب را می‌خوانند

دانشجوعلاقه‌مند یادگیری
کتابخوان حرفه‌ایلذت مطالعه
نویسندهالهام‌گیری

Future-proof software-systems : a sustainable evolution strategy

Springer Fachmedien Wiesbaden GmbH; Furrer, Frank J

قیمت نهایی

۴۰٬۰۰۰ تومان۴۹٬۰۰۰ تومان۱۸٪ تخفیف
  • تخفیف زمان‌دار−۹٬۰۰۰ تومان

۹٬۰۰۰ تومان صرفه‌جویی نسبت به قیمت اصلی

بلافاصله پس از خرید، فایل کتاب روی دستگاه شما آمادهٔ دانلود است.

تحویل فوری
پرداخت امن
ضمانت فایل
پشتیبانی

نسخه اصلی و اورجینال

فایل دیجیتال کامل و بدون دستکاری — همان نسخه‌ای که پس از خرید دریافت می‌کنید.

مشخصات کتاب

سال انتشار
۲۰۱۹
فرمت
PDF
زبان
انگلیسی
حجم فایل
۱۳٫۴ مگابایت
شابک
9783658199371، 9783658199388، 3658199377، 3658199385

دربارهٔ کتاب

This book focuses on software architecture and the value of architecture in the development of long-lived, mission-critical, trustworthy software-systems. The author introduces and demonstrates the powerful strategy of "Managed Evolution," along with the engineering best practice known as "Principle-based Architecting." The book examines in detail architecture principles for e.g., Business Value, Changeability, Resilience, and Dependability. the author argues that the software development community has a strong responsibility to produce and operate useful, dependable, and trustworthy software. Software should at the same time provide business value and guarantee many quality-of-service properties, including security, safety, performance, and integrity. As Dr. Furrer states, "Producing dependable software is a balancing act between investing in the implementation of business functionality and investing in the quality-of-service properties of the software-systems." The book presents extensive coverage of such concepts as: Principle-Based Architecting -- Managed Evolution Strategy -- The Future -- Principles for Business Value -- Legacy Software Modernization/Migration -- Architecture Principles for Changeability -- Architecture Principles for Resilience -- Architecture Principles for Dependability. The text is supplemented with numerous figures, tables, examples and illustrative quotations. Future-Proof Software-Systems provides a set of good engineering practices, devised for integration into most software development processes dedicated to the creation of software-systems that incorporate Managed Evolution. -- Provided by publisher Foreword 1......Page 5 Foreword 2......Page 7 Preface......Page 9 Acknowledgements......Page 12 Contents......Page 13 About the Author......Page 20 List of Figures......Page 21 List of Tables......Page 26 List of Definitions......Page 27 List of Principles......Page 30 Part I Foundation......Page 31 Abstract......Page 32 1.1Software Everywhere......Page 33 1.2Opportunities for Software......Page 35 1.4Balancing Opportunities and Risks of Software......Page 36 1.5Toward Dependable Software......Page 37 References......Page 38 2.1Entropy in Software......Page 40 2.2Technical Debt......Page 43 2.3Architecture Erosion......Page 44 2.4Fighting the Force of Entropy......Page 45 References......Page 47 3.1Systems Engineering......Page 49 3.2Three Devils of Systems Engineering......Page 51 3.3Complexity......Page 52 3.4Change......Page 54 3.5Uncertainty......Page 55 3.6Structure of Complex Systems......Page 57 3.6.1Horizontal Architecture Layers......Page 58 3.6.2Vertical Architecture Layers......Page 60 3.6.3Hierarchy Levels......Page 62 3.7.1Enterprise Computing......Page 63 3.7.3Cyber-Physical Systems......Page 64 3.8Systems-of-Systems......Page 67 References......Page 68 4.1Why Future-Proof Software-Systems?......Page 73 4.2Future-Proof Software-Systems Definition......Page 74 4.3Systems Engineering and Software Engineering......Page 75 4.4Business-IT Alignment......Page 78 4.6Changeability......Page 80 4.7Dependability......Page 81 References......Page 82 5.1The Pathway to Future-Proof Software-Systems......Page 84 5.2.1Principle......Page 86 5.3Business Value Metric......Page 91 5.4Changeability Metric......Page 93 5.5Dependability Metric......Page 96 5.6Other Quality of Service Property Metrics......Page 101 5.8Quality of Service Properties Scorecard......Page 102 5.10Continuous Improvement, Constant Rearchitecting, Regular Refactoring......Page 103 5.12Periodic Architecture Programs......Page 107 5.13Processes for Managed Evolution......Page 108 5.14Architecture Process......Page 109 5.15The Value of Managed Evolution......Page 110 5.16Final Words......Page 111 References......Page 112 6.1Architecture Definition......Page 117 6.1.2Behavior......Page 118 6.1.4Levels of Architecture......Page 119 6.1.5Parts, Relationships, and Models in the Application Architecture Hierarchy......Page 120 6.2.1Impact of Architecture......Page 122 6.2.2Longevity of Architecture......Page 123 6.3Legacy Systems......Page 124 6.4Architecture Integration Challenge......Page 125 6.5Evolutionary Architecture......Page 128 6.7How much Architecture?......Page 131 6.8Architecture Tools......Page 133 References......Page 134 7.1Principles in Science......Page 138 7.2Software Architecture Principles......Page 139 7.3Horizontal Architecture Principles......Page 140 7.4Vertical Architecture Principles......Page 141 7.5Software Architecture Principle Formalization......Page 142 7.7Patterns......Page 143 7.9Principle-Based Architecting......Page 145 References......Page 146 8.1Context Requirements......Page 150 8.2Company Management......Page 151 8.3.1Formalized Achitecture Knowledge......Page 152 8.3.2Architecture Governance......Page 154 8.4Architecture Organization......Page 155 8.5Company Culture......Page 157 8.7Metrics......Page 158 References......Page 160 Abstract......Page 163 9.1.1Complexity......Page 164 9.1.2Change......Page 166 9.1.3Uncertainty......Page 168 9.2Increased Risk and More Sophisticated Threats......Page 169 9.3.1Separation of Concerns......Page 170 9.3.2Abstractions......Page 171 9.4Models-to-Code......Page 173 9.5Provably Correct Software......Page 174 References......Page 176 10.1.1The Agile Manifesto......Page 183 10.1.2Agile Application Spectrum......Page 184 10.1.3Agile Methods and Future-Proof Software-Systems......Page 186 10.1.4Large-Scale Agile......Page 188 10.1.5Agility against Architecture?......Page 189 10.1.6Agile Requirements Engineering......Page 190 10.1.7Agile Risk Management......Page 192 10.2Continuous Delivery and DevOps......Page 194 10.2.1Continuous Delivery......Page 195 10.2.2DevOps......Page 196 10.2.3Continuous Delivery, DevOps and Future-Proof Software-Systems......Page 198 10.3.1Legacy Software......Page 200 10.3.2Legacy Software Modernization/Migration......Page 203 10.3.3Legacy Software Replacement......Page 205 10.3.4Legacy Software Rearchitecting......Page 206 10.3.5Legacy Software Reengineering......Page 208 10.3.6Legacy Software Refactoring: Code......Page 210 10.3.7Legacy Software Refactoring: Data/Information......Page 212 10.3.8Legacy Systems Modernization/Migration Strategies......Page 213 10.3.9Stop Legacy Software Creation......Page 214 10.4.4Time Interval......Page 215 10.4.7Modeling Time in Software-Systems......Page 216 References......Page 217 Part II Principles......Page 223 11.1Introduction......Page 224 11.2α-Architecture Principle #1: IT-System as Investment......Page 225 11.3α-Architecture Principle #2: Managed Evolution Culture......Page 226 References......Page 227 12.1Introduction......Page 229 12.2.2Isolation......Page 231 12.3.1Introduction......Page 233 12.3.2Partitioning......Page 236 12.3.3Partitioning Rules......Page 238 12.3.4Encapsulation......Page 239 12.3.5Interfaces......Page 241 12.3.6Coupling......Page 242 12.4.1Conceptual Integrity in an Organization......Page 244 12.4.2Achieving Conceptual Integrity......Page 245 12.4.3Domain Software Engineering......Page 246 12.4.4Hidden Assumptions......Page 247 12.5.1Redundancy......Page 249 12.5.2Unmanaged Redundancy......Page 250 12.5.3Managed Redundancy......Page 253 12.5.4Redundancy Synchronization......Page 255 12.5.6Redundancy Avoidance Pattern......Page 256 12.6.1Interoperability Levels......Page 257 12.6.2Contracts......Page 259 12.6.3Interface Contracts and Service Contracts......Page 260 12.6.4Interoperability Standards......Page 261 Applications interoperability......Page 262 12.7.1Common Data and Functionality......Page 263 12.7.2Synchronization Mechanisms......Page 265 12.7.3Software Infrastructure......Page 266 12.8.2Reference Architectures......Page 267 12.8.3Architecture Frameworks......Page 269 12.8.4Patterns......Page 271 12.9.1Introduction......Page 273 12.9.2Types of Reuse......Page 274 12.9.3Business Case for Reuse......Page 278 12.9.4Context for Reuse......Page 279 12.10.1Introduction......Page 280 12.10.2Types of Standards......Page 281 12.10.3Value of Standards......Page 282 12.11.1Introduction......Page 284 12.11.2Information and Information Architecture......Page 285 12.11.3Enterprise Information Architecture......Page 286 12.11.4Real-Time Information Architecture......Page 291 12.12.1Introduction......Page 294 12.12.3Modeling Basics......Page 295 12.12.4Modeling Paradigms and Languages......Page 296 12.12.6Taxonomy......Page 297 12.12.7Ontology......Page 298 12.12.8Object-Oriented Software Technology......Page 300 12.12.9Domain-Specific Modeling......Page 301 12.13Formal Languages......Page 302 12.13.1Architecture Description Languages......Page 303 12.13.2Model Explosion......Page 304 12.13.3Structural Models......Page 305 12.13.4Domain Model......Page 306 12.13.5Business Object Model......Page 308 12.14.1Complexity......Page 312 12.14.2Complexity Tracking......Page 314 12.14.3Complexity Management......Page 315 12.14.4Active Simplification Step in Development Process......Page 316 References......Page 317 13.1Dependability and its Elements......Page 331 13.3.1Introduction......Page 334 13.3.2Policy Process......Page 335 13.4Resilience Architecture Principle #2: Vertical Architectures......Page 337 13.5Resilience Architecture Principle #3: Fault Containment Regions......Page 340 13.6Resilience Architecture Principle #4: Single Points of Failure......Page 342 13.7Resilience Architecture Principle #5: Multiple Lines of Defense......Page 345 13.8Resilience Architecture Principle #6: Fail-Safe States......Page 347 13.9Resilience Architecture Principle #7: Graceful Degradation......Page 349 13.10Resilience Architecture Principle #8: Dependable Foundation (Infrastructure)......Page 351 13.11Resilience Architecture Principle #9: Monitoring......Page 353 References......Page 355 14.1Introduction......Page 359 14.2.1Context......Page 361 14.2.2Information Protection......Page 363 14.3Functional Security......Page 366 14.3.1Infiltration......Page 367 14.3.2Malicious Modification......Page 368 14.3.3Secure Software Development......Page 369 14.4.1Introduction......Page 370 14.4.2Safety Analysis......Page 371 Safety Case......Page 374 14.4.4Safety-Systems Infrastructure......Page 375 14.5.1CPS and CPSoS......Page 377 14.5.2Internet of Things......Page 378 Emerging Properties......Page 379 References......Page 380 Conclusion......Page 386 References......Page 387 Index......Page 388 Software is a crucial success factor for most of today's products and services. The tremendous impact of software on all areas of our jobs, lives, the environment and on society is undisputed and is growing every day. The software community has a responsibility to produce and operate useful, dependable, and trustworthy software. The software should at the same time provide business value and guarantee a number of quality of service properties, such as security, safety, performance, integrity, etc. The lion's share of current software investment is not for greenfield creation, but for the extension and evolution of existing software-systems. These systems are often very large, mission-critical, and long-lived. They need to be sustainable, both commercially and qualitatively. We call these "future-proof software-systems." Experience has shown that a first-rate architecture is the foundation of future-proof software-systems. Therefore, the focus of this book is on architecture and architecture's value for long-lived, mission-critical, trustworthy systems. This objective is achieved by using: " The powerful evolution strategy "Managed Evolution"; " The engineering best practice "Principle-Based Architecting". Managed Evolution is based on a stepwise, risk-controlled, integrated approach leading to future-proof software-systems. In principle-based architecting, a set of proven, enforceable architecture principles are formulated and applied during each evolution cycle of the software-system. Following these architecture principles leads to the creation, evolution, and maintenance of superior, valuable architectures. This book does not represent a new development methodology but instead provides a set of good engineering practices that can be integrated into most development processes for the development of future-proof software-systems. About the Author Frank J. Furrer graduated as an electrical engineer at the Eidgenössische Technische Hochschule in Zürich, Switzerland and earned his Ph. D. from the same institution. Afterward, he was active in the industry as an entrepreneur, as an architect, and as a management consultant for Information Technology and IT Systems Architectures. Since 2013, he teaches as an honorary professor at the Technische Universität Dresden, Germany (Faculty for Computer Science). This book represents the distilled outcomes of his long professional career as a software-systems architect, consultant, author, and educator

قیمت نهایی

۴۰٬۰۰۰ تومان