| Instructor: Dr. Bedir Tekinerdoğan Software reuse has been a 
goal of the software community since the early days of software engineering. 
Various technologies have been proposed to solve the software reuse problem, 
including subroutines, object-oriented software development, software design 
patterns and component-oriented software development. 
Unfortunately, 
software reuse has been applied in an 
opportunistic, ad hoc manner, 
and as such
did not scale up for 
large-scale software development.  Systematic software reuse 
is a promising approach to reduce cost and development cycle time, improve 
software quality and productivity. In this context the notion of software 
product line has gained importance for large scale systematic software 
reuse. Software product line is a set of software-intensive systems sharing a 
common, managed set of features that specify the specific needs of a market 
segment and that are developed from a common set of core assets.
Software product line engineering is a paradigm to 
develop software product lines and as such supports reuse, productivity and 
quality of the systems. Unlike conventional software development paradigms  
that aim to develop single systems, SPLE considers the development of a family 
of software systems. As such SPLE adopts a fundamentally different 
software life cycle approach than single system development.  The course will teach the following topics: 
	Motivation for software reuse Software reuse levels Software Product Lines Software Product Line Engineering Methods Software Product Line Engineering Tools Domain Engineering Application Engineering Variability Management Variation Analysis Feature Modeling Reference Architecture vs. Application Architecture Portfolio Management Software Product Line Scoping Product Definition Approaches Testing in Software Product Line Engineering Organization Structures for SPLE Adoption Strategies for SPLE All students should have passed the course 
'CS319-Object-Oriented Software Engineering' with a grade >= C.  There should not be any conflict 
with other courses. |