[ krle_zr @ 22.11.2009. 08:36 ] @
Nedavno sam poceo da citam jednu knjigu o algoritmima i strukturama podataka i jedno poglavlje je posveceno Softverskom inzenjeringu. Tu su detaljno objasnjeni svi koraci u osmisljavanju aplikacije (znate ono: Analiza i specifikacija zahteva, projektovanje arhitekture, struktura podataka itd.). Medjutim, kad ja pokusam da na ovaj nacin resim neki trivijalan problem (za koji mi 'iz glave' treba 15 min), jako puno vremena mi oduzima to piskaranje svakog detalja na papir i osmisljavanje svake funkcije pre nego sto uopste i sednem za racunar. Konkretno, koristio sam Waterfall (kaskadni) model. Moze li neki savet od iskusnijih po ovom pitanju, posto zelim da projektujem softver po nekom standardu a ne iz glave?

Ako nekog zanima mogu i primer da stavim koji sam uradio.

Pozdrav
[ mmix @ 22.11.2009. 09:20 ] @
Pa softversko projektovanje i nije predvidjeno za 15min kucne problemcice. Kad gradis kucicu za psa u dvoristu jel pravis dokumentaciju i pratis gradjevinsku proceduru za to? opet, kad gradis zgradu od 10 spratova projektovanje i ogromna kolicina posla se obavi pre nego sto se prva cigla postavi. Analogija sa SE je veoma slicna, pracenje projektne metodologije i piskaranje svih detalja osigurava da stakeholder dobije ono sto mu treba, da se to obavi u okviru planiranog vremena i cene, da svi ucesnici budu upoznati sa svojim obavezama i time kako je njihov rad uvezan sa drugima i koji su prioriteti, itd.

sam ces vrlo tesko da odradis sav posao po bilo kojoj metodologiji za iole ozbiljniji projekat, sve su one formirane da bi se efikasno uradila podela posla da ne bi svako sve radio, sto je suprotno sa tvojim nastojanjima za one-man-show primerom. Ako hoces praksu moras da pruzimas sve role iz metodologije pocev od stakeholdera sto je u principu najteze (ajd iz glave osmisli potrebe finansijskog ISa za import/export firmu sa 250 ljudi ako nisi korporativni knjigovodja). Onda od toga napravi projekat za ekipu od 15 developera sa maksimalnim iskoriscenjem resursa, pa onda jos i da iskodiras to. A gde je tu hardver na kome ce to da se vrti, radne stanice, serveri, redundantnost. Sve i da imas siroko znanje i da mozes da radis sve role, za jedan kompleksniji posao imas sumarno posla dovoljno taman do pola puta do penzije
[ misk0 @ 22.11.2009. 09:49 ] @
Slazem se sa svim sto je mmix napisao. Dodao bih samo da je waterfall metoda zastarjela jer je previshe jednosmjerna i ne trpi promjene u fazi izrade tj nije fleksibilna dovoljno. Waterfall se zasniva na akviziciji svih mogucih podataka na pocetku projekta da bi se detaljno isprojektovala i optimizovala izrada medjutim ako tokom izrade (razvoja) se poajvi potreba za nekom izmjenom to jako puno kosta.
Dobro je da poznajes i tu metodu ali upoznaj se i sa novim modernim - agile development metodama.
[ krle_zr @ 22.11.2009. 11:39 ] @
Hvala na odgovorima!
Baš zato i pitam jer mi se učinilo nelogičnim da filozofiram 2 sata za nešto što se (lako) odmah uradi. Kažite mi samo, jel postoji neka prikladna metoda za takav pristup ili da jednostavno radim kao do sad (otprilike zamislim algoritam i počnem da pišem kod a usput dodajem nove stvari i sl.) Tako sam počeo i nije mi trebala nijedna knjiga za to, a uvek mislim da postoji nešto naprednije.
Šta ću, kad mi mozak neda mira