Pregled metodologija:

Similar documents
GUI Layout Manager-i. Bojan Tomić Branislav Vidojević

STRUČNA PRAKSA B-PRO TEMA 13

Biznis scenario: sekcije pk * id_sekcije * naziv. projekti pk * id_projekta * naziv ꓳ profesor fk * id_sekcije

TEHNIKA I INFORMATIKA U OBRAZOVANJU

Ulazne promenljive se nazivaju argumenti ili fiktivni parametri. Potprogram se poziva u okviru programa, kada se pri pozivu navode stvarni parametri.

AMRES eduroam update, CAT alat za kreiranje instalera za korisničke uređaje. Marko Eremija Sastanak administratora, Beograd,

Projektovanje softvera. Uvod

OBJEKTNO ORIJENTISANO PROGRAMIRANJE

Podešavanje za eduroam ios

SIMPLE PAST TENSE (prosto prošlo vreme) Građenje prostog prošlog vremena zavisi od toga da li je glagol koji ga gradi pravilan ili nepravilan.

Eduroam O Eduroam servisu edu roam Uputstvo za podešavanje Eduroam konekcije NAPOMENA: Microsoft Windows XP Change advanced settings

KAPACITET USB GB. Laserska gravura. po jednoj strani. Digitalna štampa, pun kolor, po jednoj strani USB GB 8 GB 16 GB.

Bušilice nove generacije. ImpactDrill

CJENOVNIK KABLOVSKA TV DIGITALNA TV INTERNET USLUGE

Port Community System

Uvod u relacione baze podataka

UNIVERZITET U BEOGRADU RUDARSKO GEOLOŠKI FAKULTET DEPARTMAN ZA HIDROGEOLOGIJU ZBORNIK RADOVA. ZLATIBOR maj godine

BENCHMARKING HOSTELA

MRS MRSLab08 Metodologija Razvoja Softvera Vežba 08

TRAJANJE AKCIJE ILI PRETHODNOG ISTEKA ZALIHA ZELENI ALAT

ENR 1.4 OPIS I KLASIFIKACIJA VAZDUŠNOG PROSTORA U KOME SE PRUŽAJU ATS USLUGE ENR 1.4 ATS AIRSPACE CLASSIFICATION AND DESCRIPTION

IZDAVANJE SERTIFIKATA NA WINDOWS 10 PLATFORMI

CJENIK APLIKACIJE CERAMIC PRO PROIZVODA STAKLO PLASTIKA AUTO LAK KOŽA I TEKSTIL ALU FELGE SVJETLA

STABLA ODLUČIVANJA. Jelena Jovanovic. Web:

MODEL OBJEKTI - VEZE KONCEPTI MODELA METODOLOGIJA MODELIRANJA

Rešavanje problema pomoću računara

TRENING I RAZVOJ VEŽBE 4 JELENA ANĐELKOVIĆ LABROVIĆ

Idejno rješenje: Dubrovnik Vizualni identitet kandidature Dubrovnika za Europsku prijestolnicu kulture 2020.


NIS PETROL. Uputstvo za deaktiviranje/aktiviranje stranice Veleprodajnog cenovnika na sajtu NIS Petrol-a

PLAN RADA. 1. Počnimo sa primerom! 2. Kako i zašto? 3. Pejzaž višestruke upotrebe softvera 4. Frameworks 5. Proizvodne linije softvera 6.

Dr.Miroljub Banković, prof. Kragujevac, 2008.

MRS. MRSLab03 Metodologija Razvoja Softvera Vežba 03 LAB Dijagram aktivnosti

Struktura i organizacija baza podataka

Univerzitet u Novom Sadu. Fakultet tehničkih nauka. Odsek za računarsku tehniku i računarske komunikacije. Uvod u GIT

SAS On Demand. Video: Upute za registraciju:

MRS MRSLab09 Metodologija Razvoja Softvera Vežba 09

