FRI:UNI:Vodenje projektov:Smeri razvoja programske opreme v prihodnosti

Iz E-študij, proste zakladnice študentskega znanja

Skoči na: navigacija, iskanje

<==Nazaj

Vsebina

Smeri razvoja programske opreme v prihodnjosti

  • procesorska moč, spominske in komunikacijske kapacitete se večajo zelo hitro
  • razvoj programske opreme ostaja draga dejavnost
  • Feingenbaumovo ozko grlo - eksperti težko formulirajo svoje znanje, ko kompleksnost neke domene zelo naraste
  • težko je natančno opisati korake, kako bi zgradili sisteme z želenimi lastnostmi
  • uspešen razvoj je v veliki meri odvisen tudi od izkušenosti programerja (ki jih ni veliko)
  • znanje in izkušnje hitro zastarajo

Dvigovanje abstraktne ravni reševanja problema

  • načrtujemo vedno kompleknejše sisteme
  • računalniške rešitve želimo definirati na vedno višjem nivoju
  • podobne probleme začnemo reševati na podobne načine, postopki se počasi standardizirajo in kasneje avtomatizirajo
  • jeziki 4. genreacije: generatorji aplikacij, zelo specifično usmerjeni
  • formalni specifikacijski jeziki: naj bi se prevedli v višji programski jezik, odkrivanje napak že v fazi analize in načrtovanja, obsežno testiranje ni potrebno

Ponovna uporabnost programske opreme

Ponovna uporaba komponent

  • Problemi ponovne uporabe:
    1. Iskanje
    2. Razumevanje
    3. Adaptacija
    4. Kompozicija
  • module napisane v objektno orientiranih jezikih je lažje modificirati in ponovno uporabiti
  • nekoliko več fleksibilnosti nudijo t.i. programski vzorci (templates)

Ponovna uporaba načrta

  • kadar rešujemo podoben problem
  • načrtovalski vzorci
  • okviri (frameworks)

Ekonomska plat ponovne uporabe

  • programerju se mora izplačati poiskati že obstoječ modul
  • za ponovno uporabo moramo prilagoditi način vodenja in organizacije
  • gradnja ponovno uporabne kode je zahtevnejša in dolgotrajneša
  • skupina mora v prihodnosti razvijati še več podobnih sistemov, da se izplača

Umetna inteligenca

  • dokazovanje pravilnosti programov, jeziki na zelo visokem nivoju
  • espertni sistemi za pomoč pri programiranju

Multimediji in vizualizacija

  • vpliva predvsem na vmesnik človek-računalnik
  • s slikami lahko posredujemo veliko informacij
  • predstavitev podatkov (razni grafi, ...)
  • GUI
  • vizualno programiranje
  • navidezna resničnost

Medmrežje

  • svetovni splet je nov komunikacijski modul
  • velika prenosljivost podatkov
  • varnostni problemi
  • lažja koordinacija razvoja

Etična vprašanja

  • uporaba računalnikov prinaša številne probleme
  • celotna človeška družba je zaradi odvisnosti od računalniških sistemov vedno bolj ranljiva
  • napake v programu ali fizični napadi lahko povzročijo velike težave
  • varnost sistemov
  • računalniški kriminal
  • vprašanje intelektualne lastnine
  • škoda, ki jo povzroči napaka v programski opremi
  • varstvo zasebnosti
Osebna orodja
Imenski prostori
Različice
Dejanja
navigacija

Tiskanje/izvoz
orodja