Bu çalışma materyali, kullanıcı tarafından sağlanan metin (ders notları/kitap bölümü) ve ders ses kaydı transkripti kaynaklarından derlenmiştir.
Karar Destek Sistemleri ve İşlemtablosu Programlama 📊
Giriş
Karar Destek Sistemleri (KDS), kullanıcıların gereksinimlerine göre farklı ölçek, kapsam ve derinlikte var olabilen bilgi sistemleridir. Tüm kararların bireysel izdüşümleri olduğu için, karar vericilerin bireysel karar verme kapasitelerinin artırılması büyük önem taşır. Bu bağlamda, kişisel KDS'ler ve özellikle işlemtablosu tabanlı sistemlerin tasarımı ve geliştirilmesi kritik bir alandır. Microsoft Excel ve Visual Basic for Applications (VBA) gibi araçlar, kişisel KDS'lerin geliştirilmesi için güçlü, erişilebilir ve yaygın olarak bilinen bir platform sunmaktadır.
Anahtar Kavramlar 📚
- Karar Destek Sistemi Geliştirme Aşamaları
- Kişisel Karar Destek Sistemleri
- İşlemtablosu Tabanlı Karar Destek Sistemleri
- İşlemtablolarında Model Yönetimi Araçları
- İşlemtablolarında Veri Yönetimi Araçları
- İşlemtablolarında Diyalog Yönetimi Araçları
- Form Denetimleri
- ActiveX Denetimleri
Karar Destek Sistemlerinin Geliştirilmesi ve Kişisel KDS
Bir KDS'nin geliştirilmesi, her bilgi sistemi projesinde olduğu gibi belirli adımları içerir.
KDS Geliştirme Adımları ✅
- KDS'yi Planlama, Tasarlama ve Geçerliliğini Değerlendirme: KDS'nin hangi karar sürecini, hangi düzeyde ve nasıl destekleyeceği belirlenir. Kullanılacak algoritmalar, modeller, veri kaynakları ve erişim olanakları bu aşamada tanımlanır. Bu, KDS'nin kavramsal modelidir.
- KDS Mimarisini Oluşturma: Karar sürecinin hangi aşamalarının hangi teknolojilerle destekleneceği belirlenir. Modellerin kurulması, çözümü için gerekli yazılım, algoritmalar, çözücüler ve arayüzler tanımlanır.
- KDS Geliştirme Seçeneklerinin Değerlendirilmesi: Geliştirme için çeşitli yaklaşımlar mevcuttur:
- Karar vericinin kendisinin geliştirmesi.
- Kurum içi bilgi işlem profesyonelleri tarafından geliştirilmesi.
- Dışarıdan hizmet alma.
- Mevcut bir uygulamayı satın alıp modifiye etme.
- Uygulama sağlayıcılardan kiralama.
- Başka işletmelerle işbirliği yapma.
- Bu yaklaşımların bir karmasını kullanma.
- KDS'yi Kurma, Test Etme ve Kullanıma Sunma (Deployment): Geliştirilen KDS'nin kullanıcılara dağıtılması, tasarım beklentilerine uygunluğunun test edilmesi ve veri kaynaklarıyla bağlantılarının sağlanması bu aşamada yapılır.
- KDS'nin Bakımı ve Güncellenmesi: KDS'ler interaktif sistemler olduğundan, karar süreçlerindeki deneyimler ve beklentiler değiştikçe sistemin güncellenmesi ve iyileştirilmesi gerekir.
Kişisel Karar Destek Sistemleri (K-KDS) 📚
Kişisel KDS, bir karar vericinin karar probleminin çözüm kalitesini ve sürecin etkinliğini artırmak için genellikle kendisi tarafından geliştirilen sistemlerdir.
Avantajları ✅
- Kısa Geliştirme Süresi: Hızlı prototipleme ve uygulama imkanı sunar.
- Azalan Bürokratik Süreçler: Ayrıntılı gerekçeler listesi, raporlama ve sözleşme gibi adımlara gerek kalmaz.
- Düşük Maliyet: Genellikle profesyonel geliştirme süreçlerine göre daha ekonomiktir.
- Kontrol ve Esneklik: KDS'nin bakımı, güncellenmesi ve iyileştirilmesi süreçleri karar vericinin kontrolündedir.
- Yeni Keşif Fırsatları: Karar vericinin problemle ilgili yeni analizler yapmasına olanak tanır.
Dezavantajları ⚠️
- Sınırlı Özellik ve Kalite: Karar vericinin bilgi sistemleri ve programlama becerileriyle sınırlıdır.
- Veri ve Bilgi Güvenliği Eksiklikleri: Kurumsal sistemlerin gerektirdiği güvenlik standartlarından yoksun olabilir.
- Belgelendirme Yetersizliği: Kullanım, tasarım ve bakıma yönelik belgelendirmeler eksik kalabilir.
Excel ve VBA ile KDS Geliştirme Stüdyosu
Excel ve VBA, model, veri ve diyalog yönetimi modüllerini destekleyen zengin özellikleriyle kişisel KDS geliştirmek için ideal bir platformdur. Makro kaydetme özelliği, Excel'i hızlı geliştirme aracı (RAD) yapar ve VBA entegrasyonu, profesyonel KDS'lerin bile geliştirilmesine olanak tanır.
Model Yönetimi Modülü Özellikleri 📈
Model, problemin veya sistemin bir gösterimidir (örn. matematiksel veya benzetim modelleri). Excel ve VBA, her ölçekte modelleme için çeşitli araçlar sunar:
- Excel'in Sayfa Yapısı: Hücre tabanlı yapı, veri girişi, formül kullanımı ve verilerin tablo şeklinde görüntülenmesi için esnek bir ortam sağlar.
- Excel İşlevleri:
- Kütüphane İşlevleri: Önceden tanımlanmış hazır işlevler (örn.
BUGÜN,TOPLA). - Kullanıcı Tanımlı İşlevler (UDF): VBA ile oluşturulan özel işlevler.
- Kütüphane İşlevleri: Önceden tanımlanmış hazır işlevler (örn.
- Çözücü Eklentisi (Solver Add-In): Optimizasyon problemleri için Simplex LP, GRG Nonlinear gibi teknikleri kullanarak optimal çözümler bulur.
- Makrolar ve VBA: Tekrarlayan işlemleri otomatikleştirmek ve karmaşık modeller oluşturmak için kullanılır.
- Grafikler (Charts): Verilerin görsel sunumu ve modellerin anlaşılması için farklı grafik türleri sunar.
- Ad Yöneticisi (Name Manager): Hücre veya hücre aralıklarını adlandırarak modellerin okunabilirliğini ve yönetimini kolaylaştırır.
- Formül Denetleme (Formula Auditing): Formüllerdeki hataların kaynağını bulmak ve ilişkileri görüntülemek için izleme araçları sunar.
- Durum Çözümlemesi (What-if Analysis): Formüllerde farklı değerlerin/senaryoların denenmesine olanak tanır (örn. Senaryo Yöneticisi).
- Veri Çözümleme Araç Kutusu (Data Analysis ToolPack): Karmaşık finansal, istatistiksel ve mühendislik analizleri için yöntemler sunar.
Veri Yönetimi Modülü Özellikleri 📊
Bir kararın değerlendirilmesi genellikle birçok bilginin derlenmesini gerektirir. Excel, veri yönetimi için doğal bir yeteneğe sahiptir:
- Excel'in Veri Konusundaki Doğal Yeteneği: Çalışma sayfaları, veri girişi, güncellenmesi, değiştirilmesi ve silinmesi gibi temel veri yönetim işlemlerini kolaylaştırır. Düz (flat) veritabanı yaklaşımını destekler.
- Sıralama (Sort): Veri aralığındaki verileri belirli kriterlere göre (A'dan Z'ye, Z'den A'ya) sıralar.
- Otomatik/Gelişmiş Filtreleme (AutoFilter/Advanced Filter): Belirlenen kriterlere göre verileri süzerek istenilen bilgilerin görüntülenmesini sağlar.
- Özet Tablo (PivotTable): Büyük ve detaylı veri setlerinden anlaşılır özetler ve yeniden düzenlenebilir sunumlar oluşturur.
- Tablo (Table): Çalışma sayfasındaki verileri yapılandırılmış tablolara dönüştürerek veri analizini kolaylaştırır.
- Bul ve Değiştir (Find and Replace): Veri arama ve düzenleme işlemlerini pratik hale getirir.
- Dış Veri Al (Get External Data): Access veritabanları, web sayfaları veya metin belgeleri gibi farklı kaynaklardan veri aktarımına olanak tanır.
- Veritabanı İşlevleri (Database Functions): Belirlenmiş kriterler doğrultusunda kayıtlardan istatistikler türetir (örn.
VSEÇORT,VSEÇTOPLA). - Veri Doğrulama (Data Validation): Bir hücreye girilecek verilerle ilgili kısıtlamalar tanımlayarak hatalı veri girişlerini engeller.
Diyalog Yönetimi Modülü Özellikleri 🗣️
Diyalog yönetimi, KDS'yi diğer bilgi sistemlerinden ayıran en önemli özelliktir, çünkü karar vericinin başarısını artırmaya odaklanır.
- Konuşma (Speech/Speak): Excel hücrelerindeki verilerin metin okuma (Text-to-Speech) motorları kullanılarak sözel olarak ifade edilmesini sağlar.
- Veri Giriş ve Mesaj Kutuları (InputBox/MsgBox):
- InputBox: Kullanıcıdan veri girişi almak için bir diyalog kutusu sunar.
- MsgBox: Kullanıcıyı uyaran, bilgilendiren veya onay isteyen mesajlar sunar.
- Excel Çalışma Sayfasının Hücre Yapısı: Hücreler, veri girişi, tutulması ve paylaşılması için temel bir diyalog aracı olarak işlev görebilir.
- Liste Kutusu (ListBox) ve Birleşik Giriş Kutusu (ComboBox):
- ListBox: Kullanıcının önceden tanımlanmış değerler arasından seçim yapmasına olanak tanır.
- ComboBox: Liste kutusu özelliği olan bir metin kutusudur; seçim veya klavye ile giriş imkanı sunar.
- Onay Kutuları (CheckBox) ve Seçenek Düğmeleri (OptionButton):
- CheckBox: Bağımsız çalışan, seçme/seçmeme imkanı sunan bileşenlerdir.
- OptionButton: Birbiriyle bağımlı çalışan, seçenekler arasından sadece birini seçmeye olanak tanıyan bileşenlerdir.
- Etiketler (Label) ve Metin Kutusu (TextBox):
- Label: Kullanıcıya mesaj veya bilgi ileten, değiştirilemez bileşenlerdir.
- TextBox: Kullanıcının veri girişi yapmasına olanak tanıyan bileşenlerdir.
- Hazır Form (Built-In Form): Bir veri tablosundaki kayıtlar arasında gezinme, ekleme, silme veya güncelleme için kullanılan diyalog kutularıdır.
- Kullanıcı Formu (UserForm): VBA ile isteğe bağlı olarak özelleştirilebilir formlar veya diyalog kutuları oluşturmayı sağlar.
- Diğer ActiveX Denetimleri: Değer değiştirme düğmesi (SpinButton), kaydırma çubuğu (ScrollBar), değiştirme düğmesi (ToggleButton) ve resim (Image) gibi kullanıcı arayüzünü zenginleştiren bileşenlerdir.
Örnek Uygulama: Diyalog-Yönelimli Finansal KDS 💡
Bu bölümde, bir emlak kredisi ödeme planı hesaplama KDS'si örneği üzerinden Excel'in diyalog yönetimi araçlarının kullanımı gösterilmiştir. Amaç, karar vericinin farklı senaryoları kolayca değerlendirebilmesini sağlamaktır.
Uygulama Bileşenleri ve Kullanımı
- Verilerin Çalışma Sayfalarına Yerleştirilmesi: Ev bilgileri ve hesaplama işlemleri ayrı sayfalarda tutulur. Örneğin, "Veriler" sayfasında ev bilgileri, "Odeme_Plani" sayfasında ise hesaplamalar yer alır.
- Form Denetimleri ile Etkileşim:
- Birleşik Giriş Kutusu (Combo Box): Fiyat hücresine değer girmek yerine, "Veriler" sayfasındaki ev listesinden seçim yapmak için kullanılır. Seçilen evin fiyatı otomatik olarak "Fiyat" hücresine aktarılır.
- Değer Değiştirme Düğmesi (Spin Button): Peşinat yüzdesi ve yıl değerleri için kullanılır. Kullanıcı, düğmeleri kullanarak değerleri artırıp azaltabilir. Örneğin, peşinat için %0-100 aralığında, yıl için 1-15 aralığında değerler belirlenebilir.
- Kaydırma Çubuğu (Scroll Bar): Faiz oranları gibi daha geniş aralıklı değerler için tercih edilir. Hem küçük (örn. %0.25) hem de büyük (örn. %1) adımlarla değer değişimi sağlar.
- ActiveX Denetimleri ile Etkileşim ve VBA Entegrasyonu:
- ActiveX denetimleri, Form denetimlerine göre daha fazla özelleştirme ve doğrudan VBA ile entegrasyon imkanı sunar.
- Birleşik Giriş Kutusu (ComboBox): Fiyat bilgisini doğrudan hedef hücreye (örn. "Fiyat" hücresi) aktarmak için VBA kodu ile entegre edilebilir.
cbFiyat_Change()gibi olay makroları kullanılarak seçilen değerin hücreye atanması sağlanır. - Değer Değiştirme Düğmesi (SpinButton) ve Kaydırma Çubuğu (ScrollBar): Benzer şekilde, peşinat yüzdesi ve yıl değerleri için ActiveX denetimleri kullanılır ve
ddPesinat_Change()veyakcFaiz_Change()gibi VBA makroları ile değerler ilgili hücrelere atanır.
- Güvenlik ve Kullanıcı Deneyimi:
- Kullanıcı arayüz bileşenleri, işlem ve kullanıcı hatalarını azaltır.
- Çalışma sayfasının korunması (
Sheets("SayfaAdı").Protect UserInterfaceOnly:=True) ile kullanıcı arayüzü bileşenlerinin işlevselliği korunurken, istenmeyen değişiklikler engellenir. - Kullanıcı dostu arayüzler, KDS'nin kullanışlılığını ve güvenilirliğini artırır, oryantasyon süresini kısaltır.
⚠️ Önemli Not: VBA programlamada Türkçe karakterlerden (ş, ç, ı, İ vb.) kaçınmak ve Excel'in İngilizce sürümlerini kullanmak uyumluluk açısından önerilir.
Sonuç
Karar destek sistemlerinin geliştirilmesi, planlamadan bakıma kadar uzanan sistematik adımlar gerektiren bir süreçtir. Kişisel KDS'ler, belirli avantaj ve dezavantajlarıyla birlikte, karar vericilerin bireysel kapasitelerini artırmada önemli bir rol oynar. Excel ve VBA, model, veri ve diyalog yönetimi modüllerini destekleyen zengin özellikleriyle, bu tür sistemlerin hızlı ve etkin bir şekilde geliştirilmesi için güçlü bir platform sunmaktadır. Özellikle diyalog yönetimi modülü, karar vericilerin sistemle etkileşimini kolaylaştırarak karar verme süreçlerinin etkinliğini doğrudan etkilemektedir. Bu nedenle, KDS geliştiricilerinin kullanıcı beklentilerini ve bilişsel bilimleri göz önünde bulundurarak kullanıcı dostu arayüzler tasarlaması kritik öneme sahiptir.








