Izbrana Poglavja iz Informacijskih Tehnologij (IPIT) prof. dr. Bojan Cestnik Temida d.o.o. & Jozef Stefan Institute Ljubljana bojan.cestnik@temida.si
Vsebina Uvod v predmet IPIT Modeliranje z UML Načrtovanje informacijskih sistemov po RUP Geografski informacijski sistemi E-poslovanje Varnost informacijskih sistemov
Študijski napotki in pravila Urnik za predavanja, vaje in seminar Pravila študija: www.ung.si/si/studijski-programi/ Gradiva za predmet: www.temida.si/~bojan/IPIT/ Udeležba na predavanjih in vajah Obvezna in dodatna literatura Seminarska naloga Izpit
Vsebina Uvod v predmet IPIT Modeliranje z UML Načrtovanje informacijskih sistemov po RUP Geografski informacijski sistemi E-poslovanje Varnost informacijskih sistemov
Modeliranje z UML Zakaj modeliramo? Kaj je UML? Osnovni gradniki UML Koncepti modeliranja Arhitektura jezika
Sistem, model in pogled Model je poenostavljena predstavitev sistema Pogled odraža izbrani aspekt modela Razlikujemo: Realni svet Predstave o realnem svetu Model Model – predstavitev neke predstave realnega sveta Modeliranje fizikalnih sistemov (npr. model ladje) Modeliranje socio-tehničnih sistemov (npr. model informacijskega sistema)
Izziv Tijuana “shantytown” Shanty towns, "marginal" or informal settlements are units of irregular, low-cost dwellings, usually on lands belonging to third parties, and most often located on the periphery of cities. These dwellings are often assembled from pieces of plywood, corrugated metal, sheets of plastic, and any other material that will provide cover. Tijuana “shantytown”
Fallingwater, Frank LLoyd Wright Vizija Fallingwater, also known as the Edgar J. Kaufmann Sr. Residence, is a house designed by American architect Frank Lloyd Wright in 1935 in rural southwestern Pennsylvania, 50 miles southeast of Pittsburgh, and is part of the Pittsburgh Metro Area. The house was built partly over a waterfall in Bear Run at Rural Route 1 in the Mill Run section of Stewart Township, Fayette County, Pennsylvania, in the Laurel Highlands of the Allegheny Mountains. Fallingwater, Frank LLoyd Wright
Model Fallingwater, also known as the Edgar J. Kaufmann Sr. Residence, is a house designed by American architect Frank Lloyd Wright in 1935 in rural southwestern Pennsylvania, 50 miles southeast of Pittsburgh, and is part of the Pittsburgh Metro Area. The house was built partly over a waterfall in Bear Run at Rural Route 1 in the Mill Run section of Stewart Township, Fayette County, Pennsylvania, in the Laurel Highlands of the Allegheny Mountains.
Modeliranje informacijskih sistemov (IS) IS je že sam po sebi abstrakcija realnega sistema – zakaj ga torej modeliramo? Izvorna koda postaja vse večja in težje obvladljiva NT 5.0 ~ 40 milijonov vrstic izvorne kode Obvladovanje takšnih sistemov je vse bolj zahtevno Izvorna koda je težko razumljiva celo za razvijalce, ki ne sodelujejo direktno pri pisanju kode (analitiki, načrtovalci) Potrebujemo enostavnejšo predstavitev zapletenih sistemov Modeliranje je orodje za obvladovanje kompleksnosti
Zakaj torej modeliramo IS? Določimo okvir in strukturo za reševanje problema Kompleksen problem razbijemo na manj kompleksne podprobleme Enostavneje odkrijemo napake pri načrtovanju Učinkoviteje upravljamo s tveganji Preverimo več različnih možnih rešitev Zmanjšamo stroške izdelave sistema Skrajšamo čas prihoda sistema na trg
Kontekst: IT in IS v poslovnih sistemih IT – informacijska tehnologija IS – informacijski sistem
Poslovni procesi in poslovne funkcije Poslovni procesi (PP) PP so množica aktivnosti, ki se odvijajo v poslovnem sistemu Vsak PP ima določen začetek in konec Vsak PP ima določene vhode in izhode Primeri: naročilo in dobava rezervnega dela, izdelava izdelka, … Poslovne funkcije (PF) PF je množica aktivnosti, ki podpirajo dejavnost/vizijo poslovnega sistema PF se odvijajo neprekinjeno/ponavljajoče Primeri: računovodstvo, nabava, prodaja, …
Modeliranje poslovnih procesov
Kaj je UML? UML (“Unified Modeling Language”) Standardni jezik za modeliranje objektno-orientiranih programskih sistemov Skupni rezultat treh objektno-orientiranih notacij: OMT (James Rumbaugh) OOSE (Ivar Jacobson) Booch (Grady Booch) Literatura: The Unified Modeling Language User Guide, Addison Wesley, 1999 UML podpira mnogo CASE orodij: Rational ROSE MS Visio ...
Osnovni avtorji UML Grady Booch, Ivar Jacobson, Jim Rumbaugh
Karikatura geneze UML
Zgodovina UML
Jezik UML Jezik = sintaksa + semantika Sintaksa = pravila, ki združujejo elemente jezika (besede) v izraze (fraze, stavke) Semantika = pravila, ki določajo pomen sintaktičnim izrazom
Pregled diagramov UML - I Diagrami primerov uporabe (“Use case diagrams”) Opisujejo obnašanje sistema s stališča uporabnika Diagrami razredov in objektov (“Class and object diagrams”) Opisujejo statično strukturo sistema – objekte, razrede, povezave Diagrami zaporedja (“Sequence diagrams”) Opisujejo dinamično obnašanja sistema med akterji in sistemom ter objekti in sistemom Diagrami prehajanja stanj (“Statechart diagrams”) Opisujejo dinamično obnašanje enega objekta kot avtomata s končnim številom stanj Diagrami aktivnosti (“Activity diagrams”) Opisujejo dinamično obnašanje sistema s stališča poteka dela (“workflow”)
Pregled diagramov UML - II Diagrami sodelovanja (“Collaboration diagrams”) Opisujejo dinamično obnašanja sistema med akterji in sistemom ter objekti in sistemom Diagrami gradnikov (“Component diagrams”) Opisujejo statično strukturo sistema – objekte, razrede, povezave Diagrami namestitve (“Deployment diagrams”) Določajo, kako bo sistem nameščen v produkcijskem okolju
Razmerje 80 : 20 80 20
Alternativa modeliranju I “Izvorna koda programa je dovolj za razumevanje delovanja” i:= 0; j:= 0; repeat if i mod 8 = 0 then setStatus('-', IntToStr(i), '-'); if (i > fileListNew.Count-1) then if (j > fileListOld.Count-1) then else j:= j+1 else i:= i+1 begin n:= AnsiCompareText(fileListNew.Strings[i], fileListOld.Strings[j]); if n < 0 then i:= i+1 else if n > 0 then j:= j+1 fileListNew.marked[i]:= j; fileListNew.fileChanged[i]:= fileListNew.fileData[i].zeroIfEqual(fileListOld.fileData[j], fileListNew.compareDate); if (fileListNew.fileChanged[i] <> 0) and (cbRestrictedComparison.Checked) then if excludedFromComparison(fileListNew.fileExt[i]) then fileListNew.fileChanged[i]:= 0; end; fileListOld.marked[j]:= i; fileListOld.fileChanged[j]:= fileListNew.fileChanged[i]; i:= i+1; j:= j+1; end until (i > fileListNew.Count-1) and (j > fileListOld.Count-1);
Alternativa modeliranju II “Dokumentacija v obliki besedila je dovolj za razumevanje delovanja”
Diagrami primerov uporabe Določanje funkcionalnih zahtev uporabnika Načrtovanje uporabniških vmesnikov Interakcija med akterji in objekti Komunikacija med razvijalci in uporabniki Testiranje
Gradniki UML Osnovni gradniki jezika UML so: Elementi modela (“classes, interfaces, components, use cases, etc.”) Relacije (“associations, generalization, dependencies, etc.”) Diagrami (“class diagrams, use case diagrams, interaction diagrams, etc.”) Kombiniranje enostavnih gradnikov za kreiranje velikih in kompleksnih struktur Kemija (“cf. elements, bonds and molecules in chemistry”) Strojna oprema (“cf. components, connectors and circuit boards in hardware”)
Osnovni gradniki
Osnovne relacije I <<extend>>
Osnovne relacije II <<include>>
Diagrami primerov uporabe I Paket Primer uporabe Ročna ura Akter Odčitaj čas Nastavi čas Uporabnik Urar Zamenjaj baterijo
Diagrami primerov uporabe II
Diagrami primerov uporabe III
Diagrami razredov in objektov I Števnost Povezava Ročna ura 1 1 1 1 2 1 2 1 Gumb stanje pritisni() spusti() Zaslon Baterija zamenjaj() Čas sedaj() idUtripanje utripajSek() utripajMin() utripajUra() utripajKonec() osveži() Operacija Atribut
Diagrami razredov in objektov II
Diagrami razredov in objektov II
Diagrami zaporedja I Objekt Aktivacija Sporočilo utripajUra() utripajMin() povečajMin() osveži() zapomniSiNovČas() utripajKonec() pritisniGumb1() pritisniGumb2() pritisniGumb1in2() :Uporabnik :Čas :LCD zaslon :Ročna ura Aktivacija Sporočilo
Diagrami zaporedja II
Diagrami zaporedja III
Diagrami zaporedja IV
Diagrami prehajanja stanj I Dogodek Začetno stanje Stanje Pritisnjena gumba 1 in 2 Pritisnjen gumb 2 Utripaj ure Povečaj ure Pritisnjen gumb 1 Premik Pritisnjen gumb 1 Pritisnjena gumba 1 in 2 Pritisnjen gumb 2 Utripaj minute Povečaj minute Pritisnjen gumb 1 Pritisnjen gumb 1 Pritisnjen gumb 2 Utripaj sekunde Končaj utripanje Povečaj sekunde Pritisnjen gumb 1 Pritisnjena gumba 1 in 2 Končno stanje
Diagrami prehajanja stanj II
Diagrami aktivnosti I
Diagrami aktivnosti II
Diagrami aktivnosti III Lastnik IMV Uradnik PM Uradnik UE/MNZ Uradnik CzO ARSO/MOPE EU Pririne vozilo Preveri vozilo (datum 1. reg.) Posreduje podatke Plačljiva razgradnja da ne * Plača stroške Izstavi račun Izdela poročila Izdela poročila Izda PoR (O+1K) Posreduje vozilo in PoR (3+4K) Pošlje PoR (4K) Izda račun ‘občina’ Lastnik Slo Vrsta lastništva Pošlje PoR (1K) tujec Odjavi vozilo (1K PoR) Pošlje PoR (1K) Preveri Ujemanje PoR Plača račun
Diagrami sodelovanja
Diagrami gradnikov People.dll Course.dll Professor Student Course Register.exe Billing.exe Billing System Course.dll People.dll Course User Course Offering Student Professor
Diagrami namestitve I
Diagrami namestitve II
Zaključek Pregled UML diagramov in njihovih gradnikov Poudarek na modeliranju informacijskih sistemov (IS) Seminarska naloga: diagram primerov uporabe + vsaj trije drugi diagrami za izbrani poslovni proces