© John F. Dooley 2017

John F. Dooley, Software Development, Design and Coding, https://doi.org/10.1007/978-1-4842-3153-1_5

5. Software Architecture

John F. Dooley

(1)Galesburg, Illinois, USA

What do we mean by a software architecture? To me the term architecture conveys a notion of the core elements of the system, the pieces that are difficult to change. A foundation on which the rest must be built.

—Martin Fowler1

Once you have an idea of what you’re going to build, then you can start thinking about how you’re going to build it. Of course, you’ve already been thinking about this from the very first requirement, but now you have permission to do it. Here we begin to delve into design.

There are really two levels of software design. The level we ...

Get Software Development, Design and Coding: With Patterns, Debugging, Unit Testing, and Refactoring now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.