1 |
Energy Consumption of Behavioral Software Design PatternsHenmyr, Albert, Melnyk, Kateryna January 2023 (has links)
The environmental and economic implications of the increase in Information and Communication Technology energy consumption have become a topic of research in energy efficiency. Most studies focus on the energy estimation and optimization of lower tiers of the hardware and software infrastructures. However, the software itself is an indirect driver of energy consumption, therefore, its energy implications can be to some extent controlled by the software design. Software design patterns belong to high-level software abstractions that represent solutions to common design problems. Since patterns define the structure and behavior of software components, their application may come at energy efficiency costs that are not obvious to the software developers. The existing body of knowledge on energy consumption of software design patterns contains a number of gaps, some of which are addressed within the scope of this thesis project. More specifically, we conducted a series of experiments on the estimation of energy consumption of Visitor and Observer/Listener patterns within the context of non-trivial data parsing in Python. Furthermore, we considered a Patternless alternative for the same task. Additionally, our measurements include runtime duration and memory consumption. The results show that the Visitor pattern led to the largest energy consumption, followed by Observer/Listener and finally the Patternless version. We found a strong relationship between runtime duration and energy consumption, thus coming to the conclusion that the longest-running pattern is the most energy-consuming one. The findings of the current study can be beneficial for Python software developers interested in the energy implications of software design patterns.
|
2 |
Návrhové vzory architektury OS Android s využitím jazyka Kotlin / Android OS software design patterns utilizing the Kotlin languageMaloušek, Jan January 2020 (has links)
The aim of this thesis is to describe design patterns and other programming best practices used in the development of Android applications. The theoretical part analyzes design patterns, Kotlin programming language, dependency injection, reactive programming and automatic testing. The practical part deals with the design and implementation of a sample Android application, which demonstrates the advantages of using design patterns and other proven programming practices described in the theoretical part.
|
3 |
Persuasive software design patterns and user perceptions of behaviour change support systemsOduor, M. (Michael) 24 April 2018 (has links)
Abstract
Modern life has increasingly become intertwined with technology, and recent years have witnessed a growth in technologies that support people in, for instance, leading healthier and more sustainable lifestyles. At the centre of this growth has been persuasive systems design, which has been shown to have a positive effect on individuals’ behaviour and their use of systems.
This dissertation consists of five studies, encompassing a literature review, two quantitative studies with a total of 227 respondents, and two constructive studies that address the central research question of the dissertation: How can integrating judgment and decision-making processes and persuasive software design patterns enhance the development of behaviour change support systems?
The primary theoretical framework for the research is the Persuasive Systems Design model. This is a model that outlines the key requirements for developing persuasive systems, consisting of the theoretical underpinnings, persuasion context analysis, and four feature categories. In recent years, improving the design of persuasive systems to better achieve their intended objectives has been an important topic. This dissertation, in addition to examining the role of persuasive software features in influencing behaviour, also integrates behavioural economics and software design patterns into the design of persuasive systems. Additionally, the interplay between the categories and other constructs such as perceived competence is investigated through statistical analyses.
Overall, results reveal that persuasive system features have an impact on the efficacy of behaviour change support systems. Additionally, integrating behavioural economics concepts that explain the reasons why individuals deviate from expected behaviour and software design patterns can help improve the development of persuasive systems and further enhance their efficacy. / Tiivistelmä
Teknologia on yhä tiukemmin osa nykyelämää. Viime vuosina on tapahtunut kasvua ja kehitystä teknologioissa, jotka tukevat ihmisiä esimerkiksi elämään terveellisemmin ja ympäristöä säästäen. Tämän kasvun keskiössä on ollut vakuuttavien järjestelmien suunnittelu, jonka on osoitettu vaikuttavan positiivisesti sekä ihmisten käyttäytymiseen että järjestelmien käyttöön.
Tämä väitöskirja käsittää viisi tutkimusta, sisältäen kirjallisuuskatsauksen, kaksi kvantitatiivista tutkimusta yhteensä 227 vastaajalla, ja kaksi konstruktiivista tutkimusta, jotka yhdessä vastaavat väitöskirjan päätutkimuskysymykseen: Kuinka arviointi- ja päätöksentekoprosessit sekä vakuuttavien järjestelmien suunnittelumallit yhdistämällä voidaan edistää käyttäytymisen muutosta tukevien järjestelmien kehitystä?
Ensisijainen teoreettinen viitekehys tutkimukselle on vakuuttavien järjestelmien suunnittelumalli (Persuasive Systems Design model). Kyseinen malli määrittää keskeiset vaatimukset vakuuttavien järjestelmien kehittämiselle. Tärkeänä aiheena on ollut vakuuttavien järjestelmien suunnittelemisen edistäminen, jotta niillä voitaisiin paremmin saavuttaa aiotut päämäärät. Vakuuttavien järjestelmien ohjelmisto-ominaisuuksien vaikutuksesta käyttäytymiseen tutkimisen lisäksi väitöskirja yhdistää myös behavioristisen taloustieteen ja ohjelmistosuunnittelumallit vakuuttavien järjestelmien suunnitteluun. Lisäksi kategorioiden ja muiden käsitteiden, kuten koetun pätevyyden, vuorovaikutusta on tutkittu tilastollisen analyysin keinoin.
Kaiken kaikkiaan tulokset paljastavat vakuuttavien järjestelmien ominaisuuksilla olevan vaikutusta käyttäytymisen muutosta tukevien järjestelmien vaikuttavuuteen. Lisäksi integroimalla behavioristisen taloustieteen konsepteja, jotka selittävät syitä, joiden vuoksi yksilöt käyttäytyvät odotetusta poikkeavasti, ohjelmistosuunnittelumalleihin, voidaan auttaa edistämään vakuuttavien järjestelmien kehittämistä ja parantaa niiden vaikuttavuutta.
|
Page generated in 0.087 seconds