Johdanto ATAM-menetelmä Esimerkki Käytännön kokemuksia ja ...ohar/luennot/luennot2009/Ohar9...

Preview:

Citation preview

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

9. Ohjelmistoarkkitehtuurien arviointi9. Ohjelmistoarkkitehtuurien arviointi

JohdantoATAM-menetelmäEsimerkkiKäytännön kokemuksia ja ongelmiaYhteenveto

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 2

Miksi ohjelmistoarkkitehtuuria on arvioitava?Miksi ohjelmistoarkkitehtuuria on arvioitava?

• Arkkitehtuuri on ensimmäinen täsmällinen kuvaus järjestelmästä

• Arviointi vahvistaa hyvät ratkaisut ja kiinnittää huomiota mahdollisiin ongelmiin aikaisin

• Arviointi auttaa ymmärtämään paremmin järjestelmää

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka

Muita mahdollisia hyötyjäMuita mahdollisia hyötyjä

• Kehitystrendien sekä potentiaalisten kehitys- ja riskialueiden tunnistaminen

• Arvioinnilla voidaan varmistua muiden tekemien ohjelmistojen (esim. alihankinta) laadusta

• Arkkitehtuurin suunnittelua ohjaavien laatuvaatimusten kirjaaminen ja tarkentaminen

• Arkkitehtuuriratkaisuiden kirjaaminen ja liittäminen laatuvaatimuksiin

• Arkkitehtuuridokumentaation parantaminen• Kommunikaation lisääminen

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 4

Milloin ohjelmistoarkkitehtuuri olisi arvioitava?Milloin ohjelmistoarkkitehtuuri olisi arvioitava?

• Ensimmäisten (vaihtoehtoisten) luonnosten pohjalta (alustava arkkitehtuuridokumentti)

• Arkkitehtuurisuunnittelun jälkeen, ennen toteutuksenaloittamista (järjestelmä/alijärjestelmäarkkitehtuuri-dokumentti)

• Olemassaolevalle järjestelmälle (esim. vanhan järjestelmän uudistaminen)

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 5

Arkkitehtuurin rakentaminen kehitysprosessissaArkkitehtuurin rakentaminen kehitysprosessissaArkkitehtuurin kannalta merkittävät vaatimukset

Alustavaarkkitehtuuri

Vaatimus-analyysi

Arkkitehtuurinarviointi

Alustavaarkkitehtuuri-suunnittelu

Laatu-vaatimuksenhuomiointi

Keskeisettoiminnallisetvaatimukset

Laatu-vaatimukset

Arkkitehtuuri

Kaikkikäsitelty

ei OK

Toissijaisettoiminnallisetvaatimukset

Rajoitteet

Yksityiskohtainensuunnittelu

OK

Yleisten ratkaisu-mallien soveltaminen

Arkkitehtuuri-muunnos

Ympäristö-vaatimukset

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 6

Arkkitehtuuri ja laatuvaatimuksetArkkitehtuuri ja laatuvaatimukset

• Tässä laadulla ei viitata virheettömyyteen vaan siihen millä laadulla järjestelmä tekee loogiset toimintonsa

• Arkkitehtuuri määrää miten (useimmat) laatuvaatimuksettoteutuvat. Hiukan kärjistäen: Ohjelmistoarkkitehtuuri on tapa toteuttaa ohjelmiston laatuvaatimukset

• Arkkitehtuurin kuvauksen täytyy sisältää kaikki se informaatio, joka tarvitaan päättelemään laatuvaatimustentoteutuminen tai toteutumattomuus

• Arkkitehtuuria arvioidaan (yleensä) vasten laatuvaatimuksia

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 7

Ohjelmistojen laatuominaisuudetOhjelmistojen laatuominaisuudet

Ajoaikaiset laatuominaisuudet

• Suorituskyky• Tilankäyttö• Luotettavuus• Saatavuus• Tietoturvallisuus• Käytettävyys• …

Kehitys- ja evoluutioaikaiset laatuominaisuudet:

• Muunneltavuus• Siirrettävyys• Ylläpidettävyys• Uudelleenkäytettävyys• …

Laatustandardit: esim. ISO 9126

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 8

ISO 9126 laatukehikkoISO 9126 laatukehikko

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 9

Tarkennetut laatuominaisuudetTarkennetut laatuominaisuudet

EfficiencyTime performanceResource utilizationResponse timeMemory usageScalabilityThroughput

MaintainabilityAnalyzabilityChangeabilityStabilityTestabilityVariabilitySubsetabilityConceptual integrityTraceability

