Niz koraka u oblikovanju komponente

Slides:



Advertisements
Podobne predstavitve
Informacijska pismenost
Advertisements

P P Hranjenje i napajanje konja Hranjenje i napajanje pri prijevozu
Uvod u projekte, 4. dio Planiranje projekta
Aleksandra Pikić Knjižnica Filozofskog fakulteta u Zagrebu
Osijek, 23. i Suzana Hitrec, prof.
LEKTIRA MIA MIHIĆ, 5B.
PRIPREMANJE IZLOŽBE U ŠKOLSKOJ KNJIŽNICI
ZA VEČJO VARNOST NA GRADBIŠČIH
POSLOVNIK KAKOVOSTI Aleksander Vrščaj
Izobraževanje, usposabljanje in izpopolnjevanje kadrov
HAMAG-BICRO: faze postupka dodjele i smjernice za prijavitelje
Lučijano Raspor, dipl.ing.str. HRVATSKA KOMORA INŽENJERA STROJARSTVA
Zahtjev za uspostavu/promjenu zone (pravni okvir)
STRATEŠKI MENADŽMENT Diplomski studij: smjer Menadžment Nastavni plan
Mladi i slobodno vrijeme - airsoft
NOVA GENERACIJA KOMPONENTNIH MODELOV CORBA 3, COM+, EJB
“KRAPINSKE TOPLICE” Vodeni park “AQUAE VIVAE” i “KRAS HOTEL”
Posvetovanje ZBDS, Bled, 2007
PRIPREMIO: MIHAEL GRMOVŠEK, 6.a
Logo tvrtke ovdje IEEE TOPweek FER do
Janez Eržen, Uroš Bajc - SCARF: Skaliranje digitalnega forenzičnega procesiranja z uporabo vsebniških tehnologij v oblaku 28. maj 2018.
Prednosti i nedostatci Interneta
Mikroračunala za učenike šestih razreda
PAKET O MOBILNOSTI 1 MINISTARSTVO MORA, PROMETA I INFRASRUKTURE
Ad MIKROBIOLOŠKA STABILNOST DEJAVNIKI, KI VPLIVAJO NA UČINKOVITOST
Osnove programa i primjena u Osnovnoj školi
Zasl. prof. ddr. Matjaž Mulej
MOTIVIRANJE ČLANSTVA.
prof. dr. sc. Blaženka Divjak
Kristov mučenički vapaj
Poveznice između informacijskih sustava za javnu nabavu i upravljanja javnim financijama u Gruziji PEMPAL 2019.
KOMPENZACIJSKI MENADŽMENT 5. Oblici grupnog nagrađivanja zaposlenika
7 Projektni menedžment dr. Branko ŠKAFAR.
Kultura in klima organizacije
USMJERENJE SPORTSKA GIMNASTIKA
Iskustva i pogledi iz prakse razvoja softverskih rješenja
ŠK. GOD /2019..
3. Osnove rada s računalom
Dobro došli u novi PowerPoint
(KOMBINIRANO IZRAŽAVANJE UVJERENJA)
Alternativni pogoni vozil
Maja Cerovečki OŠ Side Košutić Radoboj 8.b
Skladištenje lož ulja – protueksplozijska zaštita da ili ne?
DRUŽBOSLOVJE Upravne in organizacijske vede
Informacijska rešitev za agregacijo DEA flote v RTP V okviru slovensko-japonskega sodelovanja na področju pametnih omrežij, t.i. NEDO projekta Tomaž Buh.
PEMPAL-ova Zajednica prakse za proračun (BCOP)
Jačanje znanja i vještina pripadnika vatrogasnih organizacija u RH
IZBOČENO (Konveksno) i UDUBLJENO (Konkavno) zrcalo
Pomen in potenciali pametnih mest in skupnosti Blaž GOLOB Direktor, SmartIScity d.o.o. EU forum za digitalno podjetništvo.
Energija.
P O T E K P R O J E K T A.
Predstavitev projekta PPF II
Vnos podatkov s tipkovnico
„Međusobni utjecaj upravljačke strukture i unutarnje revizije”
Regulacija financijskih tržišta u RH
Problemi uporabe skupnih standardov v e-poslovanju
Metodologija izrade programa osposobljavanja
Spremenljivke, prireditveni stavek
Zaštita kod izoliranih mrežnih sustava
DK – STEP 7 – Podatkovni bloki
Objekti, razredi, ... Od kje in zakaj.
Objektno programiranje - nadaljevanje
Spodbude za omilitev podnebnih sprememb
Objektno programiranje
Avtomatizacija v industriji in gospodarstvu, Maribor
PEM PAL IA COP Radna skupina za reviziju u praksi Slučaj bolnice
INDIVIDUALIZIRANI ODGOJNO -OBRAZOVNI PROGRAMI
Priručnik za osposobljavanje za zelenu javnu nabavu 7. 4
Dobre prakse za procjenu rizika i kontrolne aktivnosti
Predavanja: Franka Miriam Brueckler Vježbe: Sonja Žunar
Zapis predstavitve:

