Object Oriented Analysis and Design COM327 week 8 COM252 week 2
Requirements Analysis What to build? Domain Analysis Identify use-case analysis Requirements Analysis What to build? problem statement system charter requirements description object spotting Domain Analysis Identify data/functions/ relationships candidate class list CRC analysis CRC cards class list System Design Booch diagramming Decide on data structures/ functionality Booch class diagram JSP diagramming complete design implement C++
Problem Statement -example Lecturers often miss appointments to see students because they forget that their availability slots have been booked. Their slots can change on a day to day or week to week basis making them difficult to remember. Appointments are booked by reception but not always communicated to staff.
System Charter - example The system will keep track of staff availability slots. The system will accept bookings of staff availability slots by students and automatically inform staff by sending an email message at the time of booking and 10 mins before the appointment as a reminder.
Use-case analysis Imagine the system is finished. Imagine you are a user. Describe how you would do one single operation with the system: What options would you select? What data would you put in? What info would you get out?
Use-case analysis No “repeats” - only a single operation. No “ifs” - describe what it will do in any given instance. Do the ordinary situations first, worry about special cases 2nd. a.k.a. “Critical Path Analysis” ? Now do that for ALL possible operations. The set of use cases is your requirements statement.
Use-case analysis - example Start appointment system enter lecturer name see weeks availability slots enter a booking enter time enter student name enter subject of appointment exit system
Object Spotting Take all documents underline all nouns problem statement system charter requirements description underline all nouns forms “candidate class list” underline all verbs candidate “operations list”
Object Spotting- example Lecturers often miss appointments to see students because they forget that their availability slots have been booked. Their slots can change on a day to day or week to week basis making them difficult to remember. Appointments are booked by reception but not always communicated to staff.
Object Spotting- example Lecturers often miss appointments to see y because they forget that their availability slots have been booked. Their slots can change on a day to day or week to week basis making them difficult to remember. Appointments are booked by reception but not always communicated to staff.
Candidate class list Lecturers week appointments students reception availability slots slots day week reception staff.
filter - throw away duplicates synonyms anything obviously irrelevant
Candidate class list Lecturers appointments students availability slots day week reception
The End!
Next stage The candidate class list forms the input to the next stage - CRC analysis Class responsibility collaborator