Sistem mimarı - Systems architect

Sistem Mimarı
James Webb Birincil Ayna.jpg
Sistem mimarları, büyük ve karmaşık sistemleri, bireysel mühendisler tarafından idare edilebilecek yönetilebilir alt sistemlere böler.
Meslek
İsimler Sistem Mimarı
Meslek türü
Uzmanlık alanı
Faaliyet sektörleri
Sistem Mühendisliği
Sistem
Tasarım
Mühendisliği
Açıklama
Yeterlilikleri kullanıcı alanı bilgisi , bilimsel bilgi, mühendislik, planlama ve yönetim becerileri
Eğitim gerekli
Eğitime bakın

Sistem mimarı bir olan bilgi ve iletişim teknolojileri profesyonel. Sistem Architects tanımlayan mimari bir bilgisayar sisteminin (örneğin, donanım ve yazılım oluşan bir sistemi) için belirli yerine getirmek için gereksinimleri . Bu tanımlar şunları içerir: sistemin bileşenlere ayrılması, bileşen etkileşimleri ve arayüzleri (çevre, özellikle kullanıcı dahil) ve tasarımında ve uygulanmasında kullanılacak teknolojiler ve kaynaklar.

Sistem mimarının çalışması, uygulama sorunlarından kaçınmalı ve gelecekteki aşamalarda beklenmeyen uzantılara/değişikliklere kolayca izin vermelidir. Bunun için gereken kapsamlı deneyim nedeniyle, sistem mimarı tipik olarak donanım, yazılım ve benzeri (kullanıcı) sistemler hakkında önemli ancak genel bilgiye sahip çok kıdemli bir teknoloji uzmanıdır. Her şeyden önce, sistem mimarı, kullanıcıların deneyim alanı hakkında makul derecede bilgili olmalıdır. Örneğin, bir hava trafik sisteminin mimarının, her seviyedeki kullanıcının görevleri de dahil olmak üzere, bir hava trafik sisteminin tüm görevlerine yüzeysel olarak aşina olması gerekir.

Sistem mimarı unvanı, bir yazılım mühendisi veya programcıdan daha üst düzey tasarım sorumluluklarını ifade eder , ancak günlük faaliyetler çakışabilir.

genel bakış

Sistem mimarları , çeşitli gereksinimleri, etki alanını, uygulanabilir teknolojileri ve beklenen geliştirme sürecini anlamak için bir kuruluştaki birden çok paydaşla arayüz oluşturur . Çalışmaları, birden fazla tasarım ve uygulama alternatifinin belirlenmesini, belirlenen tüm kısıtlamalara (maliyet, program, alan, güç, güvenlik, kullanılabilirlik, güvenilirlik, bakım kolaylığı, kullanılabilirlik ve diğer "eksiklikler" gibi ) dayalı olarak bu tür alternatiflerin değerlendirilmesini ve en çok tercih edilenin seçilmesini içerir. daha fazla tasarım için uygun seçenekler. Bu tür çalışmaların çıktıları, sistemin temel özelliklerini ve daha sonra değiştirilmesi en zor olan özelliklerini belirler.

Küçük sistemlerde mimari tipik olarak doğrudan geliştiriciler tarafından tanımlanır. Bununla birlikte, daha büyük sistemlerde, genel sistemi ana hatlarıyla belirtmek ve bir yanda kullanıcılar, sponsorlar ve diğer paydaşlar ile diğer yanda mühendisler arasında arayüz oluşturmak için bir sistem mimarı atanmalıdır. Çok büyük, oldukça karmaşık sistemler birden fazla mimar içerebilir, bu durumda mimarlar kendi alt sistemlerini veya yönlerini entegre etmek için birlikte çalışırlar ve tüm sistemden sorumlu bir baş mimara yanıt verirler. Genel olarak, mimarın rolü, kullanıcılar ve mühendisler arasında bir arabulucu olarak hareket ederek, kullanıcıların ihtiyaç ve gereksinimlerini, mühendislerin verilen (mühendislik) kısıtlamalar dahilinde yapılabilir olarak belirledikleri şeylerle uzlaştırmaktır.

