Page 19 - 1005.0169
P. 19
6 Class Diagram
Grails controllers, domain classes and services have dynamic methods and properties that
won’t be depicted on the previous class diagrams in order to keep them clear. For
example, controller classes provide methods such as render and redirect to deal with the
application flow, and domain classes provide methods such as find, get, save and delete
to deal with persistence. [11]
Domain Classes
+type
AssetType AssetTypeProperty
Class Diagram: Domain Classes +assetTypeProperties
+name : String +name : String
1
+description : String +hint : String
*
* +assetProperties
0..1 +assetTypeProperty 1
+parent
AssetProperty
Asset
+value : String
+iufaID : String
+legacyID : String
+serialNumber : String +type +locationTypeProperties
+name : String LocationType LocationTypeProperty
+details : String +parent 0..1 +name : String +name : String
+status : AssetStatus 1 +description : String * +hint : String
Location
+name : String
+description : String
0..1 +subject +locationTypeProperty 1
+location +capacity : Integer
+map : byte[] +locationProperties
LocationProperty
0..1 +assignee 1
-value : String
*
User +requester
+name : String
+username : String 1
* +password : String +userAssigned Request
+permissions : String +type : RequestType AssetStatus RequestType
+title : String +AVAILABLE : String = av +TRANSFER : String = tr
+heads 0..1
+description : String +UNAVAILABLE : String = un +BORROW : String = br
+comments : String +BROKEN : String = br +ASSIGN : String = as
* +staffMembers +submissionDate : Date +STOLEN : String = st +TECHNICAL : String = tc
+status : RequestStatus +TRASHED : String = tr +ADMINISTRATIVE : String = ad
+REPORT_BROKEN : String = rb
+REPORT_STOLEN : String = rs
+parent 0..1
+partAssigned
UniversityPart
UniversityPartType
+name : String RequestStatus
+owner 1 +UNIVERSITY : String = u
+type : UniversityPartType +WAITING_APPROVAL : String = wa
+FACULTY : String = f
+DEPARTMENT : String = d +WAITING_EXECUTION : String = we
1 +REJECTED : String = rj
+INSTITUTE : String = i
+COLLEGE : String = c +EXECUTED : String = ex
+GROUP : String = g +NOT_EXECUTED : String = ne
Domain Classes Figure 6.1
COMP5541 Tools and Techniques for Software Engineering Winter 2010 by Team 4 Page 19