Ohjelmistoarkkitehtuurin suunnittelu: Katsaus arkkitehtuurimalleihin ja ohjelmistoarkkitehtuurin yleiseen suunnitteluprosessiin
Kivelä, Juhana (2023)
Kivelä, Juhana
2023
Tietojenkäsittelytieteiden kandidaattiohjelma - Bachelor's Programme in Computer Sciences
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2023-05-17
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202305075363
https://urn.fi/URN:NBN:fi:tuni-202305075363
Tiivistelmä
Tämän tutkielman tarkoituksena on koota tietoa ohjelmistoarkkitehtuurin suunnittelusta ja viidestä eri arkkitehtuurimallista. Lisäksi työssä kerrotaan yleistä ohjelmistoarkkitehtuurin teoriaa, kuten termien auki selittämistä, ohjelmistoarkkitehtuurin hyödyt ohjelmistoprojekteissa, haitat siitä, jos ohjelmistoarkkitehtuuriin ei kiinnitetä huomiota ja ohjelmistoarkkitehtuurin historiaa.
Työn tutkimuskysymys on kaksiosainen. Ensimmäisessä osassa tutkitaan viiden suositun arkkitehtuurimallin toimintaperiaatteet, vahvuudet, heikkoudet ja soveltuvuuskohteet. Valitut arkkitehtuurimallit ovat monoliittinen arkkitehtuuri, mikropalveluarkkitehtuuri, kerrosarkkitehtuuri, komponenttiarkkitehtuuri ja tapahtumapohjainen arkkitehtuuri. Tutkimuskysymyksen toisessa osassa selvitetään, miten ohjelmistoarkkitehtuuria suunnitellaan käyttäen yleistä suunnitteluprosessia. Tässä kohdassa käydään läpi myös ADD-menetelmä (engl. Attribute Driven Design), joka on prosessi, jossa ohjelmistoarkkitehtuuria suunnitellaan ja konkretisoidaan merkittävien vaatimusten perusteella.
Tutkielmassa löydettiin paljon hyötyjä ja haittoja eri arkkitehtuurimalleista, jotka koottiin yhteen taulukoksi. Lisäksi huomattiin, että eri arkkitehtuurimallit soveltuvat erityyppisiin projekteihin. Pieniin ja yksinkertaisiin projekteihin sopii monoliittinen arkkitehtuuri, mutta jos järjestelmä halutaan toteuttaa käyttäen itsenäisiä palveluita, esimerkiksi mikropalveluarkkitehtuuri tai tapahtumapohjainen arkkitehtuuri voi olla parempi vaihtoehto. Lisäksi työssä kerrottiin paljon eri arkkitehtuurimallien laatuattribuuteista, joita ovat esimerkiksi skaalautuvuus, yksinkertaisuus, uudelleenkäytettävyys ja testattavuus. Tutkielmassa huomattiin, että ohjelmistoarkkitehtuurin yleinen suunnitteluprosessi on 5-osainen iteratiivinen prosessi. Se myös pitää sisällään useita pienempiä prosesseja etenkin suunnittelu- ja evaluointivaiheessa.
Työn tutkimuskysymys on kaksiosainen. Ensimmäisessä osassa tutkitaan viiden suositun arkkitehtuurimallin toimintaperiaatteet, vahvuudet, heikkoudet ja soveltuvuuskohteet. Valitut arkkitehtuurimallit ovat monoliittinen arkkitehtuuri, mikropalveluarkkitehtuuri, kerrosarkkitehtuuri, komponenttiarkkitehtuuri ja tapahtumapohjainen arkkitehtuuri. Tutkimuskysymyksen toisessa osassa selvitetään, miten ohjelmistoarkkitehtuuria suunnitellaan käyttäen yleistä suunnitteluprosessia. Tässä kohdassa käydään läpi myös ADD-menetelmä (engl. Attribute Driven Design), joka on prosessi, jossa ohjelmistoarkkitehtuuria suunnitellaan ja konkretisoidaan merkittävien vaatimusten perusteella.
Tutkielmassa löydettiin paljon hyötyjä ja haittoja eri arkkitehtuurimalleista, jotka koottiin yhteen taulukoksi. Lisäksi huomattiin, että eri arkkitehtuurimallit soveltuvat erityyppisiin projekteihin. Pieniin ja yksinkertaisiin projekteihin sopii monoliittinen arkkitehtuuri, mutta jos järjestelmä halutaan toteuttaa käyttäen itsenäisiä palveluita, esimerkiksi mikropalveluarkkitehtuuri tai tapahtumapohjainen arkkitehtuuri voi olla parempi vaihtoehto. Lisäksi työssä kerrottiin paljon eri arkkitehtuurimallien laatuattribuuteista, joita ovat esimerkiksi skaalautuvuus, yksinkertaisuus, uudelleenkäytettävyys ja testattavuus. Tutkielmassa huomattiin, että ohjelmistoarkkitehtuurin yleinen suunnitteluprosessi on 5-osainen iteratiivinen prosessi. Se myös pitää sisällään useita pienempiä prosesseja etenkin suunnittelu- ja evaluointivaiheessa.
Kokoelmat
- Kandidaatintutkielmat [8709]