ENGR135 Take Home Midterm (11/24/01)












Lecture Questions


(l1). List three ways of identifying Classes and Objects as covered in lectures. (6 points)






(l2). What is the difference between Architecture Patterns and Design Patterns? (4 points)






(l3). Draw a scenario diagram according to the Proxy design pattern when a client needs to do a task with a Proxy system. (10 points)







Reading Questions


All questions are from chapter 1 to chapter 5 of the textbook: “Object-Oriented Systems Analysis and Design, Ronald J. Norman, Prentice Hall”.  Points are only awarded when the answers are exact. So, read carefully.


(r1). One of the common theory object-oriented methodology based on uses examples such as grouping trees into tree class or grouping buildings into a building class. What is this method or theory called? (10 points)






(r2). List all the forms of reuse and explain briefly what they are. (10 points)






(r3). In general, what is a noun phrase strategy trying to find? List the procedure of how to do a noun phrase strategy. (10 points)







(r4). In the Kozar’s requirement model, what does the “Tactics & Needs” stage do? (10 points)






(r5). What is an automated information system? (10 points)








Implementation Question

(i1). Develop an object model, including classes and attributes of the following "copy machine" problem. You can make reasonable assumptions. (20 points)

(i2). Draw a Global State Transition Diagram (STD) for i1. (10 points)

(i3a). Use any programming language (Java, C++, C) to implement the object model in part 1. If the object model does not include a client or user, implement a client that uses a text menu to operate the copy machine. For example:


Copy Machine Menu:

  1. Deposit money
  2. Press Black/White button
  3. Press Color button
  4. etc …


I will use the above menu to grade this part of the question. (90 points)


(i3b). Write down 5 detail test cases on how to test your implementation in i3a. (10 points)