Application Data Modeling

foodtracingdatamodel

The diagram uses a data modeling notation that is a precursor to the UML class model.
This is an excerpt from US patent 2003/0236768.

Here is an example of a UML data model. Here is an example of an IE data model.

If you believe in software engineering, you should prepare a data model before building an application. Software development is expensive, so it is important to think carefully and deeply before writing code.

Compared to undisciplined development, an application with a sound data model is more coherent. You can more quickly write code against the resulting database. The code will have fewer bugs and run faster. And your application will be better poised to evolve and grow. You can construct a data model with only days or weeks of work so the cost is small compared to the benefits.

Modeling is also important for purchased software because it helps you communicate your needs to the vendors and assess their offerings. With vendor software you are investing in the purchase cost, training of your staff, and data conversion. You are also making a commitment, since you have to choose one package and forego the others. Once again, the cost of modeling is small when placed in the business context. Modeling can ensure that you wisely choose a package and can ease your deployment.

When building models, we consider all available inputs: prior database schema, existing documentation, use cases, screen mock-ups, sample reports, interviews with staff, data from related applications, and standard models. We have a world-class expertise in data modeling. We also have experience with patents and can help you patent key ideas.

See our O’Reilly video courses and recent books for more information about data modeling. We also give courses on data modeling — please inquire (blaha@computer.org) for details.