RAZVOJ APLIKACIJA Danijel Pobi dipl Ing Raunarstva Upravljanje
RAZVOJ APLIKACIJA Danijel Pobi, dipl. Ing. Računarstva
Upravljanje projektima � � Developer, programer, coder Izrada aplikacije � Koncept � Dizajn � Programiranje � Testiranje � Radni � � vijek Rad u timovima Solo vs tim
Upravljanje projektima � � Planiranje, organizacija, motiviranje i kontroliranje resursima da bi se dostigao određeni cilj. Mjeri dvaput, reži jednom = planiraj dvaput, kodiraj jednom Mora se znati tko je glavni! Demokracija u ovom slučaju samo usporava stvari. Programi: � � � Tradicionalni pristup: � � Project management: Microsoft Project, Excel, . . . Content Control: Team Fundation server, SVN, Hg, . . . inicija, planiranje i dizajn, izvedba, testiranje, kraj Prince 2, PRi. SM, kritični lanac, metodologija lančanog niza, procesno upravljanje, Agile, Lean, Extreme, Korisno-realizacijsko upravljanje
Ljudi u programskim projektima � Coder � � Programer � � � Programski jezik dobro svladan Dobro tehnički i tehnološki potkovan Osnovno znanje tematike projekta Neradi u planiranju, samo u izvedbi i dokumentiranju Developer � � � Sudjeluje samo u najnižoj razini izrade Zna odabrani programski jezik Zna osnove programiranja Detalji projekta i potrebna tematika Radi u svim dijelovima projekta, od planiranja i dizajna do izrade Dizajner, Savjetnik, . . .
Planiranje � Planiranje Dizajna � Likovi � Korisničko sučelje � Elementi sučelja � (UI) Točno šta program mora raditi � Dijagram toka programa � Klase i dijagram klasa (UML) � Segmentiranje projekta � Dali se nešta može paralelno � Kritičnost određenih dijelova � � raditi i kako rasporediti Projekcija trajanja projekta Koje dodatne pomoćne sustave koristiti
Planiranje rada - alati � Alati dizajna: � � 3 D: 3 DStudio Max, Blender, Maya, Oxygen, . . . 2 D: Photoshop, Fireworks, Corel Draw GUI: Neki od gore za dizajn, onda pretakanje elemenata u odgovarajući program ili sintaksu Alati za programski tok: Koriste se uglavnom bilo koji alati koji daju neki dijagram logički, ali pojedini alati mogu i direktno generirati dio koda iz dijagrama � Dizajnerski alati, Visio, Spec. Flow, Sketch. Flow, Visual Studio, UML Toolscript, . . . � � Segmentacija projekta: � � � Programiranje: � � Služi za ubrzanje i planiranje Excel, Project, . . . Ovisi uvijek o tipu projekta i potrebama Jezici: C/C++, C#, SQL, VB, Java, Objective-C, COBOL, . . . IDE: Visual Studio, Eclipse, X-Code, Notepad, . . . Dodatne stvari: � � Kontrola koda (SVN ako je potreban ili neophodan) Kontrola rada sustava i ljudi
Rad u timu vs solo rad TIM Brže se radi (do određene brojke članova) Svaki član specijaliziran, znači svatko radi svoj dio Paralelizacija posla Razmjena ideja kad se zapne, diskusija SAMOSTALNO Sporije sam nego s nekoliko ljudi Renesansni čovjek, zna sve, ali često i ništa Sve sam Snađi se kako znaš, nema diskusije. . .
Izvedba � � � � Važno odabir alata! Još važnije dobro isplaniran projekt! „Mjeri dvaput, reži jednom”, „Planiraj dvaput, kodiraj jednom”, „Smrt korisniku, život programeru!”, . . . Imjene i/ili rad u hodu su često uzrok predugom razvoju i rezultiraju često lošim proizvodom! Programiranje. . . Teško dati točne smjernice, jer sve uvijek ovisi o projektu Savjet: Napraviti „kostur”, pa onda dodavati „meso” i nakraju „navuči kožu i odjeću” ; ) Prijevod: Napraviti bazne klase i bazu rada programa, zatim implementirati redom svu funkcionalnost i nakraju spojiti s korisničkim sučeljem i ušminkat ; )
Izvedba, dobra praksa � � � Jako važno dokumentirati šta se radi i kako bi trebalo to raditi! Kod uredno i po nekim konvencijama pisati Organizirati sve po dobro osmišljenim folderima i fileovima Dobra organizacija fajlova, kao i dobar kod s komentarima je samo po sebi dokumantacija Zbog sebe da se snađete kasnije u svom poslu je dobro organizirat se, a kamoli ako netko drugi bude morao raditi poslije vas na tome Dokumentiranje iznomno važno, pogotovo ako kasnije ispravljate neke dijelove i/ili dodajete nove funkcionalnosti
Testiranje � � Testiranje je korak koji sam sebe objašnjava. . . Medologija testiranja opet, kao i sve ovisi o vrsti projekta, u ovom slučaju programa Metodologija jednostavna testiraj i ispravljaj dok ne proradi ; ) „Program bez bugova je samo onaj koji se ne koristi ili nije detaljno provjeren”
Zadnja faza projekta � � Završetak projekta Objava, tj. plasiranje na tržište Marketing i/ili jako veliki faktor sreće ako odlučite komercijalizirazti nešta Neke zanimljive statistike: � 1 od 12 projekata u prosjeku uspije � loš projekt s dobrim marketingom u većini slučaja bolje prolazi od odličnog projekta bez dobre promocije (čast izuzecima) �. . .
Kraj predavanja PITANJA? preko ljeta tko misli raditi, pomoći ću koliko mogu, a možete me i posjetiti u uredu na adresi Vatrogasna 5 danijel@dmt-softver. hr
- Slides: 12