How natural is natural language?: how well do computer science students write use cases?

Use cases are one of the most common mechanisms for describing and analyzing software system requirements. Due to use of natural language in use case descriptions, it is often assumed that they are easy to understand for stakeholders involved in the software development process [8]. However some authors argue [17,18] that the most common pitfalls of use cases written by professionals is that the customer does not understand them. In this paper we would like to consider whether it is appropriate to take their understandability to non-technically minded stakeholders for granted.We have analyzed 88 use cases written by final-year undergraduate computer science students for an assignment at the University of Hertfordshire and point out ways in which a computing-based mindset or way of thinking infiltrates the use cases, possibly making them difficult to understand for non-technical partners and hindering or pre-empting design decisions. We suggest that the problems we observed among students indicate a need for adding a new rule and/or guideline when teaching students to write good quality use cases, which is to ensure as far as possible that their use cases are free from computing-based structures and vocabulary. We also suggest ways in which students studying technical aspects of computer science might be led into practicing the use of non-technical language.

[1]  Neil A. M. Maiden,et al.  Guiding use case authoring: results of an empirical study , 1999, Proceedings IEEE International Symposium on Requirements Engineering (Cat. No.PR00188).

[2]  Scott W. Ambler,et al.  Lessons in Agility From Internet-Based Development , 2002, IEEE Softw..

[3]  Keith Phalp,et al.  Replicating the CREWS Use Case Authoring Guidelines Experiment , 2000, Empirical Software Engineering.

[4]  Klaus Krippendorff,et al.  Content Analysis: An Introduction to Its Methodology , 1980 .

[5]  Keith Phalp,et al.  Supporting Communicability with Use Case Guidelines: An Empirical Study , 2002 .

[6]  Ivy Hooks,et al.  WRITING GOOD REQUIREMENTS , 1994 .

[7]  A. K. Munns,et al.  The role of project management in achieving project success , 1996 .

[8]  Natalia Juristo Juzgado,et al.  How to use linguistic instruments for object-oriented analysis , 2000, IEEE Software.

[9]  Larry L. Constantine,et al.  Software for Use - A Practical Guide to the Models and Methods of Usage-Centered Design , 1999 .

[10]  Aybüke Aurum,et al.  An Experiment in Inspecting the Quality of Use Case Descriptions , 2004, J. Res. Pract. Inf. Technol..

[11]  J. Pinto,et al.  Variations in Critical Success Factors Over the Stages in the Project Life Cycle , 1988 .

[12]  Karl Wiegers Listening to the customer's voice , 1997 .

[13]  Colette Rolland,et al.  Guiding the Construction of Textual Use Case Specifications , 1998, Data Knowl. Eng..

[14]  Hoh Peter In,et al.  A requirements negotiation model based on multi-criteria analysis , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[15]  Björn Regnell,et al.  Improving the use case driven approach to requirements engineering , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[16]  Susan Lilly,et al.  Use case pitfalls: top 10 problems from real projects using use cases , 1999, Proceedings of Technology of Object-Oriented Languages and Systems - TOOLS 30 (Cat. No.PR00278).

[17]  Linda Shields,et al.  Content Analysis , 2015 .

[18]  R. Weber Basic Content Analysis , 1986 .

[19]  James Noble,et al.  Use Case Analysis with Narrative Semiotics , 2003 .

[20]  How to Avoid Use-Case Pitfalls , 2000 .

[21]  Austen Rainer,et al.  Using an expert panel to validate a requirements software process improvement model , 2005 .

[22]  Stefania Gnesi,et al.  Applications of linguistic techniques for use case analysis , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

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

[24]  Austen Rainer,et al.  Using an expert panel to validate a requirements process improvement model , 2005, J. Syst. Softw..

[25]  Mark Collins-Cope,et al.  The requirements/service/interface (RSI) approach to use case analysis (a pattern for structured use case development) , 1999, Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 29 (Cat. No.PR00275).

[26]  Keith Phalp,et al.  Comparing Use Case Writing Guidelines , 2001 .

[27]  Per Runeson,et al.  Usage-based readingan experiment to guide reviewers with use cases , 2001, Inf. Softw. Technol..