Ohjelmistoarkkitehtuurit. Kevät 2016, luento 3 Arkkitehtuurin kuvaus (mallinnus)

Samankaltaiset tiedostot
Ohjelmistoarkkitehtuurit. Kevät

Ohjelmistoarkkitehtuurit kevät

Ohjelmistoarkkitehtuurit kevät

2 Ohjelmistoarkkitehtuurien kuvaaminen

Ohjelmistoarkkitehtuurit. Kevät 2014, luento 3 Arkkitehtuurin kuvaus (mallinnus)

2 Ohjelmistoarkkitehtuurien kuvaus

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

2 Ohjelmistoarkkitehtuurien kuvaus

Ohjelmistoarkkitehtuurit. Kevät 2014 Kertausta

Ohjelmistoarkkitehtuurit. Kevät Johannes Koskinen.

TIE Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely

Ohjelmistoarkkitehtuurit, syksy

2 Description of Software Architectures

Ohjelmistoarkkitehtuurit. Kevät

Ohjelmistoarkkitehtuurit Kevät käytäntöjä

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Ohjelmistoarkkitehtuurit. Syksy 2008

Ohjelmistotekniikan menetelmät, UML

UML:n yleiskatsaus. UML:n osat:

Ohjelmistoarkkitehtuurit. Syksy 2010

käyttötapaukset mod. testaus

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

UML-kielen formalisointi Object-Z:lla

Ohjelmistoarkkitehtuurit Kevät käytäntöjä

Ohjelmistojen mallintaminen, mallintaminen ja UML

Unified Modeling Language

Arkkitehtuuripankki. Mallintamisen metamalli ja notaatiot

UML- mallinnus: Tilakaavio

Ohjelmistojen mallintaminen kertausta Harri Laine 1

UML - unified modeling language

Ohjelmistojen suunnittelu

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Analyysi on tulkkaamista

TIE = JOTU. VH5 - MagicDraw

Tilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss , )

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:

Ohjelmistoarkkitehtuurit. Syksy 2007

UML metamallina. Seminaariesitelmä Minna Majuri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Kaaviotekniikoista (erityisesti UML) (ajan riittäessä pikkasen projekteista)

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Johdatus sovellussuunnitteluun, s99, osa2 Helsingin yliopisto;/tktl Harri Laine 1. Olioperustainen ohjelmistokehitys

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Mallinnus UML-yleiskatsaus

Malliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Hieman lisää malleista ja niiden hyödyntämisestä

3. Komponentit ja rajapinnat

Olioperustaisuus (object oriented)

Johdatus sovellussuunnitteluun, s99, osa2 Helsingin yliopisto;/tktl Harri Laine 1. Olioperustaisuus (object oriented)

Integrointi. Ohjelmistotekniikka kevät 2003

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Toiminnot eli käyttäytyminen. Tieto eli rakenteelliset ominaisuudet

HOJ J2EE & EJB & SOAP &...

Ohjelmistojen mallintaminen

9. Muunneltavuuden hallinta

1 Johdanto. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2008

Viestinvälitysarkkitehtuurit

Ohjelmistojen mallintaminen, arkkitehtuuria ja rajapintoja

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

UML työvälineenä ja tutkimuskohteena

Ohjelmistojen mallinnus Ohjelmistoarkkitehtuuri Harri Laine 1

OULA TelemArk - arkkitehtuuri

7. Tuoterunkoarkkitehtuurit

Ohjelmistojen mallintaminen, sekvenssikaaviot

Ohjelmistoarkkitehtuurit Komponentit Kevät 2014

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

Ohjelmistojen mallintaminen, kesä 2009

Ohjelmistoarkkitehtuurit. Kevät 2014

Kurssin aihepiiri: ohjelmistotuotannon alkeita

10. Tuoterunkoarkkitehtuurit

Viestinvälitysarkkitehtuurit Lähtökohta:

Ohjelmistojen mallintaminen Ohjelmistoarkkitehtuuri Harri Laine 1

Käyttötapausanalyysi ja testaus tsoft

Pikaohje QPR-käyttöön

