Identify domain commonalities and variabilities. The identified features should be named and any naming conflicts should be resolved. Synonyms for the features should also be recorded in the domain terminology dictionary.
In order to identify features, you should consider commonalities and variabilities related to aspects of both problem and solution space:
· The capabilities of applications in a domain from the end-user’s perspective, also known as functional requirements
· The operating environments in which applications are used and operated.
Applications may run in different operating environments. They may run on different hardware or operating systems, or interface with different types of devices. Understanding the commonalities and differences between the external components with which the applications interface is essential to abstracting the functionalities of those external components and defining common interfaces to them.
· The application domain technology (e.g., navigation methods in the avionics domain) available to implement user´s capabilities.
There may be many ways to provide the capabilities desired by the end-users. System´s Designers can select a set of domain technologies and define features based on the selected technologies.
· The implementation techniques (e.g., synchronization mechanisms used in the design),
Considering the hardware and software platforms, the space and time constraints, the expected transaction volume and frequency, etc., designers make a number of architectural decisions which all affect the characteristics of software products and consequently, the feature used to represent them.
|