peter rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko,...

309
1 U N I V E R Z A N A P R I M O R S K E M FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Peter Rogelj SKRIPTA ZA PREDMET PROGRAMSKO INŽENIRSTVO NA ŠTUDIJSKEM PROGRAMU RAČUNALNIŠTVA IN INFORMATIKE NA 1. STOPNJI UP FAMNIT PRVA IZDAJA Koper, 2014

Upload: others

Post on 11-Sep-2019

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

1

U N I V E R Z A N A P R I M O R S K E M

FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

Peter Rogelj

SKRIPTA ZA PREDMET

PROGRAMSKO INŽENIRSTVO NA ŠTUDIJSKEM PROGRAMU

RAČUNALNIŠTVA IN INFORMATIKE NA 1. STOPNJI

UP FAMNIT

PRVA IZDAJA

Koper, 2014

Page 2: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

2

Predgovor

Študijska literatura, ki je pred vami, je nastala iz prosojnic predavanj pri predmetu

Programsko inženirstvo na Fakulteti za matematiko, naravoslovje in informacijsko

tehnologijo Univerze na Primorskem. Njen namen, kot tudi namen predmeta, je

bralca/študenta seznani z osnovami programskih procesov. Obravnava celotni življenjski

cikel programskih produktov. Ukvarjamo se torej z zakonitostmi razvoja programskih

produktov - softvera, ne glede na to za kakšne vrste programov gre; čemu so namenjeni, na

katerih platformah delujejo, kdo so njegovi uporabniki ali kakšne naj bodo njihove lastnosti.

Torej, življenje programov spremljamo oziroma vodimo od ideje za njihov nastanek preko

razvoja, njihove uporabe, do prenehanja vzdrževanja in opustitve programskega produkta.

Celotni programski proces je razdeljen na več faz in pri vsaki od njih je poudarjen njen

pomen, tipične težave in napotki za zagotavljanje kar največje uspešnosti programskih

produktov. O uspešnosti programskih produktov priča obseg njihove uporabe, ki je odvisen

od vrste dejavnikov, med katerimi je eden najbolj očitnih prisotnost programskih napak. Tem

se sicer v popolnosti nikoli ne moremo izogniti, s sistematičnim pristopom pri razvoju in

vzdrževanju pa lahko zmanjšamo njihovo število in njihovo kritičnost.

Za popestritev vsebine so v literaturo vključeni tudi zabavnejši pogledi na problematiko, ki

bralca spodbudijo k širšemu razmišljanju; običajno so označeni s simbolom smeška »«.

Ljubljana, Januar 2014 Peter Rogelj

Page 3: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

3

Kazalo

1 Uvod v programsko inženirstvo .......................................................................................... 4

2 Programski proces ............................................................................................................. 20

3 Agilni pristopi .................................................................................................................... 60

4 Diagramske tehnike .......................................................................................................... 82

5 Analiza in definiranje zahtev ........................................................................................ 104

6 Načrtovanje sistema ....................................................................................................... 135

7 Načrtovanje komponent ................................................................................................. 179

8 Testiranje ........................................................................................................................ 209

9 Vzdrževanje ..................................................................................................................... 245

10 Uporabniški vmesniki .................................................................................................. 266

11 Pravne zadeve ............................................................................................................. 294

Page 4: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

4

1 Uvod v programsko

inženirstvo

Programsko inženirstvo je inženirska disciplina, ki zahteva interdisciplinarna znanja. Njen

prvotni namen je izboljšati kvaliteto razvoja programskih produktov, tako da bi bili le ti

razviti pravočasno, v predvidenem obsegu sredstev in da ne bi vsebovali napak.

Dandanes se zavedamo, da zanesljive rešitve za to ni, z uporabo sistematičnega pristopa

pa te probleme lahko močno omilimo. Kljub vsemu ostaja razvoj softvera ena najmanj

uspešnih inženirskih disciplin, saj je neuspešnih kar okrog 1/4 programskih projektov,

resne težave pa zaznamo pri vsaj 1/3. Razlog je v interni kompleksnosti softvera, ki je

večja od kompleksnosti klasičnih produktov. Programski produkti so odraz človekovega

