Ohjelmistokehitys

Ohjelmistokehitys on sisältää ohjelmistojen kehityksen laajemmalla vastuulla kuin pelkkä ohjelmointi, etenkin vaatimusmäärittelyn ja testaamisen osalta. Ohjelmistokehitys on joukko aktiviteetteja kuten uuden kehitys, muokkaus, uudelleenkäyttäminen, uudelleen suunnittelu, ylläpito tai muita aktiviteetteja, jotka johtavat ohjelmistotuotteisiin.

Ohjelmistokehitys on osa ohjelmistotuotantoa, jossa se on usein viimeisiä vaiheita prosessissa.

Ohjelmistokehitysprosesseihin liittyviä standardeja:
 ISO/IEC 12207
 ISO 9000
 ISO/IEC 15504 
 ISO/IEC 24744 
 SPEM 2.0

Ohjelmakoodin uudelleenkäytettävyys (ohjelmiston uudelleenkäyttö) on ohjelmistojärjestelmien toteuttaminen olemassa olevasta ohjelmistosta tyhjästä tekemisen sijaan. Käsite on peräisin Naton ohjelmistokehityskonferenssista vuonna 1968, jossa käsiteltiin suurten ja luotettavien ohjelmistojärjestelmien kehitystä hallitulla ja kustannustehokkaalla tavalla. Konferenssia pidetään ohjelmistokehityksen alan syntypaikkana.

Verrattaessa ohjelmistoprojektien kehitysmallien tuottavuutta ja laatua vain yksi käytäntö on liittynyt sekä korkeaan tuottavuuteen että alhaiseen virhemäärään: varhaisen prototyypin julkaiseminen. Perinteisten ja joustavampien kehitysprosessien välillä ei välttämättä ole haittaa mahdollisesta konfliktista huolimatta koska ne perustuvat johdonmukaisille käytännöille, jotka jossain tapauksissa ovat suunnattu valintojen välisten erojen käsittelyyn.

Toiminnat

Tarpeen tunnistaminen 
Ideoiden lähteet ohjelmistotuotteille ovat runsaat. Nämä ideat voivat tulla markkinatutkimuksesta, mukaan lukien potentiaalisten uusien asiakkaiden demografiset tiedot, olemassa olevat asiakkaat, tuotteen hylänneet myyntimahdollisuudet, muu sisäinen ohjelmistokehityshenkilöstö tai luova kolmas osapuoli. Markkinointihenkilöstö arvioi yleensä ensin ohjelmistotuotteiden ideoiden taloudellisuuden, sopivuuden olemassa oleviin jakelukanaviin, mahdollisiin vaikutuksiin olemassa oleviin tuotelinjoihin, tarvittaviin ominaisuuksiin ja yrityksen markkinointitavoitteisiin. Markkinoinnin arviointivaiheessa arvioidaan kustannus- ja aika-oletukset. Ensimmäisessä vaiheessa päätetään, pitäisikö hanketta jatkaa markkinointi- ja kehityshenkilöstön tuottaman tarkemman tiedon perusteella.

Suunnitteluprosessi 
Tärkeä tehtävä ohjelmistojen luomisessa on vaatimusanalyysi. Asiakkailla on yleensä abstrakti käsitys siitä, mitä he haluavat lopputuloksena, mutta he eivät tiedä, mitä ohjelmiston pitäisi tehdä. Taitavat ja kokeneet ohjelmistosuunnittelijat tunnistavat tässä vaiheessa epätäydelliset, moniselitteiset tai jopa ristiriitaiset vaatimukset. Toistuva live-koodin näyttäminen voi auttaa vähentämään riskiä, ​​että vaatimukset ovat virheellisiä.

Työvoima 
Ohjelmistokehittäjä on henkilö tai yritys, joka osallistuu ohjelmistokehitysprosessiin, mukaan lukien tutkimus, suunnittelu, ohjelmointi, testaus ja muut tietokoneohjelmistojen luomiseen liittyvät näkökohdat. Muita samankaltaisten ihmisten työnimikkeitä ovat ohjelmoija, ohjelmistoanalyytikko tai ohjelmistosuunnittelija. Ohjelmistoihin erikoistuneita yrityksiä voidaan kutsua ohjelmistotaloiksi. Suuressa yrityksessä saattaa olla työntekijöitä, joiden vastuulla on vain yksi tieteenaloista. Pienemmissä kehitysympäristöissä koko prosessin voi hoitaa muutama henkilö tai yksittäinen henkilö. Yhteistyöympäristöt, kuten avoimen lähdekoodin ohjelmistot, voivat tuoda yhteen monia kehittäjiä.

Mallinnuskieli 
Mallinnuskieli on mikä tahansa keinotekoinen kieli, jota voidaan käyttää ilmaisemaan dataa, tietoa tai tietoa tai järjestelmiä rakenteessa, joka on määritelty johdonmukaisilla säännöillä. Sääntöjä käytetään ohjelmointikielen rakenteen komponenttien merkityksen tulkintaan.

Kaikki mallinnuskielet eivät ole suoritettavia, ja niille, jotka ovat, niiden käyttö ei välttämättä tarkoita, ettei ohjelmoijia enää tarvita. Päinvastoin, suoritettavat mallinnuskielet on tarkoitettu lisäämään ammattitaitoisten ohjelmoijien tuottavuutta, jotta he voivat käsitellä haastavampia ongelmia, kuten rinnakkaislaskentaa ja hajautettuja järjestelmiä.

Ohjelmoinnin paradigma 
Ohjelmointiparadigma on tietokoneohjelmoinnin perustyyli, jota ei yleensä sanele projektinhallintamenetelmä (kuten vesiputous tai ketterä). Paradigmat eroavat toisistaan ohjelman elementtien (kuten objektit, funktiot, muuttujat, rajoitteet) ja laskennan muodostavien vaiheiden (kuten määritykset, arviointi, jatkot, tietovirrat) esittämiseen käytetyissä käsitteissä ja abstrakteissa. Joskus paradigman esittämiä käsitteitä hyödynnetään yhteistoiminnallisesti korkean tason järjestelmäarkkitehtuurin suunnittelussa; muissa tapauksissa ohjelmointiparadigman soveltamisala rajoittuu tietyn ohjelman tai moduulin sisäiseen rakenteeseen. 

Esimerkki: Grady Boochin olio-suunnittelu (OOD), joka tunnetaan myös nimellä olio-analyysi ja suunnittelu (OOAD). Booch-malli sisältää kuusi kaaviota: luokka, objekti, tilasiirtymä, vuorovaikutus, moduuli ja prosessi.

Katso myös 
 Ketterä ohjelmistokehitys
 Nopean kehityksen malli
 Refaktorointi
 UML-mallinnus
 Ohjelmointiparadigma

Lähteet

Aiheesta muualla

Kirjallisuutta 
 

Ohjelmistotuotanto