Feasible solutions for establishing the model:

1. Communicate with professionals in the field by asking questions and answering questions.

2. Dig for nouns and processes in your domain.

3, try drawing, through the map to walk through the various scenes.

4. Learn from each other, eliminate the inconsistencies and ambiguities in terms together, refine the model, and finally draw the class diagram.

5. Simple implementation of core domain models, shielding irrelevant infrastructure and interfaces, unit testing and validation requirements.

Elements of effective modeling:

Binding of model and implementation. The initial prototype was rudimentary, but it established an early link between the model and implementation that we maintained through all subsequent iterations.

2. Build a model-based language.

3. Develop a knowledge-rich model. Objects have behaviors and mandatory rules. A model is not just a data schema, but an integral part of solving complex problems. Models contain various types of knowledge.

4. Refine the model. As the model becomes more complete, important concepts are added to the model, but just as important, concepts that are no longer used or unimportant are removed from the model. When an unwanted concept is associated with a desired concept, the important concepts are extracted into a new model, and the other unwanted concepts can be discarded.

Brainstorm and experiment. The language and sketches, combined with brainstorming activities, turned our discussions into “model laboratories” in which hundreds of variations could be demonstrated, tried and judged. When the team walks through the scenario, the spoken word itself serves as a test of the feasibility of the proposed model, because when people hear the spoken word, they can immediately tell whether it is clearly and succinctly expressed or clumsily expressed.

It was the creativity of brainstorming and lots of experimentation that allowed us to find and refine a knowledge-rich model, helped by model-based languages, and “trained” by feedback loops throughout the implementation process. This knowledge digestion turns the team’s knowledge into valuable models.