Web Frontend Component Quality Model
Sinisalo, Aleksi (2017)
Sinisalo, Aleksi
2017
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ä
2017-12-07
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201711072114
https://urn.fi/URN:NBN:fi:tty-201711072114
Tiivistelmä
Web frontend application developers utilize many components in their work that provide functionality required by the application under development. The components are typically written in JavaScript and may have been developed by 3rd parties or inside the company. The quality of the selected components plays a major role in the overall quality of the web frontend application that they are utilized in. Additionally, the component quality affects the desirability of the component in the eyes of the web application developers that might potentially utilize the component in their application. As an implication, the developers of these components want to them to be high-quality and easy to use.
Thus, the problems that this thesis is seeking answers to are how to develop easy-to-use high-quality components and how to measure web frontend component quality. This thesis presents the web frontend component quality model as an answer to these problems. The model is based on web frontend development and component characteristics and research on software component quality models. Both are discussed in the literature review part of this thesis.
The web frontend component quality model divides the component quality hierarchically to 4 levels that are quality characteristics, quality sub-characteristics, quality attributes and quality measures. Quality characteristics are high-level abstractions of quality such as functionality and usability that are further specified by the sub-characteristics and attributes. The quality measures are concrete instructions on how to measure values for the quality attributes. The web frontend component quality model consists of 6 quality characteristics, 13 quality sub-characteristics, 30 quality attributes and measures for them.
The quality model was tested and evaluated by measuring the quality of the report editor component that is developed by Wapice Ltd. The quality evaluation was able to measure values for the quality attributes according to the model. Additionally, numerous suggestions were provided on how to improve the quality of the report editor component implementation and documentation. Among the improvement suggestions were for example, improving the configurability of the component through configurations object and events interface, providing HTML-based documentation and loading type coverage improvement by adding support to CommonJS and AMD module types. Web frontend-sovellusten kehittäjät hyödyntävät työssään monia komponentteja, jotka tarjoavat toiminnallisuuksia kehitettävänä olevaan sovellukseen. Nämä komponentit on usein kirjoitettu JavaScript-ohjelmointikielellä ja ne ovat kolmannen osapuolen tai yrityksen itsensä toteuttamia. Web-sovelluksessa käytettävien komponenttien laatu on suuressa roolissa sovelluksen kokonaislaadun kannalta. Lisäksi komponentin laatu vaikuttaa sen kiinnostavuuteen niiden web-kehittäjien näkökulmasta, jotka voisivat mahdollisesti käyttää sitä omassa sovelluksessaan. Tästä seuraa, että komponenttien kehittäjät haluavat komponenttiensa olevan korkealaatuisia ja helppokäyttöisiä.
Ongelmat, joihin tässä diplomityössä etsitään vastauksia ovat, kuinka kehittää helppokäyttöisiä ja korkealaatuisia komponentteja ja kuinka mitata web frontend-komponenttien laatua. Tämä diplomityö esittää vastauksena web frontend-komponenttien laatumallin. Malli pohjautuu web frontend-kehityksen ja komponenttien erityispiirteisiin sekä tutkimuksiin ohjelmistokomponenttien laatumalleista. Molempia aiheita käsitellään tämän diplomityön kirjallisuuskatsaus-osiossa.
Web frontend-komponenttien laatumalli jakaa komponenttien laadun hierarkkisesti neljään tasoon, jotka ovat laadun erityispiirteet, laadun alierityispiirteet, laatuominaisuudet ja laatumittaukset. Laadun erityispiirteet ovat korkean tason abstraktioita, kuten toiminnallisuus ja käytettävyys, joita tarkennetaan edelleen ali-erityispiirteillä ja ominaisuuksilla. Laatumittaukset ovat konkreettisia ohjeita laatuominaisuuksien mittaamiseen. Web frontend-komponenttien laatumalli koostuu 6 laadun erityispiirteestä, 13 laadun alierityispiirteestä, 30 laatuominaisuudesta ja niiden mittauksista.
Laatumallia testattiin ja arvioitiin mittaamalla raporttieditorikomponentin laatua. Raporttieditorikomponentti on Wapice Oy:n kehittämä. Laatuarviointi suoritettiin mittaamalla arvot laatuominaisuuksille mallin ohjeiden mukaisesti. Lisäksi, mittausten perusteella tuotettiin useita ehdotuksia siihen, kuinka parantaa raporttieditori-komponentin totetuksen ja dokumentaation laatua. Kehitysehdotusten joukossa oli esimerkiksi konfiguroitavuuden kehittäminen toteuttamalla konfiguraatio-objekti ja tapahtumarajapinta komponentille, tarjoamalla HTML-pohjainen dokumentaatio ja komponentin lataustyyppikattavuuden parantaminen tarjoamalla tuki CommonJS- ja AMD-moduulityypeille.
Thus, the problems that this thesis is seeking answers to are how to develop easy-to-use high-quality components and how to measure web frontend component quality. This thesis presents the web frontend component quality model as an answer to these problems. The model is based on web frontend development and component characteristics and research on software component quality models. Both are discussed in the literature review part of this thesis.
The web frontend component quality model divides the component quality hierarchically to 4 levels that are quality characteristics, quality sub-characteristics, quality attributes and quality measures. Quality characteristics are high-level abstractions of quality such as functionality and usability that are further specified by the sub-characteristics and attributes. The quality measures are concrete instructions on how to measure values for the quality attributes. The web frontend component quality model consists of 6 quality characteristics, 13 quality sub-characteristics, 30 quality attributes and measures for them.
The quality model was tested and evaluated by measuring the quality of the report editor component that is developed by Wapice Ltd. The quality evaluation was able to measure values for the quality attributes according to the model. Additionally, numerous suggestions were provided on how to improve the quality of the report editor component implementation and documentation. Among the improvement suggestions were for example, improving the configurability of the component through configurations object and events interface, providing HTML-based documentation and loading type coverage improvement by adding support to CommonJS and AMD module types.
Ongelmat, joihin tässä diplomityössä etsitään vastauksia ovat, kuinka kehittää helppokäyttöisiä ja korkealaatuisia komponentteja ja kuinka mitata web frontend-komponenttien laatua. Tämä diplomityö esittää vastauksena web frontend-komponenttien laatumallin. Malli pohjautuu web frontend-kehityksen ja komponenttien erityispiirteisiin sekä tutkimuksiin ohjelmistokomponenttien laatumalleista. Molempia aiheita käsitellään tämän diplomityön kirjallisuuskatsaus-osiossa.
Web frontend-komponenttien laatumalli jakaa komponenttien laadun hierarkkisesti neljään tasoon, jotka ovat laadun erityispiirteet, laadun alierityispiirteet, laatuominaisuudet ja laatumittaukset. Laadun erityispiirteet ovat korkean tason abstraktioita, kuten toiminnallisuus ja käytettävyys, joita tarkennetaan edelleen ali-erityispiirteillä ja ominaisuuksilla. Laatumittaukset ovat konkreettisia ohjeita laatuominaisuuksien mittaamiseen. Web frontend-komponenttien laatumalli koostuu 6 laadun erityispiirteestä, 13 laadun alierityispiirteestä, 30 laatuominaisuudesta ja niiden mittauksista.
Laatumallia testattiin ja arvioitiin mittaamalla raporttieditorikomponentin laatua. Raporttieditorikomponentti on Wapice Oy:n kehittämä. Laatuarviointi suoritettiin mittaamalla arvot laatuominaisuuksille mallin ohjeiden mukaisesti. Lisäksi, mittausten perusteella tuotettiin useita ehdotuksia siihen, kuinka parantaa raporttieditori-komponentin totetuksen ja dokumentaation laatua. Kehitysehdotusten joukossa oli esimerkiksi konfiguroitavuuden kehittäminen toteuttamalla konfiguraatio-objekti ja tapahtumarajapinta komponentille, tarjoamalla HTML-pohjainen dokumentaatio ja komponentin lataustyyppikattavuuden parantaminen tarjoamalla tuki CommonJS- ja AMD-moduulityypeille.