Takeaways
In any non trivial information system its internal state is a key determinant of its behavior. The state of modern systems is large and complex, requiring dedicated effort to understand it and design it.
Software engineers and Computer Scientists have developed tools to describe this complexity and to implement large scale state storage and management.
In modern enterprise systems, Object Oriented Design provides a strong set of abstractions that address cognitive tools including Classification, Composition, Patterns, Relationships an identity. These concepts are expressed in programming languages, and in the UML notation, which is widely adopted to describe state structure in classes, their relationships and behaviors.
There are many storage technologies to implement state management in a system and a variety of them must be used in any real system. RDBMs, Document databases, key-value stores and other are widely available technologies, but they require adaptation and mapping of the information model.
Before finalizing the design of the information model, non-functional considerations need to be taken into account before the work is split into implementation tasks, as some of the design decisions require the scope of the complete information model.