Ohjelmisto: määritelmä, tyypit, historia ja käyttöjärjestelmät

Selkeä opas ohjelmistosta: määritelmä, tyypit, historia ja käyttöjärjestelmät. Opit ohjelmistoluokat, firmware-erot ja kehitysmenetelmät kuten Agile ja Waterfall.

Tekijä: Leandro Alegsa

Tietokoneohjelmisto, jota kutsutaan myös ohjelmistoksi, on joukko ohjeita, tietorakenteita ja dokumentaatiota, jotka kertovat tietokoneelle, mitä tehdä ja miten suorittaa erilaisia tehtäviä. Ohjelmistoihin kuuluvat kaikki tietokoneen eri ohjelmat, kuten sovellukset ja käyttöjärjestelmä. Sovellukset ovat ohjelmia, jotka on suunniteltu suorittamaan tietty toiminto, esimerkiksi peli tai tekstinkäsittelyohjelma. Käyttöjärjestelmä (esim. Mac OS, Microsoft Windows, Android ja erilaiset Linux-jakelut) on ohjelmistokerros, joka tarjoaa perustan sovellusten suorittamiselle ja ohjaa laitteiston käyttöä, kuten näyttöä, näppäimistöä ja muistinhallintaa.

Mitä ohjelmisto on käytännössä

Ohjelmisto koostuu lähdekoodista, joka käännetään tai tulkitaan suoritettavaksi konekielelle, sekä tueksi tulevasta dokumentaatiosta ja resursseista (kuvat, datatiedostot, asetukset). Ohjelmiston tehtävä voi olla käyttäjän kanssa kommunikoiminen graafisen käyttöliittymän kautta, taustalla suoritettavien palvelujen tarjoaminen verkkopalveluissa tai suora laitteiston ohjaaminen.

Historia ja kehitys

Sanaa ohjelmisto alettiin käyttää laajemmin 1960‑luvulla korostamaan sen eroa tietokonelaitteistosta, joka on fyysisesti havaittavissa. Aikaisemmin ohjelmia syötettiin ja tallennettiin monilla eri tavoilla, kuten paperisilla reikäkorteilla, magneettilevyillä tai magneettinauhoilla. Myöhemmin ohjelmat jaettiin levykkeillä, CD‑levyillä ja lopulta Internetin myötä ladattaviksi paketeiksi ja pilvipalveluiksi. Ohjelmistokehitys on kehittynyt yksinkertaisista räätälöidyistä ohjelmista monimutkaisiksi järjestelmiksi, joissa merkittävä rooli on standardeilla, avoimella lähdekoodilla ja modulaarisuudella.

Firmware ja sulautetut järjestelmät

Sanaa firmware käytetään kuvaamaan ohjelmistoa, joka on tehty erityisesti tiettyä laitetta varten ja joka on yleensä tallennettu tietokoneen Flash-muistiin tai ROM‑sirulle. Firmware ohjaa suoraan laitteistoa ja tarjoaa perustason toiminnallisuutta; esim. CD-aseman laiteohjelmisto tai modeemin laiteohjelmisto ovat esimerkkejä tällaisesta toteutuksesta. Sulautetuissa järjestelmissä ohjelmisto on usein tiukasti sidottu laitteistoon ja suorituskyky-, turvallisuus- sekä energiavaatimuksiin.

Ohjelmistojen tyypit

  • Järjestelmäohjelmisto: sisältää käyttöjärjestelmät, laiteajurit ja muut perustoiminnot, joiden avulla laitteistoa ja sovelluksia voidaan käyttää.
  • Sovellusohjelmisto: loppukäyttäjälle suunnatut ohjelmat, kuten tekstinkäsittely, sähköposti, pelit ja taloushallinnon ohjelmat (sovellukset, tekstinkäsittelyohjelma).
  • Kehitystyökalut: kääntäjät, tulkit, IDE‑ympäristöt ja muut työkalut, joita ohjelmoijat käyttävät ohjelmiston tuottamiseen.
  • Kirjastot ja komponentit: uudelleenkäytettäviä ohjelmakomponentteja, joita sovellukset ja järjestelmät hyödyntävät.
  • Väliohjelmisto (middleware): ohjelmistokerros, joka yhdistää eri sovellusosat tai palvelut toisiinsa.
  • Sulautettu ohjelmisto: laitteeseen integroitu ohjelmisto, joka usein toteuttaa reaaliaikavaatimuksia ja laitekohtaisia rajapintoja.