ustvarjalnega udejstvovanja, ki ga zaradi kompleksnosti reševanih problemov ni mogoče

avtomatizirati in je zato podvrženo človeškim napakam. Pristopi programskega

inženirstva le te lahko omilijo oziroma omogočajo njihovo razkritje še preden lahko

postanejo usodne.

Page 5: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

5

Page 6: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

6

Page 7: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

7

Page 8: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

8

Page 9: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

9

Page 10: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

10

Page 11: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

11

Page 12: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

12

Page 13: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

13

Page 14: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

14

Page 15: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

15

Page 16: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

16

Page 17: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

17

Page 18: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

18

Page 19: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

19

Page 20: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

20

2 Programski proces

Programski proces je proces gradnje programskega produkta, od zaznane potrebe po

programskem produktu do konca njegovega vzdrževanja. V tem procesu se soočamo s

številnimi izzivi, ne le tehničnimi pač pa tudi organizacijskimi. V vsakem programskem

procesu moramo opraviti naloge, ki jih lahko razdelimo v več faz in jih lahko vnaprej

načrtujemo. Tudi če katere od faz ne načrtujemo, moramo naloge te faze kljub temu

opraviti; govorimo o neformalnem izvajanju faze. Glavna pomanjkljivost neformalnega

izvajanja je nepreglednost, ki prepogosto vodi do slabe kakovosti končnih programskih

produktov. V primeru formalnega izvajanja lahko vsako od faz razdelimo v več korakov. Vsak

korak mora imeti jasno zastavljene cilje, pogoje za začetek izvajanja in za zaključek ter nuditi

tudi informacije ki omogočajo spremljanje njegovega izvajanja.

Zaporedje faz v programskem procesu je lahko različno. Četudi nekaterih faz ne moremo

izvesti pred predhodno opravljenimi drugimi fazami, pa se deloma lahko prekrivajo ali se

izvajajo večkrat, v več delih ali iteracijah. Glede na zaporedje izvajanja faz (in njihovih

korakov) poznamo različne razvojne modele. Najbolj razumljiv je linearni model, ki pa ima

kljub svoji dobri preglednosti tudi svoje pomanjkljivosti, ki onemogočajo kasnejše

prilagajanje programskega procesa. Potrebe po prilagajanju lahko nastanejo zaradi

spremenjenih pogojev/zahtev ali ugotovljenih napak/pomanjkljivosti v predhodnih fazah.

V primeru nejasnosti v projektu se pogosto poslužujemo razvoju prototipov. Tradicionalno

jih uporabljamo za razjasnitev konkretnih nejasnosti in ne vključujejo vseh funkcionalnosti

končnega programskega produkta, niti niso razviti z upoštevanjem vseh zahtev in omejitev.

Vse pogostejša pa je uporaba prototipov na način, da le te postopno nadgrajujemo, dokler

jih na koncu ne razvijemo v ciljni programski produkt. Razvoj takšnih prototipov mora biti

bolj skrben že od samega začetka, saj neupoštevanje vseh potrebnih lastnosti sistema vodi

do prisotnosti napak in težav pri vzdrževanju.

Enake razvojne modele lahko uporabimo za razvoj več (podobnih) programskih produktov. V

tem primeru govorimo o programskih ogrodjih. Te lahko postopno izboljšujemo v smislu

njihove efektivnosti. Efektivnost programskih procesov lahko merimo s pet stopenjsko

lestvico. Če želimo, da so programski procesi optimalni pa jih moramo stalno prilagajati

tehnološkim in organizacijskim spremembam.

Page 21: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

21

Page 22: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

22

Page 23: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

23

Page 24: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

24

Page 25: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

25

Page 26: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

26

Page 27: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

27

Page 28: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

28

Page 29: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

29

Page 30: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

30

Page 31: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

31

Page 32: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

32

Page 33: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

33

Page 34: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

34

Page 35: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

35

Page 36: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

36

Page 37: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

37

Page 38: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

38

Page 39: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

39

Page 40: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

40

Page 41: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

41

Page 42: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

42

Page 43: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

43

Page 44: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

44

Page 45: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

45

Page 46: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

46

Page 47: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

47

Page 48: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

48