Klasterizacija. NIKOLA MILIKIĆ URL:

Struktura indeksa: B-stablo. ls/swd/btree/btree.html

Priprema podataka. NIKOLA MILIKIĆ URL:

3D GRAFIKA I ANIMACIJA

Nejednakosti s faktorijelima

СТРУКТУРА СТАНДАРДА СИСТЕМАМЕНАЏМЕНТАКВАЛИТЕТОМ

Univerzitet u Beogradu Fakultet organizacionih nauka Miloš Milić

Tutorijal za Štefice za upload slika na forum.

Mogudnosti za prilagođavanje

Upravljanje kvalitetom usluga. doc.dr.sc. Ines Dužević

Mašinsko učenje Uvod. Bojan Furlan УНИВЕРЗИТЕТ У БЕОГРАДУ ЕЛЕКТРОТЕХНИЧКИ ФАКУЛТЕТ

Materijali za pripremu usmenog ispita Predmet: Procesi razvoja softvera

PROŠIRENI MODEL OBJEKTI-VEZE

Objektno orjentirano programiranje

1. Instalacija programske podrške

Otpremanje video snimka na YouTube

Relacije spajaju opšta sredstva dok dijagrami grupišu opšta sredstva.

Tema 2: Uvod u sisteme za podršku odlučivanju (VEŽBE)

POSEBNA POGLAVLJA INDUSTRIJSKOG TRANSPORTA I SKLADIŠNIH SISTEMA

Objektno orijentisano projektovanje. Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

WWF. Jahorina

MINISTRY OF THE SEA, TRANSPORT AND INFRASTRUCTURE

Univerzitet u Beogradu Matematički fakultet. Mašina pravila ekspertski sistem dokazivanja zasnovan na pravilima. master rad

PROJEKTNI PRORAČUN 1

Osnovni koncepti Data Warehouse sistema

Trening: Obzor financijsko izvještavanje i osnovne ugovorne obveze

11 Analiza i dizajn informacionih sistema

- Vežba 1 (dodatan materijal) - Kreiranje Web šablona (template) pomoću softvera Adobe Photoshop CS

RANI BOOKING TURSKA LJETO 2017

Ciljevi. Poslije kompletiranja ove lekcije trebalo bi se moći:

Windows Easy Transfer

4. Funkcionalni zahtevi i QFD analiza

Direktan link ka kursu:

Slika 1.4. Završiti sa dizajnom pre uvođenja

MS.CS Petar Popić, software engineer. Copyright Petar Popic Software Engineering

- UVOD U INFORMACIONE SISTEME -

OBJEKTNO ORIJENTIRANE BAZE PODATAKA

MAŠINSKO UČENJE. JELENA JOVANOVIĆ Web:

Testiranje koda - JUnit. Bojan Tomić

Posmatrani i objekti posmatraci

TEHNO SISTEM d.o.o. PRODUCT CATALOGUE KATALOG PROIZVODA TOPLOSKUPLJAJUĆI KABLOVSKI PRIBOR HEAT-SHRINKABLE CABLE ACCESSORIES

PROJEKTOVANJE BAZA PODATAKA U OBLASTI OBRAZOVNOG RA^UNARSKOG SOFTVERA

WELLNESS & SPA YOUR SERENITY IS OUR PRIORITY. VAŠ MIR JE NAŠ PRIORITET!

KABUPLAST, AGROPLAST, AGROSIL 2500

Donosnost zavarovanj v omejeni izdaji

msc Velimir Milanovic Unošenje prvih zapisa Kreiranje elektronskih obrazaca - formi Prva forma - Čitaoci U P I T I

FAKULTET ZA POSLOVNU INFORMATIKU

INSTALIRANJE SOFTVERSKOG SISTEMA SURVEY

Slika broj 1. Primer dijagrama sekvenci

