November 14, 2019

Initial Structural Model - Class Descriptions and Invariants

 

Class: Artwork "Abstract; generalises Painting, Drawing, Print, Sculpture."
Attributes:
title "The name of the artwork"
price "The price of the artwork"
yearCreated "The year the artwork was created"
media "The media used in the artwork"
height "The height of the artwork"
width "The width of the artwork"
code "The unique code of the artwork"

Class: Painting "Specialises Artwork"
Attributes:
framed "Whether or not the painting has been framed"

Class: Drawing "Specialises Artwork"
Attributes:
framed "Whether or not the drawing has been framed"

Class: Print "Specialises Artwork"
Attributes:
framedPrice "The price of a framed print"
editionSize "The number of prints in the edition"
editionNumber "The edition number of the print"

Class: Sculpture "Specialises Artwork"
Attributes:
depth "The depth of the sculpture"

Class: Artwork "Abstract; generalises LivingArtist and DeceasedArtist"
Attributes:
name "The name of the artist"
yearOfBirth "The year of birth of the artist"

Class: LivingArtist "Specialises Artist"
Attributes:
address "The address of the artist"
telNumber "The telephone number of the artist"

Class: DeceasedArtist "Specialises Artist"
Attributes:

Class: Exhibition "Abstract; generalises SoloExhibition and GroupExhibition"
Attributes:
title "The title of the exhibition"
startDate "The start date of the exhibition"
endDate "The end date of the exhibition"

Class: SoloExhibition "Specialises Exhibition"
Attributes:

Class: GroupExhibition "Specialises Exhibition"
Attributes:

Class: Buyer
Attributes:
name "The name of the buyer"
address "The address of the buyer"
telNumber "The telephone number of the buyer"
priority "The priority of the buyer"

Class: BuyerQueue
Attributes:
code "The unique code of the queue"

Class: Order
Attributes:
date "The date of the order"
orderNo "The order number"

Class: Sale
Attributes:
date "The date of the sale"

Class: Showing
Attributes:

Invariants

Invariant 1
If a1 and a2 are instances of Artist then the name of a1 is not the same as the name of a2.

Invariant 2
If b1 and b2 are instances of Buyer then the name of b1 is not the same as the name of b2.

Invariant 3
If se1 and se2 are instances of SoloExhibition linked to the same instance a of Artist via presents, isPresented and creates, then the dates of se1 and se2 must be greater than two years.

Invariant 4
If a1 and a2 are instances of Artwork then the code of a1 is not the same as the code of a2.

Invariant 5
If bq1 and bq2 are instances of BuyerQueue then the code of bq1 is not the same as the code of bq2.

Invariant 6
If e1 and e2 are instances of Exhibition, such that the startDate of e1 is less than the startDate of e2, then the endDate of e1 must also be less than the startDate of e2.

 

 

Back to « Analysis and the Structural Model

 

Up to top of page