ReliabilityMaturityFault toleranceRecoverabilityAvailabilityPredictability

UsabilityUnderstandabilityLearnabilityOperabilityAttractiveness

PortabilityAdaptabilityInstallabilityCo-existenceReplaceability

FunctionalitySuitabilityAccuracyInteroperabilitySecurityData securityAccess security

Safety

Ryhmittelyllä ei käytännössä paljon merkitystä arvioinnissa

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka

Arkkitehtuuri ja liiketoimintatavoitteetArkkitehtuuri ja liiketoimintatavoitteet

10

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 11

Arvioinnin tulokset Arvioinnin tulokset

Ohjelmistoarkkitehtuurin arviointi vastaa tyypillisesti seuraaviinkysymyksiin:

1) Täyttääkö suunniteltu arkkitehtuuri olennaiset laatuvaatimukset? Jos täyttää, miksi? Jos ei täytä, miksi?

2) Mikä vaihtoehtoisista arkkitehtuuriratkaisuista sopii parhaiten järjestelmälle? Miksi?

3) Kuinka hyvin tietty laatuvaatimus voidaan saavuttaa suunnitellulla arkkitehtuurilla?

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 12

VarauksiaVarauksia

• Arviointi pohjautuu arkkitehtuurin kuvaukseen, saatavilla olevaan informaatioon ja osallistujien aktiivisuuteen

• Arvioinnin tulosten tarkkuus riippuu lähtötietojen tarkkuudesta

• Arvioinnissa täytyy olettaa järkevä toteutus, arkkitehtuurin täytyy mahdollistaa järkevä toteutus

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 13

Ohjelmistoarkkitehtuurien arvioinnin ongelmaOhjelmistoarkkitehtuurien arvioinnin ongelma

Laatu-vaatimukset

Ohjelmisto-arkkitehtuuri

?

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 14

Laatuvaatimukset tulevat sidosryhmiltäLaatuvaatimukset tulevat sidosryhmiltä

Loppukäyttäjä

Hyvä suorituskyky, luotettava,hyvä käytettävyys

Ylläpitäjä

Helposti ylläpidettävä,siirrettävä

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 15

Laatuominaisuuksien arviointiLaatuominaisuuksien arviointi

• Laatuominaisuuksille ei ole selviä täyttymiskriteerejä• Esim. ylläpidettävyys: järjestelmän on oltava helppo

muuttaa kun sen käyttöympäristö muuttuu• Miten arvioida jotain ominaisuutta, jolla on suuri (ääretön)

määrä erilaisia tilanteita, joissa ominaisuuden olemassaolo on potentiaalisesti uhattuna

• Vrt. oikeellisuus – testaus• Yleinen menetelmä: määrää tavoitteet järjestelmälle,

johda niistä halutut laatuominaisuudet, tarkenna ne, anna kullekin tarkennetulle laatuominaisuudelle esimerkki-tilanne, ja tutki täyttyykö ko. laatuominaisuus tässä esimerkkitilanteessa

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 16

Laatuvaatimusten täsmentäminen Laatuvaatimusten täsmentäminen skenaarioillaskenaarioilla

• Skenaario = tilanne tai tapahtumasarja, joka tuo esille jonkin laatuvaatimuksen täyttymisen (jonkin järjestelmän osan kannalta)

• Skenaario konkretisoi laatuvaatimuksen esimerkillä• Skenaarion on oltava riittävän täsmällinen, jotta

arkkitehtuuria voidaan arvioida sitä vasten – usein tarkkoja lukuarvoja

• Vrt. perinteinen käyttötapaus – toiminnallinen vaatimus• Skenaario = arkkitehtuurin testitapaus

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 17

Tiedon louhinta arkkitehtuurista Tiedon louhinta arkkitehtuurista

• Asiantuntijoiden näkemyksetesim. pääarkkitehti, muita vastaavia järjestelmiäsuunnitelleet arkkitehdit ym.

• Takaisinmallinnuskoodia voidaan abstrahoida takaisinmallinnustyökaluilla, ei tuota varsinaista arkkitehtuurikuvausta vaan analysoi erilaisia riippuvuuksia

• Simulointijos on olemassa ajettava malli, voidaan tutkia arkkitehtuurista johtuvaa suorituskykyä, luotettavuutta; edellyttää järjestelmän mallintamista ja hyvää työkalua

• Metriikatvoidaan käyttää karkeana työkaluna epäilyttävien kohtienlöytämiseen (toimii lähinnä ylläpidettävyydelle),edellyttää hyviä työkalujaesim. suuret luokat, paljon riippuvuuksia komponenttien välillä

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 18

