2. ● Dizajn je kreativni proces pretvaranja problema u riješenja.
● Dizajniranje softvera započinje razgovorom sa klijentom ili naručiocem o
samoj ideji softvera.
● Iz dogovora sa klijentom pravimo specifikaciju zahtjeva kojom se definiše
problem.
● Broj riješenja kojim se problem odnosno projekat može riješiti je beskonačan i
nije uvijek isto riješenje za različit problem.
● Modifikacije su takođe normalne stvari, mogu nastati na zahtjev klijenta iz
razloga što im se nešto ne sviđa ili jer nešto ne funkcioniše kako treba.
Uvod
3. ● Dizajner realizuje koncept na osnovu klijentove ili naručioceve ideje.
● Softver je potrebno dokumentovati, da bi svaki član tima znao šta je njegov
zadatak, te se za njih pravi tehnički dizajn
● Da bi i klijent bio upućen u dizajn i realizaciju za njega se pravi konceptualni
dizajn u kojem su zahvaćene funkcije sistema.
Konceptualni i tehnički dizajn
5. U konceptualnom dizajnu svaki od ovih aspekata sistema se opisuje kroz
odgovarajuća pitanja:
● Koji je izvor podataka?
● Šta će se dešavati sa podacima u sistemu?
● Kakva će sistem imati izgled za korisnike?
● Koje će opcije odabira imati korisnici?
● Kako su vremenski raspoređeni događaji?
● Koji je izgled izvještaja i ekrana?
Konceptualni dizajn
6. U tehničkom dizajnu svaki od ovih aspekata sistema se opisuje kroz
odgovarajuća pitanja:
● Opis glavnih hardverskih komponenti i njihovih funkcija,
● Hijerarhija i funkcija softverkih komponenti,
● Strukture i tokovi podataka.
Tehnički dizajn
8. Odabir metode izrade sistema nekada zavisi od dizajnera i njegovih sklonosti, a
nekada zbog same strukture sistema ili strukture podataka potrebno je koristiti
neku konkretnu metodu.
Wassernman (1995) je dao prijedlog realizacije dizajna na sledeće načine:
● Modularno raščlanjivanje
● Raščlanjivanje na osnovu podataka
● Raščlanjivanje na osnovu događaja
● Dizajn spolja ka unutra
● Objektivno orijentisani dizajn
Djeljenje na članove i modularnost
9. ● Ukratko dizajn se može napraviti na osnovu sistemski podataka, događaja,
korisničkog unosa, osnovnih funkcija ili kombinovanjem hijerarhija detaljnijih
informacija.
Nivoi raščlanjivanja
11. ● Arhitektura povezuje sposobnosti sistema koje su navedene u specifikaciji
zahtjeva.
● Dizajn koda u sebi sadži algoritme i strukturu podataka, komponente su
elementi programskog jezika.
● Izvršni dizajn se koristi za detaljnije izlaganje koda.
Arhitektosni stilovi i strategije
13. ● Timski rad je neophodan prilikom izrade većih projekata
● Donošenje zajedničkih odluka
● Problem koji se javlja je razlika u ličnim iskustvima, shvatanjima i
sklonostima
● Smanjenje troškova i povećanje produktivnosti
● Razumjevanje u grupi pomoću bilješki, prootipa, crteža
Saradnja na dizajnu
14. ● Izrada korisničkog interfejsa može biti nezgodna jer se stilovi, percepcije, kao
i razumjevanja razlikuju od osobe do osobe.
Ključni elementi za dizajn interjesa:
● Metafore
● Mentalni model
● Navigaciona pravila za model
● Izgled
● Utisak
Dizajn korisničkog interfejsa
15. ● Prototipi pronalaze svoju upotrebu u fazi dizajniranja da bi se istesiralo ko šta
voli i da se odredi koje vrste interfejsa je moguće realizovati tako da
ispunjavaju zahtjeve prefomansi i pouzdanosti.
● S ciljem da se softver koristi širom svijeta, potrebno je prilagoditi vjerovanja,
vrijednosti, norme, tradicije, običaje korisnicima koji će korisiti ovaj softver.
● Prvi korak za „Međunarodno“ prilagođavanje softvera, uputstava, priručnika,
poruka je uklanjanje specifičnih obilježja kulture.
● Drugi korak je unošenje obilježja kulture za koju se softver pravi.
Pitanja kulture
16. ● Lako razumljiv
● Jednostavnija implementacija
● Jednostavno testiranje
● Jednostavno modifikovanje
● Specifikacija zahtjeva
Karakteristike dobrog dizajna
17. ● Bolje je kada nema spregnutosti među komponentama, zbog detekcije
problema, te kasnije zamjene
● Za dvije komponente kažemo da su jako spregnute ako se između njih nalazi
nalazi velika zavisnost.
● Slabo spregnute komponente zavise jedna od druge sa nekom dozom, ali je
zato spregnutost međusobno slaba.
● Nespregnute komponente između sebe nemaju nikakvu vezu, one su u
potpunosti nezavisne jedne od drugih,
Međusobna spregnutost
18. ● kada kažemo kohezija mislimo na unutrašnji „ljepak“ od kojeg se pravi
komponenta.
● Kohezivne komponente – njihovi elementi imaju istu namjenu
● Osnovni cilj svakog dizajna je da svaka komponenta bude što je više moguće
kohezitivna.
● Najlošiji stepen kohezije je koincident kohezije i u njemu imamo komponente
čije dijelovi nisu međusobno spregnuti.
Unutrašnja kohezija modula