primaryview.org Home Page

primaryview.org

Describing the User

UI Architecture

UI Architecture

ETP

UI Methods

Software Process

UI Patterns

UI Style

Workshops & Resources

UML

UI Methods and ArchitectureArchitecture

Software architecture concerns itself with guiding construction of software systems by breaking a large construction effort—the entire software system to be built—into a set of smaller projects. Each individual should know what they are tasked with. Ideally, each individual should also know where to go to get answers to virtually any question they have concerning the system.

What is Software Architecture?

Software architecture addresses this goal by systematically breaking a software system into smaller pieces. Each piece's content is defined by the rules governing its construction and the rules governing how it may interact with other pieces. This organization of a large problem by breaking it into a set of smaller problems can be expressed by four principals:

  1. The partitionspopup link into which all of a system's components can be classified.
  2. For each partition, a set of rules that govern the design of that partition.
  3. A set of rules that govern the interactions between partitions.
  4. A set of guidelines governing the methods, processes, and artifacts used by the extended development team.

The first three principals specify constraints on the software (code) itself. This enables the modular construction of software with a minimum of interdependency between modules (pieces of software).

The fourth principal helps to bind a system's construction to those who will use, benefit from, or otherwise own the system. At the same time, these methods, processes, and artifacts should minimize the resources needed to construct the system.

The partitions and rules that express an architecture provide each member of a development team with a manageable description of construction guidelines. Most developers will be concerned with a single partition or two partitions that share an interface. By knowing the rules that govern that partition (or those two partitions), including the rules of interface to other partitions, the developer can determine who to contact with any particular concern. But only if the software architecture makes use of all four of these architectural principals.

UI Architecture

UI architecture specifies the rules governing the architectural partition for human-machine interface. Architecture need not involve a single level of partitioning. User interface architecture provides a set of partitions into which the human-machine interface's implementation can be subdivided. UI architecture also provides the rules for the content of these partitions (of the human-machine interface partition) as well as the rules that govern the interaction of these partitions with each other. Finally, user interface architecture provides the rules that govern interaction of the human-machine interface partition with the rest of the system architecture.

The ETP Architecture

Many user interface architectures are possible. The ETP architecture discusses one user interface architecture, its benefits, and how it is used to bind HCI methods to a system architecture.

Last Modified February 2003

©2002, 2003 John M. Artim