teorija za drugi kolokvijum

Upload: milos-subotic

Post on 07-Jul-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/18/2019 Teorija Za Drugi Kolokvijum

    1/21

  • 8/18/2019 Teorija Za Drugi Kolokvijum

    2/21

    1. Objasniti ta su !"#$ alati i njihovu namenu.

    osebna grupa alata$ koja automatizuje metode i procedure razvoja so'tvera i istovremeno%• skraćuju vreme$• smanjuju troškove izrade i• podižu kvalitet razvijenog so'tverskog proizvoda.

    +o su programi koji automatizuju i podržavaju jednu ili više 'aza životnog ciklusa razvojasistema.Namera ove te nologije jeste da ubrza procese razvijanja sistema i poboljša njegov kvalitet.

    !"#$ tehnologija• ovećanje produktivnosti u razvoju so'tvera pomoću so'tvera• nženjersko projektovanje so'tvera pomoću računara.• So'tverski proizvod namjenjen automatizaciji izrade so'tvera

    %jihova namena je&• ovećanje produktivnosti projektanata• Skraćenje vremena izrade so'tvera /• ovećanje kvaliteta so'tvera• 0napre!enje per'ormansi sistema

    Skup integrisani računarski sistema za inženjering (12S3) i alate koji pomažu razvojaplikacija u razvoju so'tvera$ a koriste se za analizu poslovni za teva$ projektovanjeaplikacija$ generisanje koda aplikacije itd

    2. %abrojati neke od komercijalnih i bes'latnih !"#$ alata.

    (omercijalni&• # 4ational 4ose• orland +oget er • #icroso't &isio• 3nterprise 2r itect

    )es'latni&• oseidon• Smart Dra5n• Dia• 2rgo0#6

    2

  • 8/18/2019 Teorija Za Drugi Kolokvijum

    3/21

    1. Objasniti ta su to dizajn 'aterni i koja je njihova namena u so*tverskomin+enjerstvu

    Dizajn 'atern

    4ešenje učestalog problema u dizajnu 2bstrakuje strukturu dizajna koji se ponavlja#astoji se od klasa i,ili objekata

    • *avisnosti• Strukture• nterakcije• ,onvencije

    3ksplicitno imenuje i speci'icira strukturu i dizajnDestiliše iskustvo u dizajnuDizajn 'atern ima - osnovna dela&

    • me• roblem• 4ešenje• osledice

    7ezička i implementaciona nezavisnost#ikro ar itektura0skla!enost sa postojećim metodologijamaNema me aničke primene

    • rogramer mora prevesti rešenje u konkretne pojmove u kontekstu aplikacije

    2. Objasniti zbog ega su nam 'otrebni dizajn 'aterni?/i estruka u'otreba znanja

    • roblemi nisu jedinstveni. &išestruko korišćenje pret odnog iskustva može biti korisno.• aterni nam daju savete 8gde da tražimo probleme9.

    0s'ostavljaju zajedni ku terminologiju• 6akše je reći% 8-vde nam treba "acade 8.

    Obezbeđuju ve i ste'en a'strakcije• -sloba!a nas potrebe za rad sa previše detalja u ranim 'azama

    3. #truktura dizajn 'aterna.

    me 'aterna i klasi*ikacija : Sažeto izlaže suštinu%amena : ,ratak iskaz o tome šta patern radi

    otivacija : Scenario koji ilustruje problem projektovanja i način na koji strukture klasa i objekata u paternu rešavaju taj problem.4rimenjivost : Na koje situacije se patern može primeniti.#truktura : ;ra'iki prikaz klasa u paternu.0 esnici : ,lase i

  • 8/18/2019 Teorija Za Drugi Kolokvijum

    4/21

    4osledice : ,oje su prednosti i nedostaci korišćenja paternam'lementacija : Saveti i te nike za implementaciju paterna

    -. Osnovni ti'ovi 5o6 'aterna 'rema njihovoj nameni.Objasniti ime se bavi svaki od ti'ova 'aterna.

    !reational (pravljenje) paterni%• ave se postupkom inicijalizacije i kon'igurisanja objekata.

    #tructural (struktura) paterni%• ave se sastavljanjem klasa i objekata.

    )ehavioral (ponašanje) paterni%• -pisuju kako klase ili objekti me!usobno utiču jedni na druge i kako dele odgovornosti.

    7. Objasniti namenu i 'roblem koji se re ava za slede e dizajn 'aterne& #ingleton86acade8 !om'osite8 !ommand8 9em'late method8 Observer8 "da'ter i 4rotot:'e.

    #ingleton%amena-bezbe!uje da klasa ima samo jedan primerak (instancu) i daje mu globalnu tačku pristupa.4roblem *a neke klase je važno da imaju samo jednu instancu. #ada u sistemu može da bude mnogoštampača$ trebalo bi da postoji samo jedan spuler za štampanje. +rebalo bi da postoji samo

    jedan sistem datoteka i jedan upravljač prozorima.Re enje= 4ešenje je da se sama klasa učini odgovornom za čuvanje zapisa o svojoj sopstvenojinstanci.

    = ,lasa može obezbediti da se ne može kreirati druga instanca (sprečavanjem za teva zakreiranje novi objekata)$ kao i način za pristup kreiranoj instanci.

    6acade ;6asada<

    roblem% Nema enkapsulacije > -perator mora da zna puno% strukturu ? ponašanje > reduslovi

    − Spretnost > Duplira metode > Slabija vidljivost 'unkcionalnosti podsistema.

    %amena > -bezbe!uje jedinstveni inter'ejs za skup inter'ejsa jednog podsistema. > "acade de'iniše inter'ejs višeg nivoa da bi se podsistem lakše koristio.

    4rimenjivost > ,oristite "acade u sledećim slučajevima

    = ,ada složenom podsistemu oćete da date jednostavan inter'ejs.= ,ada oćete da raslojite podsisteme. 0potrebite "acade za de'inisanje ulazne tačke za

    svaki nivo podsistema.

    4

  • 8/18/2019 Teorija Za Drugi Kolokvijum

    5/21

    !om'osite ;#astav<

    = 2pstraktna osnovna klasa (1omponent) de'iniše jedinstveno ponašanje.= rimitive i 1omposite klase su podklase.= 1omposite de'iniše ponašanje komponenti koje imaju decu i čuva komponente decu.4osledice&= Dobre

    > -lakšava dodavanje novi vrsta komponenti. > ojednostavljuje posao klijentu koji obično ne znaju da li imaju posla sa listom ili sa

    složenom komponentom.= 6oše

    > #ože da dovede do previše uopštenog dizajna$ čime se teže postavljaju ograničenja zakomponente sastava.

    !ommand ;(omanda<

    = oznat tako!e kao 2ction (akcija)$ +ransaction (transakcija)= %amena

    > 3nkapsulira za tev kao objekat čime omogućava parametrizaciju klijenata sa različitimza tevima$ redovima za čekanje$ ili za tevima za 'ormiranje dnevnika rada$ i podržavaoperacije čije se dejstvo može poništiti.

    > ,ada oćete da parametrizujete objekte akcijom koju treba da izvrše > ,ada želite da navedete$ pore!ate i izvršite za teve u različito vreme > ,ada oćete da podržite poništavanje akcije.

    > ,ada oćete da podržite evidentiranje promena da bi se one mogle ponovo primeniti= 4roblem

    > otrebno je da prosle!uje za teve objekata bez ikakvog znanja o operaciji koja seza teva ili o primaocu za teva

    9em'late method ; ablonski metod< %amenaDe'iniše skelet algoritma u nekoj operaciji prepuštajući implementaciju neki koraka potklasi.+emplate metod dozvoljava da potklase rede'inišu neke korake altoritma ne menjajućistrukturu altoritma.= *a impementiranje nepromenljivi delova algoritma na jednom mestu i prepuštanjeimplementacije ponašanja koje se menja potklasama.= ,ada ponašanje zajedničko za potklase treba izdvojiti i staviti u zajedničku klasu da bi seizbeglo dupliranje koda.= *a kontrolu proširivanja potklasa. #ožete da de'inišete šablonski metod koji na odre!enimtačkama poziva 8priljučene9 operacije i tako dopušta proširivanje samo u tim tačkama.

    5

  • 8/18/2019 Teorija Za Drugi Kolokvijum

    6/21

    Observer ;'osmatra <

    %amenaDe'iniše zavisnost jedan prema više me!u objektima da bi prilikom promene stanja jednogobjekta svizavisni objekti bili obavešteni i automatski ažurirani.+ako!e poznat kao% *avisnici (Dependents)$ izdavanje:pretplata (publis : subscribe)4roblem,ako upravljati zajedničkim sporednim e'ektom (npr. potreba za održavanjem konzistentnostiizme!u povezani objekata) podele sistema u kolekciju kooperirajući klasa bez čvrstogspajanja klasa$ : što smanjuje mogućnost ponovne upotrebe klasa.Resenje&= -bserver patern opisuje kako uspostaviti ove relacije.= ,ljučni objekti u ovom paternu su subjekat i posmatrač. > Subjekat može imati bilo koji broj zavisni posmatrača. > Svi posmatrači se obaveštavaju kada subjekat promeni stanje. > Na osnovu toga svaki posmatrač će zatražiti od subjekta da sin ronizuje svoje stanje sanjegovim.4rimenjivost&= ,ada apstrakcija ima dva aspekta ok koji jedan zavisi od drugoga. 3nkapsuliranje tiaspekata u zasebne objekte omogućava nji ovo nezavisno menjanje i višekratnu upotrebu.= ,ada promena u jednom objektu za teva promene u drugim objektima$ a ne znate kolikodrugi objekata treba promeniti= ,ada objektu treba omogućiti da obaveštava druge objekte bez ikakve pretpostavke o tomekoji su to objekti. Drugim rečima$ kada ne želite da ti objekti budu tesno vezani.

    "da'ter

    ,onvertuje inter'ejs klase u drugi inter'ejs koji klijenti očekuju. 2dapter omogućava saradnju klasa koje inače ne bi mogle da sara!uju zbog nekompatibilniinter'ejsa.%amena,onvertuje inter'ejs klase u drugi inter'ejs koji klijenti očekuju. 2dapter omogućava saradnjuklasa koje inače ne bi mogle da sara!uju zbog nekompatibilni inter'ejsa.+ako!e poznat kao% @rapper (uvijač)4roblem&3ditor za crtanje (Dra5ing3ditor) omogućava korisnicima da crtaju i raspore!uju gra'ičkeelemente. +eAtS ape se znatno teže implementira$ pa je korisno iskoristiti postojeći teksteditor (+eAt&ie5) koji nije projektovan u skladu sa klasama S ape.Resenje&7edan način rešavanja problema je da se napravi klijentska klasa (+eAtS ape) koja ćeadaptirati editor (+eAt&ie5) i modi'ikovati inter'ejs da odgovara aplikaciji. -vo se može uraditina dva načina%: Dodatnim izvo!enjem +eAt&ie5 klase ili: Buvanjem re'erence na +eAt&ie5 klasu unutar +eAtS ape klase.

    6

  • 8/18/2019 Teorija Za Drugi Kolokvijum

    7/21

    Drugi metod ima prednost nad prvim jer se klijentska ijerar ija ne povećava u dubinu

    4rotot:'e ;'rototi'<

    %amena-dre!uje vrste objekata koji se prave koristeći prototipski primerak i pravi nove objektekopiranjem tog prototipa.4roblem&= -kruženje u primeru obezbe!uje apstraktnu klasu ;rap ic za gra'ičke komponente$ npr.beleške i note. -sim toga$ ona obezbe!uje apstraktnu klasu +ool za de'inisanje alata poputoni u paleti.= -kruženje tako!e de'iniše ;rap ic+ool podklasu za alate koji kreiraju instance gra'ičkiobjekata i dodaje i u dokument.= ;rap ic+ool klasa pripada okruženju dok su alati za beleške i note speci'ični u našojaplikaciji. ;rap ic+ool ne zna kako da kreira instance naši muzički klasa. #ogli bismo danapravimo podklase;rap ic+ool za svaku vrstu muzičkog objekta$ ali tako bi nastalo mnogo podklasa koje bi serazlikovale samo po vrsti muzičkog objekta koji instanciraju. Sastavljanje objekata je'leksibilna alternativa za potklase.4rimenjivost&= rototCpe treba da se koristi kada sistem ne sme da zavisi od toga kako se njegovi proizvodiprave$

    sastavljaju i predstavljaju$= ,ada se klase koje treba instancirati odre!uju u vreme izvršavanja$ na primer dinamičkimučitavanjem

    1. Objasniti 'ojam testiranja so*tvera.

    +estiranje so'tvera predstavlja proces analize elementa so'tvera kako bi se utvrdila razlikaizme!u postojećeg stanja i za teva (tj.$ bagovi) i kako bi se ustanovile karakteristike so'tvera

    2. Objasniti 'ojam 'ouzdanosti so*tvera.

    ouzdanost je sposobnost sistema ili njegove komponente da izvrši za tevane 'unkcije podde'inisanim uslovima u odre!enom vremenskom periodu.

    3. Objasniti 'ojmove validacija i veri*ikacija so*tvera.

    /alidacija& • proces evaluacije sistema ili komponente za vreme ili na kraju procesa razvoja da bi se

    utvrdilo da li zadovoljava za teve de'inisane od korisnika• &alidacija% Da li kreiramo pravi proizvod

    /eri*ikacija& • proces evaluacije sistema ili komponente kako bi se utvrdilo da li proizvod korektno

    implementira odre!enu 'unkciju• &eri'ikacija% Da li kreiramo proizvod na pravi način

    7

  • 8/18/2019 Teorija Za Drugi Kolokvijum

    8/21

    • &eri'ikacijom se utvr!uje da li proizvod zadovoljava za teve de'inisane tokompret odni aktivnosti tokom životnog ciklusa$ dok validacija proverava da li sistemzadovoljava korisničke za teve na kraju životnog ciklusa.

    -. Objasniti 'ojmove& 'ro'ust8 nedostatak8 otkaz i gre ka u kontekstu razvoja so*tvera.

    4ro'ust ; istake< • ljudska akcija koja dovodi do pogrešnog rezultata.

    %edostatak ;6ault ili De*ect< • pogrešan korak$ proces ili de'inicija podataka u programu.

    Otkaz ;6ailure<• nemogućnost sistema ili njegove komponente da izvrši za tevanu 'unkciju u skladu sa

    de'inisanim za tevima.5re ka ;$rror<

    • razlika izme!u izračunate$ uočene ili izmerene vrednosti ili uslova i stvarne$ de'inisaneili teoretski ispravne vrednosti ili uslova.

    7. Objasniti ta 'redstavlja kvalitet so*tvera.

    ,valitet predstavlja ispunjenje za teva.rema ovoj de'iniciji$ da bi imali kvalitetan proizvod za tevi moraju biti merljivi$ a za tevi će

    biti ispunjeni ili neće biti ispunjeni.,orisnik de'iniše kvalitet kao ispunjenost odre!enim korisnikovi potreba za proizvodom iliuslugom.

    >. %a koji na in se 'osti+e saglasnost oko kvaliteta so*tvera?

    = ,valitet za teva saglasnost$ uglavnom top menadžmenta.= #nogi veruju da je nemoguće napraviti proizvod ili servis bez greške$ i smatraju odre!eni

    stepen grešaka kao normalan i pri vatljiv.= ,valitet je često vezan sa troškovima$ što znači da veći kvalitet znači i veće troškove.= ,valitet za teva detaljnu speci'ikaciju za teva kako bi se konačni proizvod mogao kvantitativno uporediti sa ovim speci'ikacijama.= raćenje jasno de'inisani standarda i procedure. +e nički orjenitisana lica često smatraju da standardi guše nji ovu kreativnost.

    . 0ticaj 'revencije i detekcije na kvalitet so*tverskog 'roizvoda.

    = ,valitet se ne može postići procenom već gotovog proizvoda$ stoga je prvenstveni cilj sprečiti gubitak kvaliteta i omogućiti procenu kvaliteta korišćenjem standarda za razvoj so'tvera.= -sim procene proizvoda$ i procena procesa je značajna za obezbe!ivanje kvaliteta (npr. dokumentacija za korišćenje standarda za kodiranje$ upotreba drugi standarda$ metoda i alata$ procedura za backup podataka...)= 0pravljanje kvalitetom smanjuje troškove razvoja : ranije otkrivanje nedostataka smanjuje kasnije znatno veće troškove.

    8

  • 8/18/2019 Teorija Za Drugi Kolokvijum

    9/21

    @. Šta sve uti e na uku'ne tro kove u'ravljanja kvalitetom.Objasniti svaku kom'onentu.

    0kupni troškovi e'ikasnog upravljanja kvalitetom predstavljaju sumu troškova četirikomponente%

    • #'re avanje ;'revention< > sastoji se od akcija na sprečavanju pojave nedostatakana prvom mestu.

    • (ontrola ;ins'ection< > sastoji se od merenja$ evaluacije i kontrolisanjaproizvoda prema standardima i speci'ikacijama.

    • 0nutra nji otkaz > oni troškovi koji se javljaju zbog otklanjanja nedostataka prenjegove konačne isporuke.

    • #'olja nji otkaz : troškovi otklanjanja nedostataka nakon isporuke proizvoda.

    A. Objasniti 'ojmove& obezbeđivanje kvaliteta8 kontrola kvaliteta8 *unkcija kontrolisanjai testiranje so*tvera.

    Obezbeđivanje kvaliteta so*tvera&= ,valitet so'tvera se obezbe!uje upotrebom de'inisani smernica za kontrolu kvaliteta.= Beste su nedoumice oko značenja pojmova% obezbe!ivanje kvaliteta$ kontrola kvaliteta$ 'unkcija$ kontrolisanja i testiranje so'tvera.= -bezbe!ivanje kvaliteta je 'unkcija odgovorna za upravljanje kvalitetom.= ,valitet so'tvera se postiže praćenjem plana za obezbe!ivanje kvaliteta so'tvera koji de'iniše metode koje će se koristiti u projektu kako bi kreirana dokumenta i proizvodi na kraju svake 'aze bili visokog kvaliteta.(ontrola kvaliteta&= rocesi i metode koji se koriste za proces praćenja i ispunjenosti za teva.= "okusira se na praćenju i uklanjanju nedostataka pre isporuke proizvoda.= ,ontrola kvaliteta je u odgovornosti organizacione jedinice koja izra!uje proizvod.= Najčešće obu vata% kontrolu speci'ikacija$ kontrolu koda i dokumenata i kontrolu me!uproizvoda koji se isporučuju korisniku.6unkcija kontrolisanja&= avi se obeležavanjem$ praćenjem i kontrolisanjem promena u so'tverskim elementima

    sistema.= ,ontroliše evoluciju so'tverskog sistema praćenjem verzija so'tverski komponenti i nji ovi relacija.= Namena je da se identi'ikuju relacije izme!u so'tverski komponenti i da se prati nji ova evolucija kroz životni ciklus.9estiranje so*tvera&= opularna strategija za upravljanje rizikom.= ,oristi se da veri'ikuje da li su ispunjeni 'unkcionalni za tevi.= -graničenje ovog pristupa je da u vreme kada se realizuje testiranje$ prekasno je da se

    9

  • 8/18/2019 Teorija Za Drugi Kolokvijum

    10/21

    kvalitet ugradi u proizvod.

    1B. Objasniti osnovne kom'onente za obezbeđivanje kvaliteta so*tvera.

    9estiranje so*tvera= opularna strategija za upravljanje rizikom.= ,oristi se da veri'ikuje da li su ispunjeni 'unkcionalni za tevi.= -graničenje ovog pristupa je da u vreme kada se realizuje testiranje$ prekasno je da se kvalitet ugradi u proizvod.0'ravljanje kon*iguracijom so*tvera= avi se obeležavanjem$ praćenjem i kontrolisanjem promena u so'tverskim elementima sistema.= ,ontroliše evoluciju so'tverskog sistema praćenjem verzija so'tverski komponenti i nji ovi relacija.

    = Namena je da se identi'ikuju relacije izme!u so'tverski komponenti i da se prati nji ova evolucija kroz životni ciklus.(ontrola kvaliteta= rocesi i metode koji se koriste za proces praćenja i ispunjenosti za teva.= "okusira se na praćenju i uklanjanju nedostataka pre isporuke proizvoda.= ,ontrola kvaliteta je u odgovornosti organizacione jedinice koja izra!uje proizvod.= Najčešće obu vata% kontrolu speci'ikacija$ kontrolu koda i dokumenata i kontrolume!uproizvoda koji se isporučuju korisniku.

    11. Objasniti sve tro kove obuhva ene cenom kvaliteta.

    !ena kvaliteta mo+e biti 'odeljena na tro kove&• 4revencije (planiranje kvaliteta$ 'ormalna te nička recenzija$ oprema za testiranje$

    obuka)• 4rocene : aktivnosti kojima se vrši detaljna analiza svakog procesa (inspekcija

    unutrašnji i me!uprocesa$ kalibracija i održavanje opreme$ testiranje)• !ena tro kova otkaza > obu vata one troškove koji ne bi bilo u slučaju da je

    proizvod isporučen korisniku bez de'ekata.ogu se 'odeliti na interne i eksterne otkaze.

    • +roškovi interni otkaza obu vataju ponovni rad$ popravku$ analiza otkaza• +roškovi eksterni otkaza obu vataju analizu primedbi$ povratak i zamenu proizvoda$

    održavanje podrške$ rad u okviru garancije.

    12. erenje 'ouzdanosti so*tvera.

    &erovatnoća da će kompjuterski program 'unkcionisati bez otkaza u speci'ičnom okruženju uodre!enom vremenskom periodu.7ednostavan način za merenje pouzdanosti je meantime:bet5een:'ailure (#+ ")

    9)6 C 996 99R996 (mean:time:to:'ailure)99R (mean:time:to:repair)

    10

  • 8/18/2019 Teorija Za Drugi Kolokvijum

    11/21

    13. erenje dostu'nosti so*tvera.

    &erovatnoća da će so'tver 'unkcionisati prema za tevima u datom vremenskom trenutku%Dostu'nost C E 996 , ; 996 99R < F G 1BBH

    1-. %avesti i objasniti osnovne *aktore koji uti u na kvalitet so*tvera.

    "aktori koji utiču na kvalitet so'tvera mogu se grupisati u dve osnovne grupe%• "aktorikojisemogudirektnomeriti$• "aktorikojisemogumeritiindirektno.

    (orektnost• stepen do kojeg program zadovoljava svoje speci'ikacije i korisnikove za teve.

    4ouzdanost• stepen do kog se može očekivati da program izvrši 'unkc. sa za tevanom preciznošću

    $*ikasnost• količina računarski resursa i koda potrebnog da program izvrši svoje 'unkcije.

    ntegritet• stepen do koga pristup so'tveru i podacima neautorizovane osobe može biti

    kontrolisan0'otrebljivost

    • napor koji se ulaže za učenje$ korišćenje$ pripremu ulaza interpretaciju izlaza programOdr+ivost

    • napor koji je potrebno uložiti u lociranje i popravljanje greške u programu.6leksibilnost

    • napor koji je potrebno uložiti u modi'ikovanje operacionog programa.4roverljivost

    napor koji se ulaže za testiranje programa da bi se proverilo da li izvršava 'unkcije.4ortabilnost• napor uložen za prenos programa sa jednog ardvera ili so'tversk. okruženja na drugo

    ogu nost 'onovnog kori enja ;reusabilit:<ntero'erabilnost

    • napor potreban da spoji jedan sistem sa drugim.

    17. Objasniti osnovne ciljeve i 'rinci'e testiranja so*tvera.

    +estiranje je proces izvršenja programa sa ciljem pronalaženja greške.Dobar plan izvršenja testa je onaj koji ima veliku verovatnoću pronalaženja još neotkrivenegreške.0spešan test je onaj koji otkrije još neotkrivenu grešku.

    areto princip važi za testiranje so'tvera (EFG grešaka neotkriveni u toku testiranja će severovatno nalaziti u HFG komponenti).

    roblem je izolovati ove sumnjive komponente i detaljno i testirati.+estiranje treba započeti 8na malo9 i napredovati 8na veliko9(najpre sa individualnim komponentama a završiti sa sistemom kao celinom).

    otpuno testiranje nije moguće.

    11

  • 8/18/2019 Teorija Za Drugi Kolokvijum

    12/21

    4adi što veće e'ikasnosti$ testiranjem treba da upravlja nezavisna$ treća strana(pod e'ikasnošću se misli na najveću verovatnoću pronalaženja grešaka)

    1>. %avesti i objasniti osnovne karakteristike od kojih zavisi mogu nost testiranjaso*tvera.

    #ku' karakteristika koje vode do so*tvera koji se mo+e testirati&

    O'erativnost ;o'erabilit:< I JŠto bolje radi8 e*ikasnije se mo+e testiratiK > Sistem ima malo bagova$ > Nema bagova koji blokiraju izvršenje testova$ > roizvod se razvija kroz 'unkcionalne 'aze (moguć istovremeni razvoj i testiranje)

    /idljivost ;observabilit:< I JOno to vidi je ono to testira K

    > *a svaki ulaz se generiše drugačiji izlaz$ > Stanje sistema i promenljive su vidljive u vreme izvršenja$ > 4anija stanja sistema i promenljive su vidljive$

    0'ravljivost ;controllabilit:< I JŠto bolje mo+emo kontrolisati so*tver8 bolje mo+emoautomatizovati i o'timizovati testoveK

    > Svi mogući izlazi se mogu generisati kroz neku kombinaciju ulaza$ > Sav kod je izvršan kroz neku kombinaciju ulaza$ > Stanje i promenljive so'tvera i ardvera se mogu direktno kontrolisati od strane inženjera

    testa$ > 0lazni i izlazni 'ormati su konzistentni i struktuirani$ogu nost dekom'onovanja ;decom'osabilit:< I Jkontrolisanjem o'sega testiranja8

    mo+emo br+e izolovati 'robleme i izvr iti 'ametnije 'onavljanje testaK > So'tverski sistem je izgra!en od nezavisni modula$ > So'tverski moduli se mogu testirati nezavisno.

    Lednostavnost ;sim'licit:< J to manje stvari za testiranje8 br+e emo zavr iti testK > "unkcionalna jednostavnost$ > Strukturna jednostavnost$ > 7ednostavnost programskog koda.

    #tabilnost ;stabilit:< I J to manje 'romena8 manje je 'oreme aja u testiranjuK > romene so'tvera su retke$ > romene so'tvera su kontrolisane$ > romene so'tvera ne narušavaju postojeće testove$

    Razumljivost ;understendabilit:< J to vi e in*ormacija imamo8 'ametnije emotestiratiK

    > Dizajn je razumljiv$ > *avisnosti izme!u interni $ eksterni i deljeni komponenti su razumljive i jasne$ > +e nička dokumentacija je odma dostupna$ dobro organizovana$ detaljna i tačna.

    1 . %avesti i objasniti osnovne karakteristike dobrog testa.

    Dobar test ima veliku verovatno u 'ronala+enja gre ke.

    12

  • 8/18/2019 Teorija Za Drugi Kolokvijum

    13/21

    • Da bi postigao ovo$ tester mora razumeti so'tver i pokušati da razvije mentalnu slikutoga kako bi so'tver mogao da otkaže.

    Dobar test nije redundantan.• &reme i resursi testiranja su ograničeni. Nema svr e izvršavati test koji ima istu svr u

    kao i već izvršeni test.Dobar test treba da bude najbolji svoje vrste .

    • 0 grupi testova koji imaju istu namenu potrebno je izabrati onaj sa najvećomverovatnoćom otkrivanja grešaka.Dobar test ne treba da bude ni 'revi e jednostavan ni 'revi e slo+en .

    1@. %avesti i objasniti osnovne aktivnosti 'rocesa testiranja so*tvera.

    +estiranje se sastoji od sledeći aktivnosti%4laniranje testiranja

    • (odreduje se predmet$ cilj i razlog testiranja (na osnovu za teva$ modela i drugi ulazatestiranja)$ gde se testiranje vrši$ kada se vrši i ko izvršava testove)

    Dizajn testova• (odreduje kako se sprovodi testiranje na osnovu arte'akta tj. test primera)

    m'lementacija testova• (pravljenje višestruko upotrebljivi test scriptova koji realizuju test primere)

    zvr avanje testova• (izvršavanje implementacije testa radi provere 'unkcionalnosti sistema)

    $valuacija testova• (procena testova tj. validnosti izvršavanja testa$ analiza izlaza$ pregled zbirni

    rezultata$ uticaj promene za teva i ulaza na plan testiranja)

    1A. %avesti i objasniti osnovne tehnike testiranja so*tvera.

    +ipovi testiranja%Recenzija ;revieM<

    • 'ormalni stastanak na kome se arte'akt ili skup arte'akata predstavlja korisniku ilidrugim stranama koje učestvuju u procesu odobravanja ili komentarisanja.

    ns'ekcija ;ins'ection<• 'omalna te nika procene u kojoj se arte'akti detaljno pregledaju. regled vrše osobe

    koje nisu autori$ da bi se lakše uočile greške i drugi problemi.4regledi ;Malkthrough<

    • +e nika pregleda u kojoj autor upoznaje ostale clanove tima sa elementima arte'aktakoji je izgradio. -stali članovi učestvuju aktivno u raspravi.

    I. Ledini no testiranje ;unit testing<• primenjuje se na pojedine klase$ module ili komponente programskog koda. -va

    te nika deli se na te nike bele i crne kutije.H. ntegraciono testiranje

    • primenjuje se na so'tverski sitem kao celinu.J. 0 testiranja vi eg reda s'adaju&

    • testiranje sigurnosti ;securit: testing

  • 8/18/2019 Teorija Za Drugi Kolokvijum

    14/21

    • testiranje koli ine 'odataka > veri'ikovanje da li so'tver može obraditi veliku kolicinupodataka.

    • testiranje u'otrebljivosti ;usabilit: testing< > estetski aspekti$ konzistentnostkorisnickog inter'ejsa$ korisnicka dokumentacija.

    • testiranje integriteta ;integrit: testing< > robusnost(otpornost na otkaze)$konzistentna upotreba resursa i sl.

    • test u stresnim uslovima ;stress testing< > vrsta testa pouzdanosti sistema podnenormalnim uslovima (velika opterecenja sistema$ nedovoljno memorije ili drugiresursa$ neraspoloživi servisi i sl.).

    • etalonski test : uporedenje per'ormansi novog sistema sa nekim$ re'erentnim$poznatim sistemom.

    • test zagu enja > provera da li sistem može da zadovolji višestruke za teve razlicitiaktera za istim resursom.

    • test o'tere enja > vrsta testa per'ormansi kojim se procenjuju operativni limitinepromenjivog sistema pod razlicitim opterecenjima ili razliciti kon'iguracija sistemapri istom opterecenju. Najcešce se mere protok i vreme odziva (srednja i granicnavrednost).

    • test kon*iguracije ;con*iguration testing< > testira ponašanje so'tvera u razlicitimardversko

  • 8/18/2019 Teorija Za Drugi Kolokvijum

    15/21

    2B. Objasniti osnovne karakteristike )lackNboG i hiteNboG testiranja so*tvera

    )lack boG ;*unkcionalno< testiranje• +retira program ili sistem kao• +o jest$ testiranje ne gleda programski kod ili unutrašnju strukturu sistema.• 0koliko su poznate 'unkcije koje sistem treba da izvrši$ testovi se mogu usmeriti ka

    demonstraciji da je svaka 'unkcija potpuno operaciona i u isto vreme da traže greške usvakoj 'unkciji

    • rogramu se šalju ulazni podaci$ prati se izlaz i donosi se odluka da li je sistem prošaoili pao test.

    onekad nemamo mogućnost pristupa programskom kodu.

    = hite boG ;strukturno< testiranje• oznato i kao glass:boA.• -bu vata ispitivanje interne strukture programa ili sistema.• 0koliko je poznato interno 'unkcionisanje proizvoda$ testovi se mogu usmeriti ka

    utvr!ivanju da svi me anizmi$ tj. interne operacije 'unkcionišu prema speci'ikacijama• +estni podaci se dobijaju ispitivanjem logike programa ili sistema$ bez brige o

    za tevima koje treba da zadovolji.

    21. Objasniti osnovne strategije za testiranje so*tvera.

    0 kontekstu s'irale to su&− +estiranje jedinice− ,od− ntegraciona testiranja− Dizajn− &alidacija testiranja− *a tevi

    15

  • 8/18/2019 Teorija Za Drugi Kolokvijum

    16/21

    − Sistemska testiranja− Sistemski inzenjering

    (oraci za testiranje so*tvera&− +estiranje pravca− ,od− Dizajn− *a tevi

    22. %avesti i objasniti osnovne !"#$ alate za testiranje so*tvera.

    9est manager& • upravlja testiranjem tako što pokreće so'tver koji se testira za razne test podatke.

    5enerator test 'odataka& • generiše test primere koji odgovaraju speci'ikaciji$ i to izborom iz baze primera ili

    gerenirsanjem slučajni vrednosti korektnog oblika.4rorok&

    • daje prognozirane (očekivane) rezultate testa. rorok može biti pret odna verzijaso'tvera koji testiramo$ ili prototip.

    (om'arator datoteka& • otkriva razlike izme!u stvarni i očekivani rezultata testa.

    16

  • 8/18/2019 Teorija Za Drugi Kolokvijum

    17/21

    5enerator izve taja&• oblikuje izveštaj o rezultatima testiranja.

    Dinami ki analizator&• broji koliko puta se pojedina naredba programa izvršila tokom testiranja.

    1. 4ojam odr+avanja so*tvera.

    roces modi'ikovanja so'tverskog sistema ili komponente nakon isporuke radi otklanjanjagrešaka$ poboljšanja per'ormansi ili drugi atributa$ ili prilago!avanja promenljivom okruženju.

    -državanje programa nakon što je stavljen u upotrebu

    So'tverski proizvod se podvrgava modi'ikaciji koda ili dokumentacije usled problema ilipotrebe za unapre!enjem.

    1ilj je modi'ikovanje postojećeg so'tverskog proizvoda dok se istovremeno očuvava njegovintegritet

    zmene se implementiraju modi'ikovanjem postojeći komponentii dodavanjem novikomponenti sistemu2. 4ojam evolucije so*tvera.

    Skup aktivnosti$ te nički upravni $ koje obezbe!uju da so'tver nastavi da ispunjavaorganizacione poslovne ciljeve na isplativ načinSve programerske aktivnosti čiji je cilj generisanje nove verzije so'tvera na osnovu starijeoperacione verzije

    rimena aktivnosti procesa održavanja so'tvera kojima se generiše nova operativna verzijaso'tvera sa novim 'unkcionalnostima ili karakteristima u odnosu na pret odnu operativnuverziju pri čemu su obu vaćene aktivnosti obezbe!ivanja kvaliteta

    3. %avesti i objasniti vrste odr+avanja so*tvera.

    "da'tivno odr+avanje • 8#odi'ikacija so'tverskog proizvoda izvršena nakon isporuke da bi se očuvala

    upotrebljivost so'tverskog proizvoda u promenjenom ili promenljivom okruženju.K(orektivno odr+avanje

    • 8 spravljaju se uočene greške. #ože se raditi o greškama u kodiranju$ u oblikovanju$odnosno u speci'ikaciji.K

    4er*ekcijsko odr+avanje• 8#odi'ikacija so'tverskog proizvoda nakon isporuke radi unapre!enja per'ormansi ili

    dodavanja novi karakteristika.L4reventivno odr+avanje • 8#odi'ikacija so'tverskog proizvoda nakon isporuke radi utvr!ivanja korigovanja

    latentni grešaka u so'tverskom proizvodu pre nego što one nanesu štetu.K

    -. %avesti i objasniti osnovne razloge za evoluciju so*tvera.

    4romene korisni kih zahteva

    17

  • 8/18/2019 Teorija Za Drugi Kolokvijum

    18/21

    • roširenja ili modi'ikacije koje je za tevao korisnikOtklanjanja bagova

    • lanirane aktivnosti otklanjanja• Nužno otklanjanje (uglavnom skupo zbog velikog pritiska)

    4romene *ormata 'odataka • MH,$ 3uro$ poreske rate$ poštanski kodovi$ tele'onski brojevi$...• Novi standardi% 0#6$ #6$ 1-#$ D1-#$ 1-4 2$ 2ctive $ @2

    Pardverske 'romene4ove anje e*ikasnosti

    7. Objasniti 'ojam Qstarenje so*tveraJ.

    Neop odno je da naučimo kako da sprečimo e'ekte starenja 8 rogrami$ kao ljudi stare.Starenje ne možemo sprečiti$ ali možemo razumeti njegove uzroke$ preuzeti korake daograničimo njegove e'ekte$ privremeno otklonimo neke od šteta koje je izazvalo pripremimose za dan kada so'tver više neće biti upotrebljiv.9

    >. %avesti i objasniti razloge za starenje so*tvera.• -državanje• Ne'leksibilnost od početka projekta• Nedovoljna ili nekonzistentna dokumentacija• ritisak krajnji rokova• Dupliranje 'unkcionalnosti (dupliranje koda)• Nedostatak modularnosti

    #oguće rešenje% reinžinjerstvo

    . Objasniti 'ojam Qlegac:J sistemi. ;nasleđeni sistemi<

    • ilo kakvi in'ormacioni sCstem koji se opire promenama• ostojeći kompjuterski sCstem ili aplikacioni program koji se nastavlja koristiti jer

    korisnik (najčešće organizacija) ne želi da ga zameni ili redizajnira.#nogi ljudi koriste ovaj pojam da ukažu na 8zastarele9 sisteme.

    #a tehnolo kog as'ekta• čak kompletno 'unkcionalan održiv sCstem se može smatrati zastarelim ukoliko

    koristi prevazi!enu te nologiju.#a ekonomskog as'ekta

    • sCstem se može smatrati zastarelim ukoliko ne može da prati tempo promena uposlovnom domenu.

    @. %avesti i objasniti 'robleme i razloge za kori enje legac: sistema.

    4roblemi&Besto se izvršavaju na zastarelom ardveru+eško se održava$ unapre!uje proširuje-pšti nedostatak razumevanja sistema%

    18

  • 8/18/2019 Teorija Za Drugi Kolokvijum

    19/21

    • Nema osoba koje mogu objasniti kako 'unkcioniše• Dokumentacija ili uputstva su se izgubili tokom godina

    +eška je integracija sa novim sistemimaRazlozi za kori enje&+roškovi redizajna sistema su preterano visoki jer je sCstem veliki$ monolitski i

  • 8/18/2019 Teorija Za Drugi Kolokvijum

    20/21

    uredna$ dobro struktuirana celovita dokumentacija olakšava razumevanje so'tvera$ pa na tajnačin poje'tinjuje održavanje.%a in u'ravljanja kon*iguracijom0koliko se primenjuju metode$ alati organizacijska pravila upravljanja kon'iguracijom$ tada jeodržavanje na dugi rok je'tinije.#tarost so*tvera

    Oto je so'tver stariji$ to je skuplji za održavanja$ budući da mu se gra!a degradirala$ zavistan je od zastareli razvojni alata$ a dokumentacija mu je postal neažurna.#vojstva a'likacijskog domena

    2ko je reč o stabilnom domenu gde se poslovna pravila retko menjaju$ tada će se retkopojavljivati potreba za per'ekcijskim održavanjem u svr u uskla!ivanja s novim pravilima.#tabilnost razvojnog tima-državanje je je'tinije ako se njime bave originalni razvijači so'tvera$ jer oni ne moraju trošitivreme na upoznavanje sa so'tverom.#tabilnost 'lat*orme

    2ko smo so'tver implementirali na plat'orm koja će još dugo biti savremena$ tada neće trebatiadaptacijsko održavanje.

    11. %avesti i objasniti osnovne tehnike odr+avanja so*tvera;redokumentovanje8 restruktuiranje8 reverzni in+enjering8 rein+enjering

  • 8/18/2019 Teorija Za Drugi Kolokvijum

    21/21

    • riprema poboljšava sam so'tver$ obično za povećanu sposobnost održavanja$ponovno korišćenje$ ili evoluciju.

    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::Navesti i objasniti sve komponente koje utiču na ukupne troškove kojima se postiže e'ikasnoupravljanje kvalitetom so'tvera::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-bjasniti namenu i problem koji se rešava korišćenjem Singleton dizajn paterna::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

    -bjasniti šta su to PlegacC sistemi8 i koji su razlozi za nji ovo korišćenje uprkos problemima::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-bjasniti razliku izme!u pojmova veri'ikacija i validacija::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-bjasniti namenu i problem koji se rešava korišćenjem "acade dizajn paterna::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::Navesti i objasniti osnovne razloge za evoluciju so'tvera::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::Navesti i objasniti osnovne 'aktore kvaliteta so'tvera::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-bjasniti namenu i problem koji se rešava korišćenjem 2dapter dizajn paterna::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::Navesti i objasniti osnovne vrste održavanja so'tvera::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-bjasniti namenu i problem koji se rešava korišćenjem 1ommand dizajn paterna.::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-bjasniti razliku izme!u pojmova P5 ite:boA testiranje8 i Pblack:boA testiranje.::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::Navesti i objasniti osnovne 6e man:ove zakone održavanja so'tvera.::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::