Over the last decade, use cases have become the most popular de facto standard technique for performing software requirements analysis and specification of operational (a.k.a., functional) requirements within the object community. However, use case modeling also has numerous well-known problems (see [1], [2], [3], [4], [5], and [6] in Sources below). It is inherently more functional than object-oriented, leading to a significant chasm and paradigm shift between requirements engineering and OO modeling. Putting the use case approach into practice also often illuminates problems that are not addressed in books and most articles on use cases, and different requirements engineers typically perform use case modeling differently.
These webpages provides a hierarchically organized set of detailed guidelines for use case modeling. These guidelines were collected from numerous real projects during the last decade.