Gelen sistem tasarımı , mimar (ve mühendisler) sorumludur:

  • Kullanıcı (lar) ve sponsor (lar) ve diğer tüm paydaşlarla (gelişen) ihtiyaçlarını belirlemek için arayüz oluşturmak .
  • Sistem gereksinimlerini en üst düzeyde oluşturuluyor , kullanıcıların ihtiyaçları ve diğer sınırlamalar dayalı.
  • Bu üst düzey gereksinimler dizisinin tutarlı , eksiksiz, doğru ve operasyonel olarak tanımlanmış olmasını sağlamak .
  • Sahne maliyet-fayda analizleri gereksinimleri en iyi kılavuzu, yazılım veya tarafından karşılanmaktadır belirlemek için donanım fonksiyonları; ticari kullanıma hazır veya halihazırda geliştirilmiş bileşenlerden maksimum düzeyde yararlanma .
  • Tüm mevcut ve öngörülebilir gereksinimleri, bölümler arasında ve kullanıcılar ile sistem arasında minimum iletişim gerektirecek şekilde ayrı bölümlere ayırmak için bölümleme algoritmaları (ve diğer işlemler ) geliştirmek .
  • Büyük sistemleri, her biri tek bir mühendis veya mühendis ekibi veya alt mimar tarafından idare edilebilen alt sistemlere ve bileşenlere (ardışık katmanlara) bölme .
  • Tasarım ve uygulama mühendisleri ve mimarları ile arayüz oluşturarak tasarım veya uygulama sırasında ortaya çıkan sorunların temel tasarım kavramlarına ve kullanıcıların ihtiyaç ve kısıtlamalarına uygun olarak çözülebilmesi.
  • Maksimum düzeyde sağlam ve genişletilebilir bir tasarımın geliştirilmesini sağlamak.
  • Tasarımcılar, test mühendisleri ve kullanıcılarla birlikte, özellikle bilgisayar-insan-arayüzü için tüm üst düzey gereksinimlerin karşılandığını belirleyen bir dizi kabul testi gereksinimi oluşturmak .
  • Kullanıcıları ve mühendisleri sürekli güncel tutmak için eskizler , modeller , erken kullanım kılavuzu ve prototipler gibi ürünler üretmek ve gelişen sistem üzerinde anlaşmaya varmak.
  • Tüm mimari ürünlerin ve mimari girdisi olan ürünlerin en güncel durumda tutulmasını ve asla ciddi şekilde gecikmesine veya eskimesine izin verilmemesini sağlamak.

Sistem mimarı: konular

Büyük sistem mimarisi, bırakın tasarlamayı, bir kişinin düşünemeyeceği kadar büyük sistemleri ele almanın bir yolu olarak geliştirildi. Bu boyuttaki sistemler hızla norm haline geliyor, bu nedenle büyükten çok büyüke sistemlerin sorunlarını çözmek için mimari yaklaşımlara ve mimarlara giderek daha fazla ihtiyaç duyuluyor. Genel olarak, giderek daha büyük sistemler, her katmanın, her biri kendi ana mühendisi ve/veya mimarına sahip olan bir dizi ayrı ayrı anlaşılabilir alt katmandan oluştuğu bir katmanlama yaklaşımıyla 'insan' oranlarına indirgenir. Bir düzeyde tam bir katman, daha yüksek bir katmanın işlevsel bir 'bileşeni' olarak gösterilecektir (ve en yüksek katmanlarda tamamen kaybolabilir).

Kullanıcılar ve sponsorlar

Mimarlar olan insan ihtiyaçlarını anlamak ve insanca fonksiyonel ve estetik görünümlü ürünler geliştirmek bekleniyor. İyi bir mimar, aynı zamanda, kullanıcıların nihai ürün vizyonunun ve bu vizyondan gereksinimlerin türetilmesi ve uygulanması sürecinin temel koruyucusudur.

Mimarlar kesin prosedürleri takip etmezler. Kullanıcılarla/sponsorlarla oldukça etkileşimli, nispeten gayri resmi bir şekilde iletişim kurarlar - birlikte tasarlanan (son) sistem için gerekli gerçek gereksinimleri çıkarırlar . Mimar, son kullanıcılar ve (ana) sistem mühendisleri ile sürekli iletişim halinde kalmalıdır. Bu nedenle, mimar, kullanıcıların ortamına ve problemine ve olası çözüm uzaylarının mühendislik ortam(lar)ına yakından aşina olmalıdır.

