ood - principles design class diagrams chapter 10 pp. 295-298; 304-314; 317-320 1

21
OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1

Upload: melina-brooks

Post on 17-Dec-2015

219 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1

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

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

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

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

5

Defining a Single Design Class

Page 6: OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1

6

Domain Class vs. Design Class

Page 7: OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1

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

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

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

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

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

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

13

A Design Class (coded in VB)

Page 14: OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1

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

15

Designing a Domain Class Diagram

Page 16: OOD - Principles Design Class Diagrams Chapter 10 pp. 295-298; 304-314; 317-320 1

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

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

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

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

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

21

Steps: Initial Design Class Diagram

6. Add Methods (we will see this in Ch 11 via Sequence Diagrams) That is, Behavior!