Jump to content

Yazılım Analizi Ve Mimarisi


wmismail

Recommended Posts

Yazılım Analizi ve Mimarisi

Sıkça karşılaştığımız kavramlardan birisi olan yazılım analizi , kimilerine göre çok ta önemli olmasada , aslında yazılım geliştiriciler için olmazsa olmazlardandır. Bir bakıma geliştireceğimiz uygulamanın mimarisidir aslında. Bir inşaatın yapılışını hayal ettiğimizde, mimarisi çıkmadan, yapılacak olan işlerin belirli bir düzeni belirlenmeden yapılsın. 5 katlı bir bina yapılıyor. İsketeleti oturmuş, artık ince işçiliği denilen bölüme geçilmiş. Sonra yapılan zemin etüdüne göre bu zemin, bu binayı kaldırmaz tüm binayı yıkıyoruz. Bu büyük bir zaman ve maaliyet kaybıdır. Olayı birde yazılım açısından değerlendirelim. Eğer biz uygulamanın üçte ikisi tamamlandıktan sonra başlarda yapıplıp bundan elde edilecek sonuca göre uygulamamızı şekillendirmeye kalkışırsak , kod bloklarını sileriz, arayüzleri silip yenilerini yaparız. Elle tutulur bir takım nesneler olmadığı için önemsiz gibi görünebilir ama ilk verdiğimiz inşaat örneğinden herhangi bir farkı yok aslında. O kod bloğu ve arayüzler için zaman harcayan geliştiricilerin maaliyetleri iki katına çıkmış oldu ve projenin süresi uzadı. Belkide yapılan anlaşmaya göre artık devam etsekte bir anlamı yok.

Bir uygulamayı geliştirmeye başlamadan önce mutlaka o konu ile ilgili uzmanlarla görüşüp olayın nasıl bir yapıya sahip olduğunu iyice sindirmemiz gerekmektedir. Dikkat edersek uzman ile değil uzmanlarla diyorum çünkü her bireyin aynı olaya farklı bir yaklaşım gösterdiği tartışılmaz bir gerçektir. O yüzden bir kişi ile görüşüp işe başlanılmasıda ilerde problemler çıkartabilir. Diğer bir konuda eğer bir işi biliyorsak başkasına aktarırken atlayacağımız noktalar olur, bundan kaynaklanacak olan problemlerde olabilir. Konferanslarda yada bir takım oyunlar bize sunulan yöneltilen sorulardan birisi olan ve benim en çok hoşuma giden yumurta kaç adımda yapılır sorusudur. Yumurta ilk bakışta dört yada beş adım değil daha fazla adımdan meydana gelir. Birisine bunu anlatırken malzemler yokmuş gibi yağ,tüp,tava ve yumartanın alınacağından bahsedecek olursak zaten sadece malzemelerin tedarik adımları dört adımdan meydana gelmektedir. Yazılımda da alacak olduğumuz parametereler, kaydedecek olduğumuz birimler önem teşkil etmektedir. Gözden kaçırılan bir kayıt birimi sonrasında alt yapının ve buna bağlı olarak işleyişin değişmesine sebep olabilir.

Gerekli analizler yapılırken düzenli olarak kayıt edilmelidir ki gözden kaçırılan noktalar olmasın ve mimari kurulurken elimizde belgeler bulunsun. Analizler düzenli bir şekilde tamamlandıktan sonra uygulamanın mimarisinin kurulması bu na bağlı olarak gerçekleştirilir. Mimariyi kuracak olan kişi zaten kendisinde bulunan tecrübelere dayanarak ve işin yapısına göre kullanılacak olan teknolojilere ve sistemin yapısına karar verir. Günümüzde bu konuda bizlere yol gösteren noktalarda yok değil tabiki. Tecrübelere ve uygulanan yönetemlere göre işin yapısına göre bir takım yapılar kurulmuş modeller oluşturulmuştur. Yapılmak istenenlere özgü bir takım tasarım kalıplarından yararlanırız http://tr.wikipedia.org/wiki/Tasar%C4%B1m_kal%C4%B1plar%C4%B1 (Design Pattern http://en.wikipedia.org/wiki/Design_pattern_(computer_science) ) . Bu kalıplar sayesinde karşılaştığımız problemleri çözmek için ilerliği kanıtlanmış çözümleri kullanırız.

Bir uygulama için doğru analiz yapıldıktan sonra ve buna bağlı olarak kurulan mimari gerçekten düzgün bir şekilde kurulduktan sonra tariflenmiş olan bu işlerin geliştiriciler taradından uygulanması ile ihtiyaçları karşılayan, düzgün ve sağlam uygulamalar ortaya konulmuş oluyor.

Burada atlanmaması gereken noktalardan biriside analiz ve mimari için gerçekten geliştirme aşamasına geçmeden önce gerekli ve yeterli zamanın ayrılmasıdır. Çoğu geliştirici ekip işe bir an önce başlayıp uygulamda birtakım gelişmeleri görmek için bu kısımlarda fazla zaman kaybetmek istemesede , yapılması gereken uygulamanın tamamı için ayrılan süresi içerisinden bu iki bölümü yeterli zamanın ayrılmasıdır. Bu öngeriye sahip olunmadığı için ülkemizde ve dünya genelinde yazılım üzerine gerçekleştirilen birçok uygulama çöpe atılmaktadır yada başarısız olmaktadır.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...