NWI-IMC059
Software Product Lines
Course infoSchedule
Course moduleNWI-IMC059
Credits (ECTS)6
CategoryMA (Master)
Language of instructionEnglish
Offered byRadboud University; Faculty of Science; Informatica en Informatiekunde;
Lecturer(s)
Lecturer
dr. C.D. Nascimento Damasceno
Other course modules lecturer
Examiner
dr. D.G.F. Strüber
Other course modules lecturer
Lecturer
dr. D.G.F. Strüber
Other course modules lecturer
Coordinator
dr. D.G.F. Strüber
Other course modules lecturer
Contactperson for the course
dr. D.G.F. Strüber
Other course modules lecturer
Academic year2022
Period
KW1-KW2  (05/09/2022 to 29/01/2023)
Starting block
KW1
Course mode
full-time
RemarksPlease note: This course will be taught online, with possibly a few live meetings at the beginning of the semester.
Registration using OSIRISYes
Course open to students from other facultiesYes
Pre-registrationNo
Waiting listNo
Placement procedure-
Aims

By the end of the course, students should be able:

  1. to reason about advantages and disadvantages of classic as well as advanced programming methods, including preprocessors, version control systems, components, frameworks, aspect-oriented programming and feature-oriented programming

  2. to evaluate, select and apply programming methods, particularly with regard to the development of ​​software product lines

  3. to develop a configurable system by using advanced programming methods with their available tool support, including specialized IDEs, configuration tools and modeling tools

  4. to reflect on characteristics of configurable systems, the use of software product line methods, and the implications for the development process

Content
Customization allows software companies to tailor their products to diverse application contexts and market segments. Software product lines are a key technology for the development of customized software at scale. When developing software product lines, the aim is to keep the code base maintainable, while at the same time reducing development costs. Maintaining a software product line can also give rise to unique challenges during software analysis and testing, especially when the number of customizable variation points is large, leading to an astronomically large space of possible products.

 Topics. The following topics are taught in the course:

  • Introduction to the problem of developing complex, customized software systems using the example of embedded database management systems

  • Modeling and implementation of software product lines 

  • Reiteration of basic concepts of software technology, including: cohesion, scattering and tangling, information hiding and modularization

  • Introduction to various classic and modern languages ​​and tools for developing software product lines, including: preprocessors, frameworks, components, feature modules, aspects, collaborations and roles

  • Comparison of basic concepts, methods, techniques and tools supporting the considered approaches.

  • Critical discussion of advantages and disadvantages of the individual approaches as well as their relationship to each other.

  • Further topics: non-functional properties, analysis of product lines, feature interactions, modeling



Instructional Modes. This course consists of weekly lectures and tutorials.
Presumed foreknowledge
Basic programming skills in Java (required) and C (optional).
Test information
Grades will be awarded on the basis of an exam (70%) and a four-week implementation project (30%). The exam will be oral if possible (depending on the number of course participants).

Admission to the exam will depend on successful completion of the weekly homework assignments (this will be administered separately in OSIRIS as TOETS-03).


In accordance with the Rules and Regulations, the grade for the exam should be a minimum of 5.0.
Specifics
Please note: This course will be taught online, with possibly a few live meetings at the beginning of the semester.
Recommended materials
Book
ISBN:978-3-642-37520-0
Title:Feature-Oriented Software Product Lines: Concepts and Implementation
Author:Sven Apel, Don Batory, Christian Kästner, Gunter Saake
Publisher:Springer

Instructional modes
Course
Attendance MandatoryYes

Tests
Oral exam
Test weight7
Test typeOral exam
OpportunitiesBlock KW2, Block KW3

Implementation Project
Test weight3
Test typeProject
OpportunitiesBlock KW2

Weekly homework assignments
Test weight0
Test typeAssignment
OpportunitiesBlock KW2