وبلاگ بلیان

Stable Design Patterns for Software and Systems

معرفی کتاب «Stable Design Patterns for Software and Systems» نوشتهٔ Mohamed (san Jose State University, California) Fayad، منتشرشده توسط نشر Taylor & Francis;Auerbach Publications در سال 2017. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است. «Stable Design Patterns for Software and Systems» در دستهٔ بدون دسته‌بندی قرار دارد.

"Software stability concepts have shown great promise in the area of software reuse and lifecycle improvement. These innovative concepts produce unique models that are both stable over time and across various paradigm shifts within a given application context. The important idea behind stable design patterns is to design and create an enduring solution to the problem under consideration, with the goal of increased stability and broader reuse. This book presents novel, pragmatic approaches to understanding and solving software stability challenges."--Provided by publisher Attention to design patterns is unquestionably growing in software engineering because there is a strong belief that using made to measure solutions for solving frequently occurring problems encountered throughout the design phase greatly reduces the total cost and the time of developing software products. Stable Design Patterns for Software and Systems presents a new and fresh approach for creating stable, reusable, and widely applicable design patterns. It deals with the concept of stable design patterns based on software stability as a contemporary approach for building stable and highly reusable and widely applicable design patterns. This book shows that a formation approach to discovering and creating stable design patterns accords with Alexander's current understanding of architectural patterns. Stable design patterns are a type of knowledge pattern that underline human problem solving methods and appeal to the pattern community. This book examines software design patterns with respect to four central themes: How do we develop a solution for the problem through software stability concepts? This book offers a direct application of using software stability concepts for modeling solutions. How do we achieve software stability over time and design patterns that are effective to use? What are the unique roles of stable design patterns in modeling the accurate solution of the problem at hand and in providing stable and undisputed design for such problems? This book enumerates a complete and domain-less list of stable patterns that are useful for designing and modeling solutions for frequently recurring problems. What is the most efficient way to document the stable design patters to ensure efficient reusability? This book is an extension to the contemporary templates that are used in documenting design patterns. This book gives a pragmatic and a novel approach toward understanding the problem domain and in proposing stable solutions for engineering stable software systems, components, and frameworks. 9.2.8 Applicability with Illustrated Examples -- 9.2.8.1 Case Study: A Hospital Scenario -- 9.2.8.2 Scenario Use Case -- 9.2.9 Modeling Issues -- 9.2.9.1 Abstraction (for AnyEvidence BO) -- 9.2.9.2 Use of a Static Model (. Figure 9.4.) -- 9.2.10 Implementation Issues -- 9.2.11 Enduring Business Themes -- 9.2.12 Business Objects -- 9.2.13 Business Issues -- 9.2.14 Known Usage -- 9.3 Tips and Heuristics -- 9.3.1 For Every Pattern, There Should be Only One EBT -- 9.3.2 Need Iteration to Build Stable Pattern -- 9.3.3 There Should Not be Any Dependency between the Classes -- 9.3.4 Design Heuristics -- 9.4 Summary -- 9.5 Open and Research Issues -- 9.6 Review Questions -- 9.7 Exercises -- 9.8 Projects -- References -- Chapter 10: AnyPrecision Stable Design Pattern -- 10.1 Introduction -- 10.2 Pattern Documentation -- 10.2.1 Name: AnyPrecision Stable Design Pattern -- 10.2.2 Known As -- 10.2.3 Context -- 10.2.4 Problem -- 10.2.4.1 Functional Requirements -- 10.2.4.2 Nonfunctional Requirements -- 10.2.4.3 Properties -- 10.2.4.4 Constraints -- 10.2.4.5 Example -- 10.2.5 Challenges and Constraints -- 10.2.5.1 Challenges -- 10.2.5.2 Constraints -- 10.2.6 Solution -- 10.2.6.1 Class Diagram Description -- 10.2.6.2 Pattern Structure and Participants -- 10.2.6.3 CRC Cards -- 10.2.7 Consequences -- 10.2.7.1 Benefits -- 10.2.7.2 Limitations -- 10.2.8 Applicability with Illustrated Examples -- 10.2.8.1 .Case Studies 1.: Precision Navigation -- 10.2.8.2 .Case Studies 2.: Text Mining -- 10.2.9 Related Patterns and Measurability (. Figure 10.6.) -- 10.2.9.1 Traditional Model versus Stable Model -- 10.2.9.2 Measurability -- 10.2.10 Modeling Issues, Criteria, and Constraints -- 10.2.10.1 Abstraction -- 10.2.11 Design and Implementation Issues -- 10.2.12 Testability -- 10.2.13 Formalization -- 10.2.14 Business Issues -- 10.2.14.1 Business Rules 6.2.11.1 Business Rules -- 6.2.11.2 Business Models -- 6.2.11.3 Enduring Business Theme -- 6.2.11.4 Business Integration -- 6.2.11.5 Business Transformation -- 6.2.12 Known Usage -- 6.3 Tips and Heuristics -- 6.4 Summary -- 6.5 Review Questions -- 6.6 Exercises -- 6.7 Projects -- References -- Chapter 7: AnyEntity Stable Design Pattern -- 7.1 Introduction -- 7.2 AnyEntity Design Pattern Document -- 7.2.1 Pattern Name: AnyEntity Stable Design Pattern -- 7.2.2 Known As -- 7.2.3 Context -- 7.2.3.1 Scout Movement -- 7.2.3.2 Rotary International as a Universal Entity -- 7.2.4 Problem -- 7.2.4.1 Existence -- 7.2.4.2 AnyEntity -- 7.2.4.3 AnyParty -- 7.2.4.4 AnyObject -- 7.2.4.5 AnyState -- 7.2.4.6 AnyType -- 7.2.4.7 AnyResponsibility -- 7.2.4.8 AnyView -- 7.2.4.9 AnyData/AnyProperty -- 7.2.4.10 Functional Requirements -- 7.2.4.11 Nonfunctional Requirements -- 7.2.5 Solution -- 7.2.5.1 Class Diagram Description -- 7.2.5.2 CRC Cards -- 7.2.6 Consequences -- 7.2.6.1 Flexibility -- 7.2.6.2 Reusability -- 7.2.6.3 Generic -- 7.2.6.4 Easy to Integrate -- 7.2.6.5 Stable Pattern -- 7.2.7 Applicability with Illustrated Examples -- 7.2.7.1 Application No. 1: Database -- 7.2.7.2 Application No. 2: Healthcare -- 7.2.8 Modeling Issues -- 7.2.8.1 Abstraction -- 7.2.9 Design and Implementation Issues -- 7.2.10 Delegation Pattern -- 7.2.11 Java Code example -- 7.2.12 Testability -- 7.2.13 Business Issues -- 7.2.13.1 Business Models -- 7.2.13.2 Enduring Business Theme -- 7.2.13.3 Business Rules -- 7.2.13.4 Business Model -- 7.2.13.5 Business Integration -- 7.2.13.6 Business Transformation -- 7.2.14 Known Usage -- 7.2.15 Related Pattern and Measurability -- 7.2.15.1 Traditional Model (Meta Model) versus Stable Model (Pattern) -- 7.3 Summary -- 7.4 Open and Research Issues -- 7.5 Review Questions -- 7.6 Exercises -- 7.7 Projects -- References Cover -- Half Title -- Title Page -- Copyright Page -- Dedication -- Contents -- Preface -- Acknowledgments -- Author -- Section I: Introduction -- Chapter 1: Impact of Stability on Design Patterns' Implementation -- 1.1 Overview of Stable Design Patterns -- 1.2 Introduction -- 1.3 Context -- 1.4 Problem -- 1.5 Solution -- 1.6 Example -- 1.7 Summary -- 1.8 Review Questions -- 1.9 Exercises -- 1.10 Projects -- References -- Chapter 2: Pitfalls Categories Overview -- 2.1 Introduction -- 2.2 Traditional Patterns' Pitfalls -- 2.3 Summary -- 2.4 Review Questions -- 2.5 Exercises -- 2.6 Projects -- Reference -- Chapter 3: Engineering Stable Atomic Knowledge Patterns -- 3.1 Introduction -- 3.2 Software Stability and Stable Patterns: An Overview -- 3.3 SAK Patterns Concept -- 3.4 Essential Properties of SAK Patterns -- 3.5 Engineering Process for Developing SAK Patterns -- 3.6 Example of the SAK Patterns: AnyParty SAK Patterns -- 3.7 Summary -- 3.8 Review Questions -- 3.9 Exercises -- 3.10 Projects -- References -- Chapter 4: Stable Analysis and Design Patterns -- 4.1 Introduction -- 4.2 Developing Software with Patterns -- 4.3 Stable Analysis Patterns -- 4.4 Proposed USE -- 4.5 Example -- 4.6 Summary -- 4.7 Review Questions -- 4.8 Exercises -- 4.9 Projects -- References -- Section II: SDPs' Detailed Documentation Template -- Chapter 5: AnyActor Stable Design Pattern -- 5.1 Introduction -- 5.2 AnyActor Design Pattern Document -- 5.2.1 Pattern Name: AnyActor Stable Design Pattern -- 5.2.2 Known As -- 5.2.3 Context -- 5.2.4 Problem -- 5.2.4.1 Functional Requirements -- 5.2.4.2 Nonfunctional Requirements -- 5.2.5 Challenges and Constraints -- 5.2.5.1 Challenges -- 5.2.5.2 Constraints -- 5.2.6 Solution -- 5.2.6.1 Pattern Structure and Participants -- 5.2.6.2 Class Diagram Description -- 5.2.6.3 CRC Cards -- 5.2.7 Consequences 5.2.7.1 Flexibility -- 5.2.7.2 Reusability -- 5.2.8 Applicability with Illustrated Examples -- 5.2.8.1 Application No. 1: AnyActor in Musical Theater Context -- 5.2.8.2 Application No. 2: AnyActor in the Network System -- 5.2.9 Design and Implementation Issues -- 5.2.9.1 Design Issues (Only Two of the Following Issues) -- 5.2.9.2 Implementation Issues (Two of the Following Issues) -- 5.2.9.3 Implementation Delegation Pattern -- 5.2.10 Related Patterns and Measurability -- 5.2.10.1 Traditional Model (Meta Model) versus Stable Model (Pattern) -- 5.2.11 Business Issues (Two of the Following Issues) -- 5.2.11.1 Business Rules -- 5.2.11.2 Business Models -- 5.2.11.3 Business Integration -- 5.2.11.4 Business Transformation -- 5.2.12 Known Usage -- 5.3 Tips and Heuristics -- 5.4 Summary -- 5.5 Review Questions -- 5.6 Exercises -- 5.7 Projects -- References -- Chapter 6: AnyParty Stable Design Pattern -- 6.1 Introduction -- 6.2 AnyParty Design Pattern Document -- 6.2.1 Pattern Name: AnyParty Stable Design Pattern -- 6.2.2 Known As -- 6.2.3 Context -- 6.2.4 Problem -- 6.2.4.1 Functional Requirements -- 6.2.4.2 Nonfunctional Requirements -- 6.2.5 Challenges and Constraints -- 6.2.5.1 Challenges -- 6.2.5.2 Constraints -- 6.2.6 Solution -- 6.2.6.1 Pattern Structure and Participants -- 6.2.6.2 Class Diagram Description -- 6.2.6.3 CRC Cards -- 6.2.7 Consequences -- 6.2.8 Applicability with Illustrated Examples -- 6.2.8.1 Application No. 1: AnyParty in Political Scenario -- 6.2.8.2 Application No. 2: AnyParty in the Context of Interaction between Two Countries -- 6.2.9 Design and Implementation Issues -- 6.2.9.1 Design Issues (Two or Three of the Following Issues) -- 6.2.10 Related Pattern and Measurability -- 6.2.10.1 Traditional Model (Meta Model) versus Stable Model (Pattern) -- 6.2.10.2 Testability -- 6.2.11 Business Issues Chapter 8: AnyData Stable Design Pattern -- 8.1 Introduction -- 8.2 AnyData Design Pattern Document -- 8.2.1 Pattern Name: AnyData Stable Design Pattern -- 8.2.2 Known As -- 8.2.3 Context -- 8.2.4 Problem -- 8.2.4.1 Functional Requirements -- 8.2.4.2 Nonfunctional Requirements -- 8.2.5 Challenges -- 8.2.6 Solution -- 8.2.6.1 Pattern Structure and Participants -- 8.2.6.2 Class Diagram Description -- 8.2.6.3 CRC Cards -- 8.2.7 Consequences -- 8.2.7.1 Reusability -- 8.2.7.2 Flexibility -- 8.2.7.3 Extensibility -- 8.2.7.4 Adaptability -- 8.2.8 Applicability with Illustrated Examples -- 8.2.8.1 Application: AnyData in Healthcare to Prescribe Medicine -- 8.2.8.2 Application: Collection of Data for Weather Forecast -- 8.2.9 Modeling Issues -- 8.2.9.1 Abstraction -- 8.2.9.2 Simplicity versus Complexity -- 8.2.10 Design and Implementation Issues -- 8.2.10.1 Initialization Pattern -- 8.2.10.2 Implementation Example -- 8.2.11 Related Pattern and Measurability -- 8.2.11.1 Traditional Model (Meta Model) versus Stable Model (Pattern) -- 8.2.12 Business Issues -- 8.2.12.1 Business Rules -- 8.2.12.2 Business Model -- 8.2.12.3 Business Integration -- 8.2.12.4 Business Transformation -- 8.2.13 Known Usage -- 8.3 Summary -- 8.4 Open and Research Issues -- 8.5 Review Questions -- 8.6 Exercises -- 8.7 Projects -- References -- Chapter 9: AnyEvidence Stable Design Pattern -- 9.1 Introduction -- 9.2 AnyEvidence Design Pattern Document -- 9.2.1 Pattern Name: AnyEvidence Stable Design Pattern -- 9.2.2 Known As -- 9.2.3 Context -- 9.2.4 Problem -- 9.2.4.1 Functional Requirements -- 9.2.4.2 Nonfunctional Requirements -- 9.2.5 Challenges and Constraints -- 9.2.5.1 Challenges -- 9.2.5.2 Constraints -- 9.2.6 Solution -- 9.2.6.1 "AnyEvidence" Stable Model -- 9.2.6.2 Class Description -- 9.2.6.3 CRC Cards -- 9.2.7 Consequences Software stability has great promise for promoting software reuse and lifecycle improvement. These innovative concepts produce unique models that are both stable over time and across various paradigm shifts within a given application context. This book presents novel, pragmatic approaches to understanding and solving software stability challenges.
دانلود کتاب Stable Design Patterns for Software and Systems