Software design patterns are kwn to play a vital role in enhancing the quality of software systems while reducing development time and cost. However, the use of these design patterns has also been kwn to introduce problems that can significantly reduce the stability, robustness, and reusability of software. This book introduces a new process for creating software design patterns that leads to highly stable, reusable, and cost-effective software. The basis of this new process is a topology of software patterns called kwledge maps. This book provides readers with a detailed view of the art and practice of creating meaningful kwledge maps. It demonstrates how to classify software patterns within kwledge maps according to their application rationale and nature. It provides readers with a clear methodology in the form of step-by-step guidelines, heuristics, and quality factors that simplify the process of creating kwledge maps. This book is designed to allow readers to master the basics of kwledge maps from their theoretical aspects to practical application. It begins with an overview of kwledge map concepts and moves on to kwledge map goals, capabilities, stable design patterns, development scenarios, and case studies. Each chapter of the book concludes with an open research issue, review questions, exercises, and a series of projects.
Dr. Mohamed E. Fayad is currently a full professor of computer engineering at San Jose State University, from 2002 to present. He was a J.D. Edwards Professor, Computer Science and Engineering, at the University of Nebraska, Lincoln, from 1999 to 2002; an associate professor at the computer science and computer engineering faculty at the University of Nevada, from 1995 to 1999; and an editor-in-chief for IEEE Computer Society Press-Computer Science and Engineering Practice Press, from 1995 to 1997. He has 15+ years of industrial experience. Dr. Fayad is an IEEE distinguished speaker, an associate editor, editorial advisor, a columnist for the Communications of the ACM (Thinking Objectively), and a columnist for the Al-Ahram newspaper (two million subscribers); he was a general chair of IEEE/Arab Computer Society International Conference on Computer Systems and Applications (AICCSA 2001), Beirut, Lebanon, June 26-29, 2001; he is the founder of Arab Computer Society (ACS), being its president 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. Dr. Fayad was a guest editor on 12 theme issues: CACM's OO Experiences, October 1995; IEEE Computer's Managing OO Software Development Projects, September 1996; CACM's Software Patterns, October 1996; CACM's OO Application Frameworks, October 1997; ACM Computing Surveys-OO Application Frameworks, March 2000; IEEE Software-Software Engineering in-the-Small, September/October 2000; International Journal on Software Practice and Experiences, July 2001; IEEE Transaction on Robotics and Automation-Object-Oriented Methods for Distributed Control Architecture, October 2002; Annals of Software Engineering Journal-OO Web- Based Software Engineering, October 2002; Journal of Systems and Software, Elsevier, Software Architectures and Mobility, July 2010; and Pattern Languages: Addressing the Challenges, Wiley Software: Practice and Experience, March-April 2012. Dr. Fayad has published more than 218 high-quality papers, which include profound and well-cited reports (more than 50) in reputed journals, 84 articles in refereed conferences, more than 20 well-received and cited journal columns, 16 blogged columns; 12 well-cited theme issues in prestigious journals and flagship magazines; 24 different workshops in respected conferences; and over 125 tutorials, seminars, and short presentations in 30+ different countries, such as Hong Kong (3 times), Canada (12 times), Bahrain (2 times), Saudi Arabia (4 times), Egypt (30 times), Lebanon (2 times), UAE (2 times), Qatar (2 times), Portugal (2 times), Finland (2 times), United Kingdom (3 times), Holland (3 times), Germany (4 times), Mexico (1 time), Argentina (3 times), Chile (1 time), Peru (1 time), Spain (1 time), and Brazil (1 time). Dr. Fayad is founder of seven online journals, NASA Red Team Review of QRAS and NSF-USA Research Delegations' Workshops to Argentina and Chile, and four authoritative books, of which three are translated into different languages, such as Chinese; over five books are currently in progress. Dr. Fayad is filing for eight valuable and innovative 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 title was OO Software Engineering: Problems and Perspectives. He is the lead author of several classic works: Transition to OO Software Development, August 1998; Building Application Frameworks, September 1999; Implementing Application Frameworks, September 1999; Domain-Specific Application Frameworks, October 1999. Dr. Fayad's books in progress include Stable Analysis Patterns, Stable Design Patterns, Unified Software Architectures, Service and Production Engines, Moviemaking: UML and Knowledge Map in Action, UML in Action, Unified Software Engine, and Knowledge Map: True Domain Analysis Approach. Huascar