tarkvarasüsteemi arhitektuuri kavandamisest
TRANSCRIPT
![Page 1: Tarkvarasüsteemi arhitektuuri kavandamisest](https://reader030.vdocuments.pub/reader030/viewer/2022020203/587812b71a28ab971e8b7591/html5/thumbnails/1.jpg)
Tarkvarasüsteemiarhitektuuri kavandamisestIDK0071. Praktiku seminar
Andres KüttRIA, arhitekt
02.11.2015
![Page 2: Tarkvarasüsteemi arhitektuuri kavandamisest](https://reader030.vdocuments.pub/reader030/viewer/2022020203/587812b71a28ab971e8b7591/html5/thumbnails/2.jpg)
Sissejuhatus
![Page 3: Tarkvarasüsteemi arhitektuuri kavandamisest](https://reader030.vdocuments.pub/reader030/viewer/2022020203/587812b71a28ab971e8b7591/html5/thumbnails/3.jpg)
Andres Kütt
• Raha eest programme tegemas alates 1993
• Viimased kümmekond aastat arhitekt
• ≈MSc (UT, Statistika), MBA (EBS), MSc (MIT)
• Hetkel Riigi Infosüsteemi arhitekt
• Minevikus Skype, Hansapank, EMTA jne. +natuke konsultatsiooni
• Palju eri loenguid ja kursusi eri koolides
![Page 4: Tarkvarasüsteemi arhitektuuri kavandamisest](https://reader030.vdocuments.pub/reader030/viewer/2022020203/587812b71a28ab971e8b7591/html5/thumbnails/4.jpg)
Täna kavas
• Ekskurss ajalukku• Kuidas on varem arhitektuurist mõeldud• Moodsa süsteemiarhitektuuri mõtte juured
• Arhitektuuri olemus• Arhitekti roll• Mis on arhitektuur?
• Keerukus• Mis see on• Ja miks see oluline on
• Riigi kui sellise arhitektuur• Riigi infosüsteem riigi kui terviku konteskstis• Miks see oluline on
![Page 5: Tarkvarasüsteemi arhitektuuri kavandamisest](https://reader030.vdocuments.pub/reader030/viewer/2022020203/587812b71a28ab971e8b7591/html5/thumbnails/5.jpg)
Ekskurss ajalukku
![Page 6: Tarkvarasüsteemi arhitektuuri kavandamisest](https://reader030.vdocuments.pub/reader030/viewer/2022020203/587812b71a28ab971e8b7591/html5/thumbnails/6.jpg)
Miks rääkida ajaloost
• Me kõik seisame hiiglaste õlgadel• Kust tuleb teile varasemalt räägitud jutt tarkvara arhitektuurist?• Maja ehitades on mõistlik vundamendist hästi aru saada• Mul ei ole palju mõtet üle korrata asju, mida teile juba räägiti ningmille relevantsus teie karjääri jooksul pigem küsitav on
• Vaatame asju, mis on pildil juba kaua• 2000 aastaga jääb ebaoluline kõrvale• Inimesed on asju ehitanud juba kaua
Täna katsun räägida asjadest, mis tõenäoliselt kehtivad kaua
![Page 7: Tarkvarasüsteemi arhitektuuri kavandamisest](https://reader030.vdocuments.pub/reader030/viewer/2022020203/587812b71a28ab971e8b7591/html5/thumbnails/7.jpg)
Vitruvius Pollio
…all these must be built with duereference to durability, convenienceand beauty
Marcus Vitruvius Pollio, 80-70 eKr.- 15 pKr
![Page 8: Tarkvarasüsteemi arhitektuuri kavandamisest](https://reader030.vdocuments.pub/reader030/viewer/2022020203/587812b71a28ab971e8b7591/html5/thumbnails/8.jpg)
Minge kõndige vanalinnasMida mõtlesid neid maju ja seda linna kavandanud arhitektid?
• Väga kasulik mõtteharjutus• Mis kehtib jätkuvalt• Mis enam ei kehti?• Miks?
• Seda linna on sadu aastaid “arendatud“!• Jällegi sama printsiip: asjad, kui miski jääb, on ta kasulikum, kuisee, mis kaob
• Riias vanalinna ei ole, sest seal oli ühel hetkel inimestel raha uusimaju ehitada
• Kas tulemus on parem või halvem, kui meie oma?
Tallinna vanalinnas kehtiv kehtib ka tarkvarale,ainult et palju lühemal ajaksaalal
![Page 9: Tarkvarasüsteemi arhitektuuri kavandamisest](https://reader030.vdocuments.pub/reader030/viewer/2022020203/587812b71a28ab971e8b7591/html5/thumbnails/9.jpg)
Süsteemid ja nende dünaamika
Viiekümnendatel hakati mõtlema keerulistest süsteemidest• Asjade keskmes oli MIT
• Forrester ja system dynamics• Wiener ja küberneetika
• Peamine probleem: kuidas juhtida keerulisi süsteeme soovitudsuunas?
• Ükski mõju ei levi koheselt• Kuidas muuta sisendit soovitud väljundi saamiseks?
• Järeldused on suhteliselt lihtsad• Kuid viivad kiiresti keerulise matemaatikani
Keeruliste süsteemide käitumises on kindlad, universaalsed,seaduspärasused
![Page 10: Tarkvarasüsteemi arhitektuuri kavandamisest](https://reader030.vdocuments.pub/reader030/viewer/2022020203/587812b71a28ab971e8b7591/html5/thumbnails/10.jpg)
ICBM ja nende ohutusKoos massiivse tuumaarsenaliga sündis ka vajadus neid kuidagiohutuna hoida
• Vastupidiselt sellele, mida räägiti omal ajal telekas• Süsteem on väga keeruline
• Igal sammul on inimene kaasatud• Aga inimene üksi ei tee midagi• Globaalne haare: radarijaamad, komandopunktid, raketibaasid
• Et kõike ohutuna hoida, tuli mõelda süsteemist kui tervikust• Masinad, inimesed, tarkvara ja nendevahelised suhted• Sündis süsteemiohutus kui teadus• USA tuumalaevastikus pole olnud ühtegi reaktoriga seotudintsidenti rohkem kui 60 aasta jooksul
Süsteemides mõtlemine on praktiliselt kasulik
![Page 11: Tarkvarasüsteemi arhitektuuri kavandamisest](https://reader030.vdocuments.pub/reader030/viewer/2022020203/587812b71a28ab971e8b7591/html5/thumbnails/11.jpg)
Tänapäevased keerulised süsteemid
Süsteemid lihtsamaks kohe kindlasti ei lähe• Me mitte ei kasuta enam tarkvara vaid elame koos tarkvaraga
• Tarkvara moodustab loomuliku, lahutamatu ja sageli nähtamatu osameie igapäevaelust
• Teile vast loomulik, minu põlvkonnale tuleb üle rõhutada
• Järelikult tuleb tarkvarast rääkida koos inimesega• Targa tolmu puhul ületab paigalduse hind kübeme hinna:majanduslik mõte on osa süsteemist
• Facebooki tarkvara peegeldab ja mõjutab teie sotsiaalsetvõrgustikku
• Kuidas toimus Tesla autopiloodi lansseerimine?
Süsteemides mõtlemine on tänapäeval vältimatu
![Page 12: Tarkvarasüsteemi arhitektuuri kavandamisest](https://reader030.vdocuments.pub/reader030/viewer/2022020203/587812b71a28ab971e8b7591/html5/thumbnails/12.jpg)
Süsteemimõtlemine
![Page 13: Tarkvarasüsteemi arhitektuuri kavandamisest](https://reader030.vdocuments.pub/reader030/viewer/2022020203/587812b71a28ab971e8b7591/html5/thumbnails/13.jpg)
Süsteemi definitsioon
Süsteem on hulk olemeid ja nende seoseid milledefunktsionaalsus on suurem kui üksikute olemitefunktsionaalsuse summa
Süsteemimõtlemine on viis mõelda küsimusest, olukorrast võiprobleemist eksplitsiitselt kui süsteemist
[Crawley 2015]
![Page 14: Tarkvarasüsteemi arhitektuuri kavandamisest](https://reader030.vdocuments.pub/reader030/viewer/2022020203/587812b71a28ab971e8b7591/html5/thumbnails/14.jpg)
Mida see tähendab• Süsteemimõttelemine on üks viis asjadest mõelda
• nagu loovmõtlemine või loogiline arutelu• sellisena ei ole ta formaalne teadus
• Temast võib mõelda kui süsteemidünaamika pehmest versioonist• Süsteemidünaamika kirjeldab süsteemi osade interaktsiooni läbimatemaatika
• Süsteemimõtlemine kirjeldab samu interaktsioone kuid verbaalselt
• Vahel ei ole modelleerimiseks piisavalt andmeid või onkommunikatsioon täpsusest olulisem
• Süsteemi definitsiooni on sisse ehitatud emergents: uutefunktsioonide esilekerkimine
Süsteemimõtlemine on just insenerivaldkondades sobiv viisprobleemidest mõelda
![Page 15: Tarkvarasüsteemi arhitektuuri kavandamisest](https://reader030.vdocuments.pub/reader030/viewer/2022020203/587812b71a28ab971e8b7591/html5/thumbnails/15.jpg)
Arhitektuur süsteemimõtlemise kontekstis
Arhitektuur on süsteemi osade ja nende omavaheliste seosteabstraktne kirjeldus
• Nii lihtne ongi• Veel üldisemat määratlust on keeruline leida• Samas on ka kõik ära öeldud• Nii võib kirjeldada kõike: organisatsiooni, inimest, tarkvara jne.
• Kuid lihtsus on petlik• Süsteemi osad võivad olla organisatsioon, inimene, tarkvara jne.• Seosed võivad olla nii füüsilised kui mõju avaldavad• Kirjeldada võib neid kõiki väga mitmel viisil
![Page 16: Tarkvarasüsteemi arhitektuuri kavandamisest](https://reader030.vdocuments.pub/reader030/viewer/2022020203/587812b71a28ab971e8b7591/html5/thumbnails/16.jpg)
Vorm, funktsioon ja kontseptsioon
• Süsteemi definitsioonis on juttu funktsioonist
• Arhitektuuri definitsioonis on juttu vormist• Kuidas ühest teiseni jõuda?
• Kuidas valida funktsiooni täitmiseks sobiv vorm?• Seda tavaliselt peetaksegi arhitekti tööks
• Appi tuleb kontseptsioon• Hulk mõttemalle süsteemi funktsiooni vormiga sidumiseks• Kuidas me süsteemist mõtleme?• Põhjus, miks Brooksi arvates tarkvara on põhimõtteliselt keeruline
Vorm ja funktsioon on süsteemi omadused, kontseptsioon mõttelineviis ühest teise jõudmiseks
![Page 17: Tarkvarasüsteemi arhitektuuri kavandamisest](https://reader030.vdocuments.pub/reader030/viewer/2022020203/587812b71a28ab971e8b7591/html5/thumbnails/17.jpg)
Vormi, funktsiooni ja kontseptsiooni kokkuvõte
• Vorm on see, mis süsteem on
• Funktsioon on see, mida süsteem teeb
• Kontseptsioon on see, kuidas neistmõelda
Funktsioon
Vorm
Kontseptsioon
Arhitekti töö seisneb töös vormi, funktsiooni jakontseptsiooni kui tervikuga
![Page 18: Tarkvarasüsteemi arhitektuuri kavandamisest](https://reader030.vdocuments.pub/reader030/viewer/2022020203/587812b71a28ab971e8b7591/html5/thumbnails/18.jpg)
Keerukus
![Page 19: Tarkvarasüsteemi arhitektuuri kavandamisest](https://reader030.vdocuments.pub/reader030/viewer/2022020203/587812b71a28ab971e8b7591/html5/thumbnails/19.jpg)
Keerukuse definitsioon• Süsteemi elementide, nende liikide, nende omavaheliste seoste jaseoste liikide kaudu
• Levinud, intuitiivne ja paljude variatsioonidega• Keerukus vs. keerulisus
• Keerulisuse omadus on süsteemi omadus näida keeruline
• Dünaamiline keerukus ilmneb läbi süsteemi osade omavaheliseinteraktsiooni ajas
• Keerukus kui entroopia määr• Keerukus kui pakitavuse määr• Keerukus kui loogiline või termodünaamiline sügavus• Keerukus kui sisendi ja väljundi seos• Keerukus kui fraktaaldimensioon• Keerukus kui alamsüsteemide hulk
Keerukusest rääkides on oluline kokku leppidaparasjagu kasutatavas definitsioonis
![Page 20: Tarkvarasüsteemi arhitektuuri kavandamisest](https://reader030.vdocuments.pub/reader030/viewer/2022020203/587812b71a28ab971e8b7591/html5/thumbnails/20.jpg)
Keer
ukus
Elementide hulk / Aeg
Võimete piir
![Page 21: Tarkvarasüsteemi arhitektuuri kavandamisest](https://reader030.vdocuments.pub/reader030/viewer/2022020203/587812b71a28ab971e8b7591/html5/thumbnails/21.jpg)
Arhitekti roll
• Arhitekti üks olulisi rolle on keerukuse juhtimine• Arhitektuur on vaadeldav rea otsustena
• Arhitekt, võttes arvesse• kontsepsiooni,• sisendprotsesse ja nende ebamäärasust,• projekti kolmnurka (aeg, raha, funktsionaalsus),• ja muid teadaolevaid piiranguid,
• teeb otsuseid, mis võimaldavad keerukuse kasvust võimalikultpalju kasu saada
Keerukuse juhtimine on väga oluline ja väga keeruline arhitekti roll
![Page 22: Tarkvarasüsteemi arhitektuuri kavandamisest](https://reader030.vdocuments.pub/reader030/viewer/2022020203/587812b71a28ab971e8b7591/html5/thumbnails/22.jpg)
Riigi arhitektuurist
![Page 23: Tarkvarasüsteemi arhitektuuri kavandamisest](https://reader030.vdocuments.pub/reader030/viewer/2022020203/587812b71a28ab971e8b7591/html5/thumbnails/23.jpg)
Kui aega jääb, siis eraldi slaidipakk “Architecting Estonia“
![Page 24: Tarkvarasüsteemi arhitektuuri kavandamisest](https://reader030.vdocuments.pub/reader030/viewer/2022020203/587812b71a28ab971e8b7591/html5/thumbnails/24.jpg)
Addendum
![Page 25: Tarkvarasüsteemi arhitektuuri kavandamisest](https://reader030.vdocuments.pub/reader030/viewer/2022020203/587812b71a28ab971e8b7591/html5/thumbnails/25.jpg)
Kasutatud ja viidatud kirjandus
• Frederick P Brooks. No silver bullet. In The mythical man-month,1995. Addison-Wesley Reading, MA, 1975
• Edward Crawley, Bruce Cameron, and Daniel Selva. SystemsArchitecture: Strategy and Product Development for ComplexSystems. Prentice Hall, 2015
• Melanie Mitchell. Complexity: A guided tour. Oxford UniversityPress, 2009
• Vitruvius Pollio. Vitruvius: The Ten Books on Architecture. Harvarduniversity press, 1914
• Rich, Ben R., and Leo Janos. Skunk works: A personal memoir ofmy years of Lockheed. Little, Brown, 2013.
![Page 26: Tarkvarasüsteemi arhitektuuri kavandamisest](https://reader030.vdocuments.pub/reader030/viewer/2022020203/587812b71a28ab971e8b7591/html5/thumbnails/26.jpg)
Aitäh!Andres Kü[email protected]