Soveltimo, Y-tunnus 2086221-4 Palvelut hankkeen aloitukseen
Takaisin www.soveltimo.fi

Soveltimo

Nimi
Soveltimo, Y-tunnus 2086221-4
Osoite
Lähdesuonkatu 8, 80140 JOENSUU
www
http://www.soveltimo.fi

Johdanto

Soveltimo tarjoaa ohjelmistohankkeen aloitusvaiheeseen liittyvää palvelua sisältäen suunnittelua, valmistelua ja ohjelmistokehitystä Linux ja/tai UNIX alustoilla. Palveluun kuuluvat tehtävät kartoitetaan ja sovitaan etukäteen tarpeen mukaan. Palvelun kokonaishinta on tehtävistä riippuen 360-540€ / päivä (6 tuntia) + ALV, kun käytetään Soveltimo sopimusehtoja.

Ohjelmistohankkeen alkuvaiheessa selvitetään liiketoiminnan käsitemalli ja järjestelmän käyttötarkoitus. Niiden pohjalta suunnitellaan ohjelmiston tekninen arkkitehtuuri, kehitysympäristö ja mahdollinen tuotteistaminen. Näitä asioita on kuvattu tarkemmin alla, ja Soveltimo palveluun sisältyy niihin liittyviä tehtäviä sovittavassa laajuudessa.

Aloitusvaiheen jälkeen ohjelmistokehitys siirtyy asiakkaalle, joten palvelun yksi osa-alue on toimia kehitysryhmän ideoinnin kokoajana ja tukena. Ideoinnin avulla ohjelmistoon saadaan hyödynnettyä kaikkien kokemus ja osaaminen. Palvelun loppuraportti sisältää lyhyen yhteenvedon toteutuneista tehtävistä ja ohjelmistokehityksen tilanteesta.

Ohjelmiston tarkoitus

Ohjelmistohankkeen lähtökohtana on ajatus ohjelmiston tarpeesta jollain liiketoiminnan sektorilla. Lähtökohta on suppeimmillaan karkea hahmotelma ohjelmiston käyttötarkoituksesta. Tarkimmillaan lähtökohtana on valmis tietojärjestelmän vaatimusmäärittely.

Olennaista on selvittää "Mihin liiketoiminnan kysymyksiin ohjelmistolla saadaan ratkaisuja?" Oikeilla kysymyksillä ohjelmistokehitys kohdistuu käyttötarkoituksen kannalta keskeisiin asioihin. Ohjelmiston tyypin mukaan kysymyksissä painottuvat tietosisältö tai toiminnot. Tietohallinnon järjestelmässä korostuu tietosisältö, jolla liiketoimintaa seurataan. Ohjausjärjestelmässä taas toiminnot, joita ohjelmistolla ohjataan.

Ohjelmiston toimitustapa

Ohjelmistokehityksen valmistelua ohjaa ohjelmiston myynti-idea, joka määrää sen toimitustavan. Myynti-ideoita ovat esimerkiksi tarjoaminen palveluna, toimitus järjestelmänä sisältäen käyttötuen tai myynti ohjelmistopakettina itsenäiseen käyttöön.

Keskeinen kysymys on "Miten tilaajalle tarjotaan ohjelmiston hyödyt?" Toimitustavan valinta vaikuttaa ohjelmiston suunnittelussa kokoonpanoihin, ulkoisiin rajapintoihin ja käyttöliittymiin. Palvelumyynnissä sovellusten muuttaminen on joustavaa, koska ohjelmisto on toimittajan hallinnassa. Järjestelmätoimituksina ja ohjelmistopakettina muutokset kootaan erillisiin julkaisuversioihin.

Ohjelmiston käsitemalli

Ohjelmiston suunnittelun perustana on käsitemalli valitusta liiketoiminnan sektorista. Malli pohjautuu käyttötarkoituksen kuvaukseen, josta poimitaan aluksi mukaan vain tärkeimmät käsitteet. Käsitemalli kuvaa liiketoiminnan ydinasiat käyttötarkoituksen kannalta.

Mallinnuksessa kysytään "Mitä liiketoiminnan käsitteitä tarvitaan tähän käyttötarkoitukseen?" Liiketoiminnan valitun sektorin kuvaus puretaan auki tietoteknisesti käsiteluokkiin, joihin kohdistetaan tiedot ja toiminnot. Saadut luokat ryhmitellään liiketoiminnan mukaan osa-alueisiin, joista muodostuu ohjelmiston perusrakenne.

