The Interface Definition subphase
In the USoft Approach, Interface Definition is a subphase of the DEFINE phase.
In the Interface Definition subphase, you specify and implement interfaces. Interfaces are software constructs that allow humans or systems to connect to the USoft Rules Engine which you specify and implement in the Structure Definition and Rule Definition subphases. Interfaces for direct communication with humans are UIs (user interfaces). UIs must offer a user-friendly way of working. Interfaces for communication with systems include interfaces for scheduling and running batch jobs against the Rules Engine, and services such as REST services or Web Services consumed or exposed by the USoft Rules Engine. These interfaces must be fast and easy to maintain and they must offer informative runtime messages.
Interfaces are specified when you work on tasks of the SPECIFY task type.
By default in USoft, UIs are not specified independently of their implementation (their realization), except perhaps in sketchy formats during Rapid Analysis when storyboards or artist impressions may be shown as prototypes. It is more typical of the USoft Approach that quick-and-dirty interface prototypes are built directly, that is, using the same tools and techniques as finished interfaces; these are the first or 'alpha' versions of the evolving solution and may be shown as early as in the Rapid Analysis subphase. However, an aspect of UIs that is usually specified in USoft as business rules are authorization rules - rules that distinguish the various types of end user and the possibilities these users should have to inspect or manipulate data. Other important general requirements about human interfaces may also be recorded in the form of business rules.
By default in USoft, desired properties of system interfaces are captured in textual format or visualised by diagrams of various types. This type of specification may start as early as in the Business Orientation subphase of the PLAN phase.
Interface specification in textual format may be defined in USoft Teamwork or USoft URequire. Certain diagramming techniques may be created in URequire or, if created in a third-party tool, referenced from URequire. Alternatively, you can choose to specify interfaces outside USoft, using a different format or tool, or using different methods and techniques.
Interfaces are implemented when you work on tasks of the IMPLEMENT task type.
USoft offers important templating capacity for two types of UI, namely, Client/Server UI ("windows") and browser-based pages. This capacity consists of creating default C/S and Web "screens" automatically on the basis of structure implementations. This templating capacity is an essential advantage when you need prototyping (even in the Rapid Analysis subphase of the PLAN phase).
In addition, USoft allows you to create non-UI interfaces very easily, especially if the functionality of such interfaces is to allow data query or data manipulation subject to rules defined in a Rules Service during Structure Definition and Rule Definition.
In addition to these typical ways of implementing interfaces, a range of other options is available. Because USoft features excellent separation of application tiers, it is easy to let USoft handle all rules-based behavior whilst designing and programming interfaces in other tools.
You can implement interfaces in USoft Definer or other USoft tools without first specifying them in USoft Teamwork or URequire.
NOTE: The sequence of subphases Structure Definition - Rule Definition - Interface Definition suggests an ordering in time but this is relative. It is true that when you start working on a completely new area, you usually specify structure first, then rules, and then interfaces. But in all other cases, you are likely to make alterations to all three as you go along. Most rules clearly depend on structure. Interfaces are also fairly clearly related to underlying structure, but less so on rules.
The Structure Definition subphase