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

Managing Business Data with An Object-Oriented Approach

Yıl 2023, Cilt: 6 Sayı: 2, 348 - 363, 31.12.2023
https://doi.org/10.33721/by.1270095

Öz

Nowadays, managing data is so vital for companies in every sector to compete with competitors. Databases are the critical part of information systems to process raw data. Some of them are open source code and some of them are commercial ones. In this study, the main question is that how business data is managed based on the concept of persistence without a need to connect to a database management system to make a contribution for the problem of impedance mismatch. To find the answer of this question, a persistent object-oriented model has been proposed to establish an infrastructure for especially small companies to manage business data. When designing this model, the source of inspiration has been the concepts of persistence and delegation. Delegation contributes to diminish the effects of code scattering and code tangling problems and to increase modularity. It also plays an important role in the model in order to build an interface between users and the system. Serialization methodology has been applied to save data represented by persistent objects. C++ programming language was used for implementation of the model. The reliability of the proposed model has been proved based on Chidamber and Kemerer’s metric set to measure object-oriented programming. Consequently, the first version of the model has been implemented without needing any database management system. It has also provided valuable functionalities, i.e., saving or loading data, listing data, describing data, inserting data based on object-oriented concepts. In the future, the researchers of the same field can make contributions for developing this model by implementing new features to make it more powerful technically.

