Yazılım geliştirmedeki "aşağı / yukarı doğru tasarım" ne demektir?
Yazılım geliştirmedeki "aşağı / yukarı doğru tasarım" ne demektir?
Yanıtlar:
Akış yukarı bileşenler, sistemin bileşeninizin işini yapmaya bağlı olduğu diğer parçalarıdır. Bir yukarı akış bileşeninin tasarımı değişirse, bileşeninizin işlev yapma yeteneği etkilenebilir. Bir akış yukarı bileşeninde hata varsa, bu hata bileşeninizde gösterilebilir.
Aşağı akım bileşenleri, sistemin bileşeninizin etkileyebileceği kısımlarıdır. Bileşeninizdeki değişiklikler, bileşeninizden aşağı akıştaki bileşenlere dalgalanabilir.
Bir veritabanı katmanı ve bir uygulama katmanından oluşan bir uygulamayı düşünün. Veritabanı katmanının, uygulama katmanının akış yukarı olduğu kabul edilir.
Akış yukarı = kuyu yukarı (yazılımın kökeni) Akış aşağı = okyanusa aşağı doğru (kullanım durumları)
"Aşağı akış" olan Açık Kaynak geliştiricileri, bitmiş ürünler üzerinde uygulamalar ve araçlar oluşturur. Memba olanlar serbest bırakılacak ürünler üzerinde çalışırlar.
Yazılım geliştirirseniz: yukarı akış geliştirmenin kararlılığına bağlıdır. Ve yazılımınız üzerinde çalışanlar aşağı yönlü geliştiricilerdir.
Bunun İngilizceden daha fazla yazılım mühendisliği jargonu olduğunu düşünüyorum, ancak "alt tasarım" ı anlamanın yolu, uygulama geliştiricilerin zaten geliştirilmiş olan araçları aldıkları ve uygulamalarını tamamlamak için kullandıkları yerdir. Kütüphane yeteneklerinin ne yapılacağına dair kararların verileceği yerde, halihazırda üretilmiş yazılım kütüphanelerinin kullanılması aşağı havzadadır.
"Yukarı akış tasarımı" ile uygulama geliştiricisine danışılmakta ve uygulama çalışmaları gerçekten başlamadan önce kütüphanelerin geliştirilmesine katılmaktadır. Örneğin, ses yazılımına odaklanan bir yazılım şirketi olacaksanız, geliştirmeyi planladığınız çeşitli yazılımları kapsayacak şekilde kütüphaneler geliştirmeniz gerekebilir. Uygulama geliştiricilerinin istediklerine girdi sağlayabilmesi için kütüphane geliştiricilerinin uygulama geliştiricileriyle birlikte oturmasını sağlamak güzel olurdu.
Memba daha özelleştirilmiştir, bu da onu daha pahalı hale getirir, ancak potansiyel olarak daha iyi bir son ürün üretir.