Korppi-järjestelmän toimintoja Korppi


Kirjaudu sisään järjestelmään!
25.3.2017 21:37

TJTSS53 Software Product Line Engineering and Management, 5 op, Ohjelmistotuoteperheiden suunnittelu, hallinta, ja hyödyntäminen liiketoimintaprosessien tukemisessa

Tietojenkäsittelytieteiden laitos

Kurssille ei voida ilmoittautua, koska se on jo vanhennettu.
Kurssin ilmoittautumisaika päättyi 28.5.12 klo 23:59.

Yleisiä tietoja

Alkaa - päättyy: 13.3.12 - 1.5.12
Ilmoittautumisaika: 15.5.11 klo 0:00 - 28.5.12 klo 23:59
Ilmoittautuminen voidaan perua 28.5.2012 klo 00:00 mennessä.
Opettaja(t): Lehtori Timo Käkölä (timo.k.kakola@jyu.fi)
Laajuus: 5 op
Kielet: opetuskielet: English; suorituskielet: suomi, English
Ilmoittautuneita: 46
Maksimi osallistujamäärä: 75
Sopii vielä: 29
Organisaatiot:Informaatioteknologian tiedekunta (ITK), Mobile Technology and Business (MOTEBU), Tietojenkäsittelytieteiden laitos (TKTL)

Are you interested in becoming a product manager that steers the marketing, design, and delivery of complex software and/or systems products? Or are you aspiring to become a business manager who needs mass-customizable software applications and services to design and run effective eBusiness processes? In these and several other cases, this course is for you. It started in March 2012 but you can still take the course by reading the materials and passing the exam. The course will demonstrate the benefits of software mass-customization in the design of eBusiness processes not only from the viewpoints of software and systems product and services providers but also from the viewpoints of end-users and managers of eBusiness processes. We will have several international visiting experts involved in the course: Dr. Rick Rabiser from <span style="background-color: rgb(246, 246, 255); color: rgb(8, 8, 15); font-family: 'Trebuchet MS', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; text-align: justify; ">Johannes Kepler University, </span>Austria; Ms. Andrea Leitner from Graz University of Technology, Austria; and John McGregor from Clemson University, USA. John also has extensive experience from his work at the Software Engineering Institute of Carnegie Mellon University, USA. We will complement traditional lectures with hands on software demonstrations, so students can see the power of mass-customization of software-enabled eBusiness and other processes in practice.


Software has become the key asset for competitive products in practically all industries. Thus, competitiveness in software development has become a concern for companies. There are two primary strategies to deal with this concern: increasing the competitiveness internally through methods such as large-scale reuse of existing software assets or externally by outsourcing software development activities to third party vendors. Additionally, companies may choose to enact both strategies in parallel. In this course, the first strategy is primarily focused on, but the importance of the third strategy is also acknowledged.

Finnish software industry, in the same way as software industries in other countries having relatively high labor-costs, is facing tough recession times. Software businesses that do not have own software products and that focus on services without adequate productization (e.g., selling programmers’ development time on hourly bases to maintain customers’ systems) are especially vulnerable. Therefore, more and more software businesses need to emphasize their own product development and marketing.

Software product line engineering is an industrially validated methodology that software businesses can leverage to move from a service business model toward a software product business model and to develop software products and software-intensive systems faster, at lower costs, and with better quality and higher end-user satisfaction. It enables strategic reuse of requirements, features, pieces of software code, test cases, and numerous other software assets across the products in a software product line. It also facilitates the design of human-computer interfaces and highly usable software products and helps make the products within a product line look and feel similar. Finally, it enables (1) customer organizations to configure the products to the needs of specific user groups and the enterprise architectures and (2) the end-users to personalize the products they use to their specific needs. As a result, it has gained increasing global attention during this decade. It has been leveraged widely in business-to-business settings (e.g., designing and selling product suites that enable entire enterprise architectures) and business-to-consumer settings (e.g., office products, platforms for cellular phones).

Software product line engineering differs from single-system engineering in two primary ways: 1. It requires two distinct development processes: domain engineering and application engineering. Domain engineering defines and realizes the common, invariant artifacts and the variability of a software product line, thus establishing a common software platform for developing and mass-customizing high-quality applications rapidly within the line. Application engineering derives specific applications by strategically reusing the platform and by exploiting the variability built into the platform. 2. It needs to explicitly define and manage variability. For example, some applications within a product line may have a certain feature that other applications within the line do not have. During domain engineering, variability is introduced into all domain artifacts such as requirements, architectural models, components, and test cases. It is exploited during application engineering in order to derive applications tailored to the needs of different customers.

Because multiple products that share similar features should be considered in software product line engineering, the complexity of software product line engineering is high compared to single software product engineering. This course enables the students understand the key concepts of software product line engineering, apply them in industrial settings, and conduct undergraduate, graduate, and post-graduate level research in software product line engineering and management.