Kaynakça

  • Atkinson, M.P., Bailey, P.J., Chisholm, K.J., Cockshott, P.W. & Morrison, R. (1983). An approach to persistent programming. The Computer Journal, 26(4), 360-365, doi: http://dx.doi.org/10.1093/comjnl/26.4.360.
  • Bakar, A.D., Sultan, A., Zulzalil H. & Din, J. (2014). Predicting Maintainability of Object oriented Software Using Metric Threshold. Information Technology Journal, 13(8), 1540-1547, 2014.
  • Basili, V.R., Briand, L. & Melo, W.L. (1995). A Validation of Object-Oriented Design Metrics as Quality Indicators. Technical Report, Dep. of Computer Science, Univ. of Maryland, College Park, MD, USA. https://www.cs.umd.edu/~basili/publications/technical/T102.pdf
  • Bergesio, L., Bernardos, A.M. & Casar, J.R. (2017). An Object-Oriented Model for Object Orchestration in Smart Environments. Procedia Computer Science, 109C, 440-447.
  • Brown, A.L. & Morrison R. (1992). A generic persistent object store. Software Eng. Journal, 7(2), 161-168, doi: http://dx.doi.org/10.1049/sej.1992.0017.
  • Calp, M.H. & Arıcı, N. (2011). Nesne Yönelimli Tasarım Metrikleri ve Kalite Özellikleriyle İlişkisi. Politeknik Dergisi, 14(1), 9-14.
  • Candel, C.J.F., Ruiz, D.S. & García-Molina, J.J. (2022). A unified metamodel for NoSQL and relational databases. Information Systems, 104, 101898, 1-26, doi: https://doi.org/10.1016/j.is.2021.101898
  • Carrera, D., Rosales, J.& Gustavo, A. (2018). Optimizing Binary Serialization with an Independent Data Definition Format. International Journal of Computer Applications, 180, 15-18.
  • Chen, T.H., Shang, W., Jiang, Z.M., Hassan, A.E., Nasser, M. & Flora, P. (2014). Detecting performance anti-patterns for applications developed using object-relational mapping. Paper presented at the 36th International Conference on Software Engineering, Hyderabad, 2014, pp. 1001-1012. http://dx.doi.org/10.1145/2568225.2568259.
  • Chen, Y., You, L., Xu, H., Zhang, Q., Li, T., Li, C. & Huang, L. (2019). JDap: Supporting in-memory data persistence in javascript using Intel’s PMDK. Journal of Systems Architecture, 101(2019), 101662, 1-12. doi: https://doi.org/10.1016/j.sysarc.2019.101662
  • Chidamber, S.R. & Kemerer, C.F. (1994). A Metrics Suite for Object Oriented Design. IEEE Transactions on Software Engineering, 20(6), 476-493.
  • Cortes, T., Queralt, A. & Touma, R. (2019). CAPre: Code-Analysis based Prefetching for Persistent Object Stores. Future Generation Computer Systems, 111(2020), 491-506, doi: https://doi.org/10.1016/j.future.2019.10.023
  • Coruhlu, Y.E. & Yıldız, O. (2017). Geographical database for object-oriented land division modelling in Turkey. Land Use Policy, 68, 212-221.
  • Databasetown (n.d.). Relational Database vs Object-Oriented Database (Key Differences). Retrieved from https://databasetown.com/relational-database-vs-object-oriented-database-key-differences/
  • Edith, L.P. & Chandra, E (2010). Class Break Point Determination Using CK Metrics Thresholds. Global Journal of Computer Science and Technology, 10(14), 83-87.
  • Geeksforgee (2022, Febraury 11). Composition. Retrieved from https://www.geeksforgeeks.org/object-composition-delegation-in-c-with-example
  • Geeksforgeeks (2022, January 18). Object Delegation in C++. Retrieved from https://www.geeksforgeeks.org/object-delegation-in-cpp
  • Geeksforgeeks (2022, May 13). Vector in C++. Retrieved from https://www.geeksforgeeks.org/vector-in-cpp-stl Goel, B.M. & Bhatia, P.K. (2012). Analysis of Reusability of Object-Oriented System using CK Metrics. ACM SIGSOFT Software Engineering Notes, 38(4), 1-5.
  • Johnson, R. & Zweig, J.M. (1991). Delegation in C++. Journal of Object-Oriented Programming, 4, 31-34. Johny, A.P. (2013). Predicting Reliability of Software Using Thresholds of CK Metrics. Int. J. Advanced Networking and Applications, 4(6), 1778-1785.
  • Katic, M., Boticki, I.. & Fertalj, K. (2013). Impact of Aspect Oriented Programming on the Quality of Novices’ Programs: A Comparative Study. Journal of Information and Organizational Sciences, 37(1), 45-61.
  • Kozynchenko, A. (2006). Constructing persistent object-oriented models with standard C++. Journal of Object Technology, 5(1), 69-81.
  • Lajam, O. & Mohammed, S. (2022). Revisiting Polyglot Persistence: From Principles to Practice. International Journal of Advanced Computer Science and Applications, 13(5), 872-882.
  • Liu, D., Chena, M., Lin, H., Zhang, H. & Yue, S. (2015). An object-oriented data model built for blind navigation in outdoor space. Applied Geography, 60, 84-94.
  • Lorenzo, T. (2020). Object-oriented event-graph modeling formalism to simulate manufacturing systems in the Industry 4.0 era. Simulation Modelling Practice and Theory, 99, 1-33.
  • Ma, Z.M., Zhang F. & Li, W. (2015). Storing OWL ontologies in object-oriented databases. Knowledge-Based Systems, 76, 240-255.
  • Mago, J. & Kaur, P. (2012). Analysis of quality of the design of the object oriented software using fuzzy logic. International Journal of Computer Applications, 21–25.
  • Misra, S. & Roy, B. (2015). Assessment of Object Oriented Metrics for Software Reliability. International Journal of Engineering Research & Technology, 4(1), 432-435.
  • Moniruzzaman, A. & Hossain, S. A. (2013). Nosql database: New era of databases for big data analytics-classification, characteristics and comparison. International Journal of Database Theory and Application, 6(4), 1-14.
  • Pataki, N., Szűgyi, Z. & Dévai, G. (2011). Measuring the Overhead of C++ Standard Template Library Safe Variants. Electronic Notes in Theoretical Computer Science – ENTCS, 264(5), 71-83.
  • Pereira, R., Couto, M., Ribeiro, F., Rua, R., Cunha, J., Fernandes, J.P. & Saraiva, J. (2017). Energy Efficiency across Programming Languages: How Do Energy, Time, and Memory Relate? ACM SIGPLAN International Conference on Software Language Engineering, Vancouver, 2017, pp. 256-267.
  • Ponnala, R. & Reddy, C.R.K. (2019). Object Oriented Dynamic Metrics in Software Development: A Literature Review. International Journal of Applied Engineering Research, 14(22), 4161-4172.
  • Schubert, P., Blankenberg, C. & Gebel-Sauer, B. (2022). Using a graph database for the ontology-based information integration of business objects from heterogenous Business Information Systems. Procedia Computer Science, 196, 314–323.
  • Tauro, C. N., Mishra, G.S. & Bhagwat, A. (2012). A Study of Techniques of Implementing Binary Serialization in C++, Java and .NET. International Journal of Computer Applications, 45, 25-29.
  • Truica, C.O., Apostol, E.S., Darmont, J. & Pedersen, T.B. (2021). The Forgotten Document-Oriented Database Management Systems: An Overview and Benchmark of Native XML DODBMSes in Comparison with JSON DODBMSes. Big Data Research, 25, 1-14.
  • Yılmaz, N. & Tarhan, A. (2019). A two-dimensional method for evaluating maintainability and reliability of open source software. Journal of the Faculty of Engineering and Architecture of Gazi University, 3(4), 1807-1829.
  • Zdepski, C., Bini, T. & Matos, S. (2018). An Approach for Modeling Polyglot Persistence. 20th International Conference on Enterprise Information Systems, Maderia, 2018, pp. 120-126.
  • Zhou, Y. & Leung, H. (2006). Empirical analysis of object-oriented design metrics for predicting high and low severity faults. IEEE Trans. Softw. Eng., 32(10), 771-789.
  • Zuo, W., Fu, Y., Wetter, M., VanGilder, J.W. & Yang, P. (2019). Equation-based object-oriented modeling and simulation of data center cooling systems. Energy&Buildings, 198, 503-519.

