← Computers & Automation

The Automatic Prevention of Computer Errors An Important Area of Computer Scienc

B
Bilinmeyen Yazar
1980 · Computers and Automation

Bilgisayar Biliminin Önemli Bir Alanı

Lawrence M. Clark
Matematikçi
863 Edmands St.
Framingham, MA 01701

“Bir gün gelecek ki, bir bilgisayar yanlış bir yanıtın çıktı olarak verilmesine izin vermeyecektir. Ve eğer böyle bir yanıt üretilirse (örneğin kasıtlı bir insan geçersiz kılma komutuyla), bilgisayar ayrıca, örneğin bir sistem sorumlusuna, uygun bir mesajla birlikte doğru bir yanıt da verecektir.”

Taslak

  1. Problemleri Çözme
  2. Yanlış Yanıtlar
  3. Hatalar
  4. Hataların Nedenleri
  5. Otomatik Hata Önleme
  6. Ofis Uygulamaları Alanı
  7. Hata Tespiti: Değişkenlerin İncelenmesi
  8. Ofis Prosedürlerinde Değişkenler
  9. Hataların Önlenmesi İçin Bilgi Kaynakları:
    9.1 Ofis Prosedürleri
    9.2 Genel Bilgi, Deneyim ve Dikkat
    9.3 Şirket Politikaları
    9.4 Problemleri Çözme İlkeleri
  10. Geleceğe Bakış

1. Problemleri Çözme

Bir bilgisayarın temel görevi problemleri çözmektir. 1974 gibi erken bir tarihte yayımlanan bir listeye göre 2600’den fazla bilgisayar uygulaması bulunduğu göz önüne alındığında /1/, programlanmış bilgisayarların çok büyük sayıda önemli problemi çözdüğü açıktır; aksi takdirde, onları kullanmaya başlayan kişiler kullanmaya devam etmezdi.

Bu sayıda yer alan “Ofis İşlemlerinde Bilgisayarların 108 Uygulaması” başlıklı Tablo 1’e bakınız; bu tablo, bu sayıda yer alan The Computer Almanac and the Computer Book of Lists dizisinin 800301 numaralı listesiyle aynıdır.

How to Solve It ve başka birçok kitabın yazarı olan büyük matematikçi Dr. George Polya, problemlerin çözümüne odaklanmıştır. Bir matematik bölümünün ismi belirtilmeyen başkanına yazdığı yayımlanmış bir mektupta /2/ şöyle yazmıştır:

Bildiğiniz gibi, özellikle problem çözmeyle ilgileniyorum. … Problem çözmenin rolünün matematikçi olmayanlar tarafından anlaşılmaması ve dışarıdakiler tarafından yeterince takdir edilmemesi şaşırtıcı değildir … (ancak) son zamanlarda, bu anlayış ve takdir eksikliğinin, bölümünüzden bir üyenin terfisinin reddedilmesine yol açtığını duydum. Burada ciddi bir ilke meselesi söz konusudur …

Problemler, bilimin ilerlemesinde ve öğretiminde vazgeçilmez bir rol oynar … Problemler, matematik öğretiminin her düzeyinde önemli bir rol oynar. … Problem çözme, bir matematikçi için tamamen kabul edilebilir ve saygın bir faaliyettir ve onun öğretimini olumlu yönde etkileyebilir.

… Eğer duyduğum doğruysa ve meslektaşınızın terfisi, “yalnızca” problem çözdüğü ve yayın yapmadığı için reddedildiyse, böyle bir karar akılsızca ve adaletsizdir.

Gerçekte, Polya’nın söylediği gibi, problem çözme yalnızca bilimin ilerlemesi ve öğretiminde değil, tüm insan bilgisinin ilerlemesi ve öğretiminde ve sayısız insanın günlük faaliyetlerinde de temel bir rol oynar.

Bilgisayarlar kuşkusuz problemleri çözer. Bunu, insanların daha önce hiç mümkün olmayan ölçüde gerçekleştirebileceğinden çok daha büyük bir ölçekte yaparlar.

Bilgisayarlar sayesinde, insanların gerçek dünya ve onun neredeyse tüm şaşırtıcı yönleri üzerindeki gücü önemli ölçüde artmıştır. Çünkü bir bilgisayar, motorlu bir kitap gibidir—bilgiyle doldurulmuş bir motor; akıl yürütebilen, seçim yapabilen ve diğer makineleri harekete geçirebilen bir motor.