Page 49: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

49

Page 50: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

50

Page 51: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

51

Page 52: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

52

Page 53: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

53

Page 54: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

54

Page 55: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

55

Page 56: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

56

Page 57: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

57

Page 58: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

58

Page 59: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

59

Page 60: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

60

3 Agilni pristopi

Pogosto slišimo očitke formalnim pristopom češ da zahtevajo prekomerno dokumentiranje,

razvijalcem jemljejo motivacijo in otežujejo prilagodljivost programskih procesov. Čeprav so

ti očitki večinoma neutemeljeni, je res, da razvoj ob določenih okoliščinah lahko poteka tudi

manj formalno, na podlagi t.i. agilnih pristopov, ki so postali zelo priljubljeni in uporabljani v

številnih uspešnih programskih podjetjih. Gre za pristope, ki formalnost nadomeščajo z

različnimi pravili skupinskega razvoja, s poudarkom na medsebojni komunikaciji, neprestani

integraciji in drugo. Dve izmed najpomembnejših agilnih metodologij sta ekstremno

programiranje (XP) in scrum. Obstaja še vrsta drugih, ne glede na izbor pa imajo podobne

prednosti in tudi pomanjkljivosti. Načeloma so primerne za manjše razvojne time, kjer

medsebojna se komunikacija lahko odvija tekoče in brez obsežnega sestankovanja, za

doseganje uspehov pa potrebujejo še motivirane in izkušene razvijalce. Poglavitna prednost

glede na formalne pristope je v prilagodljivosti procesov, vendar pa je tudi pri tem potrebno

biti previden, saj ima (pre)pogosto spreminjanje funkcionalnosti negativne posledice ne

glede na izbrano metodologijo. Omejitve agilnih pristopov se kažejo pri zagotavljanju

kakovosti, kjer obsežno testiranje ne more popolnoma nadomestiti skrbnega načrtovanja, na

primer v zdravstvu, vojski, nuklearni tehnologiji.

Page 61: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

61

Page 62: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

62

Page 63: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

63

Page 64: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

64

Page 65: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

65

Page 66: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

66

Page 67: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

67

Page 68: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

68

Page 69: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

69

Page 70: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

70

Page 71: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

71

Page 72: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

72

Page 73: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

73

Page 74: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

74

Page 75: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

75

Page 76: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

76

Page 77: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

77

Page 78: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

78

Page 79: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

79

Page 80: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

80

Page 81: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

81

Page 82: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

82

4 Diagramske tehnike

Diagrami so delna grafična predstavitev modela sistema. Delna zato, ker samostojno ne

omogočajo podrobnega opisa sistema, kljub temu pa v primerjavi z drugimi predstavitvami

omogočajo enostaven in pregleden opis kompleksnih sistemov, s tem pa lažje razumevanje

obstoječih in načrtovanih sistemov. Vsak model lahko vključuje več diagramov, poleg njih pa

mora vsebovati še opise in razlage. Nekatere pomembne in široko uporabljane diagramske

tehnike so obravnavane že pri predmetih drugega letnika, na primer entitetno relacijski

diagrami (ERD), diagrami toka podatkov (DFD), diagrami entitetne zgodovine (ELH), pri tem

predmetu pa se bomo dodatno spoznali z UML standardom. UML določa diagramske tehnike

za opis procesov in objektov sistema, s poudarkom na objektno orientiranem pristopu. UML

je celovit v smislu, da naj bi omogočal celovit grafični opis arhitekture programskih sistemov

in torej lahko nadomesti tudi druge diagramske tehnike.

Pri uporabi diagramov je pomembno, da se držimo standardnih notacij, saj s tem dosežemo,

da so diagrami bolj razumljivi in nedvoumni. Pri uporabi diagramov je pomembno, da imamo

jasne cilje, kaj naj diagram sporoča. Torej se moramo omejiti na določen nivo podrobnosti;

nivo modeliranja mora biti odvisen od potreb.

Page 83: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

83

Page 84: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

84

Page 85: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

85

Page 86: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

86

Page 87: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

87

Page 88: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

88

Page 89: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

89

Page 90: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

90

Page 91: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

91

Page 92: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

92

Page 93: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

