Contribution 22

From WikiContent

(Difference between revisions)
Jump to: navigation, search
(New page: == Architects focus is on the boundaries and interfaces == Since Lord Nelson destroyed the French and Spanish fleet at Trafalgar in 1805, "divide an conquer" has been the mantra for deali...)
(Architects focus is on the boundaries and interfaces)
Line 1: Line 1:
== Architects focus is on the boundaries and interfaces ==
== Architects focus is on the boundaries and interfaces ==
-
Since Lord Nelson destroyed the French and Spanish fleet at Trafalgar in 1805, "divide an conquer" has been the mantra for dealing with complex and difficult problems. The challenge is that its easier said than done, at least if your intension is a working system at the end. Hacking something to pieces does not help solve the type of problems we find in complex systems.
+
Since Lord Nelson destroyed the French and Spanish fleet at Trafalgar in 1805, "divide an conquer" has been the mantra for dealing with complex and difficult problems. The challenge is that its easier said than done, at least if your intension is a working system at the end. Hacking something to pieces is seldom constructive.
-
 
+
-
Therefore the architects focus should be on the boundaries and interfaces when a large problem is partitioned into smaller ones that can be solved in isolation, and later integrated into a whole. The systems internal integrity depends on this.
+
-
 
+
-
In doing so, experienced architects lend themselves to a set of useful heuristics:
+
-
 
+
-
- Choose the element so they are as independent as possible, in other words, choose elements with low external complexity and high internal complexity. Another word for the same idea is high cohesion, low coupling.
+
 +
Therefore the architects focus should be on the boundaries and interfaces when a large problem is partitioned, and later integrated into a working whole. At the end, the systems internal integrity and quality depends on this.
 +
To help guiding the partitioning the following heuristics might help:
 +
Choose the element so they are as independent as possible, or in other words choose elements with low external complexity (simple) interfaces and high internal complexity. Expressed in the language of a software developer strive for high cohesion, low coupling.

Revision as of 12:59, 15 May 2008

Architects focus is on the boundaries and interfaces

Since Lord Nelson destroyed the French and Spanish fleet at Trafalgar in 1805, "divide an conquer" has been the mantra for dealing with complex and difficult problems. The challenge is that its easier said than done, at least if your intension is a working system at the end. Hacking something to pieces is seldom constructive.

Therefore the architects focus should be on the boundaries and interfaces when a large problem is partitioned, and later integrated into a working whole. At the end, the systems internal integrity and quality depends on this.

To help guiding the partitioning the following heuristics might help:

Choose the element so they are as independent as possible, or in other words choose elements with low external complexity (simple) interfaces and high internal complexity. Expressed in the language of a software developer strive for high cohesion, low coupling.


By Einar Landre

This work is licensed under a Creative Commons Attribution 3


Back to 97 Things Every Software Architect Should Know home page

Personal tools