Enemmän kuin ohjelmointia: laskennasta käyttöä huomioiviin arkkitehtuureihin - Larsson, Peter (My University, 2018)
Millainen ohjelma luodaan, on ohjelmankehityksen haastavimpia kysymyksiä. Uuden ohjelman suunnittelussa on huomioitava, millaiseksi organisaation tuleva toiminta halutaan. Jos tietotekniikalta tarvittava tuki voidaan määritellä yksiselitteisesti, voi ohjelmankehitys noudattaa rationaalista prosessia. Kuitenkin uudenlaisessa toiminnassa sekä toiminta että tarvittava tietotekniikka ovat tuntemattomia. Ongelman määritys syntyy mahdollisista ratkaisuista ja ratkaisut puolestaan ongelman määrityksestä. Ohjelman suunnittelu vaatii asiakkaan ja kehittäjän yhteistyötä. Tutkielman lähtökohtana on ajatus, että ohjelmointi riittävän korkealla abstraktiotasolla mahdollistaa asiakkaan osallistumisen ohjelman suunnitteluun. Suunnittelulla tarkoitetaan tässä ohjelman toiminnallisuuden ja käytön muotoilua. Riittävän korkealla abstraktiotasolla viitataan ohjelmointimenetelmän käsitteisiin. Käsitteiden on oltava sellaisia, että asiakas voi kokemuksensa perusteella niitä käsitellä. Tutkielman tavoitteena on luoda viitekehys, joka määrittelee riittävän korkean abstraktiotason. Viitekehys perustuu Markku I. Nurmisen (1988) tietotekniikan näkökulmiin. Näkökulmat kuvaavat kolmea eri käsitystä tietojärjestelmistä. Ne eroavat tavassa miten työntekijä voi vaikuttaa työhönsä. Yksi vaikuttamisen kohde on millainen tietojärjestelmä luodaan. Näkökulmia käytetään yhdistämään työntekijän vaikuttaminen ja ohjelmankehitys. Tuloksena on ohjelmankehitysprosesseja, jotka eroavat kehityksen kohteeltaan. Erot tulkitaan eri abstraktiotasoiksi: teknisestä toimintaa käsittelevään. Ohjelmankehitysprosessien perusteella luodaan mallit niitä tukevien ohjelmointimenetelmien piirteistä. Mallit muodostavat tutkielman viitekehyksen. Viitekehys määrittelee ohjelmoinnin abstraktiotason, jossa asiakas voi osallistua ohjelmankehitykseen. Esimerkkejä viitekehyksen mukaisista ohjelmointimenetelmistä on löydetty neljästä suosituimmasta ohjelmointiparadigmasta.
Keywords: ohjelmistoarkkitehtuuri, ohjelmistokehitys, osallistava suunnittelu, tietojärjestelmät