Newer
Older
labs / tiddlywiki / tiddlers / content / labs / lab02 / _Labs_02_images_Project Domain Model.tid
created: 20200702091026430
modified: 20200707005526287
tags: lab02 image
title: /Labs/02/images/Project Domain Model
type: text/vnd.tiddlywiki

[[plantuml[
@startuml

skinparam {
   NodeSep 110
   RankSep 80
   LineType ortho
   Style strictuml
   RoundCorner 5
   AttributeIconSize 0
   Class {
		FontSize 13
      AttributeIconSize 0
      ArrowFontSize 10
      Stereotype {
      Font {
         Size 10
         Style plain
      }
   }
 }
}

class Customer {
	- customerId : Integer <<unique>> <<generated>>
	- username : String  <<unique>>
	- firstName : String
	- surname : String
	- password : String
	- emailAddress : String
	- shippingAddress : String
	--
}

class Product {
	- productId : String <<unique>>
	- name : String
	- description : String
	- category : String
	- listPrice : BigDecimal
	- quantityInStock : BigDecimal
	--
}

class Sale {
	- saleId : Integer <<unique>> <<generated>>
	- date : LocalDateTime
	- status  : String
	--
	+ getTotal() : BigDecimal
	+ addItem(saleItem : SaleItem) : void
}

class SaleItem {
	- quantityPurchased : BigDecimal
	- salePrice : BigDecimal
	--
	+ getItemTotal() : BigDecimal
}

Sale -up-> "**1**\r-customer " Customer
Sale -right-> "-items\r**0..*** " SaleItem
SaleItem -up-> "**1**\r-product " Product
@enduml
]]]