Üst düzey gereksinimler

Kullanıcı gereksinimleri spesifikasyonu, kullanıcılar ve mimarın ortak bir ürünü olmalıdır: kullanıcılar ihtiyaçlarını ve istek listesini getirir, mimar maliyet, zaman ve diğer kısıtlamalar dahilinde nelerin yapılabileceğine dair bilgi getirir. Kullanıcıların ihtiyaçları bir dizi üst düzey gereksinime dönüştürüldüğünde, kabul testinin ilk versiyonunu yazmak için en iyi zaman , daha sonra dini olarak gereksinimlerle güncel tutulması gerekir. Bu şekilde, kullanıcılar ne elde ettikleri konusunda kesinlikle net olacaktır. Ayrıca, test edilemeyen gereksinimlere, yanlış anlamalara ve gereksinim kaymalarına karşı bir korumadır.

Birinci seviye mühendislik gereksinimlerinin geliştirilmesi tamamen analitik bir çalışma değildir ve hem mimarı hem de mühendisi içermelidir. Herhangi bir taviz verilecekse - kısıtlamaları karşılamak için - mimar, nihai ürünün ve genel görünümün ve hissin kullanıcıların niyetinden çok uzaklaşmamasını sağlamalıdır. Mühendis, kısıtlamaları optimize eden ancak uygulanabilir, güvenilir, genişletilebilir ve sağlam bir ürün sağlayan bir tasarım geliştirmeye odaklanmalıdır. Kullanıcılara ihtiyaç duyulan hizmetlerin sağlanması, tasarlanmış bir sistemin gerçek işlevidir. Bununla birlikte, sistemler giderek daha büyük ve daha karmaşık hale geldikçe ve vurguları basit donanım ve yazılım bileşenlerinden uzaklaştıkça, geleneksel sistem geliştirme ilkelerinin dar uygulamalarının yetersiz olduğu görülmüştür - daha genel sistem, donanım ve donanım ilkelerinin uygulanması. ve yazılım mimarisinin (alt)sistemlerin tasarımına ihtiyaç olduğu görülmektedir. Mimari, bitmiş ürünün basitleştirilmiş bir modeli olarak da görülebilir - birincil işlevi, parçaları ve bunların birbirleriyle olan ilişkilerini tanımlamaktır, böylece bütünün, kullanıcıların neyi temsil ettiğinin tutarlı, eksiksiz ve doğru bir temsili olduğu görülebilir. ' aklındaydı - özellikle bilgisayar-insan-arayüz için. Ayrıca parçaların birbirine tam oturmasını ve istenilen şekilde ilişki kurmasını sağlamak için de kullanılır.

Kullanıcı dünyasının mimarisi ile tasarlanmış sistem mimarisi arasında ayrım yapmak gerekir. İlki, kullanıcının dünyasındaki sorunları ve çözümleri temsil eder ve ele alır . Esas olarak mühendislik sisteminin bilgisayar-insan-arayüzlerinde (CHI) yakalanır . Mühendislik sistemi temsil mühendislik nasıl çözümlerine mühendisi geliştirmek ve / veya seçip CHI desteklemek için teknik altyapı bileşenlerini birleştirmek için önermektedir. Deneyimli bir mimarın yokluğunda, iki mimariyi birbirine karıştırmak için talihsiz bir eğilim vardır. Ancak - mühendis, donanım ve yazılım ve teknik çözüm alanı açısından düşünürken, kullanıcılar, insanları A noktasından B noktasına makul bir sürede ve makul bir harcamayla getirme sorununu çözme açısından düşünüyor olabilir. enerji veya müşterilere ve personele gerekli bilgileri alma. Bir sistem mimarının hem kullanıcıların dünyasının mimarisi hem de (tüm potansiyel olarak yararlı) mühendislik sistem mimarileri hakkındaki bilgileri birleştirmesi beklenir . İlki, kullanıcılarla ortak bir faaliyettir; ikincisi, mühendislerle ortak bir faaliyettir. Ürün, mühendisler tarafından sistem tasarım gereksinimlerini geliştirmek için kullanılabilecek, kullanıcıların gereksinimlerini yansıtan bir dizi üst düzey gereksinimdir.

Gereksinimler bir proje boyunca, özellikle uzun bir proje boyunca geliştiğinden, sistem kullanıcı tarafından kabul edilene kadar bir mimara ihtiyaç vardır: mimar, geliştirme sürecinde yapılan tüm değişikliklerin ve yorumların, kullanıcıların bakış açısını tehlikeye atmamasını sağlar.

Maliyet/fayda analizleri

Mimarlar genelcidir. Onlardan herhangi bir teknolojide uzman olmaları beklenmez, ancak birçok teknoloji hakkında bilgi sahibi olmaları ve belirli durumlara uygulanabilirliklerini değerlendirebilmeleri beklenir. Ayrıca bilgilerini pratik durumlara uygularlar, ancak farklı teknolojileri kullanan çeşitli çözümlerin maliyet/faydalarını, örneğin donanıma karşı yazılıma karşı manuel olarak değerlendirirler ve sistemin bir bütün olarak kullanıcıların beklentilerine göre çalışmasını sağlarlar.

Birçok ticari kullanıma hazır veya halihazırda geliştirilmiş donanım ve yazılım bileşenleri, maliyet, yanıt, verim, vb. gibi kısıtlamalara göre bağımsız olarak seçilebilir. Bazı durumlarda mimar, son sistemi (neredeyse) yardım almadan monte edebilir. Veya bileşenleri seçmek ve herhangi bir özel amaçlı işlevi tasarlamak ve oluşturmak için yine de bir donanım veya yazılım mühendisinin yardımına ihtiyacı olabilir. Mimarlar (veya mühendisler) ayrıca güvenlik , güvenlik , iletişim , özel amaçlı donanım, grafikler , insan faktörleri , test ve değerlendirme , kalite kontrol , güvenilirlik , bakım kolaylığı , kullanılabilirlik , arayüz yönetimi vb . alanlarda diğer uzmanların yardımını alabilirler. etkin sistemler mimari ekibi, gerektiğinde kritik uzmanlık alanlarındaki uzmanlara erişebilmelidir.

Bölme ve katmanlama

Bir binayı planlayan bir mimar, genel tasarım üzerinde çalışarak, onun sakinleri için hoş ve faydalı olmasını sağlar. Tek bir aile evi inşa etmek için tek bir mimar tek başına yeterli olabilirken, yeni bir yüksek katlı bina tasarlanırken ortaya çıkan ayrıntılı sorunları çözmek için ek olarak birçok mühendise ihtiyaç duyulabilir. İş yeterince büyük ve karmaşıksa, mimarinin bölümleri bağımsız bileşenler olarak tasarlanabilir. Yani, bir site inşa ediyorsak, bir mimari ekibin parçası olarak, kompleks için bir mimar ve her bina türü için bir mimarımız olabilir.

Büyük otomasyon sistemleri ayrıca bir mimar ve çok fazla mühendislik yeteneği gerektirir. Tasarlanan sistem yeterince büyük ve karmaşıksa, sistem mimarı, tümü ortak bir mimari ekibin üyesi olsalar da, işin bölümleri için bir donanım mimarına ve/veya bir yazılım mimarına başvurabilir.

Mimar, sistem gereksinimlerini, tek bir donanım veya yazılım mühendisi veya mühendislik yöneticisi ve ekibi kapsamındaki ana bileşenlere veya alt sistemlere alt tahsis etmelidir. Ancak mimar asla bir mühendislik süpervizörü olarak görülmemelidir. (Öğe yeterince büyük ve/veya karmaşıksa, baş mimar bölümleri daha uzmanlaşmış mimarlara tahsis edecektir.) İdeal olarak, bu tür her bir bileşen/alt sistem, eksiksiz bir bileşen olarak test edilebilecek kadar bağımsız bir nesnedir, simüle edilmiş girdiler sağlamak ve çıktıları kaydetmek için yalnızca basit bir test ortamı kullanarak bütünden ayrı. Yani bir veri yönetimi alt sistemi tasarlamak ve inşa etmek için bir hava trafik kontrol sisteminin nasıl çalıştığını bilmek gerekli değildir. Yalnızca alt sistemin çalışması beklenen kısıtlamaları bilmek gerekir.

İyi bir mimar, sistemin ne kadar karmaşık olursa olsun, her (alt) sistem veya katman için nispeten basit ve "temiz" kavramlar üzerine inşa edilmesini ve özel bir eğitim olmaksızın herkes, özellikle kullanıcılar tarafından kolayca anlaşılmasını sağlar. Mimar, her bölümün iyi tanımlandığından ve çamurlardan , geçici çözümlerden , kısayollardan veya kafa karıştırıcı ayrıntılardan ve istisnalardan arındırılmış olmasını sağlamak için minimum buluşsal yöntem kullanacaktır . Kullanıcıların gelişmesi gerektiğinden (sistem bir kez sahaya sürüldüğünde ve kullanımda olduğunda), istisnalar, özel durumlar ve pek çok "ince baskı" ile dolu bir basit kavramı sonradan geliştirmek çok daha kolaydır.

Mimariyi katmanlamak , mimariyi her katmanda yeterince basit tutmak için önemlidir, böylece tek bir zihin tarafından anlaşılabilir kalır. Katmanlar yükseldikçe, alt katmanlardaki tüm sistemler, üst katmanlarda basit bileşenler haline gelir ve en üst katmanlarda tamamen ortadan kalkabilir .

Kabul testi

Kabul test sistemleri mimarının başlıca sorumluluğudur. Program liderinin kullanıcılara sistemin başlangıçta planlandığı gibi olduğunu ve ilgili tüm mimar ve mühendislerin amaçlarına ulaştığını kanıtlamasının başlıca yoludur.

Kullanıcılar ve mühendislerle iletişim

Bir bina mimarı eskizler, modeller ve çizimler kullanır. Bir otomasyon sistemleri (veya yazılım veya donanım) mimarı, kullanıcılar, mühendisler ve diğer mimarlarla farklı çözümleri ve sonuçları tartışmak için eskizler, modeller ve prototipler kullanmalıdır. Kullanıcı kılavuzunun erken bir taslak versiyonu, özellikle bir prototip ile bağlantılı olarak çok değerlidir. Bununla birlikte, müşteri tarafından makul bir şekilde anlaşılabilir (böylece onlar üzerinde düzgün bir şekilde imza atabilmeleri için, ancak asıl kullanıcıların gereksinimleri bir ön incelemede ele alınmalıdır) , uygulanabilir, iyi yazılmış bir gereksinimler veya spesifikasyonlar dizisinin oluşturulması önemlidir. anlaşılırlık için kullanım kılavuzu). Ancak, tasarımcıların ve diğer uygulayıcıların anlamlar veya niyetler konusunda şüpheye yer bırakmaması için kesin ve açık bir dil kullanmalıdır. Özellikle, tüm şartları test edilebilir olmalı , ve test planının ilk taslak gereklerine eş geliştirilmelidir. Tüm paydaşlar , programın başlangıcında gereksinimlerin karşılanmasının tek belirleyicisi olarak kabul testi tanımlarını veya eşdeğerini imzalamalıdır .

Mimar metaforu

"Mimar" kelimesinin herhangi bir biçiminin kullanımı, ABD'deki birçok eyalette "ünvan kanunları" ile düzenlenir ve bir kişinin bunu kullanmak için bir yapı mimarı olarak lisans alması gerekir.

Birleşik Krallık'ta mimarlar kayıt kurulu, mimarın kullanımını (yazılım ve BT bağlamında kullanıldığında) sınırlı kullanımının dışında tutar.

Ayrıca bakınız

Referanslar

daha fazla okuma

  • Donald Firesmith ve diğerleri: Mühendislik Sistem Mimarileri için Yöntem Çerçevesi , (2008)
  • Mark W. Maier ve Rechtin, Eberhardt, The Art of Systems Architecting , Üçüncü Baskı (2009)
  • Gerrit Muller, "Sistem mimarisi: Bir iş perspektifi", CRC Press, (2012).
  • Eberhardt Rechtin , Sistem Mimarlığı: Karmaşık Sistemler Oluşturma ve İnşa Etme , 1991.
  • JH Saltzer , MF Kaashoek, Bilgisayar Sistem Tasarımı İlkeleri: Bir Giriş , Morgan Kaufmann, 2009.
  • Rob Williams, Bilgisayar Sistemleri Mimarisi: Ağ Oluşturma Yaklaşımı , İkinci Baskı (Aralık 2006).

Dış bağlantılar