93

Page 94: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

94

Page 95: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

95

Page 96: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

96

Page 97: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

97

Page 98: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

98

Page 99: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

99

Page 100: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

100

Page 101: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

101

Page 102: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

102

Page 103: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

103

Page 104: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

104

5 Analiza

in definiranje zahtev

Analiza in definiranje zahtev je faza programskega procesa v kateri je potrebno natančno

opredeliti želeno funkcionalnost programskega produkta. Pri tem je funkcionalnost potrebno

definirati z uporabniškega stališča, torej stališča uporabe programskega sistema, z opisom

njegove funkcionalnosti in potrebnih navzven merljivih lastnosti. Gre za funkcijske in

nefunkcijske zahteve.

Definiranje zahtev je naloga, ki jo v programskem procesu opravi sistemski analitik, Ta naloga

je težavna iz več razlogov med katerimi je eden glavnih težavnost zadostnega razumevanja

problemskega področja, s katerim se v vsakdanjem življenju morda ne srečujemo. Ključna je

pridobitev ustreznih znanj za razumevanje problema, pri čemer se moramo zavedati

razkoraka med implicitnimi modeli uporabnikov oziroma poznavalcev ter eksplicitnimi

modeli, torej predstavitvami, ki so na voljo sistemskemu analitiku. Sprejeto dejstvo je

namreč, da se vsega implicitnega znanja ne da eksplicitno zapisati, prav manjkajoči del pa je

lahko ključen za pravilno razumevanje problema in s tem ustrezno opredelitev zahtev

programskega produkta.

Definiranje zahtev je eden najpomembnejših korakov razvoja programskega produkta, saj

določa ves nadaljnji razvoj programskega produkta, odpravljanje morebitnih napak v

kasnejših fazah razvoja pa je težavno in povezano z visokimi stroški. To je tudi razlog, da je

specifikacijo zahtev, ki je rezultat omenjene faze, koristno temeljito preveriti/recenzirati.

Page 105: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

105

Page 106: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

106

Page 107: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

107

Page 108: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

108

Page 109: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

109

Page 110: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

110

Page 111: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

111

Page 112: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

112

Page 113: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

113

Page 114: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

114

Page 115: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

115

Page 116: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

116

Page 117: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

117

Page 118: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

118

Page 119: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

119

Page 120: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

120

Page 121: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

121

Page 122: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

122

Page 123: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

123

Page 124: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

124

Page 125: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

125

Page 126: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

126

Page 127: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

127

Page 128: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

128

Page 129: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

129

Page 130: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

130

Page 131: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

131

Page 132: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

132

Page 133: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

133

Page 134: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

134

Page 135: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

135

6 Načrtovanje sistema

Sisteme določajo medsebojno povezane komponente. Te so ponovno lahko svoj lasten

sistem. Prav delitev programskega produkta na komponente je ključna naloga načrtovanja

programskega sistema. Vsaka komponenta mora biti dobro opredeljena v smislu njenih

lastnosti, zahtev, ki jih z njo izpolnjujemo, ter vmesnikov do drugih komponent sistema in/ali

do zunanjih akterjev.

Prvi korak načrtovanja programskega sistema je določitev načrtovalskih ciljev. To so

lastnosti, ki tipično izhajajo iz predhodno opredeljenih nefunkcijskih zahtev. Sledi

dekompozicija sistema, s katero celoten kompleksen sistem razdelimo na enostavnejše dele.

Razvoj več enostavnejših komponent je namreč enostavnejši od razvoja kompleksnega

sistema kot celote, hkrati pa omogoča tudi lažje razumevanje in vzdrževanje sistema. Pri

delitvi sistema na komponente so nam lahko v pomoč arhitekturni vzorci; preizkušeni

koncepti reševanja tipičnih problemov arhitekture programskih sistemov. Kriterij za

optimalno delitev sistema na komponenta sta tipično povezanost komponent, ki naj bo čim

manjša, in kohezija posameznih komponent, ki nak bo čim večja.

Načrtovanje sistema ni algoritmično zato sta za doseganje dobrih rezultatov ključna dobro

poznavanje tehnologij in ustvarjalnost načrtovalca.

Page 136: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

