aalto1 untyped-item.component.html
Performance reengineering of a 3D structural design software system
Loading...
URL
Journal Title
Journal ISSN
Volume Title
Helsinki University of Technology |
Master's thesis
Electronic archive copy is available via Aalto Thesis Database.
Checking the digitized thesis and permission for publishing
Instructions for the author
Instructions for the author
Location:
Authors
Date
Department
Major/Subject
Mcode
T-106
Degree programme
Language
en
Pages
70
Series
Abstract
Suorituskyky on ohjelmistojen tärkeä ominaisuus, joka kuitenkin monesti jää kehitysvaiheessa huomiotta.
Ohjelmistojen suorituskykyä voi parantaa uudelleenmodularisoinnilla, jossa ohjelmiston ongelmakohtia tutkitaan suorituskyky- ja rakenneanalyysilla ja algoritmeja sekä arkkitehtuuria parannetaan havaittujen ongelmien pohjalta.
Tässä diplomityössä tutkittiin eri tapoja suorituskyvyn analysointiin ja sen parantamiseen sopivien työkalujen ja uudelleenmodularisointimetodien avulla.
Näitä asioita tarkasteltiin erityisesti laajan mittakaavan laskentaintensiivisten ohjelmistojen ja CAD-ohjelmistojen näkökulmasta.
Käytännön esimerkkinä tutkittiin laajan kolmiulotteisen rakennustuotemalliohjelman (BIM, Building Information Model) eräiden toiminnallisuuksien suorituskykyä ja etsittiin yleisiä tapoja parantaa vastaavien ohjelmistojen suorituskykyä.
Tarkasteltava ohjelmisto analysoitiin teoriaosassa valittujen työkalujen avulla mm. eri mittaus- ja mallinnustyökaluja käyttäen ja näiden perusteella ehdotettiin sopivia parannusmenetelmiä.
Parannusehdotuksissa kiinnitettiin suorituskyvyn ohella erityisesti huomiota ohjelmiston rakenteen modulaarisuuteen ja yrityksen yleisten ohjelmistokehitysohjeiden mukaiseen laatuun.
Ohjelmiston parannusehdotukset tehtiin kirjallisuuskatsauksen ja analyysin pohjalta.
Analyysi- ja toteutusvaiheet suoritettiin iteratiivisena prosessina, joka havaittiin tehokkaimmaksi tämänkaltaisessa projektissa.
Uudelleenmodularisoinnilla oli kolme päätavoitetta: nopeuttaa nykyistä toiminnallisuutta, muokata ohjelmiston rakennetta mikäli arkkitehtuuri todettaisiin suorituskyvyn kannalta epäoptimaaliseksi, sekä vähentää suorituskykyyn liittyviä ongelmia tulevaisuudessa.
Lopuksi tutkittavien tapausten suorituskyky mitattiin uudelleen.
Näitä tuloksia sekä niihin käytettyjä tekniikoita tarkastellaan viimeisessä luvussa.
Lopputulosten yhteydessä myös annetaan suosituksia ja ohjeita tulevia suorituskykyyn liittyviä projekteja varten ja esitellään tapoja ottaa suorituskyky huomioon päivittäisessä ohjelmistokehityksessä.