Näytä suppeat kuvailutiedot

dc.contributor.advisorLappalainen, Vesa
dc.contributor.advisorLakanen, Antti-Jussi
dc.contributor.advisorItkonen, Jonne
dc.contributor.authorTarvainen, Seppo
dc.date.accessioned2018-05-25T11:28:47Z
dc.date.available2018-05-25T11:28:47Z
dc.date.issued2018
dc.identifier.urihttps://jyx.jyu.fi/handle/123456789/58128
dc.description.abstractJavaScript-sovelluskehysten käyttö helpottaa asiakaspuolen sovelluskehitystä ja parantaa sovelluksen ylläpidettävyyttä. Oikean työkalun valitseminen on ohjelmoijalle kuitenkin haastava tehtävä teknologioiden nopean kehittymisen vuoksi. Suunnittelutieteellisen tutkimuksen avulla selvitettiin suosittujen sovelluskehysten (AngularJS, Angular 5 ja React) eri ominaisuuksien, kuten staattisen tyypityksen, riippuvuusinjektion ja tarkkailijamallin käytön sekä komponentteihin osituksen vaikutusta kahteen ylläpidettävyyden attribuuttiin: stabiilisuuteen ja muokattavuuteen. Tutkielmassa toteutettiin valituilla sovelluskehyksillä työajanseurantasovellukset, joita kehitettiin edelleen kuudessa versiopäivityksessä. Tämän jälkeen SonarCloud-palvelussa selvitettiin sovellusten rivimäärä sekä syklomaattinen ja kognitiivinen kompleksisuus. Mittaustulosten kautta tutkittiin valittujen ominaisuuksien vaikutusta ylläpidettävyyden attribuutteihin muutosvaikutusanalyysin avulla. React-sovelluksissa käytetty tapa osittaa ohjelma komponentteihin kasvatti merkittävästi sovellusten rivimäärää, mutta ei niiden kompleksisuusarvoja. Tulokset osoittivat myös, että tarkkailijamallin käyttö vaikutti heikentävän ylläpidettävyyttä, kun taas staattisella tyypityksellä tai riippuvuusinjektion käytöllä ei havaittu olevan siihen merkittävää vaikutusta.fi
dc.description.abstractThe use of JavaScript frameworks makes the clientside web application development process easier and improves software maintainability. However, choosing the right framework for the task at hand is challenging for the programmer due to the rapid evolvement of technology. This design science research process compares different features, such as static typing, dependency injection, observer pattern, and component partition used in some of the most popular JavaScript frameworks (AngularJS, Angular 5, and React) and how they affect different maintainability attributes, particularly on modifiability and stability. In this study, simple time tracking software systems were created with each chosen JavaScript frameworks. These software systems were further developed in six additional updates. All software versions were analyzed in SonarCloud-service by using the following software metrics: source lines of code, cyclomatic complexity and cognitive complexity. Commit-impact analysis was used for measuring how the chosen feature correlates with the maintainability attributes during the development process. Study shows that the way how component partition is implemented in React increases application size but not its complexity. Results also indicate that the use of observer pattern might decrease maintainability whereas dependency injection or the use of static typing did not have a significant impact on the maintainability attributes measured in this study.en
dc.format.extent131
dc.format.mimetypeapplication/pdf
dc.language.isofi
dc.subject.otherweb-sovellus
dc.subject.othersovelluskehys
dc.subject.othersuunnittelutieteellinen tutkimus
dc.titleJavaScript-sovelluskehyksillä toteutettujen asiakassovellusten ylläpidettävyyden vertailu
dc.identifier.urnURN:NBN:fi:jyu-201805252791
dc.type.ontasotPro gradu -tutkielmafi
dc.type.ontasotMaster’s thesisen
dc.contributor.tiedekuntaInformaatioteknologian tiedekuntafi
dc.contributor.tiedekuntaFaculty of Information Technologyen
dc.contributor.laitosInformaatioteknologiafi
dc.contributor.laitosInformation Technologyen
dc.contributor.yliopistoJyväskylän yliopistofi
dc.contributor.yliopistoUniversity of Jyväskyläen
dc.contributor.oppiaineTietotekniikkafi
dc.contributor.oppiaineMathematical Information Technologyen
dc.rights.copyrightJulkaisu on tekijänoikeussäännösten alainen. Teosta voi lukea ja tulostaa henkilökohtaista käyttöä varten. Käyttö kaupallisiin tarkoituksiin on kielletty.fi
dc.rights.copyrightThis publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.en
dc.type.publicationmasterThesis
dc.contributor.oppiainekoodi602
dc.subject.ysosovelluskehykset
dc.subject.ysoJavaScript
dc.subject.ysosovellukset (tietotekniikka)
dc.format.contentfulltext
dc.type.okmG2


Aineistoon kuuluvat tiedostot

Thumbnail

Aineisto kuuluu seuraaviin kokoelmiin

Näytä suppeat kuvailutiedot