The user model defines the target end user of the application. Some of the questions this model answers include:
Note In large formal environments, the user model itself can be separated into four relatively independent sub-models: the usability model, the documentation model, the support model, and the user security model.
As the diagram in the Enterprise Application Model shows, the user model directly interacts with the business model, the logical model, the technology model, and the physical model. The following table characterizes these interactions and gives brief examples of each.
Sub-model | How the user model relates to it | Example |
Business model | Number of users, their skill levels and desktop configurations determine cost of training and supporting them. | A retail order entry application must be fast to accommodate busy clerks. This may require additional hardware or infrastructure investments. |
Logical model | How the user thinks about the tasks and works at them determines how the functionality must be logically encapsulated. | If a customer’s credit can be checked while the order is taken, the credit checking functionality must be in a separate, asynchronously processed component. |
Technology model | User requirements determine the technology needed to meet them. | An application deployed on the Internet must use platform-independent technology for the user interface elements. |
Physical model | Number of users and their locations affects the component architecture needed to reach them effectively. | An application that will be used by a rapidly changing number of users must deploy its user-intensive services in an easily scalable configuration, such a component pool or queue. |
Since the development model permeates all of the Enterprise sub-models, there are no "typical" interactions because you must account for every design and implementation decision in the development model.
Examples of the way the Internet has affected the user model include:
For more information The business model is explored in greater depth in "Meeting User Needs,"in Chapter 3, "Tools for Enterprise Application Design."