Bir probleme yanıt tahmin etmek veya varsaymak yerine, bir bilgisayar yanıtı hesaplayabilir. Bir uzay aracının küçük bir enerji bütçesiyle yönlendirilmesi, imkânsız olmaktan mümkün olmaya dönüşür. Milyonlarca uzun mesafe telefon görüşmesinin eşzamanlı iletimi, imkânsız olmaktan mümkün olmaya dönüşür.

Ve bilgisayarlardan önce bir sigorta şirketinde, bir bankada ya da bir ofiste basit büro işleri yapmak üzere işe alınacak olan tüm bu insanlar artık işe alınmaz—ancak başka işler yapmak üzere kullanılabilir hâle gelirler.

2. Yanlış Yanıtlar

Ancak ne yazık ki bilgisayarlar (programlanmış bilgisayarlar), günümüzde yalnızca çok sayıda doğru yanıt değil, aynı zamanda birçok yanlış yanıt da üretmektedir. Bu yanlış yanıtlar, doğru yanıtların çok altında bir sayıda olsalar da, bilgisayarların gücüne karşı hayal kırıklığı, güvensizlik ve inançsızlık doğurur. Ayrıca kötü bir üne yol açarlar.

Bu durum, insanların bir bilgisayarı hata yaparken “yakaladıklarında” duydukları sevinçle daha da pekişir.

Daha açık bir ifadeyle, yanlış yanıtlar düzenli olarak bilgisayarların kendileri tarafından değil, şu nedenlerle üretilmektedir:

  1. İnsanlar tarafından sağlanan yanlış bilgisayar verileri
  2. İnsanlar tarafından geliştirilen yanlış bilgisayar programları

Ancak insanlar hataların sorumluluğunu kolay kolay kabul etmez; bunun yerine, köklü bir insan alışkanlığı olarak suçu başkasının omuzlarına yükler ve bilgisayarı suçlarlar. Birinin dediği gibi:

“Hata yapmak insana mahsustur, ama affetmek şirket politikasına aykırıdır.”

Bazı yanlış yanıtlar o kadar saçmadır ki, en ufak bir sağduyuya sahip hiçbir memur bunları yanıt olarak önermeyi aklından bile geçirmezdi. Bunlar esas olarak, bilgisayarlar ile gerçek dünya arasındaki arayüzde meydana gelen insan hatalarından kaynaklanır.

Örneğin, satışları artırmaya yönelik bir kampanya, aynı alıcıya hitaben iki, üç ya da dört özdeş mektup postalar. Bu açık bir israftır; ayrıca alıcı için ciddi bir rahatsızlık kaynağıdır ve kampanyaya olumsuz tepki verilmesine yol açar.

Benim durumumda, “L. M. Clarke, Laurence Clark, L. Clerk, Lawrence Clerke” vb. adlara hitaben postalar aldım; bunların hepsi bir şekilde yanlıştı.

Bir başka örnek, bir perakende mağazası bilgisayarının, üç ay boyunca vadesi gelmiş bakiyesi olan 0,00 $’ı ödemediği gerekçesiyle bir müşteriyi alışverişi veresiye yapma ayrıcalığını kaybetmekle tehdit etmesidir.

Bir diğer örnek ise, bir alacaklı numarasının yanlış kopyalanması sonucu 11.940 $ tutarının yanlış alacaklıya ödenmesidir. Bu sayıdaki rapora bakınız.

3. Hatalar

Şimdi bilgisayar hatalarının tüm sınıfına bir göz atalım: donanım arızalarından kaynaklanan görece küçük bir hata sınıfı ve bilgisayarlar ile gerçek dünya arasındaki arayüzde insan kaynaklı işlev bozukluklarından doğan büyük bir hata sınıfı.

Dikkatimizi bazı önemli sorulara yöneltelim:

  1. Hataların nedenleri nelerdir? (Nedenler)
  2. Otomatik hata önleme nedir? (Tanım)
  3. Hatalar otomatik olarak nasıl tespit edilebilir? (Tespit)
  4. Tüm (ya da neredeyse tüm) hataların önlenebileceği şekilde bir bilgisayar programlamak mümkün müdür? (Hatasız Programlama)
  5. Tüm (ya da neredeyse tüm) veri giriş hatalarının önlenebileceği şekilde bilgisayara veri sağlamak mümkün müdür? (Hatasız Veri Girişi)
  6. Hata önleme otomatik olarak nasıl işleyecektir? (Teknik)
  7. Otomatik hata önlemenin faydaları maliyetleri aşacak mıdır? (Maliyet ve Faydalar)

