Arayüzlerde yapı ile | sıcak çevrimiçi

Adanali

New member


  1. Arayüzlerdeki yapı ile

Bu makale, arayüzlere yapılandırılmış yaklaşım hakkındadır. Amaç, kendiniz için bir genel bakış elde etmek veya başkalarına bir genel bakış sunmaktır.


İlk yazımda da belirttiğim gibi blog yazılarım geliştiricilerin günlük hayatlarının organizasyonu ile ilgili. Bir klasiği ele alalım: arayüzler, geliştiricilerin tekrar tekrar uğraşması gereken bir konudur. Burada kastedilen, sistemler arasındaki veya farklı yazılımlar arasındaki arayüzlerdir. Nesne yönelimli programlamadan bildiğimiz arayüzler değil.

Bir arayüz geliştirmek için birkaç yönün dikkate alınması gerekir. Aşağıda, yıllar boyunca benim için çalışan bir model var. Projenin ortasında aranırsanız kullanabilirsiniz. Bu nedenle, bir genel bakışa sahip olmanıza yardımcı olur. Veya daha yolun başında olsanız bile. İlgili tüm paydaşlarla ilk çalıştay için tabiri caizse bir rehber olarak.

Her durumda, genel olarak ilgili herkes için arayüzün anlaşılmasını geliştiren modelden sorular ve cevaplar çıkar.

Model dört kategoriden oluşmaktadır.

  1. süreçler
  2. Veri
  3. sistemler
  4. iletişim
Ayrıntılı kategoriler


İş süreçleri “Süreçler” kategorisinde ele alınmaktadır. Neyle ilgili? Birden fazla süreç varsa, bunların önemini ve sırasını tartışmalı mıyız? Olası önkoşullar nelerdir? Bu süreçleri kim kullanıyor, kim denetliyor? İş nesnelerini tanımlamak mümkün mü?


Süreçler verilere dönüşür. Bu bizi ikinci kategoriye yerleştiriyor. Çünkü süreçler veriler üzerinde yaşar (“ana veri” anahtar sözcüğü) ve aynı zamanda veri üretir (“işlem verileri” anahtar sözcüğü). Bu kategori, miktar, eksiksizlik, zamana bağımlılık, köken, kullanılabilirlik, düzen, yapı ve çok daha fazlası gibi konuları kapsar.

Verilerin bir yerde saklanması gerekir. Böylece üçüncü kategoriye geliyoruz. Şimdi sistemler hakkında. Burada, benim için bir sistem tipleştirmesi değerini kanıtladı. Kaynak, hedef ve aracı sistemleri birbirinden ayırırım. Şimdi bir dizi konuyu açıklığa kavuşturmamız gerekiyor. Hangi sistem sürüyor? Fiziksel ve ağ konumu? Zaten eşleştiniz mi? Kullanılabilirlik? yargı alanı? Kimin umurunda? Soru listesi gerçekten çok uzun.

Son kategori “İletişim” ile ilgilidir. Kim kiminle iletişim kurmalı? Hangi protokollerin rol oynadığı. İletişim ne sıklıkta ve hangi zamanlarda iletilir? Hangi güvenlik önlemleri alınır? İletişim yapısı nedir? Aktarılan verilerin dönüştürülmesine veya zenginleştirilmesine ihtiyaç var mı? Senkron mu yoksa asenkron iletişim mi? İletişim hangi sırayla iletilir? Herhangi bir bağımlılık var mı?

Olası ve istenen uzantı


Kategoriye göre sorular gerektiği gibi genişletilebilir. Bu aynı zamanda kategoriler için de geçerlidir. Örneğin, güvenlik hususları ayrı bir kategoriye atanabilir.

Alt proje yöneticisi rolü gibi, geliştirici rolünün ötesinde kurumsal görevler de gerçekleştiren herkes bir “Kuruluş” kategorisi içermelidir. Bu kategori, tipik idari sorunlara ayrılmıştır. Bunlar zamanlama, bütçe, proje üyelerinin mevcudiyeti, üzerinde anlaşmaya varılan kilometre taşları ve diğer birkaç şey hakkında sorular olabilir.

Uygulama ve daha fazla kullanım


Bu şablonun güzelliği, farklı durumlarda kullanımının kolay olmasıdır. Sorular, daha sonra neyin açıklığa kavuşturulması gerektiğine dair rehberlik sağlar. Cevaplar da bilgi sağlar ve yeni sorulara yol açabilir. Model ayrıca ilgili kişilere hızlı bir şekilde açıklanır. Bunun dışında, yapılandırılmış bir yaklaşım güven oluşturur. Soruların ve cevapların yazılı olarak sabitlenmesi açıktır. Bundan harika bir konsept veya dokümantasyon elde edilebilir.

Bu yazının arkasındaki hikaye


Son olarak, bugün bu konuya neden yazdığım bir cümle. Birkaç hafta önce elimde bir arayüz dokümantasyonu vardı. 3. sayfada, arayüzün iş açısından ne yaptığına dair iki cümle vardı. Ardından, alan adlarının, alan uzunluklarının ve diğer bazı bilgilerin tablo halinde listelendiği yaklaşık on sayfa takip edildi.

Bu tutarsızlık tek başına beni şaşırttı. Şüpheli. Affedin ama içimdeki alarm zili sanki beş dakika boyunca hiç huzur yokmuş gibi geldi.

Son birkaç söz


GitHub’da, yukarıda açıklanan modeli draw.io aracılığıyla görselleştirdiğim bir depo bulacaksınız. Bir göz atabilirsiniz. Tabii ki, iyileştirme önerileri de memnuniyetle karşılanmaktadır. Sonunda herkese bir şeyler katıyor.

Bunu akılda tutarak, sağlıklı ve yapılandırılmış kalın
senin Michael’ın


()



Haberin Sonu
 
Üst