{"componentChunkName":"component---src-templates-course-unit-page-tsx","path":"/en/courseunit/tjts5705/","result":{"data":{"translations":{"edges":[{"node":{"context":{"locale":"fi","code":"TJTS5705","title":"Product Line Engineering"},"path":"/fi/opintojakso/tjts5705/"}},{"node":{"context":{"locale":"en","code":"TJTS5705","title":"Product Line Engineering"},"path":"/en/courseunit/tjts5705/"}}]},"SISU":{"courseUnit":[{"id":"otm-54b3b32c-1fdd-4e09-9c4e-e453f175508b","code":"TJTS5705","name":{"fi":"Product Line Engineering"},"credits":{"max":5,"min":5},"studyLevel":{"name":{"en":"Advanced studies","fi":"Syventävät opinnot","sv":"Fördjupade studier"}},"possibleAttainmentLanguages":[{"name":{"en":"English","fi":"englanti","sv":"engelska"}},{"name":{"en":"Finnish","fi":"suomi","sv":"finska"}}],"responsibleOrganisations":[{"id":"jy-ORG-25","name":{"en":"Faculty of Information Technology","fi":"Informaatioteknologian tiedekunta"}}],"coordinatingOrganisations":[{"id":"jy-ORG-25","name":{"en":"Faculty of Information Technology","fi":"Informaatioteknologian tiedekunta"}}],"curriculumPeriods":[{"abbreviation":{"en":"2026-2027","fi":"2026-2027"}},{"abbreviation":{"en":"2027-2028","fi":"2027-2028"}}],"cooperationNetworkDirection":null,"cooperationNetworks":[],"gradeScaleId":"sis-0-5","outcomes":{"fi":"<p>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.</p>"},"tweetText":{"fi":"PLE enables coordinated production of related products us-ing the same underlaying base assets targeting different features, price points etc."},"content":{"fi":"<p>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. </p><p>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-&amp;-own’ as well as describe typical organizational structures in product line development.</p>"},"additional":{"fi":"<p>Completion methods: </p><p>Participation in lectures, exercises, and practical project work. There is no exam.</p>"},"prerequisites":{"fi":"<p>Tietojärjestelmätieteen kanditason (tai vastaavat) opinnot.</p>\n  <p>Participants are   predominantly students pursuing master&#39;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.</p>  <p>----------------------------------</p>  <p>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.</p>    \n\n<p><br /></p>"},"compulsoryFormalPrerequisites":[],"recommendedFormalPrerequisites":[],"literature":[],"learningMaterial":{"fi":"<p>Kirjallisuus:</p><p>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 &#39;06). IEEE Computer Society, USA, 3–12.</p><p>Kang, K.C. and Cohen, S.G. and Hess, J.A. and Novak, W.E. and Peterson, A.S., &#34;Feature-oriented domain analysis (FODA) feasibility study&#34;, Technical Report CMU/SEI-90-TR-021, SEI, Carnegie Mellon University, November 1990, <a href=\"https://www.sei.cmu.edu/documents/1011/1990_005_001_15872.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">https://www.sei.cmu.edu/documents/1011/1990_005_001_15872.pdf</a></p><p>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.</p><p>Bosch, J., Design and use of software architectures: Adopting and evolving a product-line approach. Addison-Wesley, 2000.</p><p>Pohl et al., Software Product Line Engineering : Foundations, Principles, and Techniques, Springer 2005</p><p>Pohl, K., Metzger, A., Software Product Lines. In: Gruhn, V., Striemer, R. (eds) The Essence of Software Engineering. Springer, Cham, 2018. <a href=\"https://doi.org/10.1007/978-3-319-73897-0_11\" target=\"_blank\" rel=\"noopener noreferrer\">https://doi.org/10.1007/978-3-319-73897-0_11</a></p><p>K. Czarnecki and U. Eisenecker. Generative Programming: Methods, Tools, and Applications. Addison-Wesley, 2000</p>"},"completionMethods":[]}],"prerequisiteCourseUnit":[],"prerequisiteModule":[]},"prerequisiteCourseUnitPage":{"nodes":[]},"prerequisiteModulePage":{"nodes":[]},"parentModulePage":{"nodes":[]}},"pageContext":{"type":"courseUnit","locale":"en","title":"Product Line Engineering","id":"otm-54b3b32c-1fdd-4e09-9c4e-e453f175508b","code":"TJTS5705","prerequisiteCourseUnitIds":[],"prerequisiteModuleIds":[],"parentModuleIds":[],"curriculumPeriodStartDate":"2026-08-01","curriculumPeriodEndDate":"2027-08-01","coordinatingOrgIds":["jy-ORG-25"],"searchable":true,"searchTags":["Product Line Engineering"],"organisationIds":["jy-ORG-25","jy-ORG-25"],"organisations":["Faculty of Information Technology"],"attainmentLanguages":["en","fi"],"hasSummerStudies":false,"teachingPeriods":[],"studyLevel":"Advanced studies","cooperationNetworkDirection":null,"hasCooperationNetworkSettings":false,"hasAvoinTeaching":false}}}