Araştırma Makalesi
BibTex RIS Kaynak Göster

Yeniden Kullanılabilirlik İçin Yazılım Tasarım Kalıplarının Kullanımı

Yıl 2021, Cilt: 37 Sayı: 3, 377 - 391, 30.12.2021

Öz

Günümüzde neredeyse her alanda kullanılan yazılımların geliştirilmesi sürecinde karşımıza çıkan takvim sıkışıklığı problemi ve kalite beklentisi nedeniyle yeniden kullanılabilirlik kavramı ön plana çıkmaktadır. Yazılımlarda yeniden kullanılabilirlik arttırıldığında hızlı , düşük maliyetli yazılımlar geliştirmek mümkün olacaktır. Yazılımların yeniden kullanılabilirliği üzerine literatürde mevcut bulunan çalışmalar incelendiğinde en sık kullanılan yöntemin yazılım tasarım kalıpları kullanımı olduğu ve yeniden kullanılabilirliği ciddi bir oranda artırdığı görülmektedir. Bu çalışmada, elde edilen bu bulgulara dayanarak daha önce geliştirilmiş olan bir algoritma yönetimine yönelik yeniden kullanılabilirliğini sağlamak adına yazılım tasarım kalıplarının kullanımına dayalı bir geliştirme yöntemi önerilmiştir. Önerilen yöntem Aselsan bünyesinde mevcut bir proje uygulanmış ve başarılı sonuçlar elde edilmiştir.

Destekleyen Kurum

Aselsan

Teşekkür

Bu çalışma Aselsan Akademi Lisansüstü Tez projesi kapsamında desteklenmiştir.

