FRI:UNI:Vodenje projektov:Smeri razvoja programske opreme v prihodnosti
Iz E-študij, proste zakladnice študentskega znanja
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:
- Iskanje
- Razumevanje
- Adaptacija
- 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