haku: @supervisor Soisalon-Soininen, Eljas / yhteensä: 163
viite: 2 / 163
Tekijä:Haapaniemi, Tuukka
Työn nimi:Maintainable architecture in project business analysis software
Ylläpidettävä arkkitehtuuri projektibisneksen analysointisovelluksessa
Julkaisutyyppi:Diplomityö
Julkaisuvuosi:2016
Sivut:56      Kieli:   eng
Koulu/Laitos/Osasto:Perustieteiden korkeakoulu
Oppiaine:Ohjelmistojärjestelmät   (T-106)
Valvoja:Soisalon-Soininen, Eljas
Ohjaaja:Vanhanen, Jari
Elektroninen julkaisu: http://urn.fi/URN:NBN:fi:aalto-201606172646
Sijainti:P1 Ark Aalto  4218   | Arkisto
Avainsanat:software architecture
layered architecture
software maintainability
onion architecture
domain-driven design
ohjelmistoarkkitehtuuri
kerrosarkkitehtuuri
ohjelmiston ylläpidettävyys
sipuliarkkitehtuuri
domain-keskeinen suunnittelu
Tiivistelmä (fin):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.
Tiivistelmä (eng):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.
ED:2016-07-17
INSSI tietueen numero: 54076
+ lisää koriin
INSSI