SlideShare a Scribd company logo
1 of 20
Download to read offline
Dizajn softvera
Seminarski rad iz predmeta Softverski inzinjering
● 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
● 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
Konceptualni i tehnički dizajn
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
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
Konceptualni i tehnički dizajn
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
● 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
Referenti model NIST/ECMA za
integraciju okuženja
● 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
Cijevi i filteri
● 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
● 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
● 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
● Lako razumljiv
● Jednostavnija implementacija
● Jednostavno testiranje
● Jednostavno modifikovanje
● Specifikacija zahtjeva
Karakteristike dobrog dizajna
● 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
● 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
Unutrašnja kohezija modula
HVALA NA PAŽNJI

More Related Content

Similar to Dizajn Softvera.pptx

Razvoj multimedijskih projekata 2
Razvoj multimedijskih projekata 2Razvoj multimedijskih projekata 2
Razvoj multimedijskih projekata 2ababic1
 
UPD (2).pptx.oasfasfccccccccccccccccccccccccccccccccccccccc
UPD (2).pptx.oasfasfcccccccccccccccccccccccccccccccccccccccUPD (2).pptx.oasfasfccccccccccccccccccccccccccccccccccccccc
UPD (2).pptx.oasfasfcccccccccccccccccccccccccccccccccccccccBrankouljak
 
Razvoj multimedijskih projekata 1
Razvoj multimedijskih projekata 1Razvoj multimedijskih projekata 1
Razvoj multimedijskih projekata 1ipilaj
 
Microsoft Community sastanak - Vođenje softverske imovine
Microsoft Community sastanak - Vođenje softverske imovineMicrosoft Community sastanak - Vođenje softverske imovine
Microsoft Community sastanak - Vođenje softverske imovineTomislav Lulic
 
Analiza softverske imovine koju koristite - prvi korak migraciji u Cloud
Analiza softverske imovine koju koristite - prvi korak migraciji u CloudAnaliza softverske imovine koju koristite - prvi korak migraciji u Cloud
Analiza softverske imovine koju koristite - prvi korak migraciji u CloudTomislav Lulic
 
