OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1.
-
Upload
melina-brooks -
Category
Documents
-
view
219 -
download
3
Transcript of OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1.
![Page 1: OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1.](https://reader036.fdocuments.us/reader036/viewer/2022062515/56649ce55503460f949b2cd2/html5/thumbnails/1.jpg)
1
OOD - Principles Design Class Diagrams
Chapter 10pp. 295-298; 304-314; 317-320
![Page 2: OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1.](https://reader036.fdocuments.us/reader036/viewer/2022062515/56649ce55503460f949b2cd2/html5/thumbnails/2.jpg)
2
Where are we?
Design ChaptersCh 7 Designing User & System Interfaces
Ch 10 OO Design – Principles Ch 11 OO Design – Use Case RealizationsCh 12 Databases, Controls & Security
![Page 3: OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1.](https://reader036.fdocuments.us/reader036/viewer/2022062515/56649ce55503460f949b2cd2/html5/thumbnails/3.jpg)
3
OOD: Object-Oriented Design
From "Domain Classes" to "Programming Classes"Specify objects to carry out each use case
![Page 4: OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1.](https://reader036.fdocuments.us/reader036/viewer/2022062515/56649ce55503460f949b2cd2/html5/thumbnails/4.jpg)
4
From Requirements (Analysis) to Design…
Ch10
Ch11
![Page 5: OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1.](https://reader036.fdocuments.us/reader036/viewer/2022062515/56649ce55503460f949b2cd2/html5/thumbnails/5.jpg)
5
Defining a Single Design Class
![Page 6: OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1.](https://reader036.fdocuments.us/reader036/viewer/2022062515/56649ce55503460f949b2cd2/html5/thumbnails/6.jpg)
6
Domain Class vs. Design Class
![Page 7: OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1.](https://reader036.fdocuments.us/reader036/viewer/2022062515/56649ce55503460f949b2cd2/html5/thumbnails/7.jpg)
7
Design Class: Things to Know
Elaborate attributes
Define Method types
Write Method Signatures
Identify Instance-Level and Class-Level Attributes & Methods
![Page 8: OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1.](https://reader036.fdocuments.us/reader036/viewer/2022062515/56649ce55503460f949b2cd2/html5/thumbnails/8.jpg)
8
Elaborating Attributes
visibility attributeName: dataType {property}
VisibilityPublic or Private
Data typeNumbers: integer, doubleText: stringTrue/False: booleanDates: dateTime
Propertykey
![Page 9: OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1.](https://reader036.fdocuments.us/reader036/viewer/2022062515/56649ce55503460f949b2cd2/html5/thumbnails/9.jpg)
9
Method Types
3 Method typesConstructor methodsAccessor methods−Get−Set
Processing methods9:05
& 10:1
0
![Page 10: OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1.](https://reader036.fdocuments.us/reader036/viewer/2022062515/56649ce55503460f949b2cd2/html5/thumbnails/10.jpg)
10
Method Signatures
visibility methodName(parameterList) : returnType
VisibilityPublic or Private
Method nameVerb phrase
Parameter ListInputs
Return TypeOutput Typical data type: integer, string, etcObject (e.g. Student)Collection of objects: StudentArray
![Page 11: OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1.](https://reader036.fdocuments.us/reader036/viewer/2022062515/56649ce55503460f949b2cd2/html5/thumbnails/11.jpg)
11
Instance-Level vs. Class-Level Attributes & Methods
Instance-Level−Pertains to an individual object/instance−Attribute name−Method getName(), calcGPA()
Class-Level−Does not pertain to an individual
object/instance−Attribute tuitionPerHour−Method findAboveHours()
-tuitionPerHour: integer
![Page 12: OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1.](https://reader036.fdocuments.us/reader036/viewer/2022062515/56649ce55503460f949b2cd2/html5/thumbnails/12.jpg)
12
Exercise
Design a Design Class for: VehicleAttributes−Primary Key− Instance attribute−Class Attribute
Method−Constructor method− Instance Method• Accessor methods (2)• Processing method
−Class Method
![Page 13: OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1.](https://reader036.fdocuments.us/reader036/viewer/2022062515/56649ce55503460f949b2cd2/html5/thumbnails/13.jpg)
13
A Design Class (coded in VB)
![Page 14: OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1.](https://reader036.fdocuments.us/reader036/viewer/2022062515/56649ce55503460f949b2cd2/html5/thumbnails/14.jpg)
14
Design Class Diagram
Overridden Method
How many attributes are
there in a MailOrder object?
![Page 15: OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1.](https://reader036.fdocuments.us/reader036/viewer/2022062515/56649ce55503460f949b2cd2/html5/thumbnails/15.jpg)
15
Designing a Domain Class Diagram
![Page 16: OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1.](https://reader036.fdocuments.us/reader036/viewer/2022062515/56649ce55503460f949b2cd2/html5/thumbnails/16.jpg)
16
Review – let’s understand this Use Case before continuing
Use Case Description
“Process New Order”
![Page 17: OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1.](https://reader036.fdocuments.us/reader036/viewer/2022062515/56649ce55503460f949b2cd2/html5/thumbnails/17.jpg)
17
Review – let’s understand this model before continuing
Domain Class Diagram
![Page 18: OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1.](https://reader036.fdocuments.us/reader036/viewer/2022062515/56649ce55503460f949b2cd2/html5/thumbnails/18.jpg)
18
Steps: Initial Design Class Diagram
1. Select a Use Case: “Process New Order”2. Add Domain Classes
See pre-conditions & post-conditions for ideas
3. Elaborate Attributes: visibility, data types
![Page 19: OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1.](https://reader036.fdocuments.us/reader036/viewer/2022062515/56649ce55503460f949b2cd2/html5/thumbnails/19.jpg)
19
Steps: Initial Design Class Diagram
4. Add a "Controller" class− Switchboard between the View & Domain Layer; a collection point for incoming messages. Include one
per use case.
![Page 20: OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1.](https://reader036.fdocuments.us/reader036/viewer/2022062515/56649ce55503460f949b2cd2/html5/thumbnails/20.jpg)
20
Steps: Initial Design Class Diagram
5. Add Navigation Visibility (def) the ability of one object to interact with another 1 to Many Association
• 1 *
Mandatory Associations• IndepDependent
Needs info• Sender Receiver
Rules
![Page 21: OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1.](https://reader036.fdocuments.us/reader036/viewer/2022062515/56649ce55503460f949b2cd2/html5/thumbnails/21.jpg)
21
Steps: Initial Design Class Diagram
6. Add Methods (we will see this in Ch 11 via Sequence Diagrams) That is, Behavior!