Ohjelmistokehityksen alkutila

Ohjelmistokehitys aloitetaan usein olemassa olevista pohjista, joita on tehty itse tai muokattu vapaista komponenteista. Parhaimmillaan ohjelmiston perusrakenne on jo valmiina, mutta myös yksittäiset lähdekoodit ja ideat toimivat alkuna.

Alkutilanteessa mietitään "Mitkä komponentit on sovitettavissa ohjelmiston käyttötarkoitukseen?" Ohjelmiston kannalta hyödylliset komponentit tunnistetaan ja sovitetaan tukemaan sovelluskehitystä. Tietotekniset peruskomponentit kootaan ohjelmointikirjastoihin, jotka ovat hyödynnettävissä muissakin hankkeissa.

Kehitysympäristö

Ohjelmisto toteutetaan kehitysympäristössä, sisältäen ohjelmointikielet, hakemistorakenteen ja välineet kehittämiseen sekä kokoonpanoihin. Joustava ympäristö tukee kehittäjien oman kokemuksen ja vahvuuksien soveltamista. Toisaalta kielten ja kirjastojen rajaaminen yhtenäistää toteutustapaa, ja suunnittelukäytäntöjen sopiminen helpottaa kokoonpanoa.

Tärkeää on "Millainen kehitysympäristö tukee perusrakenteen toteutusta ja toimitustapaa?" Ohjelmiston laajuuden ja käyttötarkoituksen mukaan valitaan toteutusmenetelmä ja -käytännöt. Hakemistorakenteessa huomioidaan ohjelmistohankkeen eri tasot ja käsitemallin osa-alueet. Lähdetiedostot ryhmitellään hakemistoihin, ja kokoonpanojen kuvaukset laaditaan valitun toimitustavan mukaisesti.

Kehitysarkkitehtuuri

Ohjelmistosuunnittelua ohjaa kehitysarkkitehtuuri, eli ohjelmiston sisäinen rakenne. Se kuvaa sovelluskehityksen jakoa käsitteellisiin osa-alueisiin, teknisiin kerroksiin ja ohjelmoinnin yksiköihin. Yksinkertainen sovellus sisältää kaiken yhdessä komponentissa, mutta laajimmillaan ohjelmisto jakautuu itsenäisiin aliohjelmistoihin sisäisillä rajapinnoilla.

Kehitysarkkitehtuurin peruskysymys on "Kuinka käsitemalli toteutetaan kehitysympäristössä?" Ohjelmiston sisäinen rakenne jaotellaan osiin käsitemallin mukaan ja käyttötarkoitukseen tarvittavassa laajuudessa. Arkkitehtuurin sitominen liiketoimintaan käsitemallin kautta helpottaa tilaajan tarpeiden huomiointia ylläpidossa ja jatkokehityksessä.

Ajoarkkitehtuuri

Ohjelmiston kokoonpanoa ja toimituksia ohjaa ajoarkkitehtuuri, eli sen ulkoinen rakenne. Se kuvaa asennetun järjestelmän sisältämiä palveluita, tietovarastoja ja hallintavälineitä. Ajonaikaisen rakenteen suunnittelu riippuu osin toimitustavasta, joka määrää miten järjestelmää hallitaan.

Ajoarkkitehtuurin peruskysymys on "Kuinka käyttötarkoitus toteutetaan ajoympäristössä?" Ohjelmistoasennuksen sisältö ja hajautus suunnitellaan toimitustavan mukaan huomioiden käytettävyys ja hallinta. Tuloksena saadaan kokoonpanojen kuvaukset, joilla ohjelmisto paketoidaan kehitysympäristöstä toimituksia varten.

Katselmointi

Soveltimon osuuden lopussa käydään kehitysryhmän kanssa läpi ohjelmiston käsitemalli, kehitysympäristö ja arkkitehtuurit. Tavoitteena on saada kaikille yhtenäinen kokonaiskuva ohjelmiston käyttötarkoituksesta, ohjelmistokehityksestä ja toimitustavasta.

Keskeistä on selvittää "Miksi asiat on suunniteltu näin?", sillä pätevä ohjelmistosuunnittelija kyllä näkee tuloksistakin miten ne on tehty. Liiketoiminnan käsitemalli ja ohjelmiston käyttötarkoitus ovat olennaisia asioita, kun jatkokehitystä tehdään loppukäyttäjien tarpeiden perusteella. Ohjelmistoasennusten ylläpito ja hallinta taas perustuvat valittuun toimitustapaan.