Title :
On the Design and Development of Program Families
Author :
Parnas, David L.
Author_Institution :
Research Group on Operating Systems I, Fachbereich Informatik, Technische Hochschule Darmstadt
fDate :
3/1/1976 12:00:00 AM
Abstract :
Program families are defined (analogously to hardware families) as sets of programs whose common properties are so extensive that it is advantageous to study the common properties of the programs before analyzing individual members. The assumption that, if one is to develop a set of similar programs over a period of time, one should consider the set as a whole while developing the first three approaches to the development, is discussed. A conventional approach called "sequential development" is compared to "stepwise refinement" and "specification of information hiding modules." A more detailed comparison of the two methods is then made. By means of several examples it is demonstrated that the two methods are based on the same concepts but bring complementary advantages.
Keywords :
Information hiding modules; module specifications; program families; software design methodology; software engineering; stepwise refimement; Algorithm design and analysis; Costs; Hardware; Manufacturing; Operating systems; Production; Programming profession; Software design; Software engineering; Software maintenance; Information hiding modules; module specifications; program families; software design methodology; software engineering; stepwise refimement;
Journal_Title :
Software Engineering, IEEE Transactions on
DOI :
10.1109/TSE.1976.233797