Codeproject has a nice article on the subject..(does not fully answer your question, but a nice read)
In a nutshell, I would put the above three in the following bucket (this is just my interpretation)
- Architecture (satisfies various stakeholders by providing relevant views of the system and includes non functional and infrastructural decisions)
- Design (specific to a requirement. How does the proposed solution meets the functional (in general) requirements of the system)
- Framework (is a reusable software artifact).
Hope this helps.
Rajesh Pillai, Mar 02, 2011