Gayri Resmi Yöntemler (Doğrulama ve Doğrulama) - Informal Methods (Validation and Verification)

[1]Doğrulama ve doğrulama hakkında daha fazla bilgi için bkz. Doğrulama ve onaylama.

Resmi olmayan doğrulama ve doğrulama yöntemleri, modelleme ve simülasyonda daha sık kullanılan yöntemlerden bazılarıdır. Gayri resmi olarak adlandırılırlar çünkü niceliksel olmaktan çok niteldirler.[2] Pek çok doğrulama veya doğrulama yöntemi sayısal sonuçlara dayanırken, gayri resmi yöntemler bir sonuca varmak için uzmanların görüşlerine güvenme eğilimindedir. Sayısal sonuçlar birincil odak olmasa da, bu sayısal sonuçların tamamen göz ardı edildiği anlamına gelmez. Gayri resmi bir yöntemin seçilmesinin birkaç nedeni vardır. Bazı durumlarda, gayri resmi yöntemler, bir modelin doğrulanabilir olup olmadığını görmek için hızlı test kolaylığı sunar. Diğer durumlarda, resmi olmayan yöntemler mevcut en iyi seçenektir. Her durumda, ancak gayri resmi olmanın gerçek bir test yöntemi olduğu anlamına gelmediğini belirtmek önemlidir. Bu yöntemler, "biçimsel" yöntemlerde beklenebilecek aynı disiplin ve yapı ile gerçekleştirilmelidir. Bu şekilde yürütüldüğünde sağlam sonuçlar çıkarılabilir.[3]

Modelleme ve simülasyonda, modelin durumunu analiz etmek için doğrulama teknikleri kullanılır. Doğrulama, yürütülebilir modelin farklı yönlerini kavramsal model ile karşılaştırmaya odaklanarak farklı yöntemlerle tamamlanır. Öte yandan doğrulama yöntemleri, kavramsal veya çalıştırılabilir bir modelin, modellemeye çalıştığı durumla karşılaştırıldığı yöntemlerdir. Her ikisi de, kullanılan modelleme yöntemlerinde kusurları veya gerçek yaşam durumunun olası yanlış temsillerini bulmaya yardımcı olmak için modelin analiz edilebileceği yöntemlerdir.

Muayene

Genel Bakış

İnceleme, kavramsal modelin çalıştırılabilir modelle ne kadar doğru eşleştiğini karşılaştırmak için kullanılan bir doğrulama yöntemidir. Uzman ekipler, geliştiriciler ve test uzmanları orijinal kavramsal modeldeki içeriği (algoritmalar, programlama kodu, belgeler, denklemler) kapsamlı bir şekilde tarayacak ve yürütülebilir modelin ne kadar yakın eşleştiğini doğrulamak için uygun muadili ile karşılaştıracaktır.[2] Bu doğrulama yönteminin temel amaçlarından biri, hangi orijinal hedeflerin göz ardı edildiğini görmektir. Ekip, model üzerinde bir inceleme kontrolü yaparak sadece hangi sorunların gözden kaçmış olabileceğini görmekle kalmaz, aynı zamanda projenin ilerleyen bölümlerinde sorun haline gelebilecek olası kusurları da yakalayabilir.[1]

Mevcut kaynaklara bağlı olarak, denetim ekibinin üyeleri model üretim ekibinin bir parçası olabilir veya olmayabilir. Tercihen ayrı gruplar olacaktır. Aynı gruptan olduklarında, potansiyel olarak olayların gözden kaçtığı sorunlarla karşılaşabilirsiniz, çünkü grup üyesi projeye üretim açısından bakmaya çoktan zaman harcamıştır. Denetimler, geçici veya yüksek düzeyde yapılandırılmış olabileceğinden daha esnektir; denetleme ekibinin üyeleri, moderatör, okuyucu ve kaydedici gibi belirli roller ve denetimde kullanılan özel prosedür adımları atanır. Müfettişlerin amacı, kavramsal model ile yürütülebilir model arasındaki kusurları bulmak ve belgelemektir.[2][4]

Muayene Örnekleri

  • [Schach, 1996] 'dan aşağıdaki örneği düşünün.

Bir simülasyon tasarımını inceleyen ekip bir moderatör içerebilir; bir kaydedici; tasarım sürecini açıklayacak ve tasarımla ilgili soruları yanıtlayacak simülasyon tasarım ekibinden bir okuyucu; Tasarımı yürütülebilir bir forma çevirecek olan Geliştirici temsilcisi; Uygulamanın gereksinimlerine ve V&V Temsilcisine aşina olan KOBİ'ler.

· Genel Bakış — Simülasyon tasarım ekibi, tasarımın bir özetini hazırlar. Bu ve ilgili dokümantasyon (örneğin, problem tanımı ve hedefleri, M&S gereksinimleri, teftiş gündemi) teftiş ekibinin tüm üyelerine dağıtılır.

