The unified modeling language (UML) emerged in the mid-1990s through the combination of previously competing object-oriented systems analysis and design methods, including Booch (1994), Jacobson, Christerson, Jonsson, and Overgaard (1992), Rumbaugh, Blaha, Premerlani, Eddy, and Lorensen (1991) and others. Control over its formal evolution was placed in the hands of the object management group (www.omg.org), which recently oversaw a major revision to UML 2.0 (OMG, 2005). The UML has rapidly emerged as a standard language and notation for object-oriented modeling in systems development, while the accompanying unified software development process (Jacobson, Booch, & Rumbaugh, 1999) has been developed to provide methodological support for applying the UML in software development. Use cases play an important role in the unified process, which is frequently described as “use case driven” (e.g., Booch et al., 1999, p. 33). The term “use case” was introduced by Jacobson (1987) to refer to a text document that outlines “a complete course of events in the system, seen from a user’s perspective” (Jacobson et al., 1992, p. 157). The concept resembles others being introduced around the same time. Rumbaugh et al. (1991), Wirfs-Brock, Wilkerson, and Wiener (1990), and Rubin and Goldberg (1992) use the terms “scenario” or “script” in a similar way. While use cases were initially proposed for use in object-oriented analysis and are now part of the UML, they are not inherently object-oriented and can be used with other methodologies.
M-commerce systems differ from more traditional information systems along several dimensions (Krogstie et al., 2004). We have grouped the differences into three areas:
User-orientation and personalization
Technological aspects including convergence and need for multi-channel support
Methodology for development, evolution, and operations to ensure organizational returns
User-Orientation and Personalization
M-commerce systems often address a wide user-group, which means that user-interface aspects should feature prominently and early in the design process and often need to be very simple. A number of examples exist indicating that complex services often do not get adopted (Blechar, Constantiou, & Damsgaard, 2005; Steinert & Teufel, 2005). Input and output facilities of the end-user device may be severely restricted (no keyboard, small screen-size, etc.) or based on new modalities (speech-recognition and -synthesis). This means that personalization of mobile information systems becomes increasingly important, both at the individual level where user-interface details are tailored to personal preferences and hardware, and at the work-group level where functions are tailored to fit the team’s preferred way of working.
Personalization means information systems that both automatically adapt themselves to the preferences and context of the user, and that can be explicitly tailored by users. The main goal is to achieve usability of the applications on all possible interfaces, based on adaptation to the different physical devices. This calls for intelligent, adaptive, and self-configuring services that enable automatic context-sensitivity and user profiling (Hella & Krogstie, 2006).
Technological Aspects Including Convergence and Multi-Channel Support
Mobile devices still have limited processing, memory, and communication capacities compared to what one are familiar with on traditional PCs. Performance considerations therefore is still important, as is bandwidth analysis. Analytically-based predictive methods are necessary in order to assess a large number of alternatives during the design (Gruhn & Köhler, 2006). M-commerce systems also pose new challenges to achieving information systems dependability. The new mobile devices provide integration and convergence of technologies into a wide range of innovative mobile and multi-modal applications. Mobile and other new technologies provide many different ways to offer the same or similar services. Thus, there is a need for novel approaches for the development and evolution of applications on and across different mobile and traditional platforms.
Key Terms in this Chapter
Use Case Narrative: A use case narrative is a largely text-based description of a use case that could be supplemented with decision trees or other easily understood notations. The description should be written in the user’s language, and thus provides an important communication tool between developers of systems and the intended users. Narratives follow a structured format, typically using a numbered sequence of steps for the main activity accompanied by preconditions, post-conditions, alternative or exception paths, etc.
Actor: An actor plays one or more roles in relation to a set of use cases. An actor could correspond to a job title (e.g., purchasing agent, sales clerk) or can be non-human (e.g., another system, device, or database). Each actor in a use case must be directly involved at some point and is not merely a stakeholder (someone or something that is affected by the success or failure of a particular transaction).
Use Case Model: Together, the use case diagrams and use case narratives form the use case model. This identifies all the actors and describes the functionality of the system.
Use Case: A use case describes a way in which a system can be used to provide value to one or more actors. They take a client perspective, focusing on how users will interact with the system.
Use Case Description: See use case narrative.