• No results found

III. Class and Object Diagrams

N/A
N/A
Protected

Academic year: 2021

Share "III. Class and Object Diagrams"

Copied!
18
0
0

Loading.... (view fulltext now)

Full text

(1)

© 2004 John Mylopoulos Class Diagrams -- 1

III. Class and Object Diagrams III. Class and Object Diagrams

Classes, Attributes and Operations Objects and Multi-objects Generalization and Inheritance

Associations and Multiplicity Aggregation and Composition

Business Objects and Rules

CSC340 Information Systems Analysis and Design

Classes Classes

 A class describes a group of objects with



similar properties (attributes),



common behaviour (operations),



common relationships to other objects,



and common meaning (“semantics”).

 Finding classes: Listen to the domain experts (…the

people who know the domain you are modeling!)

(2)

©2004 John Mylopoulos Class Diagrams -- 3

Diagrammatic Notation for Classes Diagrammatic Notation for Classes

StaffMember

staffName

CalculateBonus() ChangeGrade()

Name (mandatory)

Attributes (optional)

Operations (optional) Modeling

the “real world”

CSC340 Information Systems Analysis and Design

System Classes System Classes

StaffMember

staffName

CalculateBonus() ChangeGrade() This is a Java

class to be included in the

design of the

new system

(3)

©2004 John Mylopoulos Class Diagrams -- 5

Attributes Attributes

 Each class can have attributes attributes which represent useful information about instances of a class.

 Each attribute has a type type.

 For example, Campaign has attributes title and datePaid .

Campaign title: String datePaid: Date

CSC340 Information Systems Analysis and Design

Objects are Class Instances Objects are Class Instances

SaveTheKids:Campaign title: “Save the kids”

datePaid: 28/01/02

(4)

©2004 John Mylopoulos Class Diagrams -- 7

Object Diagrams Object Diagrams

courseNo: csc340"

description: “OOAD"

:Course :Student

BillClinton:

Monica:Student

someone:

Jaelson:Instructor

CSC340 Information Systems Analysis and Design

Multiobjects Multiobjects

A multiobject is a set of objects, with an undefined number of elements

p2:Instructor

c1:Course

c2:Course

c3:Course

:Student :Student

Multiobjects

(5)

©2004 John Mylopoulos Class Diagrams -- 9

Operations Operations

 Often derived from action verbs in the description of the application.

 Operations describe what can be done with the instances of a class.

CSC340 Information Systems Analysis and Design

Campaign Title:String

CampaignStartDate:Date CampaignFinishDate:Date EstimatedCost:Money ActualCost:Money CompletionDate:Date DatePaid:Date

Completed(CompletionDate:Date, ActualCost:Money) SetFinishDate(FinishDate:Date) RecordPayment(DatePaid:Date) CostDifference():Money

Operations

Operations

(6)

©2004 John Mylopoulos Class Diagrams -- 11

Visibility Visibility

 As with Java, attributes and operations can be declared with different visibility modes:

+ public public: any class can use the feature (attribute or operation);

# protected: any descendant of the class can use protected the feature;

-

-

private: only the class itself private

-

can use the feature.

Staff name : String passwd : String dateofB : Date

ChangePasswd() Include() public

private protected

CSC340 Information Systems Analysis and Design

Relationships Relationships

 Classes and objects do not exist in isolation from one another

 A relationship represents a connection among things.

 In UML, there are different types of relationships:



Generalization



Association



Aggregation



Composition



…more…

(7)

©2004 John Mylopoulos Class Diagrams -- 13

Generalization Generalization

CreativeStaff qualifications Hire()

CalculateBonus() StaffMember

staff#:Integer name:String startDate:Date grade

Hire()

ChangeGrade() CalculateBonus()

AdminStaff Hire()

CalculateBonus()

Superclass or parent

Subclasses or children

