Going back to the SRS class diagram that we produced in Chapter 10, let's reflect all of the new insights—some behavioral, some structural—that we've gained from analyzing one scenario/sequence diagram (see Figure 11-14).
Note that we've decided not to reflect the ConfirmSeatAvailability() "house-keeping" method at this time, as we suspect that it will be a private method, and therefore don't wish to clutter our diagram. The decision of whether to reflect private methods on a class diagram—or, for that matter, to reflect any feature of a class—is up to the modeler, because again, the purpose of the diagram is to communicate, and too much detail can actually lessen a diagram's effectiveness in this regard.
We must remember to update the SRS data dictionary any time we add classes, attributes, relationships, or methods to our model. Here's a suggested format for how we might wish to describe a method in the dictionary:
Method: Enroll
Defined for class: Section
Header: bool Enroll(Student s)
Description: This method enrolls the designated person in the section, unless (a) the section is already full, (b) the student's plan of study doesn't call for this course, or (c) the student hasn't met the prerequisites. It returns a bool value to indicate success (true) or failure (false) of the enrollment.