Yazılım Mimarileri

KaptanTR

Alpha Wolf
17 Nis 2015
1,649
1,580

neqqr8t.jpg

Yazılım Mimarileri

Cep telefonunda, trafik lambalarında, metrolarda aklınıza gelebilecek her alanda yazılım mevcut. İşte bu yazılımların düzenli ve sistematik bir şekilde işlemesi oldukça büyük bir önem arz etmektedir. Bunun da yapılması yazılım mimarisiyle mümkün olacaktır. Yani yazılım mimarileri aklınıza gelebilecek tüm yazılımlar konusunda işleri yürütmektedir. Yazılım mimarisinde seçilecek programdan veri yapısına, güvenlikten donanıma birçok unsur ayarlanmaktadır. Yazılım sürecinin nasıl işleyeceği belirlenmekte ve aksilik olması durumunda da bizzat çözüm sunulmaktadır. İşte bunu yapan kişiler de yazılım mimarlarıdır. En önemli olan da bir projede bu yazılımın baştan sona kullanılmasıdır yani süreklilik yazılım mimarisinde oldukça önem arz etmektedir.


turkuazayrac.png

Yazılım Mimarisi Görevleri

Ev tasarımı yapan bir mimar evin nasıl tüm yapısını en ince ayrıntısına kadar belirlerse yazılım mimarisinin de yaptığı işin bundan hiçbir farkı olmayacaktır.
Yazılım mimarları, yazılım mimarisi süresince ilk başta yapıyı belirleyecektir. Bu yapıda kütüphane, veri tabanı, alt sistem, işlemci ve birçok elemanı kullanarak yapıyı oluşturacaktır.
Yapıyı belirledikten sonraki görevi de davranışı belirlemek olacaktır. Yapı, bileşen ve çevrenin nasıl uyum içinde olacağı, çalışma prensipleri gibi unsurlar ele alınacaktır.

Örneğin bileşenlerin hangi sırayla işlem göreceği gibi detaylar bu davranışı belirleme adımında uygulanmaktadır.
Yazılım mimarisinde dikkat edilmesi gereken unsurlar bulunmaktadır.
Öncelikle ihtiyaçlar iyileştirilmelidir ve kusursuz olmalıdır. Bunun yanı sıra risk her işte bulunmaktadır.
Bu sebeple yazılım mimarisinde oluşabilecek riskler önceden belirlenmeli ve bunlarla karşılaşılması durumunda ne gibi yöntemlere başvurulacağı da belirlenmelidir.
Paydaşların talebi oldukça önemlidir.

Bu sebeple yazılım mimarı bu yazılım mimarisini oluştururken bunları da göz önünde mutlaka bulunduracaktır. Yani bir pazarlamacı için rakiplerine göre avantajları, durumları ve eksilerinin bilinmesi önemli olacağı gibi müşteri için de maliyet, fayda oldukça önemlidir. Bu sebeple iyi bir yazılım mimarisi yazılımını oluştururken tüm paydaşların bilgiye çabuk ve sağlıklı şekilde kavuşmasını hedefleyecektir.
Bunların dışında yazılım mimarisi hem çevresinden etkilenirken aynı zamanda oluşturmuş olduğu mimariyle birlikte ekip yapısını da etkileyecektir.

Çevreden etkilenmek şu şekildedir yazılım mimari oluşturmuş olduğu yazılımda çevreyi yok sayamaz.
Yani yazılımı oluştururken çevreyle uyumlu olmalı ve organizasyon standartlarına belirli bir düzeyde uymalıdır.
Örnek vermek gerekirse İngiltere'de trafik soldan aktığı için trafik konusunda yazılım yaparken buna dikkat etmek gerekecektir. Çevreyi ve ekip yapısını etkilemek de şu şekilde olmaktadır. Örneğin bir alışveriş sitesi için yazılım oluşturulduğu takdirde burada çalışan kişiler oluşan yazılıma göre sipariş takibi, hesap yönetimi gibi unsurlara dikkat etmelidir ve zamanla bu yazılıma alışmalıdır.



turkuazayrac.png

rw0pa02.jpg

Yazılım Mimarisi Şablonları

Yazılım mimarisinde belli başlı şablonlar kullanılmaktadır. Bu şablonları kısaca incelemek gerekirse;


eiwx46e.jpg

Kanal ve Filtre (Pipeline)

Sık karşılaştığımız mimari kalıplardan birisidir. Veri işleme için yaygın kullanılan bir mimaridir.
Sunucuya gelen bilgiyi Filtre dediğimiz bilgi üzerinde muhtelif harekâtlar yapan bileşenler ve bu bileşenler arasında bilgiyi aktaran kanallardan oluşur.
Filtre bileşeni veriyi işledikten sonra bir sonraki adım olan bileşen ya da bileşenlere aktarır.



turkuazayrac.png



9uofqin.jpg

Model-View-Controller

En çok tercih edilen şablonlardan bir tanesi olan MVC'nin prensibi şu şekildedir. Öncelikle tarayıcı üzerinden view sayfasıyla istek yapılmaktadır.
Bu istek controller kısmına gitmektedir ilgili veri tabanı bilgileri model kısmından çekilir ve yapılan incelemeler geri view sayfasına göndermektedir.