The following topics will be covered in the course: • A software product line engineering framework that defines the key processes of domain engineering and application engineering and the artifacts produced and used in these processes. • The smart homes domain from which examples are drawn to help students understand the covered issues. • Product line variability o Orthogonal variability model to document variability clearly and unambiguously throughout the course. o Documenting variability in requirements artifacts, that is, textual requirements, features, scenarios, use cases, statecharts, and class diagrams. o Documenting variability in architectural artifacts, that is, in the development view, the process view, and the code view of a software architecture. o Documenting the variability of component interfaces and the variability within the internal structure of components. o Documenting the variability in test artifacts such as test cases and test case scenarios. • Domain engineering o Product portfolio management and the economics of software product line management. o Domain requirements engineering to identify and document common and variable requirements for the product line. o Domain design to define the reference architecture for the product line. o Domain realization to design reusable software components that implement commonality and variability in the reference architecture. o Domain testing to establish a systematic reuse of test artifacts throughout product line testing. o Selecting commercial off-the-shelf components to implement a significant portion of the overall functionality of the product line. • Application engineering o Application requirements engineering to exploit common and variable artifacts of the product line when defining applications. o Application design to derive an application architecture from the reference architecture that best meets the application requirements. o Application realization by configuring reusable domain components and creating application-specific code if necessary. o Application testing by reusing domain test case designs. • Organizational aspects o Organizational structures for software product line engineering o Transition strategies for moving from single systems development to software product line engineering • Industrial experiences about applying the software product line paradigm • Future research topics for various thesis projects


To make students aware of what is software product line engineering, how software providers can leverage it in practice, how businesses can benefit from mass-customizable software in re-engineering their business processes, and what research opportunities exist for B.Sc., M.Sc., and Ph.D. dissertations.


Software product line engineering and management is a highly multi-disciplinary field. Students with backgrounds not only in business process management, information systems development, and software engineering but also in marketing, economics, strategy, human-computer interaction, organization science, law, and other relevant disciplines are encouraged to contribute to the course. However, all students should have basic knowledge of information systems development and management.



To boost European competitiveness in the area of software-intensive high-technology product development, the European Union invested more than 100 million Euros in a six-year software product line research project series (ESAPS, CAFÉ, and FAMILIES) between 1999 and 2006. The instructor served in a scientific leadership position in the project series. The literature to be used in the course mainly consists of the three books that crystallize the most central results of the project series. The main course book is “Software Product Line Engineering” by Pohl, Böckle, and Van der Linden. Many copies of it are available in the Jyväskylä university library. The book has been targeted for advanced graduate level university courses. Each chapter and the book as a whole will be critically reviewed during the course. The book Software Product Lines in Action covers business, software architecture and process, and organizational aspects in detail and presents numerous case studies where product line engineering is applied.


The course will be conducted through lectures (app. 24 hours) and the final exam. To successfully obtain 5 credit units, the students must successfully pass the exam. In the exam, the main course book as well as the slide sets of visiting speakers will be required.

In addition, it is possible to perform additional assignments in a related course TJTSS54, where the students alone or in groups prepare short research essays or presentations based on interesting new books, research papers, and (if possible) their own relevant work experiences. The essays/presentations can account for 3 extra credit units. The best essays/presentations may be further improved, combined with B.Sc. and/or M.Sc. thesis projects if possible, and published in international conferences and journals.


1. Pohl, K., Böckle, G. and Van der Linden, F. (2005). Software Product Line Engineering. Springer. 2. Käkölä, T. and Duenas, J.C. (2006). Software Product Lines: Engineering and Management. Springer. 3. Van der Linden, F., Schmid, K. and Rommes, E. (2007). Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering. Springer. 4. Other relevant recent literature in the field.


Managing high-tech corporations, mass-customization of software (to meet the needs of specific users and market segments) to enable the mass-customization of eBusiness processes, knowledge management, software business and engineering, product management, technology management, software platforms and product lines, information systems and enterprise architecture development, determining common and variable product features in product lines

[Tiivistä opetusryhmien aika- ja paikkatiedot]

Luento [ryhmien tarkat tiedot ja ilmoittautuminen]

Luento 1 [ryhmätiedot ja ilmoittautuminen]; ilmoittautuneita 46, maksimi 200
ilm.aika: 15.5.2011 00:00 - 28.5.2012 23:59
 PaikkaViikkoPäiväPvmKloOhjaajaLisätietojaURITapahtuman tiedot
1Ag Delta11ti13.3.201212:15-14:00KäköläTapahtuman tiedot
2Ag Auditorio 212ti20.3.201212:15-14:00KäköläTapahtuman tiedot
3Ag Delta13ti27.3.201212:15-14:00KäköläTapahtuman tiedot
4Ag Delta15ti10.4.201212:15-14:00KäköläTapahtuman tiedot
5MaD 25916ti17.4.201212:15-14:00KäköläTapahtuman tiedot
6Ag Beeta17ti24.4.201212:15-14:00KäköläTapahtuman tiedot
Luento 2 [ryhmätiedot ja ilmoittautuminen]; ilmoittautuneita 46, maksimi 200
ilm.aika: 15.5.2011 00:00 - 28.5.2012 23:59
 PaikkaViikkoPäiväPvmKloOhjaajaLisätietojaURITapahtuman tiedot
1MaA 21111ke14.3.201210:15-12:00KäköläTapahtuman tiedot
2MaA 21112ke21.3.201210:15-12:00KäköläTapahtuman tiedot
3MaA 21113ke28.3.201210:15-12:00KäköläTapahtuman tiedot
4MaA 21116ke18.4.201210:15-12:00KäköläTapahtuman tiedot
5Ag Delta17ke25.4.201210:15-12:00KäköläTapahtuman tiedot
6MaA 21117ke25.4.201212:15-14:00-Tapahtuman tiedot
7Ag Delta17to26.4.201212:15-14:00KäköläTapahtuman tiedot

Extra luento [ryhmien tarkat tiedot ja ilmoittautuminen]

Extra luento [ryhmätiedot ja ilmoittautuminen]; ilmoittautuneita 2, maksimi 200
ilm.aika: 15.5.2011 00:00 - 28.5.2012 23:59
 PaikkaViikkoPäiväPvmKloOhjaajaLisätietojaURITapahtuman tiedot
1Ag Beeta15to12.4.201212:15-14:00KäköläTapahtuman tiedot