Nesne Yönelimli Bir Yaklaşımla İş Verilerinin Yönetimi

Yıl 2023, Cilt: 6 Sayı: 2, 348 - 363, 31.12.2023
https://doi.org/10.33721/by.1270095

Öz

Günümüzde, verileri yönetmek her sektördeki şirketlerin rakipleriyle rekabet edebilmesi için çok önemlidir. Veritabanları ham verilerin işlenmesi açısından bilgi sistemlerinin kritik bir parçasıdır. Bu veritabanlarının bazıları açık kaynak kodlu, bazıları ise ticari kodlardır. Bu çalışmada temel soru, iş verisinin bir veritabanı yönetim sistemine bağlantı gereksinimi olmadan nesnelerin kalıcılığı kavramına dayandırılarak empedans uyumsuzluğu problemine katkı sağlamak için nasıl yönetilebileceğidir. Bu sorunun cevabını bulabilmek amacıyla, özellikle küçük şirketlerin iş verilerini yönetecekleri bir altyapı oluşturmak üzere kalıcılaştırılmış nesne yönelimli bir model önerilmiştir. Bu modeli tasarlarken ilham kaynağı delegasyon ve nesnelerin kalıcılığı kavramları olmuştur. Delegasyon, nesne yönelimli kodlamada kod saçılması ve kod karıştırma sorunlarının etkilerinin azaltılmasına ve modülerliğin artmasına katkıda bulunur. Ayrıca, delegasyon kullanıcılar ve sistem arasında bir ara yüz oluşturulmasında model için önemli bir rol oynamaktadır. Serileştirme metodolojisi, kalıcı nesneler tarafından temsil edilen verileri kaydetmek için uygulanmıştır. Modelin uygulamasında C++ programlama dili kullanılmıştır. Önerilen modelin güvenilirliği, Chidamber ve Kemerer'in nesne yönelimli programlamayı ölçmek için belirlediği metrikler kümesine dayanarak kanıtlanmıştır. Sonuç olarak, modelin ilk hali herhangi bir veritabanı yönetim sistemine ihtiyaç duymadan uygulanmıştır. Model, verileri saklama veya yükleme, verileri listeleme, verileri tanımlama, veri ekleme gibi nesne yönelimli kavramlara dayalı değerli işlevler de sağlamıştır. Gelecekte, bu alandaki araştırmacılar modeli teknik olarak daha güçlü hale getirecek yeni özellikleri uygulayarak modelin gelişmesine katkı sağlayabilirler.

