Software maintainability
Leppänen, Väinö (2011)
Leppänen, Väinö
Pohjois-Karjalan ammattikorkeakoulu
2011
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2011060611123
https://urn.fi/URN:NBN:fi:amk-2011060611123
Tiivistelmä
Tämän opinnäytetyön tarkoitus oli kohottaa erään tietyn ohjelmiston ylläpidettävyyttä. Työ käsittelee kyseistä olio-pohjaista ohjelmistoa pääasiallisesti luokka-tasolla.
Kyseessä on toiminnallinen opinnäytetyö, joka alkoi kirjallisuuteen tutustumalla. Vuoden 2011 ensimmäisen puoliskon aikana ohjelmiston ylläpidettävyyttä kohotettiin käymällä sen rakennetta läpi samalla analysoiden sen kelvollisuutta. Rakenne käytiin läpi aloittaen luokkatasolta ja päätyen luokkien välisiin riippuvaisuuksiin. Ongelmalliset rakenteet korjattiin työn edetessä.
Tavoite ylläpidettävyyden kohottamisesta täyttyi tietyissä määrin. Keskeisimmät parannukset koskivat luokkien eheyttä ja abstraktioiden selkeyttä kuten myös ohjelmiston hierarkisen rakenteen ominaisuuksia. Viimeinen tavoite ohjelmiston luokkien välisistä riippuvaisuuksista jäi toteutusta vaille, mutta suunnitelma sille valmistui. Ohjelmiston tarkastelun aikana nousi myös epäilys että olio-pohjaisuus ei välttämättä ollut optimaalisin keino tiettyjen ohjelmiston osion rakentamiseksi. The purpose of this thesis was to elevate the maintainability of a certain software product. The focus of analysis for the object-oriented software in question was its classes and the relationships among them.
This thesis was operational by nature. The first phase was to find and familiarize myself with the pertinent literature, after which the software was analyzed. After each class was analyzed, it was evaluated and maintainability problems were fixed. The second phase of the project was to analyze each class individually and the third was to analyze the relationships between the classes. The project began in January and was finished in June 2011.
The primary objective was reached to a certain degree. The primary enhancements were related to the classes’ clarity of abstraction and cohesion. The structure of the software’s class hierarchy was also improved while the final goal of improving the relationships between the classes was left unimplemented. The solution was nonetheless designed. During the project it was noticed that object-oriented solutions might have been overly used.
Kyseessä on toiminnallinen opinnäytetyö, joka alkoi kirjallisuuteen tutustumalla. Vuoden 2011 ensimmäisen puoliskon aikana ohjelmiston ylläpidettävyyttä kohotettiin käymällä sen rakennetta läpi samalla analysoiden sen kelvollisuutta. Rakenne käytiin läpi aloittaen luokkatasolta ja päätyen luokkien välisiin riippuvaisuuksiin. Ongelmalliset rakenteet korjattiin työn edetessä.
Tavoite ylläpidettävyyden kohottamisesta täyttyi tietyissä määrin. Keskeisimmät parannukset koskivat luokkien eheyttä ja abstraktioiden selkeyttä kuten myös ohjelmiston hierarkisen rakenteen ominaisuuksia. Viimeinen tavoite ohjelmiston luokkien välisistä riippuvaisuuksista jäi toteutusta vaille, mutta suunnitelma sille valmistui. Ohjelmiston tarkastelun aikana nousi myös epäilys että olio-pohjaisuus ei välttämättä ollut optimaalisin keino tiettyjen ohjelmiston osion rakentamiseksi.
This thesis was operational by nature. The first phase was to find and familiarize myself with the pertinent literature, after which the software was analyzed. After each class was analyzed, it was evaluated and maintainability problems were fixed. The second phase of the project was to analyze each class individually and the third was to analyze the relationships between the classes. The project began in January and was finished in June 2011.
The primary objective was reached to a certain degree. The primary enhancements were related to the classes’ clarity of abstraction and cohesion. The structure of the software’s class hierarchy was also improved while the final goal of improving the relationships between the classes was left unimplemented. The solution was nonetheless designed. During the project it was noticed that object-oriented solutions might have been overly used.