MDA- 1 . . . . . : .
UML .
UML
1) projDeanOffice.
2) clSubject (). : SubjName ( ) String, SubjType ( ) String, SubjAmountHours ( ) Integer.
3) MaxAmountHours ( ) Integer.
4) . , , . LectAmountHours ( ) Integer. /, . True Derived (). LectAmountHours OCL. Derivation OCL ( OCL ). , .
5) : . . Name End1 End2 roleLecturer roleSubjects (. 9.1).
9.1 UML
6) Alias , .
. . ( ). ( ), ( ), ( ). , . . , , Delphi.
1) . clSubject Add > ECO State Machine. , . . StatesOfSubject.
|
|
2) Initial.
3) State. : ChosenLecturer ( ), ChosenSubject ( ), Appointed (), Rejected ().
4) Final.
5) , - Transition (. 9.2).
9.2
6) . , State_1 String ( SubjectState), . OCL (LectAmountHours) . Derivation OCL OCL- :
self.roleSubjects->select(SubjectState='Appointed').SubjAmountHours->sum
, , ( SubjectState Appointed).
7) .
, ( ).
. Add > Trigger. : Choose, Appoint Reject. Alias : , (. 9.3).
9.3
. , , .
8) . ( ) Trigger .
9) . , . Guard ( ) OCL:
(self.roleLecturer.LectAmountHours+self.SubjAmountHours)<=self.roleLecturer.MaxAmountHours
, , , . , , , .
9.4
1) ECO Regenerate ECO source code Model View. . .
|
|
2) , . projDeanOfficeEcoSpace. Generate Schema . , . . Evolve Schema , .