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

Browsing by study line "Ohjelmistot"

Sort by: Order: Results:

  • Lahelma, Jere (2023)
    Wide range of psychological distress risk factors in older adults have been identified, however there is room for improvement in the comprehension of population-level disparity among risk factors for subgroups. Understanding risk factor variance would help public health professionals recognise the diversity of at-risk populations and arrive at more effective health policy. Older adults have unique risk factor profiles for psychological distress since they experience more frequently neurological disorders, diminished physical capabilities and insomnia along with adverse life events like bereavement and socio-economic changes. In this thesis, an approach combining computational statistics with methods of observational epidemiology were used with Helsinki Health Study cohort of City of Helsinki municipal workers to analyse novel risk factor disparities and evaluate the suitability of model-based recursive partitioning method. The method combines decision trees with generalised linear models to identify subgroups with the most significant disparity among risk factors. The risk factors investigated for psychological distress in older adults included sleep disturbance, history of depression, childhood adversities and lack of social support. Sleep disturbance showed relatively low disparity, while social support and childhood adversities showed more disparity across subgroups. Model-based recursive partitioning offers promising modelling technique for exploratory subgroup analysis with focus on interaction effects and model interpretability.
  • 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
  • Isosaari, Matias (2022)
    In this thesis, software industry testing standards were reviewed to help improve NAPCON Display Viewer 5 (DV5) test coverage. DV5 is the graphical user interface part of the NAPCON Operator Training Simulator (OTS) and has a large existing codebase with no existing testing procedures. To help improve build stability a shallow and wide smoke testing approach would be adopted to cover as much core functionality as possible, before more rigorous end-to-end testing could be implemented. The thesis study was conducted using the design science methodology. As part of this thesis, a smoke testing tool was created to test DV5 display and faceplate opening functionality. DV5 simulator configurations can consist of up to several hundreds of displays and display construction requires a lot of manual work. Using the created tool, tests were conducted in several display repositories to determine the functionality of the display sets. With only shallow automated testing, minor errors were found in most of the tested repositories, demonstrating the usefulness of automated testing with large display sets. In addition to the display testing results the display testing execution helped demonstrate some of the DV5 performance issues. Based on these findings, the smoke testing scenarios could prove useful in the future in DV5 performance testing.
  • Koskipää, Saara (2022)
    Background: The digital transformation of the financial industry led by technological advances, together with changes in regulations, have created opportunities for companies to provide innovative new financial services. Fintech applies latest technological innovations to provide better and more efficient financial products and business models, disrupting the traditionally rigid banking industry. Objective: The objective of this study was to find out what kind of digital services are provided by the fintech industry, what software or technology related competencies and skills are needed in the development of fintech software, and the special requirements of fintech software. Method: The method of this study was systematic literature review. Following the defined review protocol, 31 primary studies published between the years of 2015 and 2021 were identified as relevant for this review by queries to three scientific databases. The selected primary studies were categorized by services, competencies and requirements. Results: Most of the identified digital services were payment applications but also robo-advisors, budgeting tools and compliance automation tools were found. The technologies and related skills extracted from the studies were divided to software development skills and data science skills and further categorized. Compliance with laws and regulations and various reporting and auditing practices were found to be unique domain requirements for fintech. Security was the most mentioned non-functional requirement of a financial system. Conclusions: Fintech is a cross-disciplinary field with unique requirements for business critical software. However, research on fintech software development is still limited.
  • 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ä.
  • Malkki, Jaakko (2023)
    Microservice architecture is a software architecture style that has gained popularity in the last decade. Microservice architecture applications consist of multiple smaller microservices, which can be developed, tested and deployed independently. Testing the whole microservice application at system-level has been difficult for various reasons, such as that the services might use different technologies or the amount of services makes the system complex. The goal of this thesis is to study typical challenges in microservice testing and address them by developing a prototype of a tool for system-level testing of microservice applications. This thesis presents a prototype of a tool for microservice testing that focuses on making the test code and configuration reusable. Reusability allows creating new tests easily, because it is common for tests to share many parts. The tool uses Docker for running the microservices, which makes it agnostic to the technologies used by the services as long as they can be containerized. The tool is then used to test a real microservice application to validate that it is usable in practice. It is shown that the tool mostly fulfills its requirements and that it provides a good base for further development and studies.
  • Äärilä, Mika (2024)
    Designing software architectures requires finding a balance between different architectural qualities. Architectures should therefore be assessed on a scale of suitability on how well the architecture corresponds to the requirements of the target system. This suitability can be subjected to critical evaluation. In this study, we explore software architecture evaluation methods with the intent of finding out what can be said about the methods in general, what kinds of resources they require, and what types of benefits they provide. We accomplish this by analysing research articles on a variety of software architecture evaluation case studies through the lens of a systematic literature review. We discover that software architecture evaluation is a process that predominantly consists of pre-evaluation, evaluation and post-evaluation phases, all of which have different requirements not only for the evaluator but also for the stakeholders participating in the evaluation. The benefits of the evaluations vary. The majority of evaluations finds issues on the architecture they are evaluating, and notably often the evaluations receive positive feedback on their innate quality of being a way to share information and enable discussion. Ultimately, software architectures evaluations are a human endeavor that focuses on discussions surrounding the object of the evaluation. Those running the evaluation should be skilled in facilitating this discussion with the help of the structures provided by the software architecture evaluation methods.
  • Laitinen, Emma (2023)
    Implementing software process improvement (SPI) models or standards can be challenging for a small organization due to their limited resources compared to larger companies. The ISO/IEC 29110 series of systems and engineering standards were designed especially for very small entities (VSEs), i.e. for organizations having up to 25 employees. Company X is a small Finnish software company following a Scrum workflow. At Company X, challenges have been identified in the software testing process. Because of the company’s size, ISO/IEC 29110 out of different SPI standards was identified as a potential fit for improving this process. While the ISO/IEC 29110 standard can be applied to any software life cycle method, including agile, there is no formal guide on how to implement the standard in an agile environment. The aims of this thesis are two-fold: first, to investigate how Scrum corresponds with the standard, and second, to use the standard to identify weak points in Company X’s current software testing process and to identify action points to address them. The mappings between Scrum and the standard were investigated by carrying out a systematic literature review (SLR). A self-assessment and a software testing deployment package provided with the standard were used to assess the current testing process and to identify shortcomings in it. The shortcomings were analyzed and action points feasible in Company X’s context were suggested. The improved process containing the suggested action points was then re-assessed. The SLR yielded only a handful of papers, indicating that the topic of implementing ISO/IEC 29110 into an agile lifecycle in practice is relatively unexplored. The three papers together provided mappings for all three aspects of the standard vs. their counterparts in Scrum: activities, roles, and work products. The baseline assessment of Company X’s current process yielded a score of achieved ‘Partially’ (46,5 %). A set of seven shortcomings were identified in the assessment process and nine action points were suggested to address them. Assessing the improved process improved the score to implemented ‘Fully’ (97 %).
  • Roberts, Taylor (2024)
    The continuous application of generative AI is increasingly employed to enhance both creative and knowledge-centric processes. With the release of OpenAI’s GPT models in 2022, generative AI utilisation has surged, facilitating the optimisation of these processes to a greater extent than before. This research has been conducted for PwC Finland and presents a solution that leverages generative AI and RAG methods to aid consultants in data retrieval and analyses. This work follows a design science methodology, whereby, an incremental and iterative process is followed to produce an IT artifact. The artifact is in the form of a Proof of Concept (POC) instantiation: a Microsoft Word Add-in that links to a backend process employing a RAG framework, generative AI, and contemporary software architecture. This research has found that utilising RAG methods with generative AI alone is not enough to produce specific analyses within the tax and legal context. With an accuracy of only 62.5%, its important to utilise metadata filtering, pre-prompting and knowledge graphs to enhance contextual understanding.
  • Jussila, Outi (2023)
    Verkkosivuston saavutettavuudella tarkoitetaan kaikenlaisten käyttäjien huomioonottamista digitaalisissa palveluissa. Saavutettavuus on herättänyt entistä enemmän keskustelua ja siihen kiinnitetään yhä paremmin huomiota verkkosivustojen kehittämisessä. Saavutettavuus edistää yhdenvertaisuutta ja siitä on nykyään säädetty laissa. Tämän maisterintutkielman tavoitteena on lisätä tietoutta saavutettavuudesta ja sen arviointimenetelmistä. Automaattisten arviointityökalujen tarjonnan ollessa hyvin laajaa on tärkeää löytää omaan käyttötarkoitukseen sopivat menetelmät. Tässä tutkielmassa selvitettiin, millaisia eroja työkaluista löytyy omien kokeilujen ja kirjallisuuden perusteella, ja miten työkalujen tulokset eroavat saavutettavuuden asiantuntijan arviosta. Tutkielmassa perehdyttiin kolmen ilmaistyökalun arvioon ja teetettiin yksi asiantuntijan saavutettavuusarvio. Arviot suoritettiin Sanakirja.fi-sivustolle. Tulosten perusteella luotiin kehitystiimille ehdotelma sopivista menetelmistä tukemaan sivuston saavutettavuuden arviointia. Osaksi palvelun kehitysprosessia suositellaan kahta automaattityökalua toisiaan täydentämään ja listaa tarvittavista manuaalisista tarkistuksista.
  • 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
  • Riihimäki, Tatu (2023)
    ICT-sektorin edellyttämän sähköenergiantuotannon aiheuttamat kasvihuonepäästöt ovat kasvaneet lentoliikenteen kasvihuonepäästöjen suuruisiksi. Tähän on kuitenkin mahdollista vaikuttaa tekemällä energiankulutustietoisia valintoja ohjelmistokehityksessä, josta tänä päivänä osa kohdistuu verkkoselaimissa suoritettavien verkkosovellusten kehitykseen, jossa apuna käytetään erilaisia verkkosovelluskehyksiä. Tässä tutkielmassa vertaillaan käytetyimpien JavaScript-verkkosovelluskehysten: React, Angular ja Vue, energiankulutusta uuteen Blazor WebAssembly -verkkosovelluskehykseen, joka perustuu WebAssemblyyn, jonka JavaScriptiä pienemmästä energiankulutuksesta ja paremmasta suorituskyvystä on jo tutkimusnäyttöä. Tutkielmassa toteutetaan valituilla verkkosovelluskehyksillä vertailukelpoiset testiverkkosovellukset, joiden suoritusaikaista energiankulutusta, tehonkäyttöä ja suoritusaikaa mitataan Intel Power Gadget -mittausohjelmistolla. Mittaustulosten perusteella todetaan, että Blazor WebAssembly ei ole energiankulutukseltaan JavaScript-verkkosovelluskehyksiä pienempi, vaan sijoittuu tarkasteltujen JavaScript-verkkosovelluskehysten väliin. Tutkielma rajoittui tarkastelemaan verkkosovelluskehysten toiminnoista tilanhallintaa ja muutosten havaitsemista. Intel Power Gadget -mittausohjelmisto osoittautui helppokäyttöiseksi, tarkaksi ja automatisoitavaksi mittaustavaksi, jota voidaan suositella käytettäväksi tämän tutkielman kokemusten perusteella vastaavissa mittauksissa. Lisäksi kestävän ohjelmistokehityksen näkökulmasta tutkielman tuloksista voidaan oppia, että verkkosovelluskehyksen valinnalla voidaan vaikuttaa verkkosovelluksen suoritusaikaiseen energiankulutukseen verkkosovelluskehyksen vastuualueella jopa 43%:a, mutta sen vaikutusta koko verkkosovelluksen suoritusaikaiseen energiankulutukseen ei tutkielman tulosten perusteella voida arvioida.
  • 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.