Ohjelmiston dokumentoinnin hyödyt, haasteet ja toteutus
Hämäläinen, Valtteri (2020)
Kandidaatintyö
Hämäläinen, Valtteri
2020
School of Engineering Science, Tietotekniikka
Kaikki oikeudet pidätetään.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe202102266068
https://urn.fi/URN:NBN:fi-fe202102266068
Tiivistelmä
Tässä kandidaatintyössä esitellään tutkimuksia ohjelmiston dokumentoinnin hyödyistä ja haasteista. Kirjallisuudesta selviää, että dokumentaatiota pidetään tärkeänä ja dokumentaatiolle tunnistetaan monia hyötyjä. Dokumentaation avulla säästetään aikaa ja resursseja ohjelmistoprojekteissa. Vaikka hyödyt tunnistetaan, dokumentaation laatua pidetään yleisesti riittämättömänä. Tutkimusten mukaan dokumentointityöstä ei saa riittävästi arvostusta ja dokumentointiprosessia ei pidetä miellyttävänä. Usein dokumentit eivät sisällä tarvittavaa informaatiota tai informaatio on esitetty epäselvästi, se on väärää tai se ei ole ajantasalla. Kirjallisuuskatsauksen lisäksi työssä esitellään ohjelmiston dokumentointiin tarkoitettuja työkaluja ja alustoja. Näiden työkalujen ja alustojen avulla voidaan dokumentointi tehdä docs-as-code-menetelmällä, eli käyttäen dokumentoinnissa samoja tapoja kuin itse ohjelmiston koodaamisessa. This bachelor's thesis shows studies about the benefits and challenges of software documentation. Studies show many benefits for software documentation and that software documentation is considered important. If there's documentation present, time and resources can be saved in software projects. Even though the benefits are recognized, documentation quality is still considered insufficient. Studies show that documentation work is not valued enough and the documentation process is not considered enjoyable. Many documents lack necessary information, are presented in unclear way, are incorrect or are not up to date. In addition to the literature review, this thesis introduces some tools for software documentation. With these tools, documentation can be done using the docs-as-code approach, which means doing the documentation using same techniques as in coding programs.