Kaynakça

  • Frakes, W. B., & Fox, C. J. (1996). Quality improvement using a software reuse failure modes model. IEEE Transactions on Software Engineering, 22(4), 274-279.
  • Prieto-Diaz, R. (1993). Status report: Software reusability. IEEE software, 10(3), 61-66.
  • Sandhu, P. S., Kakkar, P., & Sharma, S. (2010, September). A survey on Software Reusability. In 2010 International Conference on Mechanical and Electrical Technology (pp. 769-773). IEEE.
  • Kasikci, B. C., & Bilgen, S. (2009). Etkin Yeniden Kullanım: Yazılım Ürün Hatlarında Değişkenliğin Modellenmesi. Ulusal Yazılım Mühendisliği Sempozyumu.
  • Ahmaro, I. Y., Abualkishik, A. M., & Yusoff, M. Z. M. (2014). Taxonomy, definition, approaches, benefits, reusability levels, factors and adaption of software reusability: a review of the research literature. Journal of Applied Sciences, 14(20), 2396.
  • Poulin, J. S. (1994, November). Measuring software reusability. In Proceedings of 1994 3rd International Conference on Software Reuse (pp. 126-138). IEEE.
  • Kuchana, P. (2004). Software architecture design patterns in Java. CRC Press.
  • Radonjic, V. D., Bashardoust, S., Corriveau, J. P., & Arnold, D. (2011). Design Patterns-A Modeling Challenge. In Proceedings of the International Conference on Software Engineering Research and Practice (SERP) (p. 1). The Steering Committee of The World Congress in Computer Science, Computer Engineering and Applied Computing (WorldComp).
  • Odell, D. (2014). Design Patterns: Creational. In Pro JavaScript Development (pp. 119-135). Apress, Berkeley, CA.
  • Lasater, C. G. (2006). Design patterns. Jones & Bartlett Publishers.
  • Sarcar, V., & Metsker, S. J. (2004). Design Patterns in C#. Addison-Wesley Professional.
  • Gamma, E., Helm, R., Johnson, R., Vlissides, J., & Patterns, D. (1995). Elements of Reusable Object-Oriented Software. Design Patterns. massachusetts: Addison-Wesley Publishing Company.
  • Roselló, E. G., Lado, M. J., Méndez, A. J., Dacosta, J. G., & Cota, M. P. (2007). A component framework for reusing a proprietary computer-aided engineering environment. Advances in Engineering Software, 38(4), 256-266.
  • Al Dallal, J., & Sorenson, P. (2005). Reusing class‐based test cases for testing object‐oriented framework interface classes. Journal of Software Maintenance and Evolution: Research and Practice, 17(3), 169-196.
  • Chan, S. M., & Lammers, T. L. (1998, June). Reusing a distributed object domain framework. In Proceedings. Fifth International Conference on Software Reuse (Cat. No. 98TB100203) (pp. 216-223). IEEE.
  • Xin, T., & Yang, L. (2017, June). A framework of software reusing engineering management. In 2017 IEEE 15th International Conference on Software Engineering Research, Management and Applications (SERA) (pp. 277-282). IEEE.
  • Pelechano, V. (2011, September). Systematic reuse of web services through software product line engineering. In 2011 IEEE Ninth European Conference on Web Services (pp. 192-199). IEEE.
  • Dikel, D., Kane, D., Ornburn, S., Loftus, W., & Wilson, J. (1997). Applying software product-line architecture. Computer, 30(8), 49-55.
  • Griss, M. L. (2000, June). Implementing product-line features with component reuse. In International Conference on Software Reuse (pp. 137-152). Springer, Berlin, Heidelberg.
  • Krueger, C. W. (2006, August). New methods in software product line development. In 10th International Software Product Line Conference (SPLC'06) (pp. 95-99). IEEE.
  • Ramler, R., & Putschögl, W. (2013, March). Reusing automated regression tests for multiple variants of a software product line. In 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation Workshops (pp. 122-123). IEEE.
  • Lee, J., Muthig, D., & Naab, M. (2010). A feature-oriented approach for developing reusable product line assets of service-based systems. Journal of Systems and Software, 83(7), 1123-1136.
  • Istoan, P., Nain, G., Perrouin, G., & Jézéquel, J. M. (2009, October). Dynamic software product lines for service-based systems. In 2009 Ninth IEEE International Conference on Computer and Information Technology (Vol. 2, pp. 193-198). IEEE.
  • Zhu, H. (2005, August). Building reusable components with service-oriented architectures. In IRI-2005 IEEE International Conference on Information Reuse and Integration, Conf, 2005. (pp. 96-101). IEEE.
  • Shatnawi, A., Seriai, A., Sahraoui, H., Ziadi, T., & Seriai, A. (2020). ReSIde: Reusable service identification from software families. Journal of Systems and Software, 170, 110748.
  • Granell, C., Díaz, L., & Gould, M. (2010). Service-oriented applications for environmental models: Reusable geospatial services. Environmental Modelling & Software, 25(2), 182-198.
  • Wang, J., Yu, J., & Han, Y. (2005, October). A service modeling approach with business-level reusability and extensibility. In IEEE International Workshop on Service-Oriented System Engineering (SOSE'05) (pp. 23-28). IEEE.
  • Baillarguet, C., & Piumarta, I. (1999). An highly-configurable, modular system architecture for mobility, interoperability, specialisation and reuse. In Proceedings of the ECOOP'99 Workshop on Object-Orientation and Operating Systems.
  • Drechsler, R., Drechsler, N., Mackensen, E., Schubert, T., & Becker, B. (2000, September). Design reuse by modularity: A scalable dynamical (re) configurable multiprocessor system. In Proceedings of the 26th Euromicro Conference. EUROMICRO 2000. Informatics: Inventing the Future (Vol. 1, pp. 425-431). IEEE.
  • Cannon, D. M. (1997). U.S. Patent No. 5,644,698. Washington, DC: U.S. Patent and Trademark Office.
  • DeBusk, B. C., Cofer, M. C., Shanks, M. W., & Lukens, W. F. (1999). U.S. Patent No. 5,995,937. Washington, DC: U.S. Patent and Trademark Office.
  • Wang, J., Beu, J., Yalamanchili, S., & Conte, T. (2012, November). Designing configurable, modifiable and reusable components for simulation of multicore systems. In 2012 SC Companion: High Performance Computing, Networking Storage and Analysis (pp. 472-476). IEEE.
  • Sneed, H. M. (2006, February). Wrapping legacy software for reuse in a SOA. In Multikonferenz Wirtschaftsinformatik (Vol. 2, pp. 345-360).
  • Mishra, S. K., Kushwaha, D. S., & Misra, A. K. (2009). Creating Reusable Software Component from Object-Oriented Legacy System through Reverse Engineering. J. Object Technol., 8(5), 133-152.
  • Thiran, P., & Hainaut, J. L. (2001, October). Wrapper development for legacy data reuse. In Proceedings Eighth Working Conference on Reverse Engineering (pp. 198-207). IEEE.
  • Sneed, H. M. (2001, October). Wrapping legacy COBOL programs behind an XML-interface. In Proceedings Eighth Working Conference on Reverse Engineering (pp. 189-197). IEEE.
  • Akşit, M., Tekinerdoğan, B., & Bergmans, L. (2001). The six concerns for separation of concerns. In Proceedings of ECOOP.
  • Juhár, J., & Vokorokos, L. (2015, November). Separation of concerns and concern granularity in source code. In 2015 IEEE 13th international scientific conference on informatics (pp. 139-144). IEEE.
  • Panunzio, M., & Vardanega, T. (2014). A component-based process with separation of concerns for the development of embedded real-time software systems. Journal of Systems and Software, 96, 105-121.
  • Hürsch, W. L., & Lopes, C. V. (1995). Separation of concerns.
  • Kim, Y. S., & Lee, S. H. (2008, October). Separation of Concerns Security Model for Extension of Component Reuse. In 2008 International Symposium on Ubiquitous Multimedia Computing (pp. 23-28). IEEE.
  • Ober, I., & Ober, I. (2017). On Patterns of Multi-domain Interaction for Scientific Software Development focused on Separation of Concerns. Procedia computer science, 108, 2298-2302.
  • Kulkarni, V., & Reddy, S. (2003). Separation of concerns in model-driven development. IEEE software, 20(5), 64-69.
  • Ampatzoglou, A., Kritikos, A., Kakarontzas, G., & Stamelos, I. (2011). An empirical investigation on the reusability of design patterns and software packages. Journal of Systems and Software, 84(12), 2265-2283.
  • Zelinskyy, A., Tesliuk, V., & Maloid, T. (2016, April). Applying decorator design pattern for MEMS program model creation. In 2016 XII International Conference on Perspective Technologies and Methods in MEMS Design (MEMSTECH) (pp. 19-21). IEEE.
  • Anguswamy, R., & Frakes, W. B. (2012, September). A study of reusability, complexity, and reuse design principles. In Proceedings of the 2012 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement (pp. 161-164). IEEE.
  • Ahmaro, I. Y., bin Mohd Yusoff, M. Z., & Abualkishik, A. M. (2014, September). The current practices of software reusability approaches in Malaysia. In 2014 8th. Malaysian Software Engineering Conference (MySEC) (pp. 172-176). IEEE.
  • Chen, X., Chen, J., Zhang, S., & Sui, L. (2010, July). Application of adapter pattern in container ship stowage system. In 2010 2nd International Conference on Industrial and Information Systems (Vol. 1, pp. 120-123). IEEE.
  • Kerji, V. K. (2011, April). Decorator Pattern with XML in web application. In 2011 3rd International Conference on Electronics Computer Technology (Vol. 5, pp. 304-308). IEEE.
  • Shirazi, M. N., Hejazi, M., & Dolatabadi, H. (2012). Applied Dynamic Chain of Responsibility in Web Application Security. International Journal of Computer Theory and Engineering, 4(6), 917.
  • Yueping, Z., Yuefan, L., & Kesheng, X. (2009, December). The Compound Pattern on the Chain of Responsibility and Observer. In 2009 International Forum on Computer Science-Technology and Applications (Vol. 3, pp. 420-422). IEEE.
  • Gill, N. S. (2006). Importance of software component characterization for better software reusability. ACM SIGSOFT Software Engineering Notes, 31(1), 1-3.
  • Masoumi, S., & Mahjur, A. (2019). Reusable and interactive classes: a new way of object composition. Turkish Journal of Electrical Engineering & Computer Sciences, 27(5), 3615-3632.
  • Kaur, P. J., Kaushal, S., Sangaiah, A. K., & Piccialli, F. (2018). A framework for assessing reusability using package cohesion measure in aspect oriented systems. International Journal of Parallel Programming, 46(3), 543-564.
  • AlSobeh, A. M., AlShattnawi, S., Jarrah, A., & Hammad, M. M. (2020). Weavesim: a Scalable and Reusable Cloud Simulation Framework Leveraging Aspect-Oriented Programming. Jordanian Journal of Computers and Information Technology (JJCIT), 6(02).
  • Patil, S., Drozdov, D., & Vyatkin, V. (2018, July). Adapting software design patterns to develop reusable IEC 61499 function block applications. In 2018 IEEE 16th International Conference on Industrial Informatics (INDIN) (pp. 725-732). IEEE.
  • He, G. L., Wu, S., & Yao, J. P. (2013, April). Application of design pattern in the JDBC programming. In 2013 8th International Conference on Computer Science & Education (pp. 1037-1040). IEEE.
  • Harrer, A., Pinkwart, N., McLaren, B. M., & Scheuer, O. (2008). The Scalable Adapter design pattern: Enabling interoperability between educational software tools. IEEE Transactions on Learning Technologies, 1(2), 131-143.
  • He, Y., Wang, H., & Wang, L. (2015, December). Design and implementation of radar signal processing system based on design patterns. In 2015 8th International Symposium on Computational Intelligence and Design (ISCID) (Vol. 1, pp. 85-88). IEEE.
  • Dai, W., & Vyatkin, V. (2013, November). A component-based design pattern for improving reusability of automation programs. In IECON 2013-39th Annual Conference of the IEEE Industrial Electronics Society (pp. 4328-4333). IEEE.
  • Alexander, C., Ishikawa, S., Silverstein, M. (1979). The Timeless Way of Building, Oxford University Press.
  • Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1995). Design patterns: Elements of reusable software architecture. Reading: Addison-Wesley.
Toplam 62 adet kaynakça vardır.

Ayrıntılar

Birincil Dil Türkçe
Konular Mühendislik
Bölüm Makaleler
Yazarlar

Ali Aydilek

Hacer Karacan 0000-0001-6788-008X

Mustafa Dursun Bu kişi benim

Yayımlanma Tarihi 30 Aralık 2021
Yayımlandığı Sayı Yıl 2021 Cilt: 37 Sayı: 3

Kaynak Göster

APA Aydilek, A., Karacan, H., & Dursun, M. (2021). Yeniden Kullanılabilirlik İçin Yazılım Tasarım Kalıplarının Kullanımı. Erciyes Üniversitesi Fen Bilimleri Enstitüsü Fen Bilimleri Dergisi, 37(3), 377-391.
AMA Aydilek A, Karacan H, Dursun M. Yeniden Kullanılabilirlik İçin Yazılım Tasarım Kalıplarının Kullanımı. Erciyes Üniversitesi Fen Bilimleri Enstitüsü Fen Bilimleri Dergisi. Aralık 2021;37(3):377-391.
Chicago Aydilek, Ali, Hacer Karacan, ve Mustafa Dursun. “Yeniden Kullanılabilirlik İçin Yazılım Tasarım Kalıplarının Kullanımı”. Erciyes Üniversitesi Fen Bilimleri Enstitüsü Fen Bilimleri Dergisi 37, sy. 3 (Aralık 2021): 377-91.
EndNote Aydilek A, Karacan H, Dursun M (01 Aralık 2021) Yeniden Kullanılabilirlik İçin Yazılım Tasarım Kalıplarının Kullanımı. Erciyes Üniversitesi Fen Bilimleri Enstitüsü Fen Bilimleri Dergisi 37 3 377–391.
IEEE A. Aydilek, H. Karacan, ve M. Dursun, “Yeniden Kullanılabilirlik İçin Yazılım Tasarım Kalıplarının Kullanımı”, Erciyes Üniversitesi Fen Bilimleri Enstitüsü Fen Bilimleri Dergisi, c. 37, sy. 3, ss. 377–391, 2021.
ISNAD Aydilek, Ali vd. “Yeniden Kullanılabilirlik İçin Yazılım Tasarım Kalıplarının Kullanımı”. Erciyes Üniversitesi Fen Bilimleri Enstitüsü Fen Bilimleri Dergisi 37/3 (Aralık 2021), 377-391.
JAMA Aydilek A, Karacan H, Dursun M. Yeniden Kullanılabilirlik İçin Yazılım Tasarım Kalıplarının Kullanımı. Erciyes Üniversitesi Fen Bilimleri Enstitüsü Fen Bilimleri Dergisi. 2021;37:377–391.
MLA Aydilek, Ali vd. “Yeniden Kullanılabilirlik İçin Yazılım Tasarım Kalıplarının Kullanımı”. Erciyes Üniversitesi Fen Bilimleri Enstitüsü Fen Bilimleri Dergisi, c. 37, sy. 3, 2021, ss. 377-91.
Vancouver Aydilek A, Karacan H, Dursun M. Yeniden Kullanılabilirlik İçin Yazılım Tasarım Kalıplarının Kullanımı. Erciyes Üniversitesi Fen Bilimleri Enstitüsü Fen Bilimleri Dergisi. 2021;37(3):377-91.

✯ Etik kurul izni gerektiren, tüm bilim dallarında yapılan araştırmalar için etik kurul onayı alınmış olmalı, bu onay makalede belirtilmeli ve belgelendirilmelidir.
✯ Etik kurul izni gerektiren araştırmalarda, izinle ilgili bilgilere (kurul adı, tarih ve sayı no) yöntem bölümünde, ayrıca makalenin ilk/son sayfalarından birinde; olgu sunumlarında, bilgilendirilmiş gönüllü olur/onam formunun imzalatıldığına dair bilgiye makalede yer verilmelidir.
✯ Dergi web sayfasında, makalelerde Araştırma ve Yayın Etiğine uyulduğuna dair ifadeye yer verilmelidir.
✯ Dergi web sayfasında, hakem, yazar ve editör için ayrı başlıklar altında etik kurallarla ilgili bilgi verilmelidir.
✯ Dergide ve/veya web sayfasında, ulusal ve uluslararası standartlara atıf yaparak, dergide ve/veya web sayfasında etik ilkeler ayrı başlık altında belirtilmelidir. Örneğin; dergilere gönderilen bilimsel yazılarda, ICMJE (International Committee of Medical Journal Editors) tavsiyeleri ile COPE (Committee on Publication Ethics)’un Editör ve Yazarlar için Uluslararası Standartları dikkate alınmalıdır.
✯ Kullanılan fikir ve sanat eserleri için telif hakları düzenlemelerine riayet edilmesi gerekmektedir.