Computer softwares
137 theses under this subject heading
İşitme engelli bireylerle iletişimde IMU ve sEMG sensör verilerini kullanacak bir sistem geliştirilmesi
Bilişim teknolojileri, işitme engelli bireylerin toplumun diğer bireyleri ile iletişimini sağlamada etkin bir şekilde kullanılabileceğini düşünerek bu çalışma planlanmıştır. Bu amaçla, kişinin yaşam kalitesini düşürmeden kullanabileceği İşaret Dili'ndeki (İD) kelimelerin iki kol ile tanınması sağlayan özgün bir yazılım gerçekleştirilmiştir. Literatürde farklı teknolojiler (kamera, kol bandı ve eldiven gibi) kullanan işaret dili tanıma sistemleri geliştirilmiştir. Fakat yapılan çalışmaların çoğu, işitme engelli bireylerin günlük hayatta kullanabileceği pratik bir çözüm olmak yerine daha çok teoride kalmaktadır. Geliştirilen sistem, tipik görme tabanlı sistemler yerine iki kolun yüzey elektromiyografisini (sEMG) ve atalet ölçüm birimi (IMU) verilerini kullanmaktadır. Çalışmaya özgü dijital sinyal işleme ve makine öğrenmesi yöntemlerini kullanan, farklı işletim sistemlerinde (Android,Windows) çalışabilen bir yazılım geliştirilmiştir. Yazılım Myo Armband SDK'sını kullanmak yerine kendi Bluetooth servislerini kullanarak hem daha performanslı çalışmakta ve hem de cihaza özel dongle gereksinim duymamaktadır. Her işaret için sabit bir süre yerine, hareketi tespit ederek daha akıcı ve gerçek zamanlı bir iletişime olanak sağlar. Test için günlük hayatta kullanılma sıklığı dikkate alınarak belirlenen 80 kelimeden oluşan veri seti oluşturulmuştur. Önerilen sistem için kapsamlı bir öznitelik çıkarma işlemi gerçekleştirilmiştir. Tanıma performansı farklı sınıflandırıcılar ve parametreler ile test edilmiş ve sonuçlar karşılaştırılmıştır. Önerilen sistemin geçerliliğini ve elde edilen sonuçların doğruluğunu test etmek için 10 kat çapraz doğrulama yöntemi kullanılmıştır. Farklı sınıflandırma yöntemleri ile yapılan eğitimlerin testleri sonucunda en yüksek başarıyı %99.88 doğrulukla RandomForest ve Ibk algoritmaları, en düşük başarıyı %89,75 doğrulukla J48 algoritması sağlamıştır. Odak gruba sunulan çalışma katılımcıların tamamı tarafından rahat, estetik ve kullanılabilir bulunmuştur. Bu çalışma ile geliştirilen sistemin engelli bireylerin hayatında büyük bir kolaylık sağlayacağı düşünülmektedir.
Araçların interneti uygulamaları için V2X tabanlı sistemlerde gerçek zamanlı optimizasyon çözümleri
Bu tez çalışmasında, araçların interneti (IoV) uygulamaları için V2X tabanlı sistemlerde gerçek zamanlı optimizasyon çözümleri geliştirilmiştir ve otonom araçlarda (AV'ler) hız ve ivme tahmini ile karar alma süreçlerini optimize etmek için yenilikçi makine öğrenmesi yöntemleri birleştirilmiştir. Önerilen yöntemler arasında denetimli öğrenme temelli Chaotic AdaBoost (CAB) ve pekiştirmeli öğrenme temelli Lévy Flight-enhanced Proximal Policy Optimization (LFPPO) yer almıştır. Algoritmaların karşılaştırılmalarında k-Nearest Neighbors (kNN), Artificial Neural Networks (ANN), AdaBoost (AB), Gradient Boosting (GB), Random Forest (RF) ve Proximal Policy Optimization (PPO) algoritmaları kullanılmıştır. CARLA simülatörünün Town 10 ve Town 5 ortamlarında gerçekleştirilen deneylerde, CAB, ivme tahmini için 0.018 MSE, 0.020 MAE ve 0.993 R² ile %99.3 başarı elde etmiş; bu, kNN (23.215 MSE, 0.87 R²), ANN (3.297 MSE, 0.982 R²), RF (4.419 MSE, 0.975 R²), GB (1.701 MSE, 0.991 R²) ve AB'ye (0.15 MSE, 0.985 R²) kıyasla üstünlük göstermiştir. LFPPO, %99 başarı oranı, 42,135 ödül seviyesi ve %1 çarpışma oranı ile PPO'ya (%81 başarı, 33,895 ödül, %19 çarpışma) göre daha güvenli bir sürüş profili sunmuştur. Apache Kafka ve MongoDB altyapısı, veri işleme süreçlerini desteklemiş; Kafka, carla-data başlığı altında gerçek zamanlı veri akışını senkron ve asenkron modlarda sağlayarak düşük gecikmeli tahmin süreçlerini mümkün kılmış, MongoDB ise verilerin güvenilir depolanmasını ve hızlı erişimini sağlamıştır. Python script dosyaları aracılığıyla senkron ve asenkron tahmin süreçleri uygulanmıştır. CAB ve ANN, asenkron modda sensör belirsizliklerine karşı yüksek başarı (CAB: MSE=0.018, R²=0.993) sağlayarak karmaşık veri setlerinde üstün performans göstermiştir, kNN ve RF ise senkron modda hızlı tahminler sunmuştur. Bu çalışma, kaos teorisinin makine öğrenimine entegrasyonuna teorik bir katkı sunarken, kentsel ulaşım ve lojistik uygulamalarında AV'lerin güvenilirliğini artırmıştır.
112 acil çağrı uygulamasının test süreçleri ve verimliliğinin artırılması
Bu çalışma, 112 acil çağrı uygulamasının test senaryoları ve kullanıcı memnuniyeti değerlendirme konusunda literatüre önemli bir katkı sunmaktadır. Çalışmada, 112 acil çağrı uygulamasının işlevselliğini ve etkinliğini değerlendirmek için 5 adet test senaryosu tasarlanmış ve bu senaryolar 3056 kişiye uygulanmıştır. Test sonuçları ve memnuniyet anketleri istatistiksel yöntemler kullanılarak analiz edilmiştir. Ayrıca bu çalışmada 112 acil çağrı uygulamasının test senaryolarının bazı kısıtlılıklarına ve dezavantajlarına da dikkat çekilmektedir. Bu kısıtlılıklar göz önünde bulundurularak, test senaryolarının daha gerçekçi, kapsamlı ve güvenilir olmasını sağlayacak geliştirmeler yapılması önemlidir. Çalışma, 112 acil çağrı uygulamasının gerçekçi senaryolarla test edilmesi ve kullanıcı memnuniyetinin değerlendirilmesi gerektiğini vurgulamaktadır. Ayrıca, çalışma yılı, cinsiyet gibi faktörlerin uygulamadan memnuniyeti etkilediğini göstermektedir. Bu bulgular, 112 acil çağrı uygulamasının geliştirilmesi için önemli bilgiler sunmaktadır. Bu çalışma sonuç olarak, 112 acil çağrı uygulamasının geliştirilmesi ve optimize edilmesi için önemli bilgiler sunmakta ve acil durum müdahale sistemlerinin daha etkin ve verimli bir şekilde çalışmasına katkıda bulunmaktadır.
Yaylı çalgı icracılarında çalma postürüne etki eden parametrelerin video analiz yöntemi ile incelenmesi
Bu çalışmada, erişkin yaylı çalgı icra eden müzisyenlerin performans boyunca icra postürleri değerlendirilerek ergonomik risk düzeyine etki etmesi beklenen parametreler ile arasındaki ilişki incelendi. Dahil edilme kriterlerini sağlayan 18-53 yaş aralığındaki keman veya viyola icra eden 15 müzisyen çalışma grubuna alındı. Katılımcıların; performans boyunca video analizle ölçülen müzik icra postürü ergonomik risk düzeyleri ile kas-iskelet sistemi şikayetleri, müzik performans anksiyetesi seviyesi, fiziksel aktivite düzeyi, eklem hipermobilitesi ve dominant el tercihi değerlendirildi. Çalışmanın sonucunda, sağ üst ekstremite müzik icra postürü performans sonu ergonomik risk düzeyine sırt bölgesinde görülen kas iskelet sistemi rahatsızlıklarının (KİSR) (p=0,029), sol üst ekstremite müzik icra postürü ergonomik risk düzeyi zamana bağlı değişimine el/el bileğinde görülen KİSR'in (p=0,04), sol üst ekstremite icra postürü performans sonu ergonomik risk düzeyine gövde fleksiyonu hipermobilite düzeyinin (p=0,026) pozitif yönde istatistiksel olarak anlamlı etkisi olduğu sonucuna ulaşıldı. Müzik icrası performans başlangıcı (p=0,04) ve performans sonu (p=0.01) ergonomik risk düzeyleri, lisans ve doktora sonrası eğitim seviyesine sahip müzisyenlerde yüksekti, ancak risk seviyesi lisans üstü seviyedeki müzisyenlerde düşüktü. Çalışmada icra postürü ergonomik risk düzeyi ve zamana bağlı değişimine; fiziksel aktivite düzeyi, müzik performans anksiyetesi ve el tercihinin anlamlı düzeyde etkisi bulunmadı (p>0,05). Bu çalışma sonucunda keman ve viyola icra eden müzisyenlerde icra postürünün ergonomik olarak oldukça riskli olduğu ve icra postürlerine etki eden pek çok parametre bulunduğu görüldü. Çalışmamızda elde edilen verilerin, müzisyenlerin bütüncül bir şekilde ve ilgili semptomları referans alarak hedef bölgelerin daha sağlıklı değerlendirilmesinde multidisipliner bir bakış açısıyla koruyucu yaklaşımların oluşturulması için yol gösterici olacağını düşünmekteyiz.
Onkolojik görüntülemede gate yazılımı yoluyla SPECT/BT simülasyonlarının dinamik kaynaklar üzerine uygulanması
Tıpta görüntüleme sistemleri klinik teşhis ve tedavi için önemli bir yer tutar. Sağlık açısından radyasyonu tanı amacıyla kullanan birimler radyoloji ve nükleer tıp, tedavi kısmı ise radyoterapi ünitelerinde karşımıza çıkmaktadır. Tıbbi amaçla kullanılan iyonlaştırıcı radyasyon uygulamalarında amaç daha çok görüntü elde edebilme üzerinedir. Görüntüleme sistemleri genel olarak; X ışınları ve iyonize radyasyon kaynakları ile çalışır. Bilgisayarlı Tomografi, X ışını kullanılarak vücudun incelemeye alınan bölgesinin kesitsel görüntüsüne ulaşmamızı sağlayan radyolojik teşhis yöntemidir. SPECT ise; radyonüklid / radyofarmasötikler ile başta onkolojik hastalıklar olmak üzere hemen hemen tüm organ ve sistemlerde fizyopatolojik ve fonksiyonel değişikliklerin tanı amacıyla alınan görüntülerin sintigrafilerinin 3 boyutlu görüntüleme yöntemidir. SPECT ve BT' nin tek bir sistemde olması anormal metabolik aktivitenin uzaysal morfolojik ve patolojik ilintisini verir. Böylece görüntülerin en etkin derecede birlikte kaydedilmesi ve tek bir incelemeyle her iki sistemden görüntülerin elde edilmesi sağlanır. Bu çalışmada, Avrupa Nükleer Araştırmalar Merkezi (CERN) tarafından geliştirilen Geant 4 benzetim yazılımı kapsamında oluşturulmuş GATE (PET&SPECT benzetim kütüphanesi) kullanılarak silindirik voxel fantomlar için SPECT/BT benzetimleri gerçekleştirilmiştir. Sanal ortamda oluşturulan kurulumlarda aktivite farklılığı, öteleme ve dokuların perdeleme etkileri araştırılmış; ROOT yazılımıyla analizler yapılarak enerji histogramları ve doz eğrileri elde edilmiştir. Elde edilen veriler, istatistiksel olarak incelendiğinde, bu tür etkilerin SPECT/BT görüntülemede hangi değerlerde anlamlı farklılıklar yaratacağı ve sonuçları ortaya konulmuştur. Anahtar Kelimeler: SPECT, BT, Hibrit Görüntüleme, Geant4, GATE
Türkiye'de yazılım sektörünün gelişimini etkileyen faktörler
Yazılım sektörünün Bilgi ve İletişim Teknolojileri içerisindeki önemi her geçen gün artmaktadır. Gerek devletler ulusal güvenliklerini sağlamak için, gerekse de şirketler rekabet avantajı yaratmak için yazılım projelerine oldukça büyük yatırımlar yapmaktadırlar. İrlanda, Çin, Hindistan gibi gelişmekte olan ülkeler yazılım sektörünü stratejik sektör olarak belirleyip kısa sürede gelişmiş ülkelerle aralarındaki makası kapatmışlardır. Gelişmekte olan ülkeler sınıfında bulunan Türkiye de yaklaşık 20 yıldır yazılım sektörüne yönelik çeşitli politikalar üretmekte ve yazılım sektörünü büyütmeyi hedeflemektedir. Ancak yazılım sektörü katma değerli bir sektördür ve bir ulusal yazılım sektörünün gelişimi bir çok farklı parametrenin birlikte gelişimine bağlıdır. Bu çalışmada seçilen 151 kişinin ulusal yazılım sektörünün gelişimin etkileyen faktörlerin Türkiye yazılım sektörünün gelişimine etkisine dair görüşlerini ölçmek adına bir anket çalışması yapılmıştır. Anket çalışmasından elde edilen sonuçlara göre ulusal yazılım sektörünün gelişimini etkileyen faktörler ile Türkiye yazılım sektörünün gelişimi arasında pozitif yönlü anlamlı bir ilişki bulunmaktadır.
Çanak tipi güneş enerjisi sisteminden elektrik üretiminin bilgisayar yazılımı ile takibi
Artan elektrik enerji ihtiyacını karşılamak ve elektrik enerjisinin ulaştırılmasının mümkün olmadığı durumlarda alternatif olarak güneş enerjisinden elektrik üretimi kullanılmaktadır. Yenilenebilir enerji kaynağı kullanılarak FV sistemden ve Stirling motordan elektrik üretimi sağlanmaktadır. Sistemde çanak tipi yansıtıcı, güneş paneli, Stirling motor, arduino uno mikrodenetleyicisi, gerilim ve akım sensörü, bluetooth modülu, internet modülu, sıcaklık nem sensörü, android studio editöründe geliştirilmiş android arayüz yazılımı, verilerin tutulduğu web sayfası ve arduino yazılımı kullanılmaktadır. Mikrodenetleyici sayesinde okunan güç değerleri, sıcaklık ve nem bilgisiweb sayfasında kayıt altına alınmaktadır. Ayrıca Visual Studio yardımıyla yazılan C# programıyla da verilerin analizi yapılmaktadır. Aynı şekilde mobil cihazdan da okunan bu değerler kullanılan veri tabanı sayesinde saatlik olarak saklanmaktadır. Elde edilen veriler incelendiğinde motordan en fazla güç 0,7 W, fotovoltaik pilden ise 0.9 W enerji üretimi gözlenmektedir. Prototip amaçla kurulan bu sistemde elde edilen güçler yeterli düzeydedir. Sistemin verimliliği acısından kıyaslama olanağı sunan bu tez kurulum yapacak kişilere yardımcı olmaktadır. Sistem çalışma prensibi çanak tipi yansıtıcı uygun şekilde odaklanarak Stirling motorun çalışmasını sağlanmaktadır. Uygun açıyla yerleştirilen fotovoltaik panelden de elektrik üretimi sağlanmaktadır. Elde edilen veriler sayesinde web sayfasında grafikler dinamik olarak çizilip, mobil cihaz tarafından da kıyaslama yapılmaktadır. Grafiklerin görüntülenmesi istenirse yakın mesafeden istenirse internet üzerinden anlık olarak takip edilebilmektedir. Sistem verimliliği hakkında bilgi veren bu tez çalışması yapılacak yatırımlara yön verecektir.
Bilgisayarlı görü tabanlı fosforesans işaretleme yöntemiyle karanlık ortamlarda sıvı seviye ölçümü ve kontrolü
Bu çalışmanın temel amacı kimya, ziraat ve biyoloji alanlarında kullanılan deneysel sıvı akış sistemlerinin, bilgisayar görüsü kullanılarak sıvı seviyesi ölçüm ve kontrol süreçlerini gerçekleştirmektir. Amaç kapsamında, depolama sıvı tankları, süreç tankı, pompalar, kamera ve elektronik devrelerden oluşan laboratuvar tipi sıvı akış sistemi tasarlanmıştır. Sistem aydınlık ve karanlık ortamlarda sıvı seviyesi ve pompa debilerini ölçmek için kullanılmıştır. Sıvı sıcaklık verisi, görünür ışığa dönüştürülerek verinin kamera tarafından alınması sağlanmıştır. Sıvı süreçlerine yönelik görüntü analizi, ölçme ve kontrol yazılımı geliştirilmiştir. Aydınlık ortamda yapılan seviye ölçümlerinde, görüntülerdeki ışık yansıması, paralaks etkisi ve sıvı lekeleri gibi bozucu etkiler hatalı ölçümlere neden olmuştur. Bu etkileri azaltmak amacıyla yeni bir yöntem önerilmiştir. Yöntem, sıvı yüzeyinin karanlıkta fosforesans şamandıra kullanılarak işaretlenmesidir. Ölçüm öncesinde, UV ışığıyla 5 saniye uyarılan şamandıra, karanlıkta parlayarak kamera tarafından 120 saniye algılanmaktadır. Bilgisayar görüsüyle parlamanın konumu belirlenerek sıvının seviyesi ve hacmi ölçülmüştür. Sıvı seviyesi, görüntünün RGB renk uzayı, satır profili ve eşikleme işlemleri kullanılarak ölçülmüştür. Ölçüm sonuçları, gerçek ölçüm sonuçlarıyla karşılaştırılarak ölçüm hatası ±3 mm ve doğruluğu %98.23 olarak hesaplanmıştır. Yöntem kullanılarak iki farklı sıvının belirli oranlarda karışım süreci uygulanmıştır. Yöntem, sıvı seviye tespitindeki karmaşık görüntü işleme algoritmalarını ve matematiksel işlemlerini basitleştirmiştir. Sıvı seviye ölçümünde görüntü işleme teknikleri kullanan FPGA veya mikrodenetleyici tabanlı yazılım geliştirme süreçlerini kolaylaştırmaktadır. Düşük maliyetli ve uygulaması basit bir ölçme yöntemidir. Sıvı seviye değişikliklerinin izlenmesi ve kontrolü amacıyla laboratuvar süreçlerinde geniş uygulama potansiyeline sahiptir.
Taşınmaz değerlemesine rayiç bedellerin etkisi ve rayiç bedel ile değer haritası üretimi; Siirt ili Kurtalan ilçesi örneği
Ülkemizde son yıllarda gayrimenkullerin değerlemesi giderek önem kazanmaktadır. Gayrimenkullerin değerlemesi Coğrafi Bilgi Sistemlerinin(CBS) kullanımıyla ve ortak paydaşlar ile doğru, güvenilir, kolay bir değerleme sürecini beraberinde getirmiştir. Bu kapsamda gayrimenkullerin değerlemesinin geleceğe yönelik planlama, gayrimenkul inşası, gayrimenkul alım satımı gibi işlemlerde CBS' nin kullanımı önem arz etmektedir. Bu çalışmada çalışma alanı olarak Siirt İli Kurtalan ilçesi seçilmiştir. Çalışmada gayrimenkullerin değerlendirilmesi, mekânsal istatistiklerinin yapılması ve konumsal analizlerinin daha anlaşılır ve kolay biçimde yapılabilmesi amaçlanmıştır. Bu amaç doğrultusunda Kurtalan Belediyesinden ilçeye ait imar planı verileri alınmıştır. Çalışmada ilçeye ait 5 mahallede bulunan tüm parseller belirlenmiştir. Bu parsellere ait değer takdir komisyonunca belirlenmiş rayiç değerler Kurtalan belediyesinden alınarak ArcGIS yazılımında işlenmiş ve her bir taşınmaza ait gayrimenkul değerleme analizi oluşturulmuştur. Oluşturulan analizler her bir değer skalası için bir renklendirme sistemi ile düzenlenerek değer haritaları oluşturulmuştur. Oluşturulan CBS tabanlı değerleme haritaları ile ilçedeki rayiç bedeller arasındaki değer farklarının incelenmesi sonucu; yollar, eğitim alanları, sağlık alanları, ilçe merkezine olan uzaklık ve sosyal alanlara olan uzaklık faktörleri rayiç bedelleri doğrudan etkilediği sonucuna varılmıştır. Çalışmanın ikinci aşamasında ilçede ikamet eden ilçe sakinleri ile anket çalışması yapılarak gayrimenkullerin fiyatlarının hangi faktörlere göre artıp azaldığı IBM SPSS yazılımında analiz edilmiştir. Bu anket analizi sonrası en son aşamada belediyede bulunan rayiç değerler ile anket sonuçları karşılaştırılarak ArcGIS yazılımında ilçeye ait analiz haritaları oluşturulmuştur. Bu analiz haritaları ile gayrimenkul değerinin ilçe sakinlerinin gayrimenkullere ait beklenti değerleri ile orantılı olup olmadığı belirlenmiştir. ANAHTAR KELİMELER: Gayrimenkul değerleme, değer haritaları, coğrafi bilgi sistemi, ArcGIS, rayiç bedel
Makine öğrenmesi yöntemleri ile yazılım hata miktarlarının tahmin edilmesi
Geçmişte yazılım test süreci, yazılım yaşam döngüsü içinde yer alan süreçlerin en ihmal edileni olsa da, günümüzde yaşanan tecrübeler sayesinde yazılımın kalitesini belirleyen en önemli ölçütü olarak görülmektedir. Yazılımlar, çeşitli sektörlerde karmaşık hale geldiğinden yazılımda çıkabilecek hataların tespiti ve bu hataların önlenmesi, çözümü zorlaşan süreç haline gelmiştir. Geleneksel yazılım test yaklaşımları, tüm potansiyel hataları ortaya çıkarmada genellikle yetersiz kalmakta olup bu durum hata ayıklama süreçlerinde harcanacak zaman ve kaynak maliyetinde artışlara yol açmaktadır. Yazılımın geliştirme sürecinin başlarında ya da yazılımı kullanıma almadan önce (test ortamına açmadan önce) yazılımın kalitesini arttırmak ve yazılım bakım yükünü en aza indirmek önemli hale gelmiştir. Son yıllarda makine öğrenimi teknikleri, yazılım hatalarının tahmin edilmesinde umut verici çözümler sunmaktadır. Bu tez çerçevesinde, yazılım hata miktarlarının tespiti için farklı veri setleri üzerinde ve farklı türlerde makine öğrenmesi algoritmaları ile değerlendirmeler yapılmıştır. Yazılım hatalarının tespiti ile ilgili detaylı literatür taraması gerçekleştirilmiştir. Literatürde bu konuda yapılan çalışmaların NASA açık veri setleri olan JM1, KC1, KC2, CM1, PC1 üzerinde en iyi performansları sergilediği için tez çalışmasında bu veri setleri kullanılmıştır. Yazılım hata miktarlarını tespit etmek için "Support Vector Machines(SVM)", "Naive Bayes", "LightGBM", "XGboost", "Gradient Boosting", "Random Forest" makine öğrenimi yöntemlerine başvurulduğunda doğruluk oranlarının yüksek olduğu gözlemlenmiştir. Çalışma kapsamında, yazılım hatalarını tahmin ederek hataların ve hata miktarlarının önceden tespit edilmesi amaçlanmış olup yazılım hatalarının tespiti için makine öğrenimi yöntemlerinin kullanılmasına genel bir bakış sunulmuştur. Bu çalışmanın amacı, makine öğrenimi yöntemlerinin yazılım hatalarını tespit etmedeki etkinliğini araştırmak ve performanslarını geleneksel hata tespit teknikleriyle karşılaştırmaktır. Çalışmada, büyük bir yazılım kodu veri kümesi ve kod kalitesi, karmaşıklığı ve boyutuyla ilgili çeşitli ölçümler kullanılmıştır. Çalıştırılan modellerin doğruluk dağılımı ve hata miktarlarının hesaplanması sağlanmıştır.
Nesneye yönelik sistemlerde kusurlu sınıfların öngörülmesi için makine öğrenmesi temelli bir yöntem oluşturulması
Bugünün gelişmiş yazılım sistemlerinin boyutundaki ve karmaşıklığındaki artış nedeniyle, gerekli tedbirler alınmadığı zamanlarda projelerde yapısal kusuru bulunan sınıfların sayısı da artmaktadır. Yapısal kusuru olan sınıflar, iç uyumları düşük, karmaşıklıkları yüksek, diğer sınıflara bağımlılıkları fazla olan sınıflardır. Kötü tasarlanmış sınıfları değiştirmek, test etmek ve düzeltmek zaman aldığından, bakım maliyetleri de yüksek olur. Bu çalışmada, testlerdeki hataların çoğunu üreten, yapısal kusurları bulunan sınıfları saptamak için bir makine öğrenmesi tabanlı yöntem oluşturma yaklaşımı amaçlandı. Bu amaç ile yazılım geliştiricilere ve test uzmanlarına hata eğilimli sınıfları öngörme, hataların kaynaklarını hakkında bilgi vererek tasarım kusurlarını ortadan kaldırma ve bakım maliyetlerini azaltma konularında yardımcı olmak hedeflendi. Öğrenme tabanlı yöntemlerde, modeli eğitmek için kullanılan veri kümesi, tahmin modelinin doğruluğunu kuvvetle etkiler. Bu nedenle, mevcut yazılım projelerinden toplanan verileri ve farklı metrikleri kullanarak doğru veri setini oluşturmak hedeflendi. Veri kümelerini oluşturmak için yazılımlar belli sayıda sürümler (version) boyunca gözlemlenerek üç farklı gruptan metrik değeri toplanır. Birinci grupta evrimsel (tarihsel) metrikler yer alır. Örneğin refaktör sayısı, revizyon sayısı ve hata düzeltme sayısı gibi metrikler tarihsel metriklerdir. İkinci grupta yazılımın yapısı hakkında bilgi veren kod metrikleri bulunur. Örneğin kod satır sayısı, bağlama (coupling) ve birleşme (cohesion) gibi metrikler kod metrikleridir. Üçüncü grup metrikler ise yazılım geliştiricilerinin etkileşimleri hakkında bilgi içeren mikro etkileşim metrikleridir. Örneğin, bir sınıf üzerinde değişiklik yapan geliştirici sayısı, bir geliştiricinin aynı anda sahip olduğu görev (task) sayısı gibi metriklerdir. İkinci adım, etiketleme adımı modelin performansını etkileyen çok önemli bir adımdır. Bu çalışmada, sınıf üzerinde gerçekleştirilen hata düzeltme sayısının sınıfın geçirdiği reviyon sayısına oranına bakılarak etiketleme yapıldı. Bu oran önceden belirlenmiş olan eşik değerinden yüksek olursa sınıf "Buggy" olarak, küçük olursa "Clean" olarak işaretlenir. Bu yöntemin dayandığı düşünce; yapısal kusurları olan sınıfların herhangi bir değişime (revizyon) uğradıktan sonra hata çıkarma olasılıklıklarının sağlıklı sınıflara göre daha yüksek olduğudur. Bu nedenle etiketleme yapılırken mutlak hata sayısı değil, hata sayısını revizyon sayısına oranı dikkate alınmaktadır. Sık hata çıkaran sınıflar "kusurlu" olarak işlaretlenirken, az hata üreten veya hiç hata üretmeyen sınıflar ise "sağlıklı" olarak işaretlenmektedir. Üçüncüsü, ilgisiz metrikleri kaldırarak en uygun metrik alt kümesini elde etmek için CFS (Korelasyon Temelli Özellik Seçimi) ve PCA (Temel Bileşen Analizi) yöntemleri kullanıldı. Bu özellik seçimi işlemi, modelin anlaşılabilirliğini ve hata algılama performansını artırır. CFS, öznitelikler ile sınıfın etiketinin öngörülebilirliği arasındaki korelasyonu dikkate alarak metrik seçimi yapar. CFS ile seçilen metrikler sınıfların etiketiyle yüksek korelasyona sahipken, metrikler arası korelasyon düşük olur. CFS adımında belirlenen bazı metrikler, PCA yöntemiyle kolayca toplanıp yorumlanabilecek daha anlamlı metriklerle değiştirildi. Metrik sadeleştirmesi yapılırken elde edilmesi kolay ve çıkarım yapılabilecek anlamlı metriklerin seçilmesine dikkat edilmelidir. PCA kullanarak, aynı temel bileşende bulunan metrikler arasından toplanması ve yorumlanması daha kolay olan metrik seçildi. Bunu yaparken proje liderlerine, test uzmanlarına ve yazılım geliştiricilerine sağlıklı bilgi vermek amaçlandı. Dördüncü olarak veri kümeleri dengesizliğini gidermek amacıyla çoğunluk sınıflar üzerinde, projelerin özellikleri de değerlendirilerek sadeleştirme yapıldı. Genellikle, toplanan eğitim verileri, kusurlu olanlardan (azınlık) çok daha fazla sağlıklı sınıflar (çoğunluk) içerir. Bu dengesiz dağılım neticesinde makine öğrenme yöntemlerinin azınlık sınıflarını öğrenme performansları düşük olmaktadır. Veri kümesi dengesizliği giderilerek sınıflandırma performansının arttırılması amaçlanmıştır. Son olarak model oluşturma yaklaşımımızda Rastgele Orman sınıflandırma yöntemi olarak seçildi. Yaklaşımımız çeşitli açık kaynaklı Eclipse alt projelerinden toplanan verileri içeren beş farklı veri kümesini kullanarak değerlendirildi. Veri kümeleri, Eclipse alt projeleri olan Mylyn, Team, Jdt ve birçok küçük projeden oluşan Etc'dir. Ayrıca bu dört veri kümesinin birleşimi olan All veri kümesi vardır. Herbir veri kümesi 81 metrikten oluşmaktadır. Sonuçlar, yaklaşımımızın, kusur eğilimli sınıfları saptamak için öğrenme tabanlı modeller oluşturmada başarılı olduğunu gösteriyor. Önerilen yaklaşımlar, sistemdeki hataya eğilimli sınıfları %70'ine kadar bulabilmektedir. Bununla birlikte, hataya yatkın sınıfların belirlenmesinde hangi metriklerin etkili olduğu incelendi, bunların projelere göre farklılıklar göstediği görüldü. Bu sebeple farklı yazılım sistemleri için farklı modellerin oluşturulması gerektiği sonucuna varıldı, çünkü her proje kendi karakterine sahip olduğu görüldü. Mylyn projesinde, belirli bir görev üzerinde çalışan yazılım geliştiricinin, çalışırken çalışmasının kesilme sıklığını gösteren "NumInterruptions" metriğinin etkili olduğunu görüldü. Bu metriğin belirli bir değerin (<7.65) altında olduğu sınıflarda hata oluşmamıştır. Bu, bir görevle uğraşırken proje çalışanlarının sıklıkla kesintiye uğramamaları gerektiği anlamına gelir. Mylyn projesinde başka bir etkili metrik "NumEditEvent" dir. Sınıflar, bu metrik değeri sıfır olduğunda J48 sınıflandırıcısı tarafından "Clean" olarak etiketlenmiştir. Bir sınıfın değiştirilmemesi durumunda bir hata üretmediğini gösterir. Bu, sınıfların etiketlenmesi ile ilgili fikrimizi desteklemektedir. JDT projesinde "RatioCodeUnderstandingEffort" metriği etkili oldu. Bu metrik, doğrudan sınıfın anlaşılabilirliği ile ilgilidir. Bu metriğin belirli bir değerin (<0.835) altında olduğu sınıflarda hata çıkmamıştır. Düşük karmaşıklığı olan sınıfların daha az hata ürettiği anlamına gelir. Etc projesinde tek başına etkili olan bir metrik bulunmamaktadır. Fakat "TimeSinceLastTask" değeri "NumMultiTask" ve "NumInterruptions" değerleri ile birlikte değerlendirildiğinde; bu metrikler belirli bir değerin altında kaldığı zaman sınıfların "Clean" olduğu görüldü. Yani çalışanlar aynı anda birden fazla iş yapmaya çalıştıklarında "NumMultiTask" değeri ve "TimeSinceLastTask" değeri beraber artacaktır. Bu projede çalışanlara aynı anda çok fazla iş verilmemesi gerekmektedir. Ayrıca yazılım geliştiricilerin çalışması yarıda kesilmemelidir. Team projesiyle ilgili elimizde yeterli veri olmadığı için bu projeyle ilgili yorum yapmamak daha doğru olur. Ama yinede analiz etmemiz gerekirse, bu proje için "RatioCommentToCode" oranı belirli bir değeri (0,21) geçtiği zaman sınıflarda hata çıkmadığı gözükmektedir.
Nesneye dayalı yazılımların bakım kolaylığı karakteristiğinin ölçülmesi
Yazılım projelerinin gün geçtikçe kullanımının artması ve sürekli değişime ihtiyaç duyması sebebiyle yazılımda kalite kavramı önemli hale gelmiştir. Yazılım kalitesinin analiz, tasarım, geliştirme ve test süreçlerinin her biri için değerlendirilmesine ihtiyaç duyulmaktadır. Günümüzde yazılım projeleri için müşterilerin sürekli değişen istekleri, teknolojik gelişmeler ve yazılımdaki hataların giderilmesi şirketler için yüksek miktarda zaman ve kaynak maliyetine neden olmaktadır. Bu gereksinimleri karşılamak için şirketler farklı proje yönetim metodolojileri aracılığıyla yapılacak işleri alt parçalara bölerek sürekli olarak müşteriye proje hakkında bilgi vermeyi ve değişen müşteri isteklerine kolay adapte olarak maliyeti düşürmeyi amaçlamaktadır. Bu sebeple sürekli güncellenmesi gereken yazılımların bakım maliyetini düşürmek için kalite ölçüm metodolojileri yazılım dünyasında önem kazanmaktadır. Yazılım ürün kalitesini artırmak için yazılımın bakım kolaylığını ölçmek oldukça önemlidir. Bakım maliyeti azaltmak için yazılım geliştirme döngüsünde bir yazılım kalite modeli kullanılarak sistemin kalitesi sürekli olarak değerlendirilebilir ve geliştirilebilir. ISO / IEC 25010 Yazılım Kalite Modelleri Standardına [1] göre, yazılım ürün kalitesinin bakım kolaylığı özelliği beş alt karakteristikten oluşur; modülerlik, değiştirilebilirlik, yeniden kullanılabilirlik, analiz edilebilirlik ve test edilebilirlik. Bu çalışma, yazılım sistemlerinde bakım kolaylığını, yeniden kullanılabilirlik ve değiştirilebilirlik karakteristikleri bakımından değerlendirmek için bir kalite ölçüm modeli önermektedir. Model, boyut, karmaşıklık, uyum, bağımlılık ve kalıtım gibi yeniden kullanılabilirlik ve değiştirilebilirlik ile güçlü bir şekilde ilişkili yazılım özelliklerini içermektedir. Bu çalışmada, önerilen kalite modeli özellikle büyük ölçekli nesne yönelimli yazılım sistemlerinin bakım kolaylığını değerlendirmek amacıyla geliştirilmiştir. Yazılım geliştiriciler, projelerin farklı aşamalarında veya başka projelerde hangi sınıfların yeniden kullanılabileceğini bilmeye ihtiyaç duymaktadır. Benzer şekilde, projeye yeni özellikler eklemek, yazılım sınıflarını yeniden düzenlemek veya hata düzeltmek için sınıfların değiştirilme maliyetini bilmeleri gerekir. Hiyerarşik modelimizde yeniden kullanılabilirliği ve değiştirilebilirliği ölçmek için boyut, uyum, bağımlılık, karmaşıklık ve kalıtım gibi nesne yönelimli sistemlerin özellikleri kullanılmıştır. Her özelliğe uygun olarak yazılım kod metrikleri tanımlanmıştır. Metrikler, incelenmesi istenen programlardan kolaylıkla elde edilebilir. Metrik değerleri kullanılarak bir yazılımın bakım kolaylığını ölçülmesi ve sonuçlar doğrultusunda yazılımın iyileştirilebilmesi sağlanmaktadır. Modelimizde öncellikli olarak, test sistemindeki yazılım sınıflarının metrik değerlerini düşük, orta ve yüksek olarak sınıflandırılır. Bu sınıflandırma, referans yazılım sistemlerinden elde edilen metriklerin ortalama ve medyan değerlerine dayanılarak yapılır. Her metriğin karşılık geldiği özelliğin artması durumunda yazılımın negatif mi yoksa pozitif mi etkileneceğine karar verilir. Daha sonra, önerilen ölçüm yöntemi, sistemdeki her bir sınıfın yeniden kullanılabilirlik ve değiştirilebilirlik puanlarını hesaplamak için metriklerin seviyelerini kullanır. Toplam puanlama sonucunda yazılım sınıfları beş kategoriye ayrılır; Çok düşük, düşük, orta, yüksek ve çok yüksek. Yazılım geliştiricileri, düşük ve çok düşük puanları olan sınıfları inceleyebilir ve gerekirse bunları yeniden düzenleyebilir. Bu sürekli değerlendirme ve geliştirme sırasında yeniden yapılanma, sistemin kalitesini artırabilir ve bakım maliyetlerini azaltabilir. Modelimiz iki büyük ölçekli endüstriyel mobil uygulama üzerine uygulanmıştır ve sonuçlar yazılımı geliştirme ekipleriyle tartışılmıştır. Değerlendirmeler sırasında geliştirme ekiplerinin görüşlerini almak için modelde değerlendirilen her bir özelliğin birbiri ile karşılaştırıldığı bir anket hazırlanmıştır. Anket ve model sonuçlarının tutarlılığı istatistiksel olarak karşılaştırılmıştır. Karşılaştırma sonucunda yaklaşımımızın, yeniden kullanılabilirlik ve değiştirilebilirlik özellikleri hakkında sınıfları uygun olarak sınıflandırabildiği görülmüştür. Gelecek aşamalarda bakım maliyetinin azalmak için yazılımın farklı özellikleri incelenerek önerilen modelin geliştirilmesi planlanmaktadır.
Alzheimerlı bireylerde bilişsel iletişim bozukluğuna yönelik mobil uyumlu yazılımın geliştirilmesi
Bu çalışmada, Alzheimer hastalığı (AH) olan bireylerde bilişsel iletişim bozukluğuna yönelik yazılımın geliştirilmesi ve bu yazılımın AH'li bireylerin bilişsel iletişim becerilerine etkisini incelemek amaçlanmıştır. Çalışma; uygulamanın geliştirilmesi, bireylerin değerlendirilmesi ve uygulamaya yönelik eğitim verilmesi, evde uygulamanın kullanılması ve tekrar değerlendirilmesi olmak üzere 4 aşamada tamamlanmıştır. Çalışmaya kriterleri sağlayan 32 birey dahil edilmiştir. Randomizasyon ile bu bireyler çalışma ve kontrol gruplarına ayrılmıştır. Her grup; 6 hafif evre, 6 orta evre ve 4 ileri evre olmak üzere toplam 16 katılımcıdan oluşmuştur. Geliştirilen yazılım tabletlere yüklenerek çalışma grubundaki katılımcılara verilmiştir. Kontrol grubundaki katılımcıların sadece farmakolojik tedavilerini almaları; çalışma grubundakilerin ise hem farmakolojik tedavilerini almaları hem de geliştirilen uygulamayı kullanmaları istenmiştir. Uygulama kullanımı öncesi ve sonrası tüm katılımcılar Mini Mental Test (MMT) ve Afazi Dil Değerlendirme Testi (ADD) ile değerlendirilmiştir. Uygulama kullanımı sonrası çalışma grubundaki katılımcıların bakım verenlerine uygulamaya yönelik anket yapılmıştır. Değerlendirme sonuçlarına göre ileri evre bile olsa çalışma grubundaki bireylerin ADD ve MMT sonuçlarına göre bilişsel iletişim becerilerinde olumlu yönde gelişme olmuştur ve anket sonuçları da bu bulguları desteklemiştir. Uygulamanın en fazla fayda sağladığı alanların ADD'de dilbilgisi, MMT'de ise oryantasyon olduğu görülmüştür. Kontrol grubundaki tüm evrelerdeki bireylerde hızlı bilişsel düşüş olmadığı saptanmıştır. Bu çalışma ile Türkçe, AH'nin her evresinde kullanılabilen ve bütüncül bilişsel iletişim müdahale programını içeren, ileri evre AH'li bireyler için alternatif ve destekleyici iletişim sunan yazılım geliştirilmiştir. Geliştirilen yazılımın AH'li bireylerin bilişsel iletişim becerileri üzerindeki etkililiği de gösterilmiştir.
Meta analizi ile Box-Cox dönüşümü için yeni bir yaklaşım ve ınternet tabanlı uygulaması
Normallik varsayımı sağlık çalışmalarında sıkça karşılaşılan varsayımlardan birisidir. Normallik varsayımının sağlanmadığı durumlarda sıkça başvurulan çözüm yöntemlerinden birisi normal dağılmayan veri seti üzerinde dönüşüm yapmaktır. Sıkça kullanılan dönüşüm yöntemlerinden birisi ise Box-Cox dönüşüm yöntemidir. Box-Cox dönüşüm yöntemi bilinmeyen dönüşüm parametresine sahip bir kuvvet dönüşüm yöntemidir. Bu tez çalışmasında Box-Cox dönüşüm yönteminin bilinmeyen dönüşüm parametresinin kestirimi için yeni bir yaklaşım önerilmiştir. Önerilen yaklaşım farklı parametre kestirim yöntemlerinin meta analizi ile birleştirilmesi mantığına dayanmaktadır. Monte Carlo benzetim çalışmasıyla önerilen yaklaşım ile diğer yöntemler farklı senaryolar altında karşılaştırılmıştır. Benzetim çalışması sonucunda önerdiğimiz yaklaşımın diğer yöntemlere göre parametre kestirimi konusunda daha başarılı performans gösterdiği görülmüştür. Ek olarak iki farklı gerçek veri üzerinde önerilen yöntemin uygulaması yapılmıştır. Ek olarak önerilen yaklaşım R programında AID kütüphanesi altında "boxcoxmeta" isimli fonksiyon olarak araştırmacıların erişimine açılmıştır. Son olarak bu tezde önerilen yaklaşımın da kullanılabileceği internet tabanlı bir araç geliştirilmiştir. Anahtar Kelimeler: Box-Cox dönüşümü, Meta analizi, Normallik testleri, İstatistiksel yazılım
Hacettepe Üniversitesi merkez laboratuvarı biyokimya analizlerinde onay destek sistemi geliştirilmesi ve validasyonu
Tıbbi laboratuvarlarda onay destek sistemi (ODS), önceden tanımlanmış kurallar çerçevesinde laboratuvar çalışanları tarafından manuel müdahaleye ihtiyaç duyulmadan, bilgisayar tabanlı algoritmaların laboratuvar test sonuçları üzerinde otomatik olarak eylemler gerçekleştirdiği bir süreç ya da daha gelişmiş algoritmalar ile sonuçların değerlendirilmesini sağlayan sistemdir. Uzun süredir üzerinde tartışılan bir konu olmasına rağmen, ODS standardizasyonunda eksiklikler bulunmaktadır. Literatürde de ODS'ler ile ilgili kuralların ve algoritmaların nasıl uygulanacağını detaylandıran çalışma sayısı çok azdır. Bu nedenlerle bu tez çalışmasında, laboratuvarımızda bir ODS kurulması, geliştirilmesi ve validasyonu süreciyle ilgili verilerin ortaya konması hedeflendi. Hacettepe Üniversitesi Hastaneleri Merkez ve Acil Laboratuvarlarında Laboratuvar Bilgi Yönetim Sistemi içinde tasarlanan, laboratuvar modülü ile entegre çalışan Laboratuvar Sonuç Validasyon Modülü içinde ODS yazılımı geliştirildi. Toplam 29 biyokimya testi için tanımlanan kurallar, simülasyon ve gerçek hasta sonuçları ile değerlendirilerek geliştirilen ODS'nin validasyonu yapıldı. Hacettepe Üniversitesi Hastaneleri Laboratuvarlarında 1 Mayıs 2020 – 1 Temmuz 2020 tarihleri arasında çalışılan 24 115 hastaya ait sonuçlar ODS tarafından değerlendirildi. Toplam 793 300 test sonucundan 676 083 (% 85.22) sonuç ODS tarafından onaylanırken 117 217 (% 14.78) test sonucu onaylanmadı. ODS kuralları içinde 59 413 test sonucu ile (%7.49) "Beklenmeyen sonuç" kriterinin en yüksek onaylanmama oranı olduğu saptandı. Toplam 138 029 adet ODS kaldı uyarısının içinde, ayaktan başvurularda beklenmeyen sonuç (%24.89) ile delta kontrol (%14.08) ve yatan hastalarda beklenmeyen sonuç (%18,15) ile serum indeks değerlendirmesi (%18.15) sonuçlarının en yüksek oranda olduğu belirlendi. Uzman ve ODS onaylarının karşılaştırılması için 4 710 test sonucu 2 kullanıcı ve ODS tarafından değerlendirildi. ODS onay sürecinin standardizasyonunun sağlanması ve sonuçların güvenilirliğinin artırılması için önemli bir araçtır. Çalışma kapsamında belirlenen kurallarla başlangıç için iyi düzeyde onay oranları elde edilmiştir. ODS'nin geniş test panellerinde verimli olarak kullanılması, detaylı kuralların ve algoritmalarının geliştirilmesi ve yaygın olarak kullanılması için daha fazla çalışmaya ihtiyaç vardır.
Hemşirelerin çalışma sistemi ile ilgili mevcut durumun incelenmesi ve çalışma çizelgelerine yönelik yazılım programı geliştirilmesi
Bu tanımlayıcı ve tasarım tabanlı çalışma iki aşamalı olarak gerçekleştirilmiştir. Araştırmanın ilk aşamasının amacı, hemşirelerin çalışma sistemi ve çizelgeleri ile ilgili mevcut durum ve sorunlarının saptanması, ikinci aşamasının amacı ise ilk aşamadan elde edilen verilere bağlı olarak standart bir çalışma çizelgesi oluşturulmasına yönelik bir model tasarımı ve yazılım programı geliştirilmesidir. Araştırmanın ilk aşamasının örneklemini Sağlık Bakanlığı'na bağlı Eğitim ve Araştırma Hastanesi ile Devlet Hastanesinde olmak üzere toplam 23 hastanede çalışan 207 hemşire oluşturmuştur. Veriler 10 Eylül 2018- 12 Aralık 2018 tarihleri arasında araştırmacı tarafından geliştirilen 40 soruluk anket formu kullanılarak toplanmıştır. Veriler tanımlayıcı istatistikler, Kruskal Wallis test, Mann Whitney U, Ki kare ve Spearman Korelasyon testleri ile analiz edilmiştir. Araştırmanın birinci aşamasının sonucunda hemşirelerin çalıştıkları kurumdaki kliniğin toplam yatak sayısı ortalamasının 24.23 ± 15.01, günlük yatışı yapılan ortalama hasta sayısının 9.16 ± 8.2, son vardiya sırasında bakım verdiği ortalama hasta sayısının 12.10 ± 10.28, klinikteki toplam hemşire sayısı ortalamasının 14.79 ± 10.48 olduğu, hemşirelerin %49'unun hem gece hem gündüz dönüşümlü vardiyada çalıştığı ve %54.8'inin vardiyalı çalışma sisteminden memnun olmadığı, çizelgelerin manuel ve bir aylık servis sorumlu hemşiresi tarafından hazırlandığı belirlenmiştir. Hemşireler çalışma sistemine ilişkin öncelikli olarak hemşire eksikliğinin tamamlanmasını, nöbetlerde en az 2 hemşire çalışılmasını ve çalışma çizelgelerinin adil hazırlanması gerektiğini önermektedir. Araştırmanın ikinci aşamasında, hemşirelerin çalışma çizelgelerinin hazırlanmasına yönelik olarak tasarlanmış model doğrultusunda "Hastane Nöbet Listesi- NÖBETLİK" adlı yazılım programı geliştirilmiş ve program Android ve IOS işletim sistemine sahip cep telefonlarına yüklenmiştir. Bu aşamada, mobil uygulamanın ve yazılımın işlerliğinin test edilmesi için pilot uygulamanın örneklemini Hacettepe Üniversitesi Onkoloji Hastanesi Bölüm 95 kliniğinde görev yapan 18 hemşire oluşturmuştur. Mobil uygulama hemşireler tarafından 01 Kasım- 30 Kasım 2020 tarihleri arasında kullanılmış ve uygulama sonunda hemşirelerin görüşlerinin belirlendiği anket formu kullanılmıştır. Veriler tanımlayıcı istatistikler ile analiz edilmiştir. Araştırmanın ikinci aşamasının sonucunda hemşirelerin çoğunluğu geliştirilen programın kolay, hızlı ve karmaşık olmadığını, vardiyalara görev atamasının objektif, hakkaniyete uygun ve adil olduğunu, hemşire tercihlerini gözetilebildiğini; geliştirilen programın manuel hazırlamaya oranla çok daha kısa sürede oluştuğunu belirtmişler ve geliştirilen programın işlevselliğine ve programdan memnuniyetlerini 10 üzerinden 8 puan olarak işaretlemişlerdir. Hemşirelerin günlük 5-15 dk, sorumlu hemşirenin yeni liste oluşumunda 35-40 dk programı kullandığı belirlenmiştir. Hemşirelerin çalışma çizelgelerinin, uygun çalışma saatlerinde, çoğunlukla sabit vardiyalarda, manuel çalışma çizelgeleri ile hasta bakım sürelerinden zaman kaybedilmeden, adil ve objektif olarak oluşturulduğu test edilmiş olan geliştirilmiş yazılım programı / programları kullanılarak hazırlanması önerilmektedir.
Developing a tool that converts a process model into a BPMN data model by mining from multiple perspectives
Process mining is mainly focused on process discovery, and also replay techniques to check conformance and analyze bottlenecks. It is further applied to mine the other process perspectives, such as time, data, and resources, by replaying the events in event logs over the initial process model. When process mining is extended far beyond discovering the control-flow models; roles, bottlenecks, amounts of time passed, guards, and routing probabilities in the process can be identified. Such extensions are considered under the topic of multi-perspective process mining, which makes the discovered process model more understandable. In this study, a framework for applying multi-perspective process mining and creating a BPMN process model as the output is introduced. The framework, which uses a recently developed API for storing the BPMN Data Model in blockchain in a secure and immutable way, has been developed as a plugin to the ProM tool. In doing so, it integrates a number of techniques for multi-perspective process mining in literature, for the perspectives of control-flow, data, and resource; and represents a holistic process model by combining the outputs of these in the BPMN Data Model. In this thesis, we explain technical details of the framework and also demonstrate its usage over a case in medical domain.
A method for selecting regression test cases based on software changes and software faults
Regression testing is the type of testing in which a modified software is validated to ensure its functionality is not broken. With the increase of modern, agile and large size software systems, regression test selection needs to be efficient, effective and practical to coexist within the software development cycle. To this need, a modern hybrid technique for regression test selection is proposed in this thesis. A detailed literature analysis and a conceptual model are presented in order to better visualize and identify the target concepts of the field. We introduce a technique operating on different granularity levels using difference based techniques of files for both class files and third-party text files. Our technique uses lexical comparison methods for readable files and checksum comparison for any binary files with file or method level granularity. A tunable similarity threshold is offered to users to be used in fulfilling different performance needs. Any available test or fault history data is also used to increase the effectiveness of the proposed technique. We provide an extensive evaluation study in the form of embedded, multiple case study of the proposed technique with other state-of-the-art techniques with respect to performance and cost-efficiency using different open source projects. The results showed that the proposed approach is effective asii other state-of-the-art techniques and selects fewer tests while keeping the fault detection rate at a high level
A domaın-specıfıc modelıng language for semantıc web enabled multı-agent systems
Özerklik, karşıt eylemlilik ve proaktivite gibi etmen özelliklerinin ve birçok farklı etmen etkileşimlerinin gerçekleştirilmesi gereksinimi, etmen temelli yazılım sistemlerini diğer yazılım sistemlerinden daha karmaşık bir hale getirmektedir. Bunun yanısıra, Çok-etmenli Sistemler'in (MAS) etmen organizasyonları içerisinde içsel etmen davranış modeli ve etkileşiminin tasarımı ve uygulaması, özellikle Anlamsal Web gibi yeni etmen ortamları için yeni gereksinim ve etkileşimler dikkate alındığında, daha da karmaşık bir hal almaktadır ve zorlaşmaktadır. Söz konusu karmaşık yapıdaki MAS'ların tasarım ve uygulama zorluğunu gidermek için, bir Alana-özgü Modellleme Dili'nin (DSML) kullanımı, MAS üstmodelinin betimleme gücünü arttıran; sistem semantiğini tanımlayan ve böylece MAS'ların geliştirilmesi için daha elverişli bir yöntem sunan gerekli soyutlamayı sağlayabilir. Her ne kadar etmen araştırıcılarının, MAS üstmodelleme ve model-güdümlü MAS geliştirme konularında önemli çalışmaları bulunsa da, özellikle Anlamsal Web ortamlarında çalışan MAS'lar için bütüncül bir DSML'in sağlanması yönünde mevcut çalışmalarda bir eksiklik görülmektedir. Yukarıda sözü edilen eksikliği gidermek amacıyla, bu tezde, SEA_ML adı verilen MAS'lar için yeni bir DSML geliştirilmiştir. Bu DSML, Anlamsal Web ortamlarında çalışan MAS'ların tasarım ve uygulamasının mimari karmaşıklığını göz önünde bulundurur. Bu maksatla, MAS'ların klasik bakış açılarının yanısıra Anlamsal Web ortamı içerisinde çalışan yazılım etmenlerinin geliştirilmesine özellikle destek veren yeni bakış açılarını da içeren bir alana özgü üstmodel tanımlanmıştır. Bu yeni üstmodel, etmen sistemlerinin DSML'ine yönelik soyut sözdizim ve metinsel/grafiksel somut sözdizimlerin tanımları için gerekli temeli sağlamaktadır. Elde edilen DSML sözdizimi, yine bu tez kapsamında geliştirilen metinsel ve grafiksel modelleme araç kümesiyle desteklenmektedir. DSML, aynı zamanda, bir yorumlayıcı mekanizmaya destek verir; böylece, geliştirilen çerçeve, hem MAS hem de Anlamsal Web açılarından düşünüldüğünde, farklı hedef platformları için yazılım mimarisine uyan yazılım kodlarını üretebilmektedir. Aynı zamanda, metinsel ve grafiksel dillerin her ikisi de programlar/modelleri doğrulamak için kısıt kontrolüne destek vermektedir. Bu yolla, anlamsal kontrollerin bir kısmı, programın/modelin tasarım zamanında gerçekleştirilir ve daha düzgün kod üretimine yol açan potansiyel hataların önüne geçilir. SEA_ML'in formal semantiği ele alınırsa, dilin semantiğinin formal gösterimi sunulmuştur ve MAS doğrulaması için kullanılmaktadır. Sunulan semantik, etmen içselleri ve MAS iletişimi için zaten gerekli olan semantik tanımlamasının yanısıra, yazılım etmenleri ve semantik web servisleri arasındaki etkileşimin hem statik hem de dinamik yönlerini tanımlamaktadır.Son olarak, aynı zamanda bu tezde, varolan ya da yeni tanımlanmış MAS DSML'lerini değerlendirmek için bir değerlendirme çerçevesi ve sistematik bir yaklaşım da sunulmuştur. Bu çerçeve ve sistematik yaklaşıma göre tezde önerilen SEA_ML'in değerlendirmesi, iki farklı değerlendirici grup kullanılarak sağlanmıştır. Değerlendirme, çoklu durum araştırması yaklaşımına dayanır ve hem niteliksel değerlendirme hem de niceliksel analiz sunar. Etmen-temelli sistemlerin üretimini desteklemek için SEA_ML'in olduğu kadar değerlendirme yaklaşımının benimsenmesi de göz önünde bulundurularak çıkarılan dersler tezde tartışılmıştır. Değerlendirme sonuçlarına göre, SEA_ML'in kullanımı ile MAS geliştirmede ihtiyaç duyulan yazılım bileşenlerinin yaklaşık %85'inin; tüm kodun ise yaklaşık %80'inin otomatik olarak üretilebildiği gözlenmiştir. Aynı zamanda, değerlendirme sonuçları, yazılım geliştirmede gereken toplam süre göz önüne alındığında SEA_ML kullanan grubun durum çalışmalarını geliştirmek için diğer grubun gereksinim duyduğu sürenin ortalama olarak sadece yarısına ihtiyaç duyduğunu göstermektedir.
Kurumsal servis kanalı tabanlı veri bütünleştirme mimarisinin gerçekleştirimi
Günümüz iş dünyasında birçok farklı alanda süreçlerin takibi, o alana özel geliştirilmiş yazılım ürünleri kullanılarak yapılmaktadır. Şirket yapıları ele alındığında birçok farklı birim içerdikleri gözlemlenebilir. Birimler belli oranda kendi içlerinde bağımsız olsalar da birbirleriyle iletişim ihtiyacı duymaktadırlar. Bu iletişim ihtiyacı birimlerde kullanılan yazılım ürünleri için de son derece önemlidir. Örneğin; müşteri ilişkileri biriminde ilgili yazılım uygulaması üzerinde oluşturulan bir müşteri kaydının, muhasebe biriminde kullanılan yazılım uygulamasında da otomatik oluşturulması beklenmektedir. Bu kapsamda birçok ortak kavram için bütünleştirme gereksinimi karşımıza çıkmaktadır. Bu gereksinimler göz önünde bulundurularak bu tez kapsamında bir yazılım şirketi bünyesindeki yazılım ürünlerinin birbirileriyle olan iletişim ihtiyacı ve mevcut koşullarda kullanılan bütünleştirme yapısı incelenmiş ve eksik noktaları araştırılmıştır. Mevcut bütünleştirme sistemlerinin getirdiği zorlukları ortadan kaldırmak için kurumsal servis kanalı mimarisinde bir model önerilmiştir. Önerilen model, yazılımsal olarak da prototip haline getirilerek gerçeklenmiştir.
Automatic datapath and controller generation for reconfigurable ASIP
The need for complex designs that meet the desired application specific criteria and time-to-market pressure increase the importance of High Level Synthesis (HLS) tools, which take high level behavioral representation of the desired functionality as the input and generate HDL description of hardware at RTL level for FPGA or ASIC targets. FPGAs are getting more popular than ASICs and microprocessors due to their architectural flexibility, on-site upgradability and computing power. In this thesis, an HLS tool for FPGAs is proposed. This tool has the following capabilities: (i) generation of optimized RTL which consists of datapath and its controller. To achieve this, the tool extracts the clock period of the optimized RTL by using the optimization results and the delay models of the arithmetic operators. (ii) generation of Golden RTL where there is no optimization and resource sharing on the datapath. (iii) estimation of delay and area of the generated RTL specifications by using the estimation models. This tool is integrated in RH(+) Design Automation Framework. The generated RTLs are tested in Xilinx Spartan-3 FPGA. The estimated delay and area of both the Golden RTL and Optimized RTL generated by the tool are compared with the results of Xilinx ISE tool set for different input applications.
Mutation testing of concurrent programs
As software testing becomes a more established discipline, the need for quality assurance of software test suites arises. It has been decades since mutation testing was first introduced into the literature for this purpose. In this thesis, we investigate mutation testing of concurrent Java programs. We have developed a publicly available mutation testing tool, "Mutanticide", for this purpose. Additionally, we propose a new mutation operator, and use it in combination with previously introduced 14 mutation operators. We describe each of these mutation operators and potential bugs they introduce into the system. Using a bytecode instrumentation tool, we explain how to discover mutation candidates and create mutants of a program. Experiments on varying size of software show that programs which have test suites focusing on concurrency catch more multi-threaded bugs. Also, our new operator, RNNA, is proven by selective mutation to be efficient and effective as it produces low number of mutants with a high percentage of dead mutants. In addition, RNNA ends up in the sufficient subset of concurrent mutation operators, too. Another mutation operator that we propose in this study, RSR, targets programs making use of the Java library java.util.concurrent. This operator is the first step of our work to develop more mutation operators regarding the aforesaid library.
Desing and simulation software for rhodotron type electron accelerators
The focus of this study is to design and optimize rose-pattle-type electron accelerators; a new simulation tool called Rhodotron Simulation has been developed for this purpose. A coaxial cavity with an operating frequency of 107.5 MHz is currently being manufactured in the Kandilli Detector Accelerator and Instrumentation Laboratory (KAHVELab). This new tool's capabilities will be tested with the cavity and will be used to design complementary bending magnets for reaching 1-5 MeV beam energy.
İlaç ve gıda ürünlerinde gluten proteini sorgulama mobil uygulaması
Uygulama İOS işletim sistemine sahip mobil cihazlar için tasarlanmış olup akıllı telefonlar ve tabletler tarafından rahatlıkla uygulama marketlerinden indirilerek kullanılabilecektir. Uygulama uzun uğraşlar sonucu hazırlanan veritabanında ilaç ve gıda ürünlerinin glüten proteini muhteviyatında içerip içermediği hakkında kullanıcılara bilgi vermek için tasarlanmıştır. Bu sayede Çölyak hastası bireylerin ürün satın alırken daha bilinçli ve daha kolay bir şekilde alışveriş yapmasına imkan sağlamaktadır. Ayrıca bu uygulama vasıtasıyla Çölyak Hastaları'nın beslenme şekillerinde, Beslenme ve Diyetetik Uzmanları tarafından Çölyak Hastalarına uygulanan diyetlerde kısacası Çölyak Hastalığına sahip bireylerin beslenme kalitesi anlamında önemli bir yükseliş sağlanacağı düşünülmektedir.