Slide 6

CSCI 201 Guest Lecture: Data Modeling


Why data modeling?

We have already seen where, in the robotic navigation problem, the problem nearly solves itself with the proper selection of a model. Proper modeling of the problem domain is one of the most important steps in software development.

The software development process usually involves iterating through a series of steps. The process usually goes something like this:

  • Define Requirements
  • Create a Data Model
  • Code the Prototype
  • Test the Prototype with Actual Users
  • Redefine Requirements
  • Modify the Data Model
  • Modify the Code
  • Retest
  • Problem Domains are Complex

    The previous examples had simple problem domains. The problem domains you encounter in practice can become extremely complicated. Modeling allows the use of simplifying abstractions while letting you determine if the model captures the essential features of the problem.

    Requirements Change

    Requirements always change. Assume from the beginning that the requirements will change. New requirments are added. Sometimes requirements are dropped. A good model will let you make these changes.

    Problem Domains Change

    In the robot navigation problem, the cars are parked. Suppose we add cars that are moving? In this case, the model needs to be modified to add velocity information to the cars.

    In the school scheduling problem, suppose the computer science department merges with the philosophy department (just suppose). Can the model handle the domain change?

    Next page


    Email: Richard dot J dot Wagner at gmail dot com

    dm03.htm, this hand crafted HTML file created October 18, 1997.
    Last updated October 22, 2010, by Rick Wagner. Copyright © 2010, all rights reserved.