Kontentke ótiw

Programmalıq támiynat arxitekturasın sıpatlaw

Wikipedia — erkin enciklopediya

Programmalıq támiynat arxitekturasın sıpatlaw ‒ bul programmalıq támiynat arxitekturaların (arxitekturalıq rendering dep te ataladı) sáwlelendiriw, baylanısıw hám analizlew ushın ámeliyatlar jıynaǵı hám usınday ámeliyatlardı programmalıq támiynat arxitekturasın sáwlelendiretuǵın jumıs ónimi arqalı qollanıw nátiyjesi (ISO/IEC/IEEE 42010).

Arxitektura sıpatlamaları (AS) geyde arxitekturalıq kórinisler, arxitektura specifikaciyaları yaki baǵdarlamalıq támiynat arxitekturası hújjetleri dep te ataladı[1].

Koncepciyalar

Arxitektura sıpatlaması baǵdarlamalıq támiynat arxitektorları tárepinen baǵdarlamalıq támiynat arxitekturasın jazıp alıw ushın qollanılatuǵın ámeliyatlardı, texnikalardı hám kórinisler túrlerin anıqlaydı. Arxitektura sıpatlaması tiykarınan modellestiriw iskerligi bolıp tabıladı (Baǵdarlamalıq támiynat arxitekturalıq modeli). Arxitektura modelleri tekst, formal emes súwretler, diagrammalar yaki basqa formalizmler (modellestiriw tili) sıyaqlı hár qıylı formalarda bolıwı múmkin. Arxitektura sıpatlaması kóbinese hár qıylı auditoriyalarǵa, mápli táreplerge (mısalı, aqırǵı paydalanıwshılar, sistema iyeleri, baǵdarlamashılar, sistema injenerleri, baǵdarlama menedjerleri) hám hár túrli arxitekturalıq máselelerge (mısalı, funkcionallıq, qáwipsizlik, jetkerip beriw, isenimlilik, keńeytiwsheńlik) nátiyjeli juwap beriw ushın bir neshe túrli model túrlerin qollanadı[2].

Kóbinese, arxitektura sıpatlamasınıń modelleri arxitekturanıń bir neshe kórinislerine shólkemlestiriledi, solay etip, «hárbir [kórinis] sistemanıń túrli mápli táreplerin qızıqtıratuǵın arnawlı máselelerdi sheshedi». Arxitekturalıq kóz-qaras – bul sistemaǵa qaraw usılı (RM ODP). Arxitektura sıpatlamasındaǵı hárbir kórinis oǵan tiyisli máseleler hám mápli táreplerdi, sonday-aq, ol paydalanatuǵın model túrlerin, belgilewlerdi hám modellestiriw kelisimlerin hújjetlestiretuǵın kóz-qarasqa iye bolıwı kerek (ISO/IEC/IEEE 42010)[3].

Bir neshe kórinislerdi qollanıw, túrli mápli tárepler menen baylanısıw hám túrli máselelerdi jazıp alıw hám analizlew ushın nátiyjeli bolsa da, potencial máselelerdi keltirip shıǵaradı: kórinisler ádette ǵárezsiz bolmaǵanlıqtan, bir-birin qaplaw potencialı bir sistemanıń kórinisleri arasında artıqmashılıq yaki izbe-izliksizlik bolıwı múmkin ekenligin ańlatadı. Detallardı bólisiw, artıqmashılıqtı kemeytiw hám izbe-izlikti támiyinlew ushın kórinisler arasındaǵı sáykesliklerdi anıqlaw hám basqarıw ushın hár qıylı mexanizmler qollanılıwı múmkin.

Arxitektura sıpatlamaları haqqında keń tarqalǵan nadurıs túsiniklerdiń biri – AS tek «texnikalıq máselelerdi» talqılaydı degen pikir, biraq AS kóp mápli táreplerge tiyisli máselelerdi sheshiwi kerek. Ayrım máseleler texnikalıq; kóplegen máseleler olay emes: AS arxitektorlarǵa, olardıń klientlerine hám basqalarǵa qárejetlerdi, kesteni hám processti basqarıwǵa járdem beriw ushın qollanıladı. Baylanıslı nadurıs túsiniklerdiń biri - AS tek sistemanıń strukturalıq aspektlerin ǵana sheshedi degen pikir. Degen menen, bul mápli táreplerdi kem-kemnen qanaatlandıradı, sebebi olardıń máseleleri kóbinese strukturalıq, minez-qulqı, estetikalıq hám basqa «qosımsha funkcionallıq» máselelerdi óz ishine aladı.

Tariyxı