4. Hataların Nedenleri

101 hata nedeninden oluşan bir liste Tablo 2’de gösterilmektedir; bu tablo, bu sayıda yayımlanan The Computer Almanac and Computer Book of Lists dizisinin 800302 numaralı listesiyle aynıdır.

Bu liste elbette tek değildir; çünkü farklı kişiler çok sayıda farklı liste oluşturacaktır.

Ancak her hâlükârda, burada birçok yaygın hata nedeninin bir listesi yer almaktadır. Bunların dikkatli bir listesini yapmanın bir avantajı vardır; çünkü bu, kişinin zihninde üzerinde düşünülmesi ve tartılması gereken çok sayıda hata olasılığını (ve olasılığını) öne çıkarır.

5. Otomatik Hata Önleme

Otomatik hata önleme, elbette, hataların otomatik yollarla önlenmesidir; otomatik yollar ise donanım ya da yazılımdan oluşan, insanlardan oluşmayan bir makine ya da aygıtı ifade eder.

Örneğin, bilgisayardan geçen her karakterin aşağıdaki gibi dokuz bitten oluşan bir diziyle temsil edildiğini varsayalım:

Bit Dizisi Harf
111 000 001 A
111 000 010 B
011 000 011 C
111 000 100 D
011 000 101 E

Bilgisayarın, her aktarım anında, bu karakterdeki bit sayısının çift (çift parite belirtilmişse) ya da tek (tek parite belirtilmişse) olduğunu otomatik olarak denetlediğini varsayalım. O zaman bir bit bir devre arızası yaşarsa, olması gereken 1 yerine 0 ya da olması gereken 0 yerine 1 olur. Bu durumda parite bozulur ve makine bir alarm verir.

Bu durumda, en sağdaki sekiz bit bilgiyi taşır; soldaki dokuzuncu bit kontrol hanesidir ve 1’den 0’a ya da 0’dan 1’e tek bir devre arızasının meydana gelmediğini doğrular.

Bu, bir karakteri ifade eden görünmez mikroskobik manyetik ya da elektronik sinyal deseninin neredeyse kesinlikle doğru olmasını garanti altına almak için basit ve uzun süredir kullanılan bir tekniktir. Ayrıca bu, otomatik hata tespiti ve otomatik hata önlemenin mükemmel bir örneğidir.

Bu örnek, çok daha geniş bir ölçekte otomatik hata önlemenin geleceği için parlayan bir işaret gibi durmaktadır.

6. Ofis Uygulamaları Alanı

Şimdi, otomatik hata önlemeyi incelerken, araştırmamızın bu aşamasında bilgisayarların tüm uygulama alanlarını daraltarak ofis uygulamaları alanına odaklanmak makuldür.

Bunun nedenleri şunlardır:

  1. Muhtemelen tüm hataların büyük çoğunluğu ofis işlerindeki hatalarla temsil edilmektedir.
  2. Muhtemelen tüm bilgisayar uygulamalarının hacim olarak yüzde 80’inden fazlası ofis işlerine yönelik uygulamalardır.
  3. Muhtemelen gerçek dünyadan bilgi toplayıp bunu bilgisayarlara giren en büyük insan kitlesi burada bulunmaktadır.
  4. Bilgisayarlaştırılmış ofis çalışmalarındaki çok sayıda insan hatası basında dikkat çekici biçimde yer almaktadır.

Yeniden, Tablo 1’de (Liste 800301) ofis uygulamalarının miktarına ve çeşitliliğine bakınız.


COMPUTERS and PEOPLE, Mart–Nisan 1980, s. 23

Bilgisayarlar alanında, bazı araştırmacılar şimdiden otomatik hata önlemeyi düşünmekte ve bu yönde çalışmaktadır. En ilginç gözlemlerden biri, Illinois Üniversitesi Urbana kampüsünden D. L. Waltz tarafından ifade edilmiştir /3/:

