Sun Java Enterprise System Deployment Planning Guide

Usage Analysis

Usage analysis involves identifying the various users of the solution you are designing and determining the usage patterns for those users. The information you gather provides a basis for estimating the load conditions on the system. Usage analysis information is also useful when assigning weights to use cases, as described in Use Cases.

During usage analysis, you should interview users whenever possible, research existing data on usage patterns, and interview builders and administrators of previous systems. The following table lists factors to consider when performing a usage analysis.

Table 3–1 Usage Analysis Factors

Topic 

Description 

Number and type of users 

Identify how many users your solution must support, and categorize those users, if necessary. 

For example: 

  • A Business to Customer (B2C) solution might have a large number of visitors, but only a small number of users who register and engage in business transactions.

  • A Business to Employee (B2E) solution typically accommodates each employee, although some employees might need access from outside the corporate network. In a B2E solution, managers might need authorization to areas that regular employees cannot access.

Active and inactive users 

Identify the usage patterns and ratios of active and inactive users. 

Active users are those users logged into the system and interact with the system’s services. Inactive users can be users who are not logged in, users who log in but do not interact with the system’s components, or users who are in the database but never log in. 

Administrative users 

Identify users that access the deployed system to monitor, update, and support the deployment. 

Determine any specific administrative usage patterns that might affect technical requirements (for example, administration of the deployment from outside the firewall). 

Usage patterns 

Identify how various types of users access the system and provide targets for expected usage. 

For example: 

  • Are there peak times when usage spikes?

  • What are normal business hours?

  • Are users distributed globally?

  • What is the expected duration of user connectivity?

User growth 

Determine if the size of the user base is fixed or if the deployment expects growth in the number of users. 

If the user base is expected to grow, try to create reasonable projections of the growth. 

User transactions 

Identify the type of user transactions that must be supported. These user transactions can be translated into use cases. 

For example: 

  • What tasks do users perform?

  • When users log in, do they remain logged in? Do they typically perform a few tasks and log out?

  • Will significant collaboration between users require common calendars, web-conferences, and deployment of internal web pages?

User studies and statistical data 

Use pre-existing user studies and other sources to determine patterns of user behavior. 

Often, enterprises or industry organizations have user research studies from which you can extract useful information about users. Log files for existing applications might contain statistical data useful in making estimates for a system.