Search results for "ohjelmistoarkkitehtuuri"
showing 10 items of 14 documents
Containers in Software Development: A Systematic Mapping Study
2019
Over the past decade, continuous software development has become a common place in the field of software engineering. Containers like Docker are a lightweight solution that developers can use to deploy and manage applications. Containers are used to build both component-based architectures and microservice architectures. Still, practitioners often view containers only as way to lower resource requirements compared to virtual machines. In this paper, we conducted a systematic mapping study to find information on what is known of how containers are used in software development. 56 primary studies were selected into this paper and they were categorized and mapped to identify the gaps in the cu…
Cargo-Cult Containerization : A Critical View of Containers in Modern Software Development
2022
Software is increasingly developed and deployed using containers. While the concept of a container is conceptually straightforward, there are various issues to be considered while using them, ranging from technical details inside containers to the orchestration of containers that jointly form a meaningful application. In recent years, the use of containers has become so prevalent that developers have a tendency to resort to cargo-cult containerization - ritual adherence to the use of containers just because so many others are doing the same thing. In this paper, we study advantages and downsides of containers in modern-day software development. We foresee the use of containers to spread int…
A Decision Model for Selecting Patterns and Strategies to Decompose Applications into Microservices
2021
Microservices Architecture (MSA) style is a promising design approach to develop software applications consisting of multiple small and independently deployable services. Over the past few years, researchers and practitioners have proposed many MSA patterns and strategies covering various aspects of microservices design, such as application decomposition. However, selecting appropriate patterns and strategies can entail various challenges for practitioners. To this end, this study proposes a decision model for selecting patterns and strategies to decompose applications into microservices. We used peer-reviewed and grey literature to collect the patterns, strategies, and quality attributes f…
Optimization of the preprocessing steps of MEG measurement data in Meggie application
2015
Tutkielma optimoi MEG (magnetoenkefalografia) mittausaineiston esikäsittelyyn, analysointiin ja visualisointiin kehitetyn Meggie-käyttöliittymän esikäsittelyvaiheita pääasiassa lisäämällä mahdollisuuden rinnakkaislaskentaan. Optimointi toimi tutkielman käytännön osuutena ja sen tukena oli kattava lista vaatimuksia. Optimoinnissa suurin osa työstä meni vanhan koodin refaktorointiin, mutta myös käyttöliittymäkomponentteihin tuli pieniä muutoksia ja itse ohjelmaan muutama uusi toiminnallisuus. Teoreettisessa osuudessa keskitytään Meggien nykyiseen tilaan tutkimalla sen arkkitehtuuria, minkä lisäksi tarkastellaan kehitysvaiheita vaatimuslistan pohjalta sekä tuodaan esiin muistinhallinnan ongelm…
Towards Human-Bot Collaborative Software Architecting with ChatGPT
2023
Architecting software-intensive systems can be a complex process. It deals with the daunting tasks of unifying stakeholders' perspectives, designers' intellect, tool-based automation, pattern-driven reuse, and so on, to sketch a blueprint that guides software implementation and evaluation. Despite its benefits, architecture-centric software engineering (ACSE) inherits a multitude of challenges. ACSE challenges could stem from a lack of standardized processes, socio-technical limitations, and scarcity of human expertise etc. that can impede the development of existing and emergent classes of software (e.g., IoTs, blockchain, quantum systems). Software Development Bots (DevBots) trained on la…
Ohjelmistoarkkitehtuurit, arkkitehtoniset tyylit sekä arkkitehtuurisuunnittelu
2000
Mikropalveluarkkitehtuurin hyödyt ja haitat : mikropalveluilla toteutetun tietokantapohjaisen rajapintapalvelun vertailu monoliittiseen toteutukseen
2019
Tässä kandidaatintutkielmassa käsitellään kirjallisuuskartoituksen keinoin mikropalveluarkkitehtuurin hyötyjä ja haittoja verrattuna monoliittiseen ohjelmistoon. Tarkastelussa on tietokantapohjaiset rajapintapalvelut, kuten HTTP:n päällä toimivat rajapinnat, jotka tallentavat tai hakevat tietokannasta tietoa. Kartoituksen tuloksena näyttäisi, että mikropalveluarkkitehtuurin hyödyt ovat saavutettavissa ainakin isommille organisaatioille, joilla on kykyä hallita hajautetun järjestelmän kompleksisuutta. This bachelor's thesis uses means of mapping study to investigate the pros and cons of microservice architecture compared to monolithic software. Under closer investigation is database-backed A…
Towards Process Centered Architecting for Quantum Software Systems
2022
Quantum Software Engineering (QSE) is a recent trend - focused on unifying the principles of quantum mechanics and practices of software engineering - to design, develop, validate, and evolve quantum age software systems and applications. Software architecture for quantum computing (a.k. a. quantum software architectures (QSA)) supports the design, development, and maintenance etc. phases of quantum software systems using architectural components and connectors. QSA can enable quantum software designers and developers to map the operations of Qubits to architectural components and connectors for implementing quantum software. This research aims to explore the role of QSAs by investigating (…
Suunnittelumallien hyödyntäminen tietoturvallisessa ohjelmistokehityksessä
2017
Tietoturvasta on viime aikoina tullut entistäkin tärkeämpi osa-alue ohjelmistokehityksessä. Tietoturvan merkityksen kasvaessa tarvitaan menetelmiä, joilla tietoturva voidaan huomioida koko ohjelmistokehitysprosessin ajan. Suunnittelumallien käyttämistä on esitetty erääksi keinoksi ohjelmistojen tietoturvan parantamisessa. Tässä tutkielmassa tarkastellaan, kuinka suunnittelumalleja käyttämällä voidaan vaikuttaa ohjelmistojen tietoturvaan. Information security has become an essential part of software development. As the importance of information security grows, it is essential to find methods for taking information security into account during software development processes. Design patterns h…
Using EBI pattern in conjunction with service-oriented architectures
2013
Tässä tutkielmassa esitellään reitinoptimointijärjestelmää varten toteutettu prototyyppi palvelukeskeisestä arkkitehtuurista. Arkkitehtuuri pohjautuu Entity-Boundary-Interactor-malliin (EBI). Työssä tutkitaan, pystytäänkö EBI-mallia ja palvelukeskeisen arkkitehtuurin periaatteita noudattaen toteuttamaan projektin tavoitteet täyttävä järjestelmä ja pystytäänkö syntynyttä prototyypin arkkitehtuuria soveltamaan reitinoptimointijärjestelmän muuntamisessa palvelukeskeiseksi kokonaisuudeksi. Prototyypin arvioinnissa käytetään hyväksi todettuja ohjelmistoarkkitehtuurien arviointimenetelmiä. Prototyypin arkkitehtuuri täytti sille asetetut tavoitteet. This thesis presents a service-oriented architec…