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

Bu blogdaki popüler yayınlar

WLAN Sürücüsü nedir?

Eggdrop nedir?

AppleShare&Reg; nedir?