Draw on the right, write (Umple) model code on the left. Analyse models and generate code. This tool stores your data in cookies and on a server. I understand. Click to learn about privacy. Download Donate For help: User manual Ask questions Report issue
// UML state diagram of a course selection // From Lethbridge and Laganiere, McGraw Hill, 2004 // Object Oriented Software Engineering, Practical Software Development Using UML and Java // https://www.site.uottawa.ca/school/research/lloseng/ // Note that it is left as an exercise to add a student requesting to drop the course // This version is 'flat' (no nesting) class CourseSection { status { Planned { cancel -> Cancelled; openRegistration -> OpenNotEnoughStudents; } OpenNotEnoughStudents { requestToRegister -> OpenNotEnoughStudents; closeRegistration -> Cancelled; cancel -> Cancelled; classSizeExceedsMinimum -> OpenEnoughStudents; } OpenEnoughStudents { cancel -> Cancelled; requestToRegister -> OpenEnoughStudents; closeRegistration -> Closed; classSizeExceedsMaximum -> Closed; } Cancelled { } Closed { cancel -> Cancelled; } } }