{{Short description|Domain analysis method}} '''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. Its concepts have been regarded as critically advancing software engineering and software reuse.
==History== Feature-oriented domain analysis was first developed by the Software Engineering Institute in 1990.<ref name="Cza 44">Czarnecki, p.44</ref> In the initial technical report, a study performed determined that feature oriented domain analysis was not only beneficial, but was described as a "necessary first step" for software reuse.<ref name="Kang 99">Kang, p.93</ref> The report introduced the concept of feature models to domain engineering in an effort to represent the standard features within the family of systems in the domain as well as the relationships between those features.<ref name="Kang 42">Kang, p.42</ref> Since then, feature models have been characterized as "the greatest contribution of domain engineering to software engineering".<ref name="Cza 82">Czarnecki, p.82</ref>
Much of the work leading up to the development of FODA was sponsored by the U.S. Department of Defense through research programs related to software reuse during the late 1980s. FODA was developed as a comprehensive analysis and refinement of technology developed from 1983–1990.<ref name="Cza 57">Czarnecki, p.57</ref> While some aspects of FODA have changed, and it has become integrated with model-driven engineering, FODA is still known as the method that initially introduced feature models to domain engineering.<ref name="Cza 44" />
==Purpose== 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<ref name="Kang 26">Kang, p.26</ref> 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.<ref name="Kang 36">Kang, p.36</ref> ''FODA feature analysis'' then analyzes the end-user's view of the configurable requirements and candidate systems within the domain.<ref name="Kang 40">Kang, p.40</ref> From the developed feature model, customers can select from configurable requirements to specify a final system.<ref name="Kang 43">Kang, p.43</ref> Through this process, feature-oriented domain analysis ensures that a business can meet customers' demands efficiently through reuse of technology.<ref name="Cza 43">Czarnecki, p.43</ref>
==References== {{reflist}}
==Bibliography== *{{cite book|last1=Czarnecki|first1=Krzysztof|last2=Eiseneckerr|first2=Ulrich W.|title=Generative Programming: Methods, Tools, and Applications|year=2000|isbn=0-201-30977-7|publisher=Addison-Wesley}} *{{cite report|title=Feature-Oriented Domain Analysis (FODA) Feasibility Study|publisher=Software Engineering Institute, Carnegie Mellon University|location=Pittsburgh|url=https://resources.sei.cmu.edu/library/asset-view.cfm?assetid=11231|format=PDF|year=1990|last=Kang|first=K.|author2=Cohen, S. |author3=Hess, J. |author4=Nowak, W. |author5= Peterson, S. }}
Category:Software design Category:Systems engineering