@startuml

note "US009 - ProductOwner creates UserStory and adds it to the ProductBacklog." as N1

class "US009CreateUserStoryUI" as A {
}

class "US009CreateUserStoryController" as B {
+productOwnerCreatesAndAddsUSToProductBacklog(String code, String description)
}

class "Company" as C {
+getProjectStore()
}

class "ProjectStore" as D {
+getProjectByCode(String code)
}

class "Project" as E {
- code : String
+hasCode(String code)
+getProductBacklog()
}

class "ProductBacklog" as F {
+createUserStoryAndAddToList(String description)
+createUSCode()
+addUserStoryToList(UserStory us)
}

class "UserStory" as G {
-code : int
-description : String
+UserStory(int code, String description)
+isValidUserStoryCode(int code)
+isValidUserStoryDescription(String description)
}

A ..> B
B ..> C
B..> E
B..> G
C o--> "1 " D
D *--> "1..* " E
E o--> "1 " F
F *--> "1..*  " G

@enduml