Skip to main content
Login | Suomeksi | På svenska | In English

Browsing by study line "Software"

Sort by: Order: Results:

  • Pulkka, Robert (2022)
    In recent years, the concept of Metaverse has become a popular buzzword in the media and different communities. In 2021, the company behind Facebook rebranded itself into Meta Platforms, inc. in order to match their new vision of developing the Metaverse. The Metaverse is becoming reality as intersecting technologies, including head-mounted virtual reality displays (HMDs) and non-fungible tokens (NFTs), have been developed. Different communities, such as media, researchers, consumers and companies have different perspectives on the Metaverse and its opportunities and problems. Metaverse technology has been researched thoroughly, while little to none research has been done on gray literature, i.e. non-scientific sources, to gain insight on the ongoing hype. The conducted research analyzed 44 sources in total, ranging from news articles to videos and forum discussions. The results show that people are seeing opportunities in Metaverse entrepreneurship in the changing career landscape. However, the visions of Meta Platforms, inc. also receive a fair amount of critique in the analyzed articles and threads. The results suggest that most of the consumers are only interested in a smaller subset of features than what is being marketed. The conducted research gives insight on how different sources are seeing the Metaverse and can therefore be used as a starting point for more comprehensive gray literature studies on the Metaverse. While making innovations to the underlying technology is important, studying people’s viewpoints is a requirement for the academia to understand the phenomenon and for the industry to produce a compelling product.
  • Stepanenko, Artem (2022)
    The rapid progress of communication technologies combined with the growing competition for talents and knowledge has made it necessary to reassess the potential of distributed development which has significantly changed the landscape of the IT industry introducing a variety of cooperation models and making notable changes to the software team work environment. Along with this, enterprises pay more attention to teams’ performance improvement, employing emerging management tools for building up efficient software teams, and trying to get the most out of understanding factors which significantly impact a team’s overall performance. The objective of the research is to systematize factors characterizing high-performing software teams; indicate the benefits of global software development (GSD) models positively influencing software teams’ development performance; and study how companies’ strategies can benefit from distributed development approaches in building high-performing software teams. The thesis is designed as a combination of a systematic literature review followed by qualitative research in the form of semi-structured interviews to validate the findings regarding classification of GSD models’ benefits and their influence on the development of high-performing software teams. At a literature review stage, the research (1) introduces a team performance factors’ model reflecting the aspects which impact the effectiveness of development teams; (2) suggests the classification of GSD models based on organizational, legal, and temporal characteristics, and (3) describes the benefits of GSD models which influence the performance of software development teams. Within the empirical part of the study, we refine the classification of GSD models’ benefits based on the qualitative analysis results of semi-structured interviews with practitioners from IT industry, form a comparison table of GSD benefits depending on the model in question, and introduce recommendations for company and team management regarding the application of GSD in building high-performing software teams. IT corporations, to achieve their strategic goals, can enrich their range of available tools for managing high-performing teams by considering the peculiarities of different GSD models. Company and team management should evaluate the advantages of the distributed operational models, and use the potential and benefits of available configurations to increase teams’ performance and build high-performing software teams.
  • Garmuyev, Pavel (2022)
    RESTful web APIs have gained significant interest over the past decade, especially among large businesses and organizations. However, an important part of being able to use these public web APIs is the knowledge on how to access, consume, and integrate them into applications. Since developers are the primary audience that will be doing the integration it is important to support them throughout their API adoption journey. For this, many of today's companies that are heavily invested in web APIs provide an API developer portal as part of their API management program. However, very little accessible and comprehensive information on how to build and structure API developer portals exist yet. This thesis presents a conducted exploratory multi-case case study of three publicly available API developer portals of three different commercial businesses. The objective of the case study was to identify the developer (end-user) oriented features and capabilities present on the selected developer portals, in order to understand the kinds of information and capabilities API developer portals could provide for developers in general. The exploration was split into three key focus areas: developer onboarding, web API documentation, and developer support and engagement. Based on these, three research questions were formulated respectively. The data consisted of field notes that described observations about the portals. These notes were grouped by location and action, and analyzed to identify a key feature or capability as well as any smaller, compounding features and capabilities. The results describe the identified features and capabilities present on the studied API developer portals. Additionally, some differences between the portals are noted. The key contribution of this thesis are the results themselves, which can be used as a checklist when building new API developer portal. However, the main limitation of this study is that its data collection and analysis processes were subjective and the findings are not properly validated. Such improvements will remain for future work.
  • Hippeläinen, Sampo (2022)
    One of the problems with the modern widespread use of cloud services pertains to geographical location. Modern services often employ location-dependent content, in some cases even data that should not end up outside a certain geographical region. A cloud service provider may however have reasons to move services to other locations. An application running in a cloud environment should have a way to verify the location of both it and its data. This thesis describes a new solution to this problem by employing a permanently deployed hardware device which provides geolocation data to other computers in the same local network. A protocol suite for applications to check their geolocation is developed using the methodology of design science research. The protocol suite thus created uses many tried-and-true cryptographic protocols. A secure connection is established between an application server and the geolocation device, during which the authenticity of the device is verified. The location of data is ensured by checking that a storage server indeed has access to the data. Geographical proximity is checked by measuring round-trip times and setting limits for them. The new solution, with the protocol suite and hardware, is shown to solve the problem and fulfill strict requirements. It improves on the results presented in earlier work. A prototype is implemented, showing that the protocol suite can be feasible both in theory and practice. Details will however require further research.
  • Sinikallio, Laura (2022)
    Parlamentaaristen aineistojen digitointi ja rakenteistaminen tutkimuskäyttöön on nouseva tutkimuksenala, jonka tiimoilta esimerkiksi Euroopassa on tällä hetkellä käynnissä useita kansallisia hankkeita. Tämä tutkielma on osa Semanttinen parlamentti -hanketta, jossa Suomen eduskunnan täysistuntojen puheenvuorot saatetaan ensimmäistä kertaa yhtenäiseksi, harmonisoiduksi aineistoksi koneluettavaan muotoon aina eduskunnan alusta vuodesta 1907 nykypäivään. Puheenvuorot ja niihin liittyvät runsaat kuvailutiedot on julkaistu kahtena versiona, parlamentaaristen aineistojen kuvaamiseen käytetyssä Parla-CLARIN XML -formaatissa sekä linkitetyn avoimen datan tietämysverkkona, joka kytkee aineiston osaksi laajempaa kansallista tietoinfrastruktuuria. Yhtenäinen puheenvuoroaineisto tarjoaa ennennäkemättömiä mahdollisuuksia tarkastella suomalaista parlamentarismia yli sadan vuoden ajalta monisyisesti ja automatisoidusti. Aineisto sisältää lähes miljoona erillistä puheenvuoroa ja linkittyy tiiviisti eduskunnan toimijoiden biografisiin tietoihin. Tässä tutkielmassa kuvataan puheenvuorojen esittämistä varten kehitetyt tietomallit ja puheenvuoroaineistojen keräys- ja muunnosprosessi sekä tarkastellaan prosessin ja syntyneen aineiston haasteita ja mahdollisuuksia. Toteutetun aineistojulkaisun hyödyllisyyden arvioimiseksi on Parla-CLARIN-muotoista aineistoa jo hyödynnetty poliittiseen kulttuuriin liittyvässä digitaalisten ihmistieteiden tutkimuksessa. Linkitetyn datan pohjalta on kehitetty semanttinen portaali, Parlamenttisampo, aineistojen julkaisemista ja tutkimista varten verkossa.
  • Harjunpää, Jonas (2022)
    Ohjelmistotuotannon ammattilaiset tarvitsevat monenlaisia kompetensseja. Yksi näistä kompetensseista on kyky elinikäiseen oppimiseen, joka on tarpeellinen laajalla ja jatkuvasti muutoksessa olevalla alalla. ICT-aloille muodostuneen osaajatarpeen myötä elinikäisen oppimisen rooli onkin alkanut korostumaan entisestään. Tutkielman tarkoituksena on ollut lisätä ymmärrystä elinikäisen oppimisen roolista ohjelmistotuotannon ammattilaisen näkökulmasta. Tutkielmassa on pyritty tunnistamaan, mitä oppimisen muotoja hyödynnetään sekä millaisiin tarkoituksiin niitä käytetään, mitkä elinikäisen oppimisen kompetenssin osatekijät ovat tärkeitä sekä mitä haasteita elinikäiseen oppimiseen liittyy. Tutkimuksen aineisto on kerätty puolistrukturoiduilla haastatteluilla ohjelmistotuotannon ammattilaisten kanssa. Näiden haastattelujen tuloksia on verrattu tutkielmaa varten suoritetun kirjallisuuskatsauksen tuloksiin. Oppimisen muodoista informaalia oppimista hyödynnetään eniten ja erityisesti pienempiin oppimistarpeisiin. Nonformaalia ja formaalia oppimista taas hyödynnetään isompiin tarpeisiin, mutta harvemmin. Motivaatio, tiedonhaku ja metaoppiminen korostuvat keskeisinä elinikäisen oppimisen kompetenssin osatekijöinä. Ajanpuute ja itsensä motivoiminen mielletään yleisimmiksi haasteiksi elinikäistä oppimista koskien. Myös tiedonlähteisiin liittyvät puutteet sekä puutteellinen ymmärrys metaoppimisesta mielletään vaikeuttavan elinikäistä oppimista. Tutkielman havainnot tukevat elinikäisen oppimisen kompetenssin keskeistä roolia ohjelmistotuotannon ammattilaisilla. Kehitettävää löytyy kuitenkin vielä ohjelmistotuotannon ammattilaisten valmiuksista elinikäiseen oppimiseen, esimerkiksi metaoppimista koskien. Havainnot perustuvat kuitenkin lyhyemmän aikaa ohjelmistotuotannon ammattilaisina työskennelleiden kokemuksiin, joten lisää tutkimusta tarvitaan etenkin pitempään työskennelleiltä ohjelmistotuotannon ammattilaisilta.
  • Ahlfors, Dennis (2022)
    While the role of IT and computer science in the society is on the rise, interest in computer science education is also on the rise. Research covering study success and study paths is important for understanding both student needs and developing the educational programmes further. Using a data set covering student records from 2010 to 2020, this thesis aims to find key insights and base research in the topic of computer science study success and study paths in the University of Helsinki. Using novel visualizations and descriptive statistics this thesis builds a picture of the evolution of study paths and student success during a 10-year timeframe, providing much needed contextual information to be used as inspiration for future focused research into the phenomena discovered. The visualizations combined with statistical results show that certain student groups seem to have better study success and that there are differences in the study paths chosen by the student groups. It is also shown that the graduation rates from the Bachelor’s Programme in Computer Science are generally low, with some student groups showing higher than average graduation rates. Time from admission to graduation is longer than suggested and the sample study paths provided by the university are not generally followed, leading to the conclusion that the programme structure would need some assessment to better incorporate students with diverse academic backgrounds and differing personal study plans.
  • Kortelainen, Esa (2022)
    Tässä tutkielmassa käydään läpi kirjallisuutta ja tutkimusta ohjelmistojen julkaisumenetelmistä sekä -tiheydestä niiden historiasta alkaen. Tarkemmin tutustutaan etenkin uusimpiin julkaisutiheyden lähestymistapoihin, jotka ovat jatkuva tuotantoonvienti (continuous deployment) ja jatkuva toimitus (continuous delivery). Tutkielmassa etsitään näiden lähestymistapojen käyttöönotosta odotettavissa olevia hyötyjä sekä ohjelmistotuotanto-organisaatioiden kokemuksia ja haasteita niihin siirryttäessä. Tutkielmassa etsitään myös ratkaisutapoja, joilla mahdollisia haasteita on lähestytty. Lisäksi pyritään pohtimaan esimerkiksi yrityksen toimialan, yrityksen tyypin ja muiden tekijöiden vaikutusta jatkuvan tuotantoonviennin ja toimituksen tarpeellisuuteen tai niistä saataviin hyötyihin. Kirjallisuuskatsauksen lisäksi tutkielmassa tehdään pienimuotoinen tapaustutkimus sähköisen taloushallinnon yrityksen pääohjelmistotuotteen julkaisutiheydestä ja sen tihentämisen mahdollisista menetelmistä ja odotuksista tutkielmassa löydetyn materiaalin pohjalta. Kirjallisuuskatsauksen perusteella alan kirjallisuudesta ja ohjelmistoyritysten kokemuksista saa joillain osa-alueilla yleisiä mallinnuksia ja ohjenuoria, joita tapaustutkimuksessakin tarkasteltu yritys voisi seurata mahdollisessa julkaisusyklin tihennyksessä. Jokaisen organisaation omakohtaisella kulttuurilla ja kypsyydellä on kuitenkin runsaasti merkitystä syklin tihennyksen onnistumisessa. Tarkastellun lähdemateriaalin pohjalta voidaan kuitenkin todeta, että epäonnistuneenakin pidetyn julkaisusyklin tihennysprojektin tuomat vaatimukset lisäävät helposti ohjelmisto-organisaation kuria ja sen tuotteiden kehitysprosessin laatua pysyvästi.
  • Lahtinen, Sami (2022)
    Background: The splitting of functionality into multiple inter-communicating services has created a need for managing the APIs that these services are using to talk to each other. They also present an easy avenue for faults to be introduced into the system as these services are updated over time, especially in the absence of extensive testing, such as in rapid prototyping contexts. Aims: The study aimed to find a light-weight method for detecting API breakages between services, which requires as little manual labor from developers as possible. Method: The method used for the study was design science research focused around the iterative de- velopment and validation of the method through using it in synthetic and practical use-cases. Results: The study identified the possibility of using self-documenting services and machine- readable API documentation as a means to automatically detect API breakages either via naive or more complex approaches, with complex approaches providing more granular fault detec- tion and ability to create dependency graphs between services. Conclusion: Use of more automation seems a viable approach to detecting faults in network-based communication be- tween services. With further study, these approaches could be developed into developer-friendly systems, which allow not only automated fault detection, but also visual impact analysis for complex architectures spanning multiple services.
  • Kauvo, Sara (2022)
    Context: Factors that affect software team performance are a highly studied subject. One of the reasons for this is the subject’s meaningfulness to companies and software teams since anyone interested in improving team performance wants to know which factors affect positively on the team performance. What motivated us to do this thesis on this subject was our interest in both software teams and social sciences. Objective: This thesis’s aim was to better understand how the factors selected in our unofficial interviews will affect the software team performance and how big this affect is. These selected factors are psychological safety, team leader’s behaviour and team’s gender diversity. Method: We conducted a literature review with a keyword search. When we needed to specify the search by a factor we used factor-related words and if needed limit the subject area to computer science. All in all 23 reference papers were selected in the search. Results: Our analysis shows that all of our factors have a positive impact on the performance of the team, though how big this impact is depended on the factor. Psychological safety seems to have the biggest impact while the behaviour of team leader has a decent impact, not huge but not minuscule, lastly the gender diversity of the team has only a very small impact. Conclusions: Ultimately we have concluded that all three chosen factors have a positive effect on software team performance. Though from these three factors, psychological safety and team leader’s behaviour have the most significant impact on software team performance. So for software team leaders, it’s important to pay attention to these two factors, especially since they are even linked to each other.
  • Kärki, Arto (2021)
    Perinteisten levyperustaisten relaatiotietokantojen taulujen sisältämä tieto talletetaan riveittäin peräkkäistiedostoihin ja rivi koostuu yleensä useista eri sarakkeista. Tällöin tietokantaan kohdistettava yleensä SQL-kielinen kysely saa haettua yhden rivin tiedot nopeasti, varsinkin jos kyseinen rivi sattuu olemaan jo valmiiksi muistissa. Jos kyselyllä haetaankin tietoja useilta sadoilta, ellei jopa tuhansilta riveiltä ja kyselyyn sisältyy hakuehto, jossa voi olla mukana useita sarakkeita, niin kyselystä tulee yleensä aina hidas, elleivät rivit sitten sattumalta ole järjestetty hakutekijän mukaan. Lisäksi jos haettavat rivit eivät ole valmiina muistissa, niin järjestelmä joutuu tekemään hitaan tiedon haun levyltä ja tämä hidastaa entisestään halutun tulosjoukon muodostamista. Sarakeorientoituneessa tietokannassa kunkin taulun sarakkeen tieto voidaan tallettaa omaan tiedostoonsa, tai sitten kunkin sarakkeen tiedot sijaitsevat peräkkäin samassa tiedostossa. Kunkin sarakkeen tiedot voidaan myös tiivistää ja säästää näin tilaa. Sarakeorientoituneesta taulusta tietyn rajatun osajoukon hakeminen on usein nopeampaa, koska kysely voidaan kohdistaa vain haluttuihin sarakkeisiin ja koska sarakkeet arvot ovat peräkkäin, ovat tiedot näin nopeasti saatavilla. Jos tiedot eivät ole jo valmiiksi muistissa, niin myös tiedon hakeminen ulkoiselta tiedostolta nopeutuu, koska halutut tiedot ovat peräkkäin levyllä. Kun sarakeorientoitunut tietokanta sijoitetaan keskusmuistiin, niin myös mahdollinen levyltä lukemiseen kuluva viive poistuu, ja tulosten saanti nopeutuu entisestään. Tutkielmassa tarkastellaan sarakeorientoituneen keskusmuistitietokannan toimintaa ja sen liittämistä osaksi muuta tietokantajärjestelmää. ACM Computing Classification System (CCS): Information systems → Main memory engines Information systems → Data compression Information systems → Database query processing
  • Talosela, Pinja (2022)
    Terveysteknologisten ohjelmistojen ja hyvinvoinnin ja terveyden sovellusten määrä on kasvanut viime vuosina. Osa ohjelmistoista luokitellaan lääkinnällisiksi ohjelmistoiksi, joille on asetettu lainsäädännössä rajoituksia ja vaatimuksia. Terveysteknologisen alan tuotteita sitova sääntely vaikuttaa myös lääkinnällisten ohjelmistojen kehitykseen. Yksi terveys- ja hyvinvointialan ohjelmistokehityksen haasteista on ketterien ohjelmistokehitysmenetelmien soveltaminen tehokkaasti. Tutkielman tavoitteena on tutkia, miten terveysteknologisen ohjelmiston ja sen kehittämistyön pystyy yhdistämään ketteriin ohjelmistokehitysmenetelmiin. Tutkimusmenetelmänä on systemaattinen kirjallisuuskatsaus. Kirjallisuusaineisto muodostettiin 30 tutkimuksesta. Tutkielman tuloksina kirjallisuudesta selvitetään lääkinnällisten ohjelmistojen ja ketterän ohjelmistokehityksen yhdistämisessä ilmenneitä haasteita ja erilaisia yhdistämisen tapoja. Lisäksi selvitetään ohjelmistokehittäjiltä vaadittavia taitoja lääkinnällisten ohjelmistojen ketterässä kehityksessä.
  • Lonardi, Jarno (2021)
    Tutkimuksessa tutustutaan verkkoselaimen uusiin rajapintoihin ja niiden soveltamiseen pelien kehityksessä. Viimeisten vuosien aikana kaikki suosituimmat selaimet ovat alkaneet tukea uusia HTML5-, WebGL- ja WebAssembly rajapintoja. Nämä rajapinnat mahdollistavat useita tärkeitä asioita peleille kuten laitteistokiihdytetyn 3D-grafiikan esittämisen, suorituskykyisen koodin suorittamisen ja esimerkiksi peliohjaimen tilan lukemisen. Tutkielma on konstruktiivinen ja rajapintojen soveltuvuus koestetaan kahden kokeellisen pelin avulla. Tarkoituksena on yrittää todentaa rajapintojen soveltuvuus pelien kehittämiseen sekä tutkia millaisia työkaluja, esimerkiksi pelimoottoreita, on olemassa. Ensimmäinen peleistä toteutetaan käyttäen ainoastaan selaimen rajapintoja ja toinen käyttäen olemassa olevaa pelimoottoria, joka on rakennettu näiden rajapintojen päälle. Lisäksi työssä yritetään löytää ongelmakohtia, jotka liittyvät selainpelien kehitykseen. Pelkästään selaimen rajapintoja käyttäen on mahdollista toteuttaa suorituskykyisiä 3D-pelejä, mutta etenkin WebAssembly on vielä vahvasti kehityksen alla. WebAssemblyn käyttö on melko hankalaa ja se vaatii ympärilleen työkaluja, jotta sitä voidaan hyödyntää kehitystyössä tehokkaasti. Sen sijaan HTML5- ja WebGL-rajapinnat ovat helposti käytettäviä rajapintoja, joihin löytyy suuri määrä käärekirjastoja, jotka tekevät etenkin WebGL-rajapinnan käytöstä hyvin yksinkertaista. Pelimoottorit ovat alkaneet myös hyödyntää näitä uusia rajapintoja. Esimerkiksi Unitypelimoottori ei vaadi enään erillisen liitännäisen asentamista selaimeen. Unityn ja muiden selainpelimoottorien avulla pystytään hyvin tehokkaasti tuottamaan 3D-pelejä selaimelle. Vaikka nykyisin näyttäviä pelejä voidaan toteuttaa selaimelle, niihin liittyy useita ongelmia. Pelien 3D-mallien suuri koko ja niiden siirtämien verkon yli on hidasta ja kopionsuojaus on hankalaa sillä pelin lähdekoodi pitää aina ladata käyttäjän koneelle. Lisäksi peliä suorittava laitteisto on tuntematon ja sitä ei voida rajata hyvän pelikokemuksen saavuttamiseksi kuten esimerkiksi mobiilipeleissä tehdään
  • Fredriksson, Klaus (2022)
    With increasing amounts of software services provided to users and the more demanding requirements needed from them, monitoring of services is becoming increasingly important. Web service monitoring is the process of confirming system functionality by studying its various attributes, such as availability, reliability, and performance. Monitoring the services helps the software developers, maintainers and owners as they allow for increased reliability, robustness and possibly performance analysis. This thesis focuses on web service monitoring and the tools that it is done with. Specific goals are to learn about the different categories that monitoring services can take and to showcase a custom web service monitoring tool and its further development. The subject is important to the case company LogiNets, which has specific monitoring requirements that need to be fulfilled. These goals were achieved by researching literature on different types of monitoring tools for a literature review and then doing a case study of monitoring tool development. The case study was done about adding a new functionality to LogiNets’s indoor web service monitoring tool called Agent. The literature review was successful in identifying different categories of monitoring tools both by their location relative to the monitored service as well as by the quality of service requirements they fulfill. The review did not, however, discover significant research about existing commercial monitoring tools, and thus provided little help in the case study. The case study was more successful, with the new functionality added and similar extensions planned for the future.