136

Page 137: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

137

Page 138: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

138

Page 139: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

139

Page 140: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

140

Page 141: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

141

Page 142: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

142

Page 143: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

143

Page 144: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

144

Page 145: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

145

Page 146: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

146

Page 147: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

147

Page 148: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

148

Page 149: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

149

Page 150: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

150

Page 151: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

151

Page 152: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

152

Page 153: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

153

Page 154: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

154

Page 155: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

155

Page 156: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

156

Page 157: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

157

Page 158: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

158

Page 159: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

159

Page 160: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

160

Page 161: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

161

Page 162: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

162

Page 163: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

163

Page 164: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

164

Page 165: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

165

Page 166: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

166

Page 167: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

167

Page 168: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

168

Page 169: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

169

Page 170: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

170

Page 171: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

171

Page 172: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

172

Page 173: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

173

Page 174: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

174

Page 175: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

175

Page 176: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

176

Page 177: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

177

Page 178: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

178

Page 179: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

179

7 Načrtovanje komponent

V fazi načrtovanja komponent se posvetimo posameznim gradnikom programskega sistema.

V primeru objektno orientiranega načrtovanja (OOD) gre tipično za načrtovanje objektov.

Podrobno je potrebno vse njihove lastnosti s katerimi izpolnijo zahteve oziroma

funkcionalnosti, ki so jim določene v fazi načrtovanja sistema, ter podrobno definirati njihove

vmesnike. Za objektno orientirano načrtovanje je značilna še uporaba dedovanja, ki ga lahko

koristimo za razvrščanje objektov v skupine ali za ponovno uporabo obstoječih objektov, ki

jim je potrebno razširiti funkcionalnost ali spremeniti vmesnike. Dedovanje nam omogoča

tudi uporabo abstrakcije, s katero dodatno povečamo prilagodljivost programskih produktov

v smislu lažjih kasnejših sprememb in nadgradenj v času vzdrževanja.

Načrtovanje komponent nam lahko olajšajo načrtovalski vzorci; učinkovite in preverjene

rešitve, ki pogosto niso samoumevne in omogočajo elegantno rešitev pogosto pojavljajočih

se problemov. Nabor načrtovalskih vzorcev je velik, omenimo le tri izbrane, ki zadoščajo za

demonstracijo široke uporabnosti načrtovalskih vzorcev in lahko bralca pritegnejo k študiju

dodatne literature: Abstract factory, Adapter, Observer.

Page 180: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

180

Page 181: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

181

Page 182: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

182

Page 183: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

183

Page 184: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

184

Page 185: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

185

Page 186: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

186

Page 187: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

187

Page 188: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

188

Page 189: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

189

Page 190: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

190

Page 191: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

191

Page 192: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

192

Page 193: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

193

Page 194: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

194

Page 195: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

195

Page 196: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

196

Page 197: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

197

Page 198: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

198

Page 199: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

199

Page 200: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

200

Page 201: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

201

Page 202: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

202

Page 203: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

203

Page 204: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

204

Page 205: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

205

Page 206: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

206

Page 207: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

207

Page 208: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

208

Page 209: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

209

8 Testiranje

Testiranje mora v programskem procesu potekati v vseh fazah razvoja. Tako namreč lahko še

pravočasno, brez dodatnih stroškov, odkrijemo kritične napake programskega produkta.

Zgrešeno je mnenje, da se testiranje lahko začne šele po izvedbi, nasprotno, testiranje naj bo

vključeno v vsak korak programskega procesa, z namenom čim prej odkriti nastale napake.

Prav napake, ki se pojavijo zgodaj v programskem procesu, je najtežje odpraviti in so

povezane z največjimi dodatnim stroški. Na primer, napaka pri analizi zahtev ima lahko za

posledico reševanje »napačnega« problema ali neupoštevanje ključnih potreb uporabnikov.

Če takšno napako ugotovimo šele ob validaciji ob koncu razvoja programskega produkta, je

razvoj potrebno vrniti nazaj v fazo analize, kar pomeni ne le ponoven razvoj, pač pa tudi

časovne zaostanke, nezadovoljstvo naročnikov ali uporabnikov ali celo odpoved uporabe

