System Family Engineering


AKA Product-line engineering

Seeks to exploit the commonalities among systems from a given problem domain while managing the variablities among them in a systematic way.
New system variants can be rapidly created based on a set of reusable assets.

Differences with Product-line engineering: System family engineering is mainly concerned with building systems from common assets, whereas product-line engineering additionally considers scoping and managing common product characteristics from the market perspective.

Development Processes

Domain Engineering

AKA product-line development or core asset development.
AKA development for reuse.
It is concerned with the development of reusable assets such as components, generators, DSLs, analysis and design models, user documentation, etc. It also includes analysis, design and implementation activities. These activities are focused on a class of systems.

Application Engineering

AKA product development.
AKA development with reuse.

Concrete applications are built using the reusable assets. It starts with requirement elicitation, analysis and specification. The requirements specification is the main input for system derivation, which is the manual or automated construction of the system from the reusable assets.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-Share Alike 2.5 License.