TJTS5705 Product Line Engineering (5 cr)

Study level:
Advanced studies
Grading scale:
0-5
Language:
English, Finnish
Responsible organisation:
Faculty of Information Technology
Coordinating organisation:
Faculty of Information Technology
Curriculum periods:
2026-2027, 2027-2028

Tweet text

PLE enables coordinated production of related products us-ing the same underlaying base assets targeting different features, price points etc.

Description

Product line engineering enables coordinated production of related products using the same underlaying base assets. A product line can target different customer needs, price points and feature combinations better and more efficiently than a single product or project outcome. It may also enable entry into market segments that would otherwise be inaccessible due to prohibitive development costs or resource constraints.

This course focuses on developing software systems within a product line: a group of product variants developed based on some commonalities. We describe frameworks and patterns to moving towards product line and implementing it – along with examples from practice and different industries, such as consumer products and industry automation. We also identify typical technical challenges and common pitfalls that can easily happen, like ‘clone-&-own’ as well as describe typical organizational structures in product line development.

Learning outcomes

After completion of the course, the student understands when it is better to consider developing a product line instead of developing a single product or a project. The students learn methods to consider and formulate product lines, their variation and commonalities, apply different mechanisms to manage variability, and basics for developing variants within a product line. The students can differentiate domain engineering part (defining the common within a product line) and what kind of methods can be applied to develop individual applications/products within a product line. The student understands the transition process from single product or project to product line engineering.

Additional information

Completion methods: 

Participation in lectures, exercises, and practical project work. There is no exam.

Description of prerequisites

Tietojärjestelmätieteen kanditason (tai vastaavat) opinnot.

Participants are predominantly students pursuing master's degree studies. Students have an understanding of systems and software specification and design work and processes through their previous studies (e.g., information systems development, product development, software production and its management). Priority is given to information systems science students who have progressed furthest in their studies.

----------------------------------

Osallistujat ovat valtaosin maisteriopintoja suorittavia opiskelijoita. Opiskelijalla on edeltävien opintojen kautta ymmärrystä järjestelmien ja ohjelmistojen määrittely- ja suunnittelutyöstä ja prosessista (esim. tietojärjestelmien kehitys, tuotekehitys, ohjelmistotuotanto ja sen johtaminen). Etusijalla ovat opinnoissa pisimmälle edenneet tietojärjestelmätieteen opiskelijat.


Study materials

Kirjallisuus:

Isabel John, Jens Knodel, Theresa Lehner, and Dirk Muthig. 2006. A Practical Guide to Product Line Scoping. In Proceedings of the 10th International on Software Product Line Conference (SPLC '06). IEEE Computer Society, USA, 3–12.

Kang, K.C. and Cohen, S.G. and Hess, J.A. and Novak, W.E. and Peterson, A.S., "Feature-oriented domain analysis (FODA) feasibility study", Technical Report CMU/SEI-90-TR-021, SEI, Carnegie Mellon University, November 1990, https://www.sei.cmu.edu/documents/1011/1990_005_001_15872.pdf

Weiss, David M., and Chi Tau Robert Lai. Software product-line engineering: a family-based software development process. Addison-Wesley Longman Publishing Co., Inc., 1999.

Bosch, J., Design and use of software architectures: Adopting and evolving a product-line approach. Addison-Wesley, 2000.

Pohl et al., Software Product Line Engineering : Foundations, Principles, and Techniques, Springer 2005

Pohl, K., Metzger, A., Software Product Lines. In: Gruhn, V., Striemer, R. (eds) The Essence of Software Engineering. Springer, Cham, 2018. https://doi.org/10.1007/978-3-319-73897-0_11

K. Czarnecki and U. Eisenecker. Generative Programming: Methods, Tools, and Applications. Addison-Wesley, 2000

Completion methods

No completion methods