· Hazırlık — Denetim ekibi üyeleri sağlanan tüm belgeleri ayrı ayrı inceler. Denetimin başarısı, büyük ölçüde ekip üyelerinin hazırlıklarındaki vicdanlılığına bağlıdır.

· Teftiş - Moderatör teftiş toplantısını planlar ve yönetir. Okuyucu ürünü sunar ve ekibi denetim sürecinde yönlendirir. Denetim ekibine, hata bulma sürecinde bir kontrol listesi ile yardımcı olunabilir. Amaç sorunları tespit etmek, düzeltmek değil. İnceleme sonunda kayıt cihazı, tespit edilen sorunların bir raporunu hazırlar ve tasarım ekibine sunar.

· Yeniden Çalışma — Tasarım ekibi, tüm yanıtları ve düzeltmeleri belgeleyerek raporda tanımlanan her sorunu ele alır.

· Takip — Moderatör, tüm hataların ve sorunların tatmin edici bir şekilde çözülmesini sağlar. Bir düzeltme sonucunda yeni sorunların ortaya çıkmadığından emin olmak için tüm değişiklikler dikkatlice incelenmelidir.[5]

Yüz Doğrulama

Genel Bakış

Flickr - Resmi ABD Donanması Görüntüleri - Denizciler, MQ-8B Fire Scout uçuş simülatörünü medyaya gösteriyor.

Yüz doğrulamanın faydalarından biri, kullanıcı ve simülasyon arasındaki etkileşimin öncelikli olduğu gerçek zamanlı bir sanal simülasyon sırasında etkili bir şekilde kullanılabilmesidir. Bu tür simülasyonlar sırasında etkilidir, çünkü bu tür modeller kullanıcıdan girdi / etkileşim gerektirir. Modelin kriterleri karşıladığını doğrulamanın en iyi yolu, model durumunu gerçek hayatta deneyimlemiş kullanıcıların, modelin aşina oldukları durumu doğru bir şekilde temsil ettiğini onaylatmaktır. Duruma aşina olan kullanıcılar, bir geliştiricinin varlığından asla haberdar olmayabileceği gerekli düzeltmeleri fark edeceklerdir. Bu tür doğrulama, sanal simülasyonlar için etkili ve en uygun olmakla birlikte, test için kısa bir süre planlandığında veya analiz edilebilecek kantitatif sonuçlar üretmenin zor olduğu durumlarda modelleri doğrulamak için de kullanılır. Nicel sonuçların tercih edilen sonuç olması gerekirken, profesyonellerden sağlam bir doğrulama hesabı da kabul edilebilir.[2]

Yüz Doğrulama Örnekleri

  • Bir uçuş simülatörünün kontrol girdilerine verdiği tepkinin doğruluğu, deneyimli bir pilotun simülatörü bir dizi manevradan geçirmesi ile değerlendirilebilir.[2]
  • Bir poker bot simülatörünün, A.I.'nin doğrulamak için kullanıcı girdisine verdiği yanıtın doğruluğunu analiz etmek. mantıklı bir şekilde tepki veriyor.
  • Bir askere, bir savaş durumunu simüle eden bir modeli test ettirmek.

Denetim

Genel Bakış

Denetim, yeni bir modelin veya simülasyonun geliştirme yaşam döngüsü boyunca veya eski modellere ve simülasyonlara yapılan değişiklikler sırasında gerçekleştirilen bir doğrulama tekniğidir. Denetim, "yönetimin gözü kulağı" olarak hizmet veren bir personel işlevidir. Bir modelin, belirlenen yönergelere ne kadar iyi uyduğunu belirlemek için bir denetim kullanılır. Bir denetim izi mevcutsa, modeldeki herhangi bir hata düzeltmeyi daha kolay bulmak ve yapmak için orijinal kaynağa kadar izlenebilmelidir. Sorunları kontrol etmek için toplantılarla ve denetim izi takip edilerek bir denetim gerçekleştirilir.[6]

Denetim Örnekleri

  • Bir denetimin en yaygın uygulaması, bir vatandaş "denetlendiğinde" görülebilir. Bunun tartışılan modelleme ve simülasyon yöntemlerine doğrudan bir uygulaması olmasa da, tartışılan süreci açıklar.

İzlenecek yol

Genel Bakış

