Title: A Student Guide to Object-Oriented Development
1A Student Guide to Object-Oriented Development
- Chapter 10 Designing objects and classes
2Detailed design activities
- Revisit class diagram to add implementation
details - Revisit interaction diagrams to add
implementation detail
3Class diagram
- Add new classes e.g. interface and control
classes - Specify technical details of associations between
classes - Specify visibility of classes, attributes and
operation - Specify attributes in detail
- Specify operations in detail
4Different types of classes
- Entity classes
- Boundary classes
- Control classes
5Entity classes
- Model features of the problem domain e.g. bikes,
customers, hires - Also known as domain or application classes
- All of the classes so far have been entity classes
6Boundary classes
- Model the systems interface with its actors
- Used to capture user input and present results
7Control classes
- Control the sequencing of events (e.g. in the
execution of a use case scenario) - In a system of any size we expect a boundary and
a control object for each use case
8Attribute signature Bike class attribute -
deposit
9Operation signatureBike class - findBike(bike)
- findBike(bike Integer) Bike
10Wheels collaboration diagram for use case
Maintain Bike, Add new bike scenario
- Control object MaintainBike added
- Interface object MaintainBikeUI added
11Collection class in use
- Sequence diagram showing how the collection class
works
12Sequence diagrams object creation and deletion
- the interface object MaintainBikeUI is created
and destroyed in this interaction
13Sequence diagrams iteration
14Sequence diagrams iteration
- everything inside the rectangle is repeated while
there are more bikes to add
15Sequence diagrams conditional behaviour and
branching
- conditions should be mutually exclusive
16Wheels design sequence diagram