CRNA GORA / MONTENEGRO ZAVOD ZA STATISTIKU / STATISTICAL OFFICE S A O P Š T E NJ E / STATEMENT Broj / No 76 Podgorica, god.

CRNA GORA

MODELOM VOĐEN RAZVOJ SKLADIŠTA PODATAKA ZASNOVANOG NA DATA VAULT PRISTUPU

DEFINISANJE TURISTIČKE TRAŽNJE

KAKO GA TVORIMO? Tvorimo ga tako, da glagol postavimo v preteklik (past simple): 1. GLAGOL BITI - WAS / WERE TRDILNA OBLIKA:

1.7 Predstavljanje negativnih brojeva u binarnom sistemu

KONFIGURACIJA MODEMA. ZyXEL Prestige 660RU

DC MILIAMPERSKA MERNA KLJESTA,Procesna merna kljesta KEW KYORITSU ELECTRICAL INSTRUMENTS WORKS, LTD. All rights reserved.

Office 365, upute za korištenje elektroničke pošte

Sveučilište Jurja Dobrile u Puli Fakultet ekonomije i turizma «Dr. Mijo Mirković» SARA NIKOLAŠEVIĆ METODE I PROGRAMI ZA RUDARENJE PODATAKA

MENADŽMENT INFORMACIONI SISTEMI

KREIRANJE DINAMIČKIH INTERFEJSA ZASNOVANIH NA META-ŠEMAMA CREATION OF DYNAMIC INTERFACES BASED ON META-SCHEMES

Bear management in Croatia

Tema 11:Objektno orijentisane metodologije razvoja softvera

Transcription:

Dr Milunka Damnjanović, red.prof, OBJEKTNO ORIJENTISANE TEHNIKE PROJEKTOVANJA SISTEMA 2 Objektno orijentisano projektovanje 1 Metodologija: Način na koji je nešto urađeno ( t.j. strategija, koraci, smernice ili akcije). Metodologije mogu biti kupljene, kreirane, kombinacija obe prethodne. Postoje hiljade metodologija za razvoj informacionih sistema. 2 Pregled metodologija: Klasifikacija metodologija: Tradicionalna Strukturna analiza i projektovanje Modelovanje/obrada informacija Objektna-orijentacija 3 Pregled metodologija: Prototipovanje je tehnika (mada ga neki ubrajaju u metodologiju) 4 1

Tradicionalna metodologija: (od 1950-tih do danas) Primenljiva kod malih timova na malim projektima Funkcionalna perspektiva oblasti problema To je informativna, nestrukturirana, neponovljiva, nemerljiva, ad-hoc metodologija Alati za podršku su adekvatni. 5 Metodologija strukturne analize i projektovanja (od sredine 1970-tih do sada): Sinonim: metodologija toka podataka Zahvaljujući strukturnom programiranju Vrlo popularna možda vodeća u biznisu Može biti ponovljiva, merljiva i automatizovana IDE & CASE alati predstavljaju značajnu pomoć Funkcionalna perspektiva oblasti problema Stvarni svet opisuje kao tok podataka kroz informacioni sistem sa transformacijom između ulaza i izlaza 6 (adapted from Systems Analysis and Design Methods, 4th Edition, Whitten and Bentley, McGraw-Hill, 1998) Creditor Account Transactions Bank Bill Payment Payment Bank Pay a Bill Deposit Monthly Statement Current Balance Modified Balance Withdraw Funds from an Account Withdraw or transfer New or Modified Monthly Statement Employer Other Income Source Reconcile Account Balances Account Balance Bank Accounts Pay Monthly Account Statements Prior Monthly Statement Transaction Account Transactions Modified Balance Deposit Funds into an Account Reimbursement 7 Metodologija modelovanja informacija (od ranih 1980-tih do sada) : Modelovanje podataka & konstruisanje informacija Opisuje stvarni svet pomoću podataka, atributa podataka i odnosa između podataka Može biti ponovljiva, merljiva i automatizovana Perspektiva podataka o domenu problema 8 2