CSC340 Information Systems Analysis and Design

 Inheritance of attributes

 Inheritance of operations

 Overriding inherited attributes or operations.

Inheritance

Inheritance

(8)

©2004 John Mylopoulos Class Diagrams -- 15

Advert

Hoarding Advert Press Advert Video Advert

Newspaper Advert Magazine Advert

*

*Billboard

Finding Finding Inheritance Inheritance

CSC340 Information Systems Analysis and Design

Finding Inheritance,

Finding Inheritance, … … Bottom Up Bottom Up

Book title author publisher ISBN

DeweyCode acquisition#

Loan() Return()

RecordCD title

catalogue#

publisher artist

acquisition#

Loan()

Return()

(9)

©2004 John Mylopoulos Class Diagrams -- 17

...Better!

...Better!

LoanItem title

acquisition#

Loan() Return()

Book Author DeweyCode publisher ISBN

Record artist catalogue#

recordCo

All classes in this diagram model real

world entities

CSC340 Information Systems Analysis and Design

Generalization Notation Generalization Notation

Possibly overlapping Mutually exclusive Maria is both Lecturer a lecturer can’t be a and Student student and vice versa

Person Person

Student Lecturer Student Lecturer

(10)

©2004 John Mylopoulos Class Diagrams -- 19

Classification Classification

 This is the relationship between an object and the classes of which it is an instance.

 Traditional object models assume that classification is single

single and static static.

 Multiple classification allows an object to be an instance of several classes that are not is-a related to each other;

for example, Maria may be an instance of GradStudent and Employee.



 Dynamic Dynamic classification allows an object to change its type during its lifetime.

CSC340 Information Systems Analysis and Design

Multiple Classification Multiple Classification

Person

TA

Professor

Staff Male

Female

Student student sex

<<mandatory>>

role

<<dynamic>>

(11)

©2004 John Mylopoulos Class Diagrams -- 21

Association Relationships Association Relationships

StaffMemder name

staff#

startDate qualification

Campaign title

startDate estimatedCost manages

manager name

role

CSC340 Information Systems Analysis and Design

 How many instances of a class can participate in an association of a particular type?

Association Multiplicity Association Multiplicity

StaffMemder name

staff#

startDate qualification

Campaign title

startDate estimatedCost manages

1 0..*

“A staff member can manage

zero or more campaigns” “Each campaign is managed

by exactly one staff member”

(12)

©2004 John Mylopoulos Class Diagrams -- 23

Multiplicities Multiplicities

 Some examples of specifying multiplicity:

Optional (0 or 1) 0..1

Exactly one 1 = 1..1

Zero or more 0..* = *

One or more 1..*

A range of values 1..5

A set of ranges 1..3,7..10,15,19..*

CSC340 Information Systems Analysis and Design

Direction of an Association Direction of an Association

Campaign

estimatedCost startDate title StaffMember

name staff#

startDate qualification

manages

(13)

©2004 John Mylopoulos Class Diagrams -- 25

Association Navigation:

Association Navigation:

Uni-Directional Associations Uni-Directional Associations

PersonName Telephone#

CSC340 Information Systems Analysis and Design

Company * * 1..* Person

employer hires

1

* worker

supervisor

* 1

Associations and Roles Associations and Roles

employee

(14)

©2004 John Mylopoulos Class Diagrams -- 27

Association Classes Association Classes

Company * 1..* Person

employer

Job description salary

employee hires

C a n’t have the same person work for the same company more than once!

CSC340 Information Systems Analysis and Design

Aggregation Relationship Aggregation Relationship

Advert Campaign

1 *

contains

(15)

©2004 John Mylopoulos Class Diagrams -- 29

Composition Relationship Composition Relationship

 A composition relationship implies strong ownership of the part by the whole.

 For example, the relationship between a person and her head is a composition relationship, and so is the relationship between a car and its engine.

 In a composition relationship, the whole is responsible for the disposition of its parts, i.e. the composite must manage the creation and destruction of its parts.