Eń dáslepki arxitektura sıpatlamalarında formal emes súwretler hám diagrammalar hám baylanıslı tekst qollanılǵan. Formal emes sıpatlamalar sanaatta eń keń tarqalǵan kórinisler bolıp qala beredi. Arxitektura sıpatlamasına Baǵdarlamalıq injeneriya (mısalı, maǵlıwmatlar abstrakciyası hám úlken kólemdegi baǵdarlamalastırıw) hám sistemalı dizayn (mısalı, SARA) tarawlarınan tásirler bolǵan[4].

Úlken kólemdegi baǵdarlamalastırıw boyınsha jumıslar, mısalı, moduller aralıq baylanıs tilleri (MILs), baǵdarlamalıq támiynattıń keń kólemli qásiyetlerin sáwlelendiriwge qaratılǵan[5]: moduller (sonıń ishinde baǵdarlamalar, kitapxanalar, úles programmalar hám kishi sistemalar) hám moduller aralıq qatnaslar (moduller arasındaǵı baylanıslılıqlar hám óz-ara baylanıslar). Bul jumıs baǵdarlamalastırıw tilleri (mıs., Ada) haqqındaǵı arxitekturalıq pikirlewge de, sonday-aq dizayn hám arxitektura belgilewlerine de (mıs., Bur diagrammaları hám paydalanıw jaǵdayları kartaları hám UML arxitekturalıq ózgesheliklerinde kodifikaciyalanǵan: paketler, kishi sistemalar, baylanıslılıqlar) hám arxitekturanı sıpatlaw tilleri boyınsha jumıslardıń kóp bólimine tásir etti. MILs-ten tısqarı, Baǵdarlamalıq injeneriyadaǵı Talaplar hám Dizayn tarawlarındaǵı jetilisken jumıslardıń tásiri astında, baǵdarlamalıq injeneriya hám dizaynnan hár qıylı model túrleri arxitekturalardı sıpatlawǵa qollanıw ushın «kóterildi». Bularǵa Strukturalıq Analiz SADTtan funkciya hám iskerlik modelleri, maǵlıwmatlardı modellestiriw texnikaları (obekt-qatnas) hám obektke baǵdarlanǵan texnikalar kirdi.

Perri hám Volf bir neshe kórinislerdiń roli ushın imarat arxitekturasınıń precedentin keltirdi: «Imarat arxitektorı klient penen imarattıń qanday da bir ayrıqsha aspekti atap kórsetiletuǵın bir qatar túrli kórinisler arqalı jumıs isleydi».

Perri hám Volf arxitekturalardıń kórinisi mınalardı óz ishine alıwı kerek dep usındı: { elementler, forma hám tiykar }, úsh túrli elementti (hám sonlıqtan úsh túrli kórinisti) ajıratıp:

  • qayta islew: maǵlıwmat qalay ózgeriledi;
  • maǵlıwmat: paydalanılatuǵın hám ózgeriletuǵın informaciya;
  • jalǵaw: basqa elementlerdi birge uslap turatuǵın jelim;

Perri hám Volf arxitektura sıpatlamaları ushın tórt maqset yaki qollanıwdı anıqladı (olardıń maqalasında «arxitektura specifikaciyaları» dep atalǵan):

  • sheshimlerdi artıqsha anıqlamay arxitekturalıq sheklewlerdi belgilew
  • estetikanı injeneriyadan ajıratıw
  • arxitekturanıń túrli aspektlerin hárbirin sáykes túrde sáwlelendiriw
  • arxitektura analizin, atap aytqanda baylanıslılıq hám izbe-izlik analizlerin ótkeriw

Perri hám Volftıń maqalasınan keyin, baǵdarlamalıq támiynat arxitekturasın sıpatlaw boyınsha eki pikirlew mektebi payda boldı:

  • Bir neshe kórinis mektebi
  • Strukturalistlik mektep

Arxitekturanı sıpatlaw mexanizmleri

Arxitekturanı sıpatlaw ushın qollanılatuǵın bir neshe ulıwma mexanizmler bar. Bul mexanizmler tabıslı sıpatlaw stillerin qayta paydalanıwdı jeńillestiredi, sol arqalı olar kóp sistemalarǵa qollanılıwı múmkin:

  • arxitekturalıq kóz-qaraslar
  • arxitekturanı sıpatlaw tilleri
  • arxitekturalıq strukturalar (freymvorklar)

Arxitekturalıq kóz-qaraslar

Baǵdarlamalıq támiynat arxitekturası sıpatlamaları ádette kórinislerge shólkemlestiriledi, bular imarat arxitekturasında jasalatuǵın hár qıylı túrdegi joybar sızıwlarǵa uqsas. Hárbir kórinis óziniń kóz-qarasınıń kelisimlerine ámel etip, sistema máseleleriniń toplamın sheshedi, bul jerde kóz-qaras - bul belgili bir mápli tárepler toparı hám olardıń máseleleriniń kóz-qarasınan qarastırılıp atırǵan arxitekturanı sáwlelendiriw ushın kóriniste qollanılatuǵın belgilewlerdi, modellestiriw texnikaların sıpatlaytuǵın specifikaciya (ISO/IEC 42010). Kóz-qaras tek qarastırılǵan (yaǵnıy sheshiletuǵın) máselelerdi ǵana emes, sonday-aq kórsetiliwin, qollanılǵan model túrlerin, qollanılǵan kelisimlerdi hám bir kórinisti basqa kórinisler menen izbe-iz saqlaw ushın hár qanday izbe-izlik (sáykeslik) qaǵıydaların anıqlaydı.

Kóz-qaraslar mısallarına tómendegiler kiredi:

  • Funkcionallıq kóz-qaras
  • Logikalıq kóz-qaras
  • Informaciya/Maǵlıwmat kóz-qarası
  • Modul kóz-qarası
  • Komponent-hám-konnektor kóz-qarası
  • Talaplar kóz-qarası
  • Baǵdarlamashı/Ámelge asırıw kóz-qarası
  • Parallellik/process/orınlaw waqtı/aǵım/orınlaw kóz-qarası
  • Ónimdarlıq kóz-qarası
  • Qáwipsizlik kóz-qarası
  • Fizikalıq/Jaylastırıw/Ornatıw kóz-qarası
  • Paydalanıwshı háreketi/keri baylanıs kóz-qarası

«Kórinis túri» termini ulıwma elementler hám qatnasıqlar toplamın bólisetuǵın uqsas kórinislerdiń kategoriyalarına tiyisli bolıw ushın qollanıladı[6].

Arxitekturanı sıpatlaw tilleri

Arxitekturanı sıpatlaw tili (ADL) - bul baǵdarlamalıq támiynat arxitekturasın sıpatlaw ushın qollanılatuǵın hár qanday sáwlelendiriw quralları (ISO/IEC/IEEE 42010). 1990-jıllardan berli kóp arnawlı maqsetli ADLlar islep shıǵıldı, sonıń ishinde AADL (SAE standartı), Wright (Carnegie Mellon tárepinen islep shıǵılǵan), Acme (Carnegie Mellon tárepinen islep shıǵılǵan), xADL (UCI tárepinen islep shıǵılǵan), Darwin (Imperial College London tárepinen islep shıǵılǵan), DAOP-ADL (Malaga Universiteti tárepinen islep shıǵılǵan) hám ByADL (L'Aquila Universiteti, Italiya). Dáslepki ADLlar sistemalardı olardıń komponentleri, konnektorları hám konfiguraciyaları arqalı modellestiriwge basım ámelge asırdı. Jaqındaǵı ADLlar (mısalı, ArchiMate hám SysML) tek komponentler hám konnektorlardı ǵana emes, al hár qıylı máselelerdi bir neshe kishi tiller arqalı sáwlelendiriwge qábiletli «keń spektrli» tiller bolıwǵa umtıldı. Arnawlı maqsetli tillerden tısqarı, UML sıyaqlı ámeldegi tiller de ADL sıpatında «baǵdarlamalıq támiynatqa tiykarlanǵan sistemalardı analizlew, joybarlaw hám ámelge asırıw, sonday-aq biznes hám uqsas processlerdi modellestiriw ushın» qollanılıwı múmkin.

Arxitektura strukturaları

Arxitekturalıq freymvork «belgili bir qollanıw tarawında hám/yamasa mápli tárepler jámáátinde ornatılǵan arxitekturalardı súwretlew ushın konvenciyalardı, principlerdi hám ámeliyatlardı» qamtıp aladı (ISO/IEC/IEEE 42010). Freymvork ádette bir yamasa bir neshe kózqaraslar yaki ADL (Arxitekturanı Súwretlew Tilleri) arqalı ámelge asırıladı. Baǵdarlamalıq támiynat arxitekturasında qızıǵıwshılıq tuwdıratuǵın strukturalarǵa mınalar kiredi:

  • Arc42
  • C4 modeli
  • 4+1
  • RM-ODP (Ashıq Bólistirilgen Qayta Islewdiń Úlgili Modeli)
  • TOGAF

Kóp kórinislik

Kruchtenniń 1995-jılǵı «4+1 kórinis modeli» haqqındaǵı júdá abıraylı maqalasında kórsetilgen bul usıl, modellestiriliwi kerek bolǵan hár qıylı mápli táreplerdi hám máselelerdi ayrıqsha atap ótti.

Strukturalizm

Ekinshiden, CMU hám basqa jerlerdegi jumıslarda sáwlelengendey, arxitektura – bul sistemanıń jumıs islew waqtındaǵı joqarı dárejeli shólkemlesiwi hám arxitektura olardıń komponentleri hám baylanıstırıwshıları arqalı súwretleniwi kerek degen túsinik: «baǵdarlamalıq támiynat sistemasınıń arxitekturası sol sistemanı esaplaw komponentleri hám sol komponentler arasındaǵı óz-ara tásirler arqalı belgileydi»[7].

1990-2000-jılları ADL boyınsha kópshilik akademiyalıq jumıslar komponentler hám baylanıstırıwshılar paradigması sheńberinde ámelge asırıldı. Biraq, bul ADL-ler sanaatta júdá az tásirge iye boldı. 1990-jıllardan baslap, arxitekturanı súwretlew usıllarında jaqınlasıw júz berdi, 2000-jılı IEEE 1471 standartı eń jaqsı ámeliyatlardı kodlastırıp: AD-da (Arxitektura Súwretlemesinde) kóp kózqaraslardı talap etpesten, qollap-quwatladı.

Sheshimler arqalı arxitekturanı súwretlew

Perri hám Volftıń baslanǵısh formulasınıń tiykarlaw aspektin tolıqtırıp, úshinshi pikir mektebi payda boldı, ol sheshimlerdi hám sheshimlerdiń sebeplerin baǵdarlamalıq támiynat arxitekturasın túsiniwdiń hám ańlatıwdıń áhmiyetli usılı sıpatında hújjetlestiredi. Bul usıl sheshimlerdi arxitektura súwretlemesiniń birinshi dárejeli elementleri sıpatında qaraydı hám aldınǵı kórinislerde kóbinese jasırın bolǵan nárselerdi anıq etip kórsetedi[8].

Arxitektura táriyipleriniń qollanılıwı

Arxitektura táriyipleri hár túrli maqsetlerge xızmet etedi, sonıń ishinde (ISO/IEC/IEEE 42010):

  • sistemanı qurıw hám texnikalıq xızmet kórsetiwge basshılıq etiw
  • sistemanı jobalastırıwǵa, qárejetlerdi esaplawǵa hám evolyuciyasına járdem beriw
  • arxitekturalardı analizlew, bahalaw yamasa salıstırıw ushın qural sıpatında xızmet etiw
  • arxitektura hám sistemaǵa baylanıslı sistemanıń mápli tárepleri arasındaǵı baylanıstı jeńillestiriw
  • jeke joybarlar sheńberinen tısqarı arxitekturalıq bilimlerdi hújjetlestiriw (máselen, baǵdarlamalıq ónimler tarmaǵı hám ónimler toparı, hám úlgili arxitekturalar)
  • qayta qollanılatuǵın arxitekturalıq idiomalardı (máselen, arxitekturalıq stiller hám úlgiler) sáwlelendiriw

Derekler

  1. Perry, D. E.; Wolf, A. L. (1992). "Foundations for the study of software architecture". ACM SIGSOFT Software Engineering Notes 17 (4): 40. doi:10.1145/141874.141884
  2. P. B. Kruchten, "The '4+1' view model of architecture," IEEE Software, vol. 12, no. 6, pp. 42–50, November 1995
  3. A. Finkelstein, J. Kramer, B. Nuseibeh, L. Finkelstein, and M. Goedicke. Viewpoints: A framework for integrating multiple perspectives in system development. International Journal of Software Engineering and Knowledge Engineering, 2(1):31-58, 1992.
  4. G. Estrin, R.S. Fenchel, R.R. Razouk, M.K. Vernon, "The System ARchitect's Apprentice", IEEE Transactions of Software Engineering, 1986.
  5. F. DeRemer and H.H. Kron, "Programming-in-the-Large Versus Programming-in-the-Small", IEEE Transactions on Software Engineering, 1976.
  6. P. C. Clements, F. Bachmann, L. Bass, D. Garlan, J. Ivers, R. Little, R. Nord, and J. Stafford, Documenting Software Architectures: views and beyond. Addison Wesley, 2003.
  7. M. Shaw and D. Garlan, Software Architecture: perspectives on an emerging discipline, Prentice Hall, 1996.
  8. A. Jansen and J. Bosch, "Software Architecture as a Set of Architectural Design Decisions" Proceedings of the 5th Working IEEE/IFIP Conference on Software Architecture, 2005.