The user model defines the target end user of the application. Some of the questions this model answers include:
- Who is the user and what are the user's skills, experiences, and use cases/scenarios?
- What are the user requirements for task sequencing, usability, training, responsiveness, performance, and interoperability with external applications and data?
- Is the user a dedicated employee who can tolerate usability quirks or inconveniences, or are they a consumer who may not buy any products if the user interface is not easy, reliable, and efficient?
- How much feature documentation and help will the user need? Will they have the patience to read documentation?
- Will the user require product support? Will they pay for it?
- How many users will be using the application at any one time?
- How powerful is the user's desktop computer, and how fast is their network connection?
- What is required to ensure proper security?
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.
How the user model interacts with other models
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.
How the Internet affects the user model
Examples of the way the Internet has affected the user model include:
- Access to an enormous wealth of professionally published HTML-based information.
- A huge growth in the opportunity to reach untrained consumers directly from enterprise applications.
- A significant fear of "big-brother-like" Web applications gaining access to personal desktop resources.
- A loss of some user interface form rendering techniques.
- Slower user-interface responsiveness in applications, based on slow network links.
- Unreliable information and application access over relatively fragile Internet links.
For more information The business model is explored in greater depth in "Meeting User Needs,"in Chapter 3, "Tools for Enterprise Application Design."