DOC PREVIEW
CORNELL CS 501 - Lecture 17 Object Oriented Design 3

This preview shows page 1-2-17-18-19-36-37 out of 37 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CS 501: Software EngineeringAdministrationQuiz 3Quiz 3, Question 1 Architectural Style: Master File UpdateQuiz 3, Question 2Quiz 3, Question 2 Errors in mail ordersSlide 7Quiz 3, Question 2 Error in telephone orderQuiz 3, Question 2 Errors in telephone orderModeling Dynamic Aspects of SystemsNotation: Statechart diagramsState Diagram: NotationNotation for Classes and ObjectsNotation: Active ClassInteraction: Bouncing Ball DiagramsNotation: InteractionActions on ObjectsSequence Diagram: Borrow Copy of a BookSequence Diagram: Change in Cornell ProgramSequence Diagram: Painting MechanismOther Diagrams in UMLActivity Diagram: NotationActivity Diagram: Parallel ActivitiesFrom Candidate Classes to Completed DesignSoftware ReuseSoftware Reuse: ExamplesSoftware Reuse Examples (Tools)Software Reuse (Application Packages)Design for ReuseSlide 30Slide 31Slide 32Reuse and Object Oriented LanguagesDesign for Reuse: Inheritance and Abstract ClassesDesign for Reuse: Implementation and Specification InheritanceDesign for Reuse: Specification InheritanceDesign for Reuse: Delegation1CS 501 Spring 2006CS 501: Software EngineeringLecture 17Object Oriented Design 32CS 501 Spring 2006AdministrationThird presentation and report next weekSign up now.3CS 501 Spring 2006Quiz 3A Mail Order System manages orders received by a mail order company. Most orders are received by mail and are input into the system for over-night processing. In addition, during the daytime, customers may call by telephone to a customer service clerk who records orders, which are also processed over-night. During the over-night processing, payments received are recorded and bills are sent out to customers.Question 1: System Design(a) What is a suitable architectural style for the Mail Order System?(b) Draw an overview diagram of the system architecture using UML notation.4CS 501 Spring 2006Quiz 3, Question 1Architectural Style: Master File UpdateMaster file updateData input and validationMailing and reportsCustomer servicestelephone orders data checkmail ordersFrom lecture 14, slide 5Red parts of the diagram are optional5CS 501 Spring 2006Quiz 3, Question 2Question 2: Errors(a) When orders are received by mail it is possible for the customer to supply an incorrect part number. How would you identify these errors and handle them?(b)When orders are called in by telephone it is possible for the customer to supply an incorrect part number. How would you identify these errors and handle them?In designing the system architecture the goal is to minimize staff costs while giving good service to customers.6CS 501 Spring 2006Quiz 3, Question 2Errors in mail ordersMaster file updateData input and validationMailing and reports data checkmail orders7CS 501 Spring 2006Quiz 3, Question 2Errors in mail orders1. Data entry clerk types in data from mail order.2. Before submitting order it is checked against master file for valid parts numbers, prices, etc.3. If there is an error that the clerk cannot correct, an error transaction is created.4. The master file update creates a report on all transactions for each customer, which is passed to the mailing subsystem.5. Customer receives mail that identifies the error.No staff time is needed except for data entry clerk.8CS 501 Spring 2006Quiz 3, Question 2Error in telephone orderMaster file updateCustomer servicestelephone orders9CS 501 Spring 2006Quiz 3, Question 2Errors in telephone order1. Customer service clerk interviews customer and types in order while on the telephone.2. While talking to the customer, the error is checked against the master file for valid parts numbers, prices, etc. 3. The clerk reads the order back to the customer, indicating any errors.4. The customer corrects errors and agrees to the order.5. The customer service subsystem creates an order transaction and passes it to the data input subsystem.No staff time is needed except for customer service clerk.10CS 501 Spring 2006Modeling Dynamic Aspects of SystemsInteraction diagrams: set of objects and their relationships including messages that may be dispatched among them• Sequence diagrams: time ordering of messages• Collaboration diagrams: structural organization of objects that send and receive messagesActivity diagram: flow chart showing flow of control from activity to activityStatechart diagram: models a state machine11CS 501 Spring 2006Notation: Statechart diagramsWaitingA state machine is a behavior that specifies the sequence of states an object or an interaction goes through during its lifetime in response to events.12CS 501 Spring 2006State Diagram: NotationState diagram for class Book in a library systemnot borrowablereturned()returned()borrowableborrowed()[not last copy]borrowed()[last copy]guard expression13CS 501 Spring 2006Notation for Classes and ObjectsClasses ObjectsAnyClassattribute1attribute2operation1()operation2()AnyClassoranObject:AnyClass:AnyClassanObjectThe names of objects are underlined.oror14CS 501 Spring 2006Notation: Active ClassEventManagereventlistsuspend()flush()An active class is a class whose objects own one or more processes or threads and therefore can initiate control activity.15CS 501 Spring 2006Interaction: Bouncing Ball DiagramsExample: execution of http://www.cs.cornell.edu/Client Server(s)domain name serviceTCP connectionHTTP get16CS 501 Spring 2006Notation: InteractiondisplayAn interaction is a behavior that comprises a set of messages exchanged among a set of objects within a particular context to accomplish a specific purpose.17CS 501 Spring 2006Actions on ObjectscallreturnsendcreatedestroyreturnCopy(c)okToBorrow() localstatusnotifyReturn(b) asynchronous signal<<create>><<destroy>>stereotypes18CS 501 Spring 2006Sequence Diagram: Borrow Copy of a Book BookBorrowerlibMem: LibraryMembertheCopy:CopytheBook:Bookborrow(theCopy)okToBorrowborrowborrow19CS 501 Spring 2006Sequence Diagram: Change in Cornell ProgramCornellian:MEngStudent1 : getName()sequence numbers added to messages:PhDStudent1.1 : name2: <<create>> PhDStudent(name)3: <<destroy>>20CS 501 Spring 2006Sequence Diagram: Painting Mechanism:Thread :Toolkit :ComponentPeer target:HelloWorldrunrun callbackLoophandleExposepaint21CS 501 Spring 2006Other Diagrams in UML• Activity diagram is a statechart diagram that shows the flow from activity to activity within a system.• Component diagram shows the organization and dependencies among a set of components.• Deployment


View Full Document

CORNELL CS 501 - Lecture 17 Object Oriented Design 3

Documents in this Course
Quiz 2

Quiz 2

2 pages

Usability

Usability

31 pages

Quiz 1

Quiz 1

2 pages

Stulba;''

Stulba;''

33 pages

Load more
Download Lecture 17 Object Oriented Design 3
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture 17 Object Oriented Design 3 and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture 17 Object Oriented Design 3 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?