Summary of the talk on
Feature-oriented domain analysis (FODA)
by Prakash Chamarthy and Supraja Kamal on Jan 23'rd 2013
Domain engineering
Domain engineering is the activity of collecting, organising and storing past experiences in building system or parts of system in a particular domain in the form of reusable assets as well as providing an adequate means for reusing these assets when building new systems. Vertical domains refer to areas organised around classes of systems and horizontal domains refer to areas organised around classes of parts of system. Domain engineering encompasses domain analysis, domain design and domain implementation. The results of domain engineering are reused in application engineering that is the process of producing concrete system using reusable assets developed during domain engineering. Conventional software engineering concentrates in satisfying the requirements for a single system whereas domain engineering concentrates on providing reusable solution for a family of systems. Domain analysis aims to select and defines domain of focus and collects the relevant domain information and integrate it into a coherent domain model.it involves domain scoping and domain modelling.The main purpose of domain design is to develop an architecture for the family of systems in the domain and to devise a production plan.
Feature-oriented domain analysis (FODA)
Feature-oriented domain analysis (FODA) is a domain analysis method which introduced feature modelling to domain engineering. FODA was developed in 1990 following several U.S. Government research projects. The intent of feature-oriented domain analysis is to support functional and architectural reuse. The objective is to create a domain model which represents a family of systems which can then be refined into the particular desired system within the domain [1] To do this, the scope of the domain must be analyzed (known as FODA context analysis) to identify not only the systems in the domain but also the external systems which interact with the domain.[2] FODA feature analysis then analyzes the end-user's view of the configurable requirements and candidate systems within the domain From the developed feature model, customers can select from configurable requirements to specify a final system through this process, feature-oriented domain analysis ensures that a business can meet customers demands efficiently through reuse of technology. A FODA feature model consist of following four key elements. Feature diagram Feature definition Composition rules for features Rational for features.
FODA process consists of two phases Context Analysis (defines the scope of a domain) Domain Modelling (Main commonalities and variabilities are identified and modelled) Information Analysis
Feature Analysis Operation Analysis
Benefit of using FODA
The FODA method gives the benefits of both approaches by providing generic components and also refinements of those components at various levels. As generic components are refined the factors that make applications uniqueare incorporated into the refinements. Reuse of the components can happen at the level that is most appropriate for an application.
References
[1] http://en.wikipedia.org/wiki/Feature-oriented_domain_analysis [2] Feature-Oriented Domain Analysis (FODA http://www.sei.cmu.edu/reports/90tr021.pdf