Outside Assignment #2

Design for a System for Purchasing Houses Online

Due October 5th, 2000 at 5PM

Please turn in hard copies of each workproduct.

The hardcopies should be placed in the "turn in" box in the hall of the second level of Taylor.

The Austin Board of Realtors is setting up an online bidding system for purchasing homes. The system will work as follows. Buyers will submit bids for homes using a web browser. There are two kinds of homes: individual houses and condominium units. Individual houses for sale would be defined and described by an address, an asking price, a short English narrative describing the property and a date at which bids will be evaluated. Condominium units for sale would also include as attributes the monthly homeowners fee and the percent ownership of condominium common property by the unit which is for sale. Buyers have a name and a social security number. Bids include the home upon which the bid is submitted, the buyer's name, the date the bid is submitted and the offered price. When the date for the bids on a home to be evaluated occurs the system examines all of the bids for this home. If one or more bids which meet or exceed the asking price have been submitted then the highest bidder is selected and a contract is awarded to this buyer. The contract specifies the home and the sale price The home and the bids for the home are removed from the system. If no bid meeting the asking price for a home is made the price is lowered by 5% and a new date for bid evaluation 10 days after the first bid evaluation date is established. Address and Date are already existing classes. References to "address" and "date" should be taken as references to instances of these classes.

You are NOT responsible for the GUI which will drive this system. You need only to design the objects and classes which execute the functionality of the system.

This assignment is to be completed individually by each student with assistance only from the proctors. TAs and the instructor.

The example using the forms for this assignment done in the lecture on 9/21/2000 is a model for what is needed.

 

 

 

a) Design a set of objects which will implement these requirements. Fill in one table with the specifications for each object. That is, for each object you include in your design, give a name, list each attribute and the type and range of the attribute. For each action performed by an object specify that action. (The number of tables provided does not mean that there are or are not five objects. If you use more than five objects add additional tables on the back of the page.) If you include a separate object for a main program then make an entry for this object in this table.

Object Name

Attribute (Instance or Member Variable) Name

Narrative Specification for each action performed by the object.

   

 

 

 

   

 

 

 

 

   

 

 

 

 

   

 

 

 

 

   

 

 

 

 

 

 

 

Object Name

Attribute (Instance or Member Variable) Name

Narrative Specification for each action performed by the object.

   

 

 

 

   

 

 

 

 

   

 

 

 

 

   

 

 

 

 

   

 

 

 

 

Object Name

Attribute (Instance or Member Variable) Name

Narrative Specification for each action performed by the object.

   

 

 

 

   

 

 

 

 

   

 

 

 

 

   

 

 

 

 

   

 

 

 

 

Object Name

Attribute (Instance or Member Variable) Name

Narrative Specification for each action performed by the object.

   

 

 

 

   

 

 

 

 

   

 

 

 

 

   

 

 

 

 

   

 

 

 

 

 

Object Name

Attribute (Instance or Member Variable) Name

Narrative Specification for each action performed by the object.

   

 

 

 

   

 

 

 

 

   

 

 

 

 

   

 

 

 

 

   

 

 

 

 

  1. For each object you have defined, begin a class design by completing the following table. The instance variable declarations should include an defaults or initializations not covered in the constructors. Each entry should be syntactical correct Java.
  2. Class Header

    Instance Variable Declaration

       
       
       
       
       
       

    Class Header

    Instance Variable Declaration

       
       
       
       
       
       

    Class Header

    Instance Variable Declaration

       
       
       
       
       
       

    Class Header

    Instance Variable Declaration

       
       
       
       
       
       

    Class Header

    Instance Variable Declaration

       
       
       
       
       
       

     

     

  3. For each action that you specified for each object write the header for the corresponding class defining the object. Write the method header for each action implemented by the class. Include pre-conditions and post-conditions in the format of comments where they can be defined. You may wish to complete section d) before attempting this section. Each entry should be syntactically correct Java.
  4. Class Name

    Method Header for each action performed by the class

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    Class Name

    Method Header for each action performed by the class

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    Class Name

    Method Header for each action performed by the class

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    Class Name

    Method Header for each action performed by the class

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    Class Name

    Method Header for each action performed by the class

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  5. Construct a UML class diagram for each object. Construct a UML information model diagram giving the "has a" and "is a" relationships among all of the objects. These UML diagrams may be submitted as drawings in Word or PowerPoint or as diagrams prepared with one of the free UML diagram editors. Follow the formats for UML diagrams as given in Chapter 1 of Jia.
  6. Construct a UML sequence diagram for a buyer submitting a bid for a home. This UML diagram may be submitted as drawings in Word or PowerPoint or as diagrams prepared with one of the free UML diagram editors. Follow the formats for UML diagrams as given in Chapter 1 of Jia. (Figure 1.5)
  7. f) Draw the state diagram for the Home class. Label the states with the action executed at that state. Label the incoming arc to each state with any interesting precondition. This UML diagrams may be submitted as drawings in Word or PowerPoint or as a diagram prepared with one of the free UML diagram editors. Follow the formats for UML diagrams as given in Chapter 1 of Jia. (Figure 1.6)