Modeling Software Product Line Engineering with Essence Framework
Year 2018,
, 99 - 109, 31.01.2018
Eray Tüzün
,
Görkem Giray
,
Bedir Tekinerdoğan
Yagup Macit
Abstract
Although
several software product line engineering (SPLE) methods have been described in
the literature, adopting these methods in practice is often not
straightforward. Thorough understanding of the methods and their artefacts is
necessary to apply the methods in a proper manner, and likewise realize the
expected goals of SPLE. Recently the Essence framework has been proposed to
model the essential elements of a method and to support the modeling of a broad
set of software development methods including plan-driven methods and agile
methods. So far, the Essence framework has been applied to single system
development methods and not yet for SPLE methods. To enhance the understanding
of SPLE methods and support a vision for tailoring SPLE methods, we provide a
mapping of an SPLE method to the Essence framework. We present experiences
about modeling an SPLE method using the Essence framework within the industrial
context of Havelsan.
References
- atform Architecting Method Family for Product Family Engineering. Software Product Lines. Springer US. 167–180.
[3] Bayer, J. et al. 1999. PuLSE: a methodology to develop software product lines. SSR ’99 Proceedings of the 1999 symposium on Software reusability (1999), 122–131.
[4] Brinkkemper, S. 1996. Method engineering: engineering of information systems development methods and tools. Information and Software Technology. 38, 4 (Jan. 1996), 275–280.
[5] Clarke, P. and O’Connor, R. V. 2012. The situational factors that affect the software development process: Towards a comprehensive reference framework. Information and Software Technology. 54, 5 (May 2012), 433–447.
[6] Clements, P. and Northrop, L. 2001. Software Product Lines: Practices and Patterns. Addison-Wesley.
[7] Díaz, J. et al. 2011. Agile product line engineering - A systematic literature review. Software - Practice and Experience. 41, 8 (2011), 921–941.
[8] Elvesæter, B. et al. 2013. A Comparison of the Essence 1.0 and SPEM 2.0 Specifications for Software Engineering Methods. Proceedings of the Third Workshop on Process-Based Approaches for Model-Driven Engineering (New York, New York, USA, 2013).
[9] Giray, G. et al. 2016. Systematic Approach for Mapping Software Development Methods to the Essence Framework. The 5th International Workshop on Theory-Oriented Software Engineering (2016), 26–32.
[10] Gomaa, H. 2005. Designing Software Product Lines with UML. Engineering. April (2005), 160–216.
[11] Havelsan Corporate Web site: http://havelsan.com.tr/ENG. Accessed: 2017-10-22.
[12] Henderson-Sellers, B. and Gonzalez-Perez, C. 2011. Towards the Use of Granularity Theory for Determining the Size of Atomic Method Fragments for Use in Situational Method Engineering. IFIP Advances in Information and Communication Technology. 49–63.
[13] Jacobson, I. et al. 2013. The Essence of Software Engineering.
[14] Kalus, G. and Kuhrmann, M. 2013. Criteria for software process tailoring: a systematic review. Proceedings of the 2013 International Conference on Software and System Process - ICSSP 2013 (2013).
[15] Larman, C. 2004. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Inc.
[16] Mohan, K. et al. 2010. Integrating Software Product Line Engineering and Agile Development. IEEE Software. 27, 3 (2010), 48–55.
[17] Object Management Group 2015. Essence - Kernel and Language for Software Engineering Methods. OMG. Version 1.1 (2015).
[18] Object Management Group 2008. Software & Systems Process Engineering Meta-Model Specification. Version 2 (2008).
[19] Park, J.S. et al. 2016. Scrum Powered by Essence. ACM SIGSOFT Software Engineering Notes. 41, 1 (2016), 1–8.
[20] Péraire, C. 2013. A Step Forward in Software Engineering Education : Introducing the SEMAT Essence Framework. Latin American Congress on Requirements Engineering and Software Testing (LACREST) (Medelin, 2013).
[21] Pohl, K. et al. 2005. Software product line engineering: foundations, principles, and techniques. Springer.
[22] Schmid, K. and Verlage, M. 2002. The Economic Impact of Product Line Adoption and Evolution. IEEE Software. 19, 4 (2002), 50–57.
[23] Schwaber, K. and Sutherland, J. 2011. The scrum guide. Scrum. org, October. 2, July (2011), 17.
[24] Software Engineering Method and Theory: http://semat.org/. Accessed: 2016-03-26.
[25] Weiss, D.M. and Lai, C.T.R. 1999. Software Product-Line Engineering: A Family-Based Software Development Process.
Yazılım Ürün Hattı Mühendisliği Sürecinin Essence Çerçevesi ile Modellenmesi
Year 2018,
, 99 - 109, 31.01.2018
Eray Tüzün
,
Görkem Giray
,
Bedir Tekinerdoğan
Yagup Macit
Abstract
Literatürde
birçok yazılım ürün hattı mühendisliği (YÜHM) yöntemi tarif edilmiş olmasına
rağmen bu yöntemlerin pratikte uygulanması çoğu zaman kolay olmamaktadır.
YÜHM'in beklenen hedeflerini gerçekleştirmek ve yöntemleri doğru uygulamak için
hem yöntemleri hem de yapısal öğeleri tam olarak anlamak gereklidir. Essence
çerçevesi, son zamanlarda plan güdümlü yöntemler ve çevik yöntemler de dahil
olmak üzere geniş bir alana yayılmış yazılım geliştirme yöntem setinin
modellemesi için önerilmektedir. Şu ana kadar, sadece tekil sistem geliştirme
yöntemine uygulanan Essence çerçevesi henüz YÜHM yöntemleri için
uygulanmamıştır. Bu çalışmada, YÜHM yöntemlerinin daha iyi anlaşılmasını
sağlamak ve uyarlaması konusunda bir vizyon oluşturmak için seçilen YÜHM
yönteminin Essence çerçevesi ile modellenmesi gerçekleştirilmiştir. Çalışma sonucunda, Essence çerçevesi ve YÜHM
hakkında elde edilmiş olan deneyim ve öğrenilmiş dersler, endüstriyel olarak
HAVELSAN bağlamında, sunulmuştur.
References
- atform Architecting Method Family for Product Family Engineering. Software Product Lines. Springer US. 167–180.
[3] Bayer, J. et al. 1999. PuLSE: a methodology to develop software product lines. SSR ’99 Proceedings of the 1999 symposium on Software reusability (1999), 122–131.
[4] Brinkkemper, S. 1996. Method engineering: engineering of information systems development methods and tools. Information and Software Technology. 38, 4 (Jan. 1996), 275–280.
[5] Clarke, P. and O’Connor, R. V. 2012. The situational factors that affect the software development process: Towards a comprehensive reference framework. Information and Software Technology. 54, 5 (May 2012), 433–447.
[6] Clements, P. and Northrop, L. 2001. Software Product Lines: Practices and Patterns. Addison-Wesley.
[7] Díaz, J. et al. 2011. Agile product line engineering - A systematic literature review. Software - Practice and Experience. 41, 8 (2011), 921–941.
[8] Elvesæter, B. et al. 2013. A Comparison of the Essence 1.0 and SPEM 2.0 Specifications for Software Engineering Methods. Proceedings of the Third Workshop on Process-Based Approaches for Model-Driven Engineering (New York, New York, USA, 2013).
[9] Giray, G. et al. 2016. Systematic Approach for Mapping Software Development Methods to the Essence Framework. The 5th International Workshop on Theory-Oriented Software Engineering (2016), 26–32.
[10] Gomaa, H. 2005. Designing Software Product Lines with UML. Engineering. April (2005), 160–216.
[11] Havelsan Corporate Web site: http://havelsan.com.tr/ENG. Accessed: 2017-10-22.
[12] Henderson-Sellers, B. and Gonzalez-Perez, C. 2011. Towards the Use of Granularity Theory for Determining the Size of Atomic Method Fragments for Use in Situational Method Engineering. IFIP Advances in Information and Communication Technology. 49–63.
[13] Jacobson, I. et al. 2013. The Essence of Software Engineering.
[14] Kalus, G. and Kuhrmann, M. 2013. Criteria for software process tailoring: a systematic review. Proceedings of the 2013 International Conference on Software and System Process - ICSSP 2013 (2013).
[15] Larman, C. 2004. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall, Inc.
[16] Mohan, K. et al. 2010. Integrating Software Product Line Engineering and Agile Development. IEEE Software. 27, 3 (2010), 48–55.
[17] Object Management Group 2015. Essence - Kernel and Language for Software Engineering Methods. OMG. Version 1.1 (2015).
[18] Object Management Group 2008. Software & Systems Process Engineering Meta-Model Specification. Version 2 (2008).
[19] Park, J.S. et al. 2016. Scrum Powered by Essence. ACM SIGSOFT Software Engineering Notes. 41, 1 (2016), 1–8.
[20] Péraire, C. 2013. A Step Forward in Software Engineering Education : Introducing the SEMAT Essence Framework. Latin American Congress on Requirements Engineering and Software Testing (LACREST) (Medelin, 2013).
[21] Pohl, K. et al. 2005. Software product line engineering: foundations, principles, and techniques. Springer.
[22] Schmid, K. and Verlage, M. 2002. The Economic Impact of Product Line Adoption and Evolution. IEEE Software. 19, 4 (2002), 50–57.
[23] Schwaber, K. and Sutherland, J. 2011. The scrum guide. Scrum. org, October. 2, July (2011), 17.
[24] Software Engineering Method and Theory: http://semat.org/. Accessed: 2016-03-26.
[25] Weiss, D.M. and Lai, C.T.R. 1999. Software Product-Line Engineering: A Family-Based Software Development Process.