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.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *