Summary of Presentation of September 2, 1999 Topics: A second Object-Oriented Design Method A handout was distributed in class describing and doing an extensiv example of an object-oriented design method that is applicable to problems of any size ( unlike the Abbot noun method that becomes unwieldy as the requirements grow beyond about three pages). This method has five steps: 1. Understand the problem: inputs, outputs, how to get from inputs to outputs; 2. IDentify the major data collections required: input, output, intermediate, housekeeping; 3. FOr each identified collection, determine the operations we want to do with it: order it ( sort), search, add element, delete element, print, display, save; 4. Decide on the major ways in which the different types of potential users might use the solution implementation; 5. FOr each of these ways, develop a use case or scenario that shows how the proposed implementation will handle this use. This use case shows all the user inputs and all the system responses in time order. As alternatives arise, different use cases should be developed for each. Step 5 can be shown with interaction diagrams as described in the textbook. This method like any other object-oriented design method ( or any design method at all) requires you to keep careful track of many, many details. YOu should write these details down in lists or tables in a project notebook or keep them in files within a project directory on your computer. You must be very diligent to write down everything since your memory like every other person's is very faulty and misleading. YOu must also be very diligent in keeping all this information up to date as things change - inaccurate or out of date documentation is worse than no documentation at all. YOU should remember that real projects produce products that evolve over a period of months (during development) and often years ( during maintenance and support).