turkuazayrac.png



2qy96zq.jpg

İstemci Sunucu Mimari Tasarım

Mimari tasarım kalıbında temel paylaşılan servis sunucuda bulunur ve mevcut sunucudan servis alacak istemciler talepte bulunarak sunucudan servis alırlar.
Client kendi başına bir uygulama olabileceği gibi Web ‘de hizmet alan bir web uygulaması da olabilmektedir.
Reelinde Web sitelerinin kendisi de sunucu istemci anlamıyla çalışır. Browserlar Web sitesinde HTTP üzerinden istemde bulunur.



turkuazayrac.png



2uhejff.jpg

Service-Oriented-Architecture

Genellikle entegre sistemler kurmak için kullanılan bir mimari şablondur.
Bu sayede birçok sistem aynı anda uyumlu bir şekilde çalışacaktır.



turkuazayrac.png



2dysfmd.jpg

Yinelemeli İçerme Tasarım

Tekrarlamalı kapsama tasarım kalıbı ise büyük bir sistemi alt sistemlere oradan da daha alt bileşenlere ayrılacak biçimde tasarlar.
Burada her bir sistem kendi alt parçalarını kapsar. Bu kalıp aynı zamanda Tam Parça tasarım kalıbı ya da Birleşik tasarım kalıbı olarak öğrenilmektedir.
Misalin bir çizim biçimlerden oluşur ve biçimlerde üçgen, kare, daireden oluşur.



turkuazayrac.png



3fzm094.png

Multitier Architecture (Çok Katmanlı Mimari)

Object Oriented Programming data ile ilgili işlemler yapılırken belirli bir kurala göre yapılır.
Uygulamalarda; bilgiye nasıl ulaşılacağı, üstünde ne gibi uygulamalar yapılacağı ve kullanıcı tarafına ne biçimde sunum yapılacağı bir programcı için en ehemmiyetli meselelerdir.
Üç tabaka mimarisi de bütün bu noktada programcılara destekçi olmaktadır.
Üç tabakalı mimari nesneye dayalı programlama ile ehemmiyet kazanmış ve günümüzde bir hayli programcının kullanmakta olduğu ehemmiyetli bir programlama tekniğidir.
Üç tabakalı mimari kullanılarak hazırlanan programların idarenmesi öbürlerine göre daha kolay ve süratli bir biçimde yerine getirilir.
Zira üç ayrı tabakaya uygun olarak hazırlanmış programlarda her yapılan eylem ayrı ayrı planlanmıştır ve neyin nerede olduğu sarihtir;
böylece müdahale edilmesi gereken durumlarda bu işlem kolayca ve zaman kaybetmeden yerine getirilir.



turkuazayrac.png



68ad3c5.jpg

Bileşen Tabanlı Mimari

Bileşen tabanlı mimari de sistem minik bileşenler ve bu bileşenleri bir arada yakalayan bileşen idareyicisinden alana kazanç.
Bileşen idareyicisi çalışma zamanında kendisine belirlenen bileşenleri başlatabilir, durdurabilir.
Yazılım sistemi yine kullanılabilir, birleştirilebilir ve ambalajlanmış bileşenlerden oluşur. JavaBean,.NET, WEB Servisleri, örnek olarak verilebilir.
Bileşenlerin hem gereksinim dinlediği hem de sağladığı tanımlı ara suratları vardır.
Bileşenler iç tasarımlarını gizlemiş vaziyettedir. İrtibatlar bileşenlerin öbür bileşenlerle nasıl irtibat kuracağını tanımlar.



turkuazayrac.png

Yazılım Mimarı İş Alanları

Yazılım mimarı olabilmek için genel olarak üniversitelerin Bilgisayar Mühendisliği bölümünden mezun olmak gerekmektedir.
Sadece bilgisayar mühendisliği okuyan kişiler değil Elektronik Mühendisliği okuyan kişiler ve buna benzer bölümleri okuyan kişiler de yazılım mimarı olabilir fakat genel olarak bu bölümlerden alım yapıldığını söylemek mümkün olacaktır.
Bunun yanı sıra kişi kendisini geliştirmek istiyorsa yine yazılım konusunda gerekli kurslar alıp bu kurslar neticesinde sertifika da alabilirler.
Yazılım mimarlarının çalıştığı alanlara bakacak olursak her 2 yazılım mimarından 1 tanesinin bilişim sektöründe çalıştığını görüyoruz.
Bunun yanı sıra ekonomi, telekomünikasyon, elektrik, elektronik ve ticaret alanında da çalışmalar yapmaktadırlar ve genellikle bilgi işlem ve AR&GE departmanında çalışmaktadırlar.
ASP.NET Web Api, C#, C++ gibi alanlarda da yazılım mimarlarının kendilerini geliştirmesi rakiplerinin önüne geçmesini sağlayacak unsurlardan bir tanesi olacaktır.



turkuazayrac.png

 
Son düzenleme:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.