Apply a “stepwise refinement approach” to develop three different levels of procedural abstractions for “a check writer that, given a numeric dollar amount, will print the amount in words normally required on a check”.
Apply a “stepwise refinement approach” to develop three different levels of procedural abstractions for “a check writer that, given a numeric dollar amount, will print the amount in words normally required on a check”. Create UML diagram for each level.
220 PART TWO MODELING FIGURE 11.6 Camera not in use Camera in use requestCameraLock() Activity getCurrentCamera diagram User() for the takeControlOf- Camera() operation Lock available Lock unavailable Report Camera Report Camera Report Camera now locked for unavailable in use and name user of current user complexities (e.g., distributing load among multiple servers, caching architec- tures, remote databases, multiple servers serving various objects) may have an impact on analysis and design. The UML deployment diagram can be used in situ- ations in which complex configuration architectures must be considered.
For www.safehomeassured.com the public content and functionality should be specified to be accessible across all major Web clients (i.e., those with more than 1 percent market share or greater).
Conversely, it may be acceptable to restrict the more complex control and monitoring functionality (which is only accessible to HomeOwner users) to a smaller set of clients. For a mobile app, implementation might be limited to the three leading mobile operating environ- ments.
The configuration model for www.safehomeassured.com will also specify interoperability with existing product databases and monitoring applications. 11.5.8 Navigation Modeling In most mobile applications that reside on smartphone platforms, navigation is generally constrained to relatively simple button lists and icon-based menus.
In addition, the depth of navigation (i.e., the number of levels into the hypermedia hierarchy) is relatively shallow. For these reasons, navigation modeling is rela- tively simple. For WebApps and an increasing number of tablet-based mobile applications, nav- igation modeling is more complex and often considers how each user category will navigate from one WebApp element (e.g., content object) to another. The mechanicsCHAPTE R 1 1 REQU IREM ENTS M OD EL ING: BEH AVIOR , PATTER NS , AND WEB/M OBIL E APPS 221 of navigation are defined as part of design. At this stage, you should focus on overall navigation requirements. The following questions should be considered: • Should certain elements be easier to reach (require fewer navigation steps) than others?
What is the priority for presentation? • Should certain elements be emphasized to force users to navigate in their direction?
• How should navigation errors be handled? • Should navigation to related groups of elements be given priority over navigation to a specific element? • Should navigation be accomplished via links, via search-based access, or by some other means?
• Should certain elements be presented to users based on the context of previous navigation actions?
• Should a navigation log be maintained for users? • Should a full navigation map or menu (as opposed to a single “back” link or directed pointer) be available at every point in a user’s interaction? • Should navigation design be driven by the most commonly expected user behaviors or by the perceived importance of the defined WebApp elements?
• Can a user “store” his previous navigation through the WebApp to expe- dite future usage? • For which user category should optimal navigation be designed? • How should links external to the WebApp be handled? Overlaying the existing browser window? As a new browser window? As a separate frame? These and many other questions should be asked and answered as part of navigation analysis. You and other stakeholders must also determine overall requirements for navigation.
For example, will a “site map” be provided to give users an overview of the entire WebApp structure? Can a user take a “guided tour” that will high- light the most important elements (content objects and functions) that are avail- able?
Will a user be able to access content objects or functions based on defined attributes of those elements (e.g., a user might want to access all photographs of a specific building or all functions that allow computation of weight)?
11.6 SUMMARY Behavioral modeling during requirements analysis depicts dynamic behavior of the software.