Objektno orijentisana metodo- logija (od kasnih 1980-tih do sada): Put do OO projektovanja: Objektno modelovanje Zahvaljujući objektno orijentisanom programiranju Može biti ponovljiva, merljiva i automatizovana Objektna perspektiva oblasti problema Opisuje stvarni svet pomoću objekata, atributa, operacija i odnosa Podaci i funkcije su inkapsulirani Proceduralno Modularno Apstrakcija podataka Objektna orijentacija zajedno 9 10 Objektna orijentacija: Definicija: Objektna orijentacija je posmatranje i modelovanje sveta (ili sistema) kao skupa objekata koji su međusobno povezani i utiču jedan na drugi. 11 Koncepti objektne orijentacije: 12 3

Koncepti objektne orijentacije : 13 : (Teorija klasifikacija) Objekti i njihove karakteristike Celine i delovi Grupe (klase) i članovi 14 Opšte metode organizacije: Ljudi su navikli da razmišljaju pomoću... Grupe & Članovi Objekti & Atributi boja cena težina mašina opcije... Nosivost: laka korisnost korisnost putnik etc... Broj vrata broj točkova broj prozora broj svetala broj klinova tipa 1 broj klinova tipa 2 itd... Celine i delovi 15 Objekti (1): Coad i Yourdan (1990): Objekat apstrakcija nečega u domenu projekta što pokazuje osobine sistema da čuva informaciju o njemu, ima interakciju sa njim, ili oba. 16 4

Objekti (2): Objekti (3): Rumaugh et al. (1991): Objekat je koncept, apstrakcija, ili stvar sa jasnim granicama i značenjem za aktuelni problem. Objekti imaju dve svrhe: oni unapređuju uju razumevanje stvarnog sveta i obezbeđuju osnovu za računarsku implementaciju. 17 Booch (1994): Objekat ima stanje (posebni uslovi u kojima se trenutno nalazi objekat), ponašanje (šta objekat može da uradi), i identitet (svaki objekat je jedinstven). 18 Objekti (4): Wirfs-Brock et al: Ako bi objekat bio osoba, uloga u sistemu bila bi zasnovana na odgovorima na tri pitanja: Ko sam ja? Šta mogu da radim? Šta znam? Objekti: Dakle, objekat je koncept, apstrakcija, ili stvar sa granicama i značenjem za problem koji se upravo razmatra.. Objekti imaju dva cilja: da unaprede razumevanje stvarnog sveta i obezbede praktičnu osnovu za računarsku implementaciju. 19 20 5

Objekti (5): Dva aspekta: informacija i ponašanje Informacija: 1) ima jedinstveni identitet 2) ima opis svoje strukture ili informacije koji se koristi za njegovo kreiranje 3) ima stanje koje predstavlja njegove tekuće uslove, t.j. vrednosti nekih njegovih svojstava Ponašanje: 1) šta objekat može da radi? 2) šta može biti urađeno objektu? 21 Objekti: Objekti međusobno komuniciraju porukama. Objektna orijentacija uvela je razdvajanje podataka u sistemu od procesa koji rade na podacima. Svaki proces smešta se sa podacima koje koristi. Objekti znaju svoje podatke i kako da zahtevaju usluge od drugih objekata (od kojih objekata da zahtevaju i format zahteva). 22 Primer objekta štampač: Klase i uzorci: 1) informacija: 2) ponašanje: a) serijski broj a) štampa fajla b) model b) stop štampa c) brzina c) ukloni fajl iz d) memorija reda čekanja e) stanje Objekat predstavlja poseban uzorak klase. Objekti koji su međusobno dovoljno slični pripadaju istoj klasi. Svaki objekat je uzorak neke klase. 23 24 6

