Ohjelmistokriisi

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 16. huhtikuuta 2019 tarkistetusta versiosta . tarkastukset vaativat 2 muokkausta .

"Ohjelmistokriisi"  on aikoinaan tietojenkäsittelytieteessä käytetty termi kuvaamaan tietokoneiden nopean laskentatehon kasvun seurauksia ja niiden avulla ratkaistavien ongelmien monimutkaisuutta. Pohjimmiltaan se viittaa vaikeuteen kirjoittaa toimivia, ymmärrettäviä ohjelmistoja käyttämällä vahvistettuja algoritmeja .

Termin "ohjelmistokriisi" keksi Friedrich L. Bauer Naton ohjelmistotekniikan konferenssissa 1968 Garmisch -Partenkirchenissä ( Saksa ) [ 1] . Termiä käytti Edsger W. Dijkstra vuonna 1972 Turing Award -luennossaan [ 2 ] :

Ohjelmistokriisin suurin syy on laskentatehon jyrkkä kasvu! Yksinkertaisesti sanottuna: ei ole tietokonetekniikkaa - ei ole ongelmia ohjelmistojen kehittämisessä sitä varten; kun muutama heikko tietokone ilmestyi, ilmaantui ensimmäiset ohjelmistokehitysongelmat, nyt meillä on jättiläisiä tietokoneita ja ohjelmoinnista on tullut yhtä jättimäinen ongelma.

Alkuperäinen teksti  (englanniksi)[ näytäpiilottaa] Ohjelmistokriisin suurin syy on se, että koneista on tullut useita suuruusluokkaa tehokkaampia! Suoraan sanottuna: niin kauan kuin koneita ei ollut, ohjelmointi ei ollut ollenkaan ongelma; kun meillä oli muutama heikko tietokone, ohjelmoinnista tuli lievä ongelma, ja nyt meillä on jättimäisiä tietokoneita, ohjelmoinnista on tullut yhtä jättimäinen ongelma. — Edsger W. Dijkstra . "Nöyrä ohjelmoija" (EWD340)

Ohjelmistokriisin syyt on yhdistetty laitteiston yleiseen monimutkaisuuteen ja ohjelmistokehityksen monimutkaisuuteen. Kriisi ilmenee monin tavoin:

Monet ohjelmistoon liittyvät ongelmat ovat aiheutuneet laitteiston monimutkaisemisesta. Edsger W. Dijkstra totesi esseessään, että uudet tietokoneet olivat aikanaan "niiden vakavien puutteiden ruumiillistuma, että [hän uskoo] tietotekniikan kehitys on jäänyt jälkeen ainakin kymmenen vuotta" [2] . Hän katsoi myös, että laitteiston vaikutus ohjelmistoihin jätettiin liian usein huomiotta.

Viime vuosikymmeninä on kehitetty erilaisia ​​prosesseja ja menetelmiä ohjelmistokriisin kesyttämiseksi. Yleisesti uskotaan kuitenkin,  ettei ole olemassa "hopealuotia"  eli ei ole olemassa universaalia menetelmää ylikulujen ja projektien epäonnistumisen estämiseksi. Yleensä ohjelmistokehitysprojektit – suuret, monimutkaiset, huonosti dokumentoidut ja tuntemattomat – voivat silti kohdata suuria odottamattomia ongelmia.

Katso myös

Muistiinpanot

  1. Raportti ohjelmistokriisiä käsittelevästä NATO Software Engineering Conference -konferenssista Arkistoitu 16. heinäkuuta 2013.  (Englanti)
  2. 1 2 Edsger W. Dijkstra -arkisto (EW Dijkstra -arkisto), [1] Arkistoitu 13. toukokuuta 2020 Wayback Machinessa