I’ve published a paper in WER 2011 that analyzes the most common elements of a use case textual representation and proposes a meta-model considering them. Due to lack of space, it wasn’t possible to include the original tables used in the analysis. During the workshop I’ve promised that I would make it available somewhere… and I’m finally fulfilling this promise. Here it is the first table, analyzing the main concepts proposed by some templates and meta-models.
Elements | Arlow; Neustadt, 2005 | Armour; Miller, 2001 | Barret et al., 2009 | Bittner; Spence, 2002 | Booch et al., 2007 | Cabral; Sampaio, 2008 | Cockburn, 2000 | Durán et al., 2004 | Kulak; Guiney, 2003 | IBM, 2009 | Jacobson et al., 1999 | Larman, 2003 | Leffingwell; Widrig, 2003 | Lei; Jiang, 2008 | Lu; Song, 2008 | Nakatani et al., 2001 | Övergaard; Palmkvist, 2004 | Pettersson; Ivarsson; Öhman, 2005 | Robertson; Robertson, 2006 | Rolland; Achour, 1998 | Rosenberg; Stephens, 2007 | Rui; Buttler, 2003 | Schneider; Winters, 2001 | Smialek et al., 2007 | Somé, 2009 | Subramaniam; Far; Eberlein, 2004 | Wiegers, 2003 | Yue; Briand; Labiche, 2009 | Zelinka; Vranic, 2009 | Total |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Name | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y (Title – UseCaseDescription) | Y | Y | Y | 20 | Traits | Y | 1 | ||||||
Identifier | Y | Y | Y | Y (Id) | Y | 5 | ||||||||||||||||||||||||
Author | Y | Y (Created by) | 2 | |||||||||||||||||||||||||||
Date | Y | Y | 2 | |||||||||||||||||||||||||||
Description | Y (Brief description) | Y (Brief description) | Y (Goal) | Y (Brief description) | Y (Purpose) | Y (Description) | Y (Context of use) | Y (Summary) | Y (Brief description) | Y (Brief description) | Y (Service) | Y (Goal) | Y (Brief description) | Y (Goal) | Y (Service) | Y (Brief description) | Y (SimpleTrait) | Y (Brief description) | Y | Y (Brief description) | 20 | |||||||||
Scope | Y | Y | Y (System or Subsystem) | Y | Y (SimpleTrait) | 5 | ||||||||||||||||||||||||
Level | Y | Y | Y (Iteration) | Y | Y (SimpleTrait) | 5 | ||||||||||||||||||||||||
Priority | Y | Y (SimpleTrait) | Y | 3 | ||||||||||||||||||||||||||
Is abstract? | Y (Attribute) | 1 | ||||||||||||||||||||||||||||
Actor | Yderived | Yderived | Y | Yderived | Y | Yderived | Y | Y | Y (relations) | Y | Yderived | Yderived | Y | Y | Y | Y (two types) | Y | 17 | ||||||||||||
Primary | Y (Primary actors) | Y | Y | Y | Y | Y | Y (Actor) | Y (Initiating Agent) | Y (PrimaryActor) | Y | 10 | |||||||||||||||||||
Secondary | Y | Y | Y (Secondary) | Y | 4 | |||||||||||||||||||||||||
Actor Instance | Y (user) | 1 | ||||||||||||||||||||||||||||
Human | Y | 1 | ||||||||||||||||||||||||||||
System | Y | 1 | ||||||||||||||||||||||||||||
Event | Y | 1 | ||||||||||||||||||||||||||||
Stakeholders | Y (Stakeholders and Interests) | Y | Y (Interested Stakeholders) | Y (Secondary Agents) | Y (Participant | 5 | ||||||||||||||||||||||||
Stakeholders and Interests | Y | Y | Y | 3 | ||||||||||||||||||||||||||
Pre-condition | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y (Initial State) | Y | Y | Y (for each Flow of Events) | Y (Constraint-Behavior-UML) | Y | Y | Y | Y | 24 | |||||
Postcondition | Ynot clear | Y | Y | Ynot clear | Y | Y | Y | Y | Ynot clear | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | 22 | |||||||
Success Guarantees | Y | Y | Y | Y | Y | Y (Result) | Y | Y (Constraint-Behavior-UML) | Y | 9 | ||||||||||||||||||||
Minimal Guarantees | Y | Y | Y | Y | Y | Y | Y | Y | 8 | |||||||||||||||||||||
Trigger | Y | Y (TriggeringEvent) | Y (triggers) | Y (First action) | Y | Y | Y | Y (ActionStep – trigger) | 8 | |||||||||||||||||||||
Flow of events | Y (Episode) | Y (Scenario) | Y (Activity) | Y (Scenario) | Y (ConstrainedLanguageScenario) | Y | 6 | |||||||||||||||||||||||
Basic flow | Y | Y (Flow of Events) | Y (Main Success Scenario) | Y | Y (Optmistic Flow | Y (Main Flow) | Y (Main Success Scenario) | Y (Basic Course of Events) | Y (Basic Flow of Events) | Y | Y (Main Success Scenario) | Y | Y (Primary flow) | Y | Y (Main Flow) | Y (Normal steps) | Y (Episode) | Y (Basic Course) | Y (Flow of events) | Y (StepSequence) | Y | Y (Normal Course) | Y | Y (Main Flow) | 24 | |||||
Alternative flow | Y | Y (Alternative Flow and Exceptions) | Y (Extensions) | Y | Y (Pragmatic Flows) | Y | Y (Extensions) | Y (Alternative Paths) | Y | Y (Alternative Path) | Y (Extensions) | Y | Y (Exception) | Y | Y | Y (Alternatives) | Y (Exceptional Episode) | Y (Alternative Course) | Y (Flow of events) | Y (Alternative) | Y | Y (alternative course) | Y | 23 | ||||||
Specific to a step | Y (Specific) | 1 | ||||||||||||||||||||||||||||
To a set of steps | Y (Bounded) | 1 | ||||||||||||||||||||||||||||
To all steps | Y (global) | 1 | ||||||||||||||||||||||||||||
Exception Flow | Y (Alternative Flow) | Y (Alternative Flow and Exceptions) | Y | Y (Pragmatic Flows) | Y | Y (Exception Paths) | Y | Y (Exceptions) | Y (Exceptions) | 9 | ||||||||||||||||||||
Not allowed | Y | 1 | ||||||||||||||||||||||||||||
Optional Flow | Y | 1 | ||||||||||||||||||||||||||||
Key scenarios | Y | 1 | ||||||||||||||||||||||||||||
Subflow | Y | Y | Y | 3 | ||||||||||||||||||||||||||
Technology & Data Variation List | Y | Y | Y | Y | 4 | |||||||||||||||||||||||||
Area of Functionality | Y | 1 | ||||||||||||||||||||||||||||
Source | Y | 1 | ||||||||||||||||||||||||||||
Related information | Y (Related Requirements) | Y | Y (Additional Information) | Y (Miscellaneous) | Y (Resource) | Y (Description Item) | 6 | |||||||||||||||||||||||
Entity | Y | 1 | ||||||||||||||||||||||||||||
Business Rules | Y (Related Business Rules) | Y | Y | 3 | ||||||||||||||||||||||||||
Other artifacts | Y | 1 | ||||||||||||||||||||||||||||
Assumptions | Y | Y | Y | Y | 4 | |||||||||||||||||||||||||
Issues | Y | Y (Limitations) | Y | Y (Open Questions) | Y (Outstanding Issues) | Y (Notes and issues) | 6 | |||||||||||||||||||||||
Special Requirements | Y (Non Behavioral Requirements) | Y | Y | Y (“Separate Section”) | Y | Y | Y | Y | Y | Y (System Requirements) | Y | Y | Y | 13 | ||||||||||||||||
Non-functional Aspects | Y | 1 | ||||||||||||||||||||||||||||
Join points | Y | 1 | ||||||||||||||||||||||||||||
Design Alternative | Y | 1 | ||||||||||||||||||||||||||||
User Interface | Y | 1 | ||||||||||||||||||||||||||||
Frequency | Y | Y | Y (Frequency Of Use) | 3 | ||||||||||||||||||||||||||
Subordinate use case | Y (Composite Use Case) | Y | 2 | |||||||||||||||||||||||||||
Relationships | Y | Y | 2 | |||||||||||||||||||||||||||
Inclusion | Y | Y (Inclusion Use Cases) | Y | Y (Relationship) | Y | Y | Y | 7 | ||||||||||||||||||||||
Extension Point (extends) | Y | Y | Y | Y | Y | Y (Extension Use Cases) | Y | Y | Y | Y | Y | Y | 12 | |||||||||||||||||
Diagrams | Y | 1 | ||||||||||||||||||||||||||||
Context Diagram | Y | 1 | ||||||||||||||||||||||||||||
Subordinate Use Case Diagram | Y | 1 | ||||||||||||||||||||||||||||
Activity Diagram | Y | 1 | ||||||||||||||||||||||||||||
Class Diagram | Y (View of Participating Classes) | 1 | ||||||||||||||||||||||||||||
Sequence Diagram | Y | 1 |
The original analysis (in the paper) considered only some of these studies due to its survey method. However, in this table I’ve considered all works I know that proposes a template or a meta-model:
- Arlow, J., Neustadt, I.: UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design. Addison-Wesley, 2nd edition (2005)
- Armour, F., Miller, G.: Advanced Use Case Modeling: Software Systems. Addison-Wesley (2001)
- Barrett, S., Sinnig, D., Chalin, P., Butler, G.; Merging of Use Case Models: Semantic Foundations. In: TASE, pp.182-189 (2009)
- Bittner, K., Spence, I.: Use Case Modeling. Addison-Wesley (2002)
- Booch, G., Maksimchuk, R.A., Engle, M.W., Young, B.J., Conallen, J., Houston, K.: Object-Oriented Analysis and Design with Applications. Addison-Wesley, 3rd edition (2007)
- Cabral, G., Sampaio, A.: Formal Specification Generation from Requirement Documents. Electronic Notes in Theoretical Computer Science, vol. 195, pp. 171-188 (2008)
- Cockburn, A.: Writing Effective Use Cases. Addison-Wesley (2000)
- Durán, A., Bernárdez, B., Genero, M., Piattini, M.: Empirically Driven Use Case Metamodel Evolution. In: UML, LNCS 3273, pp. 1-11 (2004)
- IBM: Rational Method Composer. Version 7.5, IBM (2009)
- Jacobson, I., Booch, G., Rumbaugh, J.: The Unified Software Development Process. Addison-Wesley (1999)
- Kulak, D., Guiney, E.: Use Cases: Requirements in Context. Addison-Wesley, 2nd edition (2003)
- Leffingwell, D., Widrig, D.: Managing Software Requirements: A Use Case Approach. 2nd edition. Addison-Wesley (2003)
- Lei, M., Jiang, W. C.: Research on Activity Based Use Case Meta-Model. In: ICACTE, pp.843-846 (2008)
- Lu, C., Song, I.: A Comprehensive Aspect-Oriented Use Case Method for Modeling Complex Business Requirements. In: ER Workshops, LNCS 5232, pp. 133-143 (2008)
- Nakatani, T., Urai, T., Ohmura, S., Tamai, T.: A requirements description metamodel for use cases. In: ASPEC, pp.251-258 (2001)
- Övergaard, G., Palmkvist, K.: Use Cases: Patterns and Blueprints. Addison-Wesley (2004)
- Pettersson, F., Ivarsson, M., Öhman, P.: Automotive use case standard for embedded systems. In: Workshop on Software Engineering for Automotive Systems, pp.1-6 (2005)
- Robertson, S., Robertson, J.C.: Mastering the Requirements Process. Addison-Wesley, 2nd edition (2006)
- Rolland, C., Achour, C.B.: Guiding the construction of textual use case specifications. Data & Knowledge Engineering, vol. 25, pp. 125-160 (1998)
- Rosenberg, D., Stephens, M.: Use Case Driven Object Modeling with UML: Theory and Practice. Apress (2007)
- Rui, K., Butler, G.: Refactoring Use Case Models: The Metamodel. In: ACSC, pp. 484-491 (2003)
- Schneider, G., Winters, J. P.: Applying Use Cases: A Practical Guide. Addison-Wesley, 2nd edition (2001)
- Smialek, M., Bojarski, J., Nowakowski, W., Ambroziewicz, A., Straszak, T.: Complementary Use Case Scenario Representations Based on Domain Vocabularies. In: MODELS, LNCS 4735, pp. 544-588 (2007)
- Somé, S.S.: A Meta-Model for Textual Use Case Description. Journal of Object Technology, v. 8, n. 7, pp. 87-106 (2009)
- Subramaniam, K., Far, B.H., Eberlein, A.: Automating the transition from stakeholders’ requests to use cases in OOAD. In: CCECE, vol.1, pp. 515-518 (2004)
- Wiegers, K.: Software Requirements. Microsoft Press, 2nd edition (2003)
- Yue, T., Briand, L.C., Labiche, Y.: A Use Case Modeling Approach to Facilitate the Transition towards Analysis Models: Concepts and Empirical Evaluation. In: MODELS, LNCS 5795, pp. 484-498 (2009)
- Zelinka, L., Vranic, V.: A Configurable UML Based Use Case Modeling Metamodel. In: ECBS-EERC, pp.1-8 (2009)
If you know another proposal, please send me a comment. I will be very happy to consider it. And if you think that I’ve made a mistake during the analysis, send me a comment too.
Finally, I hope this tables will be useful for the Requirements Engineering community. And don’t forget to read the paper, written by me and Paulo Sérgio Muniz Silva.