Journals / Türkiye Bilişim Vakfı Bilgisayar Bilimleri ve Mühendisliği Dergisi / 2023 / Cilt: 16 Sayı: 2

A Software Engineering Competency Inventory for Scientific Software Development Processes

Bilimsel Yazılım Geliştirme Süreçleri için bir Yazılım Mühendisliği Yetkinlik Envanteri

Bilge Say(ATILIM ÜNİVERSİTESİ)0000-0001-9276-729X
Pages
170–176
Publication Date
2023-11-20
🏛️Bibliographic metadata and full text access for this article are provided via DergiPark.
DergiPark Record ↗
✨

AI Summary & Key Takeaways

AI Insight
⚡ TL;DR(Too Long; Didn't Read)

The inventory may be used to generate and improve training programs within research and development support.

📌 3 Key Takeaways

🎯
Objective & Hypothesis:Scientific software development processes display some differences from business/industry-aimed software in terms of both processes and input/outputs.
📊
Key Findings & Data:Although scientific software developers might have some coding experience, the fact that they may not possess formal and up-to-date software engineering competencies can affect negatively the scientific software produced in terms of meeting the requirements and sustainability.
💡
Conclusion & Impact:The inventory may be used to generate and improve training programs within research and development support.
🔬Design:Modeling & Simulation
📍Scope:Comprehensive Sample
⚙️Variables:Yazılım Mühendisliği Yetkinlikleri · Bilimsel Yazılım Geliştirme · SWECOM

Abstract

Scientific software development processes display some differences from business/industry-aimed software in terms of both processes and input/outputs. Although scientific software developers might have some coding experience, the fact that they may not possess formal and up-to-date software engineering competencies can affect negatively the scientific software produced in terms of meeting the requirements and sustainability. A matching inventory has been created in the current work, pairing requirements for software engineering practices documented in scientific software development literature with competencies mostly from IEEE’s Software Engineering Competency Model (SWECOM). Frequencies of the pairings have shown especially a need for software engineering competencies in software design and construction including detailed design and planning. The inventory may be used to generate and improve training programs within research and development support.

Özet

Araştırma amaçlı bilimsel yazılım geliştirme süreçleri, yazılım yaşam döngüsü açısından hem süreç hem girdi ve çıktılar bakımından iş veya endüstri amaçlı yazılımlardan bazı farklılıklar göstermektedir. Bilimsel yazılım geliştiricilerin, kod yazma deneyimi olsa da yapısal ve güncel yazılım mühendisliği yetkinliklerinin olmama olasılığı, bilimsel yazılımların gereksinimleri karşılaması ve sürdürülebilirliği açısından sorun yaratabilmektedir. Bu çalışmada literatürde bilimsel yazılım geliştirme alanında gereksinim duyulduğu belirtilen pratikler ile temelde IEEE Yazılım Mühendisliği Yetkinlik Modeli’nin (IEEE’s Software Engineering Competency Model -SWECOM) yetkinlikleri eşleştirilmiş; ve bilimsel yazılım geliştirme açısından en gereksinim duyulan yazılım mühendisliği pratikleri belirlenmiştir. Yapılan sıklık analiziyle özellikle yazılım tasarımı ve yapımı sırasındaki detaylı tasarım ve planlama yetkinliklerine ihtiyaç duyulduğu belirlenmiştir. Üretilen envanter, Ar-Ge destekleri çerçevesinde eğitim programları geliştirmek ve iyileştirmek için kullanılabilecektir.

🔖

Cite This Article

Say, B. (2023). A Software Engineering Competency Inventory for Scientific Software Development Processes. Türkiye Bilişim Vakfı Bilgisayar Bilimleri ve Mühendisliği Dergisi, Cilt: 16 Sayı: 2, 170–176. https://doi.org/10.54525/tbbmd.1159443

📄 Full Text PDF Viewer

📄

PDF görüntüleyici hazırlanıyor...

References (23)

  1. Johanson, A., & Hasselbring, W. (2018). Software Engineering for Computational Science: Past, Present, Future. Computing in Science and Engineering.doi:10.1109/MCSE.2018.108162940
  2. Taatgen, N. A., Vugt, M. K. van, Borst, J. P., & Mehlhorn, K. (2016). Cognitive modeling at ICCM: state of the art and future directions. Topics in Cognitive Science. 8(1), 259-263. doi:10.1111/tops.12185.
  3. Arvanitou, E. M., Ampatzoglou, A., Chatzigeorgiou, A., & Carver, J. C. (2021). Software engineering practices for scientific software development: A systematic mapping study. Journal of Systems and Software, 172. doi:10.1016/j.jss.2020.110848
  4. Heaton D., & Carver, J. (2015). Claims about the use of software engineering practices in science: A systematic literature review. Information and Software Technology, 67, 207-219. doi:10.1016/j.infsof.2015.07.011.
  5. Storer, T. (2017). Bridging the chasm: a survey of software engineering practice in scientific programming. ACM Computing Surveys, 50(4), 1-32. doi:10.1145/3084225.
  6. Segal, J., & Morris, C. (2008). Developing scientific software. IEEE software, 25(4), 18-20. doi:10.1109/MS.2008.85
  7. IEEE. (2014). A Software Engineering Competency Model (SWECOM). Version 1.0. IEEE Computer Society Press.
  8. Kurtaran, F. (2018). “An Evaluation of the Use of Software Engineering Practices by Cognitive Modeling Researchers.” MSc Thesis. Department of Computer Engineering. Atilim University, Turkey. https://tez.yok.gov.tr/UlusalTezMerkezi/
  9. Wagner S., Pflüger, D., & Mehl, M. (2015). Simulation software engineering: experiences and challenges. Proceedings of the 3rd International Workshop on Software Engineering for High Performance Computing in Computational Science and Engineering - SE-HPCCSE '15, 1-4. doi:10.1145/2830168.2830171.
  10. AlNoamany Y, Borghi JA. (2018). Towards computational reproducibility: researcher perspectives on the use and sharing of software. PeerJ Computer Science 4:e163. doi:10.7717/peerj-cs.163
  11. Wiese, I., Polato I. & Pinto, G. (2020). Naming the Pain in Developing Scientific Software. IEEE Software, 37(4), 75-82, July-Aug. 2020, doi:10.1109/ms.2019.2899838.
  12. Hermann, S., Fehr, J. (2022). Documenting research software in engineering science. Scientific Reports, 12 (6567). doi:10.1038/s41598-022-10376-9
  13. Sanders, R. & Kelly, D., 2008. Dealing with Risk in Scientific Software Development. IEEE Software, 25(4), pp.21–28. doi:10.1109/ms.2008.84. Bilgisayar Bilimleri ve Mühendisliği Dergisi (2023 Cilt: 16 - Sayı:2) - 175
  14. Software Carpentry. https://software-carpentry.org/. Erişim Tarihi: Haziran, 2022.
  15. Code Refinery. https://coderefinery.org/. Erişim Tarihi: Haziran, 2022.
  16. Say, B. Bilimsel Yazılım Geliştirme Yetkinlik Envanteri Çalışması Tabloları https://drive.google.com/drive/folders/10SP32GlOXTNXKBxstVBhme1XkfWJXwwm?usp=sharing. Erişim Tarihi: Kasım, 2022.
  17. CC2020 Task Force. (2020). Computing Curricula 2020: Paradigms for Global Computing Education. Computing Curricula 2020. ACM. doi:10.1145/3467967
  18. Bourque P. & Fairley, R. E. (Ed.) (2014). Guide to the Software Engineering Body of Knowledge (SWEBOK), Version 3.0. Retrieved from https://www.computer.org/education/bodies-of-knowledge/software-engineering
  19. Carver JC, Weber N, Ram K, Gesing S, Katz DS. (2022). A survey of the state of the practice for research software in the United States. PeerJ Computer Science, doi:10.7717/peerj-cs.963
  20. The jamovi project (2022). jamovi. (Version 2.3) [Yazılım]. https://www.jamovi.org.
  21. Balcı, S. (2022). ClinicoPath jamovi Module doi:10.5281/zenodo.3997188. [R package]. https://github.com/sbalci/ClinicoPathJamoviModule.
  22. Code Refinery. https://coderefinery.org/. Erişim Tarihi: Haziran, 2022.
  23. Say, B. Bilimsel Yazılım Geliştirme Yetkinlik Envanteri Çalışması Tabloları https://drive.google.com/drive/folders/10SP32GlOXTNXKBxstVBhme1XkfWJXwwm?usp=sharing. Erişim Tarihi: Kasım, 2022.