Bilgisayarların, herhangi bir özel bilgisayar dilinde eğitim almamış kişiler tarafından kullanılabilecek doğal dil sistemleriyle donatılması için zamanın olgunlaştığını düşünüyoruz. Bu tür sistemlerin sıradan bir kullanıcı için değerli olabilmesi için, sistem basit hatalara tolerans göstermeli, bir dereceye kadar “sağduyu” barındırmalı, ele alınacak konu için görece büyük ve kapsamlı bir kelime dağarcığına sahip olmalı, çok çeşitli dilbilgisel yapıları kabul etmeli ve elbette kullanıcının talep ettiği bilgileri ve hesaplamaları sağlayabilmelidir.

Belirli türdeki mantıksız istekleri, gerçekten bir veritabanı araması yapmadan yakalamak istiyoruz.

Örneğin, “Geçen ay herhangi bir Skyhawk üç kereden fazla kaza yaptı mı?” isteği şüphelidir.

Bir soru bir sayıyla karşılaştırma içerdiğinde, bakım türleri, gerçek arıza sıklıkları ve belirli olayların—örneğin kazaların—genellikle belirli bir uçak için yalnızca bir kez meydana geldiği bilgileri gibi unsurlar için basit tablolar kullanılarak istek formuna bir kontrol eklenebilir.

Ancak mevcut amacımız için, otomatik hata önlemeye ilişkin incelememizi az önce belirtilen çok sayıdaki yolun tümüne genişletmemize gerek yoktur: doğal dil sistemleri; veritabanlarına yöneltilen soruların ifade edilişi; konuya ait “büyük ve kapsamlı bir kelime dağarcığı”; vb.

Bununla birlikte, şunları incelemek önemlidir:

  1. Dikkate alınan ya da alınması gereken değişkenler.
  2. Değişkenlerin değer aralıkları.
  3. Her bir değişkenin değerlerinin “alışkanlığı”; örneğin minerallerin incelenmesinde, bir mineralin kristal biçimlerinin alışkanlığından söz edilir; örneğin kuvars, kristallerinin altıgen prizma yan yüzlerinde yatay çizgilenmeler alışkanlığına sahiptir.
  4. Değişkenlerin değerlerini ifade etmek için gerekli olabilecek karakter ya da rakamların niteliği ve sayısı.
  5. Değişken değerlerinin, diğer değişkenlerin diğer değerleriyle olan korelasyonları.

Örneğin, bir günün normal sıcaklık değeri, günün saati, yılın mevsimi ve bulunduğu yerin enlemi ile yüksek derecede ilişkilidir.

Günün sıcaklığı, güneş gökyüzünde yükseldikçe artma, güneş batarken düşme, öğleden sonra iki ile üç arasında en yüksek olma ve şafaktan hemen önce en düşük olma eğilimindedir.

Bildirilen sıcaklığın davranışı bu örüntüden büyük ölçüde farklıysa, bir hata şüphesi için bazı gerekçeler ve rapora duyulan güvenin azalması için belli bir neden vardır.

Aynı durum, diğer değişkenler ve değişkenlerin diğer davranış örüntüleri için de geçerlidir.

Bu tür durumlarda, bir nedeni raporlamak ya da özel bir doğrulamayı belirtmek için özel bir etiket göstermek arzu edilir.

Örneğin, gündelik dilde, özgün metinden kopyalanmış yanlış bir yazımı işaretlemek için bir cümlede “sic” bulunabilir ya da bir telgrafta ya da askerî emirde “not repeat not” ifadesi kullanılabilir.

8. Ofis İşlemlerinde Değişkenler

Değişkenlerin birçok yönü, bir bilgisayar programının üretiminde rutin olarak dikkate alınır ve bunlardaki olası hatalara rutin olarak karşı önlemler alınır.

Ancak bir sistem analisti ya da bilgisayar programcısının, hiç düşünmediği bir olasılıkla ya da bir şirketin işinin ayrıntılarını çok az anladığı bir durumda başa çıkması zordur.

Bu sayıda yayımlanan The Computer Almanac and the Computer Book of Lists’in mevcut bölümünde yer alan Liste 800303 ile aynı olan Tablo 3, “Ofis İşlemlerinde Değişkenler”e bakınız.

Bir toptancıdan, ona John Jones and Co. diyeceğimiz bir firmadan, bir müşteri tarafından, ona da Samuel Smith diyeceğimiz bir kişi tarafından sipariş edilen stok kalemlerini dolduracak bir bilgisayar sistemi tasarladığımızı varsayalım.

