nazaj na kazalo faze omt metodologije analiza izhajajoc iz opisa problema zgradi analitik model situacije realnega sveta ter tako nakaze njegove pomembne lastnosti analitik mora sodelovati z narocnikom saj je opis problema le redko popoln in tocen model analize je natancna abstrakcija tega kar naj bi zeljeni sistem zagotavljal ne pa tudi kako objekti modela naj bi bili koncepti aplikacijske domene in ne racunalniske implementacije kot so npr strukture podatkov dober model analize lahko kriticno obravnavajo in razumejo eksperti obravnavanega problemskega podrocja ki nimajo racunalniskih znanj model analize zato ne sme vsebovati karksnihkoli implementacijskih odlocitev sistemsko nacrtovanje nacrtovalec sistema sprejme visoko nivojske odlocitve glede celotne arhitekture tekom sistemskega nacrtovanja organiziramo ciljni sistem v podsisteme in sicer na osnovi strukture modela analize kot tudi predlagane arhitekture sistemski nacrtovalec mora sprejeti odlocitev katere zmogljivostne karakteristike naj optimiziramo izbere tudi strategijo s katero se lotimo problema ter zarise grobo oceno potrebnih virov in njihove dodelitve razporeditve nacrtovanje objektov nacrtovalec objektov zgradi model nacrtovanja ki temelji na modelu analize ter vsebuje implementacijske podrobnosti v skladu s strategijo doloceno v sklopu sistemskega nacrtovanja nacrtovalec doda in dodela podrobnosti modela nacrtovanja pri nacrtovanju objektov je osrednja pozornost namenjena strukturam podatkov in algoritmom ki so potrebni za implementacijo posameznega razreda razredi objektov iz faze analize so se zmeraj pomembni le da so sedaj razsirjeni s strukturami podatkov in algoritmi racunalniske domene izbranimi za optimizacijo pomembnih meril zmogljivosti ceprav so objekti aplikacijske in racunalniske domene na razlicnih konceptualnih ravneh jih opisemo z uporabo istih oo konceptov in notacije implementacija razredi objektov ter relacije razvite tekom nacrtovanja objektov koncno prevedemo v dolocen programski jezik podatkovno bazo ali strojno implementacijo programiranje naj bi bilo relativno majhen in avtomaticen del razvojnega cikla saj naj bi vse zahtevnejse odlocitve sprejeli ze pri nacrtovanju ciljni jezik do dolocene mere vpliva na odlocitve nacrtovanja vendar nacrt ne sme biti odvisen od podrobnosti programskega jezika pri implementaciji je pomembno slediti dobro inzenirsko prakso tako da obstaja jasna sledljivost do nacrtovanja ter da implementirani sistem ostane fleksibilen in razsirljiv razredi se prenasajo iz faze v fazo ne da bi se spremenila notacija ceprav pridobivajo dodatne implementacijske podrobnosti pogledi na nek razred pa so pri analizi in implementaciji razlicni saj sluzijo razlicnim namenom ter predstavljajo razlicne nivoje abstrakcije trije modeli omt omt metodologija uporablja za opis sistema tri vrste modelov in sicer objektni model object model ki opisuje objekte sistema ter njihove relacije dinamicni model dynamic model ki opisuje interakcijo med objekti v sistemu in funkcionalni model functional model ki opisuje transformacijo podatkov v sistemu vsak model je uporaben v vseh fazah razvoja ter tekom razvoja postopoma pridobiva implementacijske podrobnosti popoln celovit opis sistema zahteva vse tri modele objektni model opisuje staticno strukturo objektov v sistemu ter njihove relacije objektni model vsebuje objektne diagrame object diagrams objektni diagram je graf katerega vozlisca so razredi objektov in katerih povezave so relacije med razredi dinamicni model opisuje tiste vidike sistema ki se s casom spreminjajo dinamicni model vsebuje diagrame stanj state diagrams diagram stanj je graf katerega vozlisca so stanja povezave pa predstavljajo prehode transitions med stanji prehode med stanji povzrocijo oz inicirajo dogodki funkcionalni model opisuje transformacijo vrednosti podatkov znotraj sistema funkcionalni model vsebuje diagrame toka podatkov diagram toka podatkov predstavlja racunanje computation in je graf katerega vozlisca so procesi povezave pa podatkovni tokovi omenjeni modeli so ortogonalni medsebojno povezani deli opisa celotnega sistema osnova je objektni model saj je najprej potrebno opisati kaj se spreminja oz transformira preden lahko opisemo kako in kdaj se kaj dogaja modeliranje kot tehnika nacrtovanja povzetek modeli so abstrakcija zgrajena za razumevanje problema preden implementiramo resitev vse abstrakcije so le z dolocenim namenom izbrane podmnozice realnosti omt sestavljajo modeli treh vrst objektni model opisuje staticno strukturo sistema s pomocjo objektov in relacij ki ustrezajo entitetam realnega sveta dinamicni model opisuje kontrolno strukturo sistema in sicer s pomocjo dogodkov in stanj funkcionalni model opisuje racunske strukture sistema izrazene z vrednostmi in funkcijami razlicni problemi pogojuje razlicen pomen treh modelov toda pri velikem sistemu so vsi trije nujno potrebni kljucni koncepti tega poglavja abstrakcija dinamicni model funkcionalni model modeliranje objektni model relacije med modeli modeliranje pred konstrukcijo stvari nacrtovalci zgradijo vec vrst modelov za razlicne namene ti modeli lahko sluzijo za testiranje fizicne entitete preden jo zgradimo komunikacija z narocniki vizualizacija zmanjsevanje kompleksnosti abstrakcija abstrakcija je selektivno preizkusanje oz raziskovanje dolocenih vidikov sistema cilj abstrakcije je izolirati tiste vidike sistema ki so pomembni za dolocen namen ter skriti oz zanemariti nepomembne vidike abstrakcija mora zmeraj imeti svoj namen saj namen doloca kaj je pomembno in kaj ne mozne so razlicne abstrakcije iste stvari odvisno pac od namena s katerim jo izvedemo vse abstrakcije so nepopolne in netocne pri izgradnji modelov zato ne smemo iskati absolutne resnice temvec primernost oz ustreznost za dolocen namen ne obstaja en sam pravilen model neke situacije obstajajo le ustrezni in neustrezni primerni in neprimerni tehnika objektnega modeliranja object modeling technique vsekakor je sistem koristno modelirati s treh razlicnih pogledov kjer vsak zajame pomembne vidike sistema vendarle za popoln opis sistema so potrebni vsi trije vidiki omt je ime za metodologijo ki kombinira tri vidike modeliranja sistema objektni model predstavlja njegove staticne strukturne 'podatkovne vidike dinamicni model predstavlja casovne na obnasanje vezane kontrolne vidike sistema funkcionalni model predstavlja transformacijske funkcijske vidike sistema tri vrste modelov delijo sistem v ortogonalne poglede ki jih lahko predstavimo in obdelujemo z enotno notacijo modeli niso popolnoma neodvisni sistem ni zgolj zbirka neodvisnih delov ceprav lahko vsak model samega zase precej dobro raziscemo in razumemo medsebojne povezave modelov so omejene in eksplicitne v razvojnem ciklu se vsak izmed treh modelov razvija in dopolnjuje pri analizi kostruiramo model aplikacijske domene ne oziraje na eventualno implementacijo pri nacrtovanju dodamo konstrukte domene resitev medtem ko pri implementaciji tako konstrukte aplikacijske domene kot konstrukte domene resitev zakodiramo beseda model ima dve dimenziji pogled na sistem objektni dinamicni funkcionalni model in faza stage razvoja model analize nacrtovanja ali implementacije pomen je vsekakor jasen iz konteksta objektni model objektni model opisuje strukturo objektov v sistemu njihovo identiteto njihove relacije z ostalimi objekti atribute in operacije objektni model zagotavlja pomembno ogrodje na katerega vezemo dinamicni in funkcionalni model nas cilj je konstruirati objektni model ki zajame tiste koncepte realnega sveta ki so pomembni za naso aplikacijo pri modeliranju inzenirskega problema mora objektni model vsebovati izraze terms domace inzenirju pri modeliranju poslovnega sistema poslovne izraze in pri modeliranju uporabniskega vmesnika izraze aplikacijske domene model analize ne sme vsebovati racunalniskih konstruktov razen kadar je aplikacija ki jo modeliramo nedvomno racunalniski problem kot so npr operacijski sistemi ali prevajalniki model nacrtovanja opisuje kako resiti problem ter tudi zato vsebuje racunalniske konstrukte objektni model graficno predstavimo s pomocjo objektnih diagramov ki vsebujejo razrede objektov razredi so organizirani v hierarhije kjer si delijo skupno strukturo in obnasanje ter so povezani z ostalimi razredi razredi definirajo atribute vrednosti ki se hranijo za posamezne primerke in operacije ki jih vsak objekt izvaja oz jim je podvrzen dinamicni model dinamicni model opisuje tiste vidike sistema ki so povezani s casom in zaporedjem operacij dogodke ki oznacujejo spremembe stanja ki definirajo kontekst dogodkov in organizacijo dogodkov in stanj dinamicni model zajame kontrolo torej tisti vidik sistema ki opisuje zaporedje operacij ki se vrsijo ne oziraje se na to kaj operacija pocne nad cem operira in kako je implementirana dinamicni model predstavimo graficno s pomocjo diagramov stanj vsak diagram stanj prikazuje stanja in zaporedja dogodkov ki so dovoljena oz veljavna za dolocen razred objektov v sistemu diagram stanj se nanasa in povezuje z ostalimi modeli akcije v diagramu stanj ustrezajo funkcijam v funkcionalnem modelu dogodki v diagramu stanj pa postanejo operacije objektov v objektnem modelu funkcionalni model funkcionalni model opisuje tiste vidike sistema ki obravnavajo transformacije vrednosti funkcije preslikave omejitve in funkcionalne odvisnosti funkcionalni model zajame to kar sistem pocne ne oziraje se na to kako in kdaj to pocne funkcionalni model predstavimo s pomocjo diagramov toka podatkov data flow diagrams dfd dfd ji prikazujejo odvisnosti med vrednostmi in racunanje izhodnih vrednosti oz rezultatov na osnovi vhodnih vrednosti nic ne povedo o tem kdaj oz ce se sploh funkcije izvedejo funkcije se prozijo klicejo kot akcije dinamicnega modela in so prikazane kot operacije nad objekti v objektnem modelu relacije med modeli vsak model opisuje en vidik sistema vsebuje pa tudi reference na ostale modele objektni model opisuje podatkovne strukture nad katerimi delujeta dinamicni in funkcionalni model operacije objektnega modela ustrezajo dogodkom v dinamicnem modelu ter funkcijam funkcionalnega modela dinamicni model opisuje kontrolne strukture objektov prikazuje odlocitve ki so odvisne od vrednosti objekta in povzrocijo inicirajo akcije ki spreminjajo vrednosti objekta ter prozijo funkcije funkcionalni model opisuje funkcije prozene s strani operacij objektnega modela in akcij dinamicnega modela funkcije operirajo nad vrednostmi podatkov ki so specificirane v objektnem modelu funkcionalni model prav tako prikazuje omejitve glede vrednosti objektov obcasno pride do nejasnosti glede tega kateri model naj bi vseboval dolocen del informacije to je povsem normalno saj je model tako kot vsaka abstrakcija zgolj grobi rez in prikaz realnosti naletimo lahko tudi na primere ko v modelih nekaterih lastnosti ne moremo primerno predstaviti nobena abstrakcija ne more zajeti vsega cilj je poenostaviti opis sistema ne da bi pri tem model napolnili s toliko konstrukti da bi postal nejasen zamegljen in nekoristen za zadeve ki jih model ne zajame na ustrezen nacin je sprejemljivo orodje tudi naravni jezik ali kakrsnakoli druga notacija specificna aplikaciji nazaj na kazalo