1st Edition

Stable Design Patterns for Software and Systems

By Mohamed Fayad Copyright 2018
    445 Pages 120 B/W Illustrations
    by Auerbach Publications

    445 Pages 120 B/W Illustrations
    by Auerbach Publications

    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:

      1. 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.
      2. How do we achieve software stability over time and design patterns that are effective to use?
      3. 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.
      4. 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.

    I. Introduction
    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
    32. Conclusions

    Appendix A. Detailed Pattern Documentation Template (Preferred)
    Appendix B. Midsize Pattern Documentation Template
    Appendix C. Short Pattern Documentation Template

    Biography

    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.