500 likes | 772 Views
Izbrana Poglavja iz Informacijskih Tehnologij (IPIT). prof. dr. Bojan Cestnik Temida d.o.o. & Jozef Stefan Institute Ljubljana bojan.cestnik@temida.si. Uvod v predmet IPIT Modeliranje z UML Načrtovanje informacijskih sistemov po RUP Geografski informacijski sistemi E-poslovanje
E N D
Izbrana Poglavja iz Informacijskih Tehnologij(IPIT) prof. dr. Bojan Cestnik Temida d.o.o. & Jozef Stefan Institute Ljubljana bojan.cestnik@temida.si
Uvod v predmet IPIT Modeliranje z UML Načrtovanje informacijskih sistemov po RUP Geografski informacijski sistemi E-poslovanje Varnost informacijskih sistemov Vsebina
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 Študijski napotki in pravila
Uvod v predmet IPIT Modeliranje z UML Načrtovanje informacijskih sistemov po RUP Geografski informacijski sistemi E-poslovanje Varnost informacijskih sistemov Vsebina
Zakaj modeliramo? Kaj je UML? Osnovni gradniki UML Koncepti modeliranja Arhitektura jezika Modeliranje z UML
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) Sistem, model in pogled
Izziv Tijuana “shantytown”
Vizija Fallingwater, Frank LLoyd Wright
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 Modeliranje informacijskih sistemov (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 Zakaj torej modeliramo IS?
IT – informacijska tehnologija IS – informacijski sistem Kontekst: IT in IS v poslovnih sistemih
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, … Poslovni procesi in poslovne funkcije
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 ... Kaj je UML?
Grady Booch, Ivar Jacobson, Jim Rumbaugh Osnovni avtorji 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 Jezik UML
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 - I
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 Pregled diagramov UML - II
Razmerje 80 : 20 80 20
“Izvorna koda programa je dovolj za razumevanje delovanja” Alternativa modeliranju I 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 if (j > fileListOld.Count-1) then i:= i+1 else begin n:= AnsiCompareText(fileListNew.Strings[i], fileListOld.Strings[j]); if n < 0 then i:= i+1 else if n > 0 then j:= j+1 else begin 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 begin 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; end until (i > fileListNew.Count-1) and (j > fileListOld.Count-1);
“Dokumentacija v obliki besedila je dovolj za razumevanje delovanja” Alternativa modeliranju II
Določanje funkcionalnih zahtev uporabnika Načrtovanje uporabniških vmesnikov Interakcija med akterji in objekti Komunikacija med razvijalci in uporabniki Testiranje Diagrami primerov uporabe
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”) Gradniki UML
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 razredov in objektov I Razred Števnost Povezava Ročna ura 1 1 1 1 1 2 1 2 Gumb stanje pritisni()spusti() Zaslon Baterija zamenjaj() Čas sedaj() idUtripanje utripajSek() utripajMin() utripajUra() utripajKonec() osveži() Operacija Atribut
:Ročna ura :LCD zaslon :Čas :Uporabnik pritisniGumb1() utripajUra() pritisniGumb1() utripajMin() pritisniGumb2() povečajMin() osveži() pritisniGumb1in2() zapomniSiNovČas() utripajKonec() Diagrami zaporedja I Objekt Aktivacija Sporočilo
Diagrami prehajanja stanj I Stanje Dogodek Začetno 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 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
Register.exe Billing.exe Billing System People.dll User Course.dll Course Professor Student Course Course Offering Diagrami gradnikov
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 Zaključek