Analysointityökalujen hyödyntäminenAnalysointityökalujen hyödyntäminen

• Olemassaolevan järjestelmän arkkitehtuuriarvioinnissa voidaan käyttää erilaisia työkaluja (esim. metriikkatyökalut, sääntöjen tarkistustyökalut, visualisointityökalut, riippuvuusanalysaattorit, koodin kopioinnin tarkistajat, takaisinmallinnustyökalut) (esim. Rigi, Columbus)

• Erityisen hyödyllistä ylläpidettävyyden ja muunneltavuuden analysoinnissa

• Monet työkalut toimivat koodin perusteella -> ei välttämättä arkkitehtuuritason informaatiota

• Voidaan hyödyntää skenaariopohjaisessa arvioinnissa esim. hakemalla ja priorisoimalla skenaarioita, jotka kohdistuvat ”epäilyttäviin” osiin järjestelmässä

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 19

Esimerkki (Columbus): koodin kopiointiEsimerkki (Columbus): koodin kopiointi

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 20

Ohjelmistoarkkitehtuurien arvioinnin ongelman Ohjelmistoarkkitehtuurien arvioinnin ongelman ratkaisu: skenaariopohjainen arviointiratkaisu: skenaariopohjainen arviointi

Laatu-vaatimukset

Ohjelmisto-arkkitehtuuri

Skenaariot

Vaatimustentarkennus

Arkkitehtuuri-ratkaisut

Ratkaisujenidentifiointi

Analyysi

?

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 21

Ohjelmistoarkkitehtuurien arvioinnin ongelman Ohjelmistoarkkitehtuurien arvioinnin ongelman ratkaisu: tarkistuslistapohjainen arviointiratkaisu: tarkistuslistapohjainen arviointi

Laatu-vaatimukset

Ohjelmisto-arkkitehtuuri

Yleinentarkistuslista

Analyysi

?

Sovitettutarkistuslista

Järjestelmätyyppi

yleiset/järjestelmätyyppikohtaiset tarkistuslistat:esim.: onko käyttöliittymäosat erotettu selvästi sovelluslogiikasta? onko kerrosten välillä selvät rajapinnat? onko tietokanta abstrahoitu yleisen rajapinnan taakse?

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 22

Skenaariopohjaiset arviointimenetelmätSkenaariopohjaiset arviointimenetelmätSAAM (Software Architecture Analysis Method)• keskittyy erityisesti muunneltavuuteen, siirrettävyyteen, ylläpidettävyyteen• kehitetty SEI:ssä• perustuu evoluutioaikaisiin skenaarioihin

ATAM (Architecture Tradeoff Analysis Method)• soveltuu kaikille laatuominaisuuksille• kehitetty SEI:ssä• johdettu SAAM:ista

MPM (Maintenance Prediction Method)• keskittyy ylläpidettävyyteen• pyrkii löytämään suht. tarkat kustannusarviot ylläpidolle• Jan Bosch:in kehittämä• perustuu ylläpitoskenaarioihin

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 23

ATAM tietovuoATAM tietovuo

Len Bass

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka

ATAMin peruskäsitteetATAMin peruskäsitteet

Skenaario: arkkitehtuurin ”testitapaus”Laatupuu: kohdejärjestelmän laatuvaatimusten tarkennus asteittain skenaarioiksi (utility tree)Herkkyyskohta: muutokset tämän arkkitehtuuripäätöksen suhteen voivat aiheuttaa merkittäviä muutoksia johonkin laatuominaisuuteen (sensitivity point)Tasapainokohta: arkkitehtuuripäätös joka vaikuttaa useampaan laatuominaisuuteen vastakkaisiin suuntiin (tradeoff)Riski: arkkitehtuuripäätös joka saattaa aiheuttaa ongelmia tulevaisuudessa laatuattribuutin näkökulmastaEi-riski: arkkitehtuuripäätös joka voi edesauttaa laatuominaisuuden toteutumisessa

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka

Skenaariot ja skenaariolajitSkenaariot ja skenaariolajit

Skenaario konkretisoi laatuvaatimuksen esimerkillä. Tapahtuma tai tapahtumasarja, joka liittyy johonkin laatuvaatimukseen.Skenaario on täsmällinen (vrt. testitapaus, use case)Skenaarion rakenne: Ärsyke - Ympäristö – VasteKäyttötapausskenaario: käyttäjän interaktio järjestelmän kanssa

