views:

578

answers:

4

What is the difference b/w Design and Architecture ?

hi , i have asked this question from many teachers but no one gave me satisfactory answer . these two terms are very diffused .. i am not getting them correctly .. waiting for an accurate answer...

any real time example or scenario that can elaborate this difference ??

+2  A: 

In my understanding, design is more specific to one system. Two systems could have a similar design but share the same architecture.

So a design defines how a chosen architecture is applied to the given requirements. (or something like this)

But this is more a feeling of mine, so I'm interested in other answers ...

MartinStettner
+1  A: 

See architecture and design.

The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships between them. [...] Documenting software architecture facilitates communication between stakeholders, documents early decisions about high-level design, and allows reuse of design components and patterns between projects.

--

Software design is a process of problem-solving and planning for a software solution. After the purpose and specifications of software are determined, software developers will design or employ designers to develop a plan for a solution. It includes low-level component and algorithm implementation issues as well as the architectural view.

--

So they share parts with each other, but they refer to slightly different aspects of software. Technically speaking, architecture should include all aspects, but in reality they usually refer to high level topology or structure of software. For example, making decision about whether to implement a system as a file-based command line software, a web app, or an n-tier rich internet application would be an architectural decision.

Software design includes making architectural decisions, but it would include much deeper ones like how many characters address1 should be in a database, which is not really an architectural decision.

Edit: To simplify the difference, architecture refers to known patterns of software solution, often involving placement and relationships between subcomponents/tiers/layers. The patterns also specify how and where the data is stored, processed, and presented. An architecture is something that could be described using boxes and arrows, such as autonomous robotic paradigms.

The software design is a process of thinking about solutions to the given software requirements. Each problem is unique in its own ways, so design would be different.

eed3si9n
A: 

my take on this..

  • Design is the process of planning how you're going to structure your software

  • Architecture is the reality of how your codebase is structured. If your code is not structured you can't really claim to have an architecture.

Ideally you'd get your architecture from a design phase (or series of design periods during a codebases lifetime), but sometimes good architecture can come from continuous incremental improvements from refactoring, and just a sense of doing what is 'right'.

These aren't formally defined words though ;)

A: 

Architectures are designed. But not the other way around. 'Architecture' is typically used to identify and name the design of a large (multi-tier) system. A system is by definition the collaboration of multiple components or subsystems. One may call it 'system design' or just 'design', but architecture, for one reason or another, gives it a more just weight as it begs to differ from the design of its subsystems or components.

Ash