CS 4311 Winter 2005 (Yang) Homework 1

due Jan. 12, 4pm by going to Course Materials on Blackboard, then the Homework 1 item, then "View/Complete Assignment".

Define a domain model for the essentials of a spreadsheet like Excel, MS Works Spreadsheet or Lotus 1-2-3. By "essentials", I mean that the application should have a two-dimensional array of cells (boxes) which can contain strings, numbers or formulas. The formulas can include computations based on the values in other cells. For MS Excel, "=sum(a1:b3)" would produce the sum of the values included in the specified range. Note that "a" refers to the first column, "b" to the second and so on. In this case the six cells are a1, a2, a3, b1, b2, b3. If you enter numerical values into those 6 cells, you should find the value in the cell containing the above formula will be updated every time one of those 6 cells is modified. Note that this example is only for purposes of illustration -- your domain model should not assume the syntax or user interface of any spreadsheet product.

Draw the domain model -- a neat, hand-drawn diagram may be handed in separately, but you have other options, including Rational Rose in the labs, MS Visio and dia, an open source version somewhat like Visio.