The discussion about whether modeling is good or bad does is not really appropriate. We all and always create a mental model of the system before coding it. As Olivé says in , the model always exists, the only option designers have is about its form: it may be mental (exists only in the designers heads) or explicit.
Therefore, the real discussion is whether the effort of making the models explicit is worth or not. Let me try to justify why I think this difference is important.
After this distinction, I think I can convince you that all arguments against modeling are not against modeling per se but against modeling using the current modeling languages and CASE modeling tools . That is, in my opinion, the problem is not modeling, the problem is the limitations of the tools we are forced to use when modeling!.
In fact, I strongly believe that a new generation of CASE tools that:
- Simplify the drawing of the models (e.g. allowing free-hand drawing of the models on a TabletPC, promoting simpler versions of the modeling notation for certain types of users and uses, allowing to combine or drag-and-drop elements from different types of diagrams when defining the models and so forth)
- Offer interesting model-based services (e.g. quality checks in a reasonable amount of time, model version control for distributed teams, code-generation services,…)
could end the “Modeling War” since then, clearly, the time invested in making the models explicit (now less) would pay off thanks to benefits of the model-based services.
I don’t think having one of these tools is science fiction at all. Most of these aspects have already been published as prototypes or research papers. We just need to combine them in a single tool. Maybe it is just me, but I would be very excited if I had a tool that could let me use my TabletPC TO sketch a class diagram, get an immediate feedback that the model is OK and automatically generate the DDL script for my preferred DBMS. Don’t you agree? If you had that tool (or, even better, picture the tool of your dreams), wouldnt you start thinking that maybe modeling (better said: explicit modeling) is not such a bad idea?
 Antoni Olivé: ON the Role OF Conceptual Schemas IN Information Systems Development. ADA-Europe 2004: 16-34
If you enjoyed this post you can subscribe to this Software Modeling blog , to the portal’s mailing list , follow me on twitter and/or participate in the forums . And if you really liked it help me pass it on to others by sharing the post using the links below. Don’t forget to check our consulting , advertising and code-generation services either!