Kaynakça

  • Atkinson, M.P., Bailey, P.J., Chisholm, K.J., Cockshott, P.W. & Morrison, R. (1983). An approach to persistent programming. The Computer Journal, 26(4), 360-365, doi: http://dx.doi.org/10.1093/comjnl/26.4.360.
  • Bakar, A.D., Sultan, A., Zulzalil H. & Din, J. (2014). Predicting Maintainability of Object oriented Software Using Metric Threshold. Information Technology Journal, 13(8), 1540-1547, 2014.
  • Basili, V.R., Briand, L. & Melo, W.L. (1995). A Validation of Object-Oriented Design Metrics as Quality Indicators. Technical Report, Dep. of Computer Science, Univ. of Maryland, College Park, MD, USA. https://www.cs.umd.edu/~basili/publications/technical/T102.pdf
  • Bergesio, L., Bernardos, A.M. & Casar, J.R. (2017). An Object-Oriented Model for Object Orchestration in Smart Environments. Procedia Computer Science, 109C, 440-447.
  • Brown, A.L. & Morrison R. (1992). A generic persistent object store. Software Eng. Journal, 7(2), 161-168, doi: http://dx.doi.org/10.1049/sej.1992.0017.
  • Calp, M.H. & Arıcı, N. (2011). Nesne Yönelimli Tasarım Metrikleri ve Kalite Özellikleriyle İlişkisi. Politeknik Dergisi, 14(1), 9-14.
  • Candel, C.J.F., Ruiz, D.S. & García-Molina, J.J. (2022). A unified metamodel for NoSQL and relational databases. Information Systems, 104, 101898, 1-26, doi: https://doi.org/10.1016/j.is.2021.101898
  • Carrera, D., Rosales, J.& Gustavo, A. (2018). Optimizing Binary Serialization with an Independent Data Definition Format. International Journal of Computer Applications, 180, 15-18.
  • Chen, T.H., Shang, W., Jiang, Z.M., Hassan, A.E., Nasser, M. & Flora, P. (2014). Detecting performance anti-patterns for applications developed using object-relational mapping. Paper presented at the 36th International Conference on Software Engineering, Hyderabad, 2014, pp. 1001-1012. http://dx.doi.org/10.1145/2568225.2568259.
  • Chen, Y., You, L., Xu, H., Zhang, Q., Li, T., Li, C. & Huang, L. (2019). JDap: Supporting in-memory data persistence in javascript using Intel’s PMDK. Journal of Systems Architecture, 101(2019), 101662, 1-12. doi: https://doi.org/10.1016/j.sysarc.2019.101662
  • Chidamber, S.R. & Kemerer, C.F. (1994). A Metrics Suite for Object Oriented Design. IEEE Transactions on Software Engineering, 20(6), 476-493.
  • Cortes, T., Queralt, A. & Touma, R. (2019). CAPre: Code-Analysis based Prefetching for Persistent Object Stores. Future Generation Computer Systems, 111(2020), 491-506, doi: https://doi.org/10.1016/j.future.2019.10.023
  • Coruhlu, Y.E. & Yıldız, O. (2017). Geographical database for object-oriented land division modelling in Turkey. Land Use Policy, 68, 212-221.
  • Databasetown (n.d.). Relational Database vs Object-Oriented Database (Key Differences). Retrieved from https://databasetown.com/relational-database-vs-object-oriented-database-key-differences/
  • Edith, L.P. & Chandra, E (2010). Class Break Point Determination Using CK Metrics Thresholds. Global Journal of Computer Science and Technology, 10(14), 83-87.
  • Geeksforgee (2022, Febraury 11). Composition. Retrieved from https://www.geeksforgeeks.org/object-composition-delegation-in-c-with-example
  • Geeksforgeeks (2022, January 18). Object Delegation in C++. Retrieved from https://www.geeksforgeeks.org/object-delegation-in-cpp
  • Geeksforgeeks (2022, May 13). Vector in C++. Retrieved from https://www.geeksforgeeks.org/vector-in-cpp-stl Goel, B.M. & Bhatia, P.K. (2012). Analysis of Reusability of Object-Oriented System using CK Metrics. ACM SIGSOFT Software Engineering Notes, 38(4), 1-5.
  • Johnson, R. & Zweig, J.M. (1991). Delegation in C++. Journal of Object-Oriented Programming, 4, 31-34. Johny, A.P. (2013). Predicting Reliability of Software Using Thresholds of CK Metrics. Int. J. Advanced Networking and Applications, 4(6), 1778-1785.
  • Katic, M., Boticki, I.. & Fertalj, K. (2013). Impact of Aspect Oriented Programming on the Quality of Novices’ Programs: A Comparative Study. Journal of Information and Organizational Sciences, 37(1), 45-61.
  • Kozynchenko, A. (2006). Constructing persistent object-oriented models with standard C++. Journal of Object Technology, 5(1), 69-81.
  • Lajam, O. & Mohammed, S. (2022). Revisiting Polyglot Persistence: From Principles to Practice. International Journal of Advanced Computer Science and Applications, 13(5), 872-882.
  • Liu, D., Chena, M., Lin, H., Zhang, H. & Yue, S. (2015). An object-oriented data model built for blind navigation in outdoor space. Applied Geography, 60, 84-94.
  • Lorenzo, T. (2020). Object-oriented event-graph modeling formalism to simulate manufacturing systems in the Industry 4.0 era. Simulation Modelling Practice and Theory, 99, 1-33.
  • Ma, Z.M., Zhang F. & Li, W. (2015). Storing OWL ontologies in object-oriented databases. Knowledge-Based Systems, 76, 240-255.
  • Mago, J. & Kaur, P. (2012). Analysis of quality of the design of the object oriented software using fuzzy logic. International Journal of Computer Applications, 21–25.
  • Misra, S. & Roy, B. (2015). Assessment of Object Oriented Metrics for Software Reliability. International Journal of Engineering Research & Technology, 4(1), 432-435.
  • Moniruzzaman, A. & Hossain, S. A. (2013). Nosql database: New era of databases for big data analytics-classification, characteristics and comparison. International Journal of Database Theory and Application, 6(4), 1-14.
  • Pataki, N., Szűgyi, Z. & Dévai, G. (2011). Measuring the Overhead of C++ Standard Template Library Safe Variants. Electronic Notes in Theoretical Computer Science – ENTCS, 264(5), 71-83.
  • Pereira, R., Couto, M., Ribeiro, F., Rua, R., Cunha, J., Fernandes, J.P. & Saraiva, J. (2017). Energy Efficiency across Programming Languages: How Do Energy, Time, and Memory Relate? ACM SIGPLAN International Conference on Software Language Engineering, Vancouver, 2017, pp. 256-267.
  • Ponnala, R. & Reddy, C.R.K. (2019). Object Oriented Dynamic Metrics in Software Development: A Literature Review. International Journal of Applied Engineering Research, 14(22), 4161-4172.
  • Schubert, P., Blankenberg, C. & Gebel-Sauer, B. (2022). Using a graph database for the ontology-based information integration of business objects from heterogenous Business Information Systems. Procedia Computer Science, 196, 314–323.
  • Tauro, C. N., Mishra, G.S. & Bhagwat, A. (2012). A Study of Techniques of Implementing Binary Serialization in C++, Java and .NET. International Journal of Computer Applications, 45, 25-29.
  • Truica, C.O., Apostol, E.S., Darmont, J. & Pedersen, T.B. (2021). The Forgotten Document-Oriented Database Management Systems: An Overview and Benchmark of Native XML DODBMSes in Comparison with JSON DODBMSes. Big Data Research, 25, 1-14.
  • Yılmaz, N. & Tarhan, A. (2019). A two-dimensional method for evaluating maintainability and reliability of open source software. Journal of the Faculty of Engineering and Architecture of Gazi University, 3(4), 1807-1829.
  • Zdepski, C., Bini, T. & Matos, S. (2018). An Approach for Modeling Polyglot Persistence. 20th International Conference on Enterprise Information Systems, Maderia, 2018, pp. 120-126.
  • Zhou, Y. & Leung, H. (2006). Empirical analysis of object-oriented design metrics for predicting high and low severity faults. IEEE Trans. Softw. Eng., 32(10), 771-789.
  • Zuo, W., Fu, Y., Wetter, M., VanGilder, J.W. & Yang, P. (2019). Equation-based object-oriented modeling and simulation of data center cooling systems. Energy&Buildings, 198, 503-519.
Toplam 38 adet kaynakça vardır.

Ayrıntılar

Birincil Dil İngilizce
Konular Bilgisayar Yazılımı
Bölüm Hakemli Makaleler
Yazarlar

Cem Ufuk Baytar 0000-0003-0844-8160

Yayımlanma Tarihi 31 Aralık 2023
Gönderilme Tarihi 23 Mart 2023
Yayımlandığı Sayı Yıl 2023 Cilt: 6 Sayı: 2

Kaynak Göster

APA Baytar, C. U. (2023). Managing Business Data with An Object-Oriented Approach. Bilgi Yönetimi, 6(2), 348-363. https://doi.org/10.33721/by.1270095

15529