Ortaya çıkabilecek durumlardan biri basit olandır: ürün stoktadır ve sipariş edilen miktar stoktaki miktardan azdır; bu durumda sipariş hızlı ve kolay bir biçimde karşılanır.

Bir başka durum, ürünün stokta olmamasıdır; bu durumda Smith’e, ürünün stokta olmadığını bildiren ve ayrıca Jones and Co.’dan ne kadar sürede temin edebileceğini söyleyen bir mesaj gereklidir; çünkü satışı kaybetmek istemezler.

Bu mesaj, çok sayıda değişkene bağlıdır: olası tedarikçiler; Smith’in ne kadar istediği; Jones’un çeşitli müşterilerinin bu ürüne olan talepleri; ekonomik yeniden sipariş miktarı; Jones’a teslimat için gereken süreler; vb.

Üçüncü bir durum ise, Jones’un, örneğin daha yeni bir model nedeniyle stok kaleminin üretimden kalkmakta olduğunu öğrenmiş olmasıdır; ancak Jones, Smith’in eski modeli sevdiğini ve iyi bir müşteri olduğunu bilmektedir (ya da bilgisayarlı sistem bunu ona bildirecektir) ve Jones, stokları kapatmak için Smith’e bu üründen daha fazlasını, belki de alışılmadık derecede uygun bir fiyattan satmayı teklif edebilir.

Çünkü tüm bu eylemler, Smith’i memnun, hoşnut ve hatta mutlu bir müşteri olarak elde tutmak açısından Jones and Co.’nun yararınadır.

Tablo 3’te ofis işlemlerinde yer alan 160 değişkenin bir listesi bulunmaktadır ve bunlar hepsi değildir.

İyi bir sistem tasarımının boyutları baş döndürücüdür ve farklı sistem tasarımcılarının, her biri birçok üstünlüğe ve bazı kusurlara sahip farklı sistemler üretmesi pek de şaşırtıcı değildir.

Listeyi gözden geçirdiğimizde, ofis işlemlerini etkileyen değişkenlerin genel alanı son derece açık hale gelir.

Ofis işlemlerindeki değişkenlerin sayısı, sıradan matematik problemlerindeki sıradan değişken sayısını çok aşar.

Bu durum, meseleyi sıradan matematik problemlerine kıyasla çok daha ilginç ve çok daha karmaşık hale getirir.

Ofis işlemlerindeki değişken türleri de sıradan matematik problemlerindeki değişken türlerinden fazladır ve bu da durumu sıradan matematik problemlerine göre daha ilginç, daha karmaşık ve daha talepkâr kılar.

Ofis işlemlerinde önemli değişken türleri şunları içerir:

  • Tamsayı, sayısal;
  • Gerçek sayı, sayısal, ayrıca kayan nokta olarak da adlandırılır;
  • Gerçek sayı, ondalık; örneğin iki ondalık basamaklı 13.94;
  • Boolean ya da 0 ve 1, ya da doğruluk değerleri;
  • Dize ya da alfasayısal; örneğin BUTTERFIELD 8 2357;
  • Değeri dizeler olan dize değişkenleri; örneğin Eyalet değişkeninin Maine, Maryland, Mass., Michigan, Mississippi, Missouri gibi değerleri; vb.

Bu karmaşıklık, sıradan matematikçi için zarafetsizlik ve genel teoremleri kanıtlayamama anlamına gelir; bu nedenle genellikle Riemann yüzeyleri ve Banach uzayları yönüne gitmeyi tercih eder.

Ancak sistem analistlerine olan talep çok daha fazladır.

Bu durum ayrıca, insanlar için değişkenlerin dikkatli ve çağrışım uyandırıcı biçimde adlandırılmasının önemine ve (insan zihni açısından) Dartmouth BASIC’te olduğu gibi, standart değişkenlerin B2 ve H7 olduğu ve dize değişkenleri için yalnızca $ eklendiği iki karakterle onları belirtmeye çalışmanın düpedüz saçmalığına işaret eder.

Ama elbette Dartmouth BASIC, ofis işlemleri için tasarlanmamış ve bu amaçla düşünülmemiştir.

9. Hataları Önlemek İçin Bilgi Kaynakları

