Graafisten käyttöliittymien ohjelmistoarkkitehtuurit
Eronen, Joni (2018)
Eronen, Joni
2018
Tietotekniikka
Tieto- ja sähkötekniikan tiedekunta - Faculty of Computing and Electrical Engineering
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ä
2018-02-07
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201801051030
https://urn.fi/URN:NBN:fi:tty-201801051030
Tiivistelmä
Suurien ohjelmistojen hallinta on vaikeaa ja ohjelmistoarkkitehtuureja on monia. Oikean ohjelmistoarkkitehtuurin valinta voi olla vaikeaa ja niiden tutkiminen ja etsiminen työlästä. Tässä työssä kootaan yhteen neljä graafisten käyttöliittymien ohjelmistoarkkitehtuuria ja selvitetään, millaisten ohjelmistojen toteutukseen ne soveltuvat.
Jokaisesta tässä työssä esiteltävästä ohjelmistoarkkitehtuurista on selvitetty niiden toiminta ja erityispiirteet vertailua ja soveltuvuutta varten. Ohjelmistoarkkitehtuurin toiminnasta riippuen työssä on avattu myös matalamman tason suunnittelumalleja. Esiteltäviksi ohjelmistoarkkitehtuureiksi on valittu Smart UI -, MVC-, MVP- ja MVVM-arkkitehtuurit.
Smart UI -arkkitehtuuri on esiteltävistä ohjelmistoarkkitehtuureista yksinkertaisin ja soveltuu parhaiten pienien ohjelmistojen tekemiseen.
MVC-arkkitehtuuri on tämän työn vanhin ja tunnetuin ohjelmistoarkkitehtuuri. MVC-arkkitehtuuri mahdollistaa paremman ohjelmiston osien vastuujaon kuin Smart UI -arkkitehtuuri ja soveltuu ohjelmistojen toteuttamiseen, joissa pitää tehdä itse käyttäjän syötteiden lukeminen.
MVP-arkkitehtuuri on kehitetty MVC-arkkitehtuurin pohjalta yhdistämällä näkymä ja ohjain ja luomalla ohjaimen tilalle esittelijä. MVP-arkkitehtuurista on monia eri variaatioita, jotka eroavat toisistaan esittelijän roolin mukaan. MVP-arkkitehtuurin vahvuus on valmiiden käyttöliittymäkomponenttien käyttäminen ja esittelijän ja näkymän suora yhteys, joka helpottaa tiettyjen toimintojen toteuttamista MVC-arkkitehtuuriin verrattuna.
MVVM-arkkitehtuuri mahdollistaa ohjelmistoprojektin jakamisen käyttöliittymään ja käyttöliittymän logiikkaan. MVVM-arkkitehtuurin ajatuksena on toteuttaa käyttöliittymä ja sen logiikka eri työkaluilla ja kielillä, jotta visuaalisesti lahjakkaat ihmiset voivat keskittyä logiikan tekemisen sijaan ohjelmiston ulkonäköön. MVVM-arkkitehtuuri soveltuukin parhaiten ohjelmistoihin, joissa käyttöliittymä ja sen logiikka on tehty eri kielillä tai työkaluilla.
Jokaisesta tässä työssä esiteltävästä ohjelmistoarkkitehtuurista on selvitetty niiden toiminta ja erityispiirteet vertailua ja soveltuvuutta varten. Ohjelmistoarkkitehtuurin toiminnasta riippuen työssä on avattu myös matalamman tason suunnittelumalleja. Esiteltäviksi ohjelmistoarkkitehtuureiksi on valittu Smart UI -, MVC-, MVP- ja MVVM-arkkitehtuurit.
Smart UI -arkkitehtuuri on esiteltävistä ohjelmistoarkkitehtuureista yksinkertaisin ja soveltuu parhaiten pienien ohjelmistojen tekemiseen.
MVC-arkkitehtuuri on tämän työn vanhin ja tunnetuin ohjelmistoarkkitehtuuri. MVC-arkkitehtuuri mahdollistaa paremman ohjelmiston osien vastuujaon kuin Smart UI -arkkitehtuuri ja soveltuu ohjelmistojen toteuttamiseen, joissa pitää tehdä itse käyttäjän syötteiden lukeminen.
MVP-arkkitehtuuri on kehitetty MVC-arkkitehtuurin pohjalta yhdistämällä näkymä ja ohjain ja luomalla ohjaimen tilalle esittelijä. MVP-arkkitehtuurista on monia eri variaatioita, jotka eroavat toisistaan esittelijän roolin mukaan. MVP-arkkitehtuurin vahvuus on valmiiden käyttöliittymäkomponenttien käyttäminen ja esittelijän ja näkymän suora yhteys, joka helpottaa tiettyjen toimintojen toteuttamista MVC-arkkitehtuuriin verrattuna.
MVVM-arkkitehtuuri mahdollistaa ohjelmistoprojektin jakamisen käyttöliittymään ja käyttöliittymän logiikkaan. MVVM-arkkitehtuurin ajatuksena on toteuttaa käyttöliittymä ja sen logiikka eri työkaluilla ja kielillä, jotta visuaalisesti lahjakkaat ihmiset voivat keskittyä logiikan tekemisen sijaan ohjelmiston ulkonäköön. MVVM-arkkitehtuuri soveltuukin parhaiten ohjelmistoihin, joissa käyttöliittymä ja sen logiikka on tehty eri kielillä tai työkaluilla.
Kokoelmat
- Kandidaatintutkielmat [8996]