nazaj na kazalo povzetek metodologije omt omt metodologija temelji na uporabi oo notacije za opis razredov in relacij skozi celotni zivljenjski cikel objektni model dopolnjujeta dinamicni in funkcionalni model ter skupaj opisujejo vse vidike sistema faza analize je namenjena razvoju modela ki opisuje kaj od sistema pricakujemo neodvisno od tega kako bo implementiran v fazi nacrtovanja se ukvrajamo z optimizacijo dodelavo in razsiritvami objektnega dinamicnega in funkcionalnega modela vse dokler niso dovolj podrobni za implementacijo implementacija nacrta je relativno enostavno opravilo preslikava v kodo saj vse zahtevnejse odlocitve sprejmemo ze pri nacrtovanju ceprav so koraki oz aktivnosti ostevilcene pa je pomembno da se zavedamo sledecega za dolocene dele projekta so izkuseni razvijalci sposobni kombinirati vec korakov ali izvesti dolocene korake paralelno iteracija korakov je nujno potrebna pri zaporedno nizjih nivojih abstrakcije ko modelu dodajamo vse vec podrobnosti potem ko zakljucimo celotno analizo na visokem nivoju abstrakcije lahko pri velikem projektu podsisteme nacrtujemo neodvisno in socasno na nizjih nivojih abstrakcije locevanje med analizo in nacrtovanjem se pogosto zdi umetna in vnasa zmesnjavo nase odlocitve glede pravilnega obsega scopa analize in nacrtovanja nam pomaga razresiti naslednje preprosto pravilo model analize mora vkljucevati informacije ki so smiselne in pomembne s prespektive realnega sveta model mora predstavljati zunanji pogled na sistem model analize mora biti razumljiv narocniku sistema ter zagotavljati uporabno osnovo za izvabljanje resnicnih zahtev sistema resnicne zahteve so tiste ki so dejansko potrebne interno konsistentne in jih je mogoce doseci oz zadovoljiti nasprotno pa je model nacrtovanja voden z relevantnostjo racunalniske implementacije zato mora biti model nacrtovanja primerno ucinkovit in prakticen da ga lahko zakodiramo v praksi je pogosto mozno precej delov modela analize neposredno implementirati brez sprememb lahko je precej prekrivanja med modeli analize in nacrtovanja model nacrtovanja zajema nizje nivojske podrobnosti ki so v modelu analize izpuscene modela analize in nacrtovanja kombiniramo da zagotovimo koristno dokumentacijo sistema in sicer z dveh razlicnih toda komplementarnih perspektiv analiza cilj analize je razviti model tega kaj bo sistem pocel zagotavljal model predstavimo z objekti in relacijami pretokom dinamicne kontrole in funkcionalnimi transformacijami proces zajemanja zahtev in posvetovanje z narocnikom se skozi proces analize nadaljuje zapisemo ali pridobimo zacetni opis problema problem statement zgradimo objektni model identificiramo razrede objektov zacnemo z oblikovanjem podatkovnega slovarja ki vsebuje opis razredov atributov in asociacij dodamo asociacije med razredi dodamo atribute za objekte in vezi z uporabo dedovanja organiziramo in poenostavimo razrede objektov z uporabo scenarijev preverimo poti dostopa in po potrebi ponavljamo zgornje korake razrede grupiramo v module pri cemer upostevamo tesno sklopljenost in povezane sorodne funkcije objektni model diagram objektnega modela podatkovni slovar razvijemo dinamicni model pripravinmo scenarij tipicnih zaporedij interakcije identificiramo dogodke med objekti in za vsak scenarij pripravimo sled dogodkov pripravimo diagram toka dogodkov za sistem razvijemo diagram stanj za vsak razred s pomembnim dinamicnim obnasanjem preverimo skladnost in popolnost dogodkov ki so skupni vecim diagramom stanj dinamicni model diagrami stanj globalni diagram toka dogodkov konstruiramo funkcionalni model identificiramo vhodne in izhodne vrednosti uporabimo diagrame toka podatkov da prikazemo funkcionalne odvisnosti opisemo kaj vsaka funkcija pocne identificiramo omejitve dolocimo kriterije optimizacije funkcionalni model diagrami toka podatkov omejitve verificiramo se vracamo na prejsnje korake in dodelamo vse tri modele objektnemu modelu dodamo kljucne operacije ki smo jih odkrili pri pripravi funkcionalnega modela pri analizi ne prikazemo vseh operacij temvec le najpomembnejse sicer lahko v model vnesemo zmedo verificiramo ali so razredi asociacije atributi in operacije konsistentne in popolne na izbranem nivoju abstrakcije primerjamo vse tri modele z opisom problema in relevantnim znanjem problemskega podrocja modele testiramo z uporabo scenarijev razvijemo podrobnejse scenarije vkljucno s pogoji napak kot variacije osnovnih scenarijev za dodatno verifikacijo modelov uporabimo scenarije kaj ce what if zgornje korake po potreb ponavljamo da dokoncamo analizo dokument analize opis problema objektni model dinamicni model funkcionalni model sistemsko nacrtovanje pri sistemskem nacrtovanju izberemo visoko nivojsko strukturo sistema kot izhodisce lahko sluzijo kanonicne strukture opisane v tega ce ni sistem organiziramo v podsisteme identificiramo socasnost konkurentnost prirojeno problemu podsistemom alociramo procesorje in opravila taske izberemo osnovno strategijo implementacije podatkovnih shramb v smislu podatkovnih struktur datotek in podatkovnih baz identificiramo globalne vire in dolocimo mehanizme za nadzorovan dostop do njih izberemo pristop k implementaciji softverske kontrole uporabimo lokacije znotraj programa za hold stanja ali direktno implementiramo state machine ali uporabimo socasna opravila obdelamo mejne pogoje vzpostavimo prioritete dokument sistemskega nacrtovanja struktura osnovne arhitekture sistema ter tudi visoko nivojske strateske odlocitve nacrtovanje objektov pri nacrtovanju objektov nadaljujemo z razvojem na osnovi modela analize in zagotovimo podrobno osnovo za implementacijo sprejmemo odlocitve ki so nujno potrebne da realiziramo sistem brez da bi pri tem zapadli v dolocene podrobnosti ki so lastne posameznemu jeziku ali sistemu podatkovne baze nacrtovanje objektov se zacne oddaljevati od orientacije k realnemu svetu pri analizi k racunalniski orientaciji zahtevani za prakticno implementacijo pridobimo operacije objektnega modela iz ostalih dveh modelov poiscemo operacijo za vsak proces v funkcionalnem modelu definiramo operacijo za vsak dogodek dinamicnega modela odvisno od implementacije kontrole nacrtujemo algoritme za implementacijo operacij izberemo algoritme ki minimizirajo stroske implementacije operacij izberemo strukture podatkov primerne algoritmom po potrebi definiramo nove interne razrede in operacije priredimo odgovornosti za operacije ki niso povezane zgolj z enim razredom optimiziramo poti dostopa do podatkov dodamo redundantne asociacije da minimiziramo stroske dostopa in maksimiramo primernost preuredimo izracunavanja s ciljem vecje ucinkovitosti shranimo izracunane izpeljane vrednosti da se izognemo ponovnemu izracunavanju kompleksnih izrazov implementiramo softversko kontrolo z upostevanjem pristopa izbranega pri sistemskem nacrtovanju prilagodimo strukturo razredov da povecamo dedovanje preoblikujemo in prilagodimo razrede in operacije da zvisamo dedovanje abstrahiramo skupno obnasanje iz skupin razredov uporabimo delegiranje za skupno deljeno obnasanje kjer je dedovanje semanticno neveljavno nacrtujemo implementacijo asociacij analiziramo preckanja traversal asociacij vsako asociacijo implementiramo kot locen objekt ali tako da dodamo vrednostne atribute objektom v enem ali obeh razredih v asociaciji dolocimo natancno predstavitev atributov objektov razrede in asociacije spakiramo v module dokument nacrtovanja podrobni objektni model podrobni dinamicni model podrobni funkcionalni model nazaj na kazalo