Jones and Co.’nun Samuel Smith’e bir siparişi teslim etmesini etkileyebilecek ya da değiştirebilecek tüm koşullar ve etmenler hakkında bilgiyi nereden elde ederiz? Ve bir bilgisayarın uygulandığı ya da uygulanabileceği diğer ofis işlemlerini yöneten tüm koşullar ve etmenler hakkında?

Bu bilgi temelde dört kaynaktan gelir:

  1. Ofis Prosedürleri: Bilgisayar sisteminin kurulduğu ya da kurulacağı bölümde çözülmesi gereken sorunlar kümesine uygulanan mevcut şirket prosedürleri.

  2. Genel Bilgi, genelleştirilmiş deneyim ve dikkat dâhil olmak üzere; örneğin işte on yıllık deneyime sahip bir memurun edindiği türden bilgi.

Çoğu zaman bu bilgi, bilinçte oldukça derinlere gömülüdür; çünkü zihinden ancak bir soru ya da bir örnekle uyarıldığında ortaya çıkar; aksi halde bilinçli ve sistematik olarak hatırlanmaya açık değildir.

Beş yaşında öğrenilen ve daha sonra, yapma alışkanlığı dışında tamamen unutulan ayakkabı bağcıklarını bağlama bilgisine benzer.

Memurlar bu prosedürleri doğal kabul ederler—“Ah, işleri böyle yaparız”—ama bunu tanımlayacak pek sözleri yoktur; bu nedenle bilgisayar da, programlamada hatırı sayılır bir çaba olmadan, bunu bilemez.

  1. Şirket Politikası: Bir şirketin iş yapma biçimleri hakkında aldığı ya da kullandığı kararlar; örneğin müşterilere, hissedarlara ya da üst yönetime yönelik şirket tutumları; yıllık beyannamede kuruş mu dolar mı kullanılacağı; vb.

  2. Problem Çözme İlkeleri: Şirketin problem çözme ilkeleri konusunda yaptığı seçimler; örneğin geri besleme denetimi (bir şey dene, öğren, düzelt ve yeniden dene); ya da patrona (ya da bir uzmana) danışıp onun söylediğini yapmak; vb.

Bunlar, bilgisayar programının ilk kez tasarlanıp oluşturulmasında kullanılan geniş kapsamlı bilgi kaynaklarının aynısıdır.

Ancak çok daha geniş bir olasılıklar yelpazesinde hataları önlemek için dikkatli düzenlemeler yapmak, ideal bir bilgisayar programına ikinci ve daha iyi bir yaklaşım gibidir.

9.1 Ofis Prosedürleri

Bu, bilgisayar programlamasının ve “hatasız” çalışmanın düzenli ilk kaynağıdır: belirli bir iş bölümünde, mevcut zamana kadar şirketin uyguladığı, hatadan arındırılmış iş yapma biçimleri, uygulamalar ve prosedürler.

Bilgi şu kaynaklardan gelir: büro işlerini yapan kişiler; işi denetleyen kişiler; işin gerçek örnekleri ve açıklamaları; bölüm kural kitapları; bölümün tuttuğu emsal ya da karar dosyası; ve belki başka bazı kaynaklar.

Olağan değişkenleri ve ara sıra ortaya çıkan değişkenleri ve alınan eylemleri üreten kuralları belirlememiz gerekir.

Örneğin, siparişlerin karşılanmasında, birçok şirket sipariş karşılama sürecinde “takvim yılının zamanı” değişkenine ihtiyaç duymaz.

Ancak yalnızca serin ama don olmayan havalarda sevk edilebilen mallar vardır; genellikle Nisan, Mayıs, Eylül, Ekim aylarında; ve bu değişken çiçekçiler, yetiştiriciler, tohum satıcıları vb. tarafından dikkate alınmalıdır.

9.2 Genel Bilgi, Deneyim ve Dikkat

Otomatik hata önleme için ikinci ana bilgi kaynağı genel bilgidir—dış dünyanın çok yönlü, kaleydoskopik, gerçek dünyasına dair bilgi.

