OHJELMISTOKEHITYS -suuntautumisvaihtoehto Suuntautumisvaihtoehdon esittely 1. vuoden opiskelijoille Kari Laitinen www.oamk.fi/~karil/opetus.html Ohjelmistokehitys -opintosuunnan valitsevista henkilöistä koulutetaan insinöörejä joista tulee teknisissä laitteissa tarvittavien ohjelmistojen kehitystyön ammattilaisia. Usein tällaisia ohjelmistoja sanotaan sulautetuiksi ohjelmistoiksi.
Mitä ovat ohjelmistot? Ohjelmistot tai tietokoneohjelmat ovat tietyllä tavalla koodattua kieltä jota tietokone voi ymmärtää. Kun käynnistät tietokoneessasi esimerkiksi jonkun pelin, käynnistät peliohjelmiston jonka mukaa tietokone toimii. Peliohjelmisto ikäänkuin ottaa tietokoneen haltuunsa, ja tietokone toimii peliohjelmiston mukaisesti kunnes peli lopetetaan tai siirrytään käyttämään jotain muuta ohjelmistoa. Tietokoneohjelmistoja kehitetään ohjelmointikielillä (esim. C++, Java, C#, Python). Jollain ohjelmointikielellä kirjoitettu tietokoneohjelma muunnetaan erityisellä käännöstyökalulla tietokoneen ymmärtämään muotoon. Ohjelmistoja kehittävää insinööriä voidaan sanoa ohjelmistoinsinööriksi, ja hänen koulutukseensa kuuluu mm. ohjelmointikieliä ja muita ohjelmistoalaan liittyviä aiheita. Ohjelmistoja, kuten esim. PC:ssä toimivia pelejä, voidaan ostaa kaupasta. Ohjelmistoinsinööri osaa tehdä ohjelmistoja itse.
LAITTEISTO (Hardware) TOIMINTAYMPÄRISTÖ (Environment) OHJELMISTO (Software)
LAITTEISTO TOIMINTAYMPÄRISTÖ muistit prosessori tietoliikenneverkot anturit tietoliikennelaitteet säätimet... OHJELMISTO: - käyttöjärjestelmä - prosessit, säikeet - ajurit - käyttöliittymä - luokkakirjastot - sovellukset... näytöt tulostimet Käyttäjät näppäimistöt
Mitä ovat sulautetut ohjelmistot? Perinteisiä tietokoneohjelmistoja ovat mm. PC:ssä toimivat pelit, tekstinkäsittelyohjelmistot, Internet-selaimet, musiikkisoittimet, ym. Sulautettuja tietokoneohjelmistoja ovat teknisten laitteiden (esim. kännykät, autot, sykemittarit, hälytyslaitteet) sisällä toimivat ohjelmistot. Laitteita joiden sisällä toimii sulautettu ohjelmisto sanotaan sulautetuiksi järjestelmiksi. Raja sulautettujen ja perinteisten ohjelmistojen välillä on epätarkka. Esimerkiksi kännykkä alkaa hiljalleen muistuttaa perinteistä tietokonetta siinä mielessä että siihen voidaan ostaa sovellusohjelmia kuten esim. pelejä. Sulautettujen ohjelmistojen tekoon erikoistunut insinööri osaa myös perinteisten ohjelmistojen kehitystyön.
Miksi kannattaa suuntautua ohjelmistoinsinööriksi? Ohjelmistoja on käytössä nykyään hyvin monissa teknisissä laitteissa, ja on oletettavaa että niiden käyttö tulevaisuudessa lisääntyy. Ilman ohjelmistoja eivät monet nykyajan laitteet (matkapuhelimet, sykemittarit, autot, jne.) toimi. Ohjelmistot määräävät miten tekniset laitteet toimivat käyttäjän kanssa. Esimerkiksi kun painat jotain kännykän näppäintä, kännykässä oleva ohjelmisto päättää, mitä kyseisen näppäimen painallukseen jälkeen tapahtuu. Ohjelmistoinsinööri pääsee määräämään teknisten laitteiden ylätason toiminnan. Ohjelmistoinsinööreille on yleensä töitä löytynyt vaikka välillä on työmarkkinoilla ollut hiljaisempiakin aikoja.
Kenelle Ohjelmistokehitys -suuntautumisvaihtoehto sopii? opiskelijalle, joka on harrastanut tietokoneohjelmointia ja havainnut sen kiinnostavaksi opiskelijalle, jota tietokoneet kiinnostavat opiskelijalle, joka omasta mielestään osaa ajatella loogisesti tai joka haluaa oppia ajattelemaan loogisesti opiskelijalle, joka haluaa työssään kirjoittaa opiskelijalle, joka haluaa päästä määräämään miten tekniset laitteet kommunikoivat ihmisten kanssa
Ohjelmistokehitys - opintojen karkea rakenne: 1. vuosi perusopintoja ja ensimmäinen ohjelmistoprojekti 2. vuosi ohjelmistoalueen kursseja ja harjoitustöitä, laitteistokursseja, perusopintoja 3. vuosi ohjelmistoalueen kursseja yrityksiin tehtäviä ohjelmistoprojekteja 4. vuosi ohjelmistoalueen syventävät kurssit ohjelmistoprojektit opinnäytetyö eli insinöörityö
Ohjelmistokehitys -suuntautumisvaihtoehto Ohjelmistokehitys -opintosuunnan valitsevista henkilöistä koulutetaan insinöörejä joista tulee teknisissä laitteissa tarvittavien ohjelmistojen kehitystyön ammattilaisia. Usein tällaisia ohjelmistoja sanotaan sulautetuiksi ohjelmistoiksi. Ohjelmistoinsinöörin mahdollisia työtehtäviä ovat: ohjelmistojen toteutus (koodaus, kirjoittaminen) annettujen suunnitelmien pohjalta ohjelmistojen testaus ohjelmistojen ja niiden käyttöliittymien määrittely ja suunnittelu standardointi ja matkailu ohjelmistoprojektien vetäminen ja muu johtaminen oman (alihankinta)yrityksen perustaminen