Browsing by study line "Mjukvarusystem"
Now showing items 1-20 of 40
-
(2021)Telecommunication companies are moving towards even more digitalized and agile ways of working. They are expanding their business in other fields, such as television, thus moving further away from the traditional telecommunications model. Recently, Telia has become the largest television company in the Nordics. One of the their main products in the field of television is channel packages, which allow customers to access specific television content. In this study, a benefit analysis for Telia Finland Oyj was conducted to inspect the benefits that test automation brings for the channel package testing process. 8 interviews in total were conducted with Telia employees with knowledge on channel packages. To receive both a business and a technical perspective, the interviewees were divided into two groups fitting their expertise. In general, test automation was seen as a useful tool. The main business related benefits of test automation mentioned were a faster and cheaper testing process, and a faster time-to-market. It was also seen that test automation could help achieve a more efficient testing process, and increase confidence in test automation. Based on the interview results, an epic was defined and analyzed according to the principles of Scaled Agile Framework (SAFe). This included describing the solution in detail and defining a Minimum Viable Product (MVP). By using example variables and generalized values, several calculations were made to present a framework on the costs of implementing the MVP and the estimated reduction of channel package testing costs. By utilizing the MVP as a part of the channel package testing process, the return on investment (ROI) was not as desirable as expected. With more automated tests compared to the number of test cases, combined with regular use of test automation, the investment would pay itself back and start generating additional savings faster. Based on the epic analysis, a Lean Business Case was defined.
-
(2020)In the world of constantly growing data masses the efficient extraction, saving and accessing that data for business intelligence and analytics has become increasingly important to businesses. Analytics and business intelligence software is offered by many providers in the market for all sizes of organizations and there are multiple ways to build an analytics system, or pipeline from scratch or integrated with tools available on the market. In this case study we explore and re-design the analytics pipeline solution of a medium sized software product company by utilizing the design science research methodology. We discuss the current technologies and tools on the market for business intelligence and analytics and consider how they fit into our case study context. As design science suggests, we design, implement and evaluate two prototypes of an analyt- ics pipeline with an Extract, Transform and Load (ETL) solution and data warehouse. The prototypes represent two different approaches to building an analytics pipeline - an in-house approach, and a partially outsourced approach. Our study brings out typical challenges similar businesses may face when designing and building their own business intelligence and analytics software. In our case we lean towards an analytics pipeline with an outsourced ETL process to be able to pass various different types of event data with a consistent data schema into our data warehouse with minimal maintenance work. However, we also show the value of near real time analytics with an in-house solution, and offer some ideas on how such a pipeline may be built.
-
(2021)The Web has become the world's most important application distribution platform, with web pages increasingly containing not static documents, but dynamic, script-driven content. Script-based rendering relies on imperative browser APIs which become unwieldy to use as an application's complexity grows. An increasingly common solution is to use libraries and frameworks which provide an abstraction over rendering and enable a less error-prone declarative programming model. The details of how web frontend frameworks implement rendering vary widely and can potentially have significant consequences for application performance. Frameworks' rendering strategies are typically invisible to the application developer, and may consequently be poorly understood despite their potential impact. In this thesis, we review rendering strategies used in a number of influential and popular web frontend frameworks. By studying their implementation details, we discover ways to categorize and estimate rendering strategies' performance based on input sizes in update loops. To verify and measure the effects of these differences, we implement a number of benchmarks that measure different aspects of rendering. In our benchmarks, we discover significant performance differences ranging up to an order of magnitude under some conditions. Additionally, we confirm that categorizing rendering strategies based on input sizes of update loops is an effective way to estimate their relative performance. The best performing rendering strategies are found to be ones which minimize input sizes in update loops using techniques such as compile-time optimization and reactive programming models.
-
(2021)Modularity is often used to manage the complexity of monolithic software systems. This is done through reducing maintenance costs by minimizing the entanglement in software code and functionality. Modularity also lowers future development costs through enabling the reuse and stacking of different types of modular functionality and software code for different environments and software engineering problems. Although there are important differences between the problem solving processes and practices of machine learning system developers and software engineering developers, machine learning system developers have been shown to be able to adopt a lot from traditional software engineering. A systematic literature review is used to identify 484 studies published in four electronic sources from January 1990 to October 2021. After examination of papers, statistical and qualitative results are formed for selected 86 studies which provide sufficient information regarding the presence of modular operators and comparison to monolithic solutions. The selected studies addressed a wide number of different tasks and domains, which saw performance benefits compared to monolithic machine learning and deep learning methods. Nearly two thirds of studies discovered Modular Neural Networks (MNNs) providing improvements in task accuracy when compared to monolithic solutions. Only 16,3\% of studies reported efficiency values in their comparisons. Over 82,5\% of studies that reported their MNNs efficiency found benefits in computation time, memory/size and energy consumption when compared to monolithic solutions. The majority of studies were carried out in laboratory environments on singular focused tasks and static requirements, which may have limited the visibility of modular operators. MNNs show positive promise for performance and efficiency in machine learning. More comparable studies are needed, especially from the industry, that use MMNs in constantly changing requirements and thus apply multiple modular operators.
-
(2021)Isomorphic web applications combine the best parts of static Hypertext Markup Language (HTML) pages and single-page applications. An isomorphic web application shares code between the server and the client. However, there is not much existing research on isomorphic web applications. Improving the performance, user experience and development experience of web applications are popular research topics in computer science. This thesis studies the benefits and challenges of isomorphism in single-page applications. To study the benefits and challenges of isomorphism in single-page applications, a gray literature review and a case study were conducted. The articles used in the gray literature review were searched from four different websites. To make sure the gray literature could be used in this study, a quality assessment process was conducted. The case study was conducted as a developer survey, where developers familiar with isomorphic web applications were interviewed. The results of both studies are then compared and the key findings are compared together. The results of this study show that isomorphism in single-page applications brings benefits to both the developers and the end-users. Isomorphism in single-page applications is challenging to implement and has some downsides, but they mostly affect developers. The performance and search engine optimization of the application are improved. Implementing isomorphism makes it possible to share code between the server and the client, but it increases the complexity of the application. Framework and library compatibility are issues that must be addressed by the developers. The findings of this thesis give motivation for developers to implement isomorphism when starting a new project or transforming existing single-page applications to use isomorphism.
-
(2021)Chatbotteja on kehitetty jo vuosikymmenten ajan, mutta nykyinen kiinnostus on kasvanut niihin teknologian kehityksen myötä. Chatbotit palvelevat ihmisiä eri tarkoituksissa ja niiden toiminta perustuu keskusteluun ihmisen kanssa. Chatbotit tarjoavat henkilökohtaista palvelua vuorokauden jokaisena hetkenä, jonka vuoksi niiden tarve on lisääntynyt monilla aloilla, kuten verkkomyynnissä ja terveydenhuollossa. Chatbottien kehityksessä on tärkeää pohtia niiden toteutusta. Monet käyttäjät suosivat edelleen muita informaationlähteitä heidän ongelmiensa ratkaisuun. Yksi tapa mitata chatbot-järjestelmien laatua on tutkia niiden käyttäjäkokemusta. Tässä tutkielmassa tarkastellaan empiirisesti chatbot-sovellusten käyttäjäkokemusta. Empiirisen osion muodostaa laadullinen tutkimus, jonka avulla pyritään vastaamaan seuraavaan tutkimuskysymykseen: Kuinka chatbottien käyttäjäkokemusta voitaisiin parantaa? Tutkimus järjestettiin Osaamisbotti-palvelun kanssa, joka tarjosi testiympäristön tutkimuksen suorittamiselle. Tutkimukseen osallistui kahdeksan henkilöä, jotka suorittivat heille annetun tehtävän keskustelemalla chatbotin kanssa. Tutkimuksen aineisto on saatu protokolla-analyysin ja sen jälkeisen haastattelun keinoin. Tulokset esittävät, että ihmismäiset keskustelukyvyt, pidemmät vastaukset sekä tehokas keskustelun kulku parantavat chatbottien käyttäjäkokemusta. Lisäksi riittävällä informoinnilla ohjataan keskustelua sekä vältetään virhetilanteita. Chatbottien hyvällä saatavuudella sekä helppokäyttöisyydellä kasvatetaan niiden hyväksyntää ja käyttöönottoa. Tutkielman tuloksia voidaan hyödyntää tulevissa tutkimuksissa ja chatbottien kehitystyössä.
-
(2019)Creating a user interface (UI) is often a part of software development. In the software industry designated UI designers work side by side with the developers in agile software development teams. While agile software processes have been researched, yet there is no general consensus on how UI designers should be integrated with the developing team. The existing research points towards the industry favoring tight collaboration between developers and UI designers by having them work together in the same team. The subject is gathering interest and different ways of integration is happening in the industry. In this thesis we researched the collaboration between developers and UI designers in agile software development. The goal was to understand the teamwork between the UI designers and developers working in the same agile software teams. The research was conducted by doing semi-structured theme interviews with UI designers and devel- opers individually. The interviewees were from consulting firms located in the Helsinki metropolitan are in Finland. The subjects reported about a recent project where they worked in an agile software team consisting of UI designers and developers. The data from the interviews was compared to the literature. Results of the interviews were similar to the findings from the literature for the most part. Finding a suitable process for the teamwork, co-location, good social relations and a an atmosphere of trust were factors present in the literature and the interviews. The importance of good software tools for communicating designs, and developers taking part in the UI designing process stood out from the interviews.
-
(2021)Background. In API requests to a confidential data system, there always are sets of rules that the users must follow to retrieve desired data within their granted permission. These rules are made to assure the security of the system and limit all possible violations. Objective. The thesis is about detecting the violations of these rules in such systems. For any violation found, the request is considered as containing inconsistency and it must be fixed before retrieving any data. This thesis also looks for all diagnoses of inconsistencies requests. These diagnoses promote reconstructing the requests to remove any inconsistency. Method. In this thesis, we choose the design science research methodology to work on solutions. In this methodology, the current problem in distributing data from a smart building plays as the main motivation. Then, system design and development are implemented to prove the found solutions of practicality, while a testing system is built to confirm its validity. Results. The inconsistencies detection is considered as a diagnostic problem, and many algorithms have been found to resolve the diagnostic problem for decades. The algorithms are developed based on DAG algorithms and preserved to apply on different purposes. This thesis is based on these algorithms and constraint programming techniques to resolve the facing issues of the given confidential data system. Conclusions. A combination of constraint programming techniques and DAG algorithms for diagnostic problems can be used to resolve inconsistencies detection in API requests. Despite the need on performance improvement in application of these algorithms, the combination works effectively, and can resolve the research problem.
-
(2020)The research group dLearn.Helsinki has created a software for defining the work life competence skills of a person, working as a part of a group. The software is a research tool for developing the mentioned skills of users, and users can be of any age, from school children to employees in a company. As the users can be of different age groups, the data privacy of different groups has to be taken into consideration from different aspects. Children are more vulnerable than adults, and may not understand all the risks imposed to-wards them. Thus in the European Union the General Data Protection Regulation (GDPR)determines the privacy and data of children are more protected, and this has to be taken into account when designing software which uses said data. For dLearn.Helsinki this caused changes not only in the data handling of children, but also other users. To tackle this problem, existing and future use cases needed to be planned and possibly implemented. Another solution was to implement different versions of the software, where the organizations would be separate. One option would be determining organizational differences in the existing SaaS solution. The other option would be creating on-premise versions, where organizations would be locked in accordance to the customer type. This thesis introduces said use cases, as well as installation options for both SaaS and on-premise. With these, broader views of data privacy and the different approaches are investigated, and it can be concluded that no matter the approach, the data privacy of children will always prove a challenge.
-
(2021)User-centered design (UCD) and agile software development (ASDP) both answer separate answers for issues modern software development projects face, but no direct guidelines on how to implement both in one project exist. Relevant literature offers multiple separate detailed techniques, but the applicability of the techniques is dependant on multiple features of the development team, e.g., personnel and expertise available and the size of the team. In this thesis, we propose a new agile development process model, which is created through evaluating the existing UCD–ASDP combination methods suggested in current literature to find the most suitable application methods to the case this study is applied to. In this new method, the development team is taken to do their daily work physically near to the software’s end- users for a short period of time to make the software team as easily accessible as possible. This method is then applied within an ongoing software project for a two week period in which the team visits two separate locations where end-users have the possibility to meet the development team. This introduced "touring" method ended up offering the development team a valuable under-standing of the skill and involvement level of the end-users they met without causing significant harm to the developer experience. The end-users were pleased with the visits and the method gained support and suggestions for future applications.
-
(2021)WebAssembly (WASM) is a binary instruction format for a stack-based virtual machine originally designed for the Web but also capable of being run on outside of the browser contexts. The WASM binary format is designed to be fast to transfer, load and execute. WASM programs are designed to be safe to execute by running them in a memory safe sandboxed environment. Combining dynamic linking with WebAssembly could allow the creation of adaptive modular applications that are cross-platform and sandboxed but still fast to execute and load. This thesis explores implementing dynamic linking in WebAssembly. Two artifacts are presented: a dynamic linking runtime prototype which exposes a POSIX-like host function interface for modules and an Android GUI interfacing prototype built on top of the runtime. In addition the results of measurements which were performed on both artefacts are presented. Dynamic linking does improve the memory usage and the startup time of applications when only some modules are needed. However if all modules are needed immediately then dynamic linked applications. perform worse than statically linked applications. Based on the results, dynamically linking WebAssembly modules could be a viable technology for PC and Android. The poor performance of A Raspberry Pi in the measurements indicates that dynamic linking might not be viable for resource contrained system especially if applications are performance critical.
-
(2020)In recent years, virtual reality devices have entered the mainstream with many gaming-oriented consumer devices. However, the locomotion methods utilized in virtual reality games are yet to gain a standardized form, and different types of games have different requirements for locomotion to optimize player experience. In this thesis, we compare some popular and some uncommon locomotion methods in different game scenarios. We consider their strengths and weaknesses in these scenarios from a game design perspective. We also create suggestions on which kind of locomotion methods would be optimal for different game types. We conducted an experiment with ten participants, seven locomotion methods and five virtual environments to gauge how the locomotion methods compare against each other, utilizing game scenarios requiring timing and precision. Our experiment, while small in scope, produced results we could use to construct useful guidelines for selecting locomotion methods for a virtual reality game. We found that the arm swinger was a favourite for situations where precision and timing was required. Touchpad locomotion was also considered one of the best for its intuitiveness and ease of use. Teleportation is a safe choice for games not requiring a strong feeling of presence.
-
(2022)As everyday life becomes digital, more and more daily things are done online. In particular, the increased use of mobile devices has accelerated this development. People are increasingly leaving information online about themselves that can be used to identify a person. On 25 May 2018, the European Union’s General Data Protection Regulation, the GDPR, was repealed in the European Union, repealing the previous European Union Data Protection Directive. The GDPR sets out how personal information should be stored and who can process it. The thesis examined how the introduction of GDPR has affected the customer data storage solutions and IT processes of Finnish SMEs during 2018-2020. The companies were examined in three phases: before, during and after the introduction of the GDPR. The study looked at the number of data breaches in the EU and the penalties imposed for them, and compared the situation in Finland. In addition, Finnish SMEs were interviewed for the dissertation. The interview was conducted as a questionnaire interview with 15 companies. The thesis found that Finland did not stand out in any way among other EU countries in GDPR violations. The answers received as a result of the survey revealed that there has been a clear variation in the interpretation of the content of the GDPR in Finland, which has affected the measures taken by companies. Based on the survey, the measures have also been influenced by the organization and organizational culture. However, the reliability of the results is affected by the small sample size.
-
(2020)Software testing is an important process when ensuring a program's quality. However, testing has not traditionally been a very substantial part of computer science education. Some attempts to integrate it into the curriculum has been made but best practices still prove to be an open question. This thesis discusses multiple attempts of teaching software testing during the years. It also introduces CrowdSorcerer, a system for gathering programming assignments with tests from students. It has been used in introductory programming courses in University of Helsinki. To study if the students benefit from creating assignments with CrowdSorcerer, we analysed the number of assignments and tests they created and if they correlate with their performance in a testing-related question in the course exam. We also gathered feedback from the students on their experiences from using CrowdSorcerer. Looking at the results, it seems that more research on how to teach testing would be beneficial. Improving CrowdSorcerer would also be a good idea.
-
(2021)Helsingin yliopiston hammaslääketieteellisen koulutusohjelman suoritteita seurataan erinäisin Excel-taulukoin ja paperisin lomakkein. Suoritteet ovat osa opiskelijan kehittymistä kohti työelämää ja vaadittavien suoritteiden suorittamisen jälkeen opiskelijoille myönnetään oikeus toimia hammaslääkärin tehtävissä. Nykyisen järjestelmän ongelmana on opiskelijoiden tutkinnon kehittymisen seurannan vaikeus, sekä opiskelijan näkökulmasta oman oikeusturvan toteutuminen. Excel-taulukoiden julkinen näkyvyys opiskelijoiden keskuudessa mahdollistaa väärinkäytön, jossa opiskelija muuttaa toisen opiskelijan suoritteiden tietoja. Tässä tutkielmassa tutkitaan arkkitehtuurisia ratkaisuja, joilla suoriteseuranta voidaan tulevaisuudessa digitalisoida. Tutkielman lopputuloksena suositellaan järjetelmälle käytettävä tietokanta sekä sovellusarkkitehtuurimalli. Koska järjestelmässä käyttäjämäärä on rajattu hyvin pieneksi ja järjestelmän käyttö on satunnaista, ei järjestelmän tarvitse olla kovinkaan skaalautuva. Opiskelijan oikeusturvan kannalta on olennaista, että jokainen opiskelijan tekemä suorite tallennetaan kantaan ja kannan tila pysyy vakaana koko järjestelmän elinkaaren ajan. Tämän takia on suositeltavaa valita relaatiopohjainen tietokanta kuten PostgreSQL, joka tukee relaatiomallin lisäksi joustavia dokumenttitietokannasta tuttuja rakenteita. Arkkitehtuurimalliksi järjestelmään on suositeltavaa käyttää joko monoliittimallia, jossa järjestelmä toteutetaan yhden rajapinnan päälle, tai vaihtoehtoisesti mikropalveluina, jossa järejstelmä on jaettu kolmeen eri mikropalveluun.
-
(2022)A US government agency estimated the national cost of inadequate software testing to be \$60 billion annually, and that was 20 years ago. As the role of technology and software has been rapidly increasing worldwide for decades, it suffices to say that the worldwide fiscal effect of poor testing practices today is probably ``quite a bit``. An increasing number of industry-focused survey studies on testing have been published worldwide in recent years, signalling an increased need to characterize the testing practices of the software development industry. These types of studies can help to guide future research efforts towards subjects that are meaningful to the industry, and provide practitioners with an opportunity to compare their own practice to those of their peers and recognize the main improvement areas. As no secondary study devoted to these types of survey studies could be identified, the opportunity was seized to carry out a literature review was to find out what the data from these studies can tell us when aggregated. The precise topics focused on were the usage of test levels, test types, test design techniques, test tools and test automation. Looking at these studies in aggregate tells us about some general trends: unit testing, functional testing and regression testing are popular everywhere, and also quite popular regardless of the surveyed population are performance testing and usability testing. The popularity of the other test levels and test types vary from survey to survey or region to region. Black-box techniques and experience-based techniques are more popular than white-box techniques. Exploratory testing, error guessing, use case testing and boundary value analysis are some of the most popular test design techniques. Much of the industry relies on manual testing over automated testing and/or have inadequately adopted the usage of testing tools.
-
(2022)Itseohjautuvien autojen kehittyessä niiltä oletetaan turvallisempaa liikennekäyttäytymistä kuin ihmiskuskeilta. Itseohjautuva järjestelmä voi käsitellä tietoa nopeammin kuin ihminen, mutta kun vastassa on onnettomuustilanteiden aiheuttamat moraaliset ongelmat, ei oikeudenmukaisesti toimivaa järjestelmää ole helppo rakentaa. Moraaliset ongelmat nousevat varsin tärkeäksi kysymykseksi tilanteessa, jossa itseohjautuvan auton tulee päättää mitä tehdä onnettomuuden sattuessa. Kun kyseessä on hengenvaarallinen tilanne, on vaikea ohjelmoida miten auton tulisi toimia. Samoja ongelmia on pohdittu moraalikonekokeen ja ADC-mallin kautta, jonka myötä käyttäjät on laitettu vastaamaan miten itseohjautuvan auton tulisi toimia ongelmatilanteessa. Vastauksia analysoimalla voidaan päätellä, miten inhimillisen moraalikäsittelyn ja intuition voisi ohjelmoida itseohjautuvalle autolle. Moraaliongelmien lisäksi itseohjautuvassa järjestelmässä löytyy myös teknologisia puutteita, esimerkiksi miten auton ympärillä olevaa ympäristöä pystytään mallintamaan hankalissa sääolosuhteissa, kuten sumussa tai sateessa. Lisäksi itseohjautuvaa teknologiaa kohtaan on huomattu selkeää käyttäjävastarintaa ja ennakkoluuloja, jotka vaikuttavat uuden teknologian käyttöönotossa. Silti itseohjautuvat järjestelmät ovat kehittyneet paljon viimeisen 20 vuoden sisällä ja monet autonvalmistajat ja tutkimuskeskukset ovat valmiita keksimään ratkaisuja näihin haasteisiin ja kehittämään urbaaneissa olosuhteissa toimivan ja moraalisesti oikein toimivan itseohjautuvan auton.
-
(2022)Itseohjautuvien autojen kehittyessä niiltä oletetaan turvallisempaa liikennekäyttäytymistä kuin ihmiskuskeilta. Itseohjautuva järjestelmä voi käsitellä tietoa nopeammin kuin ihminen, mutta kun vastassa on onnettomuustilanteiden aiheuttamat moraaliset ongelmat, ei oikeudenmukaisesti toimivaa järjestelmää ole helppo rakentaa. Moraaliset ongelmat nousevat varsin tärkeäksi kysymykseksi tilanteessa, jossa itseohjautuvan auton tulee päättää mitä tehdä onnettomuuden sattuessa. Kun kyseessä on hengenvaarallinen tilanne, on vaikea ohjelmoida miten auton tulisi toimia. Samoja ongelmia on pohdittu moraalikonekokeen ja ADC-mallin kautta, jonka myötä käyttäjät on laitettu vastaamaan miten itseohjautuvan auton tulisi toimia ongelmatilanteessa. Vastauksia analysoimalla voidaan päätellä, miten inhimillisen moraalikäsittelyn ja intuition voisi ohjelmoida itseohjautuvalle autolle. Moraaliongelmien lisäksi itseohjautuvassa järjestelmässä löytyy myös teknologisia puutteita, esimerkiksi miten auton ympärillä olevaa ympäristöä pystytään mallintamaan hankalissa sääolosuhteissa, kuten sumussa tai sateessa. Lisäksi itseohjautuvaa teknologiaa kohtaan on huomattu selkeää käyttäjävastarintaa ja ennakkoluuloja, jotka vaikuttavat uuden teknologian käyttöönotossa. Silti itseohjautuvat järjestelmät ovat kehittyneet paljon viimeisen 20 vuoden sisällä ja monet autonvalmistajat ja tutkimuskeskukset ovat valmiita keksimään ratkaisuja näihin haasteisiin ja kehittämään urbaaneissa olosuhteissa toimivan ja moraalisesti oikein toimivan itseohjautuvan auton.
-
(2021)Keväällä 2020 koronavirusepidemia pakotti suuren osan väestöstä työskentelemään etänä. ICT-alalla etätyöskentely ei ole epätavallista ja siitä on tehty paljon tutkimusta, etenkin globaalisti hajautettujen ohjelmistokehitysryhmien näkökulmasta. Koronavirusepidemian aiheuttaman etätyöpakotteen ominaispiirteenä on nopea ja yllättävä siirtyminen lähityöskentelystä etätyöskentelyyn, jota tutkitaan tässä tutkielmassa tarkemmin. Tutkielmassa keskitytään ketteriä ohjelmistokehitysmenetelmiä hyödyntäviin kehitysryhmiin. Taustana käytetään tutkimusmateriaalia ketterästä ohjelmistokehityksestä ja verrataan sitä tapaustutkimuksen tuloksiin. Tapaustutkimuksessa selvitetään kohderyhmän etätyöskentelyyn siirtymisen aikana syntyneitä ilmiöitä. Tavoitteena on tunnistaa taustatiedosta poikkeavat ilmiöt ja määritellä niistä jatkotutkimusaiheita. Tapaustutkimuksen tuloksesta selviää käytössä olevien työkalujen soveltuminen niin lähi- kuin etätyöskentelyyn. Siirtyminen sujui ilman suurempia ongelmia ja työskentely on jatkunut tauotta. Ongelmat keskittyvät kommunikaatioon ja sen vähenemiseen. Ketterien menetelmien rutiininen merkitys ja määrittely korostuu myös etätyöskentelyssä. Mahdollisiksi jatkotutkimusaiheiksi erottuu virtuaalisen valkotaulun ja jatkuvan puheyhteyden hyödyntäminen.
-
(2021)Micro frontend -arkkitehtuuri on mikropalveluarkkitehtuurin erikoistapaus, jossa mikropalveluiden rooliin kuuluu tuottaa datan lisäksi myös käyttöliittymä toimintoineen. Toistaiseksi tästä arkkitehtuurimallista on julkaistu kirjallisuutta varsin vähän ja esitetyt mallit ovat enimmäkseen prototyyppitoteutuksia. Tässä tutkielmassa tarkastellaan erään tietyn ohjelmistoprojektin tuloksena syntynyttä micro frontend -ratkaisua design science -kehyksessä. Aluksi kuvataan toimintaympäristö, ongelmat ja sieltä nousevat vaatimukset. Tähän esitetään Web Components -teknologiaan perustuva ratkaisu, jonka kelpoisuutta arvioidaan sekä sen tuotantokäytöstä saatujen kokemusten perusteella että ATAM-evaluointimenetelmää käyttäen. Saadut tulokset osoittavat muun muassa sen, että edellä mainittu Web Components -teknologia mahdollistaa HTML-standardin määrittelemien ohjelmointirajapintojen suoran ja tehokkaan käytön web-kehityksessä — ilman tarvetta ohjelmistokehyksille. Lisäksi kyseenalaistetaan näkemys, jonka mukaan micro frontend -arkkitehtuurin kehitys olisi järkevää vain organisatorisista syistä: sille voi olla myös vahvat perustelut esimerkiksi ohjelmiston muokattavuudelle asetettujen vaatimusten vuoksi, ja se on mahdollista toteuttaa myös pienen kehittäjäryhmän toimesta.
Now showing items 1-20 of 40