ݺߣ

ݺߣShare a Scribd company logo
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 (20)

ODP
Razvoj multimedijskih projekata 2
ababic1
PPT
Informacijski sustavi - Maja Petras i Antonia Oršolić
Privatna srednja ekonomska skola INOVA s pravom javnosti
PDF
Upravljanje Web Uslugama u IT okruženjima
andrea132961
DOCX
Projektovanje informacionih sist
AlenGrgic1
PPTX
Razvoj multimedijskih projekata
kovaBB
DOCX
Oblikovni obrasci
Petar Marijanovi?
PPTX
Razvoj multimedijskih projekata 5
djstanta
PPTX
Vrste radnih mjesta
Ferid Ajanovic
PPT
Sociološki i profesionalni aspekti računarstva
Johan244492
PDF
Metro UI - Tajne velikih slova i jednobojnih ikona
emanuelblagonic
PPTX
Razvoj multimedijskih projekta
Mbrojan
PDF
Dizajn za touch screen (WinDays 2013)
emanuelblagonic
PDF
Algoritmi i strukture_podataka_2016-02_v01
Leonardo Miljko
PPTX
Razvoj multimedijskih projekata
abolf
PPTX
Razvoj multimedijskih projekta
Mbrojan
PDF
Flynnova-klasifikacija (Arhitektura,organizacija i gradja računara.pdf
sasa649460
PDF
Wireframing & UI design - Andrej Mlinarevic
Software StartUp Academy Osijek
PPTX
Razvoj multimedijskih projekata Amira
amahmutovic
PPTX
C# predavanja
Diana Šperanda
PDF
RSII_P6_2017_18.pdf
BionicaBabovic
Razvoj multimedijskih projekata 2
ababic1
Informacijski sustavi - Maja Petras i Antonia Oršolić
Privatna srednja ekonomska skola INOVA s pravom javnosti
Upravljanje Web Uslugama u IT okruženjima
andrea132961
Projektovanje informacionih sist
AlenGrgic1
Razvoj multimedijskih projekata
kovaBB
Oblikovni obrasci
Petar Marijanovi?
Razvoj multimedijskih projekata 5
djstanta
Vrste radnih mjesta
Ferid Ajanovic
Sociološki i profesionalni aspekti računarstva
Johan244492
Metro UI - Tajne velikih slova i jednobojnih ikona
emanuelblagonic
Razvoj multimedijskih projekta
Mbrojan
Dizajn za touch screen (WinDays 2013)
emanuelblagonic
Algoritmi i strukture_podataka_2016-02_v01
Leonardo Miljko
Razvoj multimedijskih projekata
abolf
Razvoj multimedijskih projekta
Mbrojan
Flynnova-klasifikacija (Arhitektura,organizacija i gradja računara.pdf
sasa649460
Wireframing & UI design - Andrej Mlinarevic
Software StartUp Academy Osijek
Razvoj multimedijskih projekata Amira
amahmutovic
C# predavanja
Diana Šperanda
RSII_P6_2017_18.pdf
BionicaBabovic

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