Midterm Review

  1. Be able to explain the all-caps words in the following contexts: Discussion

  2. You are creating a simulation of an engine with a particular emphasis on modeling the flow of fuel through the engine (e.g., if we were to cause a clogged fuel line, our model would show a lack of fuel to the carburetor and pistons). Discussion

  3. Consider the Vending Machine simulation discussed in class. The list below identifies the classes which were the central ones in implementing the Vending Machine.
    Classes
    CashDevice
    CashDeviceViewContainer
    DisplayBox
    DisplayBoxController
    DispensingHolder
    Item
    ItemViewContainer
    ModelValueViewContainer
    
    Discussion

  4. What role does inheritance have in a whole-part organization? In a specialization-generalization organization? Discussion

  5. Below is one method from the Vending Machine simulation.
    dispense: itemToDispense 
    
    	self isEmpty ifTrue: [^false].
    
    
    	(self itemIsDispensable: itemToDispense) ifFalse:
    		 [^false].
    
    
    	self printItem:  itemToDispense .
    
    
    	self activateDispenser.
    
    
    	self disconnectWithItem: itemToDispense.
    
    
    	^true
    
    Discussion

  6. You have been asked to create a simulation of an airport with a particular emphasis on modeling the flow of airplanes (e.g., how long does an airplane have to wait to land or to take-off?) Identify and Describe at least FIVE classes that you would need to (1) create the Problem Domain component and (2) create the Human Interface component. Discussion

  7. You are a consultant to the WhizO Toy Company ("Makers of toys for tots of all ages"). WhizO is considering a shift to an object-oriented software development process. If they do make such a shift, you're in for big bucks as the consultant who leads the way. First step is to respond to the specific concerns of the Manager of their Software Development unit: Discussion

  8. Okay, you've sold them. WhizO is now starting several software development projects using an object-oriented approach. You've been hired as the Answer Person for the teams. Help the programmers with these problems: Discussion