Поддерживать
www.wikidata.ru-ru.nina.az
Arhitektura programmnogo obespe cheniya angl software architecture sovokupnost vazhnejshih reshenij ob organizacii programmnoj sistemy Arhitektura vklyuchaet vybor strukturnyh elementov i ih interfejsov s pomoshyu kotoryh sostavlena sistema a takzhe ih povedeniya v ramkah sotrudnichestva strukturnyh elementov soedinenie vybrannyh elementov struktury i povedeniya vo vsyo bolee krupnye sistemy arhitekturnyj stil kotoryj napravlyaet vsyu organizaciyu vse elementy ih interfejsy ih sotrudnichestvo i ih soedinenie Dokumentirovanie arhitektury programmnogo obespe cheniya PO uproshaet kommunikaciyu razrabotchikov pozvolyaet zafiksirovat prinyatye proektnye resheniya i predostavit informaciyu o nih ekspluatacionnomu personalu sistemy povtorno ispolzovat komponenty i shablony proekta v drugih Obsheprinyatogo opredeleniya arhitektury programmnogo obespecheniya ne sushestvuet Tak sajt Instituta programmnoj inzhenerii privodit bolee 150 opredelenij etogo ponyatiya ObzorOblast kompyuternyh nauk s momenta svoego obrazovaniya stolknulas s problemami svyazannymi so slozhnostyu programmnyh sistem Ranee problemy slozhnosti reshalis razrabotchikami putyom pravilnogo vybora struktur dannyh razrabotki algoritmov i primeneniya koncepcii razgranicheniya polnomochij Hotya termin arhitektura programmnogo obespecheniya yavlyaetsya otnositelno novym dlya industrii razrabotki PO fundamentalnye principy etoj oblasti neuporyadochenno primenyalis pionerami razrabotki PO nachinaya s serediny 1980 h Pervye popytki osoznat i obyasnit programmnuyu arhitekturu sistemy byli polny netochnostej i stradali ot nedostatka organizovannosti chasto eto byla prosto diagramma iz blokov soedinennyh liniyami V 1990 e gody nablyudaetsya popytka opredelit i sistematizirovat osnovnye aspekty dannoj discipliny Pervonachalnyj nabor shablonov proektirovaniya stilej proektirovaniya peredovogo opyta best practices yazykov opisaniya i formalnaya logika byli razrabotany v techenie etogo vremeni Osnovopolagayushej ideej discipliny programmnoj arhitektury yavlyaetsya ideya snizheniya slozhnosti sistemy putyom abstrakcii i razgranicheniya polnomochij Na segodnyashnij den do sih por net soglasiya v otnoshenii chyotkogo opredeleniya termina arhitektura programmnogo obespecheniya Yavlyayas v nastoyashij moment svoego razvitiya disciplinoj bez chetkih pravil o pravilnom puti sozdaniya sistemy proektirovanie arhitektury PO vsyo eshyo yavlyaetsya smesyu nauki i iskusstva Aspekt iskusstva zaklyuchaetsya v tom chto lyubaya kommercheskaya sistema podrazumevaet nalichie primeneniya ili missii S tochki zreniya eyo polzovatelya programmnaya arhitektura daet napravlenie dlya dvizheniya i resheniya zadach svyazannyh so specialnostyu kazhdogo takogo polzovatelya naprimer zainteresovannogo lica razrabotchika PO gruppy podderzhki PO specialista po soprovozhdeniyu PO specialista po razvertyvaniyu PO testera a takzhe konechnyh polzovatelej V etom smysle arhitektura programmnogo obespecheniya na samom dele obedinyaet razlichnye tochki zreniya na sistemu Tot fakt chto eti neskolko razlichnyh tochek zreniya mogut byt obedineny v arhitekture programmnogo obespecheniya yavlyaetsya argumentom v zashitu neobhodimosti i celesoobraznosti sozdaniya arhitektury PO eshyo do etapa razrabotki PO IstoriyaNachalo arhitekture programmnogo obespecheniya kak koncepcii bylo polozheno v nauchno issledovatelskoj rabote Edsgera Dejkstry v 1968 godu i angl v nachale 1970 h Eti uchenye podcherknuli chto struktura sistemy PO imeet vazhnoe znachenie i chto postroenie pravilnoj struktury kriticheski vazhno Populyarnost izucheniya etoj oblasti vozrosla s nachala 1990 h godov vmeste s nauchno issledovatelskoj rabotoj po issledovaniyu arhitekturnyh stilej shablonov yazykov opisaniya arhitektury dokumentirovaniya arhitektury i formalnyh metodov V razvitii arhitektury PO kak discipliny igrayut vazhnuyu rol nauchno issledovatelskie uchrezhdeniya Meri Shou i Devid Gerlan iz universiteta Karnegi Mellona napisali knigu pod nazvaniem Arhitektura programmnogo obespecheniya perspektivy novoj discipliny v 1996 godu v kotoroj vydvinuli koncepcii arhitektury PO takie kak komponenty soediniteli connectors stili i tak dalee V Kalifornijskom universitete Irvajna institut po issledovaniyu PO v pervuyu ochered issleduet arhitekturnye stili yazyki opisaniya arhitektury i dinamicheskie arhitektury Pervym standartom programmnoj arhitektury yavlyaetsya standart IEEE 1471 ANSI IEEE 1471 2000 Rekomendacii po opisaniyu preimushestvenno programmnyh sistem On byl prinyat v 2007 godu pod nazvaniem ISO ISO IEC 42010 2007 Yazyki opisaniya arhitekturyYazyki opisaniya arhitektury ADLS ispolzuyutsya dlya opisaniya arhitektury programmnogo obespecheniya Razlichnye organizacii razrabotali neskolko razlichnyh ADLS v tom chisle AADL standart SAE Wright Acme razrabotany v universitete Karnegi Mellona xADL razrabotan v UCI Darwin razrabotan v Imperskom kolledzhe v Londone DAOP ADL razrabotan v Universitete Malagi a takzhe ByADL angl Italiya Obshimi elementami dlya vseh etih yazykov yavlyayutsya ponyatiya komponenta konnektora i konfiguracii Takzhe pomimo specializirovannyh yazykov dlya opisaniya arhitektury chasto ispolzuetsya unificirovannyj yazyk modelirovaniya UML Vidy views Arhitektura PO obychno soderzhit neskolko vidov analogichnyh tipam chertezhej v stroitelstve zdanij V ontologii ustanovlennoj ANSI IEEE 1471 2000 vidy yavlyayutsya ekzemplyarami tochki zreniya gde tochka zreniya sushestvuet dlya opisaniya arhitektury s tochki zreniya zadannogo mnozhestva zainteresovannyh lic Arhitekturnyj vid sostoit iz dvuh komponentov Elementy Otnosheniya mezhdu elementami Arhitekturnye vidy mozhno podelit na tri osnovnyh tipa Modulnye vidy module views pokazyvayut sistemu kak strukturu iz programmnyh blokov Komponenty i konnektory component and connector views pokazyvayut sistemu kak strukturu iz parallelno zapushennyh elementov komponentov i sposobov ih vzaimodejstviya konnektorov Razmeshenie allocation views pokazyvaet razmeshenie elementov sistemy vo vneshnih sredah Primery modulnyh vidov Dekompoziciya decomposition view sostoit iz modulej v kontekste otnosheniya yavlyaetsya podmodulem Ispolzovanie uses view sostoit iz modulej v kontekste otnosheniya ispolzuet to est odin modul ispolzuet servisy drugogo modulya Vid urovnej layered view pokazyvaet strukturu v kotoroj svyazannye po funkcionalnosti moduli obedineny v gruppy urovni Vid klassov obobshenij class generalization view sostoit iz klassov svyazannye cherez otnosheniya nasleduetsya ot i yavlyaetsya ekzemplyarom Primery vidov komponentov i konnektorov Processnyj vid process view sostoit iz processov soedinyonnyh operaciyami kommunikacii sinhronizacii i ili isklyucheniya Parallelnyj vid concurrency view sostoit iz komponentov i konnektorov gde konnektory predstavlyayut soboj logicheskie potoki Vid obmena dannymi shared data repository view sostoit iz komponentov i konnektorov kotorye sozdayut sohranyayut i poluchayut postoyannye dannye Vid klient server client server view sostoit iz vzaimodejstvuyushih klientov i serverov a takzhe konnektorov mezhdu nimi naprimer protokolov i obshih soobshenij Primery vidov razmesheniya Razvertyvanie deployment view sostoit iz programmnyh elementov ih razmesheniya na fizicheskih nositelyah i kommunikacionnyh elementov Vnedrenie implementation view sostoit iz programmnyh elementov i ih sootvetstviya fajlovym strukturam v razlichnyh sredah razrabotcheskoj integracionnoj i t d Raspredelenie raboty work assignment view sostoit iz modulej i opisaniya togo kto otvetstvenen za vnedrenie kazhdogo iz nih Hotya bylo razrabotano neskolko yazykov dlya opisaniya arhitektury programmnogo obespecheniya v nastoyashij moment net soglasiya po povodu togo kakoj nabor vidov dolzhen byt prinyat v kachestve etalona V kachestve standarta dlya modelirovaniya programmnyh sistem i ne tolko byl sozdan yazyk UML Arhitekturnye shablonyDlya udovletvoreniya proektiruemoj sistemy atributam kachestva primenyayutsya arhitekturnye shablony patterny Kazhdyj shablon imeet svoi zadachi i svoi nedostatki Primery arhitekturnyh shablonov Mnogourovnevyj shablon Layered pattern Sistema razbivaetsya na urovni kotorye na diagramme izobrazhayutsya odin nad drugim Kazhdyj uroven mozhet vyzyvat tolko uroven na odin nizhe ego Takim obrazom razrabotku kazhdogo urovnya mozhno vesti otnositelno nezavisimo chto povyshaet modificiruemost sistemy Odnako pri takom podhode slozhnost sistemy vozrastaet a eyo proizvoditelnost snizhaetsya Shablon posrednika Broker pattern Kogda v sisteme prisutstvuet bolshoe kolichestvo modulej ih pryamoe vzaimodejstvie drug s drugom stanovitsya slishkom slozhnym Dlya resheniya problemy vvoditsya posrednik naprimer shina dannyh po kotoroj moduli obshayutsya drug s drugom Takim obrazom povyshaetsya funkcionalnaya sovmestimost modulej sistemy Vse nedostatki vytekayut iz nalichiya posrednika on ponizhaet proizvoditelnost ego nedostupnost mozhet sdelat nedostupnoj vsyu sistemu on mozhet stat obektom atak i uzkim mestom sistemy Shablon Model Predstavlenie Kontroller Model View Controller pattern MVC Tak kak trebovaniya k interfejsu menyayutsya chashe vsego to voznikaet potrebnost chasto ego modificirovat pri etom sohranyaya korrektnoe vzaimodejstvie s dannymi chtenie sohranenie Dlya etogo v shablone MVC interfejs otdelyon ot dannyh Eto pozvolyaet menyat interfejsy ravno kak i sozdavat ih raznye varianty V MVC sistema razdelena na model hranyashuyu dannye predstavlenie otobrazhayushee chast dannyh i vzaimodejstvuyushee s polzovatelem kontroller yavlyayushijsya posrednikom mezhdu vidami i modelyu Odnako koncepciya MVC imeet i svoi nedostatki V chastnosti iz za uslozhneniya vzaimodejstviya padaet skorost raboty sistemy Klient servernyj shablon Client Server pattern Esli est ogranichennoe chislo resursov k kotorym trebuetsya ogranichennyj pravami dostup bolshogo chisla potrebitelej to udobno realizovat klient servernuyu arhitekturu Takoj podhod povyshaet masshtabiruemost i dostupnost sistemy No pri etom server mozhet stat uzkim mestom sistemy pri ego nedostupnosti stanovitsya nedostupna vsya sistema Bazovye frejmvorki dlya arhitektury POSushestvuyut sleduyushie frejmvorki software architecture frameworks otnosyashiesya k oblasti arhitektury PO 4 1 RM ODP etalonnaya model otkrytoj raspredelennoj obrabotki Service Oriented Modeling Framework SOMF Takie primery arhitektur kak frejmvork Zahmana Zachman Framework DoDAF i TOGAF otnosyatsya k oblasti arhitektury predpriyatiya enterprise architectures Sm takzheArhitektura sistemy Arhitektura kompyutera Antipattern ArchiMate Model C4Primechaniya angl The Rational Unified Process An Introduction Addison Wesley 1998 Rumbaugh J Jacobsen I and Booch G The Unified Modelling Language Reference Manual Reading Mass Addison Wesley 1999 Documenting Software Architectures Views and Beyond 2010 P 1 1 Overview Documenting Software Architectures Views and Beyond 2010 P 1 2 Architecture and Quality Attributes Software Architecture Glossary ot 5 yanvarya 2013 na Wayback Machine Software Engineering Institute What Is Your Definition of Software Architecture angl resources sei cmu edu Data obrasheniya 23 oktyabrya 2019 28 fevralya 2020 goda ISO IEC IEEE 42010 Defining architecture neopr www iso architecture org Data obrasheniya 23 oktyabrya 2019 7 aprelya 2017 goda M Fowler Design Who needs an architect IEEE Software 2003 9 T 20 vyp 5 S 11 13 doi 10 1109 MS 2003 1231144 23 oktyabrya 2019 goda An Introduction to Software Architecture neopr Data obrasheniya 23 oktyabrya 2019 6 maya 2021 goda Len Bass Paul Clements Rick Kazman Software Architecture in Practice 3rd Edition SEI Series in Software Engineering 3 edition October 5 2012 2012 640 s ISBN 978 0321815736 LiteraturaMary Shaw Software Architecture Perspectives on an Emerging Discipline Prentice Hall 1996 Paul Clements Felix Bachmann Len Bass David Garlan James Ivers Reed Little Paulo Merson Robert Nord Judith Stafford Documenting Software Architectures Views and Beyond 2 e izd Addison Wesley Professional 2010 ISBN 978 0 13 248861 7 Len Bass Paul Clements Rick Kazman Software Architecture in Practice 3 e izd Addison Wesley 2012 ISBN 978 0321815736 Eta kniga teper v tretem izdanii pokryvaet fundamentalnye koncepcii discipliny sosredotachivayas na dostizhenii kachestvennyh atributov sistemy SsylkiRetrospektiva programmnyh arhitektur Software Architecture Glossary Software Engineering Institute angl Architecture Publications Software Engineering Institute angl Dlya uluchsheniya etoj stati po informacionnym tehnologiyam zhelatelno Dobavit illyustracii Oformit statyu po pravilam Perevesti tekst s inostrannogo yazyka na russkij Posle ispravleniya problemy isklyuchite eyo iz spiska Udalite shablon esli ustraneny vse nedostatki
Вершина