Week Eight Object-Oriented Design and Programming Identify both the top-level objects and the GUI interfaces of an electronic product. Describe object-oriented, event-driven programming. Describe a simple, object-oriented program. Recognize the difference between object-oriented and structured program design. Course Assignments 1. CheckPoint: Interfaces and Communication Messages Understanding object-oriented methodologies is often difficult.
You already understand that object-oriented analysis and design emulates the way human beings tend to think and conceptualize problems in the everyday world. With a little practice, object-oriented programming will become second nature to you. As an example, consider a typical house in which there are several bedrooms, a kitchen, and a laundry room—each with a distinct function. You sleep in the bedroom, you wash clothes in the laundry room, and you cook in the kitchen. Each room encapsulates all the items needed to complete the necessary tasks.
You do not have an oven in the laundry room or a washing machine in the kitchen. However, when you do the laundry, you do not just add clothes to the washer and wait in the laundry room; once the machine has started, you may go into the kitchen and start cooking dinner. But how do you know when to go back to check the laundry? When the washer buzzer sounds, a message is sent to alert you to go back into the laundry room to put in a new load. While you are folding clothes in the laundry room, the oven timer may ring to inform you that the meat loaf is done.
What you have is a set of well-defined components: Each provides a single service to communicate with the other components using simple messages when something needs to be done. If you consider a kitchen, you see it is also composed of several, smaller components, including the oven, refrigerator, and microwave. Top-level objects are composed of smaller components that do the actual work. This perspective is a very natural way of looking at our world, and one with which we are all familiar. We do the same thing in object-oriented programming: ? Identify components that perform a distinct service o Encapsulate all the items in the component necessary to get the job done o Identify the messages that need to be provided to the other components Although the details can be quite complex, these details are the basic principles of object-oriented programming. • Consider the microwave oven in your kitchen, using the object-oriented thinking described above. • Create a table with the following four column headings: Top-Level Objects, Communicates With, Incoming Messages, and Outgoing Messages. Identity the top-level objects of the microwave. o Explain some of the graphical user interfaces (GUIs) and communications messages that occur during the operation of a microwave. • Describe some of the advantages of having a componentized system. For example, what happens if the microwave breaks? • Post your results to the Assignment Link (described on Page 3 of the Syllabus). o Title the attachment “WEEK8_CP1” please. 2. CheckPoint: Object-Oriented Data and Processes Identify a task you perform regularly, such as cooking, mowing the lawn, or driving a car. • Write a short, structured design (pseudocode only) that accomplishes this task. • Think about this task in an object-oriented way, and identify the objects involved in the task. • Identify how you can encapsulate the data and processes you identified into an object-oriented design. • Describe the architectural differences between the object-oriented and structured designs. Which of the designs makes more sense to you? Why? Post your results to the Assignment Link (described on Page 3 of the Syllabus). o Title the attachment “WEEK8_CP2” please. 3. Assignment: Object-Oriented Design • Generate an object-oriented design for a system that keeps tracks of your CD and DVD collection. • Identify each of the classes, associated data, and operations for the classes. • Generate the pseudocode for each of the classes as demonstrated on p. 251. • Draw a GUI that will create the objects and provide access to each object’s processing methods. Note.
Use the drawing tool in Microsoft® Word or in any other applicable drawing tool to complete this part of the assignment. • Post your results to the Assignment Link (described on Page 3 of the Syllabus). o Title the attachment “WEEK8_AS1” please. Weekly Reminders Summary of Week 8 Deliverables AssignmentLocationDue Checkpoint: Interfaces and Communication MessagesAssignment Link – AttachmentDay 3 (Wed. ) Checkpoint: Object Oriented Data and ProcessesAssignment Link – AttachmentDay 5 (Fri. ) Assignment: Object Oriented DesignAssignment Link – AttachmentDay 7 (Sun. )