Софтверско инжењерство

35 | Total Attempts: 286

SettingsSettingsSettings
Please wait...
Софтверско инжењерство

Questions and Answers
  • 1. 
    Proxy патерн:
    • A. 

      Обезбеђује јасно раздвајање између података које треба приказати, пословне логике и приказа податак.

    • B. 

      Омогућава енкапсулацију креирања објекта на такав начин да се креирање објекат одваја у посебну класу која има методу задужену за то.

    • C. 

      Контролише и управља ко мозе да приступи неком објекту.

  • 2. 
    Аbstract Factory патерн:
    • A. 

      Дефинише интерфејс за креирање фамилија везаних и зависних објеката без дефинисања њихових конкретних класа.

    • B. 

      Омогућава објекту да промени понашање када му се промени унутрашње стање.

    • C. 

      Дефинише интерфејс за кретање објеката, при чему подкласе доносе одлуку о томе која класа ће се инстанцирати.

  • 3. 
    Навести због чега наведена метода не представља пример квалитетног кода.long sum(int[] elements){long sum = 0;for(int i = 0; i < elements.length; i++){sum = sum + elements[i];elements[i] = 0;}return sum;}
    • A. 

      Метода има сакривен споредни ефекат.

    • B. 

      Променљива i има име које нема никакво значење и не указује на вредност коју променљива чува.

    • C. 

      Променљива sum има исто име као и назив методе.

    • D. 

      Назив методе није добар јер нема никакво значење и не указује на то ста метода стварно ради.

  • 4. 
    Изаберите најбољи пример за дефинисање имена класе која обезбеђује функционалност пружања подршке корисницима.
    • A. 

      CsnsClass

    • B. 

      CustomerSupportNotificationServiceClass

    • C. 

      CustSuppNotifSrvc

    • D. 

      CSNService

    • E. 

      CustomerSupportNotificationService

    • F. 

      CustomerSupportNotificationService

  • 5. 
    Тестирање јединица представља:
    • A. 

      Коришћење унапред дединисаних смерница за тестирање појединачних компоненти софтвера.

    • B. 

      Проверу понашања система као целине.

    • C. 

      Процес тестирања идивидуалних делова софтвера у изолацији.

  • 6. 
    Превентивно одржавање представља:
    • A. 

      Модификовање софтверског производа након испоруке ради утврђивања и кориговања латентних гресака у софтверском производу пре него што нанесу штету.

    • B. 

      Модификовање софтверског производа након испоруке да би се очувала употребљивост софтверског производа у промењеном или променљивом окружењу.

    • C. 

      Модификовање софтверског производа након испоруке ради унапређења перфоманси или додавања нових карактеристика.

  • 7. 
    Развој управљан тестовима је:
    • A. 

      Приступ развоју софтвера код кога се поклапају тестирање и програмирање, а тестови се пишу пре самог кода.

    • B. 

      Приступ развоју софтвера код кога се након развоја софтвера, развијају тестирање и програмирање, а тестови чија је основна намена контролисање исправности и функционисања основних функционалности софтвера.

    • C. 

      Приступ развојз софтвера код кога се користе разлицити тестови којима се након имплементације софтвера контролисе исправност кода и да ли постоје багови.

  • 8. 
    Корективно одржавање представља:
    • A. 

      Одржања софтверског производа које подразумева исправљање уочених грешака у кодирању, обликовању или спецификацији.

    • B. 

      Модификовање софтверског производа након испоруке ради утврђивања и кориговања латентних грешака у софтверском произвоу пре него сто нанесу штету.

    • C. 

      Модификовање софтверског производа након испоруке да би се очувала употребљивост софтверског производа у промењеном или променљивом окружењу.

    • D. 

      Модификовање софтверског производа након испоруке ради унапређења перформанси или додавања нових карактеристика.

  • 9. 
    Factory Method  патерн:
    • A. 

      Се користи када желимо да испоручујемо захтеве кроз ред чекања.

    • B. 

      Омогућава објекту да промени понашање када му се промени унутрашње стање.

    • C. 

      Дефинише интерфејс за креирање објеката, при чему подкласе доносе одлуку о томе која класа ће се инстацирати.

  • 10. 
    Simple Factory патерн:
    • A. 

      Омогућава дефинисање основне структуре алгоритма коју подкласе могу редефинисати у одређеним деловима не мењајући саму структуру алгоритма.

    • B. 

      Омогућава објекту да промени понашање када му се промени унутрашње стање.

    • C. 

      Омогућава енкапсулацију креирања објеката на такав начин да се креирање објекат одваја у посебну класу која има методу задужену за то.

  • 11. 
    State патерн:
    • A. 

      Омогућава енкапсулацију креирања објеката на такав начин да се креирање објекат одваја у посебну класу која има методу задужену за то.

    • B. 

      Контролише и управља ко мозе да приступи неком објекту.

    • C. 

      Омогућава објекту да промени понашање када му се промени унутрашње стање.

  • 12. 
    Основна карактеристика ,,Шпагети кода" је:
    • A. 

      Комбинација слабе кохезије и јаког везивања.

    • B. 

      Комбинација слабе кохезије и слабог везивања.

    • C. 

      Комбинација јаке кохезије и слабог везивања.

    • D. 

      Комбинација јаке кохезије и јаког везивања.

  • 13. 
    Инспекција софтвера представља:
    • A. 

      Анализу статичког изгледа система како би се утврдили проблеми.

    • B. 

      Проверу испуњености корисничких захтева који извршавају представници крајњих корисника.

    • C. 

      Поступак извршења програмског кода који има за циљ да покаже све багове у коду.

  • 14. 
    Верификација је:
    • A. 

      Процес евалуације система или компоненте како би се утврдило да ли производ коректно имплементира одређену функцију.

    • B. 

      Процес евалуације система или компоненте како би се установили проблеми у коду.

    • C. 

      Процес евалуације система или компоненте како за време или на крају процеса развоја да би се утврдило да ли задовољава захтеве дефинисане од корисника.

  • 15. 
    Начин имплементације као фактор који утиче на цену одржавања софтвера подразумева да цена одржвања може да зависи од:
    • A. 

      Програмског језика у ком је софтвер имплементиран.

    • B. 

      Дужине појединих метода и класа, тј. броја линија кода у свакој методи и класи.

    • C. 

      Метода и алата које су програмери користили у току имплементације софтвера.

  • 16. 
    Перфекцијско одржавање представља:
    • A. 

      Одржавање софтверског производа који подразумева исправљање уочених грешака у кодирању, обликовању или спецификацији.

    • B. 

      Модификовање софтверског производа након испоруке да би се очувала употребљивост софтверског производа у промењеном или променљивом окружењу.

    • C. 

      Модификовање софтверског производа након испоруке ради унапређења перформанси или додавања нових карактеристика

    • D. 

      Модификовање софтверског производа након испоруке ради утврђивања и кориговања латентних грешака у софтверском производу пре него што нанесу штету.

  • 17. 
    Рефакторинг подразумева:
    • A. 

      Откланање багова уочених приликом тестирања софтвера.

    • B. 

      Унапређење програма како би се успорила његова деградација у току промена.

    • C. 

      Отклањање проблема приликом извршења основних функционалности софтвера.

  • 18. 
    Command патерн:
    • A. 

      Омогућава динамичко додавање функционалности постојећим објектима.

    • B. 

      Омогућава креирање нових истанци објекта коришћењем друге постојеће инстанце.

    • C. 

      Се користи када желимо да испоручујемо захтеве кроз ред чекања.

  • 19. 
    Колико дугачке требају бити методе:
    • A. 

      Уколико метода позива друге методе, онда не сме да прелази дужину од 30'40 линија.

    • B. 

      Не постоји одређено ограничење али треба избегавати методе дуже од величине једног екрана.

    • C. 

      Метода не сме бити дужа од величине једног екрана, приближно око 30'40 линија.

    • D. 

      Не постоји одређено ограничење.

  • 20. 
    Тестирање по смерницама представља:
    • A. 

      Процестес тестирања који се врши на основу смерница дефинисаних методологијом развоја софтвера.

    • B. 

      Процес тестирања код кога аналитичар пројекта дефинише смернице за тестирање софтвера које доставља извршиоцима тестирања.

    • C. 

      Процес тестирања код кога се користе претходна искуства о врстама грешака које програмери праве приликом развоја компоненти.

  • 21. 
    Циљ тестирања дефеката је да:
    • A. 

      Открије грешке или отказе у софтверу чије је понашање неисправноили није у складу са дефинисаном спецификацијом.

    • B. 

      Анализом статичког изгледа система утврди да ли постоје проблеми.

    • C. 

      Демонстрира програмерима и кориссницима система да софтвер испуњава све дефинисане захтеве.

    • D. 

      Применом провере и посматрања понашања система утврди постојање одређених проблема.

    • E. 

      Утврди да ли производ коректно имплементира одређену функцију.

  • 22. 
    Бета тестирање представља:
    • A. 

      Тестирање код кога се корисницима испоручује производ како би могли да експериментишу са њим и установе проблеме које развојни тим није пронашао.

    • B. 

      Тестирање код кога корисници раде са развојним тимом да би тестирали софтвер на разним станицама.

    • C. 

      Тестирање код кога корисници тестирају систем да би одлучили да ли је спреман да буде прихваћен и постављен у корисничко окружење за употребу.

  • 23. 
    Model View Presenter патерн:
    • A. 

      Обезбеђује јасно раздвајање између података које треба приказати, пословне логике и приказе података.

    • B. 

      Омогућава енкапсулацију креирања објеката на такав начин да се креирање објекат одваја у посебну класу која има методу задужену за то.

    • C. 

      Дефинише интерфејс за креирање објеката, при чему подкласе доносе одлку отоме која класа ће се инстанцирати.

  • 24. 
    Remote proxy патерн:
    • A. 

      Има улогу локалног представника удаљеног објекта над којим се могу локално позивати методе удаљеног

    • B. 

      Омогућава динамичко додавање функционалности постојећим објектима

    • C. 

      Се користи када желимо да испоручујемо захтеве кроз ред чекања.

  • 25. 
    Основни принцип дефанзивног програмирања подразумева да:
    • A. 

      За сваку јавну методу је потребно раздвојити одговарајући тест којим се проверава исправно функционисање.

    • B. 

      Свака јавна метода мора да очекује некоректан улаз и да га исправно обрађује.

    • C. 

      Свака јавна метода мора да обезбеди кориснику функционалност која је дефинисана случајем употребе.

  • 26. 
    Template method патерн:
    • A. 

      Омогућава динамичко додавање функционалности постојећим објектима.

    • B. 

      Контролише и управља ко може да приступи неком објекту.

    • C. 

      Омогућава дефинисање основне структуре алгоритма коју подкласе могу редефинисати у одређеним деловима не мењајући саму структуру алгоритма.

  • 27. 
    Слабо везивање метода означава:
    • A. 

      Да постоји минимална зависност метода од других делова кода.

    • B. 

      Да је метода видљива само из метода које се налазе у истој класи.

    • C. 

      Да не постоји зависност од атрибута дефинисаних унутар тека ласе којој припада метода.

  • 28. 
    Тестирање софтвера представља:
    • A. 

      Проверу испуњености корисничких захтева који извршавају представници крајњих корисника.

    • B. 

      Проверу и посматрање понашања софтвера које се покречће коришћењем тест података и праћењем понашања апликације.

    • C. 

      Анализу статичког изгледа система како би се утврдили проблеми.

  • 29. 
    "Legacy" (наслеђени) систем представља појам који:
    • A. 

      Описује компјутерски систем или апликациони програм који теско одржава, унапређује и проширује због лошег дизајна и архитектуре.

    • B. 

      Описује компјутерски систем или апликациони програм који наставља да се користи јер корисник не жели или не може да га замени или редизајнира.

    • C. 

      Описује компјутерски систем или апликациони програм који се тешко интегрише са новим системима.

  • 30. 
    Најчешћи разлог за еволуцију софтвера представља:
    • A. 

      Побољшање перформанси система.

    • B. 

      Промене формата података

    • C. 

      Отклањање багова.

    • D. 

      Промена корисничких захтева.

  • 31. 
    Тестирање перформанси представља:
    • A. 

      Тестирање производа које обухвата тестирање појединачних компоненти у циљу побољшања перформанси.

    • B. 

      Део тестирања производа који обухвата тестирање битних карактеристика система као што су перфомансе и поузданост.

    • C. 

      Планирање серија тестова код којих се тестови понављају неограничен број пута, како би се дошло до отказа система.

  • 32. 
    Изаберите најбољи пример за именовање методе која проналази записе о студенту:
    • A. 

      FindStudentRecord

    • B. 

      MethodToFindStudentRecordFromDatabase

    • C. 

      StudentMethod

    • D. 

      FindStudent

    • E. 

      FindStudentRecord

  • 33. 
    Циљ валидационог тестирања је да:
    • A. 

      Демонстрира програмерима и корисницима система да софтвер испуњава све дефинисане захтеве.

    • B. 

      Применом провере и посматрања понашања система утврди постојање одређених проблема.

    • C. 

      Утврди да ли производ коректно имплементира одређену функцију

    • D. 

      Открије грешке или отказе у софтверу чије је понашање неисправно или није у складу са дефинисаном спецификацијом.

  • 34. 
    Валидација је:
    • A. 

      Процес евалуације система или компоненте за време или на крају процеса развоја да би се утврдило да ли задовољава захтеве дефинисане од корисника.

    • B. 

      Процес евалуације система или компоненте како би се установили проблеми у коду

    • C. 

      Процес евалуације система или компоненте како би се утврдило да ли производ коректно имплементира одређену функцију.

    • D. 

      Option 4

  • 35. 
    Decorator патерн:
    • A. 

      Омогућава динамичко додавање функционалности постојећим објектима.

    • B. 

      Има улогу локалног представника удаљеног објекта над којим се могу локално позивати методе удаљеног објекта.

    • C. 

      Дефинише интерфејс за креирање објеката, при чему подкласе доносе одлуку о томе која ће се класа инстанцирати