Formulation and analysis of Web-based systems and applications represent a sequence of Web engineering activities that begins with the iden...
Formulation and analysis of Web-based systems and applications represent a sequence of Web engineering activities that begins with the identification of the overall goals for a WebApp and terminates with the development of an analysis model or requirements specification for the system. Formulation allows the customer and the developer to establish a common set of goals and objectives for the construction of the WebApp. It also identifies the scope of the development effort and provides a means for determining a successful outcome. Analysis is a technical activity that identifies the data, functional, and behavioral requirements for the WebApp.
Powell suggests a set of questions that should be answered at the beginning of the formulation step:
• What is the main motivation for the WebApp?
• Why is the WebApp needed?
• Who will use the WebApp?
• Why is the WebApp needed?
• Who will use the WebApp?
The answer to each of these simple questions should be stated as succinctly as possible. For example, assume that the manufacturer of home security systems has decided to establish an e-commerce Web site to sell its products directly to consumers. A statement describing the motivation for the WebApp might be
SafeHomeInc.com will allow consumers to configure and purchase all components required to install a home/business security system.
It is important to note that detail is not provided in this statement. The objective is to bound the overall intent of the site.
After discussion with various constituencies within SafeHome Inc., an answer to the second question is stated:
SafeHomeInc.com will allow us to sell directly to consumers, thereby eliminating retailer costs and improving our profit margins. It will also allow us to increase sales by a projected 25 percent over current annual sales and will allow us to penetrate geographic regions where we currently do not have sales outlets.
Finally, the company defines the demographic for the WebApp: “Projected users of SafeHomeInc.com are homeowners and owners of small businesses.”
These answers imply specific goals for the SafeHomeInc.com Web site. In general, two categories of goals are identified:
• Informational goals. Indicate an intention to provide specific content and/or information to the end-user.
• Applicative goals. Indicate the ability to perform some task within the WebApp.
In the content of the SafeHomeInc.com WebApp, one informational goal might be
The site will provide users with detailed product specifications, including technical description, installation instructions, and pricing information.
Examination of the answers to the questions just posed might lead to the statement of an applicative goal:
SafeHomeInc.com will query the user about the facility (i.e., house, office/retail space) that is to be protected and make customized recommendations about the product and configuration to be used.
Once all informational and applicative goals have been identified, a user profile is developed. The user profile captures “relevant features related to potential users including their background, knowledge, preferences and even more” . In the case of SafeHomeInc.com, a user profile would identify the characteristics of a typical purchaser of security systems (this information would be supplied by the Safe- Home Inc. marketing department).
Once goals and user profiles have been developed, the formulation activity focuses on a statement of scope for the WebApp. In many cases, the goals already developed are integrated into the statement of scope. In addition, however, it is useful to indicate the degree of integration to be expected of the WebApp. That is, it is often necessary to integrate existing information systems (e.g., an existing database application) with a Web-based front end. Connectivity issues are considered at this stage.
The concepts and principles discussed for software requirements analysis apply without revision for the Web engineering analysis activity. Scope defined during the formulation activity is elaborated to create a complete analysis model for the WebApp. Four different types of analysis are conducted during WebE:
Content analysis. The full spectrum of content to be provided by the WebApp is identified. Content includes text, graphics and images, video and audio data. Data modeling can be used to identify and describe each of the data objects to be used within the WebApp.
Interaction analysis. The manner in which the user interacts with the WebApp is described in detail. Use-cases can be developed to provide detailed descriptions of this interaction.
Functional analysis. The usage scenarios (use-cases) created as part of interaction analysis define the operations that will be applied to WebApp content and imply other processing functions. All operations and functions are described in detail.
Configuration analysis. The environment and infrastructure in which the WebApp resides are described in detail. The WebApp can reside on the Internet, an intranet, or an Extranet. In addition, the infrastructure (i.e., the component infrastructure and the degree to which a database will be used to generate content) for the WebApp should be identified at this stage.
Although a detailed requirements specification is recommended for large, complex WebApps, such documents are rare. It can be argued that the continuous evolution of WebApp requirements may make obsolete any document before it is finished. Although this may be true in the extreme, it is necessary to define an analysis model that can serve as a foundation for the design activity that follows. At a minimum, the information collected during the preceding four analysis tasks should be reviewed, modified as required, and then organized into a document that can be passed to WebApp designers.