Jim,
it's just like nara_c wrote. Place labels like [perform login] at any meaningful location in the UC scenario. Then you can write the extension separately. Inside the extension you can specify something like "resume at [perform login]" or "The UC ends here". Your UC might look like Pseudo Code afterwards and it might also result in spaghetti pseudo code (or pseudo spaghetti code)
Actually that is not what I meant it. You seem to refer to use of placeholders to indicate includes use cases or subflows. I meant using named steps instead of numbered steps. In fact I avoid psuedo code kind use cases descriptions since they are difficult to follow. I prefer to select one path as the happy day scenario with no conditional flows and add all other flows as alternate scenarios.
Jim, in response to your request, here is an example based on an example use case from Rational. ( I have added the example text in Blue to differentiate from my comments)
--- Use Case description follows ---
1. Brief Description
This use case allows a professor to select the course offerings (date- and time- specific courses will be given) from the course catalog for the courses that he/she is eligible for and wishes to teach in the upcoming semester.
The actor starting this use case is the Professor. The Course Catalog System is an actor within the use case.
2. Flow of Events
The use case begins when the professor selects the "select courses to teach" activity from the Main Form.
2.1 Basic Flow – Select Courses to Teach
[Display list of courses]
* The system retrieves and displays the list of course offerings the professor is eligible to teach for the current semester. The system also retrieves and displays the list of courses the professor has previously selected to teach.
* The professor selects and/or de-selects the course offerings that he/she wishes to teach for the upcoming semester.
* The system removes the professor from teaching the de-selected course offerings.
[Validate selection]
* The system verifies that the selected offerings do not conflict (i.e., have the same dates and times) with each other or any offerings the professor has previously signed up to teach. If there is no conflict, the system updates the course offering information for each offering the professor selects.
2.2 Alternative Flows
2.2.1 No Courses Available
At [Display list of courses] if the professor is not eligible to teach any courses in the upcoming semester the system will display an error message. The professor acknowledges the message and the use case ends.
--- end of use case ---
Now the advantage of this is that, I do not need to add named steps for each part of the flow. In case on further analysis I discover other alternate flows are possible from other steps I can include a named step there and use that in the alternate flow.
for e.g. in the above illustration, say the system has to be built to warn the professor if they have removed all courses thus having no courses to teach in the next semester. To include this in the description all I need to do is first include a named step in step 2 above as shown
[Professor makes selection]
* The professor selects and/or de-selects the course offerings that he/she wishes to teach for the upcoming semester. Then I add another alternate step
2.2.2 All courses removed
At [Professor makes selection] if the proferssor has removed/deselected all courses that he or she is offering thus resulting in no courses being on offer, the system should display a warning and request confirmation before proceeding.
The real advantage with this approach is when a new step is introduced early in the use case flow. In the numbered steps approach traditionally used this would result in renumbering all the steps and thus updating the reference numbers in other locations such as alternate flows.
This is a situation that often occurs since as we all expereinced use cases continue to grow as the system is developed or refined.
Hope this explanation helps and you find this approach useful.
Cheers