As software systems become ever more interactive, there is a need to model the services they provide to users, and use cases are one abstract way of doing that. As use cases models become pervasive, the question of their communicability to stakeholders arises. In this chapter, we propose a semiotic framework for understanding and systematically addressing the quality of use case models. The quality concerns at each semiotic level are discussed and process- and product-oriented means to address them in a feasible manner are presented. The scope and limitations of the framework, including that of the means, are given. The need for more emphasis on prevention over cure in improving the quality of use case models is emphasized. The ideas explored are illustrated by examples.
In this section, we present the terminology necessary for the discussion that follows and briefly review the significance of quality in use case models.
There are several interpretations (Seidewitz, 2003) of the term model. For the sake of this chapter, we define a model as a simplified abstract representation of some entity from a particular viewpoint of interest.
As indicated by the model-driven approach to software development (Beydeda, Book, & Gruhn, 2005; Völter et al., 2006), models are becoming first-class members of organizations and software process environments that embrace them. The need to model software can arise due to various reasons. These include assessing the viability of or planning software systems to be built, optimizing use of resources in response to inevitable changes in business, social, or technological environments, or simply understanding existing software systems. Modeling, particularly during early phases of software development, is playing an increasingly important role in software engineering profession and education (Cowling, 2005). The use case models are one important class of models, which we discuss next.