U ovoj lekciji obrađivaćemo:
Dizajn proces uopšteno gledano možemo predstaviti kao na slici 1. Ulazni elementi u proces u dokumenta specifikacije zahteva, dok su pojedine aktivnosti dizajna i dizajn proizvodi prikazani na slici 1.
Slika 1. Aktivnosti i proizvodi softverskog dizajna
Proces softverskog dizajna može se prikazati i kao na slici 2. Arhitekturalni dizajn se dešava u ranoj fazi procesa dizajna i predstavlja link između specifikacije i procesa dizajna. Često se sprovodi i paralelno sa određenim aktivnostima specifikacije zahteva. Podrazumeva identifikovanje osnovnih sistemskih komponenti i njihovih komunikacija.
Slika 2. Veza specifikacije i softverskog dizajna
Na nivou arhitekturalnog dizajna donose se odluke i daje odgovor na pitanja:
Slika 3. Model dizajn procesa[2]
Na slici 3 je prikazan model dizajn procesa. Pojedine akcije mogu da se predstave kao:
Navedeni model je dosta generalan, ali može da posluži kao osnova za dalji razvoj.
Uloga dizajnera može se prikazati kao na slici 4. Osnovni zadatak za dizajnera je da precizira nabolje rešenje problema i proizvede opis kako da se rešenje organizuje. Na osnovu opisa nastaje plan koji koriste realizatori sistema. Dizajner tokom svojih aktivnosti mora da uzme u obzir i ograničenja koja postoje, kao i da primeni znanje iz domena aplikacije, što zahteva dodatne veštine dizajnera.
Slika 4. Uloga dizajnera u razvoju softvera
1. Gero J.S. (1990). Design prototypes: a knowledge representation scheme for design. AI Magazine
2. David Budgen, Software design, Addison Wesley, 2003