The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Difference between software architecture and software design

I was just wondering if anyone had any thoughts on what is the difference between software architecture and software design.
Saturday, May 05, 2007
I would say that "design" is what is done to achieve an architecture?
Daniel Send private email
Monday, May 07, 2007
In my view, architecture can cover issues beyond the scope of design, such as an entire line of products, or a range of versions of a single product. Architecture also deals with the famous "ilities", such as testability, upgradability, reliability, availability etc etc.

So yeah, much like Daniel says: "design" is what is done to achieve an architecture.
Monday, May 07, 2007
Go to the SEI website, or to their paper repository: SEIR
They have written a lot about architecture, and the difference with design
Luis Maya Send private email
Monday, May 07, 2007
In my experience, about $30k.
Monday, May 07, 2007
Not being one to be lazy, I have asked a person that refers to themself as an architect.  Here is what they told me.

Architecture is the blue print of the system.  It does not concern itself with the details of the sytem, but rather how components relate to one another. 

Design is the next level of detail.

Monday, May 07, 2007
An software architect is more likely to use existing, larger, applications/programs in his work. ex. an XML Web Service interface for a relational DB; then use a cubical representation of the database to generate reports.

Then someone will design the said webservice, with respect to sessions and authentication. Then you design the DB's table structure, possibly using existing modules for reporting and user management.

It's not written in stone anywhere (ROM... maybe) but design is closer to programming building a solid foundation for implementation while architects spend time solving business problems. I guess the philosophy (ideally) is that you need to go through the finer level of detail, coding, application design, to become a more effective system architect.

And a System Architect ]B-) sounds mightier than a Software Developer/Engineer =)
Serguei M. Send private email
Tuesday, May 08, 2007
The cynical view: Software Architecture is done by Software Architects and Software Design is done by Software Developers.

There is really no firm dividing line between the two; only a large overlapping gray area.  One really needs to understand the definitions used in his own work environment to make a useful definition.
Wayne M.
Tuesday, May 08, 2007
I don't know if there's an "official" definition. I guess I think of architecture as being about how different components of the entire system interact with each other, while design is slightly lower down on the abstraction slider and deals with the organization of the software (class model, etc.).

That's just my intuition about it, and not necessarily any kind of standard definition.
Jesse Send private email
Tuesday, May 08, 2007
Stan James Send private email
Wednesday, May 09, 2007

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz