Logo lt.artbmxmagazine.com

Programinės įrangos architektūra kaip mokslinė disciplina

Turinys:

Anonim

Šiame straipsnyje aptariami veiksniai, kuriuos žinių sritis turi atitikti, kad ji galėtų būti priskirta mokslo disciplinai. Išanalizuokite, kaip programinės įrangos architektūra (AS) pasiekia šių veiksnių laikymąsi sukurdama bendruomenę, kuri demonstruoja mokslinį darbą ir profesinę praktiką. Ji nuo pat disciplinos pradžios atlieka bibliografinę analizę ir pagrindines išvadas, nulemiančias jos tyrimo objektą šiandien. Ir galiausiai, atsižvelgdami į ekspertus, išanalizuokite disciplinos brandos lygį.

Įvadas

Kad žinių sritis būtų klasifikuojama kaip mokslo disciplina, su ja turi būti susietas palaikančiųjų elementų rinkinys. Pirma, ji turi turėti žinių visumą, paremtą aukštu mokslo publikacijų indeksu, parodančiu bendruomenės darbą. Antra, turi būti susieta profesinė praktika, atsakinga už šios žinių srities įgyvendinimą atsižvelgiant į skirtingas šioje srityje kylančias problemas. Galiausiai jame turi būti išskirtinis ir unikalus pagrindas.

AS, kaip aiškiai apibrėžta disciplina, yra daug naujesnė, nei paprastai įtariama. Pirmieji žingsniai buvo pastebėti Edsgerio Dijkstros 1968 m. Apmąstymuose, kaip nustatyti teisingą programinės įrangos sistemų struktūrą prieš pradedant programavimą. Vėliau, 1969 m. Vykusioje NATO konferencijoje, „PISharp“ pateikė nuostabų įžvalgų rinkinį, komentuodamas Dijkstros idėjas, darydamas skirtumą tarp inžinerinės ir programinės įrangos architektūros. Iki 90-ųjų terminas buvo vertinamas skirtingai, ypač glaudžiai susijęs su dizainu, buvo kalbama apie abstrakcijos lygį, tačiau sprendimo elementai leido teigti, kad reikia disciplina ir tam tikra profesija.

Rezultatai ir apmąstymai

Atlikus bibliografinę šaltinių analizę, Thomas G. Lane'o „Programinės įrangos architektūros studijavimas naudojant projektavimo erdves ir taisykles“ pripažinta pirmąja SEI išleista knyga SA tema 1990 m. Šioje juostoje jis nustato AS apibrėžimą, pagrįstą ankstesnių metų Mary Shaw pateikta koncepcija, savo knygoje „Didesnės apimties sistemos reikalauja aukštesnio lygio abstrakcijų“, pristatytoje 5-ajame tarptautiniame seminare apie programinės įrangos specifikaciją ir dizainą., ir išleido „IEEE Computer Society“. Lane apibrėžia AS kaip:

… “ Programinės įrangos architektūra yra didelės apimties programinės įrangos sistemų struktūros ir našumo tyrimas. Svarbūs sistemos architektūros aspektai yra funkcijų padalijimas tarp sistemos modulių, ryšio tarp modulių priemonės ir bendros informacijos pateikimas. “

Stebima, kaip komponentų („funkcijų pasidalijimas tarp sistemos modulių“) ir jungčių („ryšio tarp modulių“) koncepcija užima vietą apibrėžime. Šioje knygoje „Lane“ pateikia įdomią sąvoką „dizaino erdvės“, kurioje pateikiami standartų sudarymo pagrindai, kurie gali padėti dizaineriui pasirinkti tinkamą architektūrą atsižvelgiant į naujos sistemos funkcinius poreikius. Tai yra „įdomu“, nes matoma, kaip dar nepripažįstamas programinės įrangos architekto vaidmuo, ši užduotis paskiriama tiesiogiai programinės įrangos kūrėjui.

Po šio indėlio pastebima ryški tendencija ieškoti programinės įrangos struktūrizavimo modelio ir sukurtas domenų modelių rinkinys, pagrįstas bendraisiais modeliais, tokiais kaip DSSA (domenui būdingos programinės įrangos architektūra), kurį paruošė „Mettala“ ir Grahamas, 1992 m.

Tik 1994 m. Išleidus Mary Shaw ir David Garlan knygą „Įvadas į programinės įrangos architektūrą“, jie teigia, kad dėl padidėjusio programinės įrangos gaminių dydžio ir sudėtingumo pagrindinė problema nebėra, algoritmuose ir duomenų struktūrose, tačiau yra nukreiptas į sistemą sudarančių komponentų organizavimą, taip iškeliant poreikį sukurti SA, kaip mokslinę discipliną, kurios tyrimo objektas yra ne kas kita, kaip paradigmų rinkinio, nustatančio aukšto lygio sistemos organizavimą, nustatymas, skirtingų ją sudarančių komponentų tarpusavio ryšys ir principai, kuriais vadovaujasi jos dizainas ir raida.

Šiame darbe pirmą kartą pristatomas terminas „architektūros stiliai“, apibrėžtas platus jų spektras, tarp jų: ​​Vamzdžiai ir filtrai, Saugykla, Sluoksniuota architektūra, Įvykiais pagrįsta architektūra ir kt.

Architekto vaidmens programinės įrangos projektavimo ir plėtros procese tema nėra atskleista, tačiau paskutiniame knygos skyriuje „Praeitis, dabartis ir ateitis“ atskleidžiama interesų grupių grupė. vėlesniam disciplinos tyrimui, tarp kurių išsiskiria, „siekiant geriau suprasti architekto vaidmenį proceso gyvavimo cikle“.

Tais pačiais 1994 m., Kurie gali būti laikomi „auksiniais programinės įrangos architektūros metais“, buvo surengtas kitas aktualus architektūros renginys. Mary Shaw ir Davidas Garlanas savo knygoje „Aukštesnio lygio kalbų, skirtų programinės įrangos architektūrai, charakteristikos“ pradeda architektūros aprašymo kalbų (ADL) koncepciją. Tyrime nurodytos alternatyvos, kurios iki šiol buvo prieinamos sistemos SA apibrėžimui. Pirma, moduliuojant esamus programavimo įrankius ir jungiamuosius modulius tarp jų, ir, antra, apibūdinant jų dizainą neoficialiomis schemomis ir idiomatinėmis frazėmis. Remdamiesi šiais atspindžiais, jie nusako dėsningumų ir specifinių savybių rinkinį, kuris sudarė ADL pagrindą.

Nuo šios išvados disciplina buvo vis labiau propaguojama, išryškinant įvykių ciklą, pavyzdžiui, 1996 m. Paulo Clementso knygą „Artėjantys atrakcionai programinės įrangos architektūroje“, kurioje apibrėžtos penkios pagrindinės temos, aplink kurias grupuoja drausmę; architektūros projektavimas ar atranka, architektūros vaizdavimas, vertinimas ir analizė ir kt.

Kitas svarbus įvykis buvo 2000 m. Pradėta Roy Fielding'o disertacija, kurioje jis pristato REST modelį, galutinai nustatantį interneto technologijų ir į paslaugas bei į išteklius orientuotų modelių problemą. drausmės. Tais pačiais metais buvo paskelbta galutinė IEEE Std 1471 rekomendacijos versija, kuria siekiama suvienodinti ir išdėstyti architektūrinio aprašymo ir homologinių stilių nomenklatūrą kaip pagrindinį konceptualaus vaizdavimo modelį.

SEI leidžiami leidiniai, susiję su AS, nuo 1990 m. Iki šios dienos, pateikiami žemiau esančioje lentelėje, atspindinčioje bendruomenės, vykdančios disciplinos mokslinius tyrimus ir plėtrą, įkūrimą.

Išvados.

AS kaip mokslas remiasi stilių traktavimu, architektūrinių aprašymo kalbų kūrimu, metodikos ir projektavimo modelių formulavimu. Programinės įrangos architektas turi atlikti svarbiausias užduotis - architektūros projektavimą ar parinkimą, jos vaizdavimą, vertinimą ir analizę. Taigi, be abejonės, galima pritarti AS kaip mokslinės disciplinos sukūrimui.

Nepaisant to, kad AS jau turi ribotą žinių sritį, AS, žinoma, vis dar yra tik formavimo stadijoje. Jos teoretikai dar negali užtikrinti, kad naudojant apibrėžtus įrankius, savybes ir modelius būtų galima sukurti aukščiausios kokybės programinę įrangą. Priešingai, geriausi architektai mano, kad jų disciplina yra atsargi ir kintanti. Bet nors tai, kas dar turi būti padaryta, yra didžiulė, tačiau jau atlikus didžiulį idėjų, patirties ir instrumentų repertuarą, padedama galvoti apie tai, kaip čia ir dabar būtų galima tobulinti praktiką.

Bibliografija

  1. Lane, Thomas G. Programinės įrangos architektūros studijavimas kuriant projektavimo erdves ir taisykles. Carnegie Mellon universitetas: Pitsburgas, Pensilvanija 15213, 1990 m. Lapkritis. Http://www.sei.cmu.edu/pub/documents/90.reports/pdf/tr18.90.pdf. CMU / SEI-90-TR-18.D. Garlanas, M. Shaw. Įvadas į programinės įrangos architektūrą. 1994 m. Sausio mėn. Http://www.sei.cmu.edu/publications/documents/94.reports/94.tr.021.html. CMU / SEI-94-TR-021.Mary Shaw, Davidas Garlanas. Aukštesnio lygio kalbų charakteristika programinės įrangos arktika. Pensilvanija.: Programinės įrangos inžinerijos institutas, 1994 m. CMU / SEI-94-TR-023.Shaw, Mary. Didesnio masto sistemoms reikia aukštesnio lygio abstrakcijų. sl: IEEE Kompiuterių draugija, 1989 m. gegužė. 143–146. Tomo 14 tomas, 3 numeris., Penktojo tarptautinio seminaro apie programinės įrangos specifikaciją medžiaga. „ACM SIGSOFT“ programinės įrangos inžinerijos pastabos. „Fielding“, Roy Thomas.Architektūros stiliai ir tinklu pagrįstos programinės įrangos architektūros projektavimas. Kalifornijos universitetas. Irvine: sn, 2000. Daktaro disertacija.Clements, Paul. Ateinantys programos architektūros patrauklumai. Pensilvanija, JAV: Programinės įrangos inžinerijos institutas, Carnegie Mellon universitetas, 1996 m. Sausio mėn. CMU / SEI-96-TR-008. Erikas Mettala, Marc H. Graham. Domenui būdingos programinės įrangos architektūros programos. sl: Specialioji ataskaita, 1992 m. birželio mėn. CMU / SEI-92-SR-009.Specialioji ataskaita, 1992 m. Birželio mėn. CMU / SEI-92-SR-009.Specialioji ataskaita, 1992 m. Birželio mėn. CMU / SEI-92-SR-009.
Programinės įrangos architektūra kaip mokslinė disciplina