Bir **sistem mimarisi** veya çoklu sistemlerin mimarisi; sistemin yapısını, davranışını ve biçimselliğini tanımlayan kavramsal modeldir. Bir mimari tanımı; sistemin yapıları ve davranışları hakkında mantıksallığı destekleyecek şekilde organize edilen ilişkiselliğin standart bir açıklaması veya temsilidir.

Bir sistem mimarisi, sistemin uygulanması için birlikte çalışan sistem bileşenlerini, geliştirilmiş ve genelleştirilmiş sistemleri içerebilir. Sistem mimarisini tanımlamada kullanılmak üzere diller yaratılmıştır, bunlara toplu olarak, mimari tanımlama dili(ADL) denilmektedir.

Genel bakış
-----------

Çeşitli kuruluşlar sistem mimarisini farklı şekillerde tanımlamışlardır:

* Somut bileşenlere sahip bir sistemin temel organizasyonu, birbirleriyle ve çevreyle olan ilişkileri ve bütün bunların tasarımı ve gelişimini düzenleyen ilkelerden meydana gelmektedir. Android işletim sisteminde kullanılan sistem mimarisine genel bakış. Sistem mimarisi çeşitlerinden yazılım mimarisine aittir.
* Donanım ve yazılım bileşenleri üzerinde işlevsellik kazandırmak için bileşenlerin birbirleriyle eşleştirilmesi, yazılım mimarisinin donanım mimarisi üzerinde haritalanması ve bu bileşenlerle insan etkileşimi de dahil olmak üzere bir sistemin gösterimi veya şeması.
* Fonksiyonel mimarinin gerekliliklerini ve temel gereksinimlerini karşılamayı amaçlayan bir tüketici ürünü veya yaşam döngüsü süreci için tasarım geliştirilmesini sağlayan fiziksel unsurlara tahsis edilmiş bir dizi kapsamlı çalışma.
* Bir mimari, genel yapı, yapıyla ilişkili karakteristiklerin tanımlanması ve davranış hakkında önemli, yaygın, üst düzeyde, stratejik buluş niteliğinde çalışmalar ve bunlara ilişkin rasyonelleştirmeleri içerir.
* Bir bilgisayar sisteminin tasarımı ve içeriğinin açıklaması belgelenirse; mevcut donanımın, yazılımın ve ağ yeteneklerinin ayrıntılı bir envanteri gibi bilgileri içermelidir.Uzun menzilli planların ve gelecek satın alımların öncelikleriyle ilgili bir açıklaması, tarihli ekipman ve yazılımın güncellenmesi ve / veya değiştirilmesi için bir plan oluşturulması önemlidir.
* Bir sistemin standart bir tarifi veya sistemin uygulanmasını yönlendirmek için bileşen seviyesinde ayrıntılı bir plan belirtilmesine ihtiyaç duyulur.
* Tasarım mimarilerinin ürünler için bileşimi ve yaşam döngüsü süreçlerinin tanımlanması gereklidir.
* Bileşenlerin yapısı, birbirleriyle olan ilişkileri ve zaman içindeki tasarım ve evrimini yöneten ilke ve esaslar belirtilmelidir.

Sistem mimarisi, mevcut (veya gelecekteki) bir sistemin temsilcileri olarak düşünebilir. Bu tasvirler başlangıçta genel, üst düzey bir işlevsel organizasyonu tanımlamaktadır ve kademeli olarak daha detaylı ve somut açıklamalarla rafine edilmiştir.

Sistem mimarisi, bir sistemi içeren öğelerin bilgi içeriğini, bu öğeler arasındaki ilişkileri ve bu ilişkileri düzenleyen kuralları belirtir. Bir mimari tanımı; donanımlar, yazılımlar, dokümantasyonlar, kaynaklar, manuel prosedürler, kuruluşlar ya da kişiler tarafından meydana gelen ilişkilerden oluşabileceği gibi, mimari bileşenleri ve bu bileşenler arasındaki ilişkiler dizisi anlamına da gelmektedir.