ADM Arkkitehtuuritason automaatio #tdarc

6 Ohjelmistoarkkitehtuurit

Ohjelmistoarkkitehtuurit kevät

Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia.

Arkkitehtuurin mallintaminen

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen:

Harjoitustehtävät ja ratkaisut viikolle 48

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

VH5, JOTU, MagicDraw:n käyttö

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

Ohjelmistoarkkitehtuurit Kevät 2016 Johdantoa

Ohjelmistojen mallintaminen, kesä 2010

Decision-centric architecture review method (DCAR) Ohjelmistoarkkitehtuurit Veli-Pekka Eloranta (Samuel Lahtinen)

T Harjoitustyöluento

T Harjoitustyöluento

Sovellusarkkitehtuurit

Suunnitteluvaihe prosessissa

HSMT J2EE & EJB & SOAP &...

5. Järjestelmämallit. Mallinnus

Ohjelmiston toteutussuunnitelma

Oppimistavoitteet. Arkkitehtuurin mallintaminen. Malleista ja niiden käytöstä. Malleista ja niiden käytöstä. Kommutatiivinen kaavio 22.9.

10. Muunneltavuuden hallinta: variaatiopisteet

Ohjelmistojen mallintaminen Ohjelmiston suunnittelu Model driven development Harri Laine 1

SOLIDPDM 6 Plus uudet ominaisuudet osa 2

Transkriptio:

Ohjelmistoarkkitehtuurit Kevät 2016, luento 3 Arkkitehtuurin kuvaus (mallinnus) Samuel Lahtinen http://www.cs.tut.fi/~ohar/

Ajankohtaisuuksia Perjantaina ensimmäinen vierailuluento, Janne Viitala, Sandvik Tulevia, Veli-Pekka Eloranta, lääketieteellisen ohjelmiston erikoisvaatimuksia Ensi viikon viikkoharjoitukset keskittyvät mallintamiseen, piirtelyyn Oma läppäri mukaan, jos haluaa tehdä paikanpäällä TTY, UTU, Oulussa tietokoneluokassa Muistakaa ilmoittautua harjoitustyöhön 2

Piirtely/mallinnusohjemia TTY:llä Magic Draw: http://www.cs.tut.fi/software/win32/magicdraw/ https://www.cs.tut.fi/~otupk/harjoitukset/magicdrawohjeopiskelijoille.p df TC217 salissa & virtuaalikoneen kautta ohjsuun.cs.tut.fi Microsoft Visio Office 365-paketissa mukana Luokissa pitäis olla asennettuna ainakin TTY:llä Dia http://sourceforge.net/projects/dia-installer/ ArgoUML: http://argouml.tigris.org/ WhiteStarUML: http://sourceforge.net/projects/whitestaruml/ Online-piirtelyä: Drawi.io : https://www.draw.io/ 3

Arkkitehtuurien kuvaaminen 4

Arkkitehtuurikuvauksen merkityksestä Oletetaan, että järjestelmän arkkitehtuurin kuvaus ja järjestelmän toteutus ovat ristiriidassa. Mikä on järjestelmän arkkitehtuuri? Oletetaan, että järjestelmällä ei ole mitään arkkitehtuuri- tai suunnitteludokumentteja, eivätkä sen suunnittelijat ole saatavilla, vain lähdekoodi. Mikä on järjestelmän arkkitehtuuri? Arkkitehtuurikuvaus on järjestelmän keskeinen artifakti, joka on verifioitavissa (vasten vaatimuksia) 5

