Use cases are a simple, straightforward -- yet very powerful -- way to express the functional requirements (or behaviors) of a system. Use cases have gained widespread acceptance because they make requirements less ambiguous by specifying exactly when and under what conditions certain behaviors occur. As a result, those who effective employ use cases to model their systems can better deliver projects on time, within budget, and with fewer defects...