produkta. Če pa napak sploh ne odkrijemo, so težave še toliko večje, med drugim tudi zato,

ker odkritje napak s strani uporabnika zmanjšuje zaupanje do razvijalca programskega

produkta.

V splošnem testiranje delimo na verifikacijo, s katero preverjamo skladnost rezultatov z

začrtanimi cilji, ter validacijo, s katero preverjamo ustreznost programskega produkta za

zadovoljevanje uporabniških potreb. Med načini testirana ločimo med postopki strukturnega

testiranja, ki temeljijo na poznavanju izvedbe, ter postopki vedenjskega testiranja, ki

temeljijo izključno na izsledkih obnašanja testiranega produkta/sistema. Možne so tudi

različne strategije testiranja, glede na to kdaj in na kakšen način želimo preveriti posamezne

dele programskega produkta oziroma programski produkt kot celoto. Testiranje moramo

načrtovati, tako da v naprej pripravimo testne scenarije s testnimi primeri. Poleg teh nam

standard IEEE 829 priporoča še vrsto drugih dokumentov v postopku testiranja, s katerimi

pokrivamo potrebe ob načrtovanju, izvajanju in poročanju o rezultatih testiranja.

Page 210: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

210

Page 211: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

211

Page 212: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

212

Page 213: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

213

Page 214: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

214

Page 215: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

215

Page 216: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

216

Page 217: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

217

Page 218: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

218

Page 219: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

219

Page 220: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

220

Page 221: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

221

Page 222: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

222

Page 223: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

223

Page 224: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

224

Page 225: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

225

Page 226: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

226

Page 227: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

227

Page 228: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

228

Page 229: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

229

Page 230: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

230

Page 231: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

231

Page 232: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

232

Page 233: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

233

Page 234: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

234

Page 235: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

235

Page 236: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

236

Page 237: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

237

Page 238: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

238

Page 239: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

239

Page 240: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

240

Page 241: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

241

Page 242: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

242

Page 243: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

243

Page 244: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

244

Page 245: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

245

9 Vzdrževanje

Vzdrževanje programskega produkta se začne ob njegovi predaji naročniku oziroma

uporabnikom. Predaja je lahko kompleksen proces, ki vključuje preverjanje ustreznosti s

strani naročnika v obliki SAT (ang. Site Acceptance Test) ali FAT (ang. Factory Acceptance

Test). Sledi namestitev v produkcijsko okolje in začetek uporabe. Za uspešen prehod je

pomembna kakovostna uporabniška in administratorska dokumentacija, podpora s strani

razvijalca ter aktivno upravljanje dogodkov (prijava napak, zahtev in želja uporabnikov).

Po uspešni predaji sledi vzdrževanje, kjer se dogajajo štiri vrste sprememb programskih

programskega produkta; korektivne za odpravo napak, adaptivne za prilagajanje produkta

spremenjenim pogojem, perfektivne za izboljševanje programskega produkta in preventivne

za izboljšanje notranje strukture programskega produkta in s tem lažje nadaljnje

vzdrževanje. Zavedati se moramo, da zaradi različnih sprememb produkti s časom izgubljajo

na svoji optimalnosti; spremenjene uporabniške potrebe/zahteve in nove tehnološke

zmožnosti v največji meri prispevajo k temu, da so novo razviti produkti lahko optimalnejši

od starejših. Posledično je tudi vzdrževanje produktov s časom vse težje in dražje, kakovost

produktov pa (četudi niso podrvrženi spremembam) v splošnem upada.

Vsaka sprememba programskega produkta se izkazuje kot ločen programski proces in bolj ali

manj izraženo vsebuje vse faze razvoja od definicije problema do predaje naročniku in

nadaljnjega vzdrževanja.

Page 246: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

246

Page 247: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

247

Page 248: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

248

Page 249: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

249

Page 250: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

250

Page 251: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

251

Page 252: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

252

Page 253: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

253

Page 254: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

254

Page 255: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

255

Page 256: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

256

Page 257: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

257

Page 258: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

258

Page 259: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

259

Page 260: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

260

Page 261: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

261

Page 262: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

262

Page 263: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

263

Page 264: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

264

Page 265: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

265

