Key abstractions are the key concepts and abstractions that the system needs to handle. They are those things that,
without which, you could not describe the system.
The requirements are good sources for key abstractions. These abstractions are often easily identified because they
represent things that are significant to the business. For example, Customer and Account are typical key abstractions
in the banking business.
Each key abstraction should have a short description. The are usually not described in detail as they will change
and evolve during the course of the project (as they are refined into actual design elements).
The value of defining the key abstractions (and any obvious relationships between them) is that they establish a common
understanding of the key concepts amongst the team, thereby enabling them to develop a coherent solution that
handles them consistently.
|