All +
All -
Arkkitehtuurin muuntaminen
- + -
Yleistä
- + -
Ymmärrys sovellusalueesta
- sovellusaluemallinnus
- arkkitehtuuri
- + -
yhteiset käsitteet, määritelmät, yhteinen kuva järjestelmästä
- helpottavat keskustelua
- muutokset tekijäryhmässä vaikuttavat vähemmän
- + -
Mikä estää arkkitehtuurin vaaditun ominaisuuden täyttymisen?
- laatuatribuutin arviointi
- laatuatribuutin konteksti, alijärjestelmä
- + -
Laatuatribuutin parannus
- muokkaamalla kontekstia
- muokkaamalla arkkitehtuuria
- + -
Arkkitehtuurin muuntamisen vaikutukset
- hyviä ja huonoja vaikutuksia, usein yht'aikaa
- laajoja vaikutuksia läpi arkkitehtuurin
- lokaaleja vaikutuksia
- + -
muunnokset voivat...
- viedä arkkitehtuuria edemmäs sovellusaluekäsitteistä
- lisätä komponenttien määrää huomattavasti
- Muistettava pitää asiat selkeinä ja yksinkertaisina!
- + -
Muunnosvaihtoehdot
- Arkkitehtuurityylin sovitus
- Arkkitehtuurimallin sovitus
- Suunnittelumallin sovitus
- Laatuvaatimusten muuntaminen toiminnallisiksi
- + -
Lopetetaan iterointi, kun pystytään osoittamaan laatuvaatimusten voivan täyttyä
- saattaa vaatia hyvin yksityiskohtaista suunnittelua
- + -
Muuntamisen vaiheet
- + -
1. Tunnista täyttymättömät laatuatribuutit
- niiden nykyiset ja tarvitut tasot
- maksimissaan viisi laatuatribuuttia käsittelyyn kerrallaan
- 2. Jokaiselle laatuatribuutille tunnista komponentit
- + -
3. Valitse soveliain muunnos
- + -
Vaihtoehdot
- Arkkitehtuurityylin sovitus
- Arkkitehtuurimallin sovitus
- Suunnittelumallin sovitus
- Laatuvaatimusten muuntaminen toiminnallisiksi
- Kun muu ei auta: Laatuatribuuttien hajauttaminen
- + -
Laatuatribuuttien tason täyttyminen
- Atribuutin taso saa laskea, jos se silti pysyy hyväksyttävänä
- Muuten tason pitää nousta aina.
- 4. Muunna arkkitehtuuri ja päivitä kuvaukset
- + -
Muuntamisen vaihtoehdot
- + -
Arkkitehtuurityylin sovitus
- + -
Kuvastot
- Shaw & Garlan
- + -
Buschmann et al. "Siemens-kirja"
- heidän arkkitehtuurimallit ovat Boschin arkkitehtuurityylejä
- Vaikuttaa koko arkkitehtuuriin
- + -
Usein ei kovin montaa yht'aikaa
- kääntäjät: piippu-suodin ja tietovarasto
- järjestelmällä ja alijärjestelmällä eri arkkitehtuuri
- + -
Arkkitehtuurimallin sovitus
- Vaikuttavat koko arkkitehtuuriin, monia kerrallaan
- Laajentaa tai muuttaa komponenttien toimintaa
- Voi lisätä muutaman komponentin
- Metodeja, sääntöjä, rajotteita
- Vaikutus "tietotekniikka-alueessa", ei sovellusalueessa
- + -
Joitakin malleja
- + -
Rinnakkaisuus
- + -
käyttöjärjestelmän prosessit
- datan jako prosessien välillä voi olla hankalaa
- raskaita
- + -
käyttöjärjestelmän säikeet
- luotettavuus ja ylläpidettävyys heikkenee, koska säikeiden hallinta on usein hankalaa
- + -
ei salliva (?, ei-pre-emptiivinen) moniajo
- yksi väärinkäyttäytyvä tehtävä voi jumiuttaa koko järjestelmän
- + -
sovellustasoinen moniajon ajoittaminen
- tick()
- ongelmat kuten yllä
- ylläpito hankaloituu monimutkaisen koodin takia
- + -
Pysyväisyys
- + -
tietokantahallintajärjestelmät
- ylläpidettävyys saattaa kärsiä kovasti, vrt olio-relaatio
- muistutus: usein tavan (teksti)tiedostot riittää, tiedostojärjestelmä on myös keksitty
- + -
sovellustasoinen pysyväisyys ja transaktiot
- ylläpidettävyys kärsii monimutkaisesta koodista
- + -
Hajautus
- välittäjät
- etämetodikutsu
- GUI
- Ensin yksinkertaisesti; monimutkaiseen ratkaisuun tulee kasvaa.
- + -
Suunnittelumallin sovitus
- + -
Kuvastoja
- GoF
- Siemens
- Anti-mallit
- Robert C. Martin: Agile Software Development
- http://www.c2.com/
- Cristopher Alexander
- Vaikuttavat pieneen osaan arkkitehtuuria
- Monia kerrallaan, muttei kaikkia...
- + -
Laatuvaatimusten muuntaminen toiminnallisuudeksi
- poikkeukset
- itsemonitorointi
- moninkertaiset järjestelmät
- + -
Kun muu ei auta: Laatuatribuuttien hajauttaminen
- atribuutin hajauttaminen usealle komponentille
- + -
vikasietoisuuden jako
- vikasietoinen laskenta
- vikasietoinen kommunikointi