Research Article
BibTex RIS Cite

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

Year 2023, Volume: 16 Issue: 2, 170 - 176, 20.11.2023
https://doi.org/10.54525/tbbmd.1159443

Abstract

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.

Thanks

Atılım Üniversitesi Yazılım Mühendisliği Bölümü öğretim üyeleri Prof. Dr. Ali Yazıcı, Doç. Dr. Çiğdem Turhan ve Bilişim Sistemleri Mühendisliği Bölümü öğretim üyesi Dr. Öğr. Üyesi Tuna Hacaloğlu’na çalışmaya yaptıkları katkı için teşekkür ederim.

References

  • Johanson, A., & Hasselbring, W. (2018). Software Engineering for Computational Science: Past, Present, Future. Computing in Science and Engineering.doi:10.1109/MCSE.2018.108162940
  • 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.
  • 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
  • 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.
  • 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.
  • Segal, J., & Morris, C. (2008). Developing scientific software. IEEE software, 25(4), 18-20. doi:10.1109/MS.2008.85
  • IEEE. (2014). A Software Engineering Competency Model (SWECOM). Version 1.0. IEEE Computer Society Press.
  • 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/
  • 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.
  • 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
  • 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.
  • Hermann, S., Fehr, J. (2022). Documenting research software in engineering science. Scientific Reports, 12 (6567). doi:10.1038/s41598-022-10376-9
  • 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
  • Software Carpentry. https://software-carpentry.org/. Erişim Tarihi: Haziran, 2022.
  • Code Refinery. https://coderefinery.org/ . Erişim Tarihi: Haziran, 2022.
  • 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.
  • CC2020 Task Force. (2020). Computing Curricula 2020: Paradigms for Global Computing Education. Computing Curricula 2020. ACM. doi:10.1145/3467967
  • 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
  • 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
  • The jamovi project (2022). jamovi. (Version 2.3) [Yazılım]. https://www.jamovi.org.
  • Balcı, S. (2022). ClinicoPath jamovi Module doi:10.5281/zenodo.3997188. [R package]. https://github.com/sbalci/ClinicoPathJamoviModule.

A Software Engineering Competency Inventory for Scientific Software Development Processes

Year 2023, Volume: 16 Issue: 2, 170 - 176, 20.11.2023
https://doi.org/10.54525/tbbmd.1159443

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.

References

  • Johanson, A., & Hasselbring, W. (2018). Software Engineering for Computational Science: Past, Present, Future. Computing in Science and Engineering.doi:10.1109/MCSE.2018.108162940
  • 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.
  • 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
  • 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.
  • 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.
  • Segal, J., & Morris, C. (2008). Developing scientific software. IEEE software, 25(4), 18-20. doi:10.1109/MS.2008.85
  • IEEE. (2014). A Software Engineering Competency Model (SWECOM). Version 1.0. IEEE Computer Society Press.
  • 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/
  • 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.
  • 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
  • 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.
  • Hermann, S., Fehr, J. (2022). Documenting research software in engineering science. Scientific Reports, 12 (6567). doi:10.1038/s41598-022-10376-9
  • 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
  • Software Carpentry. https://software-carpentry.org/. Erişim Tarihi: Haziran, 2022.
  • Code Refinery. https://coderefinery.org/ . Erişim Tarihi: Haziran, 2022.
  • 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.
  • CC2020 Task Force. (2020). Computing Curricula 2020: Paradigms for Global Computing Education. Computing Curricula 2020. ACM. doi:10.1145/3467967
  • 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
  • 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
  • The jamovi project (2022). jamovi. (Version 2.3) [Yazılım]. https://www.jamovi.org.
  • Balcı, S. (2022). ClinicoPath jamovi Module doi:10.5281/zenodo.3997188. [R package]. https://github.com/sbalci/ClinicoPathJamoviModule.
There are 21 citations in total.

Details

