info@edelphi.fi

Ohjelmistokehykset

Ohjelmistokehys tunnetaan nimellä sovelluskehys, jolla muodostetaan ohjelmistotuotteen runkoa esimerkiksi tietokoneohjelmalle. Apuvälineenä, ohjelmistokehyksellä nopeutetaan erilaisten ohjelmistotuotteiden tuottamista. Kehys toimii runkona, jonka päälle rakennetaan ja kasataan osia. Tietokoneohjelmoinnissa ohjelmistokehys on abstraktio, jossa yleistä toiminnallisuutta tarjoava ohjelmisto voidaan valikoiden muuttaa lisäkäyttäjällä kirjoitetulla koodilla, jolloin saadaan sovelluskohtainen ohjelmisto. Kehyksen ideana on nopeuttaa prosessia niin, että rakennettujen tietokoneohjelmien osia ei enää tarvitse kirjoittaa uudelleen tuotannon aikana, minkä seurauksena kehitystyö on tehokkaampaa, kuin kirjoittaa tietokoneohjelmien osia yhä uudelleen. Ensimmäinen ja käytetyin ohjelmistokehys on Smalltalk-80-ympäristön Model-View-Controller, joka alkuperältään pohjautuu Model-View-Controller-kehyksen arkkitehtuurin määritetty MVC-arkkitehtuurikäytäntö. Käyttöliittymätoteuttamiseen kehitettiin erityisiä erillisiä kehyksiä työasemaohjelmistoihin, esimerkiksi web-sovelluksiin, ohjelmoinninkielille, sekä kaupallisiin että ei-kaupallisiin tarkoituksiin. Käyttöliittymäkehysten määrä ja suosio ovat tehneet ohjelma kehyksistä käyttöliittymien toteuttamiseen sovelletuksi tekniikaksi. Muita ohjelmistokehysien soveltamisalueet ovat: laskutusjärjestelmät, palohälytysjärjestelmät, mittausohjelmistot, eLearning jne. Käyttöliittymäkehykset ovat siis yleisiä kehyksiä luonteiltaan, mutteivät rajaa sovellusaluetta, vaikka usein ne keskittyvät käyttöliittymän toteuttamiseen. Ohjelmistokehyksissä sisältää tukiohjelmia, kääntäjiä, koodikirjastoja, työkalusarjoja ja sovellusohjelmoinnin rajapintoja (API), jotka yhdessä linkittävät kokonaisuuden eri komponentit projektin kehitykseen ja järjestelmän kehittämiseen. Ohjelmistokehystä ei voida sellaisenaan käyttää vaan lopullinen tuote on kehystetty uudella ohjelmalla. Ohjelmistoja onkin tarkoitettu kierrätys käyttöön laajamittaisesti ja systemaattisesti. Kehys voi olla tukikehys tai kokonaisvaltainen kehys, joka hallitsee koko sovellusta, esimerkkinä etäkäyttökehykset, jotka hallitsevat etäkäytön kokonaan.

Kehykset Eroavat Kirjastoista

Kirjasto tarjoaa auttaja-toimintoja, -objekteja ja –moduuleja, joiden sovelluskoodi vaatii tiettyjä toimintoja toimiakseen. Kirjastot keskittyvät yleensä varsin kapeaan ulottuvuuteen, joten niiden sovellusliittymät ovat yleensä pienempiä ja vaativat vähemmän riippuvuuksia. Kirjasto on luokka määritelmä, koska niitä tarvitaan koodien uusiokäyttöön, ja käyttää hyödykseen koodia, jotka muut kehittäjät ovat jo kirjoittaneet. Kirjastot suorittavat joukon erityisiä ja hyvin määriteltyjä toimintoja, esimerkiksi verkkoprotokollat pakkaus, kuvankäsittely, merkkijonot, säännöllisten lausekkeiden arviointi sekä matematiikka. Joissakin kirjastossa on menetelmänä findLastIndex(char), jonka avulla etsitään tietyn merkin viimeisen indeksin merkkijonossa. Toisaalta LastIndex (charToFind) –toiminnolla voi kirjastosta hakea ja siirtää merkkejä, joiden sijaitsemispaikka löydetään funktiokutsun parametrilla. Kehys on itsessään sovellus, jolla on laajempi soveltamisala ja sen sisältämät tiedot riittävät käyttäjän sovelluksen omiin tarpeisiin. Ohjelmistokehykset, jotka erottavat ne tavallisista kirjastoista; ensinnäkin, inversio ohjaus kehyksissä, toisin kuin kirjastoissa tai tavallisissa käyttäjä sovelluksissa, kokonaisohjelman ohjauksen kulku ei sanele käyttäjä vaan kehys. Laajennettavuus on toinen eroavaisuuksista, tällöin käyttäjä voi laajentaa kehystä niin, että valitsee alueen priorisointiin; tai ohjelmoijat voivat lisätä erikoistunutta käyttäjäkoodia tarjotakseen erityisiä toimintoja. Viimeiseksi, ei-muokattavissa olevat kehyksen koodit: kehyksen koodi, yleisesti ottaen, ei ole tarkoitusta olla muokattavana, vaikka se hyväksyykin käyttäjän suorittamat laajennukset. Toisin sanoen, käyttäjät voivat laajentaa kehystä, muttei saa muuttaa sen koodia millään tavalla.

Kehyksen Arkkitehtuuri

Preen mukaan, ohjelmistokehykset koostuvat jäädytetyistä pisteistä ja erikoistamiskohdista. Jäädytetyt paikat määrittävät ohjelmistojärjestelmän kokonaisarkkitehtuurin, eli sen peruskomponentit ja niiden väliset suhteet. Nämä pysyvät muuttumattomina eli jäädytettyinä, missä tahansa sovelluskehyksen instansseista. Erikoistamiskohdat edustavat niitä osia, joissa kehyksen käyttämät ohjelmoijat lisäävät omat koodinsa lisätäkseen projektilleen ominaisuuksia. Kun käytetään kehystä, mikä joutuu koko ajan kirjoittamaan toistuvia koodia eri sovelluksiin, kun taas osa koodista muuttuu sovelluskohtaisesti, nämä limittyvät sovelluksessa, mikä aiheuttaa ongelmia ylläpidossa. Suosituksena on eristää muuttuvaa koodia  ja sisällyttää toistuvat koodit kehykseen. Kehyksissä käytetään suunnittelumalleja, jotka ovat kehyksen erikoistumismahdollisuuden kannalta tärkeitä tekijöitä. Kehyksen koodi sisältää sekä alkuperäisiä, että uusia lisättyjä kehyksiä, sen vuoksi suunnittelumallit käytetään kehysten dokumentointiin. Suunnittelumallit jaetaan kahteen osaan, ensimmäinen osa kuuluu kehykseen, ja toinen on tuotekohtainen osa.

Kehyksen Arkkitehtuuri

Comments are closed.