The Artima Developer Community
Sponsored Link

Weblogs Forum
Design vs. Architecture

18 replies on 2 pages. Most recent reply: Oct 4, 2007 9:19 PM by Sudhanshu Tripathy

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 18 replies on 2 pages [ « | 1 2 ]
Emil Koutanov

Posts: 1
Nickname: redfox
Registered: May, 2006

Re: Design vs. Architecture Posted: May 29, 2006 5:55 PM
Reply to this message Reply
It is impossible to argue against the fact that architecture itself, i.e. the process of architecting, is an analytical process, one that ultimately produces a design artefact. Thus arguing that architecture and design should be separated in nonsensical. Many a software engineer have split the design process into an architectural phase, a high-level design and a low-level design phase. In reality, all these are representative of the design effort, albeit at different levels of granularity. An architectural model is an extremely high level view of the system - a design that is fed as input into the next phase, where it is elaborated upon and fed into a yet another phase. This is repeated until an executable solution is derived. But wait, implementation is still largely design. In large systems, often one might find themselves implementing from a class diagram, but the latter does not specify intrinsic details of the source code, merely relations, attributes and method signatures. The implementor still has to design the internals of each method, branching, loop structure, e.g. whether to iterate or recurse. Even testing involves design - the design of test cases, that is.

Conclusion: nearly everything is design. The base term itself should NEVER be used to describe any particular phase of a software engineering effort, and juxtaposing architecture against design is a non-argument. Instead, it is more benificial to draw boundaries between architecture and high-level (or is it mid-level :)) design. Now, this is only a matter of scope, and I can make this distinction in two paragraphs:

1) Architecture - a very high-level view intended primarily to convey the design to ALL stakeholders of the system. Not just developers but customers. This is often the common "textbook" definition, but it doesn't capture everything. Architecture also serves as a "vector" of the remaining development process. All subsequent design decisions must fit within the archictural model, and in effect, imposes constrains on the development effort.

2) High/low level design - models of the system that are NOT intended for ALL stakeholders, but only those who are/will be directly involved in the process of producing the system.

The distinction between the two is clear, and it is a matter of knowing when to stop. The boundary of architecture equates to the boundary of the customer's capacity to comprehend it. Anything more is lower-level elaboration - what is commonly misreferenced to as "design".

[Emil Koutanov]

anil musku

Posts: 2
Nickname: manil79
Registered: Jan, 2007

Re: Design vs. Architecture Posted: Jan 11, 2007 12:04 AM
Reply to this message Reply
> So different softwares designs can actually use the same
> architecture. How things transport? Roads to allow
> things to travel. What travels and how they travel on
> such roads can be designed.

Annon (Hong),

The analogy you give (with regards to "building the road" versus "who uses the road or how") is akin to a framework (e.g. the Struts MVC framework) and an application (any web-application). Both the framework and the application will have an Architecture and require Design.


anil musku

Posts: 2
Nickname: manil79
Registered: Jan, 2007

Re: Design vs. Architecture Posted: Jan 11, 2007 12:25 AM
Reply to this message Reply
Here is some related info from the SEI/CMU:

Emil's views are along the same lines. The two paragraph summary is interesting as it rightly (IMO) points out the intended recipients of an Architecture and a Design.

In the 2 links that John provided - Signs & Roads respectively - the latter mentions an Architecture proposed by Hans (Monderman), one that discourages Signs, among other things. The same article also mentions the community of Radburn's Architecture for Roads which encourages the use of Signs (the same Architecture is prevalent in much of America where there is an extensive use of Signs). Someone proposing or presenting this architecture would only highlight points like "wide roads and narrow sidewalks" (to clearly separate the space for automobiles from that for humans/animals), "traffic lights", "warning/info signs", etc. Exactly how wide the roads would be or how high/bright the lights would be or how clear/contrasting the Signs would be are left to the imagination of "that" audience; they would be the responsibility of researchers or development teams with the domain knowledge - this is what is indicated in the first link (about the Typeface/Signs).

Just my 2 cents.


Sudhanshu Tripathy

Posts: 1
Nickname: stripathy
Registered: Oct, 2007

Re: Design vs. Architecture Posted: Oct 4, 2007 9:19 PM
Reply to this message Reply
Here is my 2 cents:

Irrespective of the indusrty we are talking about, basic concepts for Architecture and Design remains the same.

"You design an Architecture to architect the Design"


Flat View: This topic has 18 replies on 2 pages [ « | 1  2 ]
Topic: Design vs. Architecture Previous Topic   Next Topic Topic: What Matters About Python?

Sponsored Links


Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use