Partitioning of Models with Faktor-IPS
Base Model and Line-Specific Models
When mapping the product spectrum of an insurance company, it makes sense to differentiate by line of business. Processes and products are similar within a line of business, but can differ greatly between lines. This differentiation is also reflected in the organisational structures of insurance companies. When modelling contracts and products, it therefore makes sense to create sub-models for different lines of business.
The model created in the Faktor-IPS introductory tutorial is used to represent contracts and products for the home contents line of business. Home contents contracts have properties such as effective date, mode of payment, and premium, and can contain coverages such as base coverage and extra coverages.
If we now consider designing a model for contracts and products in the motor vehicle line of business, we will find that motor vehicle contracts also have properties such as effective date, mode of payment, and premium, and can also contain multiple coverages. And when looking at further lines of business, these cross-line commonalities will be found as well. Rather than modelling the mode of payment, for example, as a separate attribute in each of the classes HomeContract, MotorVehicleContract, AccidentContract (…), it makes sense to represent these commonalities uniformly in a cross-line sub-model (base model) that serves as the basis for the line-specific sub-models. The following figure illustrates this separation into cross-line and line-specific aspects using the example from the introductory tutorial. To illustrate the reusability of the base model, the example has been extended here by a (also greatly simplified) motor vehicle model.
Cross-line attributes such as paymentMode and annualBasePremium have been moved to the corresponding base classes Contract and Coverage. The association between Contract and Coverage is also part of the cross-line (sub-)model. Cross-line logic, such as the calculation of the annual premium for all coverages of a contract, is represented in the base model. The calculation of the premium for the individual coverage is, however, implemented in a line-specific manner in the respective subclasses of the line-specific models.