Spelling suggestions: "subject:"komplexitet"" "subject:"beräkningskomplexitet""
1 |
Unga vuxnas val av betalningsmetoder: En analys avkodkomplexitet för betalmetoder i en spar-applikation / Young Adults' Choice of Payment Methods: AnAnaysis of Code Complexity in a saving applicationFredholm, Alexander, Vo, Ta Quang January 2024 (has links)
I detta examensarbete utforskas vilka överförings- och betalningsmetoder ungavuxna föredrar av Swish, Klarna och Tink samt tekniska implementering gällandekodkomplexitet för dessa överförings- och betalningsmetoder. Detta är viktigt för attkunna erbjuda överförings- och betalningsmetoder som unga vuxna känner sigtrygga med och till att denna målgrupp fortsätter gå mot ett kontantfritt samhälle.Studien syftar till att fylla det forskningsgap som finns kring en direkt jämförelse avdessa betalningsmetoder.Forskningen visar att unga vuxna föredrar metoder som är användarvänliga och harett starkt varumärkesrykte. Forskningen visar också behovet av att vända sigspecifikt till unga vuxna då dessa saknar finansiell kunskap inom området.En prototyp utvecklades för att jämföra kodkomplexitet mellan de mest populärabetalningsmetoderna Swish, Klarna och Tink. Kodkomplexiteten förimplementeringen av dessa metoder mättes med Cyclomatic Complexity, ochresultaten visade att Swish, Klarna och Tink alla har en liknande implementering viaAPI-anrop i sin enklaste form, vilket innebär att valet mellan dem inte innebär någonskillnad i kodkomplexitet.Utifrån jämförandet av kodkomplexitet valdes en komplett prototyp att utvecklas föratt funktionstesta en implementetion av Tink, med hjälp av Quarkus för logik-delenkallad backend och SwiftUI för utseende-delen kallad frontend. SwiftUI valdes föratt skapa en dynamisk och användarvänlig gränssnittsupplevelse för Apple-enheter,medan Quarkus valdes för sin robusthet och effektivitet på server sidan.Prototypen funktionstestades och utvärderades av produktägaren Peak AMSecurities AB. Resultatet blev att prototypens kodbas kan användas i framtidaproduktionssättning.Denna studie bidrar till insikt om unga vuxnas preferenser för digitalabetalningsmetoder och erbjuder en teknisk grund för vidare forskning inomområdet. Genom att jämföra Swish, Klarna och Tink ger arbetet viktiga insikter somkan hjälpa utvecklare att skapa bättre finansiella verktyg som möter användarnasbehov och förväntningar. / This thesis explores which transfer methods young adults prefer among Swish,Klarna, and Tink, as well as the technical implementation concerning code com-plexity for these transfer and payment methods. This is important to offer transferand payment methods that young adults feel comfortable with and to ensure thistarget group continues to move towards a cashless society. The study aims to fill theresearch gap regarding a direct comparison of these payment methods.Research shows that young adults prefer methods that are user-friendly and have astrong brand reputation. The research also highlights the need to specifically ad-dress young adults as they lack financial knowledge in the area.A prototype was developed to compare code complexity with the most popular pay-ment methods Swish, Klarna, and Tink. The code complexity for the implementa-tion of these methods was measured using Cyclomatic Complexity, and the resultsshowed that Swish, Klarna, and Tink all have similar implementations via API callsin their simplest form, which means they do not increase code complexity for devel-opers.Based on the comparison of code complexity, a complete prototype was chosen tobe developed for functional testing, implemented with Tink, using Quarkus for thebackend logic and SwiftUI for the frontend interface. SwiftUI was chosen to createa dynamic and user-friendly interface experience for Apple devices, while Quarkuswas chosen for its robustness and efficiency in server-side processing.The prototype was functionally tested and evaluated by the product owner Peak AMSecurities AB. The result was that the prototype's codebase can be used in futureproduction deployment.This study contributes to the understanding of young adults' preferences for digitalpayment methods and provides a technical foundation for further research in thearea. By comparing Swish, Klarna, and Tink, the work offers important insightsthat can help developers create better financial tools that meet users' needs and ex-pectations.
|
2 |
The impact of reactive programming on code complexity and readability: A Case StudyHolst, Gustaf, Gillberg, Alexander January 2020 (has links)
Reaktiv programmering är ett programmeringsparadigm som har utvecklats för att underlätta byggande av händelsedrivna reaktiva applikationer. Dess förespråkare hävdar att det kan leda till ökad kodkvalitet, men få studier har utförts för att underbygga dessa påståenden empiriskt. Denna studie syftade till att undersöka skillnaden i kodkomplexitet och kodläsbarhet mellan traditionell imperativ programmering och reaktiv programmering. En fallstudie utfördes där koden för ett befintligt öppen källkodsprojekt omstrukturerades, vilket resulterade i en imperativ version och en reaktiv version av samma kod. Verktyg för statisk källkodsanalys användes för att undersöka om några förändringar i kodläsbarhet och kodkomplexitet kunde upptäckas. Vidare diskuteras huruvida resultaten av den senaste teknikens läsbarhetsmätvärden ger en exakt förutsägelse av kodläsbarheten i reaktiva kodbaser, eller om kanske dessa mätvärden behöver modifieras för att göra dem tillämpliga på det reaktiva paradigmet. Våra resultat visar att läsbarheten påverkades negativt av reaktiv programmering när den mättes med senaste teknikens läsbarhetsmätvärden, men kodkomplexiteten minskades betydligt. / Reactive programming is a programming paradigm that has been proposed to facilitate building eventdriven reactive applications. It is claimed by its proponents to increase code quality, but few studies have been performed to substantiate these claims empirically. This study aimed to explore the difference in code complexity and code readability between traditional imperative programming and reactive programming. A case study was performed where the code of an existing open source project was restructured, resulting in an imperative version and a reactive version of the same code. Static analysis tools were used to investigate if any changes in code readability and code complexity could be detected. Furthermore, it is discussed whether the results of the state-of-the-art readability metrics give an accurate prediction of code readability in reactive code bases, or if perhaps these metrics need to be modified to make them applicable to the reactive paradigm. Our findings show that the readability was negatively affected by reactive programming when measured with state-of the-art readability metrics, however code complexity was decreased significantly
|
3 |
Repository Mining : Användbarheten av Repository Mining för effektivisering av mjukvaruutvecklingEngblom Sandin, John January 2022 (has links)
Mjukvaruföretag idag söker alltid nya metoder för att effektivisera sin utveckling och att förbättra sin produkt. Denna studie undersöker användbarheten av en sådan ny metod kallad repository mining. Inom mjukvaruutveckling är repository mining en metod av kodanalys som utförs för att få ut metadata från ett versionshanteringssystem. Processen utförs med hjälp av ett kodanalysverktyg som i denna studie är verktyget CodeScene. Målet med denna fallstudie är att undersöka vad det finns för användningsfall för repository mining i ett utvecklingssyfte. Studiens syfte är att få förståelse för vilka typer av metadata som är relevanta och vad för faktorer det finns som kan påverka eventuella resultat. Syftet är även att studera om hur repository mining kan hjälpa företag i deras arbete med att öka eller upprätthålla kvaliteten på deras system. Studien utförs i samband med företaget Sandvik Coromant och deras avdelning Machining Foresight för att analysera deras kodbas. Kodbasen analyseras med hjälp av kodanalysverktyget CodeScene för att utvinna metadata som sedan presenteras till utvecklare inom Machining Foresight. Sedan utförs en kvalitativ studie som består av intervjuer och gruppdiskussioner i syfte av att få utvecklarnas reflektioner och tankegångar angående användbarheten av repository mining. Resultatet visar på att det finns användningsfall hos repository mining men dessa kräver att vissa faktorer är bestämda. Första användningsfallet är en analys på ändring i kodkomplexitet som hjälper att förutspå framtida refaktoreringar. Det andra användningsfallet är en analys på författarskap inom systemet för att hitta möjliga platser känsliga för kunskapsförlust, därmed hjälpa i planering av kunskapsdelning. Detta är dock en fallstudie och dessa resultat ska inte användas för att dra generella slutsatser om repository mining i sin helhet. Resultaten ska endast tas som vägriktning och indikation för framtida studier.
|
4 |
Reducing Software Complexity in a Distributed Publish-Subscribe system using Multicast communicationMekhitarian, Araxi January 2018 (has links)
Systems of distributed character are increasing in size and becoming more complex. Managing and adapting to constant changes of requirements is a challenge during the entire system development life cycle. While new functionalities are implemented, the software may change in design and may lead to poor software quality and increased system complexity. This thesis focuses on tackling the complexity issue in a distributed Electronic Warfare system used in military aircraft. The system consists of a server and several clients which acts as publishers or subscribers for different events sent in the system. The communication is based on unicast and uses a publish/subscribe pattern for the client nodes to register as publishers or subscribers to the server. The system is created to handle message passing in high rate and is sensitive for message delays. Due to this, the system is dependent on a reliable network structure with a continuous necessity for development. An implementation of a multicast prototype will be replacing the topic-specific unicast communication and the publish/subscribe registration process to the server. The system will be evaluated by a comparison of the old communication version with the new multicast implementation using software metrics. The result is to evaluate if the behavior and functionality of the distributed Electronic Warfare system change. / System av distribuerad karaktär ökar i storlek och blir alltmer komplex. Att hantera och anpassa sig till ständiga kravändringar är emellertid en utmaning under hela systemets utvecklingsprocess. Medan nya funktioner implementeras kan mjukvaran ändras i design vilket kan leda till dålig programkvalitet och ökad systemkomplexitet. Denna rapport fokuserar på att hantera komplexiteten i ett distribuerat telekrigföringssystem som används i militära flygplan. Systemet består av en server och flera klienter som publicerar och prenumererar för olika typer av meddelanden som skickas i systemet. Kommunikationen baseras på enkelsändning och använder ett publish/subscribe meddelandemönster där klienterna registrerar sig som publicerare eller prenumeranter till servern. Systemet är skapat för att kunna hantera höga meddelandehastigheter och har låg tolerans för meddelandeförseningar. På grund av detta är tillförlitlighet i nätverksstrukturen ett essentiellt kvalitetsattribut då nätverket är i behov av en ständig utveckling. En prototyp av multisändning kommer att implementeras och ersätta kommunikationen baserad på enkelsändning och publish/subscribe registreringsprocessen till servern. Systemet kommer att utvärderas genom en jämförelse av den gamla kommunikationsversionen av systemet med den nya multicast-implementeringen med hjälp av mjukvarukomplexitetsmätningar. Resultatet är att utvärdera om beteendet och funktionaliteten hos det distribuerade telekrigföringssystemet ändras.
|
5 |
Passive MVC och MVVM designmönster i Android : En jämförelse av kodkomplexitet mellan Passive MVC och MVVM / Passive MVC and MVVM design pattern in Android : A comparison of code complexity between Passive MVC and MVVMPettersson, Tom, Bulai, Tobias January 2016 (has links)
Det mobila operativsystemet Android är idag ett ganska dominerande operativsystem på den mobila marknaden dels på grund av sin öppenhet men också på grund av att tillgängligheten är stor i och med både billiga och dyra telefoner finns att tillgå. Men idag har Android inget fördefinierat designmönster vilket leder till att varje utvecklare får bestämma själv vad som ska användas, vilket ibland kan leda till onödigt komplex kod i applikationerna som sen blir svårtestad och svårhanterlig. Detta arbete ämnar jämföra två designmönster, Passive Model View Controller (PMVC) och Model View View-Model (MVVM), för att se vilket designmönster som blir minst komplext med hjälp av att räkna fram mätvärden med hjälp av Cyclomatic Complexity Number (CCN). Studien är gjord utifrån arbetssättet Design & Creation och ämnar bidra med: kunskap om vilket mönster man bör välja, samt om CCN kan peka ut vilka delar i en applikation som kommer att ta mer eller mindre lång tid att testa. Under studiens gång tog vi även fram skillnader på om man anväder sig av den så kallade Single Responsibilyt Principle (SRP) eller inte. Detta för att se om separerade vyer gör någon skillnad i applikationernas komplexitet. I slutändan så visar studien på att komplexiteten i små applikationer är väldigt likvärdig, men att man även på små applikationer kan se skillnad på hur komplex koden är men också att kodkomplexitet på metodnivå kan ge riktlinjer för testfall. / Today the mobile operating system Android has a firm grip on the mobile market due to its open source code and the availability due to the variety of phones available, from very cheap models to the high-end exclusive ones. However, Android currently has no defined design pattern which causes a bit of a problem during the initial stages of development because the developer has to make that decision before the initial development starts. This sometimes causes excessive complexity in the finished application, which then becomes difficult to test and manage. In this report we compare the two design patterns Passive Model View Controller (PMVC) and Model View View-Model (MVVM) to decide which one is the least complex. For this we used so called metrics to show the complexity of the finished applications. The metrics were calculated using the existing library of functions called Cyclomatic Complexity Numbers (CCN). The study is based on the workflow Design & creation and aim to contribute with: knowledge that will make it easier to choose design pattern when developing an Android application, and if you can with CCN point out which areas in an application will take more or less time to conduct tests on. During the study we also analyzed how big of an impact the Single Responsibility Principle (SRP) had on the complexity. This was part of the study so that we could see the difference of separated views versus non-separated views. The study shows us that the complexity in small applications is very similar, no matter which design pattern you're using. However, it also shows that there are certain parts of the applications that are diverse in their complexity and that code complexity on method-level can give directions to test cases.
|
Page generated in 0.0669 seconds