Maintainable architecture in project business analysis software

 |  Login

Show simple item record

dc.contributor Aalto-yliopisto fi
dc.contributor Aalto University en
dc.contributor.advisor Vanhanen, Jari
dc.contributor.author Haapaniemi, Tuukka
dc.date.accessioned 2016-06-17T12:51:49Z
dc.date.available 2016-06-17T12:51:49Z
dc.date.issued 2016-06-13
dc.identifier.uri https://aaltodoc.aalto.fi/handle/123456789/21038
dc.description.abstract This thesis is a case study of designing and implementing a domain centric, maintainable software architecture for Nova Servo Oy, a small software provider for project businesses. The company’s Project BI product is a data warehouse solution, which integrates into the customers’ existing software and utilizes the data produced in them. On top of this data warehouse, Nova Servo aims to build specific tools to aid the project business succeed in the form of analyzation, forecasting and other tools not currently available. These tools require an architecture, which should remain maintainable throughout the expected long lifetime of the software. The traditionally used architecture is the layered architecture, which is based on the database, contains a middle business logic layer and has a user interface layer as the topmost layer. This presents problems with its database centricity. A new domain-centric architecture is proposed in the form of onion architecture, which leaves the database as well as other infrastructural concerns outside of the core of the application. The domain operations and rules are put to the center of this architecture. This reduces dependencies to the infrastructural concerns dramatically and makes the business logic completely independent. Several tools and frameworks facilitating the onion architecture are presented. During this thesis process, a purchase item planning software was created using the designed architecture. We found the resulting software to be easy to modify and extend without breaking or having to change the existing parts of the software and as such conforming to the maintainability requirement. Some parts of the architecture could be simplified and altered to further increase maintainability, but this is left for future work. en
dc.description.abstract Tässä diplomityössä esitellään Nova Servo Oy:lle suunniteltu ja toteutettu domain-keskeinen ylläpidettävä sovellusarkkitehtuuri. Nova Servo Oy on pieni ohjelmistotuottaja, joka tekee sovelluksia projektiliiketoiminnan tarpeisiin. Yrityksen Project BI-tuote on tietovarastoratkaisu, joka hyödyntää asiakkaiden olemassa olevilla sovelluksilla tuotettua tietoa. Tämän tietovarastoratkaisun päälle rakennetaan projektiliiketoimintaan erikoistuneita sovelluksia, joilla liiketoiminnan analysointi, ennustaminen ja muut projektimuotoisuuden erityispiirteet hoituvat auttaen asiakasyrityksiä toimimaan tehokkaasti. Näitä sovelluksia varten tarvitaan arkkitehtuuri, joka pysyy ylläpidettävänä koko sovelluksen pitkäksi oletetun elinkaaren ajan. Perinteisesti sovellusarkkitehtuuri perustuu monikerrosarkkitehtuuriin, joka rakentuu tietokannan päälle, sisältää välikerroksena liiketoimintalogiikkakerroksen ja ylimmäisenä käyttöliittymäkerroksen. Tästä arkkitehtuurista syntyy ongelmia sen tietokantakeskeisyyden vuoksi. Uusi, liiketoimintalogiikkakeskeinen arkkitehtuuri esitellään sipuliarkkitehtuurin muodossa. Tämä arkkitehtuuri jättää tietokannan ja muut infrastruktuurilliset asiat sovelluksen ytimen ulkopuolelle. Liiketoiminnan operaatiot ja säännöt sijoitetaan arkkitehtuurin ytimeen. Tällä tavalla saadaan vähennettyä sovelluksen kytköksiä infrastruktuuriin ja pidettyä liiketoimintalogiikka täysin itsenäisenä. Työssä esitellään myös useita työkaluja, joiden avulla tällaisen arkkitehtuurin rakentaminen helpottuu. Tämän diplomityön tekemisen yhteydessä rakennettiin hankintatehtävien hallintasovellus esiteltyä arkkitehtuuria käyttäen. Kehityksen aikana sovellus todettiin helposti muokattavaksi ja laajennettavaksi, eikä muutokset ja laajennukset rikkoneet tai vaatineet muutoksia olemassa oleviin osioihin. Täten ylläpidettävyyden vaatimukseen saatiin vastattua tehokkaasti. Osaa arkkitehtuurista olisi mahdollista vielä yksinkertaista ja muokata edelleen helpommin ylläpidettäväksi, mutta sen toteutus vaatii jatkokehitystä ja lisätutkimuksia. fi
dc.format.extent 56
dc.format.mimetype application/pdf en
dc.language.iso en en
dc.title Maintainable architecture in project business analysis software en
dc.title Ylläpidettävä arkkitehtuuri projektibisneksen analysointisovelluksessa fi
dc.type G2 Pro gradu, diplomityö fi
dc.contributor.school Perustieteiden korkeakoulu fi
dc.subject.keyword software architecture en
dc.subject.keyword layered architecture en
dc.subject.keyword software maintainability en
dc.subject.keyword onion architecture en
dc.subject.keyword domain-driven design en
dc.identifier.urn URN:NBN:fi:aalto-201606172646
dc.programme.major Ohjelmistojärjestelmät fi
dc.programme.mcode T-106 fi
dc.type.ontasot Master's thesis en
dc.type.ontasot Diplomityö fi
dc.contributor.supervisor Soisalon-Soininen, Eljas
dc.programme Tietotekniikan koulutusohjelma fi


Files in this item

This item appears in the following Collection(s)

Show simple item record

Search archive


Advanced Search

article-iconSubmit a publication

Browse

My Account