Arkkitehtuurin kuvaamisesta Wanha vitsi(?) Mies lentää kuumailmapallolla ja huomaa, että on eksyksissä. Hän pudottaa korkeutta ja huomaa alapuolellaan olevalla pellolla miehen ja huutaa: "Anteeksi, voisitteko auttaa? Lupasin eräälle ystävälleni, että tapaisin hänet tunti sitten, mutta en tiedä missä olen." Mies alapuolella vastaa: "Tottakai voin, olet kuumailmapallossa, leijuen noin 10m tämän pellon yläpuolella. Sijaintisi on 40 ja 41:n asteen välillä pohjoista pituutta, 59 ja 60:n asteen välillä itäistä pituutta." "Sinun täytyy olla insinööri", sanoo kuumailmapalloilija. "Niin olen" vastaa mies "mutta mistä tiesit?" "No, kaikki mitä kerroit, on kyllä teknisesti totta. Mutta minulla ei ole aavistustakaan mitä tehdä informaatiollasi ja totuus on, että olen edelleen eksyksissä." Mies alapuolella vastaa: "Sinun täytyy olla johtaja." "Niin olen", palloilija vastaa, "mutta mistä tiesit?" "No, et tiedä missä olet ja minne olet menossa. Olet tehnyt lupauksen josta sinulla ei ole minkäänlaista käsitystä miten sen voisit pitää ja odotat että minä ratkaisen ongelmasi. Totuus on, että olet täsmälleen samassa tilanteessa kuin ennen tapaamistamme, mutta nyt se on jostain syystä minun vikani." 6

Oikea abstraktiotaso, tyyli, oikeellisuus Eri näkökulmat, turisti, suunnistaja, keskustelu, paikantaminen (vs. koodari, pomoporras, järjestelmän ylläpitäjä, alijärjestelmän suunnittelija) Missä on Amarante? ~Portugalissa tai 60km Portosta itään tai Cepelosista 2 km pohjoiseen Lufrein lähistöllä Entä Oravanpolku Tampereella? Kalevassa, Sorsapuiston kentän vieressä vs.nyyrikintiestä seuraava samansuuntainen tie Miten pääsen täältä Tamppi Areenalle? 7

Ajo-ohje Tamppi Areenalle viime vuonna (ongelmat väärä abstraktio kevyen liikenteen väylä & autotievanhentunutta tietoa, epätarkkuus) 8

Tämän vuotinen versio (edelleen virheellinen sijainti) 9

Eri abstraktiot samaan asiaan Kuvan lähde: http://www.interrailnet.com/interrail-railway-great-britain

Eri abstraktiot samaan asiaan http://www.tfl.gov.uk/gettingaround/14091.aspx

Eri abstraktiot samaan asiaan 12

Eri abstraktiot samaan asiaan 13

Arkkitehtuuridokumentit Alustava arkkitehtuuridokumentti korostaa kaikkein kriittisimpiä ratkaisuja, vaihtoehtoisia ratkaisuja ja niihin liittyviä etuja/haittoja käytetään alustaviin työmääräarvioihin, liiketoimintapäätöksiin lähtökohta järjestelmäarkkitehtuurin suunnittelulle konkreettinen (+ referenssi) arkkitehtuuri 14

Arkkitehtuuridokumentit Järjestelmäarkkitehtuuridokumentti järjestelmän ylimmän tason arkkitehtuuri käytetään projektisuunnitteluun, työmääräarviointiin, järjestelmätestauksen suunnitteluun, ylläpitoon lähtökohta alijärjestelmien arkkitehtuurien suunnittelulle konkreettinen (+ meta) arkkitehtuuri 15

Arkkitehtuuridokumentit (jatkuu) Alijärjestelmäarkkitehtuuridokumentti alijärjestelmän arkkitehtuuri käytetään tehtävien suunnitteluun, tarkennettuihin työmääräarvioihin, yksikkötestauksen suunnitteluun, ylläpitoon lähtökohta alijärjestelmien yksityiskohtaiselle suunnittelulle ja toteutukselle konkreettinen arkkitehtuuri Esim. MVC:n eri osat, weppikäyttöliittymäpuoli/ palvelimen toteutus, hyttiyksikkö harvesterissa 16

Arkkitehtuuridokumentit (jatkuu) Rajapintadokumentti (dokumentit) järjestelmän rajapinnan kuvaus, tyypillisesti API täydentää muita arkkitehtuuridokumentteja käytetään komponenttien suunnittelun ja toteutuksen perustana Toinen vaihtoehto, kuvataan muille miten oman järjestelmän kanssa kommunikointi onnistuu tai miten omaa järjestelmää voidaan laajentaa/käyttää osana muissa projekteissa Esimerkki: https://docs.mopidy.com/en/latest/api/ 17

