If you can't read please download the document
Upload
phamthu
View
225
Download
2
Embed Size (px)
Citation preview
Objektno orijentirana analiza i dizajn
dr.sc. Tihana Galinac Grbac
Ciljevi
Znati terminologiju objektno-orijentiranog (OO) pristupa razvojuRaspoznavati dijagrame koji se koriste u OO analizi i dizajnuZnati to je UML i zato se koristiRazumjeti openiti nain OO analize i metodu dizajnaZnati neke od najpoznatijih OO metoda
Sadraj
to je UML?CRC MetodologijaUvodno o UML dijagramimaOsnovni pojmovi OO analize i dizajnaUse Case modeliClass dijagramObject dijagramActivity dijagramSequence dijagramCollaboration dijagramStatechart dijagram
Sadraj
to je UML?CRC MetodologijaUvodno o UML dijagramimaOsnovni pojmovi OO analize i dizajnaUse Case modeliClass dijagramObject dijagramActivity dijagramSequence dijagramCollaboration dijagramStatechart dijagram
to je UML?
Standard (norma) za kreiranje modela sustava.Sadri standardiziranu notaciju s predloenim dijagramima koji slue za izgradnju modela programskih sustava
Model sustava je potpuni opis sustava promatran iz odreene perspektiveUML jedan je od prvih koraka standardizacije discipline Programskog inenjerstva
to je UML? (nastavak)Object Management Group (OMG)
definira Object Oriented Analysis and Design(OOA&D)Task Force96 izdan je Request For Proposal (RFP) za standardizaciju metamodela koji podrava izmjenu informacija grafikih modela izmeu razliitih alata za grafiko modeliranje
Moe se nai na stranicama OMG grupe, www.omg.org/
Ne govori kako koristiti notaciju!Objedinjuje dobre prakse grafikog modeliranja sakupljene tokom 40+ godina discipline UML Revision Task Force, www.celigent.com/omg/umlrtf
http://www.omg.org/http://www.celigent.com/omg/umlrtf
Sadraj
to je UML?CRC MetodologijaUvodno o UML dijagramimaOsnovni pojmovi OO analize i dizajnaUse Case modeliClass dijagramObject dijagramActivity dijagramSequence dijagramCollaboration dijagramStatechart dijagram
Metodologija definicije OO modela
Ne postoji jedinstvena metodologija: kakoprimjeniti UML notaciju?
Postoji niz metodologija kao to su Rational Unified Process (RUP), eXtreme Programing (XP), Class Responsibility Collaboration (CRC)
CRC metodologija Razvijena je kako bi omoguila uenje OO programiranjaOsnovni cilj je da na najjednostavniji nain uvede programere u OO nain razmiljanjaCRC metodologija detaljno je opisana u uputama za izvoenje laboratorijskih vjebi
Sadraj
to je UML?CRC MetodologijaUvodno o UML dijagramimaOsnovni pojmovi OO analize i dizajnaUse Case modeliClass dijagramObject dijagramActivity dijagramSequence dijagramCollaboration dijagramStatechart dijagram
UML dijagrami
Sadri specifikacije 9 razliitih dijagrama koji slue da bi se dokumentirale razliite perspektive solucije programskog proizvoda, iz razliitih faza ivotnog ciklusa programskog proizvoda
7 dijagrama za modeliranje zahtjeva i dizajn 2 za opis implementacije
Dijagram u UML-upredstavlja pogled na model sustavaMoe biti prikazan iz razliitih perspektiva od razliitih stakeholder-aDaje samo djelomian opis sustava,Semantiki je konzistentan s ostalim pogledima na sustav
UML dijagrami i perspektive
Classdiagram
UML
Objectdiagram
State chartdiagram
Activitydiagram
Use casediagram Collaboration
diagram
Sequencediagram
Static View
Functional View
Dynamic View
Funkcionalna perspektiva
Opisuje kako sustav treba raditiUse Case diagram
Opisuje svojstva koja korisnik oekuje da sustav ima
Activity diagramOpisuje procese koji ostvaruju svojstva sustava kao niz zadataka koji se moraju obaviti, uvjetnih logika i konkurentnih obrada (slino flowchart)
Funkcionalna perspektiva (nastavak)
Statika perspektiva
Opisuje gradivne elemente sustava ali ne i nain njihova meudjelovanjaTipini predstavnici su:
Class dijagramPogled na sve resurse (klase) i njihova svojstva. Gotovo uvijek se koristi za generaciju koda i reverzno inenjerstvo
Object dijagramKonkretizira openitu sliku sustava prikazanu Classdijagramom
Statika perspektiva
Dinamika perspektiva
Opisuje ponaanje sustava kojeg modeliramo tako to opisuje kako elementi iz statikih dijagrama meusobno djeluju na neki poticaj iz okolineSequence and collaboration dijagrami
Opisuju interakcijeStatechart dijagram
Kako i zato se objekti mijenjaju za vrijeme odgovora sustava na neki vanjski poticaj
Dinamika perspektiva
Sadraj
to je UML?CRC MetodologijaUvodno o UML dijagramimaOsnovni pojmovi OO analize i dizajnaUse Case modeliClass dijagramObject dijagramActivity dijagramSequence dijagramCollaboration dijagramStatechart dijagram
Objekt
Objekt je skup svojstava (atributa) koja moemo objediniti u logiku cjelinuKoristimo ih za apstrakciju svijeta oko nasOpisi i stanja nekog objekta pohranjena su u podatcima koja se nazivaju atributi
slue za razlikovanje objekataPonaanja objekta kojima se opisuje to objekt moe initi nazivaju se metodama
Objekt i klasa (razred)
Skup pravila koja propisuju od ega je objekt sagraen, njegova svojstva iponaanja opisana su klasom (class)Svi objekti neke klase trebaju odgovarati opisu te klaseNa osnovu definicije klase mogu se izgraditi i odravati objekti
Primjeri: opis raunala iz rjenika predstavlja klasu dok je onaj za vaim stolom sa svojim serijskim brojem objekt
Objekt je konkretna realizacija klase
Definicija objektaOpe informacije atributi
Podatci klase predstavljeni su atributimaSvaki objekt sadri:
Opis objekta; informacije o objektu koje su nam potrebne u ispunjavanju zadatka sustavaUvjeti i stanja objekta: opis svojstava objekta u nekom odreenom vremenskom periodu analize gdje svaka promjena nekog od svojstava objekta odreuje i promjenu njegova stanja
Definicija objekta nastavakPonaanje objekta metode
Metodama se implementiraju ponaanja objekta koja se odnose na njegove sposobnosti (npr. zaposlenik moe raditi, biti na pauzi, na bolovanju, i slino)Moe se koristiti opisa ponaanja koji je definirandrugim objektom iz druge klase
Primjer: veina zaposlenika zna pisati olovkom, pa bi isto opis procesa pisanja trebao biti ukljuen u definiciju vie razliitih objekata. --> Beskorisno ponavljanje informacija rjeava se definicijom drugog objekta u drugoj klasi (npr. olovka) i njegovog opisa kojeg onda koriste svi objekti koji posjeduju to obiljejeGet i set pristupne funkcije (gethunger, sethunger)
Definicija objekta nastavakEnkapsulacija pristupne razine
Organizacija informacija o objektu s obzirom na omoguen pristup:
to treba znati da bi koristio objekt Da bi vozio aute ne mora znati princip rada automatike, motora, dovoljno je znati suelje (interface)Svrha objekta: tip objekta, zato je dizajniran
Primjer: Luksuzan auto i formula iako imaju jednako suelje ali ne koriste se u iste svrhe
to treba znati da bi objekt radio na ispravan nain Informacije o objektu mogu biti skrivene unutar objekta: detalji implementacije i struktura.
Sadraj
to je UML?CRC MetodologijaUvodno o UML dijagramimaOsnovni pojmovi OO analize i dizajnaUse Case modeliClass dijagramObject dijagramActivity dijagramSequence dijagramCollaboration dijagramStatechart dijagram
Use Case (UC) model
UC model je skup dijagrama i pripadajueg teksta kojim se opisuje nain meudjelovanja sustava s korisnikom na nain kakav korisnik oekuje UC model koristi tri naina opisa zahtjeva
Use Case dijagramUse Case narrativeUse Case scenarios
Use Case dijagram
Koristi est jednostavnih elementa za opis sustava: System, Actors, Use Cases,Associations, Dependencies of the project,Generalization.Osnovni cilj je objasniti na visokom nivou veze izmeu sustava i okolinePrimjer: bankomat
Opis osnovnog izbornika i ponuenih opcija kao to su primjerice podizanje, polaganje, prijenos sredstva i ispis stanja.Svaka navedena opcija odgovarala bi jednom UC dijagramu
Use Case narrative
Opisni dodatak Use Case dijagramu da bi se bolje objasnila korisnika oekivanjaOpis Use Case uglavnom se svodi na ograniavanje konteksta Use Case-a i njegova meudjelovanja s korisnikom Opisi u Use Case narrative uglavnom pokrivaju slijedee elemente:
Pretpostavke, preduvjete, nain pokretanja UC-a, Proces ili dijalog, zavretak UC-a i postuvjete
Use Case scenarios
Jedna mogua izvedba ili logika putanja UC-aUC definira to se moe dogoditi a UCscenarij definira to se dogaa pod odreenim uvjetimaJedan UC moe imati nekoliko UC scenarijaSkup UC scenarija za jedan UC definira sve sluajeve koji se mogu dogoditi koritenjem UC-a.
Koristi se kao osnova za planiranje testa
Elementi UC dijagrama
UC element: UC system
Prvi zadatak definicije zahtjeva projekta je postavljanje konteksta i dosega sustava kojeg se razvija
Koliko funkcionalnosti, svojstava (features) sustav treba sadravatiKako sustav meudjeluje s drugim sustavima okoline kojoj je namijenjenTko e biti korisnici sustava
Oznaka: pravokutnik s imenom sustavaKontekst u koji i oko kojeg se slau elementi koji imaju utjecaj na izgradnju sustava
UC element: korisnici sustava (UC Actors)
Predstavlja korisnike sustava koji mogu biti ljudi, drugi sustavi i ureajiPredstavlja uloge a ne konkretne korisnikePrimjeri notacije
UC element: Use Case
Definiraju zahtjevano ponaanje, svojstvo (feature) sustavaImenuju se prema radnjama koje sustav mora obaviti
podizanje, polaganje, prijenos sredstva i ispis stanja.Kako odrediti koji zahtjevi pripadaju a koji ne pripadaju Use Case dijagramu?
Modeliraju se samo on