What Is Software Architecture?

Most software architecture definitions involve references to one or more of the following:

  • Static structure of the software. Static structure refers to how elements of software relate to each other.

  • Dynamic structure of the software, meaning the relationships that change over the lifetime of the software and determine what the software looks like when it is running.

  • Composition (or decomposition) of the software. This refers to the type of significant but smaller pieces, such as subsystems and modules, that can be part of the software.

  • Components and interaction among them. This refers to the various pieces that make up the software and how they interact with each other.

  • Layers and interaction among them. Layering allows ...

Get Developing Enterprise Java Applications with J2EE™ and UML 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.