Arkkitehtuuridokumentit (jatkuu) Tuoterunkoarkkitehtuuridokumentti alustan arkkitehtuuri + säännöt, joiden mukaan sovelluksia rakennetaan käytetään alustan yksityiskohtaiseen suunnitteluun ja ohjaamaan tuotekehitystä konkreettinen + meta-arkkitehtuuri 18

Arkkitehtuuridokumentit (jatkuu) Tuotearkkitehtuuridokumentti alustan käyttö + tuotekohtaiset arkkitehtuuriratkaisut käytetään tuotteen yksityiskohtaiseen suunnitteluun, testaukseen ja ylläpitoon konkreettinen arkkitehtuuri 19

Arkkitehtuuridokumentit (jatkuu) Referenssiarkkitehtuurit Miten meidän järjestelmällä kannattaa lähteä tekemään asioita? Mitä pitää huomioida, jos teet jotain vastaavaa? http://www.microsoft.com/en-us/sqlserver/solutions-technologies/data-warehousing/reference-architecture.aspx 20

Arkkitehtuuridokumentin sisältö Seuraavat asiat (soveltuvin osin) tulisi ilmetä dokumentista: Identifiointi: mistä organisaatiosta, järjestelmästä ja dokumentista on kyse Konteksti: liiketoimintatavoitteet, sidosryhmät, kehitysympäristö Vaatimukset: arkkitehtuurin kannalta merkittävät vaatimukset Rajoitteet Toimintaympäristö Näkymät: kuvauksen ydin valittujen näkökulmien mukaiset näkymät, mallit Tärkeimmät arkkitehtuuriratkaisut ja niiden perustelut Analyysi: arkkitehtuurin arvioinnin tulokset 21

Tarjolla tänään: Ohjelmistoarkkitehtuurien kuvaaminen Arkkitehtuurin kuvaukseen liittyvät käsitteet Arkkitehtuurikuvaukset eri tasoilla Arkkitehtuurinäkökulmat ja kuvaustyypit UML arkkitehtuurien kuvauskielenä Arkkitehtuuridokumentit Yhteenvetoa 22

Arkkitehtuurikuvauksen merkityksestä Oletetaan, että järjestelmän arkkitehtuurin kuvaus ja järjestelmän toteutus ovat ristiriidassa. Mikä on järjestelmän arkkitehtuuri? Oletetaan, että järjestelmällä ei ole mitään arkkitehtuuri- tai suunnitteludokumentteja, eivätkä sen suunnittelijat ole saatavilla, vain lähdekoodi. Mikä on järjestelmän arkkitehtuuri? Arkkitehtuurikuvaus on järjestelmän keskeinen artifakti, joka on verifioitavissa (vasten vaatimuksia) 23

Arkkitehtuurin kuvaukseen liittyvät käsitteet (IEEE 1471-2000) Mission Architecture has an Rationale fulfills 1..* Environment System identifies 1 described by Architectural description provides selects has 1..* Stakeholder 1..* 1..* 1..* organized by View 1..* has 1..* Concern is addressed to conforms to Viewpoint 1..* 24

Lisäys (ISO/IEC 42010) 25

Arkkitehtuuripäätökset Arkkitehtuuri voidaan ymmärtää arkkitehtuuritason päätösten summana (esim. Bosch) Arkkitehtuuripäätöksille voidaan antaa puoliformaali esitystapa Arkkitehtuuripäätökset liittyvät yleensä johonkin vaatimukseen, huolenaiheeseen, rajoitteeseen ym. Arkkitehtuuripäätöksillä on aina jokin perustelu (rationale) Arkkitehtuuripäätökset tulisi kirjata arkkitehtuurin kuvaukseen Arkkitehtuuripäätösten kuvauksia tarvitaan myös arkkitehtuurin arvioinnissa (palataan myöhemmin) 26

