• Skip to main content
  • Skip to header right navigation
  • Skip to site footer

Shaping Software

Enduring Ideas in the Realm of Software

  • About
  • Topics
  • Best Software Engineering Books
  • Lessons in Software
  • Archives
  • JD Meier.com

Architectural Patterns vs. System Metaphors

Aug 10, 2008 by JD

What’s the difference between an architectural pattern and a system metaphor?  An architectural pattern describes a coarse-grained solution at the level of subsystems or modules and their relationships.  A system metaphor is more conceptual and it relates more to a real-world concept over a software engineering concept.  In A Practical Guide to Enterprise Architecture (The Coad Series), James McGovern, Scott W. Ambler, Michael E. Stevens, James Linn, Vikas Sharan, and Elias K. Jo write about the difference between architectural patterns vs. system metaphors.

Key Take Aways

Here’s my key take aways:

  • Metaphors are understandable by both software people and customers.
  • A metaphor is more conceptual than a pattern.
  • One system can have multiple metaphors.

Architectural Patterns vs. System Metaphors

McGovern, Ambler, Stevens, Linn, Sharan, and Jo write the following:

Architectural patterns are meant for software people to use and understand.  One must study the pattern and understand the concept.  MVC or pipes and filters have little or no basis in real life.  The difference between an architectural pattern and a system metaphor is that a system metaphor is understandable by software people and customers alike.

Example Metaphors

McGovern, Ambler, Stevens, Linn, Sharan, and Jo provide example metaphors:

  • Library
  • Stack
  • Queue
  • Desktop
  • Account
  • Directory
  • Window
  • Scheduler
  • Dispatcher

One System, Many Metaphors

McGovern, Ambler, Stevens, Linn, Sharan, and Jo write the following:

A system can have many metaphors, but the metaphors have to make sense within the system to maintain its conceptual integrity.  For example, Microsoft Windows has a desktop that contains windows.  Would it have been better for windows to be placed on a wall?  Are windows meant to move around the wall?  By combining multiple metaphors some aspects of the metaphors must be forgotten and other must be emphasized.  With time, the system itself can become a metaphor.  We no longer think about the Windows desktop relating to a physical desktop or a window relating to an actual window.  Products can become metaphors in themselves.  For example, a new system could say that the user interfaces is like the Windows desktop.

Additional Resources

  • (Wikipedia) Architectural Patterns
  • (WIkipedia) Examples of Architectural Styles/Patterns
Category: Architecture, PatternsTag: Architecture, Patterns

About JD

Previous Post:Adding People to Late Projects Makes Them Later
Next Post:Architectural Styles, Patterns, and MetaphorsArchitectural Styles

Reader Interactions

Trackbacks

  1. Architectural Styles, Patterns, and Metaphors says:
    Aug 10, 2008 at 8:11 pm

    […] Architectural Patterns vs. System Metaphors No Comments, Comment or Ping […]

  2. A Functional Skeleton of the System as a Whole says:
    Aug 26, 2008 at 1:34 pm

    […] Architectural Patterns vs. System Metaphors No Comments, Comment or Ping […]

Sidebar

Recent Posts

  • Best Software Books of All Time According to a Microsoft Exec
  • How To Effectively Pitch a Business Idea (Customer, Problem, Competition, and Success)
  • Customer-Connected Engineering at patterns & practices
  • Lessons in Software Development from Eric Brechner
  • Best Practices at patterns & practices

Popular Posts

Best Software Engineering Books
Best Practices for Project Management
Best Practices for Software Development
Customer-Connected Engineering
How To Frame Problems Better
How To Pitch Business Ideas Better
How To Structure Vision Scope Presentations
Intro to Lean Software Development
Lean Principles for Software Development
The Enterprise of the Future