Stable Design Patterns for Software and Systems: 1st Edition (Hardback) book cover

Stable Design Patterns for Software and Systems

1st Edition

By Mohamed Fayad

Auerbach Publications

415 pages | 120 B/W Illus.

Purchasing Options:$ = USD
Hardback: 9781498703307
pub: 2017-09-01
SAVE ~$35.00
$175.00
$140.00
x
eBook (VitalSource) : 9781315119366
pub: 2017-09-01
from $28.98


FREE Standard Shipping!

Description

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 stabilityas 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.

Table of Contents

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

About the Author

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 presidentof 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.

Subject Categories

BISAC Subject Codes/Headings:
COM051230
COMPUTERS / Software Development & Engineering / General
MAT000000
MATHEMATICS / General
TEC009000
TECHNOLOGY & ENGINEERING / Engineering (General)