Arkkitehtuurinäkymät Näkymä Näkymä Arkkitehtuurikuvaus Näkymä Näkymä kuvaa tietyn arkkitehtuuriin liittyvän asian tietyllä abstraktiotasolla Näkymien kuvaamat asiat ovat osittain päällekkäisiä järjestelmän kannalta Toimiva järjestelmä 27

Arkkitehtuurikuvaukset eri tasoilla perustuu yleistys Konkreettinen arkkitehtuuri Tuotearkkitehtuuri Yksityiskohtainen suunnittelu Tuoterunkoarkkitehtuuri Referenssiarkkitehtuuri Metaarkkitehtuuri Lähdekoodi 28

Arkkitehtuurikuvaukset eri tasoilla Meta-arkkitehtuuri: välineet arkkitehtuurien kuvaukseen Referenssiarkkitehtuuri: jonkin sovellusalueen malliarkkitehtuuri Konkreettinen arkkitehtuuri: yksittäisen järjestelmän arkkitehtuuri Tuoterunkoarkkitehtuuri: jonkin tuotealustan arkkitehtuuri Tuotearkkitehtuuri: tuotealustan päälle rakennetun ohjelmistotuotteen arkkitehtuuri 29

Kysyttävää? 30

Arkkitehtuurinäkökulmat ja kuvaustyypit Näkökulmat: Skenaarionäkymät Vuorovaikutus ulkomaailman kanssa (use case view) Loogiset näkymät Ohjelmistoyksiköiden vastuut Prosessinäkymät Prosessit ja niiden vuorovaikutus "4+1" (Kruchten) Kehitysnäkymät Järjestelmän jakaminen eri kehittäjille UML Fyysiset näkymät Ohjelmiston jako eri laiteyksiköille, verkko Muuntelunäkymät Ohjelmiston laajentaminen ja muuntelu 31

Arkkitehtuurikuvauksen tyypit Rakenne - Käyttäytyminen Staattinen - Dynaaminen Esimerkki Määrittelevä Toisistaan riippuvia! 32

UML Mitä hyvää? Mitä huonoa? Mikä on tuttua? 33

kaaviokysely Kysymys 1: Kysymys 6: Kysymys 2: Kysymys 7: Kysymys 3: Kysymys 4: Kysymys 5: 34

35

UML arkkitehtuurien kuvauskielenä Kaaviotyypit 36

Esimerkki: Autonvuokrausjärjestelmä 37

Skenaarionäkymä: käyttötapauskaavio CarRentalSystem Reserve vehicle Deliver vehicle Client Return vehicle Clerk <<include>> Service Service 38

Aktiviteettikaavio, elementtityypit 39

Tarkennettu skenaarionäkymä: aktiviteettikaavio Client Car request Clerk Make reservation :Bill [open] Make bill :Bill [paid] Pay Prepare car Take car Registrate renting 40

Syntaksista 41

RentableItem Car RentableStorage regnumber RentManager +reserve(car,client) +release(car) +engage(car) +return(car) +update() +return() +reserve() +setactive() +setid() PrivateClient id name address creditcard Transaction +kind +info TransactionManager +handletransaction() * 1 1 1 creates uses * manages * 1 rents +return() Database Feature code description * <<interface>> LocationControl +getpos(car) ItemManager 1 0..1 +setcar(car) +start() +stop() +reserve() +release() +engage() +return() +lost() +recover() * creates Garage GPSService controller Client Store service information Looginen näkymä (rakenne): luokkakaavio 42

Suhteellista 43

Metamalli ja luokkakaaviomääritelmä 44

Looginen näkymä (käyttäytyminen): sekvenssikaavio luontiviesti asynkroninen 45

Looginen näkymä (käyttäytyminen): yhteistoimintakaavio/ Communications diagram, UML 2.0, yksinkertaistettu Collaboration diagram (UML 1.x) Oliokaaviota, sekvenssikaaviota yhdisteltynä, linkeille numerointia kertomassa kutsujärjestyksestä 1.1: return acar: Car UI 1: return(acar) : RentManager 1.3: update() 1.2: store(acar) : Garage 46