Etäkäyttäjä hakee tietokantaraportin web-käyttöliittymästä suurimman kuormahuipun aikana ja saa sen 5s kuluessa.

Kasvuskenaario: ennakoituja muutoksiaJärjestelmään lisätään uusi datapalvelin latenssin vähentämiseksi 2,5s, työ tehdään 1 henkilötyöviikossa.

Tutkiva skenaario: odottamattomia muutoksia, kuormituksia jne.Puolet palvelimista kaatuu normaalissa käyttötilanteessa, tämä ei vaikuta järjestelmän saavutettavuuteen.

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 26

Skenaario esimerkkiSkenaario esimerkki

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka

Skenaarion priorisointiSkenaarion priorisointi

27

• Tavallisesti kaksiosainen prioriteetti: • kuinka tärkeä (tuotepäällikkö, projektipäällikkö)• kuinka vaikea toteuttaa (arkkitehti)

• Kolme arvoa: H (high), M (medium), L (low)

• Voidaan tehdä myös äänestämällä

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka

HarjoitusHarjoitus

28

Anna muunneltavuuteen liittyvä skenaario robotinvalmistajan tuotannonohjausjärjestelmälle

Anna turvallisuuteen liittyvä skenaario hissinohjausjärjestelmälle

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka

Esimerkki: laatupuuEsimerkki: laatupuu

Laatu

Suorituskyky

Muunneltavuus

Saatavuus

Tietoturvallisuus

laatuominaisuudet skenaariottarkennukset

TransaktioidenKäsittely

Vasteaika

GUI muutokset

Tietokanta-muutokset

Laitteistoviat

Palvelimenkaatuminen

Korttien käyttö

Käsittelee 1000 palvelupyyntöä/sek. (H,M)Käyttäjävarmistus < 1 sek. (H,M)

GUI Web-pohjaiseksi1 kk:ssa (M,H)

Tietokanta vaihdetaanOracleksi 6 kk:ssa (L,H)

Palvelimen kovalevyn hajoamisenjälkeen uusintakäynnistys5 min:ssa (L,H)

Uudelleenkäynnistysautentikaatiopalvelimen kaatuessa 5 min:ssa (M,M)

Luottokortin tiedot turvassa99.999% (H,L)

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 30

HerkkyyskohtaHerkkyyskohta

Herkkyyskohta = arkkitehtuuriratkaisu, joka on kriittinen jonkin laatuominaisuuden saavuttamisen kannalta.

Esimerkki:

MVC-mallin käyttö GUI arkkitehtuurissa on olennaista järjestelmän siirrettävyyden kannalta.

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 31

TasapainokohtaTasapainokohta

Tasapainokohta = herkkyyskohta, joka koskee useaalaatuominaisuutta (yleensä vastakkaisiin suuntiin)

Esimerkki:

XML:n käyttö syöttöformaattina parantaa järjestelmän integroitavuutta mutta heikentää sen suorituskykyä.

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 32

RiskiRiski

Riski = potentiaalisesti ongelmallinen arkkitehtuuriratkaisu, joka voi heikentää jotain laatuominaisuutta

Riski = ratkaisu/fakta + laatuseuraamus + perustelu

Esimerkki:

Kriteerit ja säännöt keskimmäisen kerroksen komponenttientekemiselle ovat epäselvät (ratkaisu/fakta). Tästä voi seuratatoiminnallisuuden replikointia eri kerroksissa (perustelu), mikä heikentää ylläpidettävyyttä (laatuseuraamus).

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 33

EiEi--riskiriski

Ei-riski = arkkitehtuuriratkaisu, jolla on tiedossa (lähinnä) vain hyviä laatuseuraamuksia.

Ei-riski = oletus + ratkaisu + laatuseuraamus + perustelu

Esimerkki:Olettaen, että komponentit eivät joudu tutkimaan toistensa tilaa (oletus), Tarkkailija-suunnittelumallin käyttö komponenttien välisessä kommunikoinnissa (ratkaisu) parantaa muunneltavuutta (laatuseuraamus), koska komponenttien ei tarvitse tietää toisistaan mitään muuta kuintakaisinkutsu- ja rekisteröintirajapinnat (perustelu).

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka

ATAMin ATAMin vaiheet (2 päiväinen)vaiheet (2 päiväinen)

1. päivä

2. päivä

