Improving the software architecture of a ship logbook, data collection and reporting system

dc.contributorAalto-yliopistofi
dc.contributorAalto Universityen
dc.contributor.advisorKaranta, Antti
dc.contributor.authorLindgren, Mikael
dc.contributor.departmentTietotekniikan laitosfi
dc.contributor.schoolPerustieteiden korkeakoulufi
dc.contributor.schoolSchool of Scienceen
dc.contributor.supervisorSaikkonen, Heikki
dc.date.accessioned2020-12-23T12:18:18Z
dc.date.available2020-12-23T12:18:18Z
dc.date.issued2010
dc.description.abstractSoftware architecture erodes over time, unless it is updated when the software is changed. Software code should be structured into cohesive components to cope with change. Modularity improves maintainability, because cohesive components contain less code, which is easier to understand than monolithic code. Less time is required for maintenance, and more time can be used to fulfil user requirements. Code can be restructured by refactoring. The architecture of a software system which is used to replace paper logbooks aboard ships is redesigned in this thesis. The system has evolved to include functionalities for collecting and reporting data, which are not directly related to the logbook. The architecture is to he changed in such a way that the main functionalities of the system are separated into their own programs. The new architecture was designed based on information gathered from the stakeholders of the system, as well as on methods which have been proven to be successful in the industry. The system was separated into new modules with very cohesive and well structured code. Some issues not directly related to the functionalities of the system still remained after the redesign. This thesis shows that improving the maintainability of a system by redesigning its architecture does not necessarily take a lot of time. It pays for itself quickly by shortening future development time.en
dc.description.abstractOhjelmistoarkkitehtuurin ylläpidettävyys heikkenee ajan myötä, ellei sitä päivitetä kun ohjelmisto muuttuu. Koodin pitäisi olla jäsennetty yhtenäisiin komponentteihin, jotta muutoksia olisi helppo tehdä. Modulaarisuus edistää ylläpidettävyyttä, koska yhtenäiset komponentit sisältävät vähemmän ja helpommin ymmärrettävää koodia. Ylläpitoon tarvitaan vähemmän aikaa ja enemmän aikaa voidaan käyttää täyttämään asiakkaiden vaatimuksia. Koodia voi järjestellä uudelleen refaktoroimalla. Tässä työssä suunnitellaan paperisia laivalokikirjoja korvaavan ohjelmistojärjestelmän arkkitehtuuri uudelleen. Järjestelmä on kehittynyt sisältämään toiminnallisuuksia tiedon keräämiseen ja raportointiin, jotka epäsuorasti liittyvät lokikirjaan. Arkkitehtuuria muutetaan siten, että järjestelmän päätoiminnallisuudet ovat erotettuja itsenäisiin ohjelmiin. Uudistettu arkkitehtuuri perustuu järjestelmän sidosryhmiltä kerättyyn tietoon, sekä menetelmiin, jotka teollisuudessa ovat osoittautuneet onnistuneiksi. Järjestelmä jaettiin uusiin moduuleihin, joilla on hyvin yhtenäinen ja jäsennelty koodi. Joitain ongelmia, jotka eivät suorastaan liity järjestelmän toiminnallisuuksiin, oli vielä olemassa uudelleensuunnittelun jälkeen. Tämä työ osoittaa, että ohjelmistojärjestelmän kunnossapidettävyyden parantaminen uudelleen suunnittelemalla sen arkkitehtuuria ei välttämättä vie paljon aikaa. Lyhentämällä tulevan kehityksen vaatimaa aikaa, se maksaa itsensä takaisin nopeasti.fi
dc.format.extent[8] + 50 s. + liitt. 12
dc.identifier.urihttps://aaltodoc.aalto.fi/handle/123456789/97966
dc.identifier.urnURN:NBN:fi:aalto-2020122356793
dc.language.isoenen
dc.programme.majorOhjelmistotekniikkafi
dc.programme.mcodeT-106fi
dc.rights.accesslevelclosedAccess
dc.subject.keywordsoftware architectureen
dc.subject.keywordohjelmistoarkkitehtuurifi
dc.subject.keywordredesignen
dc.subject.keyworduudelleensuunnittelufi
dc.subject.keywordmodularityen
dc.subject.keywordmodulaarisuusfi
dc.titleImproving the software architecture of a ship logbook, data collection and reporting systemen
dc.titleOhjelmistoarkkitehtuurin parantaminen laivalokikirja-, tiedonkeruu- ja raportointijärjestelmässäfi
dc.type.okmG2 Pro gradu, diplomityö
dc.type.ontasotMaster's thesisen
dc.type.ontasotPro gradu -tutkielmafi
dc.type.publicationmasterThesis
local.aalto.digiauthask
local.aalto.digifolderAalto_89864
local.aalto.idinssi39727
local.aalto.inssiarchivenr976
local.aalto.inssilocationP1 Ark Aalto
local.aalto.openaccessno

Files