Software Verification and Validation
- Yasemin Gültepe
- 23 Eyl 2022
- 2 dakikada okunur

Doğrulama ve validasyon ya da başka bir deyişle geçerli kılma terimleri sıklıkla birbirine karıştırılsa da aslında hayatımızın her alanında, her ürün için gerçekleştirilmesi gereken süreçlerdir. Temel olarak doğrulama; ürün spesifikasyonlarının yerine getirildiğinin nesnel kanıtların sağlanması yoluyla teyit edilmesidir. Validasyon ise bitmiş ürünün; kullanıcı ihtiyaçlarını karşılayıp karşılamadığını belgeler. Kısaca; yazılım doğrulama ve validasyon süreci, yazılımın hedeflenen kullanım amacının yerine getirilmesi için spesifikasyonları ve gereksinimleri karşılayıp karşılamadığını kontrol etme sürecidir. Bu süreçler temelde tasarım sürecinin bitmesinin ardından olası riskleri görmek, değerlendirmek ve indirgemek için de iyi bir araçtır.
Yazılım olarak tıbbi cihaz üreticileri için en yaygın olarak kullanılan EN 62304 Tıbbi cihaz yazılımı-Yazılım yaşam çevrimi süreçleri standardı bu süreçte yazılım geliştiricilerin yoluna ışık tutmaktadır. Mevzuatlar, kılavuzlar ve standartlar ile tıbbi cihaz üreticilerinin tasarımlarını tüm süreç boyunca kontrol altına almaların hedeflenmiştir. Geliştirilen cihaz ile piyasaya arz edilen cihaz arasında hedeflenen kullanım amacının doğruluğunu, güvenilirliğini ve etkinliğini değerlendirmek için de bir araç olmuştur.
Yazılım geliştirme ve test süreci için farklı farklı yazılım geliştirme modelleri kullanılabilmektedir. Bunlardan en sık kullanılanları Şelale Modeli ve V-Modeldir.
Şelale modeli yazılım geliştirme süreci analiz, tasarım, kodlama, test, sürüm ve bakım gibi süreçlerden oluşur. Yazılım geliştirme süreçlerinde bu süreçler doğrusal ilerler. Her sürecin çıktısı, bir sonraki süreç için girdi oluşturur. Negatif yanı ise; şelale modelinde tersine akış yoktur.

Şekil 1. Şelale yazılım geliştirme modeli
V-model ise; şelale modelinin gelişmiş hali olarak düşünülebilecek bir yazılım geliştirme süreci diyebiliriz. Doğrusal bir yönde ilerlemek yerine, süreç adımları kodlama evresinden sonra yukarıya doğru eğim alır ve tipik V şeklini oluşturur. V-Model yazılım geliştirme yaşam çevriminin her bir evresi arasındaki ilişkileri gösterir. Bu model, bir sonraki aşamanın ancak mevcut aşamanın tamamlanmasından sonra başladığı sıralı bir süreçtir.

Şekil 2. V-Model yazılım geliştirme modeli
İki yazılım geliştirme süreci arasındaki en temel farklar:
Şelale modeli çok esnek değildir ve önceki aşamaya dönmenin yolu yoktur. V-Model daha esnektir.
Şelale modeli sıralı bir süreçken; V-Model eş zamanlı yürütülebilir bir süreçtir.
Şelale modeli yazılım geliştirme sürecinde test edilemezken; V-Modelde yazılım geliştirme sürecinde de test edilebilir.
Yorumlar