Hi ac, Steve, Fred... all,
Another two bits on the topic of use cases and requirements:
One way of viewing a software project (excluding the project management perspective) is to see it from four different points of view:
1. The user's view: This view emphasizes that what the user really sees are the interfaces with the system, such as windows, dialogs, screens...
2. The behaviour view: What behaviour should the system have? For instance, what should the system do in response to certain events.
3. The structural view: What structural elements does the system need to store and handle the necessary objects for the required behavior?
4. The technical architecture view: What platform, OS, communications, database management system... are needed or are the optimal for all of the above?
Each one of these four development tracks has its own set of requirements. So, lets ask the question: Do use cases satisfy all types or requirements? And the answer is "almost, but not quite...". For instance, there could be a formal requirement to reuse as much as possible the existing technical infrastructure of a company; so, if you are using only a use case model, you will need to produce a separate document for this sort of requirements.
On the other hand, does UML have all the necessary artifacts to handle the four development tracks? And the answer is a confident "yes", or it does so to a very high degree.
For instance, we can create a deployment diagram that depicts the existing technical infrastructure, and specify that we need to stick as much as possible to this architecture.
Or take another example: UML also has class diagrams where we can document and specify static business rules (such as what should be the relationship between a budget item and an expense). Can you model these static rules in use cases? Probably... but you will have to really stretch your model and your documentation.
In conclusion: use cases are very good to drive the modeling effort, and are considered best practice for discovering requirements; but they are not a cure-it-all.
Jaime Gonzalez