Contract® ile Tasarım Nedir?
Contract® tarafından tasarım, bir programın tüm bölümleri
için iyi tanımlanmış arayüz parametrelerinin veya sözleşmelerin oluşturulmasına
dayanan bir yazılım geliştirmek için kullanılan bir yöntemdir. Her ne kadar
Design byContract®, düşük faizli araç kredisidokümantasyon veya modelleme yoluyla uygulanan kavramsal bir
geliştirme tarzı olarak görülebilirse de, daha geniş çapta, sözleşmelerin örtük
kodlamasını gerektiren bazı programlama dillerindeki yerel veya üçüncü parti
mekanizmalara başvurmak için kullanılır. bir program. Design byContract® 'ı
kullanmanın amacı, bir programın geliştirileceği ve nihayetinde daha önemsiz
hataları ortadan kaldıran çok daha eksiksiz bir şekilde kodlanacağı ve
destekleyici dil tarafından yapılan sözleşmelerin uygulanmasının herhangi bir
artık hataların kolayca bulunup yakalanmasına yol açtığıdır.
Design byContract® programlama felsefesinin temelini, gerçek
dünyadaki iş sözleşmeleri fikri oluşturmaktadır. Bu modelde, nesne yönelimli
bir programdaki her bir yöntem ve sınıf, onunla etkileşimde bulunan herhangi
bir başka yöntemin veya nesnenin uyması gereken bir sözleşmeyi tanımlar. Her
sınıf ayrıca, sınıf değişmez denen bir sözleşmeye de sahip olabilir, dış
sözleşmelerin işlevlerini yerine getirememesini sağlamak için dahili olarak
takip etmesi gerekir.
Tasarım ve kodlama sırasında en önemli olan bir sözleşmenin
iki bölümü önkoşullar ve şartlardır. Design byContract® modelinin bu iki bölümü,
bir yöntem çağrılmadan önce programın durumunu ve yöntemin yürütülmesi
bittikten sonra programın durumunu tanımlar. Bir sözleşmenin diğer bölümleri
uygulamaya göre değişiklik gösterebilir, faizsiz evlilik kredisiancak diğer modüller, senkronizasyon
koşulları ve yürütme sırasının gerekliliklerine çapraz referanslar içerebilir.
Her sınıf ve yöntem için sözleşmeler geliştirerek, bir
programın farklı bölümlerinin etkileşimi kolayca haritalanabilir ve tahmin
edilebilir. Sözleşmelerin, iddiaların ya da diğer mekanizmaların kullanılması
yoluyla uygulanması, programın sözleşmelerin ihlali halinde yürütülmeye
çalışılmamasını da sağlar, çünkü bu durumda üretilen herhangi bir çıktı teknik
olarak geçersizdir. Bir anadil özelliği olarak uygulandığında, Design
byContract®, nihai ürünün öngörülemeyen hatalar için çok az şansla beklendiği
gibi çalışmasını sağlamaya yardımcı olabilir.
Design byContract® felsefesinin kullanımından kaynaklanan
bazı komplikasyonlar, kodlama başlamadan önce daha uzun tasarım süreleri ve bir
sistemin daha ayrıntılı bir şekilde geliştirilmesini içerir; bu da büyük bir
proje ile bazen zor olabilir. Daha pratik olarak, sözleşmeleri yerel olarak
destekleyen bir programlama dilinde kullanılan sözleşme doğrulama mekanizması,
program yürütmeyi yavaşlatabilir. Design byContract® metodolojisine ilişkin
zayıf bir anlayış, temel hata kontrolünü gerçekleştirmek için sözleşmeleri
kullanan ve potansiyel olarak serbest bırakıldıktan sonra ani çökmelere
eğilimli bir uygulamaya yol açan bir programa yol açabilir.
Yorumlar
Yorum Gönder