Bu bilgi şu başlıklar altında toplanır:

  • Genel bilgi ve sağduyu (hata meydana gelmeden önce görülmesi çok zor, hata olduktan sonra görülmesi çok kolay olan “aşikâr” kategorisi dâhil);
  • Mantık, matematik, istatistik, olasılık ve her yerde ya da neredeyse her yerde uygulanabilen diğer kodlanmış ve sistematik bilgi dalları;
  • Duyusal izlenimleri standart nesneler, olaylar ve süreçler olarak yorumlayan ve onlara adlar atayan dikkatli gözlem ve algı (örneğin, bir kültürün yüzyıllar boyunca gelişen anlayışıyla Akşam Yıldızı ve Sabah Yıldızı’nı Venüs gezegenine dönüştüren davranış);
  • Dikkat: özen, temkinlilik ve yargı; tartma ve değerlendirme ile karar verme ve eylemi dengeli biçimde birleştiren ölçülü bir karışım.

Programcının genel bilgi birikimi varsa ve bunun ele aldığı durumda nasıl işleyeceğini biliyorsa, bir bilgisayarı genel bilgiyle programlamak zor değildir.

Örneğin aritmetikte, bir programcı sıfıra bölmenin özel bir durum olduğunu bilir.

Aritmetiğin sıradan işlemleri yeterli olmaz ve sıfır durumunu ele almak için özel bir kuralın devreye sokulması gerekir.

Zaman paylaşımlı bir bilgisayar sisteminde, arada sırada bir kullanıcının sıfıra bölmeye ya da bir milyarı bire çok yakın bir sayıya bölmeye çalışması muhtemeldir.

Zaman paylaşımlı sistem bu tür bir durumu saptamalı, ardından o programı merkezi işlem biriminden bir dosyaya boşaltmalı ve kullanıcıya, neredeyse sonsuz bir komut döngüsünün programının durmasına neden olduğunu bildirmelidir.

Genel problemde, genel bilgiyi kullanacak ve ona göre hareket edecek bir bilgisayarı programlarken şunlar önemlidir:

  • Bir değişken, parametre ya da işlem içinde ortaya çıkan ve o değişkenle başa çıkmak için dikkate alınması gereken tüm durumları fark etmek ve belirlemek;
  • O problemde dikkate alınması gereken tüm koşulları ya da değişkenleri belirlemek;
  • Bu durumlar ya da koşullarla başa çıkmak için genel bilgi ve deneyimden gelen bilgileri uygulamak;
  • Problemin bağlamından kaynaklanan değişkenler ve değerler arasındaki korelasyonları dikkate almak; böylece oldukça tuhaf ve hatta inanılması güç durumlara ekstra dikkat gösterilmesini sağlamak.

9.3 Şirket Politikaları

Şirket politikası, otomatik hata önlemeyi etkiler.

Bu politikalar, bir şirketin iş yapma biçimleri hakkında aldığı kararlardan oluşur.

Bunlar arasında, örneğin bir istasyonda otobüs bekleyen insanlara nasıl davranılacağına ilişkin kararlar yer alır.

Sigara içenler ve içmeyenler için ayrı alanlar olacak mı?

Otobüs bekleyen her kişinin normalde bir oturma yeri olacak mı?

Ya da bir bisküvi üreten şirkette alınan kararlar:

Ambalaj opak olduğunda şirket bisküvi kutularını gevşek mi dolduracak, ama yarı saydam olduğunda tamamen mi dolduracak?

Ya da bir tekelde alınan kararlar:

Rakiplerin neredeyse hiç olmadığı durumlarda müşterilere uygulanan fiyat çok mu yüksek olacak, rekabet olduğunda ise herhangi bir rekabetçi fiyattan çok daha mı düşük olacak?

Bir şirket, hataların yüzde 90’ını kendi lehine, yüzde 10’unu müşterileri lehine olacak şekilde kasıtlı olarak gizlediğinde, otomatik hata önleme eğrilir, çarpıtılır ve temelde dürüst olmaktan çıkar.

9.4 Problem Çözme İlkeleri

Bir şirketin problem çözme ilkelerini seçmesi, bilgisayar programlarının niteliğini ve otomatik hata önleme derecelerini belirlemede bir başka önemli etkendir.

Bu sayıda yayımlanan The Computer Almanac and the Computer Book of Lists’in mevcut bölümünde yer alan Liste 800304 ile aynı olan Tablo 4’e bakınız.

Bu tablonun başlığı “Ofis İşlemlerinde Problem Çözmek İçin 27 İlke”dir.

Computer Book of Lists’in editoryal bakış açısına uyum sağlamak için bu ilkelerin bazıları ciddidir, bazıları ise yarı ciddidir.

