Having worked with data for a long time, I have found that creating a logical data model sets the framework for a successful project. Which led me to this thought.
•Aeronautical Engineering is constrained by immutable laws of nature (e.g. gravity) while software can be written without such constraints.
•For software, can data architecture concepts be applied to create immutable laws for software engineering?
A solution centers around data for several reasons:
- Well defined data is both the input to and output from all business processes.
Applying these data concepts creates immutable laws which software development must follow:
- Proper Entity and Relationship definitions
- Understanding State Change
- Understanding Transformation from one entity to another entity (e.g. Applicant to Employee)
- Data use in Context
- Business Process Span of Control
Email firstname.lastname@example.org if interested in understanding how to use data for your solution design from a high-level to micro-services.
Check out this link below to see an example of the approach for an ITsmf process. Each open box in the diagram references data needed by the process and simple example of how data helps constrain the software design.