This blog entry is from Pawel Wrobel, a current student in my CS540 class, Introduction to Quantitative Software Engineering at Stevens. It is a great illustration of how versatile use cases are. I hope you enjoy it. Later!
Use case modeling is not only a good way to collect and analyze functional requirements of a system but it also greatly facilitates testing. On my previous project our group was responsible for elicitation and validation of requirements for a new system. We decided to employ use case modeling. Preliminary requirements were obtained from our subject matter experts and use case model was created. Consequently the use case model was presented to the prospective users. We found out that users really liked working with the use cases, as they were easy to understand and they could play out different scenarios of their interaction with the system. After numerous iterations we arrived at our final use case model that we included in our requirements specifications and submitted to our contractors for further development. At the same time, based on the use case model, we began developing our test cases for formal acceptance testing.