Ancak bu ilkelerin tümü sıkça kullanılır; bazı şirketlerde bazıları, diğer şirketlerde diğerleri.

Ve hatalar üzerinde kayda değer etkileri vardır.

10. Geleceğe Bakış

Elbette, hataları otomatik olarak önlemek için bir bilgisayar programının cephaneliğine çeşitli önemli bilgi dallarını dâhil etmek emek gerektirir.

Genel bilgi, bir bilgisayar programına dâhil edilecek en büyük alanlardan biridir.

Ofis işlemleri durumunda bu, şunlar hakkındaki tüm sıradan günlük bilgileri kapsar: kişi adları; şirket adları; adresler; kuruluşların büyüklükleri; zamanın yaygın adlandırmaları—saniyeler, dakikalar, saatler, günler, haftalar, aylar, yıllar; para birimleri; ekipman sınıfları; ve çok daha fazlası.

Bir lise mezununun kelime dağarcığının (yani yaklaşık 20.000 kelimenin) yaklaşık üçte ikisinin genel bilginin bir yönüne atıfta bulunduğunu ya da onu raporladığını tahmin ediyorum.

Ancak birkaç hafifletici etmen vardır.

Birincisi, bir ofisteki bir bölüm için bilgisayar programının uygulanacağı bağlam sınırlıdır.

İkincisi, bilgisayar programındaki birçok gerekli değişken, bunlarla doğru şekilde başa çıkmak için kaçınılmaz olarak genel bilginin bazı yönlerini gerektirecektir.

Ayrıca, genel bilginin alanının yalnızca bir kez incelenmesi ve sistematik hale getirilmesi gerekir.

Örneğin, sıcaklık bir değişkense, yeryüzünde hiçbir sıcaklık (Fahrenheit cinsinden) sıfırın 80 derece altından daha soğuk ya da sıfırın 170 derece üstünden daha sıcak olamaz.

Ya da hiçbir uçak bir kereden fazla düşemez.

Ya da iyi bir müşteri, tekrar tekrar borcunu zamanında ödüyorsa, tekrar tekrar geç ödeyen kötü bir müşteriyle aynı mesajlar dizisine maruz bırakılmamalıdır. Vb., vb.

(1) ofis prosedürleri, (2) genel bilgi, deneyim ve dikkat, (3) şirket politikaları ve (4) problem çözmek için uygun ilkeler, hataları önlemek üzere bir bilgisayar programına dâhil edildikten sonra, otomatik hata önleme uygulanabilir, makul ve pratik hale gelir.

Günümüzde bu kulağa hayalci ve idealist gelebilir; on iki yıl içinde ise gerçekçi olmalıdır. Kesinlikle imkânsız değildir.

Bir bilgisayarın, sıfıra bölmeye çalışırken şaşkına dönmeyeceği gibi, yanlış bir yanıtın da artık çıktıya verilmesine izin vermeyeceği zaman gelmektedir.

Ve eğer yanlış bir yanıt üretilirse, örneğin kasıtlı bir insan müdahalesiyle com


The Computer Almanac and Computer Book of Lists

Komut doğruysa, bilgisayar ayrıca bir sistem sorumlusuna yönelik uygun bir mesajla birlikte doğru bir yanıt da üretecektir.

Gerekli tüm bilgisayar kapasiteleri mevcuttur. Bir yanıtın yarım düzine bağımsız doğrulama testinden herhangi biri başarısız olursa, ikinci bir bilgisayar programı bağımsız olarak yanıtı yeniden hesaplamak ve doğrulamak üzere çağrılabilir.

Kaynaklar

  1. "Bilgisayarların ve Veri İşlemenin 2600'den Fazla Uygulaması", Linda Ladd Lovett tarafından, Berkeley Enterprises Inc. tarafından yayımlanan 1974 Computer Directory and Buyers' Guide içinde, 815 Washington St., Newtonville, Mass. 02160.
  2. Editöre mektup, Dr. George Polya tarafından, Emekli Profesör, Stanford Univ., Palo Alto, Calif., American Mathematical Monthly dergisinde yayımlandı, Ocak 1973.
  3. "Büyük Bir Veri Tabanına Doğal Dil Erişimi", D. L. Waltz tarafından, Univ. of Illinois, Urbana, Ill., Computers and People dergisinde yayımlandı, Nisan 1976.

Cohen — 11. sayfadan devam