Software BasesfortheFlexibleComposition of Application Systems
Marcus Oppitz · 1987
byend-users wouldrequire goodsupportfromthesoftware basemanagement system andaveryneatuser interface. Themainbenefits ofourapproach will accrue forsoftware vendors producing systems whichareshipped andoperated inalarge number ofvariations, andforapplication environments whereabasic setof tasks mustbeperformed innumerous subtle variations. Further, this approach should befollowed insituations whereadaptive maintenance, i.e., creation ofanewvariant ofthesystem, canbeaccomplished byreusing mostoftheprevious design andasubstantial portion ofalready existing code. IndexTerms-Software base, software engineering, software generalization, software modularization, software reusability. I.MOTIVATION SINCEmaintenance oflarge systems isahugeand complex task, accommodating changes intherequirementsforsuchsystems usually takes muchtime-more timethan users arewilling toaccept, because theywould consider intheir estimate only theisolated part which they caneasily oversee. Onewayofreducing themaintenance backlog andthe griping ofend-users istoputthemaintenance taskinto their ownhands. Theobstacle tothis approach isevidently that end-users arenottrained programmers. One cannot expect themtofully consider thepossible side effects ofachange madeorproposed bythem. (Taking care ofsuchside effects isessentially thereason whyittakes