Yazılım Ürün Hattı Mühendisliği Sürecinin Essence Çerçevesi ile Modellenmesi
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.
Modeling Software Product Line Engineering with Essence Framework
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.
___
- A Framework for Software Product Line Practice, Version 5.0:
2007. http://www.sei.cmu.edu/productlines/framework.html.
- America, P. et al. 2000. CoPAM: A Component-Oriented Platform
Architecting Method Family for Product Family Engineering.
Software Product Lines. Springer US. 167–180.
- 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.
- Brinkkemper, S. 1996. Method engineering: engineering of
information systems development methods and tools. Information
and Software Technology. 38, 4 (Jan. 1996), 275–280.
DOI:https://doi.org/10.1016/0950-5849(95)01059-9.
- 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.
DOI:https://doi.org/10.1016/j.infsof.2011.12.003.
- Clements, P. and Northrop, L. 2001. Software Product Lines:
Practices and Patterns. Addison-Wesley.
- Díaz, J. et al. 2011. Agile product line engineering - A systematic
literature review. Software - Practice and Experience. 41, 8 (2011),
921–941. DOI:https://doi.org/10.1002/spe.1087.
- 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).
- Giray, G. et al. 2017. Adopting the Essence Framework to Derive
a Practice Library for the Development of IoT Systems. Connected
Environments for the Internet of Things: Challenges and Solutions.
Z. Mahmood, ed. Springer International Publishing. 151–168.
- 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.
- Gomaa, H. 2005. Designing Software Product Lines with UML.
Engineering. April (2005), 160–216.
DOI:https://doi.org/10.1109/SEW.2005.5.
- Havelsan Corporate Web site:
www.havelsan.com.tr/SirketProfili/ENDefault.aspx.
- 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.
- Jacobson, I. et al. 2013. The Essence of Software Engineering.
- 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)
- Larman, C. 2004. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development
(3rd Edition). Prentice Hall, Inc.
- Mohan, K. et al. 2010. Integrating Software Product Line
Engineering and Agile Development. IEEE Software. 27, 3 (2010),
48–55.
- Object Management Group 2015. Essence - Kernel and Language
for Software Engineering Methods. OMG. Version 1.1 (2015).
DOI:https://doi.org/http://www.omg.org/spec/Essence/1.0/PDF/.
- Object Management Group 2008. Software & Systems Process
Engineering Meta-Model Specification. Version 2 (2008).
- Park, J.S. et al. 2016. Scrum Powered by Essence. ACM SIGSOFT
Software Engineering Notes. 41, 1 (2016), 1–8.
DOI:https://doi.org/10.1145/2853073.2853088.
- 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).
- Pohl, K. et al. 2005. Software product line engineering:
foundations, principles, and techniques. Springer.
- Schmid, K. and Verlage, M. 2002. The Economic Impact of
Product Line Adoption and Evolution. IEEE Software. 19, 4
(2002), 50–57.
- Schwaber, K. and Sutherland, J. 2011. The scrum guide. Scrum.
org, October. 2, July (2011), 17.
DOI:https://doi.org/10.1053/j.jrn.2009.08.012.
- Software Engineering Method and Theory: http://semat.org/.
Accessed: 2016-03-26.
- Tüzün, E. et al. 2015. Empirical evaluation of a decision support
model for adopting software product line engineering. Information
and Software Technology. 60, (2015).
DOI:https://doi.org/10.1016/j.infsof.2014.12.007.
- Weiss, D.M. and Lai, C.T.R. 1999. Software Product-Line
Engineering: A Family-Based Software Development Process.
Addison-Wesley Professional.