Bir sistem mimarisi öncelikle sistemin bileşenleri veya alt sistemleri arasındaki iç arabirimlerle, sistem ile dış ortamın ilişkisiyle ve özellikle kullanıcı arabirimi üzerinde yoğunlaşır. (Bilgisayar sistemlerinin özel olması durumunda, bu yeni özel arabirim; bilgisayar-insan arabirimi, insan-bilgisayar arabirimi(AKA) veya insan-makine arayüzü(CHI) olarak adlandırılabilir.

Sistem mimarisi mühendisliği(SAE) ise sistemin mimarisini etkili bir şekilde uygulamak için kullanılan yöntem ve disiplin ile ilgili sistem mimarilerini analiz, tasarım ve geliştirilmesi üzerine çalışmaktadır.

SAE bir yöntemdir.Çünkü bir dizi kısıtlama içinde sistemin mimarisini üretmek veya değiştirmek için çözümler geliştirilmeli ve çalışılan ortamın mevcut işlevselliğini bozmamalıdır.

SAE bir disiplindir.Çünkü mimarideki bilgi birimleri, sistemin bir dizi kısıtlama içinde geliştirilmesinin en etkili yolu olarak nitelikli bilgiyi esas alır.

Tarih
-----

Sistemlerin mimarisi, binlerce yıldır bilgisayar biliminin dışındaki alanlarda, özellikle de sivil mimaride geliştirilen uygulama ve teknikler üzerine yoğunlaşmaktadır.

Dijital bilgisayarların gelişinden önce, elektronik ve diğer mühendislik disiplinleri, bugün hala yaygın olarak kullanılan "sistem" terimini kullandı. Bununla birlikte, sayısal bilgisayarların gelişimiyle ve yazılım mühendisliğinin ayrı bir disiplin olarak gelişmesiyle birlikte, çoğu zaman mühendislik ürünü eserler, yazılım eserleri ve bütünleşik eserler arasında ayrım yapmak gerekliydi. Bilgisayar programından yoksun programlanabilir bir donanım eseri veya bilgi işlem makinesi yaratmak imkânsızdır.Buna karşın bir yazılım eseri veya programı da, uygun bir (donanım) makinenin ardışık durumlarını değiştirmek için kullanılmadıkça, aynı derecede imkânsızdır. Bununla birlikte, bir donanım makinesi ve onun programlaması neredeyse bütünü kapsayacak şekilde belirlenemeyen soyut ve fiziksel görev sayısını gerçekleştirecek şekilde tasarlanabilir.Bilgisayar mühendisliği ve yazılım mühendisliği disiplinleri (ve genellikle iletişim gibi diğer mühendislik disiplinleri) içinde, sistem terimi, gerekli olan tüm öğeleri ve fonksiyonlarını (genelde hem donanım hem de yazılımı) içermektedir.

Dolayısıyla, mühendislik disiplinleri içindeki bu alan, bir sistemin genelde programlanabilir donanım makinesini ve onun içerdiği programı ifade eder. Ve bir sistem mühendisi, hem donanım, hem yazılım ve daha özel olarak donanım ve yazılım arasındaki ve özellikle cihazın tamamı ile kullanıcısı arasındaki etkileşim ile ilgilenmelidir. Donanım mühendisi, donanım aygıtıyla (daha fazla veya daha az) ilgilenir; Yazılım mühendisi (daha fazla veya daha az) sadece bilgisayar programı ile ilgilenir.Ve sistem mühendisi, programın donanım aygıtı içinde düzgün çalışabildiğini görmekten, harici çevreden, özellikle kullanıcı ile makinenin düzgün bir şekilde etkileşime girmesinden ve amaçlanan işlevini yerine getirme yeteneğinden sorumludur.

Bir sistem mimarisi hem yazılımın hem de donanımın öğelerini kullanır ve böyle bir bileşik sistemin tasarımını etkinleştirmek için kullanılır. İyi bir mimari, sistemin mevcut ve öngörülebilir gereksinimlerini, açıkta hiçbir şey kalmamış, temiz şekilde sınırlanmış alt sistemlere bölen bir 'bölümleme şeması' veya algoritma tanımlamalıdır.Yani, özel, kapsayıcı ve ayrıntılı bir bölümleme şeması içermelidir.Bölümlemenin temel amacı, elemanları alt sistemlere yerleştirmektir, böylece aralarında gereken minimum bağımlılık sağlanır. Hem yazılım hem de donanımda, iyi bir alt sistem, anlamlı bir "nesne" olarak görülme eğilimi gösterir. Dahası, iyi bir mimari, kullanıcının gereksinimlerine kolay bir haritalama ve kullanıcının gereksinim doğrulama testlerini sağlar. İdeal bir mimaride, her öğenin bütün gereksinim ve sınaması için en az bir eşleme ya da tanımlama bulunmalıdır.

Çeşitleri
---------

Sistem mimarilerinin çeşitli türleri aşağıdaki gibi tanımlanmıştır:

* Donanım mimarisi
* Yazılım mimarisi
* Kurumsal mimari
* İşbirlikçi sistemler mimarileri (İnternet, akıllı ulaşım sistemleri ve merkezi hava savunma sistemleri gibi)
* Üretim sistemleri mimarileri
* Stratejik sistemler mimarisi

Kaynakça
--------

1. ↑  Hannu Jaakkola and Bernhard Thalheim. (2011) "Architecture-driven modelling methodologies." In: Proceedings of the 2011 conference on Information Modelling and Knowledge Bases XXII. Anneli Heimbürger et al. (eds). IOS Press. p. 98
2. ↑  Nenad Medvidovic and Richard N. Taylor (2000). "A classification and comparison framework for software architecture description languages. 11 Haziran 2010 tarihinde Wayback Machine sitesinde arşivlendi." Software Engineering, IEEE Transactions on 26.1 (2000): 70-93.
3. ↑  From ANSI/IEEE 1471-2000.
4. ↑  From the Carnegie Mellon University's Software Engineering Institute 3 Aralık 2009 tarihinde Wayback Machine sitesinde arşivlendi..
5. ↑  From The Human Engineering Home Page 13 Şubat 2015 tarihinde Wayback Machine sitesinde arşivlendi.'s Glossary.
6. ↑  From OPEN Process Framework (OPF) Repository 5 Mart 2006 tarihinde Wayback Machine sitesinde arşivlendi..
7. ↑  From The National Center for Education Statistics glossary 20 Aralık 2016 tarihinde Wayback Machine sitesinde arşivlendi..
8. ↑  TOGAF
9. ↑  From IEEE 1220-1998 as found at their glossary.
10. ↑  TOGAF.
11. ↑  The Method Framework for Engineering System Architectures, Donald Firesmith et al. 2008
12. ↑  The Art of Systems Architecture, Mark Maier and Eberhardt Rechtin, 2nd ed 2002
13. ↑  Choosing A Strategic Systems Architecture, by Brad Day

| * g
* t
* d
Bilgisayar biliminin alt dalları |
| --- |
| Matematiksel temeller | Matematiksel mantık **·**  Kümeler kuramı **·**  Sayı teorisi **·**  Çizge teorisi **·**  Tip teorisi **·**  Kategori teorisi **·**  Sayısal çözümleme **·**  Bilgi teorisi **·**  Kombinatorik **·**  Boole cebiri |  |
| Hesaplama teorisi | Otomat teorisi **·**  Hesaplanabilirlik teorisi **·**  Hesaplamalı karmaşıklık teorisi **·**  Kuantum hesaplama teorisi |
| Algoritmalar ve veri yapıları | Algoritma çözümlemesi **·**  Algoritma tasarımı **·**  Hesaplamalı geometri |
| Programlama dilleri ve derleyiciler | Ayrıştırıcılar **·**  Yorumlayıcılar **·**  Yordamsal programlama **·**  Nesne yönelimli programlama **·**  Fonksiyonel programlama **·**  Mantık programlama **·**  Programlama paradigmaları |
| Eşzamanlı, paralel ve dağıtık sistemler | Çoklu işleme **·**  Dağıtımlı hesaplama **·**  Eşzamanlılık denetimi |
| Yazılım mühendisliği | Gereksinim çözümleme **·**  Yazılım tasarımı **·**  Bilgisayar programlama **·**  Biçimsel yöntemler **·**  Yazılım testi **·**  Yazılım geliştirme süreci |
| Sistem mimarisi | Bilgisayar mimarisi **·**  Bilgisayar organizasyonu **·**  İşletim sistemi |
| Telekomünikasyon ve ağ oluşturma | Bilgisayar müziği **·**  Yönlendirme **·**  Örgü topolojisi **·**  Kriptografi |
| Veritabanları | Veritabanı yönetim sistemleri **·**  İlişkisel veritabanı **·**  SQL **·**  İşlem yürütme **·**  Veritabanı indeksleme **·**  Veri madenciliği **·**  Metadata (Üst veri) **·**  Ana veri (Master data) |
| Yapay zekâ | Otomatikleştirilmiş muhakeme **·**  Bilgisayarlı dilbilim **·**  Bilgisayarlı görü **·**  Evrimsel hesaplama **·**  Uzman sistemler **·**  Makine öğrenimi **·**  Doğal dil işleme **·**  Robotik |
| Bilgisayar grafikleri | Görselleştirme **·**  Bilgisayar animasyonu **·**  Görüntü işleme |
| İnsan-bilgisayar etkileşimi | Bilgisayar erişilebilirliği **·**  Kullanıcı arayüzleri **·**  Giyilebilir hesaplama **·**  Yaygın bilişim **·**  Sanal gerçeklik |
| Bilimsel hesaplama | Yapay yaşam **·**  Biyoenformatik **·**  Bilişsel bilim **·**  Bilgisayarlı kimya **·**  Hesaplamalı nörobilim **·**  Hesaplamalı fizik **·**  Sayısal algoritmalar **·**  Sembolik matematik |
| Bilgisayar bilimi, ACM Hesaplama ve Sınıflandırma Sistemi'ne göre farklı konu ve alanlara ayrılabilir. |