Blog

Yazılım tasarımında en öncelikli verilmesi gereken karar

Sistemin, alt sistemlere ayrıştırılmasıdır. (Subsystem decomposition) Alt sistemleri geliştirmek ve yönetmek daha kolaydır. Bu yaklaşım, diğer mühendislik ilimlerinde de öncelikli takip edilir. Sistemin sorumlulukları, alt sistemlere dağıtılır. Her sistem, kendi işini iyi yapar. (Single Responsibility) İhtiyacı olan diğer işler için, diğer sistemlerden istekte bulunur. Kendisine gelen bazı istekleri, diğer sistemlere yönlendirebilir. Tüm işi yapmaya mecbur olmamalıdır. (Delegasyon) Sistemler arası etkileşim, standartlar üzerinden gerçekleştirilmelidir. Bu sayede, sistemlerin değiştirilmesi de kolay olacaktır. Tüm sistemi yeniden yazmak veya başka bir sistem ile değiştirmek, artık geride kalmıştır.

Yazılımda tekrar kullanılabilirlik seviyeleri

1. Seviye : Birbiri ile ilişkili bir grup ifade, bir metot olarak düzenlenebilir.

2. Seviye : Birbiri ile ilişkili ve bağımlı metotlar, bir sınıf olarak düzenlenebilir.

3. Seviye : Birbiri ile ilişkili ve bağımlı sınıflar, bir paket olarak düzenlenebilir.

Üst Seviye : Birbiri ile ilişkili ve bağımlı paketler, bir yazılım alt yapı bileşeni (Framework) olarak düzenlenebilir.