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.
