Date post: | 17-Dec-2015 |
Category: |
Documents |
Upload: | melina-brooks |
View: | 217 times |
Download: | 3 times |
1
OOD - Principles Design Class Diagrams
Chapter 10pp. 295-298; 304-314; 317-320
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
3
OOD: Object-Oriented Design
From "Domain Classes" to "Programming Classes"Specify objects to carry out each use case
4
From Requirements (Analysis) to Design…
Ch10
Ch11
5
Defining a Single Design Class
6
Domain Class vs. Design Class
7
Design Class: Things to Know
Elaborate attributes
Define Method types
Write Method Signatures
Identify Instance-Level and Class-Level Attributes & Methods
8
Elaborating Attributes
visibility attributeName: dataType {property}
VisibilityPublic or Private
Data typeNumbers: integer, doubleText: stringTrue/False: booleanDates: dateTime
Propertykey
9
Method Types
3 Method typesConstructor methodsAccessor methods−Get−Set
Processing methods9:05
& 10:1
0
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
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
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
13
A Design Class (coded in VB)
14
Design Class Diagram
Overridden Method
How many attributes are
there in a MailOrder object?
15
Designing a Domain Class Diagram
16
Review – let’s understand this Use Case before continuing
Use Case Description
“Process New Order”
17
Review – let’s understand this model before continuing
Domain Class Diagram
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
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.
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
21
Steps: Initial Design Class Diagram
6. Add Methods (we will see this in Ch 11 via Sequence Diagrams) That is, Behavior!