Xumda balances three distinct complementary approaches to analysis: function, data, and control.
We do this through three basic models: process models for the functional view, information models for data, and state models for control.
Let’s take a look at each of these and see how by putting them together we create a truly complete analysis.
Analysis based upon function is probably the most common and familiar approach. You see it done by writing use cases, or by drawing flowcharts, UML activity diagrams, or, our choice, BPMN—that’s business process modeling notation.
Process models answer questions such as, “What do you do to achieve your goals?” “Who does what and when?” They’re presented as business processes organized into activities performed by different actors.
Constructs for conditionality and concurrency, allow you to model both the normal “happy day” scenarios as well as various alternate and exceptional situations. Through process models you get to understand the flows of activities in your business processes.
Process models also show the business entities, documents, and messages produced and consumed by the activities.
Now although process models refer to information, data isn’t their strength.
An information model identifies the things in the problem—for example the actors and the business entities—by detailing the properties of these things and the relationships between them.
Information models that answer these questions are drawn as entity-relationship diagrams or UML class diagrams.
There are rules that connect the elements of the models. For example, every actor and every business entity in the process models appears as a class in the information model.
Now many of the things in the information model have behavior patterns driven by the various process models. Sometimes these behavior patterns, or lifecycles, cross several process models.
We express these lifecycles using state models. These show how the things in the problem respond to the different activities from the process models.
Statecharts like these represent the lifecycles of the things in your domain. The complimentary state transition table is a highly effective means for finding unusual but plausible scenarios in a systematic way.
Do What Makes Sense
Together all three sets of models ensure a truly complete analysis.
Some problems lend themselves to starting with process modeling, but some don’t.
Some problems are better approached by starting with an information model, still others by starting with state models.
Our balanced approach keeps you from force-fitting every problem into a single technique.
You’ll do meaningful analysis every time because you apply the right models based upon the needs of your project.
This basic approach—eXecutable UML and Model-Driven Architecture—has been used on projects ranging from embedded devices to transportation logistics to specialized IT systems for the biotech industry.