@phdthesis{12768, author = {Bente Anda}, title = {Empirical Studies of Construction and Application of Use Case Models}, abstract = {Requirements engineering is a critical part of the development of software systems. A plethora of techniques has been proposed to elicit and document the requirements of a software system. One technique that is now widely used in industry is use case modelling. Although the technique imposes no particular constraints on the methodology used in other phases in a development project, it is most frequently used in combination with object-oriented development. In addition to serving as a requirements capture vehicle and a means for developers to communicate with end users and customers, use cases are claimed to be useful for estimating software development effort and for facilitating the transition from functional requirements to software design. Despite the important role of use case modelling in software development projects, and the numerous recommendations and claims that have been made about how to construct and apply use case models, there are very few systematic empirical studies in this field. This thesis investigates the use case modelling process and the role of use cases in software development projects by means of a number of empirical studies. In total, five experiments with 37 professional software developers and approximately 250 students as subjects, three industrial case studies and 11 interviews with project managers and senior developers were conducted. The empirical studies were conducted on the construction of use case models by the use of guidelines and inspections, and the application of use case models in (a) the estimation of software development effort and (b) the design of object-oriented systems. The results indicate that guidelines based on templates support the construction of use case models that are of higher quality, and that are easier to understand for the readers, than guidelines without specific details on how to document use cases. The results also indicate that quality may be further enhanced by combining the template guidelines with style guidelines for the documentation of the flow of events of each use case. A taxonomy of defects in use case models, and a checklist-based inspection technique to detect such defects, were proposed. The evaluation of this technique shows that it may increase the detection of serious defects in a use case model and also that there is a large difference between the defects detected by the developers of the use case model and by the end-users of the resulting system. The results further demonstrate that use case models can be used successfully to (a) estimate software development effort, (b) identify the prerequisites for successful use and (c) propose a refined and potentially improved version of an existing method for use case based estimation, the use case points method. The results also indicate that the quality of a design model is affected by the way in which a use case model is applied in an object-oriented design process, in particular, that a process which applies a use case model in validation results in class diagrams that implement more of the requirements, while a use case driven process results in class diagrams with a better structure. The empirical studies were exploratory because few similar studies have been conducted. Among other things, they required the development of original experimental designs. The major contribution of this thesis is, therefore, that it represents a starting point for more thorough empirical evaluation in the area of use case modelling}, year = {2003}, month = {March}, publisher = {University of Oslo}, note = {ISSN 1501-7710, Nr. 268}, }