Search Results

Now showing 1 - 10 of 15
  • Master Thesis
    Karmaşık Sistemler için Veritabanı Tasarım Yöntemi
    (2013) Topallı, Damla; Çağıltay, Nergiz Ercil
    Yazılımın kalitesi, kullanıcıların ihtiyaçlarını ve memnuniyetlerini sağlamakla doğrudan ilgilidir. Kullanıcı gereksinimlerini yazılım süreçlerine yansıtmak için, veritabanı modelinin doğru tasarlanması, yazılım geliştirme sürecinde kritik bir aşamayı oluşturur. Veritabanı tasarımı, kullanıcıların veriler ile ilgili tüm gereksinimleri modellemeleri için önemli bir araçtır. Veritabanı tasarımındaki olası hatalı durumlar, tüm yazılım geliştirme süreçlerine yansımaktadır. Olası hatalı durumlar aynı zamanda yazılımda ve amaçlanan sistemin işlevselliğinde sürekli değişimlere de sebep olabilmektedir. Bu durum kullanıcıların memnuniyetsizliğiyle sonuçlanabilir. Bu bağlamda, kullanıcı gereksinimlerini veritabanı modelinde tam olarak yansıtmak ve veritabanının yazılım geliştirme sürecinde yer alan herkes tarafından doğru anlaşılması, yazılım sistemleri geliştirmedeki başarıyı doğrudan etkileyen bir faktördür. Bu çalışmada, karmaşıklık derecesini azaltarak veritabanı modellerinin anlaşılabilirliğini artırmak ve yazılım kalitesini yükseltmek amacıyla iki aşamalı bir kavramsal veri modelleme yöntemi önerilmektedir. Bu çalışmanın başında önerilen iki aşamalı kavramsal veri modelleme anlatılmaktadır. Sonrasında deneysel çalışmalar ve formüller yoluyla, önerilen yöntemin yazılım mühendislerinin kavrayışı üzerindeki etkisi incelenmekte ve sonuçlar değerlendirilmektedir. Bu çalışmanın sonucunda, önerilen iki aşamalı kavramsal modelleme yönteminin yazılım mühendislerinin kavrayışını kolaylaştırdığı ve bu aşamadaki olası hataları önleyebileceği görülmektedir.
  • Master Thesis
    Göz İzlemenin Program Anlaşılırlığında Kullanılması Üzerine Sistematik Bir Haritalama Çalışması
    (2021) Atıed, Shukrullah; Çağıltay, Nergiz; Topallı, Damla
    Göz izleme teknolojisi, bir kişinin vizyonu hakkında fikir edinmek ve nereye baktıklarını belirlemek ve görsel davranışları hakkında veri toplamak için kullanılır. Araştırmacılar, göz izleme teknolojisini kullanarak Yazılım Mühendisliği'ndeki çeşitli görevleri analiz etmek ve anlamak için göz hareketi verileri toplamaktadır. Ancak, Yazılım Mühendisliği alanında göz izleme teknolojisinin kullanımını inceleyen ve bu açıdan genel bir tablo sunan çok sınırlı sayıda çalışma bulunmaktadır. Dolayısıyla, bu tez çalışmasında, bir Sistematik Haritalama çalışması yürüterek, tüm kanıtları bir araya getirmeyi ve özellikle programı anlaşılabilirliği için Yazılım Mühendisliği'nde göz izleme kullanımına genel bir bakış sunmayı amaçlıyoruz. İlgisiz çalışmaları dikkatlice gözden geçirdikten ve çıkardıktan sonra 121 ilgili makaleyi seçtik. Elde ettiğimiz sonuçlara göre, son yıllarda Yazılım Mühendisliği'nde göz takibi üzerine yapılan çalışmaların arttığını ve farklı aktiviteler üzerinde çalışıldığını görülmektedir. Ayrıca, programı anlaşılabilirliği üzerine farklı faktörlerin etkisi olduğu görülmüştür. Bu faktörler kod öğeleri ve varlıkları, araçlar, geliştiricinin geçmişi ve göz hareketi ve okuma davranışları olarak belirtilmiştir. Bu bulguların, geliştiricilerin program anlaşılabilirliği üzerine etkin faktörleri benimsemelerine yardımcı olarak gelişimlerine katkı sağlaması beklenmektedir.
  • Master Thesis
    Oyunlaştırma ile C Programlamayı Öğreten Bir Webtabanlı Uygulamanın Geliştirilmesi
    (2023) Shahzad, Muhammad Hamza; Topallı, Damla
    Programlama becerilerinin geliştirilmesi, özellikle C gibi programlama dillerinde, yazılım geliştiricileri ve bilgisayar bilimi öğrencileri için önemlidir. Programlama öğretiminde geleneksel yöntemler genellikle kitaplara ve ders notlarına dayanmaktadır. Bu yöntemler öğrencilerin konuları etkin olarak öğrenmeleri için yeterli olmayabilir. Bu tezin temel amacı, oyunlaştırma unsurlarını içeren bir web tabanlı uygulama geliştirerek bu uygulamanın kullanılabilirliğinin araştırılmasıdır. Geliştirilen web tabanlı uygulama, programlama kavramlarının anlaşılmasını kolaylaştırmak ve öğrencileri öğrenme sürecine etkin olarak dahil etmek için interaktif ve oyunlaştırma ile zenginleştirilmiş bir öğrenme ortamı sunar. Bu oyun unsurları, öğrencileri motive eder ve öğrenme deneyimini daha eğlenceli hale getirir. Bu kapsamda yaptığımız çalışmada oyunlaştırma unsurlarını içeren web tabanlı uygulama geliştirilmiştir. Bu uygulamanın etkinliğini değerlendirmek için, 2022-2023 Bahar Dönemi'nde C programlama dersi alan Bilgisayar, Yazılım ve Bilişim Sistemleri Mühendisliği bölümlerinden 122 öğrenciyle bir deneysel çalışma gerçekleştirilmiştir. Öğrencilerden C Programlama diliyle ilgili 10 çoktan seçmeli soruyu yanıtlamak için bu uygulamayı kullanmaları istenmiştir. Ardından, öğrencilerin uygulama ile genel memnuniyeti bir 'Sistem Kullanılabilirlik Ölçeği' anketi kullanılarak ölçülmüş ve öğrencilerin deneyimleri ve geliştirme önerileri hakkında bilgi edinilmiştir. Bu çalışmanın kullanılabilirlik açısından sonuçlarına göre, çalışmaya katılan öğrencilerin %81'i geliştirilen sistemin kolay kullanılabilir olduğunu ve %79'u birçok kişinin bu sistemi kullanmayı kolaylıkla öğrenebileceklerini belirtmişlerdir. Öğrencilerin %62'si bu sistemi sıklıkla kullanmak isteyeceklerini belirtmişlerdir. Öğrencilerin yalnızca %20'si sistemin gereğinden fazla karmaşık olduğunu düşünmektedir. Bu çalışmanın bulguları, programlama dillerini öğretmede oyunlaştırmanın kullanımını inceleyerek bilgisayar bilimi eğitimine katkıda bulunmaktadır. Dolayısıyla geliştirilen bu web tabanlı uygulamanın, C programlamayı öğrenmede yenilikçi ve etkileşimli bir yaklaşım sunarak, öğrenme deneyimini öğrenciler için daha etkileyici ve etkili hale getirebileceği görülmüştür.
  • Master Thesis
    SQL ve NoSQL veritabanlarının kalite yönünden değerlendirilmesi
    (2022) Abbas, Abdulbaset; Topallı, Damla
    Teknolojideki son gelişmeler ve işlenecek veri miktarındaki artış ile birlikte, yazılımınız için doğru veritabanlarını seçmek, genel olarak yazılımın kalitesine doğrudan yansıyan yüksek etkili bir unsur haline geldi. Günümüzde en çok kullanılan Veritabanı Yönetim Sistemleri (VTYS), SQL gibi ilişkisel veritabanı yönetim sistemleri veya NoSQL gibi ilişkisel olmayan veritabanı yönetim sistemleridir, projenin erken aşamalarında bu sistemler arasında doğru bir seçim yapmak çok önemlidir. Bu tezde, SQL ve NoSQL veritabanlarının temel özellikleri, Kullanılabilirlik, Verimlilik, Tutarlılık, Dayanıklılık, Sürdürülebilirlik, Güvenilirlik, Ölçeklenebilirlik ve Kurtarma Süresi olarak veritabanı kalitesi ile ilişkili sekiz ana yazılım kalite özniteliği dikkate alınarak tartışılmıştır. Bu çalışmanın temel amacı, SQL ve NoSQL veritabanı uygulaması için hangi özniteliklerin en etkili olduğunu belirlemektir. Ek olarak, SQL ve NoSQL uygulaması için popüler VTYS araçları tartışılmıştır: MySQL, PostgreSQL, MongoDB ve Redis. Ayrıca, mevcut uygulama tercihlerini daha iyi anlamak, kalite açısından sektörün SQL ve NoSQL veritabanlarındaki tercihlerini anlamak için geliştiriciler, veritabanı uzmanları, testçiler, yöneticiler gibi BT uzmanlarıyla bir anket yapılmıştır. Yapılan anket çalışmasının sonucuna göre SQL veritabanları için en önemli kalite özniteliklerinin süreklilik, tutarlılık, ve kullanılabilirlik olduğu, NoSQL veritabanları içinse ölçeklenebilirlik, süreklilik, ve verimlilik özniteliklerinin, en önemli kalite öznitelikleri olduğu görülmüştür. Anahtar Kelimeler: İlişkisel veritabanları, ilişkisel olmayan veritabanları, SQL, NoSQL, Kalite Öznitelikleri
  • Master Thesis
    Yazılım Mühendisliği Öğrencileri için Sektör Akademi Arasındaki Boşluğun Anlaşılması
    (2023) Maayuf, Talal Mohamed; Topallı, Damla
    The fast development in the software engineering industry means that the academic institutions need to keep their curricula up-to-date to meet the changing demands of the job market. This thesis investigates the gap between what software engineering students learn in the university and the skills they need to possess in the software engineering field. The focus is on the emerging technologies like Artificial Intelligence (AI), Machine Learning (ML), Cloud Computing and DevOps, as well as established guidelines like the Software Engineering Body of Knowledge (SWEBOK). This thesis takes a deep dive into the university's software engineering curriculum. It compares the curriculum with SWEBOK standards and analyzes job postings to identify the most demanded skills in the software engineering industry. Additionally, a survey was conducted with senior software engineering students to understand how prepared they feel to tackle the challenges of today's tech landscape. The findings reveal significant gaps between the skills taught in the university and those required by employers. Particularly, emerging technologies and soft skills are underrepresented in the curriculum. The analysis provides practical recommendations for updating the curriculum to better align with industry needs. By making these improvements, educational institutions can better prepare their graduates for the workforce, increasing their employability and readiness to contribute effectively to the software engineering field. This thesis aims to contribute to the ongoing conversation about curriculum development in software engineering education. It offers a model for aligning academic programs with industry expectations, emphasizing the need for adaptive curricula that evolve with technological progress. This ensures that graduates possess the relevant skills needed to succeed in a competitive job market.
  • Doctoral Thesis
    Cerrahi Asistanların Beceri Düzeylerinin Anlaşılması Amacıyla Bilgisayar Tabanlı Simülasyon Eğitim Ortamlarının Oluşturduğu El Hareketleri Verisine Makine Öğrenme Yöntemlerinin Uygulanması
    (2023) Tonbul, Gökçen; Çağıltay, Nergiz; Topallı, Damla
    Tıp disiplinleri, yeni teknolojilerin gelişimine paralel olarak kendi mevcut karmaşık yapısı içinde büyük zorluklar yaşamaktadır. Klasik yaklaşımlar, adaptasyon sürecine girerek modern çözümlere evrilmekte hatta bazıları tamamen geçerliliğini yitirmektedir. Sıradan bir açık ameliyatın doğal olarak ortaya çıkan komplikasyonları, minimal invaziv ameliyatların gelişmesine yol açmıştır. Minimal invaziv cerrahi ile istenen vücut bölgesine ulaşmak için gerekli aletler yardımıyla, küçük kesiler açılarak vücuttaki boşluklar kullanılır veya yenisi oluşturulur. Böylece daha az kesi ve doku hasarı sayesinde hastanın da daha hızlı ve rahat bir iyileşme süreci geçirmesi amaçlanır. Bununla birlikte, ilgili cerrahi işlemlerin eğitim programlarında hala çeşitli sorunlar bulunmaktadır. Örneğin, cerrahi beceri düzeylerinin tanımlanması ve objektif olarak ölçülmesi zorlu bir süreçtir. Bu bağlamda, öncelikle cerrahi beceri düzeyi sınıflandırma yaklaşımlarını daha iyi anlamak için sistematik bir derleme çalışması yapılmıştır. Daha sonra deneysel bir çalışmada sanal gerçeklik ortamları aracılığıyla elde edilen el hareket verileri kullanılarak orta ve acemi cerrahi becerilerin önceki sınıflandırma çabalarına göre daha yüksek doğrulukla sınıflandırılması amaçlanmaktadır. Sonuçlar, yeniden üretilebilir uyarlanmış bir çerçeveye dayalı olarak farklı veri mühendisliği teknikleri kullanılarak sınıflandırmanın daha iyi hale getirilmesinin mümkün olduğunu göstermektedir. Gelecekte bu araştırma çalışmasını, uygun bir araç seti, veri bilimi muhakemesinin üzerine inşa edilen yazılım mühendisliği çabaları ve muhtemel yenilikçi makine öğrenimi yaklaşımları ile herhangi bir sanal ortama uyarlamanın mümkün olduğuna inanılmaktadır.
  • Master Thesis
    Yazılım Test Seviyelerinin Uygulanması: Yazılım Sektöründe Bir Örnek Çalışma
    (2024) Onat, Kübra Korkmaz; Topallı, Damla
    Yazılım test seviyeleri, kusurları ve hataları erken tespit ederek, yazılımın kararlılığını artırarak, gereksinimlere uygunluğu doğrulayarak, kullanıcı memnuniyetini artırarak ve yazılım kusurlarıyla ilgili maliyet ve riskleri azaltarak yazılım kalitesinin güvence altına alınmasında çok önemli bir rol oynar. Hataların zamanında tespit edilmesi durumunda, yazılım geliştirme sürecinin daha erken bir aşamasında, geliştirilen yazılım daha kaliteli olacak ve sistem arızası riskleri azalacaktır. Ek olarak, test seviyeleri sistem bileşenlerinin birlikte doğru şekilde çalışmasını sağlar ve bu da yazılımın güvenilirliğinin artmasına yol açar. Bir diğer önemli husus, yazılımın kullanıcı beklentilerini karşılamasını, amaçlanan işlevsellik ve performansı karşılamasını sağlamaktır. Bu nedenle, oluşturulan yazılımın kalitesi, Yazılım Geliştirme Yaşam Döngüsü'ndeki (SDLC) test seviyelerinin uygun şekilde uygulanmasından doğrudan etkilenir. Literatürde dört ana test düzeyi tartışılmaktadır: bireysel birimleri veya bileşenleri test etmek için birim testi, farklı bileşenler ve modüller arasındaki etkileşimleri ve arayüzleri test etmek için entegrasyon testi, sistemi bir bütün olarak test etmek için sistem testi ve test etmek için kullanıcı kabul testi. Yazılımın kullanıcının gereksinimlerine ve beklentilerine uygun olması. Buna göre bu araştırmanın temel amacı literatürde önerilen test seviyelerini ve yöntemlerini gözden geçirmek, bunların yazılım kalitesi üzerindeki etkilerini anlamak ve bu test seviyelerinin yazılım endüstrisinde nasıl kullanıldığını analiz etmektir. Bu doğrultuda Yazılım Sektöründen on yazılım uzmanıyla yarı yapılandırılmış bir görüşme gerçekleştirilmiştir. Mülakat soruları arasında yazılım kalitesine en çok hangi test seviyelerinin katkı sağladığı, mevcut projelerinde hangi test seviyelerinin kullanıldığı, projelerinde kullanılan test stratejisi, test stratejisi seçimini hangi faktörlerin etkilediği ve kimlerin kullandığı yer almaktadır. Testleri yapan geliştirici veya bağımsız bir ekibin bu konuda daha iyi olduğu görülmüştür. Elde edilen sonuçların, yazılım sektöründe test seviyelerinin uygulanması ve projelerin belirli alanları için test seviyelerinin yazılım kalitesi açısından ne kadar etkili olduğu konusunda fikir vermesi beklenmektedir.
  • Doctoral Thesis
    Doğal Dil İşleme ile Arapça ve İngilizcede Duygu Analizi
    (2024) Aljamel, Yousra Alhadı; Turhan, Çiğdem; Topallı, Damla
    Bu çalışmada, denetimli makine öğrenimi yaklaşımını kullanarak İngilizce ve Arapça duygu analizi sorununu ele alıyoruz ve bu kapsamda şu genel adımları izliyoruz: veri toplama, işleme, özellik çıkarma ve duygu sınıflandırma. Çalışmada SemEval18: görev task 1'in İngilizce ve Arapça iki versiyonu ve ArabicNewsHeadline veri seti olmak üzere üç veri seti kullanıldı. Bu very setlerine toplamda 7 makine öğrenme algoritması uygulandı: NB, SVM, KNN, RFC, LGR, QDA ve SGD.
  • Master Thesis
    Sanal Eğitimde Kullanıcı Deneyimi Faktörleri
    (2024) Ataş, Gülşah; Topallı, Damla
    Bu tezde, Sanal Gerçeklik ve Artırılmış Gerçeklik teknolojilerini kullanan diş hekimliği eğitimi programlarının kullanıcı deneyimi üzerindeki etkisinin derinlemesine bir analizi yapılmıştır. Tezin ilk amacı, kullanıcının Sanal Gerçeklik veya Artırılmış Gerçeklik gibi sistemlerle etkileşimlerinde en önemli rol oynayan kullanıcı deneyimi faktörlerini tanımlamaktı. Çeşitli Sanal Gerçeklik uygulamalarında kullanıcı deneyimini etkileyen dokuz temel faktörü ortaya çıkaran sistematik bir inceleme çalışası yapıldı. Bu çalışmanın sonucunda etkileşim, kullanılabilirlik, sürükleyicilik, teknolojinin benimsenmesi, duygu, mevcudiyet, deneyimin sonucu, muhakeme ve yeterlilik faktörleri elde edildi. Ayrıca, diş hekimliği öğrencilerine eğitimlerinde Artırılmış Gerçeklik kullanımına ilişkin görüş ve algılarını değerlendirmek amacıyla bir anket uygulandı. Anket üzerine temel eksen faktör analizi yapıldı ve üç temel faktör ortaya çıkarıldı: bilgi ve sonuç, duygusal derinlik ve kullanım kolaylığı. Bilgi ve sonuç faktörü altında deneyim sonucu, muhakeme ve yetelilik faktörleri gruplandı. Duygusal derinlik faktörü altında duygu, etkileşim, mevcudiyet ve sürükleyicilik faktörleri gruplandı. Kullanım kolaylığı faktörü, teknolojinin benimsenmesi ve kullanılabilirlik faktörlerinden oluştu. Son olarak, temel eksen faktör analizinden elde edilen üç faktör arasındaki ilişkiyi değerlendirmek için Pearson korelasyon katsayısı hesaplandı.
  • Master Thesis
    Uml Diyagramlarının Kalitesi ve Anlaşılabilirliği Üzerine Sistematik Bir Haritalama Çalışması
    (2021) Tabrızı, Sına Alızadeh; Çağıltay, Nergiz; Topallı, Damla
    Günümüzde kalite kavramı, maddi ve manevi her türlü ürün ve hizmetin ayrılmaz bir bileşenidir. Yazılım alanında kalite yalnızca nihai ürünle sınırlı değildir, yazılım geliştirme yaşam döngüsünün (SDLC) tüm aşamalarına uygulanmalıdır. Modele Dayalı Yazılım Geliştirme (MDYG), istenen sistemin otantik bir algısını sağlamak ve kaliteli modelleme yapaylıkları üretmek için yüksek beceriye sahip uzmanlık gerektirir. Birleşik Modelleme Dili (UML), yazılım mühendisliği alanında sistemin statik ve dinamik davranışlarını modellemek, gerekli işlevsel ve işlevsel olmayan gereksinimleri belirlemek, kodlamayı, sistem yapısını, ve sistem üzerindeki paydaşlarla iletişimi hızlandırmak için yaygın olarak kullanılan bir modelleme dilidir. Mevcut tezin temel amacı, UML notasyonu kalitesi ve anlaşılabilirliği konusunda en son teknolojiyi sunmaktır. Bu nedenle Web of Science veritabanından elde edilen 103 dergi makalesi üzerinde sistematik bir haritalama çalışması yapılmıştır. Sonuçlar, incelenen alanda kalitenin ana unsur olduğunu gösterirken, anlaşılabilirlik ve sürdürülebilirlik gibi diğer özellikler kalitenin alt kümeleri olarak değerlendirilmiştir. İncelenen çalışmalara göre, kalite ve anlaşılırlık üzerinde temel olarak 13 faktörün etkili olduğu görülmektedir. Bu faktörler diyagram, diyagram tipi, değerlendirme, kılavuz, modelleme, kalite değerlendirme yaklaşımı, artıklık, yeniden düzenleme, gösterimler, gereksinimler, yazılım mühendisi (modelleme uzmanlığı tarafından tanımlanan), bilgi, deneyim, bilişsel yetenekler, öğrenme stili, öğrenme güdüsü, öğrenme stratejisi) yapı ve test etme olarak belirtilmiştir.