I had a little presentation for my coworkers about use case elicitation and then one of them asked 开发者_如何学C"What were the requirement elicitation techniques before use cases? And how use cases are better than previous methods?" I have no idea, can anybody help?
From Wikipedia, use cases were first formulated in 1986.
Before that (and quite long even after) guess there were the dreary 100-pg requirement definition documents with specified Pre- and Post- conditions and Failure scenarios.
Use cases are obv. better than the detailed docs for the visual simplicity it provides :)
And then came User Stories
I think it is important to distinguish between the activity and notation. As said above, previously, there was no structure and threfore every requirement was a set of lines. Use cases define goals, specific actors, can include another use case or be extended by another use case and they can be even parametrized. This allows to eliminate much of the duplication in those long requirements documents in an understandable manner. But this is about notation only, use cases as such do not come with any other activity to elicitate requirements than the older technique. User stories on the other hand, without explicit written scenarios, are even shorter in notation. The interesting thing happens, when you write the scenarios for user stories, as with the Cucumber, than you have actually more to write and more brittle description as with use cases, but the important fact is, that user stories offer different activity. Rather than trying to cover the scenarios upfront, you write them on demand, incrementally and iteratively, which means you can better cope with change of requirements. However it is quite hard to remove the duplication from user stories and the Given-When-Then template for scenarios replace functional nature of use cases by finite stae machines.
精彩评论