Šta je klasa? Klasa je opis skupa objekata koji imaju iste atribute, operacije, metode, odnose i semantiku. Zapravo, zadatak klase je da deklariše e skup metoda, operacija i atributa koji potpuno opisuju stukturu i ponašanje anje objekata. 25 Šta je klasa? 1) jedinstveno identifikovana apstrakcija skupa logički povezanih uzoraka koji imaju iste ili slične karakteristike; 2) pravila koja definišu objekte; 3) definicija ili pravilo koje opisuje kako napraviti tačnu predstavu specifičnog tipa objekata; 4) primeri: agencija, građani, automobil, Objekti se uzorkuju (kreiraju) koristeći definicije klase kao šablone. 26 Primer klase štampač: Atributi: Štampač Informacije Ponašanje Atribut je ime za svostvo klase koje opisuje opseg vrednosti tog svojstva koje mogu da imaju uzorci. Atribut ima tip i definiše tip njegovog uzorka. Samo sam objekat može da menja vrednosti njegovih atributa. Dati skup vrednosti atributa definiše stanje objekta. 27 28 7

Koncepti objektne orijentacije: 29 : Mentalna sposobnost koja omogućava ljudima da vide probleme stvarnog sveta sa različitim stepenima detalja u zavisnosti od tekućeg konteksta problema. Pomaže ljudima da misle o onome što rade. Funkcionalna apstrakcija i apstrakcija podataka 30 Apstrakcija: Modularnost: Model uključuje najvažnije aspekte datog sistema, a ignoriše manje važne detalje. Apstrakcija dopušta upravljanje kompleksnošću koncentrišući se na suštinske karakteristike koje neki entitet razlikuju od drugih. 31 Modularnost se odnosi na proces razbijanja kompleksnog sistema na manje delove koje sadrži, a kojima se može lako upravljati. Ulaz narudžbe Sistem za obradu Ispunjenje narudžbe narudžbi Račun 32 8

Hijerarhija: Uređivanje apstrakcija u strukturu stabla. Račun u banci Vrednost Sigurnost Stvarna imovina Štednja Provera Rezerva Obveznice Apstrakcija raste 33 Koncepti objektne orijentacije: 34 : Prednosti inkapsulacije: Kolač, molim! Sastojci: 2 jaja, 4 šolje brašna, 1 šolja mleka, 1 šolja šećera, itd... Uputstvo: Zagrejati rernu na 200; Sipati jaja i šećer u činiju za mućenje,... kolač Inkapsulacija odvaja implementaciju od korisnika ili klijenata, tako da jedan interfejs može imati različite implementacije. Tehnika u kojoj se podaci pakuju zajedno sa odgovarajućim procedurama. Podaci čuvani u jednom objektu ne mogu se pokvariti od strane drugog objekta. 35 36 9

Zahtevi inkapsulacije: Inkapsulacija: Ostali objekti šalju poruke zahtevajući uslugu 1) da izloži cilj objekta 2) da izloži interfejs objekta 3) da sakrije implementaciju koja obezbeđuje ponašanje kroz interfejs 4) da unutar objekta sakrije podatke koji definišu njegovu strukturu i podržavaju njegovo ponašanje 5) da sakrije podatke koji prate njegovvop stanje sakrije unutar objekta Operacije nekog objekta mogu se pozvati samo porukom sa ispravnom oznakom operacije Podacima objekta može se pristupiti samo preko njegovih operacija. Reprezentacija podataka jednog objekta sakrivena je unutra. 37 38 Koncepti objektne orijentacije: 39 : Mehanizam za izražavanje sličnosti između stvari, dakle za pojednostavljivanje njihove definicije. izgled ponašanje stavovi itd... Nasleđivanje Osoba Student Fakultet Zaposleni 40 10