Niz koraka u oblikovanju komponente 1) Određivanje koncepata/klasa i temeljnih relacija među njima 2) Profinjenje klasa određivanjem skupa operacija nad njima Klasificiranje operacija. Posebno konstruktora, destruktora, kopiranja 3) Profinjenje klasa određivanjem zavisnosti mogućnosti parametrizacije, nasljeđivanja, korištenje zavisnosti 4) Definiranje sučelja Odvajanje funkcija u javne i privatne operacije Određivanje točnog tipa operacija na klasama

1) Određivanje klasa Razgovor s budućim korisnicima sustava ili (nezadovoljnim) korisnicima postojećeg sustava imenice >> klase i objekti glagoli >> operacije na objektima Odmak od postojećeg sustava Generalizacija i klasifikacija (primjer kružnice i elipse) Analiza primjera korištenja (Iniciranje poziva = podigni slušalicu; nazovi broj; telefon na drugoj strani zvoni; osoba na drugoj strani podiže slušalicu) Nakon nekoliko primjera korištenja, oblikuje se sustav i testira kako funkcionira u ostalim slučajevima (iterativni proces) – pokrivanje cca 80% glavnih situacija i neke izuzetke Neka bitna svojstva sustava (pouzdanost, performanse, provjera ispravnosti ne mogu se reprezentirati klasama

2) Određivanje operacija Kako se objekt neke klase konstruira, uništava, kopira Koji je minimalni skup operacija potreban za funkcioniranje klase Određivanje standardnih naziva i funkcionalnosti u svim klasama unutar komponente Operacije: stvaranje i uništavanje nadzor (ne mijenjaju stanje objekta) promjena (mijenjaju stanje objekta) konverzija (generiranje objekta drugog tipa ovisno o stanju originalnog objekta) iterator (pristup i korištenje niza sadržanih objekata)

3) Određivanje zavisnosti parametrizacija nasljeđivanje korištenje relacija Ne pretjerivati u korištenju zavisnosti

4) Određivanje sučelja Privatne funkcije obično ne treba razmatrati u fazi dizajna. Ove funkcije bi trebale biti izvedive, neovisno o implementaciji Javne funkcije – specificiraju se točni tipovi argumenata

Korištenje modela Uvijek kada je moguće, dizajn i programiranje trebaju biti temeljeni na prethodnom radu Odabir modela pogodnog za prilagodbu Korištenje obrazaca u programiranju – korištenje konkretnih primjera za ilustraciju općeg principa Svaki uspješan veliki sustav nastao je redizajnom nekog manjeg upogonjenog sustava

Eksperimentiranje, analiza, testiranje Prototip – umanjena verzija sustava ili nekog njegovog dijela Kako testirati, što testirati? Situacije koje mogu imati kobne posljedice i situacije koje se često javljaju. Testiranju se obično ne posvećuje dovoljno pažnje

Održavanje softvera Redizajn, ponovna implementacija – tj. ciklus razvoja programa Obično vezano za istu razvojnu skupinu (dokumentacija bolje pomaže razumijevanju detalja nego u razumijevanju ključnih ideja i principa)

Učinkovitost Čist i jednostavan dizajn Optimizacija u kasnijoj fazi, na temelju mjerenja performansi i određivanja uskih grla U fazi dizajna treba nastojati izbjegavati rješenja koja će se kasnije teško optimizirati

I još... Upravljanje softverskim projektom Ponovna upotrebljivost koda Mogućnost primjene rješenja na veće probleme Izvedivost s postojećim ljudskim resursima Hibridni dizajn

Uloga klasa – razine apstrakcije Kuća: atomi molekule cigle i druga građa podovi, zidovi, stropovi sobe odgovarajuća razina detalja i odgovarajuća razina apstrakcije

Hijerarhija klasa usmjereni aciklički graf klasa Vozilo Kamion Automobil Interventno_vozilo Policijski_automobil Vozilo_hitne_pomoci Vatrogasno_vozilo usmjereni aciklički graf klasa

Implementacije hijerarhije klasa class Vozilo { /* ... */ }; class Interventno_vozilo { /* ... */ }; class Automobil : public Vozilo { /* ... */ }; class Kamion : public Vozilo { /* ... */ }; class Policijski_automobil : public Automobil, protected Interventno_vozilo { /* ... */ }; class Vozilo_hitne_pomoci : public Automobil, protected Interventno_vozilo { /* ... */ }; class Vatrogasno_vozilo: public Kamion, protected Interventno_vozilo { /* ... */ };

protected, private, public private – ime se može koristiti samo u članskim funkcijama protected – ime se može koristiti samo u članskim funkcijama klase u kojoj je deklarirano, te u klasama izvedenim iz te klase public – ime se može koristiti u svim funkcijama

izvedene klase