Software design defines the structure, components and interactions of a system to satisfy functional and non-functional requirements. It captures decisions about modularity, interfaces and patterns and links requirements to implementation. Good design increases maintainability, scalability and supports long-term evolution through documented decisions and tra…
Use this profile to understand the building block briefly, place it in the model, and switch to the 360° assessment when needed.
Theoretical construct: explains a term, principle, or mental model.
What organizes, connects, or makes decisions possible.
Software design turns requirements into concrete structures, responsibilities, interfaces, and interactions within a software system.
Software design developed as an engineering discipline between requirements analysis and implementation. IEEE 1016 describes contents that can make a software design description understandable and traceable.
Decide at component and interaction level: which responsibility belongs where, which contracts govern interfaces, and which invariants must hold? Assess designs for changeability, clarity, and risk. Architecture sets the frame; design makes it concrete.
Each component has a bounded purpose and an appropriate reason to change.
An explicit contract governs interaction between components.
A design exposes compromises among simplicity, performance, security, and changeability.
Software design determines how requirements become durable code. It is finer-grained than architecture and differs from planning by focusing on solution structure rather than schedule or resource control.
Where this building block is located in the topic model.
Explore how this building block connects to concepts, methods, technologies, and tools.
These sources establish the term and its professional meaning.
All direct connections of the current building block in a compact text view.
This classification shows where the building block typically matters, how demanding it is, and what kind of impact it has in the model.
The level within the organization (enterprise, domain, team) at which the AssetBlock is applied.