Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, bir eğitmen tarafından sunulan yazılım mimarisi konulu akademik bir ders formatındadır. Eğitmen, yazılım mimarisinin temel kavramlarını ve farklı mimari modellerini detaylı şekilde anlatmaktadır.
- Ders, yazılım mimarisinin tanımı ile başlayıp, mimari tasarım kararları, mimari görünümler ve mimari desenler (kalıplar) üzerine odaklanmaktadır. Özellikle MVC (Model-View-Controller) tasarım kalıbı, depo mimarisi, istemci-sunucu mimarisi, boru ve filtre mimarisi gibi farklı mimari modelleri detaylı olarak ele alınmaktadır. Ayrıca paketleme robotu kontrol sistemi, kütüphane yönetim sistemi ve dil işleme sistemleri gibi pratik örnekler üzerinden mimari modellerin nasıl uygulandığı gösterilmektedir.
- Videoda her mimari model için avantaj ve dezavantajları, farklı perspektiflerle belgelendirme yöntemleri ve uygulama sistemlerinin mimari modellerinin nasıl yardımcı olduğu vurgulanmaktadır. Eğitmen, .NET Core ve MVC ile ilgili diğer derslerin de bulunduğu bir ders serisi kapsamında bu konuyu anlatmaktadır.
- 00:02Yazılım Mimarisi ve Mimari Tasarım
- Yazılım mimarisi, bir sistemi oluşturan alt sistemleri ve iletişimi belirleme yönelik tasarım sürecidir.
- Mimari tasarım, sistem tasarım sürecinin erken bir aşaması olup spesifikasyon ve tasarım süreçleri arasındaki bağlantıyı temsil eder.
- Mimari tasarım sürecinin çıktısı yazılım mimarisinin bir açıklamasıdır.
- 00:57Paketleme Robotu Örneği
- Paketleme robotu kontrol sisteminde görüntüleme sistemi (vision system), nesne tanımlama sistemi (object identification system) ve kol/tutma kontrolcüsü (arm controller ve grip kontrolü) bulunur.
- Paketleme seçme sistemi ve paketleme sistemi, nesne tanımlama sisteminden geri bildirim alarak nesnenin hangi paketlemeye gireceği belirlenir.
- Convey controller sistemi de geri bildirim vererek paketleme işlemini tamamlar.
- 02:58Mimari Düzeyleri
- Kontrol sisteminin mimarisi, bireysel programların mimarisi ile ilgilenir ve tek bir programın bileşenlere ayrışmasıyla ilgilenir.
- Mimari, karmaşık kurumsal sistemleri içeren diğer sistemleri ve programları kapsar.
- Kurumsal sistemler farklı şirketler tarafından sahip olunan ve yönetilen farklı bilgisayarlara dağıtılır.
- 03:29Açık Mimarının Avantajları
- Mimarisi, sistem paydaşları tarafından bir tartışma odağı olarak kullanılabilir.
- Sistem analizi, mimariye bakarak sistemin işlevsel olmayan gereksinimlerini (güvenilirlik, bel bağlanabilirlik) karşılayıp karşılamadığını analiz etmeyi mümkün kılar.
- Büyük ölçekli yeniden kullanım, mimarinin başka sistemlerde de kullanılabilir olmasını sağlar.
- 04:45Mimari Temsiller
- Mimari temsiller, varlıkları ve ilişkileri gösteren basit gayri resmi blok diyagramlar olarak yazılım mimarilerini belgelemek için en sık kullanılan yöntemdir.
- Kutu ve hat diyagramları çok soyut olup bileşen ilişkilerini ve alt sistemlerin dışarıdan görülebilen özelliklerini göstermez.
- Mimari modeller, sistem tasarımı hakkında tartışmayı kolaylaştırır ve paydaşlarla iletişim ve proje planlaması için kullanışlıdır.
- 06:45Mimari Tasarım Kararları
- Mimari tasarım yaratıcı bir süreçtir ve geliştirilmekte olan sistemin türüne bağlı olarak farklılık gösterir.
- Genel bir uygulama mimarisi kullanılması, zamandan, bütçeden ve maliyetten tasarruf sağlar.
- Sistem nasıl dağıtılacak, hangi mimari tarzlar uygundur, sistem modülleri nasıl ayrıştırılacak gibi kararlar mimari tasarım sürecinde alınır.
- 08:00Mimari Yeniden Kullanım
- Aynı etki alanındaki sistemler genellikle etki alanı kavramlarını yansıtan benzer mimarilere sahiptir.
- Uygulama ürün serileri, belirli müşteri gereksinimlerini karşılayan varyantlara sahip bir çekirdek mimari etrafında oluşturulmuştur.
- Mantıklı bir sistemin mimarisi, birden fazla mimari desen veya stil etrafında tasarlanabilir.
- 08:59Mimari ve Sistem Özellikleri
- Kritik işlemleri yerelleştirin ve iletişimi en aza indirin.
- Az iş yapan bileşenler yerine büyük parçalar kullanın.
- Güvenlik için iç katmanlarda kritik varlıklara sahip katmanlı bir mimari kullanın.
- 12:35Mimari Görünümler
- Her mimari model, sistemin yalnızca bir görünümü veya perspektifini gösterir.
- Bir sistemin modüllere nasıl ayrıştırıldığını, çalışma zamanı süreçlerin nasıl etkileşimde bulunduğunu veya sistem bileşenlerinin bir ağda dağıtıldığını farklı yollara gösterebilir.
- Hem tasarım hem de dokümantasyon için yazılım mimarisinin birden çok görünümünü sunmak gerekir.
- 13:18Yazılım Mimarisi Görünüm Modelleri
- Yazılım mimarisinin dört artı bir görünüm modeli vardır: mantıksal görünüm, süreç görünümü, geliştirme görünümü, fiziksel görünüm ve kullanım senaryoları görünümü.
- Mantıksal görünüm, sistemdeki anahtar soyutlamaları nesneler veya nesne sınıfları olarak gösterir.
- Süreç görünümü, çalışma zamanında sistemin etkileşimli işlemlerden nasıl oluştuğunu gösterir.
- 14:13Mimari Desenler ve Kalıplar
- Mimari desenler (kalıplar), bilgiyi temsil etmenin, paylaşmanın ve yeniden kullanmanın bir yoludur.
- Mimari desen, farklı ortamlarda denenmiş ve test edilmiş iyi tasarım uygulamasının stilize bir açıklamasıdır.
- Kalıplar, ne zaman yararlı oldukları ve ne zaman yararlı olmadıkları hakkında bilgi içermelidir.
- 15:30MVC (Model-View-Controller) Deseni
- MVC (Model-View-Controller), programlamayı üç farklı katmana ayıran bir metodolojidir.
- MVC deseni, sunumu ve etkileşimi sistem verilerinden ayırır.
- Sistem üç mantıksal bileşene göre yapılandırılmıştır: model (verileri ve işlemler), görünüm (verilerin kullanıcıya nasıl sunulacağını tanımlar) ve denetleyici (kullanıcı etkileşimini yönetir).
- 19:24MVC Deseninin Avantajları ve Dezavantajları
- MVC deseni kullanıldığında, verilerin temsilinden bağımsız olarak değişmesine izin verir ve aynı verileri farklı şekillerde sunumda destekler.
- Bu desen, verileri görüntülemenin ve etkileşim kurmanın birden fazla yolu olduğunda veya gelecekteki gereksinimler bilinmediğinde kullanılır.
- MVC deseni, sistemdeki farklı katmanların birbirinden bağımsız olarak geliştirilmesini sağlar ve takımları daha kolay bölmeye imkan tanır.
- Dezavantajı olarak, veri modeli ve etkileşimleri basit olduğunda ek kod ve karmaşıklık içerebilir.
- 22:22MVC Modeli ve Katmanları
- MVC (Model-View-Controller) modelinde kontrolü kullanıcı etkileşimini sağlar ve kullanıcı aksiyonlarını model güncellemelerine eşleştirmektedir.
- Kontrolü, kullanıcı etkinliklerini alarak model güncelleme işlemlerini gerçekleştirir ve görüntü olarak kullanıcıya geri dönüş sağlar.
- Görünüme, model güncellemelerini talep eder ve modeli render yaparak ekrana yansıtır.
- 25:04Model ve Görünüm Katmanları
- Görünüm katmanı, kontrolüden girdi alır ve modeldeki değişiklik bilgilerini kullanıcıya aktarır.
- Model, uygulamanın durumunu en kapsülleyen katmandır ve durum değişikliklerini görünüme aktarır.
- Tarayıcı (platform), kullanıcı girdilerini alarak görüntüleri gösterir ve dinamik sayfa oluşturma, formların yönetimi gibi görevleri üstlenir.
- 28:46Controller Katmanı
- Controller katmanı, HTTP istek işleme, uygulama spesifik mantık ve veri doğrulama işlemlerini gerçekleştirir.
- Kullanıcı girdilerini doğrulayan kontrol, veritabanına güncelleme istekleri gönderir.
- MVC modeli kullanan web uygulamasının mimarisi, katmanlı bir yapıda organize edilir.
- 30:12Katmanlı Mimaride
- Katmanlı mimari, alt sistemlerin arayüzünü modellemek için kullanılır ve her katman bir dizi hizmet sunar.
- Katmanlı mimari, mevcut sistemlerin üzerine yeni yapılar inşa ederken, çok seviyeli güvenlik gerektirdiğinde ve geliştirme sürecini ekiblere dağıttığımızda kullanılır.
- Katmanlı mimarinin avantajı, arayüz korunduğu sürece tüm katmanların değiştirilebilmesidir, dezavantajı ise katmanlar arası ayrımı sağlamak zor olabilir.
- 32:54Kütüphane Yönetim Sistemi Örneği
- Kütüphane Yönetim Sistemi (LIP-SYS), kullanıcı arayüzü, kütüphane giriş formları, query manager ve print manager gibi katmanlardan oluşur.
- Sistemin alt katmanlarında dağıtık arama sistemi, doküman getirme, haklar yöneticisi ve hesap tutma işlemleri yer alır.
- En altta kütüphane indeksi ve farklı veritabanları bulunur.
- 35:31Yazılım Mimarisi
- Yazılım mimarisi, bir yazılım sisteminin nasıl organize edildiğinin açıklamasıdır.
- Mimaride uygulama türü, sistemin dağılımı ve kullanılacak mimari tarzlar hakkında kararlar alınır.
- Mimariler kavramsal, mantıksal, süreç ve geliştirme görünümü gibi farklı perspektiflerle belgelenebilir.
- 36:06Depo Mimarisi
- Depo mimarisi, veri alışverişinde bulunmak için merkezi bir veri tabanında veya depoda tutulan paylaşılan verilerin tüm alt sistemler tarafından erişilmesini sağlar.
- Depo deseni, sistemdeki tüm verilerin tüm sistem bileşenlerinin erişebileceği merkezi bir depoda tutulmasını sağlar.
- Depo mimarisinde bileşenler bağımsız olabilir, değişiklikler tüm bileşenlere yayılabilir ve tüm veriler tutarlı bir şekilde yönetilebilir, ancak depo tek bir hata noktasıdır ve arşiv aracılığıyla iletişimin organize edilmesinde verimsizlikler olabilir.
- 38:03Depo Mimarisi Örneği
- IDE (Integrated Development Environment) örneğinde, her bir yazılım aracı mevcut olan bilgileri üretir ve diğer araçlar tarafından kullanılmak üzere bilgileri depolayabilir.
- Bu model, uzun süre saklanması gereken büyük hacimli bilgilerin üretildiği sistemlerde veya veri havuzuna veri dahil edilmesinin bir eylemi veya aracı tetiklediği veri odaklı sistemlerde kullanılabilir.
- Visual Studio gibi gelişmiş IDE'lerde, tasarımcı, kod üreticileri, analiz araçları ve rapor oluşturucular gibi bileşenlerin tutulduğu bir proje deposu bulunur.
- 41:39İstemci-Sunucu Mimarisi
- İstemci-sunucu mimarisi, sistemin işlevselliğinin her hizmetin ayrı bir sunucuda teslim edildiği hizmetler şeklinde düzenlenmesini sağlar.
- Netflix gibi bir film veya video kitaplığı, paylaşılan bir veritabanındaki verilere çeşitli konumlardan erişilmesi gerektiğinde kullanılır ve sunucular çoğaltılabilir.
- Bu modelin temel avantajı sunucuların birbirinden bağımsız olarak dağıtılabilmesidir, ancak her hizmet tek bir hata noktasıdır ve sistem ağa bağlı olduğu için performans tahmin edilemez olabilir.
- 44:54Boru ve Filtre Mimarisi
- Boru ve filtre mimarisi, işlevsel dönüşümlerin girdilerini işleyerek çıktı üretmesi için kullanılan bir yaklaşımdır.
- Bu mimari, veri işleme sistemlerinde yaygın olarak kullanılan seri sıralı bir modeldir, ancak etkileşimli sistemler için uygun değildir.
- Faturaları işlemek için kullanılan bir boru ve filtre sistemi örneğinde, faturalar okunur, ödemeler tanımlanır ve sonuçlar alıcılara gönderilir.
- 45:57Boru ve Filtre Mimarisi Avantajları ve Dezavantajları
- Bu mimarinin avantajları: anlaşılması kolaydır, dönüşümün yeniden kullanımını destekler, iş akışı stili ile uyumludur ve yeni dönüşümler kolayca eklenebilir.
- Dezavantajları: veri aktarımı için format kararlaştırılması gerekir, her dönüşüm girdisini ayrıştırmalıdır ve bu sistemin ek yükünü artırabilir.
- Boru ve filtre mimarisi, sıralı veya eş zamanlı bir sistem olarak kullanılabilir.
- 47:28Uygulama Mimarileri
- Uygulama sistemleri, organizasyonel bir ihtiyacı karşılayacak şekilde tasarlanmıştır ve genellikle ortak bir mimariye sahiptir.
- Genel bir uygulama mimarisi, belirli gereksinimleri karşılayan bir sistem oluşturmak için yapılandırılabilen bir tür yazılım sistemi için bir mimaridir.
- Uygulama mimarileri, tasarım başlangıç noktası, kontrol listesi, geliştirme ekibini organize etme aracı ve uygulama türleri hakkında konuşmak için bir kelime dağarcığı olarak kullanılabilir.
- 48:20Uygulama Türleri
- Veri işleme uygulamaları, kullanıcı müdahalesi olmadan verileri toplu olarak işleyen uygulamalardır (örneğin hava tahmini).
- İşlem uygulamaları, kullanıcı isteklerini işleyen ve veritabanındaki bilgileri güncelleyen uygulamalardır (örneğin Facebook).
- Sistem eylemleri, sistem ortamındaki olayları yorumlamaya bağlı uygulamalardır (örneğin online oyunlar).
- Dil işleme sistemleri, kullanıcıların niyetlerini sistem tarafından işlenen ve yorumlanan resmi bir dilde belirttiği uygulamalardır (örneğin Google arama).
- 50:05İşlem İşleme Sistemleri
- İşlem işleme sistemleri, e-ticaret, rezervasyon, derleyiciler ve komut tercümanları gibi uygulamaları içerir.
- Bu sistemler, veritabanında bilgi taleplerini veya veritabanlı güncelleme taleplerini işler.
- Kullanıcı perspektifinden bir işlem, bir hedefi karşılığı tutarlı işlemler dizisidir (örneğin Londra'dan Paris'e uçuşları zamanlamak).
- 51:46ATM Yazılım Mimarisi Örneği
- ATM yazılım mimarisinde, giriş kısmında müşteri bilgilerinin alınması, kart doğrulaması ve hizmet seçimi bulunur.
- İşlem kısmında, hesap sorgulaması ve hesap güncelleme işlemleri gerçekleştirilir.
- Çıktı kısmında, fiş verilmesi, kart iade edilmesi ve para dışarıya çıkarılması gerçekleşir.
- 52:44Bilgi Sistemleri Mimarisi
- Bilgi sistemleri, işlem tabanlı sistemlerdir ve genellikle katmanlı bir mimariye sahiptir.
- Klasik bilgi tabanlı bilgi sistemi mimarisinde kullanıcı arayüzü, kullanıcı iletişim, kimlik doğrulama, bilgi çekme-değiştirme ve işlem veritabanı katmanları bulunur.
- Akıl hastalıkları hastane yönetim sistemi örneğinde, web tarayıcısı, giriş, rol çekme, form ve menü yönetimi, veri doğrulama, güvenlik yönetimi, hasta bilgi yönetimi, veri aktarımı ve rapor üretme sistemleri katmanlar halinde düzenlenmiştir.
- 54:53Web Tabanlı Bilgi Sistemleri
- Web tabanlı bilgi sistemleri, kullanıcı arayüzlerinin web tarayıcısı kullanılarak uygulandığı sistemlerdir.
- E-ticaret sistemleri, mallar ve hizmetler için elektronik siparişleri kabul eden ve teslimatı düzenleyen internet tabanlı kaynak yönetim sistemleridir.
- Web tabanlı sistemler genellikle çok katmanlı istemci-sunucu mimariler olarak uygulanır: web sunucusu kullanıcı arayüzü, uygulama sunucusu uygulama mantığını ve bilgi erişimini, veritabanı sunucusu ise veritabanı işlemleri ve işlem yönetimini gerçekleştirir.
- 56:19Dil İşleme Sistemleri
- Dil işleme sistemleri, doğal ve yapay bir dili girdi olarak kabul eder ve o dilin başka bir temsilini oluşturur.
- Bu sistemler, bir tercüman içerebilir ve talimatlara göre hareket edebilir.
- Bir problemi çözmenin en kolay yolunun bir algoritmayı veya sistem verilerini tanımlamak olduğu durumlarda kullanılır.
- 56:44Dil İşleme Sistemleri
- Meta durum araçları, araç açıklamaları, yöntem kuralları ve benzeri işleri ve araçları üretir.
- Dil işleme sisteminin mimarisi, kaynak dilindeki komutları alarak önce söz dizimi kontrolü yapar, sonra anlamsal kontrol yapar ve abstrak makine komutları üretir.
- Üretilen komutları bir yorumlayıcı alır, veriyi çekip işler ve sonuçları gönderir.
- 58:13Derleyici Bileşenleri
- Derleyici bileşenler arasında belirteçleri alan sözcük analizcisi, sembol tablosu, söz dizimi çözümleyicisi ve söz dizimi ağacı bulunur.
- Anlamsal analiz, giriş dili metninin anlamsal doğruluğunu kontrol ederken, kod üretici soyut makine kodu üretir.
- Dil işleme sistemleri için iki farklı mimari model vardır: boru ve filtre derleyici mimarisi ile havuz mimarisi.
- 1:00:36Uygulama Sistemleri
- Uygulama sistemi mimarilerinin modelleri, uygulamaları anlamamıza, karşılaştırmamıza ve tasarımları doğrulamamıza yardımcı olur.
- Dil işleme sistemleri, metinde bir dilden diğerine çevirmek ve giriş dilinde belirtilen talimatları gerçekleştirmek için kullanılır.
- Bu sistemler çevirme ve üretilen ile çalışan soyut makineleri içerir.