Piirrä tilakaavio opiskelijaruokalassa asioinnista (jonotus, ruuan valinta & annostelu, maksaminen, mahdollinen ruuan myrkyttäminen chilikastikkeella, syöminen, jne.) 47

Prosessinäkymä: tilakaavio For a ItemManager object: Lost do/announcement after(1 day) Vulnerable do/warning recover Service do/makereport lost return / stoptiming recover [suspect location] Active after(1 hour) LocCheck do/check location release engage/starttiming Available Reserved reserve 48

Fyysinen näkymä: sijoittelukaavio SiteWorkStation: Client : GUI : Rent Manager : Item Manager <<Corba>> VehicleServer: Server : Transaction Manager : Database 49

Communication path 50

Kehitysnäkymä: pakkauskaavio (package diagram) (ajoaikainen composite structure diag) 51

Kehitysnäkymä: pakkauskaavio (package diagram) (ajoaikainen composite structure diag) Core Items +Car +Feature <<import>> +RentManager +CarManager +Rentable +RentableStorage +LocationControl +Client <<import>> Storage +Garage Clients +PrivateClient +Company <<import>> <<import>> DB +Transaction +TransactionManager -Database <<import>> GPS +GPSService http://www.uml-diagrams.org/package-diagrams.html http://www.uml-diagrams.org/package-diagrams-overview.html +julkinen näkyvyys -privaatti 52

Java Servlet 2.5 API Tärkeimmät rajapinnat ja luokat http://www.uml-diagrams.org/examples/java-servlet-25-api-package-diagram-example.html?context=pkgexamples 53

Luokkakaavio & collaborationelementti 54

Muunneltavuusnäkymä: luokkakaavio feature Adding new item feature palette FeaturePalette Feature code description seticon(featureicon) price(): Integer * 1 FeatureIcon draw iconinterface initializer initcode add(feature) NewFeature price(): Integer myfeature NewFeatureIcon draw myicon initialize() Main... f = new NewFeature(...); fi = new FeatureIcon(...); f.seticon(fi); featurepalette.add(f);... 55

Harjoitus: UML ja kuvaustyypit Rakenne Käyttäytyminen Staattinen Dynaaminen Esimerkki Määrittelevä Sekvenssikaavio Luokkakaavio Tilakaavio 56

UML-kaavioilla kuvataan osittain päällekkäisiä asioita Luokkakaaviot Aktiviteettikaaviot Tilakaaviot Sekvenssikaaviot 60

Kysyttävää? 62

Stereotyypit ja profiilit UML:ssä Stereotyyppi jonkin UML:n metamalliin kuuluvan luokan (metaluokan) laajennos Profiili joukko stereotyyppejä ja niihin liitettyjä rajoitteita räätälöity UML-pohjainen mallintamiskieli johonkin erityistarkoitukseen (esim. jollekin sovellusalueelle, arkkitehtuurityylille tms.) 63

Stereotyypit Meta-metamalli (MOF) Yksinkertaistaen: Class Association UML:n metamalli <<stereotype>> bean Operation ilmentymä ClassUML AssociationUML Järjestelmän malli <<bean>> Account holder(): Person has Person mycar(): Car ilmentymä owns Car owner(): Person Järjestelmä - ei semantiikkaa - vrt. BNF ilmentymä 64

Stereotyypit

Esimerkki: CORBA profiili (OMG) Stereotyyppimäärittelyjä: 66

Esimerkki: CORBA profiili (OMG) Rajoitteiden määrittelyjä: Rajoitteiden kuvauskieli: OCL (Object Constraint Language) 67

Yhteenveto 68

2.6 Yhteenvetoa Arkkitehtuurikuvaus jakaantuu näkymiin (4+1) UML:ää voidaan käyttää eri näkymien esittämiseen UML perustuu metamallintamiseen UML:ää voidaan tarvittaessa laajentaa stereotyypeillä Mallit, kaaviot: mahdollisuus tarkistaa koodia (vastaako toteutus suunniteltua?) Mutta mutta, aina arkkitehtuuridokumentaatiossa/kuvauksessa ei aina tarvita/käytetä UML-malleja, kaavioita jne. 69

Kysyttävää? 70