ASP.NET MVC - desingning and implementing extensible web applications (WinDay...
ASP.NET MVC - desingning and implementing extensible web applications (WinDay...ASP.NET MVC - desingning and implementing extensible web applications (WinDay...
ASP.NET MVC - desingning and implementing extensible web applications (WinDay...Kresimir Meze
 
Oeo seminar_juraga_dokmanovic_baric
Oeo seminar_juraga_dokmanovic_baricOeo seminar_juraga_dokmanovic_baric
Oeo seminar_juraga_dokmanovic_baricMarko Juraga
 
ZoomSphere - alat za upravljanje društvenim mrežama!
ZoomSphere - alat za upravljanje društvenim mrežama!ZoomSphere - alat za upravljanje društvenim mrežama!
ZoomSphere - alat za upravljanje društvenim mrežama!Rea Fu?ek
 
ZoomSphere: Alat za upravljanje društvenim mrežama
ZoomSphere: Alat za upravljanje društvenim mrežamaZoomSphere: Alat za upravljanje društvenim mrežama
ZoomSphere: Alat za upravljanje društvenim mrežamaRea Fu?ek
 
Upravljanje projektima uz Kendo Manager
Upravljanje projektima  uz Kendo ManagerUpravljanje projektima  uz Kendo Manager
Upravljanje projektima uz Kendo ManagerMSc. Ljubisa Vukovic
 
XIX Milocerski razvojni forum - Kreativna informatika
XIX Milocerski razvojni forum - Kreativna informatikaXIX Milocerski razvojni forum - Kreativna informatika
XIX Milocerski razvojni forum - Kreativna informatikaTarik Zaimovi?
 
Izvršivi BPM: Razvoj procesno-orijentiranih aplikacija
Izvršivi BPM: Razvoj procesno-orijentiranih aplikacijaIzvršivi BPM: Razvoj procesno-orijentiranih aplikacija
Izvršivi BPM: Razvoj procesno-orijentiranih aplikacijaSlaven Brumec
 
Sastanak zajednice Microsoft prodavača - Sales readiness
Sastanak zajednice Microsoft prodavača - Sales readinessSastanak zajednice Microsoft prodavača - Sales readiness
Sastanak zajednice Microsoft prodavača - Sales readinessTomislav Lulic
 
Kako pretvoriti server_sobu_u_cloud
Kako pretvoriti server_sobu_u_cloudKako pretvoriti server_sobu_u_cloud
Kako pretvoriti server_sobu_u_cloudDubravko Marak
 
Razvojmultimedijskihprojekta3
Razvojmultimedijskihprojekta3Razvojmultimedijskihprojekta3
Razvojmultimedijskihprojekta3vdogang
 
White paper - Migracija IT rješenja u Cloud Hrvatskog Telekoma
White paper - Migracija IT rješenja u Cloud Hrvatskog TelekomaWhite paper - Migracija IT rješenja u Cloud Hrvatskog Telekoma
White paper - Migracija IT rješenja u Cloud Hrvatskog TelekomaHrvatski Telekom
 
Metro UI - Tajne velikih slova i jednobojnih ikona
Metro UI - Tajne velikih slova i jednobojnih ikonaMetro UI - Tajne velikih slova i jednobojnih ikona
Metro UI - Tajne velikih slova i jednobojnih ikonaemanuelblagonic
 

Similar to Dizajn Softvera.pptx (20)

Razvoj multimedijskih projekata 2
Razvoj multimedijskih projekata 2Razvoj multimedijskih projekata 2
Razvoj multimedijskih projekata 2
 
UPD (2).pptx.oasfasfccccccccccccccccccccccccccccccccccccccc
UPD (2).pptx.oasfasfcccccccccccccccccccccccccccccccccccccccUPD (2).pptx.oasfasfccccccccccccccccccccccccccccccccccccccc
UPD (2).pptx.oasfasfccccccccccccccccccccccccccccccccccccccc
 
Oblikovni obrasci
Oblikovni obrasciOblikovni obrasci
Oblikovni obrasci
 
Wireframing & UI design - Andrej Mlinarevic
Wireframing & UI design - Andrej MlinarevicWireframing & UI design - Andrej Mlinarevic
Wireframing & UI design - Andrej Mlinarevic
 
Seminar hipermedija
Seminar hipermedijaSeminar hipermedija
Seminar hipermedija
 
Razvoj multimedijskih projekata 1
Razvoj multimedijskih projekata 1Razvoj multimedijskih projekata 1
Razvoj multimedijskih projekata 1
 
Microsoft Community sastanak - Vođenje softverske imovine
Microsoft Community sastanak - Vođenje softverske imovineMicrosoft Community sastanak - Vođenje softverske imovine
Microsoft Community sastanak - Vođenje softverske imovine
 
Analiza softverske imovine koju koristite - prvi korak migraciji u Cloud
Analiza softverske imovine koju koristite - prvi korak migraciji u CloudAnaliza softverske imovine koju koristite - prvi korak migraciji u Cloud
Analiza softverske imovine koju koristite - prvi korak migraciji u Cloud
 
ASP.NET MVC - desingning and implementing extensible web applications (WinDay...
ASP.NET MVC - desingning and implementing extensible web applications (WinDay...ASP.NET MVC - desingning and implementing extensible web applications (WinDay...
ASP.NET MVC - desingning and implementing extensible web applications (WinDay...
 
Oeo seminar_juraga_dokmanovic_baric
Oeo seminar_juraga_dokmanovic_baricOeo seminar_juraga_dokmanovic_baric
Oeo seminar_juraga_dokmanovic_baric
 
ZoomSphere - alat za upravljanje društvenim mrežama!
ZoomSphere - alat za upravljanje društvenim mrežama!ZoomSphere - alat za upravljanje društvenim mrežama!
ZoomSphere - alat za upravljanje društvenim mrežama!
 
ZoomSphere: Alat za upravljanje društvenim mrežama
ZoomSphere: Alat za upravljanje društvenim mrežamaZoomSphere: Alat za upravljanje društvenim mrežama
ZoomSphere: Alat za upravljanje društvenim mrežama
 
Upravljanje projektima uz Kendo Manager
Upravljanje projektima  uz Kendo ManagerUpravljanje projektima  uz Kendo Manager
Upravljanje projektima uz Kendo Manager
 
XIX Milocerski razvojni forum - Kreativna informatika
XIX Milocerski razvojni forum - Kreativna informatikaXIX Milocerski razvojni forum - Kreativna informatika
XIX Milocerski razvojni forum - Kreativna informatika
 
Izvršivi BPM: Razvoj procesno-orijentiranih aplikacija
Izvršivi BPM: Razvoj procesno-orijentiranih aplikacijaIzvršivi BPM: Razvoj procesno-orijentiranih aplikacija
Izvršivi BPM: Razvoj procesno-orijentiranih aplikacija
 
Sastanak zajednice Microsoft prodavača - Sales readiness
Sastanak zajednice Microsoft prodavača - Sales readinessSastanak zajednice Microsoft prodavača - Sales readiness
Sastanak zajednice Microsoft prodavača - Sales readiness
 
Kako pretvoriti server_sobu_u_cloud
Kako pretvoriti server_sobu_u_cloudKako pretvoriti server_sobu_u_cloud
Kako pretvoriti server_sobu_u_cloud
 
Razvojmultimedijskihprojekta3
Razvojmultimedijskihprojekta3Razvojmultimedijskihprojekta3
Razvojmultimedijskihprojekta3
 
White paper - Migracija IT rješenja u Cloud Hrvatskog Telekoma
White paper - Migracija IT rješenja u Cloud Hrvatskog TelekomaWhite paper - Migracija IT rješenja u Cloud Hrvatskog Telekoma
White paper - Migracija IT rješenja u Cloud Hrvatskog Telekoma
 
Metro UI - Tajne velikih slova i jednobojnih ikona
Metro UI - Tajne velikih slova i jednobojnih ikonaMetro UI - Tajne velikih slova i jednobojnih ikona
Metro UI - Tajne velikih slova i jednobojnih ikona
 

Dizajn Softvera.pptx

  • 1. Dizajn softvera Seminarski rad iz predmeta Softverski inzinjering
  • 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
  • 10. Referenti model NIST/ECMA za integraciju okuženja
  • 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