Professional Documents
Culture Documents
MRS Ispitna Pitanja
MRS Ispitna Pitanja
Pod Informacionim sistemom se podrazumijeva sistem koji svoje veze sa okolinom obavlja
razmjenom informacija. Preslikavanje realnog sistema u informacioni sistem se izvodi
postupkom modelovanja procesa i podataka.
Druga def.: Informacioni sistem sačinjava skup procedura i uređaja koji je projektovan,
izgrađen, upravljan i održavan sa ciljem prikupljanja, bilježenja, čuvanja i prikazivanja skupa
informacija relevatnog u okruženju datog skupa korisnika i njihovih poslova.
Informatika je nauka koja se bavi procesima vezanim za obradu podataka, odnosno
informacija. Interdisciplinarna nauka koja proučava strukturu I svojstva informacije.
Podatak je kodirana predstava neke osobine, nekog koncepta, objekta, činjenice ili događaja
u realnom sistemu (npr: plavi, bijeli, 100, Banja Luka).
Informacija je je protumačeni podatak, odnosno znanje koje se može izvući iz podataka
(Banja Luka ima 200 000 stanovnika, plav ekran).
Teorija informacija omogućava kvantitativno proučavanje komunikacionih problema, kao
što je problem mjerenja količine informacija koju sadrži neka poruka ili problem organizacije
komunikacionih Sistema, tako da omogućavaju prenos što veće količine informacija u što
kraćem vremenu. Jedinica za mjerneje količine informacija je bit.
2. Klasifikacija informacionih sistema prema vrsti usluge?
1. Sistemi za računarske usluge objezbjeđuju računarske usluge opšte namjene različitim
klasama korisnika. Uobičajeni sistemi ovog tipa su računarski centri pri univerzitetima,
istraživačkim ustanovama i slično.
2. Sistemi za čuvanje i pretraživanje informacija projektovani su za pamćenje velikih
količina podataka i dokumenata i njihovo pretraživanje putem odgovarajućih upita.
3. Sistemi za obradu transakcija projektovani su za veliki broj istovremenih korisnika koji
izvršavaju unaprijed definisane operacije pretraživanja i ažuriranja podataka u bazi uz
generisanje izvještaja. Takvi su bankarski, poslovni i drugi slični sistemi.
4. CAD/CAM sistemi namjenjeni su za računarsku podršku prilikom inženjerskog
projektovanja u raznim inženjerskim disciplinama: građevinarstvu, arhitekturi, mašinstvu,
elektronici, elektrotehnici, itd.
5. Sistemi za komandovanje i kontrolu procesa obavljaju praćenje tehnoloških procesa,
signaliziranje pri pojavi unaprijed definisanih situacija, itd.
2. Softver (Software) - program ili skup programa koji omogućavaju da hardver obrađuje
podatke. Računarsko programiranje podrazumijeva niz vještina pomoću koje korisnik stvara
i izvršava algoritme koristeći određene programske jezike da bi napravio računarski
program. Programiranje sadrži elemente umjetnosti, nauke, matematike i inženjerstva.
3. Baza podataka (Database) - je dobro struktuirana kolekcija podataka, koja postoji jedno
određeno vrijeme, koja se održava i koju koristi više korisnika ili programa
Pod bazom podataka podrazumjeva se skup podataka o nekom realnom sistemu, koji se u
njemu koristi i kojim se on opisuje.
4. Računarska mreža (Network) - predstavlja sistem povezivanja (žično ili bežično) računara
koja im omogućava da međusobno dijele resurse.
Prema prostoru na kome se prostiru, računarske mreže mogu biti:
Personal Area Network (PAN)
Local Area Network (LAN)
Metropolitan Area Network (MAN)
Wide Area Network (WAN)
Global Network (Internet).
6. Šta je softver i kako se dijeli? Šta su programski, a šta script jezici? Navesti
danas najviše korištene programske jezike.
Softver je program ili skup programa koji omogućavaju da hardver obrađuje podatke.
Računarsko programiranje podrazumijeva niz vještina pomoću koje korisnik stvara i izvršava
algoritme koristeći određene programske jezike da bi napravio računarski program.
Programiranje sadrži elemente umjetnosti, nauke, matematike i inženjerstva.
Softver se dijeli na:
1. Sistemski softver - posrednik između korisnika i njihovih programa s jedne strane i
hardvera računarskog sistema s druge strane. Omogućava upotrebu tehničkog dijela
računarskog sistema.
Sistemski softver uključuje:
Operativne sisteme (skup računarskih programa zadužen za efikasan rad harvera o
ostvarivanja komunikacije između korisnika, programa i harvera računara)
Programe za prevođenje
Uslužne programe
Programski jezik je određen skupom simbola i pravilima njihovog slaganja kojim se opisuje
postupak računanja. Opis računanja u danom programskom jeziku interpretira, odnosno
tumači, stroj koje nazivamo računalo. Poznati sinonimi za postupak računanja
su algoritam i program.
Java
Phyton
ASP
ADA
PHP
Javascript
3. Fizički model podataka polazi od logičkog, a rezultira izrađenim fizičkim modelom. Fizički
model je opis stvarne fizičke organizacije podataka. Model ima oblik unutarnje sheme baze
podataka.
Baza podataka je dobro struktuirana kolekcija podataka, koja postoji jedno određeno
vrijeme, koja se održava i koju koristi više korisnika ili programa. Pod bazom podataka
podrazumijeva se skup podataka nekom realnom sistemu koji se u njemu opisuje i kojim se
on opisuje.
U širem značenju baza podataka podrazumijeva način organizacije, čuvanja i pretraživanja
uzajamno povezanih podataka namijenjenih informacionoj podršci zadacima koji se
rješavaju u toku korišćenja informacionog sistema.
Komercijalni:
Open source:
MySQL
Maria DB
Firebird
PostgreeSQL
Postoje još i licence otvorenog koda - Open source licence. Dijele se u dvije kategorije:
Licence koje imaju za cilj da sačuvaju slobodu i otvorenost samog softvera (Copyleft
licence – npr. General Public Licence, koja korisniku daje veoma široka prava, kao
što je pravo na redistribuciju, reverzni inženjering, odnosno vršenje izmjena na
softveru. Obaveze krajnjeg korisnika – mora da prihvati određene uslove ukoliko želi
sva prava iz licence, npr da objavi izvorni kod za sve izmjene koje su napravljene na
softveru).
Licence čiji je cilj da daju slobodu korisnicima softvera (Permissive licence – npr. BSD
licenca, koja garantuje krajnjem korisniku da može sa softverom da radi šta hoće,
uključujući i pravo da iskoristi softver i njegov izvorni kod kao dio softvera zatvorenog
koda objavljenog pod vlasničkom licencom).
10. Šta je proces razvoja softvera? Koje su četiri fundamentalne aktivnosti koje
su zajedničke za sve softverske procese?
Proces razvoja softverskih sistema predstavlja skup aktivnosti i odgovarajućih komponenti
koji zajedno dovode do stvaranja softverskog proizvoda. Ove aktivnosti se uglavnom
obavljaju od strane softverskih inženjera.
Postoje četiri fundamentalne aktivnosti koje su zajedničke za sve softverske razvojne
procese:
Specifikacija softvera: definisanje funkcija i ograničenja koje mora da ispuni
softverski sistem.
Realizacija softvera: realizacia softverskog sistema prema zadatim specifikacijama.
Provjera softvera: provjera da li je realizovani softverski sistem zadovoljava
postavljene zahtjeve.
Daljni razvoj softvera: proširenje softverskog sistema u cilju zadovoljenja novih
zahtjeva.
1. Analizi
2. Projektovanju
3. Razvoju
4. Testiranju
5. Implementaciji
6. Održavanju
7. Reinženjeringu softvera
Proces nastanka:
Osnovni nedostatak dvoslojne arhitekture je problem održavanja velikog broja istih kopija
aplikativnog softvera na svim klijentima. Prednost ovakve implementacije se ogleda prije
svega u mogućnosti da se u slučaju promjene poslovne logike izvrši izmjena samo
uskladištene procedure, bez izmjene aplikacije.
14. CASE alati, pojam i namjena. Tri najpoznatija CASE alata na svjetskom
tržištu?
Okvir za razvoj softvera u kojem centralno mjesto zauzima model na visokom nivou
apstrakcije naziva se MDA (Model Driven Architecture – Model bazirana arhitektura). Ova
arhitektura ne zavisi od konkretne imlementacione platforme (PIM). PIM se sastoji od
jednog ili više vrsta dijagrama koji opisuju statičke i dinamičke osobine sistema koji se
modeluje. MDA se koristi i kod razvoja skladišta podataka.
Za izradu modela koriste se CASE alati (Computer Aided Software Engineering -
„računarom podržano softversko inžinjerstvo“ ili „razvoj programskih proizvoda uz pomoć
računara“).
Raspoloživi CASE alati koji su najviše u upotrebi:
BpWin – Platinum
ErWin – Platinum
Oracle Designer
Rational Rose – IBM Paradigm Plus
Power Designer
15. Kako se dijeli Internet ili web programiranje? Za svaku od oblasti navesti
najmanje tri alata.
Web development se može podijeliti na više oblasti:
Programiranje na strani klijenta:
HTML, CSS, Java Script, AJAX, …
Programiranje na strani servera:
ASP, Java, Java Servlet, PHP, Python, .NET, ...
Projektovanje baza podataka:
MySQL, Microsoft SQL Server, IBM DB2, Oracle, PostgreSQL, ...
16. Šta obuhvata programski paket WAMP, a šta XAMP? Za šta su namjenjeni
njegovi alati?
Apache je open source Web server, tako da se i na lokalnoj mašini uz pomoć Apache
- a, može simulirati klijent/server.
MySQL je open source server baze podataka koji podržava SQL (Structured Query
Language) i idealan je kako za manje, tako i za veće baze podataka.
Ukratko, WAMP vam omogućava da na svom računaru simulirate rad internet servera, i da
za vaš sajt, prezentaciju ili šta god namjeravate da okačite na internet provjerite sve
funkcionalnosti koje ste u njega implementirali, i uvjerite se da sve radi kako treba.
Objasnimo prvo osnovne dijelove WAMP-a. Već smo rekli da W označava Windows
operativni sistem, dok se A odnosi na Apache, veb server koji omogućava da se na vašem
računaru nalazi istovremeno i korisnik (browser) i lokalni server. MySQL je sistem za
upravljanje relacionim bazama podataka, dok je PHP skriptni jezik koji služi za izradu
dinamičng veb sadržaja, i koji generiše novu veb stranu svaki put kada korisnik prustipi
serveru. Takođe, u paketu mogu biti uključeni i dodatni programi, kao što je phpMyAdmin,
kreiran u PHP-u, koji između ostalog služi za kreiranje, modifikovanje i brisanje baza
podataka, tabela, kolona i redova, koristeći SQL programski jezik.
17. Objasniti pojmove: www i http. Šta su dinamički, a šta statički web sajtovi?
Šta predstavlja DOM - Document Object Model? Namjena HTML, CSS i Java
Script jezika?
WWW – World Wide Web jeste najpopularniji Internet servis. Nastao je 1989. godine kao
rezultat ideje Tim Berners Li-a i njegovih saradnika u okviru Centra za nuklearna istraživanja
u Švajcarskoj (CERN). WWW je sistem sa prihvaćenim standardima za skladištenje,
pronalaženje i prezentaciju informacija u klijent-server konceptu. Veb stranice se zasnivaju
na standardnom HTML. Za realizaciju WWW servisa važan je veb server. Web server je
softver za lociranje i skladištenje web stranica. On locira web stranice koje korisnik računara
zahtjeva i dostavlja ih.
Protokol
Ime web servera
Putanja do izvora
Ime izvora
Dinamički veb sajtovi omogućavaju interakciju sa korisnikom. Dinamičke web sajtove čine
dinamičke stranice (skup php, asp, jsp... fajlova) koje takođe koriste HTML za komunikaciju
sa klijentom.
Statički sajtovi se ne mijenjaju sve dok sam autor web sajta nešto ne promijeni.
Omogućavaju slanje informacija ka korisnicima. Korisnici nemaju nikakvu mogućnost
interakcije. Statičke veb sajtove čine obične statičke HTML stranice (skup HTML fajlova).
HTML- definiše sadržaj web stranica
CSS- određuje izgled web stranica
Java Script – om se programira ponašanje web stranica
The Document Object Model (DOM) is a programming API for HTML and XML documents.
It defines the logical structure of documents and the way a document is accessed and
manipulated. In the DOM specification, the term "document" is used in the broad sense -
increasingly, XML is being used as a way of representing many different kinds of information
that may be stored in diverse systems, and much of this would traditionally be seen as data
rather than as documents. Nevertheless, XML presents this data as documents, and the
DOM may be used to manage this data.
With the Document Object Model, programmers can create and build documents, navigate
their structure, and add, modify, or delete elements and content. Anything found in an
HTML or XML document can be accessed, changed, deleted, or added using the Document
Object Model, with a few exceptions - in particular, the DOM interfaces for the internal
subset and external subset have not yet been specified.
18. Šta je SQL (Structured Query Languague) i čemu služi? Koja je razlika
između pojmova: SQL, MySql i MS SQL Server? Šta je CRUD?
SQL (Structured Query Language) – standardni upitni jezik za relacione baze podataka (i
objektno relacione). SQL je nastao 1974. god. od strane Donalda D. Chamberlina i Raymond
F. Boyce u IBM-ovoj istraživačkoj laboratoriji. SQL služi za rad sa tabelama.
SQL (Structured Query Languague) je standardni relacioni jezik baza podataka. Preko njega
se definišu strukture relacionog modela (skup tabela i njihovih atributa, ključeva i drugo),
skup ograničenja vrednosti atributa i dinamička pravila integriteta. Jednostavnost strukture
relacionog modela (skup ravnih tabela) i jednostavan jezik za manipulaciju nad njima učinili
su relacioni model najpopularnijim implementacionim modelom baza podataka.
Za obradu i dohvatanje podataka koriste se upiti napisani na jeziku SQL (Structured Query
Language). Postoje četiri vrste upita kojima se dohvataju i obrađuju podaci – SELECT,
INSERT, UPDATE i DELETE. Nekad se ovaj skup operacija naziva i CRUD – Create Read Update
Delete.
Faze razvoja:
SQL- upitni jezik, MySql – open source SUBP (Database Management System (DBMS)) - je
sistem za upravljanje relacionim bazama podataka, MS SQL Server - komecijalni SUBP
(Sistem za upravljanje bazama podataka).
SUPB=DBMS
19. Šta je JSON (JavaScript Object Notation), čemu služi i od čega se sastoji? Šta
je XML (Extensible Markup Language), čemu služi i od čega se sastoji?
JSON - JavaScript Object Notation, je popularan format koji služi za prijenos i razmjenu
podataka putem web-a, gdje se služimo jednim jezikom da sačuvamo i primimo neke
podatke. Samo ime JavaScript Object Notation govori da je nešto povezano i inspirisano sa
JavaScript-om.
JSON Format koji ne zavisi niti o jednom programskom jeziku, ali koristi konvencije
programskih jezika C familije, uključujući C, C++, C#, Java, JavaScript, Perl, Python i mnoge
druge. JSON format se često koristi za serijalizaciju i prenos strukturiranih podataka preko
mrežn.
XML-ova osnovna svrha je da olakša dijeljenje podataka kroz različite informacione sisteme,
posebno kroz one sisteme koji su povezani sa Internetom.
Svaki XML dokument mora imati jedan korijenski ili "root" element koji uokviruje
kompletan sadržaj. Taj element opisuje XML dokument
XML element može sadržavati: tekst, atribute, druge elemente ili kombinaciju već
navedenog. Ti elementi moraju poštivati sljedeća pravila imenovanja: Imena mogu
sadržavati brojeve i druge znakove Imena su osjetljiva na velika i mala slova Imena ne smiju
počinjati brojem ili interpunkcijskim znakom Imena ne smiju počinjati slovima xml ili XML ili
Xml. Imena ne mogu imati razmak u sebi.
10 ciljeva XML-a:
20. Šta je proces razvoja softvera? Koje su četiri fundamentalne aktivnosti koje
su zajedničke za sve softverske procese?
Model vodopada
Spiralni model
Evolutivni model (prototipski razvoj)
Agilni razvoj softvera
Problem je u tome što stvarnost gotovo nikad nije tako jednostavna i uređena. Model polazi
od pretpostavke da su sve informacije koje su neophodne za obavljanje određenog posla
poznate tokom njegovog obavljanja i ne dopušta naknadnu pojavu novih informacija tokom
postupaka. Izuzev u vrlo malim i jednostavnim sistemima a takvih slučajeva je veoma mali
broj.
Model vodopada ne dozvoljava ni mijenjanje poslovnih zahtjeva tokom izrade projekta.
Potpuno je nerealno pretpostaviti da će sistem koji ispunjava poslovne zahtjeve na početku
nekog projekta, ispunjavati te zahtjeve i poslije dvije ili tri godine rada. Međutim treba imati
u vidu da su aktivnosti identifikovane u modelu vodopada potpuno ispravne.
Problem sa modelom vodopada je njegova linearnost, tj. pretpostavka da se nikad ne treba
vraćati na određenu fazu nakon njenog završetka. Takva situacija je naročito opasna pri
projektovanju baze podataka, gdje proširivanje opsega projekta može da promijeni
semantiku podataka, što zahtjeva mijenjanje šeme baze podataka, a izmjena šeme može
dovesti do neočekivanih i nepredvidljivih izmjena u cijelom sistemu.
Po završetku faze procjene rizika kreće se u novi ciklus, ali sa proizvodom kojije ovoga puta
savršeniji, bogatiji funkcijama i kvalitetniji.
Agilni razvoj softvera podrazumeva razvoj softvera kroz ponavljanja (ka cilju) gde se glavni
životni ciklus projekta sastoji od nekoliko iteracija u nizu.
Zahtjevi predstavljaju osobine i uslove koje sistem ili projekat mora da zadovolji. Zahtjevi se
opisuju pomoću modela slučaja korišćenja (eng. use-case model) koji predstavljaju skup
željenih korišćenja sistema od strane krajnjih korisnika. U ovoj fazi se definišu svi učesnici u
sistemu i slučajevi korišćenja. Karakteristika ove faze je intenzivna saradnja između
projektanta i osobe koja dobro poznaje domen problema.
Ova faza najčešće počinje tektualnim opisom zahtjeva radi formiranja slučajeva korišćenja
koji se predstavljaju tekstualno i grafički. Slučajevi korišćenja definišu interakciju korisnika sa
sistemom, koje opisuje skup od jednog osnovnog i više alternativnih scenarija.
Scenario predstavlja skup željenih korišćenja od strane korisnika sistema.
Faze analize- opisuje logičku strukturu i ponašanje softverskog sistema (poslovnu logiku
softverskog sistema). Ponašanje softverskog sistema je opisano pomoću sistemskih
dijagrama sekvenci, koji se prave za svaki slučaj korišćenja i pomoću ugovora o sistemskim
operacijama, koje se dobijaju na osnovu sistemskih dijagrama sekvenci.
Struktura softverskog sistema se opisuje pomoću konceptualnog modela. Konceptualni
model sistema opisuje konceptualne klase domena problema i asocijacije među njima.
Konceptualne klase predstavljaju atribute softverskog sistema, što znači da opisuju njegovu
strukturu. Konceptualni model služi kao osnova za izradu relacionog modela i šeme baze
podataka. Relacioni model je još uvijek najpopularniji model i osnova najvećeg broja
komercijalnih sistema za upravljanje bazom podataka.
Projektovanje–opisuje fizičku strukturu i ponašanje softverskog sistema (arhitekturu
softverskog sistema). Projektovanje arhitekture softverskog sistema obuhvata projektovanje
aplikacione logike, skladište podataka i korisničkog interfejsa. U okviru aplikacione logike se
projektuju kontroler, poslovna logika i database broker.
Implementacija – u ovoj fazi se vrši kodiranje softverskog sistema u nekom od objektno-
orijentisanih programskih jezika.
Testiranje –u zavisnosti od arhitekture softverskog sistema, ova faza se može podijeliti u
nekoliko nezavisnih dijelova testiranja. Nezavisne jedinice testiranja su softverske
komponente koje smo dobili u fazi implementacije softverskog sistema. Testiranje svake
softverske komponente podrazumijeva sledeće:
a) test slučajeva koji opisuju šta test treba da provjeri,
b) test procedura koje opisuju kako će se izvršiti test i
c) test komponente koje treba da automatizuju test procedure ukoliko je to moguće.
Nakon testiranja softverskih komponenti vrši se njihova integracija. U tom smislu se prave
integracioni testovi softverskih komponenti.
U fazi istraživanja klijenti opisuju kartice s pričama koje opisuju funkcionalnosti koje žele u
programu. Ovo vodi ka fazi planiranja gdje se dodaje prioritet svakoj kartici s pričama i gdje
se određuje raspored prve isporuke programa. U fazi iteracije do isporuke, razvojni tim u
prvoj iteraciji stvara sistem koji ima arhitekturu cjelokupnog sistema, a potom se kod stalno
integriše i testira.
Dodatna testiranja i provjera performansi sistema prije isporuke sistema klijentu provode se
u fazi produkcije. Sve odgođene ideje i prijedlozi nastali u ovoj fazi se dokumentuju kako bi
se kasnije implementirali u budućim ažuriranjima koja će biti obavljena u fazi održavanja.
Zadnja faza je faza smrti, u kojoj klijent nema više kartica s pričama, odnosno kad nema više
zahtjeva prema razvojnom timu. U ovoj fazi piše se sva dokumentacija sistema budući da
nema više promjena u arhitekturi, dizajnu i kodu sistema.
28. Agilne metodologije razvoja softvera, Scrum: pojam, karakteristike, faze.
Scrum model- se može okarakterisati kao iteraktivni, inkrementalni proces za razvoj bilo
kakvog softvera ili upravljanje bilo kakvim poslom. Naglasak je na odgovoru na pitanje kako
bi članovi tima trebali funkcionirati da bi postigli fleksibilnost sustava u stalno mijenjanje
okolnostima. Na kraju svake iteracije, proizvodi se potencijalni niz funcionalnosti. Izraz
„SCRUM“ ima svoje porijeklo iz strategije koja se koristi u ragbiju, a koji znači vraćanje lopte
koja je izvan igre u igru pomoću timskog rada.
Scrum kao model razvoja softvera ne zahtjeva korištenje specifičnih metoda i prakse.
Umjesto toga, traži se korištenje određenih management praksi i alata u različitim fazama
kako bi se izbjegao haos koji je rezultat nepredvidljivosti i kompleksnosti.
Ključne prakse Scruma:
Zaostatak proizvoda (eng. product backlog)- predstavlja listu prioriteta svih funkcionalnosti i
promjena koje još treba implementirati u sistem, a koje žele razni sudionici u procesu kao
što su klijenti, odjeli markentinga i prodaje i projektni tim. Vlasnik proizvoda (eng. product
owner) je zadužen za održavanje.
Sprintovi – sprintovi traju 30 dana i predstavljaju proceduru pomoću koje je moguće
prilagođavanje promjenjivim varijablama u okruženju (zahtjevi, vrijeme, resursi, znanje,
tehnologija itd.). sprintovi moraju rezultirati inkrementalnim softverom koji je potencijalno
isporučiv. Kao radni alati koriste se sastanci za planiranje sprinta, zaostatak sprinta i dnevni
Scrum sastanci.
Sastanak za planiranje sprinta-na ovom sastanku se prvo nalaze klijenti, korisnici,
managment, vlasnik proizvoda i Scrum tim te se definiše set ciljeva i funkcionalnosti. Nakon
toga, Scrum Master (projektni manager) i Scrum tim se fokusiraju na način na koji će
proizvod biti implementiran tokom sprinta.
Zaostatak sprinta- predstavlja listu funkcionalnosti koje treba razviti za određeni sprint. Kad
su sve funkcionalnosti razvijene, isporučuje se nova
iteracija sistema.
Dnevni Scrum- predstavlja dnevni sastanak koji traje otprilike 15min, a koji se organizuje sa
svrhom praćenja napretka Scrum tima i rješavanja prepreka koje je tim susreo.
Faze DSDM-a:
1. Studija izvodljivosti-ova faza dovodi do odluka hoće li se koristiti DSDM. Ovo se
postiže na način da se ispituje tip projekata te organizacioni i ljudski problemi. Kao
rezultat ove faze izrađuje se izvještaj o izvodljivosti i nacrt plana razvoja.
2. Poslovna studija-u ovoj fazi se predlaže organizovanje radionice kako bi se olakšalo
razumijevanje poslovnog procesa. Kao rezultat ove faze izrađuju se definicija
arhitekture sistema i plan za nacrt prototipa.
3. Iteracija funkcionalnog modela-predstavlja prvu fazu iteracije. U ovoj fazi radi se
analiza, pisanje koda i razvoj prototipa. Razvijeni prototipovi služe kako bi se
poboljšali analitički modeli. Kao rezultat ove faze izrađuje se funkcionalni model koji
se sastoji od koda prototipa i analitičkih modela.
4. Iteracija dizajna i razvoja- sistem se većinom gradi u ovoj fazi. Korisnici ispituju
dizajn i funkcionalne prototipove te su njihovi komentari osnova za dalji razvoj.
5. Implementacija-predstavlja konačnu fazu u kojoj se sistem isporučuje korisnicima. U
ovoj fazi organizuju se treninzi ua korisnike i izrađuju se korisnički priručnik i izvještaj
o pregledu projekta. Bitno je naglasiti da iterativna i inkrementalna priroda DSDM-a
znači da se održavanje sistema može smatrati i stalnim razvojem. Projekat ne mora
biti završen u jednom ciklusu umjesto toga projekt može biti vraćen u bilo koju od
faza kako bi se one usavršile.
Njihov međusoban onos prikazan je preko dijagrama toka podataka (DTP). DTP:
1. Krug ili elipsa predstavlja funkciju ili proces obrade podataka
2. Pravougaonik predstavlja interfejs
3. Usmjerena linija predstavlja tok podataka
4. Dvije paralelne linije (otvoreni pravougaonik) predstavlja skladište podataka
Dijagram mora imati svoj početak i kraj. Dijagram toka podataka na vrhu hijerarhije naziva
se DIJAGRAM KONTEKSTA. Procesi koji se dalje ne mogu dekomponovati nazivaju se
PRIMITIVNI PROCESI.
Interfejsi predstavljaju entitete (objekte) iz realnog svijeta.
Osnovni elementi SSA:
1. Dijagram toka podataka DTP
2. Riječnik podataka- RP
3. Opis logike primitivih procesa (Pseudo kod, Stabla i tabele oslučivanja, Dijagram
akcija)
Riječnik podataka daje opis strukture i sadržaja svih tokova i skladišta podataka. Bez obzira
što tok ili skladište podataka predstavljaju, papirni dokument, niz karaktera kao ulaz sa
terminala, „paket“ informacija dobijen telekomunikacionom linijom, kartoteku ili datoteku,
kao logička struktura podataka oni predstavljaju neku kompoziciju polja.
Da bi precizno definisali logičku strukturu skladišta i tokova i definisali sintaksu riječnika
neophodno je da uvedemo definicije svih koncepta riječnika.
1. Polje je elementarna (atomska) struktura koja se dalje ne dekomponuje i koja
ima svoju vrijednost.
2. Polje svoju vrijednost uzimaju iz skupova vrijednosti koji se nazivaju domenima.
IEEE 1219 def: Održavanje programske podrške je modifikacija softverskog proizvoda nakon
isporuke kako bi se ispravile greške, poboljšale performanse ili kako bi se softverski proizvod
prilagodio promjenjenoj radnoj okolini.
Standard IEEE 1219 eksplicitno izražava da planiranje održavanja treba započeti s
planiranjem razvoja softvera. Međutim, ovaj model smatra da je održavanje zasebna faza
koja nastupa nakon isporuke softvera, aktivnosti prije isporuke.
Na slici je prikazan ovaj model, i on opisuje ulaze u proces održavanja, proces održavanja u
cjelini, rezultate procesa održavanja, i način uspostave kontrole nad njim.
Troškovi: Najveći dio troškova (50% )čini perfektivni dio održavanja softvera.
38. Šta predstavljaju faze projekta, a šta je Program (sa stanovišta upravljanja
projektima)?
Upravljanje projektima je primjena znanja, vještina, alata i tehnika na aktivnosti projekta da
bi se postigli projektni ciljevi.
Faza projekta predstavlja niz događaja koji imaju svoj početak i kraj, te neki rezultat. Po
fazama se projekat dijeli na manje cjeline zbog lakšeg upravljanja projektom. Faze projekta
se dalje dijele na zadatke. Svaka faza projekta je označena završetkom jednog ili više
zadataka.
Program (sa stanovišta upravljanja projektima) je grupa povezanih projekata, podprograma i
programskih aktivnosti kojima se upravlja na koordinisan način da bi se ostvarili benefiti koji
koji se ne bi mogli ostvariti ukoliko bi se njima upravljalo pojedinačno.
39. Strukture softverskih timova i njihove karakteristike.
Strukture softverskih timova:
➢Demokratski tim
➢Glavni-programer tim („šefovski tim“)
➢Modifikovani šefovski tim
➢Sinhronizovan i stabilizovan tim
➢Ekstremno programiranje (XP)
Demokratski tim:
➢Zahtjevaju programiranje bez ega:
– Programeri nisu previše vezani za svoj kod
– Neophodna dobra atmosfera u timu i međusobna saradnja
– Pronalaženje bagova daje pozitivan efekat
XP tim
Baziran na programiranju u paru:
– šire znanje koje imaju dvije osobe nego pojedinac
– pomaže manje iskusnim programerima da ubrzaju rad
Dokazi:
– Istraživanje na Univerzitetu Utah na naprednom kursu programiranja: Svoje testove
parovi su radili za 60% vremena od vremena koje je bilo potrebno pojedincu. Test je
prošlo 94% studenata, za razliku od 78% kada su radili pojedinačno.
Programiranje u paru poboljšava zadovoljstvo poslom i sveukupno povjerenje.
Sedam projektnih faktora
Koje faktore treba uzeti u obzir prilikom strukturiranja softverskog tima?
– težina problema koji treba rešiti
– veličina rezultujućeg programa u linijama koda
– vrijeme koje će tim provesti zajedno (team lifetime)
– stepen u kojem problem može biti izdjeljen na module
– zahtjevani kvalitet i pouzdanost sistema koji se pravi
– rok završetka softvera (deadline)
– komunikacija u timu
40. Šta je Gantov dijagram i za šta se koristi? Nabrojati dva alata za kreiranje
Gantovog dijagrama. Koji su koraci u kreiranju Gantovog dijagrama?
Gant čart (Gantt chart), Gantov dijagram ili Gantogram su različiti nazivi za jednu te istu
stvar, odnosno za najčešće korišćeni prikaz projekta.
Gantov dijagram je dijagram koji se koristi za grafički prikaz rasporeda projekta. Gantogrami
ilustriraju početni i krajnji datum nekih nepromjenjivih i sažetih elemenata projekta.
Nepromjenijivi ili terminalni elementi kao i sažeti elementi obuhvataju podjelu radne
structure.
Gantov dijagram, koraci u kreiranju:
1. Napraviti listi aktivnosti (taskova)
2. Povezati aktivnosti
3. Odrediti početak I kraj aktivnosti
4. Dodati kontrolne tačke (milestone)
5. Dodati resurse
46. Koja su tri osnovna tipa organizacija? Nabrojati karakteristike svake od njih.
Polazni korak u primjeni koncepta upravljanja projektom je definisanje odgovarajuće
organizacione forme koja je zadužena za upravljanje realizacijom projekta. Poseban akcenat
se stavlja na određivanje rukovodioca projekta (project manager) koji upravlja realizacijom
projekta. Organizacija za upravljanje projektom je jedan od osnovnih uslova za efikasnu
primjenu koncepta upravljanja projektom.
Za upravljanje složenim projektima najbolje je formirati posebnu jedinicu - projektni tim,
koja će isključivo radi na realizaciji projekta i biti odgovorna za njegovu efikasnost.
Projektovanje organizacije za upravljanje projektom može se izvesti na dva osnovna
pristupa:
✓klasični: funkcionalni, projektni, matrični tip organizacione forme;
✓kontigencijski: projektni ekspeditor, projektni koordinator, matrična forma,
projektna forma.
Komunikacija koja se zasniva na korištenju prozora kao radne površine, ikona kao
reprezenta mogućih aplikacija, menija kao mehanizma odlučivanja i pokazivača kao
reprezenta položaja korisnika u virtuelnom svijetu generisanog programskom logikom, često
se naziva i WIMP paradigma (eng. windows, icons, menus, pointer) prema osnovnim
konceptima na kojima se zasniva.
48. Šta je autorizacija? Koji je značaj autorizacije kod zaštite informacionih
sistema?
Autorizacija ili ovlašćenje je funkcija navođenja prava pristupa resursima koji računarsku
bezbednost uopšte, naročito kontrolu pristupa. Formalno, "autorizovati" znači definisati
politiku pristupa.
Tokom rada, sistem koristi pravila za kontrolu pristupa da odluči Intra da li će biti odobren
pristup zahtjeva od (provjerenih) potrošača koji ili će biti odbijen. Resursi uključuju
pojedinačne datoteke ili stavke podataka, računarske programe, računarske uredaje i
funkcionalnosti koje pružaju računarske aplikacije. Primjeri potrošača su korisnici računara,
računarski programi i drugi uređaji na računaru.
Značaj autorizacije?
Računarski virus je program koji se može sam reprodukovati tako što dodaje sopstveni kod
nekom drugom programu. Rezultat izvršavanja virusa može biti ispisivanje neke poruke na
ekranu, prikaz slike, modifikovanje ili brisanje neke datoteke, poziv nekog telefonskog broja,
itd, tj. virus može uraditi sve što i računarski program može.
Ciljevi autora virusa su: brzo širenje virusa, da se virus teško detektuje i da odbrana od
virusa bude što komplikovanija.
Najpoznatiji tipovi virusa su:
parazitni (uvijek se nalaze kao deo nekog izvršnog programa),
stalno prisutni u operativnoj memoriji (obično su deo nekog sistemskog
programa i inficiraju sve programe koji se izvršavaju),
boot sektor (inficiraju glavni boot slog i šire se nakon podizanja sistema sa
diska),
stealth (posebno su projektovani da budu nevidljivi prilikom detekcije od
strane antivirusnih softvera),
polimorfni (virusi koji mutiraju prilikom svakog inficiranja, čime ostvaruju da
detekcija na osnovu karakterističnog uzorka virusa nije moguća).
Crv je računarski program koji kopira samog sebe sa jednog računara na drugi.
Mogu se koristiti za prenošenje virusa ili za zamjenu postojećih datoteka verzijama datoteka
koje predstavljaju Trojanske konje. Obično se crvi prenose preko računarske mreže koristeći
nedostatke operativnih sistema u pogledu zaštite. Brzo se repliciraju i troše puno memorije
na „host“ računarima. Za razliku od virusa, za aktiviranje crva nije potreban korisnik i oni
skrivaju svoje širenje na druge računare.
Trojanski konj je program koji se najčešće prenosi na ciljni računar kao nevidljivi dodatak uz
neki drugi program, a zatim dolazi to njegovog aktiviranja.
Mogu se prenijeti kopiranjem programa, download-ovanjem sa Interneta, kao i otvaranjem
attachment-a u e-mailu. Aktivnosti Trojanskih konja mogu biti veoma različite. Mogu da
brišu podatke, pošalju svoju kopiju na sve računare sa liste e-mail adresa i da omoguće
dodatne napade na dati računar. Obično ostvaruju povezivanje sa nekim udaljenim
računarom i prenose informacije sa računara na kome su instalirani. Najopasniji su oni koji
se izvršavaju u okviru kernela.