soen343-week4 - SOEN 343 Software Design Section H Fall...

Info iconThis preview shows pages 1–14. Sign up to view the full content.

View Full Document Right Arrow Icon
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler http://www.cs.concordia.ca/~gregb/home/soen343h-f06.html
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Responsibilities, Principles, Patterns RDD (Responsibility Driven Design) GRASP Principles Cohesion, Coupling Introduction to Patterns and Architecture
Background image of page 2
Responsibility-Driven Design (RDD) Detailed object design is usually done from the point of view of the metaphor of: Objects have responsibilities Objects collaborate Responsibilities are an abstraction. The responsibility for persistence. Large-grained responsibility. The responsibility for the sales tax calculation. More fine-grained responsibility.
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
The 9 GRASP Principles 1. Creator 2. Expert 3. Controller 4. Low Coupling 5. High Cohesion 6. Polymorphism 7. Pure Fabrication 8. Indirection 9. Protected Variations
Background image of page 4
Object Responsibilities A responsibility is an obligation of an object in terms of its behavior.
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
General Classification of Kinds of Responsibility To know. To do. To decide.
Background image of page 6
Responsibilities – A Boat Metaphor What kind of responsibilities do each of the following “objects” have: … To know. To do. To decide.
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Responsibilities – A Boat Metaphor Kind of responsibility for: Captain To know? To do? To decide?
Background image of page 8
Responsibilities – A Boat Metaphor Kind of responsibility for: Navigator. To know? To do? To decide?
Background image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Responsibilities – A Boat Metaphor Kind of responsibility for: Compass. To know? To do? To decide?
Background image of page 10
RDD Example: Apply IE Information Expert: Give task to the object having the information to perform the task. Example: Larman 17.11 NextGEN POS application “Who should be responsible for knowing the grand total of a sale?”
Background image of page 11

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Fig. 9.2 NextGEN Domain Model Register Item Store address name Sale date time Payment amount Sales LineItem quantity Stocked-in * Houses 1.. * Contained-in 1.. * Records-sale-of 0..1 Paid-by 1 1 1 1 1 1 0..1 1 Captured-on concept or domain object association attributes
Background image of page 12
Fig. 17.14 NextGEN Design Sale time Sales LineItem quantity Product Description description price itemID Described-by * Contains 1.. * 1 1
Background image of page 13

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 14
This is the end of the preview. Sign up to access the rest of the document.

This document was uploaded on 03/28/2011.

Page1 / 44

soen343-week4 - SOEN 343 Software Design Section H Fall...

This preview shows document pages 1 - 14. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online