05.1 - Objektno orijentirani pristupi i implementacija Flashcards
(21 cards)
što je objektna orijentacija
strategija dizajniranja sustava koja polazi od objekata, a ne od funkcija ili operacija
koje aktivnosti u razvoju softvera primjenjuju objektnu orijentaciju
- objektno orijentirana analiza (OOA)
- objektno orijentirano modeliranje (OOM)
- objektno orijentirano programiranje (OOP)
objasni objektno orijentiranu analizu
- provodi se u fazi planiranja i prepoznavanja korisničkih zahtjeva
- korisnički zahtjevi grupiraju se oko prepoznatih objekata
- koriste se dijagrami slučajeva korištenja
objasni objektno orijentirano modeliranje
- oblikovanje sustava temelji se na oblikovanju klasa objekata i odnosa između pojedinih klasa objekata
- oblikovanje klasa objekata zahtjeva statički ili strukturni prikaz, kao i dinamički ili interaktivni prikaz modela klase objekta
- dio je objektno orijentiranog razvoja sustava koju najčešće slijedi implementacija modela
[OOM] objektno-orijentirana analiza
objektno-orijentirani model na aplikativnoj razini
- identificirani objekti iskazani su pridruženim entitetima i operacijama kojima se treba riješiti problem
[OOM] objektno-orijentirani dizajn
odnosi se na razvijanje objektno-orijentiranog modela softvera u koji treba ugraditi identificirane zahtjeve
[OOM] objektno-orijentirano programiranje
odnosi se na realizaciju dizajna softvera pomoću objektno-orijentiranih programskih jezika
kako se prikazuju objekti, klase i njihova svojstva tijekom modeliranja
grafički, korištenjem UML-a kao standarda za modeliranje objektno orijentiranih softverskih rješenja
što uključuje faza implementacije
izradu programskih komponenti i pisanje programskog koda
objasni fazu implementacije softvera
- faza izrade softverskog rješenja, programiranje komponenti uz korištenje različitih programskih alata
- razvoj prve verzije softvera koja se može evaluirati
- potreban je jasan i detaljan model softvera te uspostava razvojnog okruženja u skladu s arhitekturom budućeg sustava
što je radno okruženje u kontekstu implementacije
konkretno računalo ili mreža računala unutar koje se provode pojedine faze životnog ciklusa softverskog rješenja
- razvojno - implementacija i programiranje
- testno - testiranje
- produkcijsko - korištenje softvera
objasni razvojno okruženje
- sastoji se od opreme (hardver i softver) koju programski tim koristi za razvoj softvera u kontroliranom okruženju
- obilježja ovise o softverskoj arhitekturi, nefunkcionalnim zahtjevima i stručnim znanjima razvojnog tima
što je programska paradigma u kontekstu implementacije
- pristup klasifikaciji programskih alata i programskih jezika koji određuje pogled koji programer ima nad programom i njegovim izvršavanjem kao i sami stil pisanja programskog koda
- implementacija zahtjeva bit će provedena na način koji ovisi o programskoj paradigmi
koja je osnovna podjela programskih paradigmi
- imperativne programske paradigme - programer daje upute računalu kako da mijenja svoja stanja (proceduralno programiranje, objektno orijentirano programiranje)
- deklarativne programske paradigme - programer opisuje obilježja traženog rješenja, ali ne i način izračuna (funkcijsko, logičko i matematičko programiranje)
što je programski jezik
formalni jezik koji se sastoji od skupa naredbi koje izvršavaju niz radnji i proizvode niz izlaza
- koristi se za implementaciju algoritama koji proizlaze iz modela softvera koji nastaju u fazi oblikovanja softverskog rješenja
objasni objektno orijentirane programske jezike
- naredbe su organizirane u obliku objekata
- svi objekti sadržavaju podatke i programski kod
- najčešće bazirani na klasama, svaki objekt predstavlja instancu klase kojoj pripada
- postojanjem klasa ubrzava se postupak programiranja, povećava točnost i efikasnost koda
objasni CASE (Computer-aided software engineering)
skupina programskih alata koji se koriste u fazi oblikovanja i implementacije softvera
- podržavaju točno određen zadatak tijekom bilo koje faze softverskog procesa
- podjela: jednostavni alati, radne klupe, radna okruženja
navedi primjere CASE alata
alati za…
- grafičko modeliranje
- izradu programskog koda i pretvorbu u izvršni kod
- otklanjanje pogrešaka
- analizu i provjeru programskog koda
- upravljanje repozitorijem projekta
- provjeru performansi programskog koda
- upravljanje projektom
što je CASE Workbench
dva ili više CASE alata koji podržavaju točno određene aktivnosti prilikom bilo koje faze softverskog procesa čime se osigurava
- homogeno i konzistentno korisničko sučelje
- neprimjetna integracija alata ili nizova CASE alata
što je CASE Environment
skup CASE alata i CASE Workbench softvera koji imaju za cilj podržati cijeli softverski proces
klasifikacija CASE okruženja
- Toolkits - slabo povezan skup CASE alata obično vezan za operativni sustav
- 4GL - okruženja jezika četvrte generacije (Visual C#)
- jezično bazirana okruženja - okruženje vezano za točno jedan, obično objektno orijentirani jezik (Visualworks SmallTalk)
- integrirana okruženja - pokrivaju cijeli softverski proces, softverski artefakti čuvaju se u zajedničkoj bazi podataka u obliku repozitorija
- procesna bazirana okruženja - najviši stupanj integracije koji se veže za metodologiju razvoja softvera i sadrži sve elemente metodologije