İzlenecek yollar, gayri resmi yöntemlerin en çok zaman alan ve en resmidir. En çok zaman alan olsalar da, modelle ilgili sorunları tespit etmede en etkilidirler. Gözden geçirme yolu, modelden sorumlu yazar / yazarlar veya gözden geçirilmek üzere ayarlanmış belgelerle planlanmış bir toplantıdır. Yazarlara ek olarak, modeli analiz etmek için genellikle bir grup kıdemli teknik ve muhtemelen iş personeli vardır. Son olarak, toplantıyı yönetmekten sorumlu bir kolaylaştırıcı var. Resmi toplantıdan önce yazar / yazarlar, olası kozmetik hatalar için belgeyi / modeli inceleyeceklerdir. Bu gözden geçirildiğinde, toplantı izleyicisine iletilir, böylece toplantıdan önce tutarsızlıklar için kapsamlı bir inceleme şansı elde ederler. İzleyiciler, alandaki uzmanlıklarının yanı sıra sistem hakkındaki bilgilerine dayanarak sahip olabilecekleri herhangi bir soru veya endişeyi toplayacaktır. Toplantıda yazar, ana hatlarıyla belirtilen yöntemleri ve bulguları açıklayarak belgeyi izleyicilere sunacak. Kolaylaştırıcı, dinleyicilerden gelen soruları almaktan ve onları tehdit edici olmayan bir şekilde sunmaktan sorumludur. Kolaylaştırıcı, toplantının yapısına öncülük etmenin yanı sıra, daha sonra dağıtılmak ve yeniden analiz edilmek üzere hala kalan konuların notlarını alır.[1][4]

İzlenecek Yol Örnekleri

  • Yayınlanmak üzere göndermeden önce içeriği incelemek için oturan bir makalenin / kitabın yazarları.
  • Nihai ürün müşteri tarafından onay için gönderilmeden önce bir ürünü inceleyen bir yazılım geliştirme ekibi.

gözden geçirmek

Genel Bakış

Gözden geçirme, gözden geçirme ekibinin yönetimi de içermesi dışında, gözden geçirme veya incelemeye benzer. Gözden geçirme, simülasyon geliştirmenin tüm konsept hedeflerini içerecek şekilde yürütüldüğüne dair yönetime güvence sağlamak amacıyla, kılavuzların ve spesifikasyonların kapsamı dahil olmak üzere tüm model sürecine genel bir bakıştır. Odak noktası sadece teknik bir incelemeden daha fazlası olduğu için üst düzey bir yöntem olarak kabul edilir. Gözden geçirme süreci gibi, gözden geçirme sürecinde de toplantıdan önce gönderilen belgeler olmalıdır. Doğrulama ve Doğrulama temsilcisi ayrıca aşağıdaki tabloda listelenenler gibi ölçmek için bir dizi gösterge hazırlamalıdır.

Göstergeleri İncele:

  • problem tanımının ve M&S gereksinimlerinin uygunluğu
  • tüm temel varsayımların yeterliliği
  • standartlara bağlılık
  • modelleme metodolojisi
  • simülasyon gösterimlerinin kalitesi
  • model yapısı
  • model tutarlılığı
  • model bütünlüğü
  • dokümantasyon

Anahtar noktalar V&V Temsilcisi aracılığıyla vurgulanır. Olası sorunlar ve öneriler de dahil olmak üzere toplantı olayları gözden geçirme sonucunda kaydedilir. Bu sonuçlardan, yapılan noktaları ele almak için önlemler alınır. Eksiklikler ele alınır ve öneriler dikkate alınır.[4][7]

Masa kontrolü

Genel Bakış

Doğrulama ve doğrulama için en iyi teknik olmasa da, masa başı kontrolü yararlı olabilir. Bu, doğrulamanın ana sorumluluğunun modelin yazarına verildiği tek tekniktir. Masa kontrolü, yazarın herhangi bir tutarsızlığı yakalama çabasıyla modelde dikkatli bir şekilde adım atmasını içerir. Yazar, tüm orijinal belgeleri, notları ve hedefleri baştan sona okuyacak ve tamamlanmış ürünün yapmayı amaçladığı her şeyi doğru ve tam olarak modellediğini doğrulamaya çalışacaktır. Bu aynı zamanda herhangi bir eksikliğin yakalanması ve düzeltilmesi gereken zamandır. Sorumluluk yazara ait olmakla birlikte, bu yardım için diğer uzmanlara ulaşmak söz konusu değildir. Masa başı kontrolü, tartışılan gayri resmi yöntemlerin en az resmi olanıdır, ancak hataları yakalamada ve modeli doğrulamaya ve onaylamaya çalışırken genellikle iyi bir ilk savunma hattıdır.[1][8]

Masa denetimi örnekleri

  • Yazılım geliştiren herhangi bir programcı, masa kontrolü olarak bilinen gayri resmi doğrulama yöntemine katılır. Yazılım geliştirilirken hata ayıklama, bir çeşit masa kontrolüdür. Geliştirici, kavramsal modelde geliştirilen algoritmalarla eşleştiğini doğrulamak için kesme noktaları belirler veya modelden çıktıyı kontrol eder.

