Karar Destek Sistemleri Dersi 3. Ünite Özet
Karar Destek Sistemlerinin Geliştirilmesinde İşlemtablosu Programlama
- Özet
- Sorularla Öğrenelim
Giriş
Karar destek sistemleri, bir bilgi sistemidir. Bu yönüyle, kullanıcıların gereksinimlerine göre her ölçekte, kapsam ve derinlikte KDS’lerin varolması doğaldır. KDS’lerin hangi ölçek, kapsam ve derinlikte olacağı, kararın ne olduğuna doğrudan bağlıdır. Bununla birlikte, tüm kararların mutlaka bireysel izdüşümleri olacaktır.
Karar Destek Sistemlerinin Geliştirilmesi ve Kişisel Karar Destek Sistemleri
Her bilgi sistemi projesinde olduğu gibi, bir KDS’nin geliştirilmesinde de izlenmesi gereken adımlar vardır. Kendi kişisel karar destek sistemini, profesyonel destek alarak veya almadan bizzat geliştirmeyi arzu eden karar vericilerin aşağıdaki ana aşamaları gerçekleştirmeleri beklenir.
Adım.1 KDS’yi Planlama, Tasarlama ve Geçerliliğini Değerlendirme: KDS’nin hangi karar sürecini hangi düzeyde, hangi aşamada ve nasıl destekleyeceği belirlenmelidir. Karar verirken kullanılacak algoritmalar ve modeller belirlenerek, bunların geliştirilmesi ve kullanılması için gerekli zaman ve maliyetin değerlendirilmesi bu aşamada gerçekleştirilir.
Adım.2 KDS Mimarisini Oluşturma: Bu aşamada karar sürecinin hangi aşamalarının hangi teknolojilerle nasıl destekleneceği belirlenmelidir. Modellerin kurulması ve çözümünde kullanılacak yazılım ve algoritmalar, çözücüler, arzu edilen ara yüzler, gereksinim duyulan bilgi ve verilerin neler olduğu belirlenmelidir.
Adım.3 KDS Geliştirme Seçeneklerinin Değerlendirilmesi: KDS’nin geliştirilmesinde aşağıdaki seçeneklerden biri benimsenebilir. i. Karar vericinin kendisinin geliştirmesi, ii. Kurum-içinde karar verici dışındaki bilgi işlem profesyonelleri tarafından geliştirilmesi, iii. Dışarıya belli bir ücret karşılığında yaptırma, iv. Mevcut bir uygulamayı satın alıp gerekirse modifiye etme, v. Uygulama sağlayıcılardan kiralama, vi. KDS’ye sahip başka işletmelerle işbirliği veya işberaberliği yaparak yararlanma, vii. Bu yaklaşımların bir karmasından yararlanma. Benimsenen seçeneğin koşul ve gereklerine uygun olarak yaşama geçirilmesi de bu aşamanın bir alt adımıdır. Her seçeneğin bu adım içinde kendine özgü bir alt süreci olacaktır. Bilgi sistemlerinin ve yazılımların geliştirilmesinde kullanılan üç temel yaklaşımın -şelale (waterfall), spiral (spiral) ve prototip (prototyping) geliştirme- hangisinin benimsendiğine bağlı olarak geliştirme aşaması ayrıca değerlendirilmelidir.
Adım.4 KDS’yi Kurma, Test etme ve Kullanıma Sunma (Deployment): Geliştirilen KDS’nin kullanacak karar vericilerin bilgisayarlarına kurulması, yazılımın tasarım aşamasındaki beklentilere uygunluğunun test edilmesi, KDS’nin veri kaynakları ve veritabanları ile bağlantıların sağlanması bu aşamada yerine getirilir.
Adım.5 KDS’nin Bakımı ve Güncellenmesi: KDS’ler karşılıklı etkileşimli (interaktif) bilgi sistemleri olduğundan, karar vericilerin karar süreçlerine ilişkin deneyimleri arttıkça ilk tasarım özellikleri yetersiz kalabilir. Karar vericilerin beklentilerindeki veya karar sürecinin gerekçelerindeki değişimlere paralel olarak KDS’lerin güncellenmesi arzu edilir. KDS geliştirme sürecinin üçüncü adımı, karar vericinin kendi KDS’sini geliştirmesi yönünde sonuçlanırsa, bu tercih bazı avantajların yanı sıra bazı riskleri de içerecektir.
Karar vericinin kendi KDS’sini geliştirmesinin avantajlarından bazıları şunlardır:
- Geliştirme süresi kısadır.
- KDS için ayrıntılı bir gerekçeler listesinin ve spesifikasyonlarının raporlanması ve sözleşme formatında hazırlanmasına gerek kalmaz.
- KDS geliştirmeye yönelik problemler azalır.
- Maliyet genellikle çok düşüktür.
- KDS’nin bakımı, güncellenmesi ve iyileştirilmesi süreçlerinin etkinliği karar vericinin kontrolü altındadır.
- Karar vericinin probleme ilişkin yeni keşif ve analizler yapmasına fırsat verir.
Belirtilen faydalarının yanı sıra, kişisel KDS geliştirmek bazı sakıncaları da yanında getirmektedir. Bunlardan bazıları şunlardır:
- KDS’nin sahip olduğu özelliklerin düzeyi ve kalitesi, karar vericinin bilgi sistemleri ve bilgisayar programlama konusundaki bilgi ve becerileri ile sınırlı olacaktır.
- Veri ve bilgi güvenliği konusunda eksikler olabilir.
- KDS’nin taşıdığı özelliklere, kullanımı ve bakımına ilişkin belgelendirmelerin eksik olma olasılığı vardır.
Kişisel karar destek sistemleri, bir karar vericinin karar probleminin çözüm kalitesini ve sürecin etkinliğini arttırmak için genellikle kendisi tarafından geliştirilen bir karar destek sistemidir. İşletme dünyasındaki karar destek sistemlerinin büyük çoğunluğunu bu tür karar destek sistemleri oluşturur. Öte yandan, kişisel karar destek sistemleri en eski KDS türüdür. Bu yönüyle karar vericilerin ilk başvurdukları ortamlardan biri, kişisel bilgisayarlardaki yaygınlığı ve bilinirliği sebebiyle, işlemtabloları ve özellikle Excel ve VBA (Visual Basic for Applications) ile Excel Programlama olmaktadır. İşlemtablolarını iyi bir kişisel karar destek sistemi geliştirme platformu yapan özellikler üç ayrı başlıkta incelenebilir. Bunlar aynı zamanda KDS’nin en önemli üç temel bileşenidir. Bunlar Model, Veri ve Diyalog Yönetimi Modülleridir. Yöntembilgisi yönetiminin (knowledge management) bu üç en önemli bileşen arasında yer almamasının çeşitli sebepleri vardır. Bunların başında yöntembilgisinin programlanmasında kullanılan yöntemlerin kişisel KDS geliştirecek karar vericiler tarafından daha az bilinir olması yanı sıra işlemtablolarının yöntembilgisi yönetimini destekleyen özelliklerinin sınırlı olması gelmektedir. Diğer önemli bir noktada, yöntembilgisi gereksiniminin iyi bir diyalog yönetimi ile karar verici tarafından yerine getirilebilmesidir. Karar vericilerin KDS’ler içinde modellenemeyecek konjonktürel etmenleri de düşünebilmeleri, KDS’den bu bilinç içinde yararlanmaları, bazı karar problemleri için özellikle önemlidir.
Karar Destek Sistemi Geliştirme Stüdyosu
Excel ve VBA’nın modelleme yönetimini, veri yönetimini ve diyalog yönetimini gerçekleştirmek için kullanılabilecek pek çok özelliği bulunmaktadır. Bu özelliklerin bütünü, Excel ve VBA’yı kişisel KDS geliştirme konusunda geçerli ve eşsiz bir platform yapmaktadır. Ancak, Excel’in tüm KDS modüllerini geliştirmede kullanılabilen ve onu diğer birçok programlama stüdyosundan ayıran özelliklerinin başında makro kaydetme özelliği gelmektedir. Bu özellik Excel’in hızlı geliştirme aracı (rapid development tool) olmasında önemli bir işlev yerine getirerek yalnızca KDS geliştirmek için değil, KDS prototiplerini oluşturmada da faydalı bir platform olmasına önemli bir katkı sunmaktadır.
Model Yönetimi Modülüne Yönelik Özellikler
Model, problemin ait olduğu ortamın veya sistemin bir gösterimidir. Bu gösterimin en kullanışlı olanlarından biri matematiksel modellerdir. Matematiksel modeller bir dizi matematiksel formülasyondan ibarettir. Karar vericinin seçeneklerini, kısıtlarını ve amacını matematiksel olarak değerlendirme olanağı sunmaktadır. Optimizasyon problemleri için vazgeçilmez bir araçtır. Problemin çözümüne ilişkin senaryoların değerlendirilmesinde çok kıymetli bilgiler sunma kapasitesine sahiptir. Problemin niteliğine bağlı olarak karar vericilerin her ölçekte modelleme yapabilmesi konusunda Excel ve VBA’nın sunduğu özelliklerinden bazıları bu bölümde sunulmaktadır.
Excel’in Sayfa Yapısı: İşlemtablolarının özünü oluşturan hücre yapısı, veri girişi, verileri kullanan formüllerin girişi, verilerin düzenlenmesi ve tablo şeklinde görüntülenmesi açısından karar vericilerin yaygın hesaplama ve düzenleme alışkanlıklarını karşılama özelliği sağlamaktadır. Veri ve formüllerin esnek ve etkin bir şekilde kullanılabilmesini destekleyen çalışma sayfaları, modelleme ve hesaplamaya dayalı kararların verilmesinde olduğu kadar, VBA’da gerçekleştirilen programların girdilerini bulabileceği ve çıktılarını yazabileceği bir ortam da sunmaktadır.
Excel İşlevleri: Excel işlevleri; bir ya da birden fazla parametre alarak ya da hiçbir parametre almayarak istenilen bir işlemi gerçekleştiren ve bu işlemin sonuç ya da sonuçlarını kullanıldıkları hücreye geri döndüren formüllerdir. Excel, önceden tanımlanmış hazır işlevlerin kullanımına olanak sağladığı gibi kullanıcıların yeni işlevler tanımlamasına da izin vermektedir.
Kütüphane İşlevleri (Library Functions): Excel kütüphanesinde hazır olarak bulunan, yazılım ile birlikte tanımlanmış olarak gelen işlevlerdir. Kütüphane işlevlerine Formüller sekmesi altında bulunan İşlev Kitaplığı altındaki ilgili kategorileri temsil eden düğme gruplarından ulaşmak mümkündür.
Kullanıcı Tanımlı İşlevler (User Defined Functions): Excel’in kütüphane işlevlerinin yeterli olmadığı durumlarda ya da çok sık tekrarlanan işlemleri pratik bir şekilde tekrarlamak için çeşitli işlevler tanımlamak mümkündür. Tanımlanan bu işlevlere İşlev Ekle diyalog kutusu altında bulunan Kullanıcı Tanımlı kategorisinden erişmek mümkün olacaktır.
Çözücü Eklentisi (Solver Add-In): Excel, bazı tür karar probleminde optimal çözümü bulmak için yöneylem araştırmasında yaygın olarak kullanılan Basit LP (Simplex LP), Doğrusal olmayan GRG (GRG Nonlinear) ve Açılım (Evolutionary) gibi tekniklerin kullanımını sağlayan, Çözücü (Solver) eklentisine sahiptir.
Makrolar ve VBA: Excel üzerinde çok sık kullanılan işlemleri bir prosedür ile tanımlayarak otomatikleştirmek, diğer bir deyişle makrolaştırmak mümkündür. Excel’de oluşturulan makrolar Visual Basic dili ile yorumlanarak, makronun kayıtlı olduğu dosyada tutulmaktadır.
Grafikler (Charts): Grafikler verilerin görsel bir sunumu olup, büyük miktardaki verilerin özetlenmesinde kullanılan en önemli araçlar arasındadır. Verilerin gösteriminde uygun grafik türleri kullanılarak, veriler arasındaki ilişkilerin daha iyi anlaşılması ve yorumlanması sağlanabilmektedir.
Ad Yöneticisi (Name Manager): Verinin modellenmesi konusundaki en önemli araçlardan birisi de hücre ya da hücre aralıklarının adlandırılmasında ve bu adların düzenlenmesinde kullanılan ad yöneticisidir.
Formül Denetleme (Formula Auditing): Excel’ de formüller kullanılarak yapılan hesaplamalarda oluşabilecek çeşitli hataların kaynağına ulaşma konusunda izlerin takip edilmesini sağlayan araçlar mevcuttur.
Durum Çözümlemesi (What-if Analysis): Excel’de bulunan durum çözümlemesi aracı, kullanılacak olan formüllerde farklı değerlerin/senaryoların denenmesine olanak sağlamaktadır.
Veri Çözümleme Araç Kutusu (Data Analysis Toolbox): Excel’in bir eklentisi olan Veri Çözümleme araç kutusu (Data Analysis ToolPack), karmaşık finansal çözümlemelerin, istatistiksel çözümlemelerin ve mühendislik çözümlemelerinin gerçekleştirilebilmesi için çeşitli veri analiz yöntemlerinin kullanılmasına imkân tanımaktadır.
Veri Yönetimi Modülüne Yönelik Özellikler
Bir kararın değerlendirilmesi, genellikle birçok bilginin derlenmesini gerektirir. Bir KDS içinde bu bilgilerin aranan niteliklere uygun olarak elde edilmesi başarılı bir veri yönetimi modülüne bağlıdır. Excel VBA’nın KDS geliştiriciler açısından önemli bazı özellikleri şunlardır:
Excel’in veri konusundaki doğuştan gelen yeteneği: Excel çalışma sayfaları yapısı itibariyle veri girişi, güncellenmesi, değiştirilmesi, silinmesi ya da istenilen şekilde formatlanması gibi veri yönetim işlemlerinin gerçekleştirilmesine olanak sağlamaktadır.
Sıralama (Sort): Çalışma sayfası üzerindeki bir veri aralığında bulunan bir ya da birden fazla alan için bir sıralama işlemi yapmak mümkündür. Excel ile sıralama işlemleri küçükten büyüğe (A’dan Z’ye-ascending) ya da büyükten küçüğe (Z’den A’ya-descending) şeklinde yapılabilmektedir.
Otomatik/Gelişmiş Filtreleme (AutoFilter/Advanced Filter): Çalışma sayfası üzerindeki bir veri aralığında bulunan veriyi, belirlenmiş olan kriterlere göre süzmek ve böylelikle istenilen verilerin görüntülenmesini, istenilmeyen verilerin ise gizlenmesini sağlamak mümkündür.
Özet Tablo (PivotTable): Excel’in en güçlü veri analiz araçlarından birisi olan özet tablolar, büyük ve detaylı veri setlerinden daha anlaşılır ve yeniden düzenlenebilir bir veri sunumu oluşturulmasını sağlamaktadır. Özet Tablo oluşturma araçları, Ekle sekmesi altında bulunan Tablolar grubunda bulunmaktadır.
Tablo (Table): Aynı çalışma sayfasındaki; belirli bir organizasyona sahip ve birbirleri arasında ilişki bulunan verileri bir tabloya dönüştürmek ve tabloların veri analizi konusunda sağladığı avantajlardan yararlanmak mümkündür. Bir veri grubundan tablo oluşturmak için Ekle sekmesi altında bulunan Tablolar grubundaki Tablo komut düğmesi kullanılabilir.
Bul ve Değiştir (Find and Replace): Excel’in Bul ve Değiştir araçları veri analizi konusunda oldukça pratik ve bir o kadar da güçlü birer veri arama ve düzenleme aracıdır. Bul aracı ile çalışma sayfası üzerindeki veriler aratılabilmekte, Değiştir aracı ile de istenilen veriler çalışma sayfasında aratılarak bulunduğu takdirde yeni değerler ile değiştirilebilmektedir.
Dış Veri Al (Get External Data): Çalışma sayfaları üzerinde bulunan veri doğrudan Excel ile oluşturulmuş olabileceği gibi farklı kaynaklardan alınan verileri çalışma sayfasına aktarmak da mümkündür. Farklı kaynaklardan veri alma işlemi; Veri sekmesi altında bulunan Dış Veri Al grubundaki komut düğmeleri yardımıyla yapılabilmektedir.
Veritabanı İşlevleri (Database Functions): Bir veritabanı kayıtlar dizisi olarak da düşünülebilir. Bu kayıtlar eklenebilir, silinebilir ya da güncellenebilir. Veritabanı işlevleri belirlenmiş kriterler doğrultusunda ilgili kayıtlardan çeşitli istatistiklerin oluşmasında kullanılmaktadır.
Veri Doğrulama (Data Validation): Excel’in veri doğrulama aracı bir hücreye girilecek verilerle ilgili kısıtlamalar tanımlamak için kullanılır. Böylelikle kullanıcıların hatalı ya da geçersiz veri girişi yapmaları engellenmiş olur.
Diyalog Yönetimi Modülüne Yönelik Özellikler
Bir karar destek sistemini diğer bilgi sistemlerinden ayıran en önemli özelliğinin diyalog yönetimi modülü olduğu söylenebilir. Bunun sebeplerinden biri, KDS’lerinin bilgi tutarlılığı ve kaydetme verimliliğine değil, karar vericinin başarısını arttırmaya yönelik olmasıdır.
Konuşma (Speech/Speak): Excel hücrelerinde bulunan verilerin metin okuma (Text to speech-TTS) motorları kullanılarak sözel olarak ifade edilmesi sağlanabilmektedir. Excel ile farklı diller için konuşma desteği mevcuttur. Bir hücre içeriği seçildikten sonra Hücreleri Oku komut düğmesi kullanılarak Excel’in içeriği okuması sağlanabilir.
Veri giriş ve Mesaj Kutuları (InputBox/MsgBox): Veri giriş kutuları, Excel tarafından bir diyalog kutusu aracılığı ile kullanıcının bir veri girişi yapmasını istemekte ve kullanıcı tarafından girilen değeri döndürmektedir.
Excel Çalışma Sayfasının Hücre Yapısı: Excel çalışma sayfalarında bulunan her bir hücre veri girişinin yapılabilmesine imkân vermektedir.
Liste Kutusu ve Birleşik Giriş Kutusu (ListBox/ComboBox): Liste kutusu, kullanıcının içerisinden seçim yapmasına olanak sağlayan bir diyalog yönetimi modülüdür. Birleşik giriş kutusu, bir liste kutusu olarak açılma özelliğine sahip bir metin kutusudur. Açılan listeden bir seçim yapılmasına ya da klavye yardımıyla bir veri girişi yapılmasına olanak tanımaktadır.
Onay Kutuları ve Seçenek Düğmeleri (Checkbox/OptionButton): Onay kutuları (CheckBox), birlikte kullanıldığında birbirinden bağımsız olarak çalışan, kullanıcıya ilgili seçeneği seçme ya da seçmeme imkânı sağlayan bileşenlerdir.
Etiketler ve Metin Kutusu (Label/Textbox): Metin kutuları, kullanıcının bir veri girişi yapmasına olanak sağlayan ve kullanıcı tarafından girilen değeri döndüren bileşenlerdir.
Hazır Form (Built-In Form): Excel’ de bulunan hazır formlar, bir veri tablosunda bulunan her bir kayıt (satır) için tablo içerisinde bulunan alan değerlerini gösteren birer diyalog kutusudur.
Kullanıcı Formu (UserForm): Kullanıcı formu nesnesi ile isteğe bağlı olarak formlar ya da diyalog kutuları oluşturmak mümkündür. Bir kullanıcı formu oluşturmak için Visual Basic editöründe bulunan Insert (Ekle) sekmesi altından Userform seçilmelidir.
Diyalog-Yönelimli Bir Finansal Karar Destek Sistemi
Bazı karar destek sistemlerinin iyi bilinen ve pek de karmaşık olmayan işlemleri, karar vericinin farklı senaryoları değerlendirmesi için defalarca yapması söz konusu olabilir. Bu durumda KDS’nin diyalog yönetimi etkinlik, tutarlık ve güvenilirlik boyutları açısından ön plana çıkmaktadır.
Bilgilerin Çalışma Sayfalarına Yerleştirilmesi
Excel tabanlı kişisel bir karar destek sistemi geliştirirken verilerin ve modellerin ayrı sayfalarda yer alması tercih edilmelidir.
Form Denetim Araçlarından Yararlanmak
Bu işlemlerin daha kullanışlı ve güvenilir hale getirilmesi için diyalog yönetim bileşenlerinden yararlanılabilir. Denetim araçları, Form Denetimleri ve ActiveX denetimleri olmak üzere iki farklı grupta sunulmaktadır.
ActiveX Denetim Araçlarından Yararlanmak
Form denetimlerini kullanmadan önce çalışma sayfasındaki adımların aynen uygulandığını, sayfa düzenlerinin denetim araçlarına uygun hale getirildiğini varsaydığımızda, fiyat bilgisinin girişinde bu ActiveX denetim araçlarından birleşik giriş kutusu kullanılacaktır.