Misuse cases help to elicit non-functional requirements

Use Cases are widely seen as suitable for defining functional requirements for software. There is controversy about the suitability of Use Cases for Systems other than Software, and for NonFunctional Requirements (NFRs). This centres on the variety of methods proposed for use case analysis, the range of uses proposed for use cases in different contexts, and the perceived imprecision in some of the proposed approaches. This paper suggests that apparently diverse approaches [Sindre & Opdahl 2001, Allenby & Kelly 2001] can be combined to facilitate different aspects of Systems Engineering (SE). Suitably documented, Use Cases can help to elicit requirements of different kinds for Real-Time and SafetyRelated Systems, including not only functions but Reliability, Safety, and Security NFRs. The proposed approach analyses Use and Misuse Cases in a game-like sequence to discover successively more detailed threats and NFRs to mitigate these threats. Simultaneously, systems analysis discovers functions, often of subsystems, to meet these NFRs. The Scenario Plus toolkit has been extended to draw Misuse Cases, and both threatens and mitigates links between Use and Misuse Cases, from a requirements database automatically. The implemented approach could form part of a scenario-based method of engineering the requirements for hardware/software systems.

[1]  Mary Beth Rosson,et al.  Scenario-based design , 2002 .

[2]  Mordechai Ben-Menachem,et al.  Writing effective use cases , 2001, SOEN.

[3]  G. Lakoff,et al.  Metaphors We Live by , 1982 .

[4]  Daryl Kulak,et al.  Use cases: requirements in context , 2000, SOEN.

[5]  K. Beck,et al.  Extreme Programming Explained , 2002 .

[6]  Herbert A. Simon,et al.  The Sciences of the Artificial - 3rd Edition , 1981 .

[7]  Kenji Takahashi,et al.  Inquiry-based requirements analysis , 1994, IEEE Software.

[8]  Suzanne Robertson,et al.  Mastering the Requirements Process , 1999 .

[9]  Raymond W. Jorgensen The Oxymoron of Use Case Requirements , 2001 .

[10]  I. Alexander,et al.  Introduction to systems engineering with use cases , 2002 .

[11]  I. Alexander Migrating towards co-operative requirements engineering , 1999 .

[12]  Tim Kelly,et al.  Deriving safety requirements using scenarios , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[13]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[14]  Robert Balzer,et al.  On the inevitable intertwining of specification and implementation , 1982, CACM.

[15]  Andreas L. Opdahl,et al.  Templates for Misuse Case Description , 2001 .

[16]  Richard Stevens,et al.  Systems engineering : coping with complexity , 1998 .

[17]  J. Heron Co-Operative Inquiry: Research into the Human Condition , 1996 .

[18]  T.M. Duffy,et al.  Scenario-Based Design: Envisioning Work and Technology in System Development [Book Review] , 1996, IEEE Transactions on Professional Communication.

[19]  Shailey Minocha,et al.  CREWS-SAVRE: systematic scenario generation and use , 1998, Proceedings of IEEE International Symposium on Requirements Engineering: RE '98.

[20]  Andreas L. Opdahl,et al.  Eliciting security requirements with misuse cases , 2004, Requirements Engineering.