Objekno orijentirana analiza i dizajn - riteh.uniri.hr · PDF fileprogramiranja {Osnovni cilj je da ... {Može biti prikazan iz različitih perspektiva od različitih stakeholder-a

  • 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