Is there any term in software engineering more ambiguous than "software design"?
old.reddit.comThanks for linking to old. reddit; the new page noticeably increases power consumption.
Anyway, I think 'software engineering' makes less sense than 'software design'. Everything that made has a design, whether it was created intentionally or not, but only an intentionally planned design is engineered, so all software has a design but not all software is engineered.
Architecture maps responsibilities to capabilities. Analysis maps a problem space to a model. Design transforms a model into a better model. (This is implicitly iterative.) Implementation maps the designed model to buildables/deployables/runnables.