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.
Table of Contents
1. Impact of Stability on Design Patterns’ Implementation
2. Pitfalls Categories Overview: Pitfalls in Traditional Software Patterns—The Factor of Immaturity
3. Engineering Stable Atomic Knowledge Patterns
4. Stable Analysis and Design Patterns: Unified Software Engine
II. SDPs’ Detailed Documentation Template
5. AnyActor Stable Design Pattern
6. AnyParty Stable Design Pattern
7. AnyEntity Stable Design Pattern
8. AnyData Stable Design Pattern
9. AnyEvidence Stable Design Pattern
10. AnyPrecision Stable Design Pattern
11. AnyCorrectiveAction Stable Design Pattern
12. AnyDebate Stable Design Pattern
III. SDPs’ Mid-Size Documentation Template
13. AnyHypothesis Stable Design Pattern
14. AnyConstraint Stable Design Pattern
15. AnyInteraction Stable Design Pattern
16. AnyTranslation Stable Design Pattern
17. AnyArchitecture Stable Design Pattern
IV. SDPs’ Short-Size Documentation Template
18. AnyDecision Stable Design Pattern
19. AnyConflict Stable Design Pattern
20. AnyView Stable Design Pattern
21. AnyModel Stable Design Pattern
22. AnyReason Stable Design Pattern
23. AnyConsequence Stable Design Pattern
24. AnyImpact Stable Design Pattern
25. AnyHype Stable Design Pattern
26. AnyCause Stable Design Pattern
27. AnyCriteria Stable Design Pattern
28. AnyMechanism Stable Design Pattern
29. AnyMedia Stable Design Pattern
30. AnyLog Stable Design Pattern
31. AnyEvent Stable Design Pattern
Appendix A. Detailed Pattern Documentation Template (Preferred)
Appendix B. Midsize Pattern Documentation Template
Appendix C. Short Pattern Documentation Template
Dr. M.E. Fayad is a full professor of Computer Engineering at San Jose State University. He was a J.D. Edwards Professor in Computer Science & Engineering at the University of Nebraska, Lincoln, from 1999 to 2002, and an associate professor at the computer science and computer engineering faculty at the University of Nevada from 1995 - 1999. He has more than 15 years of industrial experience. Dr. Fayad is an IEEE Distinguished Speaker, and an associate editor, editorial advisor, a columnist for The Communications of the ACM and his column is Thinking Objectively; a columnist for Al-Ahram Egyptians Newspaper; an editor-in-chief for IEEE Computer Society Press - Computer Science and Engineering Practice Press (1995-1997); a general chair of IEEE/Arab Computer Society International Conference on Computer Systems and Applications (AICCSA 2001), Beirut, Lebanon; and the founder and president of Arab Computer Society (ACS) from April 2004 to April 2007.
Dr. Fayad is a known and well recognized authority in the domain of theory and the applications of software engineering. Fayad’s publications are in the very core, archival journals and conferences in the software engineering field.Dr. Fayad has published more than 218 papers, 84 advanced articles in refereed conferences, more than 20 well-received and cited journal columns, 16 blogged columns; 11 well-cited theme issues in prestigious journals and flagship magazines, 24 different workshops in very respected conferences, and over 125 tutorials, seminars, and short presentations in more than 30 different counties. Dr. Fayad has also filed for eight patents and has developed over 800 stable software patterns. Dr. Fayad received an MS and a PhD in computer science from the University of Minnesota at Minneapolis. His research topic was OO Software Engineering: Problems & Perspectives. He is the lead author of several classic Wiley books.