Nasleđivanje#1: Nasleđivanje#2: Nasleđivanje je mehanizam za implementiranje generalizacije i specijalizacije u OO jezicima. Kada su dve klase povezane ovim odnosom, opštija klasa naziva se superklasa,, a specijalizovanija klasa naziva se potklasa. Pravila OO nasleđivanja: 1) Potklasa nasleđuje sve karakteristike njene superklase. 2) Definicija potklase uvek uključuje najmanje jedan detalj koji nije proistekao iz superklase. 41 42 Nasleđivanje#3: Operacija tranzitivnosti: 1) Potklasa nasleđuje sve karakteristike svih njenih superklasa. 2) Definicija potklase uvek uključuje najmanje jedan detalj koji nije proistekao ni iz jedne od njenih superklasa. 43 Koncepti objektne orijentacije: 44 11

: Polimorfizam: Mogućost da se sakriju različite implementacije iza zajedničkog interfejsa. Mogućnost da dva ili više objekata odgovore na isti zahtev, svaki na svoj način. H 2 O = voda, led, para (tečnost, čvrsto, magla) Jelo Ugljenik kristališe kao grafit & dijamant 45 46 Polimorfizam primer1: Polimorfizam primer2: PRINT TEXT object Object #1 Add PO object = dodati liniju u PO PRINT PRINT GRAPH object IMAGE object 30000 B L U E S K Y 25000 A I R L I N E S 20000 Sales Report 15000 January 10000 B L U E S K Y 5000 A I R L I N E S 0 Sales Report North South East West February Object #2 Object #3 Add Add Account object = povećati iznos na računu Department object = zaposliti novog radnika 47 48 12

Koncepti objektne orijentacije: : 49 Objekti komuniciraju porukama. OBJEKAT OBJEKAT OBJEKAT OBJEKAT 50 Koncepti objektne orijentacije: : 51 Unija ili veza ideja ili stvari. (Objekti teba da imaju međusobnu interakciju) Osoba Student Fakultet Zaposleni 52 13

Udruživanje (spajanje): pod istim okolnostima: crime scene #1 crime scene #n crime scene #2 53 Koncepti objektne orijentacije: 54 h) Ponovna upotreba (reuse): Mogućnost ponovne upotrebe objekata. Različiti stepeni ponovne upotrebe: kompletna ili zajednička kopiranje, kupovina ili kloniranje delimična ili podešavanje ništa Software: Komadići Komponente Kontrola Modeli 55 Ponovna upotreba: Komponente moraju biti ponovo korišćene tri do pet puta da bi se pokrila cena kreiranja i podrške. Kreiranje i podrška komponente za samo jednu ponovnu upotrebu košta jedan i po do tri puta više od kreiranja komponente za samo jednu upotrebu. Ponovno korišćenje komponente košta 25% cene kreiranja nove. Potrebna su tri proizvodna ciklusa (oko tri godine) pre nego korist od ponovne upotrebe postane značajna. 56 14

OO Metodologija analize i projektovanja sistema: Tri klasična izazova u analizi i projektovanju sistema : Klasični izazov#1 Različiti modeli: Funkcionalni modeli Interakcija korisnika (Ponašanje) Modeli podataka Model podataka nasuprot funkcionalnom modelu Prelazak sa analize na projektovanje Severna ivica Grand Canyon Reka Colorado Južna ivica Grand Canyon Podržavanje izvornog koda VVVVVVVVVVVV 57 58 Klasični izazov#2 Transformacija modela: Modeli za analizu Modeli za projektovanje Klasični izazov #3 Podržavanje koda: Ko je napisao ovaj kod? Begin Caller Program Init x,y,z... Open (files/database) Read... Compute... Severna ivica Grand Canyon Južna ivica Grand Canyon DO Callee with x,y,z Update (files/database) Close (files/database) End Main Program Špageti? Reka Colorado VVVVVVVVVVVV Procedure Callee Parameters x,y,z Compute... End Procedure 59 End Program 60 15

Rešenje: INTEGRISANI MODEL(I) (funkcija, podaci, ponašanje) (analiza, projektovanje i implementacija) Kružno putovanje ENGINEERING Reka Colorado 61 16