Skip To Content

Athabasca University

Section 3

Section Goals

  • To describe the main concepts of component-based software development.
  • To define the scope and main principles of software product line engineering.

Learning Objectives

Learning Objective 1

  • Describe the component-based software development process.
  • Describe the main research challenges involved in integrating commercial off-the-shelf (COTS) products into the development process.

Objective Leading Questions

  • What are the main characteristics of component-based software development?
  • Define the component-based software development process, using the approach described by Crnkovic et al. [2006].
  • What is COTS?
  • What are the main advantages of COTS?
  • What are the main challenges of integrating COTS into the development process?

Objective Readings

Required Readings

Crnkovic, I., M. Chaudron and S. Larsson (2006), "Component-Based Development Process and Component Lifecycle [Abstract]," Proceedings of the 2006 International Conference on Software Engineering Advances, p. 44. https://doi.ieeecomputersociety.org/10.1109/ICSEA.2006.28

Egyed, A., H.A. Müller and D.E. Perry (2005a), "Integrating COTS into the Development Process," IEEE Software 22, 4, 16-18. https://doi.org/10.1109/MS.2005.93

Supplemental Readings

Crnkovic, I. and M. Larsson (2002), "Challenges of Component-Based Development," Journal of Systems and Software 61, 3, 201-212. https://doi.org/10.1016/S0164-1212(01)00148-0

Crnkovic, I., H.W. Schmidt, J. Stafford and K. Wallnau (2005), "Automated Component-Based Software Engineering," Journal of Systems and Software 74, 1, 1-3. https://doi.org/10.1016/j.jss.2003.11.016

Lau, K.K. and Z. Wang (2007), "Software Component Models," IEEE Transactions on Software Engineering 33, 10, 709-724. https://doi.org/10.1109/TSE.2007.70726

McKinley, P.K., S.M. Sadjadi, E.P. Kasten and B.H.C. Cheng (2004), "Composing Adaptive Software," Computer 37, 7, 56-64. https://doi.org/10.1109/MC.2004.48

Obrenovic, Z. and D. Gasevic (2007), "Open Source Software: All You Do is Put it Together," IEEE Software 24, 5, 86-95. https://doi.org/10.1109/MS.2007.141

Lawlis, P.K., K.E. Mark, D.A. Thomas and T. Courtheyn (2001), "A Formal Process for Evaluating COTS Software Products," Computer 34, 5, 58-63. https://doi.org/10.1109/2.920613

Torchiano, M. and M. Morisio (2004), "Overlooked Aspects of COTS-Based Development," IEEE Software 21, 2, 88-93. https://doi.org/10.1109/MS.2004.1270770

Objective Activities

Relevant Conferences/Publications

Learning Objective 2

  • Define software product line engineering;
  • Explain the main research issues in the area of software product line engineering.

Objective Leading Questions

  • What are the main characteristics of software product line engineering?
  • What are the main advantages arising from the use of software product lines?
  • What kind of problems and settings are found in the application of software product line engineering?
  • What are the main disadvantages of software product line engineering? Why?
  • Identify situations when the use of software product line engineering would not be appropriate.

Objective Readings

Required Readings

Böckle, G. (2005), "Introduction to Software Product Line Engineering," In Software Product Line Engineering: Foundations, Principles, and Techniques, K. Pohl, G. Böckle, and F. van der Linden, Eds., Springer, Berlin, Germany, pp. 3-18. https://doi.org/10.1007/3-540-28901-1_1

Supplemental Readings

Sugumaran, V., S. Park and K.C. Kang (2006a), "Introduction: Software Product Line Engineering," Communications of the ACM 49, 12, 28-32. https://doi.org/10.1145/1183236.1183260

Krueger, C.W. (2006), "New Methods in Software Product Line Practice," Communications of the ACM 49, 12, 37-40. https://doi.org/10.1145/1183236.1183262

Kang, K.C., J. Lee and P. Donohoe (2002), "Feature-Oriented Product Line Engineering," IEEE Software 19, 4, 58-65. https://doi.org/10.1109/MS.2002.1020288

Pohl, K., G. Böckle and F. van der Linden (2005), Software Product Line Engineering: Foundations, Principles, and Techniques. Springer, Berlin, Germany. https://doi.org/10.1007/3-540-28901-1

Birk, A., G. Heller, I. John, K. Schmid, T. von der Maβen and K. Müller (2003), "Product Line Engineering: The State of the Practice," IEEE Software, 20, 6, 52-60. https://doi.org/10.1109/MS.2003.1241367

Beuche, D. and M. Dalgarno (2006), "Software Product Line Engineering with Feature Models," Methods & Tools 14, 4, 9-17. https://www.methodsandtools.com/PDF/mt200604.pdf

Schmid, K. and M. Verlage (2002), "The Economic Impact of Product Line Adoption and Evolution," IEEE Software 19, 4, 50-57. https://doi.org/10.1109/MS.2002.1020287

Böckle, G., P. Clements, J.D. McGregor, D. Muthig and K. Schmid (2004), "Calculating ROI for Software Product Lines," IEEE Software 21, 3, 23-31. https://doi.org/10.1109/MS.2004.1293069

Objective Activities

Relevant Conferences/Publications

Updated August 28 2023 by FST Course Production Staff