yazilim mİmarİlerİ
DESCRIPTION
YAZILIM MİMARİLERİ. Yazılım Mühendisliği Yöntemleri. Yazılım mühendisliği, artık bir bilim dalı olmasına rağmen henüz matematik, fizik, inşaat mühendisliği gibi çok sabit temellere dayanmamaktadır. Birçok bakımdan yazılım mühendisliğinin alt süreçleri sanatsal bir özellik taşımaktadır. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/1.jpg)
![Page 2: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/2.jpg)
Yazılım Mühendisliği Yöntemleri
Yazılım mühendisliği, artık bir bilim dalı olmasına rağmen henüz matematik, fizik, inşaat mühendisliği gibi çok sabit temellere dayanmamaktadır.
![Page 3: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/3.jpg)
Birçok bakımdan yazılım mühendisliğinin alt süreçleri sanatsal bir özellik taşımaktadır.
![Page 4: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/4.jpg)
Her ne kadar standartlar tanımlaşmış olsa da hala daha hızlı ve güvenilir şekilde yazılım geliştire bilmek için büyük arayışlar vardır.
![Page 5: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/5.jpg)
Yöntembilim (methodology) yazılım yaşam çevrimi boyunca kullanılacak süreç, belirtim, belgelendirme gibi yöntemler bütününü içeren bir disiplindir.
![Page 6: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/6.jpg)
Günümüzde pek çok sayıda yöntembilim oluşmuştur.
![Page 7: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/7.jpg)
Yöntembilimler de yazılım mühendisliğinin evrimleriyle beraber şekilde gelişmektedir.
![Page 8: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/8.jpg)
Şimdi her ne kadar seçilen yöntembilime, müşteriye ve geliştiriçiye bağlı olsa da yazılım geliştirme evrelerinde yaygın olarak kullanılar bazı modelleri görelim.
![Page 9: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/9.jpg)
Klasik Çevrim çağlayan, şelale, büyük tasarım modeli yada geleneksel model olarak adlandırılır.
![Page 10: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/10.jpg)
Sistematik olarak ilerleyen ardışık bir yaklaşımla yazılım geliştirilmesini sağlar.
![Page 11: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/11.jpg)
Tüm kullanıcı gereksinimleri belirlenir, isterler tanımlanır, buna göre tasarım yapılır, gerçekleştirim sonunda birimle tümleştirilir ve sistem denenerek teslim edilip bakım aşaması başlatılır.
![Page 12: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/12.jpg)
Klasik Çevrim en eski ve en yaygın yazılım geliştirme tekniğidir ancak bazı eleştirilere uğramıştır.
![Page 13: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/13.jpg)
Gerçek projeler çok nadir olarak ardışık sıra izler.
Çoğunlukla çevrim tekrarı yaşanır, bu nedenle de maliyet ve teslim süresi yükselir.
![Page 14: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/14.jpg)
Müşterinin tüm isterleri bir defada ve açıklıkla tanımlaya bilmesi çoğu zaman mümkün değildir ve daha projenin başında belirsizlikler ortaya çıkar.
![Page 15: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/15.jpg)
Müşteri, ürünün tamamı bitinceye kadar beklemek durumundadır.Çalışan bir sürümün ilk ortaya çıkışı çevrim içinde çok ileride olabilir.Müşterinin hayal kırıklığına uğraması ise projenin başarısız olması demektir.
![Page 16: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/16.jpg)
Geliştirici personel genellikle kod yazmaya eğilimlidir.bu nedenle, çözümleme, tasarım gibi süreçlerden geçmeye alışık olmayan personelin heveslendirilmesi güç olabilir.
![Page 17: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/17.jpg)
Klasik modelde yazılım gelişimi doğrusaldır.
Bilgi akışı yalnız bir yöne doğrudur ve herhangi bir sorunla karşılaşıldığında önceki aşamalar zarar görmeden yerel çözümler buluna bilir.
![Page 18: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/18.jpg)
![Page 19: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/19.jpg)
“V” Modeli adından da anlaşılacağı gibi "V" yapısında bir yol izlenir ve adımlar bu şekilde gerçekleştirilir. Bu yol üzerinde sol taraf üretimi sağ taraf ise test işlemini ifade eder.
![Page 20: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/20.jpg)
Bu modelde yer alan çıktıları "Kullanıcı Modeli", "Mimari Model" ve "Gerçekleştirim Modeli" adı altında toplayabiliriz.
![Page 21: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/21.jpg)
Kullanıcı modelinde geliştirme sürecinin kullanıcı ile olan ilişkileri tanımlanmakta ve sistemin nasıl kabul edileceğine ilişkin sınama belirtimleri ve planları ortaya çıkarılmaktadır.
![Page 22: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/22.jpg)
Mimari modelde sistem tasarımı ve oluşacak alt sistem ile tüm sistemin sınama işlemlerine ilişkin işlevler ele alınmaktadır.
![Page 23: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/23.jpg)
Gerçekleştirim modelinde de yazılım modüllerinin kodlanması ve sınanmasına ilişkin fonksiyonlar ele alınmaktadır.
![Page 24: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/24.jpg)
Bu model belirsizliklerin az iş tanımlarının belirgin olduğu bilişim teknolojileri projeleri için uygun bir modeldir. Ayrıca model kullanıcının projeye katkısını artırmaktadır.
![Page 25: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/25.jpg)
Spiral model hem klasik hem de prototipleme yöntemlerinin iyi yönlerinin birleştirilmesiyle oluşturulmuştur.
![Page 26: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/26.jpg)
Bu modelde risk analizi ön plana çıkmıştır.
Yinelemeli artımsal bir yaklaşım vardır.
![Page 27: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/27.jpg)
Her döngü bir fazı ifade eder ve doğrudan adım tanımlama gibi bir faz yoktur.
Ayrıca prototip yaklaşımı vardır.
![Page 28: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/28.jpg)
Bu modeldeki süreçler planlama, risk analizi, üretim, kullanıcı değerlendirmesidir.
![Page 29: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/29.jpg)
Planlamada amaçlar, olası seçenekler ve kısıtlamalar değerlendirilir.
![Page 30: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/30.jpg)
Risk analiz kısmında diğer yöntemlerde bulunmayan, risk araştırması ve olası çözüm ler bulunması aşamasıdır.
![Page 31: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/31.jpg)
Üretim ürünün geliştirildiği mühendislik aşamasıdır.
Kullanıcı değerlendirmesi geliştirilen ürünü inceleme ve değerlendirme aşamasıdır.
![Page 32: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/32.jpg)
Bu aşamalar en küçükten başlayıp gittikçe büyüyerek ürünün tamamlanmasına kadar tekrar eden bir çevrim halinde olduğundan bu modele spiral denilmiştir.
![Page 33: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/33.jpg)
Spiral modeli klasik çevrimi geliştirme için kullanmakta, prototipleme yoluyla da riskleri en aza indirgemeyi amaçlamaktadır.
![Page 34: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/34.jpg)
Evrimsel bir yaklaşım olarak, müşteri ve geliştiriçinin her evrim sırasında beraberce riskleri anlaması ve önlemler almasını sağlamaktadır.
![Page 35: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/35.jpg)
Klasik çevrimi esas alan çeşitli geliştirme yöntemleri bulunur.
![Page 36: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/36.jpg)
![Page 37: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/37.jpg)
Evrimsel geliştirme modeliaşamalar, diğer bir değişle evrimler halinde ürün ortaya çıkarmayı hedefler.
![Page 38: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/38.jpg)
Her evrinde geliştirilen ürünler uygulama alanında tam işlevselliğe sahiptir.
![Page 39: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/39.jpg)
Ortaya çıkan her ürün teslim edilerek kullanıma sunulur.Ürünün kullanımı sırasında elde edilen veriler geri beslemeler ve yeni gereksinimler bir sonraki evrime geçilir.
![Page 40: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/40.jpg)
Her yeni evrim, sistemin kapsamını, işlevlerini ve yeteneklerini biraz daha artırır.
![Page 41: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/41.jpg)
Sürüm1 Sürüm2 Sürüm3
![Page 42: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/42.jpg)
Modelin uygulamadaki başarısı ilk evrimde ortaya çıkan ürüne bağlıdır.İlk ürün pilot ürün olarak değerlendirilir ve daha sonraki ürünler bu ürünü esas alır.
![Page 43: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/43.jpg)
Evrimsel prototipleme evrimsel geliştirmeden biraz farklı olarak, her evrinde ortaya bir prototip, yani ön ürün çıkarılır.
![Page 44: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/44.jpg)
Ön ürünün uygulama alanında denenmesinden sonra, kullanıcı girdileri alınarak bir başka ön ürün oluşturulur ve denemeye sunulur.
![Page 45: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/45.jpg)
Bu şekilde geliştirmeye devam edilerek ürün son haline getirilir ve sonra kullanıma sunulur.
Evrinsel gelişmeden farklı olarak, ara aşamalarda müşteriye tam bir sürüm teslim edilmez.
![Page 46: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/46.jpg)
KULLANICI GİRDİLERİ
İLKSÜRÜM
SON ÜRÜN2.SÜRÜM
3.SÜRÜM
![Page 47: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/47.jpg)
İsterlerin çoğunluğunun belirsiz olduğu ve kullanıcıya ne istediği tam bilemediği durumlarda, bu model ile kullanıcıya ön ürünler sunularak isterlerin daha iyi tanımlanması sağlanır.
![Page 48: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/48.jpg)
Artımlı geliştirme modeli, isterlerinin tamamı belirli olan bir ürünün sürümler geliştirilmesi ilkesine dayanmaktadır.
![Page 49: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/49.jpg)
Önce en temel isterlere göre çekirdek yapıda olan ilk ürün geliştirilir.
![Page 50: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/50.jpg)
Bu ürün asıl sistemin temel işlevlerini yerine getirebilecek durumdadır; amcak bazı işlevleri eksiktir.
![Page 51: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/51.jpg)
Sonraki her artımda, ya da sürümde, isterlerin bir kısmı daha gerçekleştirilerek çekirdek ürüne yeni işlevler kazandırılır ve her sürüm bir öncekinden fazla işlevselliğe sahiptir.
![Page 52: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/52.jpg)
Yani, sürümlerde eksiklikler bulunduğundan ürünün tam kullanımı mümkün olmaz.Sistem henüz gerçekleştirilmemiş yetenekleri ve işlevleri hakkında kullanıcıya uyarı iletileri verir.
![Page 53: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/53.jpg)
Bu modelde güvenli bir şekilde ilerlenebilir ve sistem her sürümde sınanarak çekirdek sürüm güçlendirilir ve ana sürüm ortaya çıkarılır.
![Page 54: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/54.jpg)
3.SÜRÜM
2.SÜRÜM
4.SÜRÜM
1.SÜRÜM
![Page 55: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/55.jpg)
Araştırma Tabanlı ModelBu model yap-at prototipi olarak da bilinir. Araştırma ortamları bütünüyle belirsizlik üzerine çalışan ortamlardır.
![Page 56: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/56.jpg)
Yapılacak işlerden edinilecek sonuçlar belirgin değildir. Geliştirilen yazılımlar genellikle sınırlı sayıda kullanılır ve kullanım bittikten sonra işe yaramaz hale gelir ve atılır.
![Page 57: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/57.jpg)
Model-zaman-fiyat kestirimi olmadığı için sabit fiyat sözleşmelerinde uygun değildir.
![Page 58: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/58.jpg)
Gelişigüzel ModelBu süreç modelinde herhangi bir yöntem yoktur. Yazılım tamamen geliştiren kişiye bağlıdır.
![Page 59: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/59.jpg)
İleri zamanlarda geliştirilen yazılımı hazırlayan kişi bile anlamakta zorluk çekebilir. Bu yüzden izlenebilirliği ve bakımı çok zordur.
![Page 60: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/60.jpg)
Daha çok 1960'lı yıllarda kullanılan bir yöntemdir. Genellikle tek başına yazılım geliştirenler tarafından tercih edilmiştir. Geliştirilen yazılımın programlaması diğer metotlarla geliştirilen yazılımların programlamasına göre basittir.
![Page 61: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/61.jpg)
GENEL YAZILIM MİMARİSİ
![Page 62: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/62.jpg)
Donanımda olduğu gibi yazılım da belirli yapı taşlarından oluşmaktadır
![Page 63: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/63.jpg)
Elektronik donanım üzerinde çalışan her türlü yazılımı genel bir yazılım çerçevesi içinde düşünürsek, bu çerçeve içinde mutlaka belirli bir mimari öne çıkacaktır.
![Page 64: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/64.jpg)
Uygulama yazılımlarının düzeyi dikkate alınarak sistem yazılım mimarisi üçe ayrılır.
![Page 65: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/65.jpg)
Doğrudan çalıştırma en basit mimari, doğrudan bir donanım üzerinde çalışan ve yanlızca makine kodundan oluşan uygulama yazılımıdır.
![Page 66: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/66.jpg)
Bu tür yazılımlar daha çok gömülü sistemlerde bulunurlar.
Bir eprom içinde saklaman çamaşır makinesi programı gibi.
![Page 67: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/67.jpg)
Basit mimari Eğer bilgisayar donanımı üzerinde belirli süreçleerin eşgüdüm içinde yürütülmesi, sistem özkaynaklarının iyi denetlenmesi ve çeşitli giriş/çıkış işlemleri isteniyorsa amaca uygun bir işletim sistemi seçilir ve uygulama yazılımı bunun üzerinde çalışır.
![Page 68: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/68.jpg)
Karmaşık mimari Uygulama yazılımını çeşitli geliştirme ve bakım kolaylıkları nedeniyle bir ara katman yazılımı ile alttaki işletim sistemi ve donanımdan ayırmak geliştirme ve işletim bakımından çok olmaktadır.
![Page 69: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/69.jpg)
KULLANICI-SUNUCU MİMARİLERİ
![Page 70: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/70.jpg)
Ağ üzerinde haberleşen bilgisayarlardan oluşan dağınık bilgi işleme ortamlarının yaygınlaşmasıyla bu mimaride yaygın hale gelmiştir
![Page 71: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/71.jpg)
Bu mimari yazılıma özgü olduğundan ister merkezi, ister dağınık ortamda olsun donanımdan bağımsız olarak kolaylıkla uygulana bilir.
![Page 72: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/72.jpg)
Kullanıcı ve sunucu arasındaki veri iletişimi ve denetim genellikle iki parçalı olarak geliştirilen ayrık yazılım bileşenleri ile sağlanır.
![Page 73: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/73.jpg)
Bu şekilde kullanıcılar bir tane olabileceği gibi yüzlerce de ola bilir.
Üç temel yazılım bileşeni bulunur.
![Page 74: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/74.jpg)
Kullanıcı belirli bir isteği kullanıcıdan alıp sunucuya gönderen, sonra da yanıtı alıp tekrar kullanıcıya veren bileşendir.
![Page 75: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/75.jpg)
Genel olarak ayrı bir bilgisayar veya uçbirim iş istasyonu üzerinde çalışırlar.
![Page 76: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/76.jpg)
Kullanıcı, bir işletmen yani bir insan olabileceği gibi bir başka yazılım bileşeni hatta başka bir sistem de olabilir.
![Page 77: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/77.jpg)
Kullanıcı kullanıcıdan gelen isteği oluşturan verilerin doğrulanması, sonra da bu isteğin belirli iletiler halinde sunucuya gönderilmesini sağlar.
![Page 78: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/78.jpg)
İnsanla etkileşim halindeki pek çok sistemde bu işlevi grafiksel bir ara yüzü yapar.
![Page 79: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/79.jpg)
Uygulamanın karmaşıklığına göre bazı kullanıcılar birden fazla sunucu kullanabilirler.
![Page 80: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/80.jpg)
Sunucu bir ya da daha fazla kullanıcı tarafından gönderilen istekleri yerine getirerek sonuçları geri gönderen yazılım bileşenidir.
![Page 81: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/81.jpg)
Genellikle bir kullanıcı arayüzü bulunmaz ve ayrı bir bilgisayarda çalışırlar.
![Page 82: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/82.jpg)
Sunucu bilgisayar donanımı görevin türüne ve işyüküne bağlı olarak normal bir bilgisayar olabileceği gibi çok güçlü bir bilgisayar da olabilir.
![Page 83: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/83.jpg)
Genellikle çok sayıda işlemciye büyük disk sığalarına ayrık yedekleme donanımlarına sağiptirler.
![Page 84: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/84.jpg)
Görev-kritik olanlar hem yazılım hem donanım olarak hataya dayanıklı olurlar.
![Page 85: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/85.jpg)
Sürekli gelişen teknolojiye uyum için en kritik nokta olduklarından ölçeklenebilir ve yükseltilebilir yapıdadırlar.
![Page 86: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/86.jpg)
Sunucuların yazılım yapıları da değişik olabilir.
![Page 87: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/87.jpg)
Bir kısmı herkese sırayla hizmet veren tek bir süreçten oluşabildiği gibi bir kısmı da her kullanıcı oturumu için ayrı bir alt sunucuyu dinamit olarak yaratır.
![Page 88: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/88.jpg)
Sunucu yazılımı, genellikle iş yapmadan kullanıcıdan istek gelmesini bekler, gelen isteğe yanıt verir ve tekrar beklemeye başlar.
![Page 89: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/89.jpg)
Eğer çok sayıda kullanıcı varsa bunların belirli bir anda istekte bulunmaları olasılıkları matematiksel olarak hesaplanmalıdır.
![Page 90: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/90.jpg)
Yoğun ve düzensiz isteklerin olduğu ortamlarda ortalama hizmet süresini hesaplamak için kullanılabilecek “kuyruk teorisi” bunlardan biridir.
![Page 91: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/91.jpg)
Bir sunucunun başarılı olabilmesi için her zaman her kullanıcıya yeterince hızlı olarak servis verebilmesi gereklidir.
![Page 92: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/92.jpg)
Sunucular görevlerine göre birkaç çeşit olabilirler.
![Page 93: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/93.jpg)
Dosya sunucuları genellikle bir bilgisayar ağı üzerindeki dosya ve dizinlerin ortak kullanıcılar tarafından paylaşımını sağlarlar.
![Page 94: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/94.jpg)
Bu sunucu diğer bir adıyla kütük sunucusu kullanıcılarla aynı işletim sistemi ve dosya yapısını kullanmak zorunda değildir.
![Page 95: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/95.jpg)
Ancak kullanılan iletişim yazılımı bu çevrimi kendi içinde saydam olarak yaparlar.
![Page 96: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/96.jpg)
Kullanıcıların kendi bilgisayarlarının bir uzantısı olarak ayrı birer sürücü gibi bağlanabildiği dosya dosya sunucuları olabileceği gibi bazı paket yazılımları kendi üzerinden çalıştıran sunucular da vardır.
![Page 97: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/97.jpg)
Ağ sunucuları bazı işletim sistemleri tüm yazılımları belirli bir sunucu üzerinde tutarlar.
![Page 98: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/98.jpg)
Gerektiği zaman uç bilgisayarlar birer kullanıcı olarak dosyaları ağ üzerinden çekip kendi üzerlerinde çalıştırırlar.
![Page 99: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/99.jpg)
Bu tür sistemlerde yazılımın tek bir kopyası sunucuya yüklenir, fakat fazla sayıda kullanıcı lisansı olabilir.
![Page 100: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/100.jpg)
Kullanıcı bu yazılıma ait yürütülebilir kodu kendi üzerinden çektikten sonra kendi işlemcisi üzerinde koşturur.
![Page 101: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/101.jpg)
Veritabanı sunucuları bu sunucuların en büyük özellikleri büyük disk kapasiteleri ve veritabanı yönetim sistemleridir.
![Page 102: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/102.jpg)
Kullanıcının kullanıcı üzerinde kullanıcının SQL gibi bir veritabanı kullanım dili ile oluşturduğu komutlar sunucuya gönderilir.
![Page 103: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/103.jpg)
Sunucu kendi işlemci gücüyle veritabanı üzerinde arama yapar sonuç verileri işler ve kullanıcıya gönderir.
![Page 104: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/104.jpg)
Web Sunucusu İnternet üzerinde bir web sitesinin yayınından sorumlu olan sunucudur.
![Page 105: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/105.jpg)
Web servisi internet üzerinde en yaygın olarak kullanılan servisdir.
![Page 106: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/106.jpg)
Temel olarak HTTP (Hyper Text Transfer Protocol) protokolü kullanılarak verilen bir servistir.
![Page 107: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/107.jpg)
Red Hat Linux dağıtımları ile beraber web servisi için iki farklı sunucu gelmektedir.
![Page 108: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/108.jpg)
Bunlardan birincisi Apache web sunucusu , diğeri tux web sunucusudur
![Page 109: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/109.jpg)
Servis sunucuları bir bilgisayar üzerinde ve işletim sistemi kapsamında çalışan bir kısım sunucu yazılımlar uygulama yazılımı ya da işletim sisteminden gelen istekleri karşılamaya yararlar.
![Page 110: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/110.jpg)
Bir ağ üzerindeki bilgisayarları tanımlamaya yarayan isim sunucusu ilk giriş sunucusu bunlara örnektir.
![Page 111: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/111.jpg)
İşlem yönetimi günümüz işletim sistemlerinin önemli bir parçasıdır.
![Page 112: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/112.jpg)
İşletim sisteminin işlemlere yer alması, aralarında haberleşmeyi sağlaması onun önemli görevlerindendir.
![Page 113: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/113.jpg)
İşletim sistemi kaynakları işlemlere göre ayırmalı, işlemleri veri aktarımı ve paylaşımına uygun hale getirmeli, her işlemin kaynağını diğer işlemlerden korumalı ve işlemler arası senkronizyonu sağlamalıdır.
![Page 114: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/114.jpg)
Bunları yapabilmek için işletim sistemi her işlem için o işlemin mevkisini ve sahibi tanımlayan ve işletim sistemini her veri üzerinde kontrol uyguladığı bir veri yapısı sağlamalıdır.
![Page 115: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/115.jpg)
İki Katmanlı Mimari İki katmanlı mimaride, kullanıcı arayüzü ve uygulama yazılımları bir katman, veriler ise ikinci katman olarak kullanılır.
![Page 116: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/116.jpg)
Kullanıcı arabirimi ve uygulama yazılımlarının olduğu bilgisayarlar istemci, verilerin olduğu bilgisayar ise sunucudur.
![Page 117: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/117.jpg)
İki katmanlı mimaride, uygulama programları her bilgisayara ayrı ayrı yüklenmeli ve program değişikliği tekrardan tüm bilgisayarlara yeniden yüklenmelidir.
![Page 118: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/118.jpg)
Veri tabanı tüm istemciler tarafından kullanıldığı için, kullanıcı ve iş yükü arttıkça kullanımdaki etkinlik azalabilmektedir.
![Page 119: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/119.jpg)
Program ağdaki başka bir bilgisayara yüklenerek, yetki zaaflarına yol açabilir.
![Page 120: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/120.jpg)
Üç Katmanlı MimariÜç katmanlı mimaride, kullanıcı arayüzü, uygulama yazılımları, veriler ayrı bilgisayarlarda bulunmaktadır.
![Page 121: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/121.jpg)
Üç katmanlı mimaride, web tabanlı uygulamalar ile gerçekleştirilmektedir.
![Page 122: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/122.jpg)
Bu uygulamaları kullanmak için bir adet web brovser olması yeterlidir.
![Page 123: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/123.jpg)
Uygulama yazılımlarındaki bir değişiklik aynı anda yazılımı kullanan tüm programlarda etkin olacaktır.
![Page 124: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/124.jpg)
Gereksiz yetkilendirmeler ortadan kalkacaktır. Veri tabanı ile bağlantı uygulama yazılımı tarafından yapılacağı için veri tabanı daha etkin kullanılmaktadır.
![Page 125: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/125.jpg)
Dağıtık mimariler dağıtık bilgi işlemenin özelliklerine bu bölümde değinmiştik.
![Page 126: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/126.jpg)
Bu özellikten yarar sağlamak üzere bazı uygulamalar dağıtık olarak gerçekleştirilirler.
![Page 127: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/127.jpg)
Belirli bir kullanıcı yada sunucu mantığı yoktur ancak iletişimi kolaylaştırmak ve güvenilir hale getirmek için genellikle bir ara katman vardır.
![Page 128: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/128.jpg)
Dağıtık mimari ile hataya dayanıklı sistemler geliştirmek daha kolaydır.
![Page 129: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/129.jpg)
Genel olarak daha esnek bir yapıya sahip oldukları için rahatlıkla büyüme veya küçülme yapılabilir.
![Page 130: YAZILIM MİMARİLERİ](https://reader030.vdocuments.site/reader030/viewer/2022033013/568145b9550346895db2c2a1/html5/thumbnails/130.jpg)
HAZIRLIYANLAR
Öğr. Gör. Mevlüt İNAN