Käyttöjärjestelmät ja niiden tehtävät

Käyttöjärjestelmät hoitavat keskeisiä tehtäviä, kuten prosessien hallintaa, muistinhallintaa, tiedostojärjestelmää, laiteajureita ja käyttöliittymää. Ne tarjoavat rajapinnan sovelluksille ja turvaavat resurssien hallintaa, moniajoa sekä käyttäjän ja laitteiston välistä kommunikointia. Esimerkiksi Mac OS, Microsoft Windows, Android ja Linux‑jakelut ovat käyttöjärjestelmiä, jotka eroavat arkkitehtuuriltaan, käyttöliittymältään ja sovellusympäristöiltään.

Ohjelmistokehitys ja elinkaari

Ohjelmiston kehittäminen sisältää useita vaiheita: vaatimusmäärittely, suunnittelu, toteutus (koodaus), testaus, käyttöönotto ja ylläpito. Testaus voi jakautua yksikkötestaukseen, integraatiotestaukseen, järjestelmätestaukseen ja hyväksymistestaukseen. Ohjelmiston elinkaari jatkuu usein käyttöönoton jälkeenkin korjauksilla, päivityksillä ja uusien ominaisuuksien lisäämisellä.

Erilaisia kehitysmallinnuksia ja prosesseja ovat muun muassa perinteinen Build and Fix, vesiputousmalli (Waterfall) sekä ketterät menetelmät (Agile). Nykyään DevOps‑käytännöt, jatkuva integraatio (CI) ja jatkuva toimitus (CD) yhdistävät kehityksen ja ylläpidon tiiviimmin, mikä nopeuttaa julkaisutahtia ja parantaa laatua.

Jakelu, lisenssit ja liiketoimintamallit

Ohjelmistot on aiemmin jaettu fyysisillä tallennusvälineillä, mutta nykyisin yleisiä jakelukanavia ovat verkkolataukset, sovelluskaupat ja pilvipalvelut (SaaS). Aikaisempia fyysisiä tallennusmuotoja olivat esimerkiksi reikäkortit, magneettilevyt ja magneettinauhat.

Lisenssimallit vaihtelevat suljetusta kaupallisesta lisenssistä avoimen lähdekoodin lisensseihin. Lisäksi on olemassa ilmaista ohjelmistoa (freeware), kokeiluversioita (shareware) ja yrityskohtaisesti räätälöityjä ratkaisuja. Lisenssit määrittävät, miten ohjelmistoa saa käyttää, muokata ja jakaa.

Tietoturva, laatu ja ylläpito

Ohjelmistot altistuvat haavoittuvuuksille, virheille ja väärinkäytölle, joten turvallisuus ja ylläpito ovat keskeisiä osa‑alueita. Päivitykset ja tietoturvakorjaukset (patchit) ovat tärkeitä ohjelmiston turvallisuuden ylläpitämiseksi. Ohjelmistoinsinöörien sekä testaajien tavoitteena on vähentää virheitä ja parantaa luotettavuutta, mutta täydellinen virheettömyys on käytännössä harvoin täysin saavutettavissa — siksi iteratiivinen kehitys, automaattinen testaus ja hyvät ylläpitokäytännöt ovat olennaisia.

