25 December 2007

Software Engineering: Patterns (Definitions)

"A named description of a problem, solution, when to apply the solution, and how to apply the solution in new contexts." (Craig Larman, "Applying UML and Patterns", 2004)

"A named strategy for solving a recurring problem." (Bruce MacIsaac & Per Kroll, "Agility and Discipline Made Easy: Practices from OpenUP and RUP", 2006)

"A reusable entity representing knowledge and experience aggregated by an expert in solving a recurring problem in a domain." (Pankaj Kamthan, "A Perspective on Software Engineering Education with Open Source Software", 2007)

"Patterns (in the computer science sense) describe best practice solutions and different realization variants of a special group of systems. Patterns are abstractions from concrete forms. Examples are architecture patterns, design patterns, and process patterns." (Alke Martens & Andreas Harrer, "Software Engineering in e-Learning Systems", Encyclopedia of Information Technology Curriculum Integration, 2008)

"Patterns provide a proven solution to a repeating problem in a given context. In other words, patterns should be considered as a way to put artifacts into context and to describe a reusable solution to a recurring problem. These artifacts can be best practices, guidelines, services, blueprints, source code skeletons, and frameworks." (Martin Oberhofer et al, "Enterprise Master Data Management", 2008)

"A common combination of logic, interactions, and behaviors that form a consistent or characteristic arrangement. An important use of patterns is the idea of design templates that are general solutions to integration problems. They will not solve a specific problem, but they provide a sort of architectural outline that may be reused in order to speed up the development process." (David Lyle & John G Schmidt, "Lean Integration: An Integration Factory Approach to Business Agility", 2010)

"A recurring combination of data and task management, separate from any specific algorithm. Patterns are universal in that they apply to and can be used in any programming system. Patterns have also been called dwarfs, motifs, and algorithmic skeletons. Patterns are not necessarily tied to any particular hardware architecture or programming language or system." (Michael McCool et al, "Structured Parallel Programming", 2012)

"A general reusable solution to a commonly occurring problem within a given context." Sergey V Zykov, "Crisis Response and Management", 2018) 

No comments:

Related Posts Plugin for WordPress, Blogger...

About Me

My photo
IT Professional with more than 24 years experience in IT in the area of full life-cycle of Web/Desktop/Database Applications Development, Software Engineering, Consultancy, Data Management, Data Quality, Data Migrations, Reporting, ERP implementations & support, Team/Project/IT Management, etc.