Turing testi

Genel Bakış

Turing testi 1950'lerde İngiliz matematikçi Alan Turing tarafından geliştirilen ve köklerinde özel bir yüz doğrulama biçimi olan gayri resmi bir doğrulama yöntemidir. Yüz doğrulamasının bir alt grubu olmasının nedeni, tüm insanların belirli bir durumda diğer insanların nasıl tepki vereceğini analiz etme konusunda "uzmanlar" olarak görülebilmesidir. Özellikle bu model, insan davranışını büyük ölçüde modellemeye çalışan durumları modellemek için en uygun modeldir. Böylesine karmaşık bir konuya çok fazla güvenen bir modelin sorunlara neden olabileceği görülebilir. Bu doğrulama yöntemi, insan kararını etkileyen faktörleri ve farklı insanlar arasındaki yüksek varyansı hesaba katmak için büyük ölçüde hesaplamaya dayalı olmaya çalışmak yerine, modelin çıktı verilerinin hangi kaynaktan geldiğinin farkında olmayan diğer insanlara - diğer insanlara nasıl göründüğüne odaklanır. veya model. Turing test modeli, çıktının, şanstan daha fazla bir oranda, modellenen durumda insan davranışı için beklenen çıktıyla eşleşip eşleşmediğini karşılaştırmaya dayanır.[2]

"İnsan davranış modellerinin doğrulanmasına uygulandığında, modelin Turing testini geçtiği ve bu nedenle uzman gözlemcilerin model tarafından oluşturulan ve insan tarafından oluşturulan davranışı güvenilir bir şekilde ayırt edemediği durumlarda geçerli olduğu söylenir. Çünkü sistem tarafından oluşturulan davranışın özelliği değerlendirildiğinde, insan tarafından oluşturulan davranıştan ayırt edilemeyen derecedir, bu test, algoritmik olarak üretilen davranışın gerçekçiliğinin değerlendirilmesiyle, belki de Turing'in başlangıçta önerdiği gibi zekadan daha fazla doğrudan ilgilidir. "[2]

Turing testi örnekleri

  • Cleverbot ilginç bir örnek. Cleverbot, sorulara cevap vererek ve cevaplardan öğrenerek insanlarla etkileşim kuran bir uygulamadır. Cleverbot'un testi en iyi bir Turing testi kullanılarak tamamlanır. Cleverbot ile etkileşim, kullanıcının, aslında sadece onlara yanıt veren bir kod olduğu gerçeğini ayırt edip edemeyeceğini veya bunun başka bir insan olduğuna inanıp inanmadığını analiz etmesini sağlar.
  • Poker strateji algoritmaları, bir kullanıcının yeni başlayan bir oyuncu ile poker botu arasındaki farkı söyleyemeyeceği bir dereceye kadar geliştirilmiştir. Temel poker stratejisi çok karmaşık olmasa da, gelişmiş bir stratejiyi tamamen kapsayacak şekilde bir sonraki seviyeye taşımak henüz ulaşılamamıştır.

Referanslar

  1. ^ a b c d Gerald D. Everett, Raymond McLeod, Jr. (2007). Yazılım Testi: Tüm Yazılım Geliştirme Yaşam Döngüsü Boyunca Test Etme. John Wiley and Sons. s. 80-99.
  2. ^ a b c d e f g Sokolowski, John; Banks, Catherine; Düzenleyen (2010). Modelleme ve Simülasyon Temelleri: Teorik Temeller ve Pratik Alanlar. Wiley. s. 340-345. ISBN  978-0-470-48674-0
  3. ^ Balcı, Osman; (1997) SİMÜLASYON MODELLERİNİN DOĞRULANMASI, DOĞRULANMASI VE AKREDİTASYONU 1997 Kış Simülasyon Konferansı Bildirileri
  4. ^ a b c Richards, Adrian; Branstad, Martha; Chervniasky, John; (2007). Bilgisayar Yazılımının Doğrulanması, Doğrulanması ve Test Edilmesi Computing Surveys, Cilt 14, Sayı 2, Haziran 1982
  5. ^ Schach, S.R., "Yazılım Mühendisliği (3. baskı), Irwin, Homewood, IL, 1996.
  6. ^ Perry, W., Yazılım testi için etkili yöntemler, John Wiley & Sons, NY, 1995.
  7. ^ "Doğrulama ve onaylama". Savunma Bakanlığı. Arşivlenen orijinal 2012-09-05 tarihinde. Erişim tarihi: 2006. Tarih değerlerini kontrol edin: | erişim tarihi = (Yardım)
  8. ^ Funes, Ana; Aristides, Dasso; Düzenleyen (2007). Yazılım Mühendisliğinde Doğrulama, Doğrulama ve Test. IGI. s. 150-170.