Skip to content

Class Diagram

JEleniel edited this page Oct 3, 2024 · 1 revision
%%{init: {'theme':'dark'}}%%
classDiagram

class Sex {
	<<enumeration>>
	Male
	Female
	Hermaphrodite	
}

class BirthType {
	<<enumeration>>
	Egg laying
	Marsupial
	Live birth
	Other
}

class Species {
	+string CommonName
	+bool HasSexes
	+bool CanChangeSexes
	+bool IsParthenogenic
}

class Phenotype {
	+string Name
	+string Description
}

class Trait {
	+string Name
	+string Description
}

Species -->"1" BirthType : has
Species -->"*" Phenotype : has
Phenotype -->"1..*" Trait : is expressed by

class Animal {
	+string Identifier
	+enum BirthSex
	+date DateBorn
	+string DistinctiveMarkings
}

Animal -->"1" Species : is of a
Animal -->"n" Phenotype : has a\ntrait for each
Animal -->"1..*" Animal : is a child of
Animal -->"1" Sex : has

class Picture {
	+date DateTaken
	+string Description
	+blob Image
}

Animal -->"*" Picture : has

class GrowthRecord {
	+date DateRecorded
	+real Weight
	+real Height
	+real Length
	+real Width
}

Animal -->"*" GrowthRecord : has

class VeterinaryPractice {
	+string Name
	+address Address
	+string Phone
	+string Fax
}

class Veterinarian {
	+string Name
}

VeterinaryPractice "1"-->"1..*" Veterinarian : employs

class HealthRecord {
	+date DateRecorded
	+string Type
	+string Details
}

Animal "1"-->"*" HealthRecord : has
HealthRecord "1"-->"1" Veterinarian :was examined by
Loading
Clone this wiki locally