Primary Language Turkish
Subjects Engineering
Journal Section Makaleler(Araştırma)
Authors

Bilge Say 0000-0001-9276-729X

Early Pub Date October 22, 2023
Publication Date November 20, 2023
Published in Issue Year 2023 Volume: 16 Issue: 2

Cite

APA Say, B. (2023). Bilimsel Yazılım Geliştirme Süreçleri için bir Yazılım Mühendisliği Yetkinlik Envanteri. Türkiye Bilişim Vakfı Bilgisayar Bilimleri Ve Mühendisliği Dergisi, 16(2), 170-176. https://doi.org/10.54525/tbbmd.1159443
AMA Say B. Bilimsel Yazılım Geliştirme Süreçleri için bir Yazılım Mühendisliği Yetkinlik Envanteri. TBV-BBMD. November 2023;16(2):170-176. doi:10.54525/tbbmd.1159443
Chicago Say, Bilge. “Bilimsel Yazılım Geliştirme Süreçleri için Bir Yazılım Mühendisliği Yetkinlik Envanteri”. Türkiye Bilişim Vakfı Bilgisayar Bilimleri Ve Mühendisliği Dergisi 16, no. 2 (November 2023): 170-76. https://doi.org/10.54525/tbbmd.1159443.
EndNote Say B (November 1, 2023) Bilimsel Yazılım Geliştirme Süreçleri için bir Yazılım Mühendisliği Yetkinlik Envanteri. Türkiye Bilişim Vakfı Bilgisayar Bilimleri ve Mühendisliği Dergisi 16 2 170–176.
IEEE B. Say, “Bilimsel Yazılım Geliştirme Süreçleri için bir Yazılım Mühendisliği Yetkinlik Envanteri”, TBV-BBMD, vol. 16, no. 2, pp. 170–176, 2023, doi: 10.54525/tbbmd.1159443.
ISNAD Say, Bilge. “Bilimsel Yazılım Geliştirme Süreçleri için Bir Yazılım Mühendisliği Yetkinlik Envanteri”. Türkiye Bilişim Vakfı Bilgisayar Bilimleri ve Mühendisliği Dergisi 16/2 (November 2023), 170-176. https://doi.org/10.54525/tbbmd.1159443.
JAMA Say B. Bilimsel Yazılım Geliştirme Süreçleri için bir Yazılım Mühendisliği Yetkinlik Envanteri. TBV-BBMD. 2023;16:170–176.
MLA Say, Bilge. “Bilimsel Yazılım Geliştirme Süreçleri için Bir Yazılım Mühendisliği Yetkinlik Envanteri”. Türkiye Bilişim Vakfı Bilgisayar Bilimleri Ve Mühendisliği Dergisi, vol. 16, no. 2, 2023, pp. 170-6, doi:10.54525/tbbmd.1159443.
Vancouver Say B. Bilimsel Yazılım Geliştirme Süreçleri için bir Yazılım Mühendisliği Yetkinlik Envanteri. TBV-BBMD. 2023;16(2):170-6.

Article Acceptance

Use user registration/login to upload articles online.

The acceptance process of the articles sent to the journal consists of the following stages:

1. Each submitted article is sent to at least two referees at the first stage.

2. Referee appointments are made by the journal editors. There are approximately 200 referees in the referee pool of the journal and these referees are classified according to their areas of interest. Each referee is sent an article on the subject he is interested in. The selection of the arbitrator is done in a way that does not cause any conflict of interest.

3. In the articles sent to the referees, the names of the authors are closed.

4. Referees are explained how to evaluate an article and are asked to fill in the evaluation form shown below.

5. The articles in which two referees give positive opinion are subjected to similarity review by the editors. The similarity in the articles is expected to be less than 25%.

6. A paper that has passed all stages is reviewed by the editor in terms of language and presentation, and necessary corrections and improvements are made. If necessary, the authors are notified of the situation.

0

.   This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.