Better Software - March 2009 - (Page 43) Figure 2: RCT example for a hotel management system driven development concept. In addition, the composition rules can help us better document how crosscutting concerns affect the story context. Once a user story is completed with the realizations of crosscutting concerns and their respective composition rules, we then can more clearly see the whole story. This, in turn, can help us improve effort estimation and quality of code, as well as develop more effective and complete tests. Finally, to improve completeness of traditional requirements, we can use the same composition rules and follow the same guidelines to apply them as we discussed for user stories. In contrast, use case specifications present a more complicated and interesting case, which I discuss next. Example 2: Use Case “U.C.01.04 Check in Guest” To illustrate how composition rules can improve completeness of use case specifications, we will use as an example the same core feature that we discussed previously, although now its specification will be presented as the use case “UC.01.04 Check in Guest.” The full text of this use case is shown in figure 3. The issue with completeness of use case specifications is that use cases should focus on user/system interactions and should be documented at a particular level of abstraction. Thus, use cases are not intended to document all the details of an application’s functionality related to a given use case. This means www.StickyMinds.com that the context of use cases can be tangled with other concerns that are part of the affected use case functionality, but whose details do not belong to the use case specifications. AORE resolves this issue by: a) using composition rules that reflect the impact of crosscutting concerns in use case scenarios and b) referencing realizations of crosscutting concerns that affect the use case context. As a result, we can produce a more complete specification that provides a holistic view of the application functionality in the use case context while keeping details of impacting crosscutting concerns in separate specifications. This technique can be performed by following four steps: MARCH 2009 BETTER SOFTWARE 43 http://www.StickyMinds.com
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.