Page 266: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

266

10 Uporabniški vmesniki

Uporabniški vmesnik predstavlja vez med napravo in uporabnikom. Gre za dvosmerno

povezavo preko katere uporabnik prejema informacije od naprave in upravlja njeno

delovanje. Predvsem s slednjega stališča je razvoj še posebno hiter. Ob številnih in raznolikih

vmesniških napravah za upravljanje je posebej pomemben preskok povzročil prihod zaslonov

na dotik. Tudi 3D interakcija uporabnika je čedalje enostavnejša in v tej smeri je intenziven

razvoj novih brezkontaktnih vmesnikov.

Ne glede na način upravljanja naprav se srečujemo vedno z enakimi izzivi, da je delo

uporabnika z napravo čim bolj enostavno, samoumevno in da torej potrebuje čim manj

specialnih uporabniških znanj. Težave nam povzročata predvsem dva razloga za razlike med

želenim in dejanskim obnašanjem naprave; prepad izvajanja, ko se dejanske aktivnosti

naprave razlikujejo od pričakovanih oziroma razpoložljivih, ter prepad vrednotenja, ki od

uporabnika zahteva določen napor za pravilno interpretacijo z naprave posredovanih

podatkov.

Omenjene težave rešujemo z različnimi principi pri načrtovanju uporabniških vmesnikov, ki

jih predstavljamo v tem poglavju. Nenazadnje se moramo še posebej zavedati razlik med

uporabniškimi miselnimi modeli in konceptualnim modelom programskega produkta. Zaradi

teh razlik, ki jih včasih težko predvidimo, je načrtovanje in vrednotenje uporabniških

vmesnikov težavnejše od načrtovanja in vrednotenja vmesnikov med napravami.

Page 267: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

267

Page 268: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

268

Page 269: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

269

Page 270: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

270

Page 271: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

271

Page 272: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

272

Page 273: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

273

Page 274: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

274

Page 275: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

275

Page 276: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

276

Page 277: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

277

Page 278: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

278

Page 279: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

279

Page 280: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

280

Page 281: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

281

Page 282: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

282

Page 283: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

283

Page 284: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

284

Page 285: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

285

Page 286: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

286

Page 287: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

287

Page 288: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

288

Page 289: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

289

Page 290: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

290

Page 291: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

291

Page 292: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

292

Page 293: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

293

Page 294: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

294

11 Pravne zadeve

Trženje programskih produktov se razlikuje od trženja strojnih komponent. Namreč, z

nakupom programskega produkta tipično kupimo licenco za njegovo uporabo in ne produkta

kot takega. Pri tem licenca omejuje uporabnika, razvijalca programskega produkta pa

odrešuje določenih odgovornosti, ki so tipično povezane s prisotnostjo programskih napak. V

zameno lahko uporabnik pridobi pomoč/podporo s strani razvijalca oziroma njegovo zavezo

po prioritetnem reševanju odkritih kritičnih napak.

V svetu programskih produktom se srečujemo tudi s pojmoma proste (free) in odprtokodne

(open source) programske opreme. Oba termina sta si podobna, uvedla pa sta ju organizaciji

FSF (Free Software Foundation) in OSI (Open Source Initiative). Najpogostejše zmotno

prepričanje je, da je tovrstna programska oprema nujno tudi brezplačna, čeprav je v praksi

temu pogosto tako. Pravice povezane z uporabo, nadgradnjo, posredovanjem in podobnimi

aktivnostmi povezanimi s programsko opremo so razvidne iz pripadajočih licenc, med

katerimi so GPL (GNU General Public License), LGPL (GNU Lesser General Public License),

FreeBSD in druge.

Page 295: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

295

Page 296: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

296

Page 297: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

297

Page 298: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

298

Page 299: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

299

Page 300: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

300

Page 301: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

301

Page 302: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

302

Page 303: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

303

Page 304: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

304

Page 305: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

305

Page 306: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

306

Page 307: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

307

Page 308: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

308

Page 309: Peter Rogelj - studentski.net · 1 u n i v e r z a n a p r i m o r s k e m fakulteta za matematiko, naravoslovje in informacijske tehnologije peter rogelj skripta za predmet

309