Ohjelmistot ovat nyky-yhteiskunnassa keskeisiä monilla elämänalueilla: viestinnässä, liikenteessä, terveydenhuollossa, taloudessa ja viihteessä. Niiden suunnittelu korostaa usein muun muassa muutettavuutta (muokattavuutta), yhteensopivuutta ja käytettävyyttä, jotta ohjelmistot pysyvät ylläpidettävinä ja hyödyllisinä muuttuvissa tarpeissa.

LibreOffice Writer, esimerkki ohjelmistosta.Zoom
LibreOffice Writer, esimerkki ohjelmistosta.

Ohjelmistotyypit

Erilaiset ohjelmistot voidaan jakaa luokkiin yhteisen toiminnon, tyypin tai käyttöalueen perusteella. Laajoja luokitteluja on kolme:

  1. Sovellusohjelmat ovat tietokoneohjelmia, joilla suoritetaan käyttäjän tehtäviä, kuten tekstinkäsittelyä ja verkkoselaimia.
  2. Järjestelmäohjelmia käytetään tietokonejärjestelmien ja -verkkojen käynnistämiseen ja käyttämiseen. Tähän kuuluvat käyttöjärjestelmät.
  3. Tietokoneohjelmointityökaluja (joita kutsutaan myös kehitysohjelmistoiksi) käytetään sovellus- ja järjestelmäohjelmistojen luomiseen. Tämä tapahtuu kääntämällä ja yhdistämällä tietokoneohjelmien lähdekoodi ja kirjastot suoritettaviksi RAM-muisteiksi. Näihin kuuluvat kääntäjä ja linkittäjä.

Aiheeseen liittyvät sivut

Kysymyksiä ja vastauksia

K: Mitä on tietokoneohjelmisto?


V: Tietokoneohjelmisto on joukko ohjeita ja dokumentteja, jotka kertovat tietokoneelle, mitä tehdä tai miten suorittaa jokin tehtävä. Siihen kuuluvat kaikki tietokoneen eri ohjelmat, kuten sovellukset ja käyttöjärjestelmä.

K: Mitä ovat sovellukset?


V: Sovellukset ovat ohjelmia, jotka on suunniteltu suorittamaan tietty toiminto, kuten peli tai tekstinkäsittelyohjelma.

K: Mikä on käyttöjärjestelmä?


V: Käyttöjärjestelmä (esim. Mac OS, Microsoft Windows, Android ja erilaiset Linux-jakelut) on ohjelmistotyyppi, jota käytetään alustana sovellusten suorittamiselle ja joka ohjaa kaikkia käyttöliittymävälineitä, kuten näyttöä ja näppäimistöä.

K: Miten ohjelmistoja käytettiin ennen CD-levyjä tai Internet-aikaa?


V: Ennen CD-levyjä tai Internetin kehittymistä ohjelmistoja käytettiin erilaisilla tietokoneiden tallennusvälineillä, kuten paperisilla reikäkorteilla, magneettilevyillä tai magneettinauhoilla.

K: Mitä tarkoittaa firmware?


V: Sanaa firmware käytetään joskus kuvaamaan ohjelmistoa, joka on tehty erityisesti tietyntyyppistä tietokonetta tai elektroniikkalaitetta varten ja joka on yleensä tallennettu tietokoneen Flash-muistiin tai ROM-sirulle. Firmware viittaa yleensä ohjelmistoon, joka ohjaa suoraan laitteistoa.

K: Miten ohjelmistoista on tullut tärkeitä nykypäivän elämässämme?


V: Nykyään ohjelmistoista on tullut tärkeä osa elämäämme; niitä käytetään kaikkialla ja ne ovat vastuussa virheettömien ohjelmistojen tuottamisesta, joista on kirjaimellisesti tullut olennainen osa jokapäiväistä elämäämme.

K: Mitkä ovat joitakin ohjelmistojen suunnittelun prosessointimalleja?


V: Joitakin ohjelmistojen suunnittelun käsittelymalleja ovat muun muassa Build and Fix, Waterfall ja Agile Software Processing Design Methods.


Etsiä
AlegsaOnline.com - 2020 / 2025 - License CC3