So, I have designed a use case diagram. But im having a confusion about the use of included. It is regarding a student management system. A student can register for a module only if he has enrolled in a course. The issue is that if I put included from register to enrol, will it imply that every time he registers, he will have to enrol? Also, what does 2 included coming out from a use case mean, is it either or or both needed?
The inclusions between use cases are done unconditionally, so if UC includes UC1 and includes UC2 and ... and includes UCn than means each time UC is activated then UC1 and UC2 and ... and UCn are done too, whatever their number n. The inclusions are not exclusive between them.
if I put included from register to enrol, will it imply that every time he registers, he will have to enrol?
yes, this is the case where n is 1
what does 2 included coming out from a use case mean, is it either or or both needed?
both, this is the case where n is 2
If you want something conditional use an extension but warning the arrow is drawn in the opposite direction, rather than to have UC1- - -<<include>>- - -> UC2
(UC1 includes UC2) we have UC1<- - -<<extend>>- - -UC2
(UC2 extends UC1)
to make things clearer. Make as if I have a purchase use case and i can only purchase if a create account use case or login account use case exist. How do i represent that?
For me the best way to model that is to use a precondition. So to be able to activate the UC 'purchase' the precondition is to be logged (and to be logged the precondition is an account was created).
A use case is not only an ellipse in a diagram, a use case must have a description and that description indicates when they exist the pre and post conditions.