Sunday, December 11, 2011

Chapter 18

Chapter 18
Analysis Modeling for Web Applications

CHAPTER OVERVIEW AND COMMENTS

This intent of this chapter is to consider the special concepts, principles, and methods that apply to analysis modeling for WebApps. Be certain that your students understand that analysis modeling is applied when a WebApp meets the conditions noted in the introduction to this chapter.

18.1     Requirements Analysis for WebApps

Requirements analysis for WebApps encompasses three major tasks: formulation, requirements gathering, and analysis modeling. Formulation and requirements gathers were discussed in Chapter 17. To understand requirements, a user hierarchy should be created, use-cases should be developed for each user category, and the resultant use-cases should be refined and analyzed to extract analysis classes (data objects and functions). Much of this work was discussed in detail in Chapters 7 and 8. You should suggest that your students review that material.

18.2     An Analysis Model for WebApps

Four different analysis modeling activities are introduced in this section. Because the elements of the analysis model (and the activities required to develop each element) are presented in subsequent sections, I would suggest that you relatively little time on this section.

18.3     The Content Model

The content model contains structural elements that provide an important view of content requirements for a WebApp. These structural elements encompass content objects (e.g., text, graphical images, photographs, video images, audio) that are presented as part of the WebApp. In addition, the content model includes all analysis classes— user-visible entities that are created or manipulated as a user interacts with the WebApp.
The approach for developing the content model is analogous to the approach presented in Chapter 8 for the derivation of analysis classes. Content objects are extracted by examining use-case descriptions, the relationships among content objects are modeled (discuss Figure 18.3), and analysis classes are derived.
If time permits, you might expand the example provided in this section, adding a few more objects and classes.

18.4     The Interaction Model
Throughout SEPA, I’ve emphasized use-cases as an analysis mechanism, so by now, your students should be quite familiar with them. You might consider sending some time further discussing the UML sequence diagram and state diagrams (as an alternative or supplement to the use-case). Figures 18.5 and 18.6 should be helpful in this regard.
As a classroom exercise, have present your students with basic requirements for a WebApp of your choosing. Allow them to ask you (the customer) questions about these requirements. Then ask them to create a paper prototype of the interface. Compare the results to illustrate how different interpretations of the system can be.
18.5     The Functional Model
The functional model addresses two processing elements of the WebApp, each representing a different levels of procedural abstraction: (1) user observable functionality that is delivered by the WebApp to end-users, and (2) the operations contained within analysis classes that implement behaviors associated with the class.
The challenge at this stage is to identify the second level; that is, the operations within an analysis class. Revisit Chapter 8 for techniques that help to accomplish this.
18.6     The Configuration Model
If time is at a premium, you may have to present the topics introduced in this section only briefly. Depending upon their background, your students may require a digression into client/server architectures and related issues. This is normally beyond the scope of a software engineering course.


18.7     Relationship-Navigation Analysis
Because ease of navigation is often a weakness in major WebApps, it’s important to emphasize a technique that gets navigation design off to a good start. RNA does this. Spend some time discussing the questions suggested in Section 18.7.1 and 18.7.2. If time permits, present an example that will enable your students to answer each of the questions as they develop a navigation model.

No comments:

Post a Comment