0. Ennakkovalmistelu1. ATAMin esittely2. Liiketoiminnan asettamat vaatimukset tuotteelle3. Arkkitehtuuriesittely4. Arkkitehtuurilähestymistapojen tunnistaminen5. Laatupuun ja skenaarioiden laadinta6. Arkkitehtuurilähestymistapojen analysointi7. Skenaarioaivoriihi ja priorisointi8. Arkkitehtuurilähestymistapojen analysointi9. Tulosten esittäminen

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka

OsallistujatOsallistujat

Sidosryhmät:

• Arkkitehti• Ylläpitäjä• Testaaja• Standardiasiantuntija• Turvallisuusvastaava• Projektipäällikkö• Tuotepäällikkö• Asiakas• Loppukäyttäjä• Oheispalveluvastaava• Sovellusalueen asiantuntija• Laiteasiantuntija• Huolto• Markkinointi• Ohjelmistokehittäjä

1. päivä3-5 hlöä. Arkkitehti ja muista kiinteästi suunnittelussa tai toteutuksessa mukana olleitaArviointiryhmä

2. päivä5-10 hlöä. Kattavasti kaikkien sidosryhmien edustajiaArviointiryhmä

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 36

ATAM prosessiATAM prosessiPäivä 1

ATAMin esittely• ATAMin vaiheet• ATAMin tekniikat (skenaariot, laatupuu, jne)

Liiketoimintanäkökulma• tärkeimmät toiminnallisuudet käyttäjien kannalta• liiketoimintatavoitteet• taloudelliset, poliittiset yms. rajoitteet

Arkkitehtuuriesittely• tekniset rajoitteet (kj, ohjelmistoalustat, laitteisto jne.)• järjestelmän ulkoiset rajapinnat• arkkitehtuurin kuvaus

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 37

Päivä 1 jatkuu

Arkkitehtuuriratkaisujen tunnistaminen• tunnistetaan ja nimetään käytetyt tyylit, suunnittelumallit ja omat ratkaisut• selitetään miten ratkaisuilla oletetaan saavutettavan tietyt laatuvaatimukset

Laatupuun ja skenaarioiden laatiminen• tarkennetaan laatuvaatimukset järjestelmäkohtaisella ryhmittelyllä• konkretisoidaan kukin tarkennettu laatuvaatimus skenaariolla• priorisoidaan skenaariot tärkeyden ja vaikeuden perusteella

Arkkitehtuuriratkaisujen analysointi • keskitytään tärkeimpiin skenaarioihin• kysytään: tekeekö tämä arkkitehtuuri mahdolliseksi skenaarion, miksi? • arkkitehtuuri on syyllinen kunnes toisin todistetaan• pyritään tunnistamaan riskit, turvalliset ratkaisut, herkkyyskohdat ja tasapainokohdat

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 38

Täydennys (Päivä 2))Täydennys (Päivä 2))

Skenaarioaivoriihi • kaikki osapuolet esittävät skenaarioita omilta näkökulmiltaan• uudet skenaariot priorisoidaan ja liitetään laatupuuhun• vanhat skenaariot vahvistetaan

Uusinta-analyysi • tärkeimmät skenaariot tarkistetaan vasten arkkitehtuuria• mahdolliset uudet riskit tunnistetaan

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 39

RaportointiRaportointi

ATAM:in tärkeimmät tulokset:

• Keskeisten arkkitehtuuriratkaisujen tunnistaminen• Olennaisimpien laatuun vaikuttavien käyttö- ja

kehitysskenaarioiden tunnistaminen• Laatupuu skenaarioineen: kuvaus laatuvaatimusten ja

arkkitehtuuriratkaisujen yhteydestä• Arkkitehtuuriin liittyvien riskien tunnistaminen

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 40

Raportin rakenne (esimerkiksi)Raportin rakenne (esimerkiksi)

1. Introduction2. Target System

2.1 Description of the System2.2 Most Important Architectural Solutions

3. Analyzed Scenarios3.1 Maintainability3.2 Reliability 3.3 Efficiency 3.4 Usability

4. Analysis Overview4.1 General Observations4.2 Specific Issues4.3 About the Process

5. ConclusionsReferences Appendix: Complete Scenario List

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka

ArviointiraporttiArviointiraportti

41

Tyypillisesti 10-15 korkealle priorisoitua skenaariota

Skenaarioon liittyvät arkkitehtuuriratkaisut tunnistetaan ja luokitellaan (esim. T = tasapainokohta, R = riski, N = ei-riski)

Arkkitehdin selvitys skenaarion hoitumisesta kirjataan (Description)

Kunkin ratkaisun liittyminen skenaarioon selitetään (Argumentation)

Recommended