CSC340 Information Systems Analysis and Design

An An Example

Example +Confirm() +Cancel()

-Total():Currency -code: Integer -date: Date

-total: Currency Order

-quantity: Integer -price: Currency

OrderItem

Product

*

* 1

1

(16)

©2004 John Mylopoulos Class Diagrams -- 31

Another Example Another Example

Engine

Person

Car Train

1..1

0..1 0..1

1..*

driver driver

1..1 1..1

0..1

1..1 composition

aggregation

CSC340 Information Systems Analysis and Design

Object Diagrams, Again Object Diagrams, Again

IBM:Company name:IBM Canada addr:235 Eglinton

Jack:

Person

Jeff:

Person

hires

hires

hires

Xerox:Company name:Xerox Canada addr:2 Bloor

Not allowed!

Company 1 1..* Person

employer employee

hires

(17)

©2004 John Mylopoulos Class Diagrams -- 33

Business Objects and Rules Business Objects and Rules

 Business objects and rules document -- in a structured way -- a class diagram.

 Such a documentation is also called data dictionary.

 A business rule can be:



an integrity constraint on the data of the application,



a derivation rule, whereby information can be derived from other information within a class diagram.

CSC340 Information Systems Analysis and Design

Examples of Business Objects Examples of Business Objects

i Description Attributes Identifier

EMPLOYEE Employee working in the company.

Code, Surname, Salary, Age

Code

PROJECT Company project on which employees are working.

Name, Budget, ReleaseDate

Name

.... .... .... ....

Description Entities involved Attributes MANAGEMENT Associate a manager with

a department.

Employee (0,1), Department (1,1) MEMBERSHIP Associate an employee

with a department.

Employee (0,1)

Department (1,N) StartDate

.... .... .... ....

Associations Classes

Classes

(18)

©2004 John Mylopoulos Class Diagrams -- 35

Examples of Business Rules Examples of Business Rules

Constraints

(BR1) The manager of a department must belong to that department.

(BR2) An employee must not have a salary greater than that of the manager of the department to which he or she belongs.

(BR3) A department of the Rome branch must be managed by an employee with more than 10 years’ employment with the company.

(BR4) An employee who does not belong to a particular department must not participate in any project.

....

Derivations

(BR5) The budget for a project is obtained by multiplying the sum of the salaries of the employees who are working on it by 3.

....

CSC340 Information Systems Analysis and Design

Additional Readings Additional Readings



[Booch99] Booch, G. et al. The Unified Modeling Language User Guide, Addison-Wesley, 1999. (Chapters 4, 5, 8, 9, 10.)



[Fowler97] Fowler, M. Analysis Patterns: Reusable Object

Models, Addison-Wesley, 1997.

References

Related documents

This study examines the extent urban Malaysians in the Klang Valley make financial preparations and their readiness for retirement and the predictors of

THIS INCENTIVE AGREEMENT (“Agreement”), effective October 17, 2014, setting forth contractual terms and requirements for tax abatements and incentives approved by the

To compare the results from current evidence with the combined mean effect reported by the 2010 systematic review, a meta-analysis was conducted that included

UW’s Facilities Maintenance &amp; Construction will use SAFETY as the leverage point for maturing their staff in “4 Key Systems”: Goals, Visual Management, Daily Kaizen and

The literature agrees that team-work in highly complex systems are prone to errors (Le Bot 2004). The author has not found a clear description or procedure on when the

The expression of V-ATPase subunit A mRNA in treated insects was assessed by qPCR analysis of larvae collected 48 hr and 1 week after feeding on artificial diets containing

It has been reported that taurine play an important role in production and reproduction behavior of the species (Gaylord et al., 2014). Fish hydrolysate contains well

Thus, the method proved able to recognise individuals using driving ECG signals, and it paved the way towards robust continuous ECG-based biometrics from seamless and highly