Wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

SARS

Total questions: 79

Worksheet time: 45mins

Name
Class
Date
1.

Документацията на софтуерната архитектура:

a)

Е добре да включва поне по една структура то всяка от основните групи структури

b)

Включва колкото е възможно по-малко структури.

c)

Включва описание на структурите на архитектурата плюс придружаващи документи.

d)

Включва подробни коментари на кода и описание на Unit тестовете

2.

Предимствата на архитектурата на Микроуслуги относно скалируемост (scalability), модифицируемост (modifiability), възможността за избор на различни технологии и т.н. ги правят подходящ избор за всякакъв тип система.

a)

Истина

b)

Лъжа

3.

Каква структура на софтуерната архитектура е подходящо да се потърси в документацията, когато за системата която разглеждаме, ни интересува с кои други модули си взаимодейства даден модул?

a)

Структура на употреба на модулите

b)

Структура на декомпозиция на модулите

c)

Структура на взаимодействията

d)

Структура на инсталацията

4.

При избора на архитектурни драйвери, софтуерният архитект работи независимо от екипа по анализ на софтуерната архитектура

a)

Истина

b)

Лъжа

5.

Чрез използване на излишък в архитектурата на софтуерните системи може да се подобри тяхната:

a)

изменчивост

b)

лекота на употреба (Usability)

c)

надеждност

d)

производителност

e)

възможност за тестване (Testability)

6.

Кои от следните представляват подходи за постигане на изменяемост

a)

Очакване на промените, скриване на информация, отлагане на свързването

b)

Увеличаване на абстракцията, скриване на информация, увеличаване на ефективността на алгоритмите

c)

Увеличаване на абстракцията, скриване на информация, управление на ресурсите

d)

Очакване на промените, скриване на информация, управление на тактовата честота

7.

Най-подходящият подход за проектиране на софтуерна архитектура е да се започне от изискванията към качеството на системата (нефункционалните изисквания)

a)

Истина

b)

Лъжа

8.

Кои от следните методи може да се приложат за повишаване на testability на системата? (посочете до 3 верни отговора)

a)

Промяна на времето за изпълнение

b)

Увеличаване на броя на външно-видимите елементи на компонентите в системата

c)

Подобряване на алгоритмите

d)

Въвеждане на обвивни модули

e)

Използване на допълнителни интерфейси

9.

Кое от следните не е елемент на сценариите за качество?

a)

Състоянието на системата по време на регистриране на въздействието, което се обработва в сценария за качество

b)

Метриката за качественото изискване

c)

Описание на реакцията на системата или част от нея в резултат на събитието, което се разглежда в сценария за качество

d)

Последователност на изпълнение на действията на тестовия инженер при изпълнение на сценария за качество

10.

Кои от следните са възможни ефекти при прилагане на тактиките за производителност:

a)

Влошава се сигурността на системата

b)

Намалява се изменяемостта на системата

c)

Повишава се възможността на системата да осигури работа без отказ

d)

Намалява се обема на документацията

11.

Един стандартен начин за осъществяване на синхронна комуникация между микроуслигите е използването на Message/Event Bus.

a)

Истина

b)

Лъжа

12.

Recovery blocks e метод за постигане на изменяемост на софтуерната архитектура чрез въвеждане на няколко алтернативни версии на компонентите

a)

Истина

b)

Лъжа

13.

Кои от следните са неверни относно Cost Benefit Analysis Method (CBAM)

a)

CBAM може да се използва за избор на архитектурна стратегия от няколко алтернативи

b)

Резултат от процеса е т.нар. Return of Investment (ROI), който представлява разликата между ползата от дадена архитектурна стратегия и цената за реализацията ѝ

c)

Резултат от процеса е т.нар. Return of Investment (ROI), който представлява отношението между ползата от дадена архитектурна стратегия и цената за реализацията ѝ

d)

В процеса взимат участие всички заинтересовани лица

14.

От изброените по-долу характеристики на софтуера маркирайте тези, които не биха могли да представляват архитектурни драйвери: (до три верни отговора)

a)

Техничологични ограничения

b)

Функционални изисквания

c)

Клас-диаграми

d)

Сценарии за тестване

e)

Потребителски интерфейс

15.

Сигурността в софтуерните системи се повлиява положително от

a)

Намаляване на броя на външно видимите (за потребителите) части на системата

b)

Всички изброени са верни

c)

Въвеждането на контрол на достъпа

d)

Въвеждането на логове (съхраняване на данни с историята на работата на системата) за действията на потребителите

16.

Кое от следните е вярно?

a)

Големината на документацията на софтуерната архитектура е ограничена до 50 страници

b)

Документацията на софтуерната архитектура трябва да се напише преди проектирането на архитектурата

c)

Документацията на софтуерната архитектура зависи от коментарите в кода на системата

d)

Документацията на софтуерната архитектура съдържа информация с различни нива на абстракция, така че да е полезна и за нови хора в екипа

17.

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

a)

Истина

b)

Лъжа

18.

В стила клиент-сървър, системата се моделира като набор от сървъри, предоставящи услуги и набор от клиенти, които ги използват

a)

Истина

b)

Лъжа

19.

Кое от следните твърдения не е вярно по отношение на качествените изисквания?

a)

те са често противоречиви и се налага да се правят компромиси между тях.

b)

влияят си с изискванията по функционалността на системата

c)

те не са определящи за декомпозицията на системата на модули.

d)

трябва да се балансират спрямо интересите на заинтересованите лица

20.

В кои от следните дейности се препоръчва да взимат участие софтуерните архитекти?

a)

Следене за съответствие между архитектурата и реализацията на системата

b)

Уточняване изискванията към софтуерната система

c)

Определяне на алгоритмите за разработка на системата

d)

Писане на сценарии за тестване на системата

e)

Изготвяне на бизнес план на проекта

21.

Кое от следните твърдения е невярно?

a)

Мрежовият модел на OSI е проектиран според принципите на многослойния архитектурен стил

b)

Като резултат от прилагането на многослойният архитектурен стил е възможно да се  намали производителността на системата

c)

При многослойния архитектурен стил, всяко ниво предоставя интерфейс на нивото над него и използва интерфейсите от нивото точно под него

d)

При многослойния архитектурен стил не са приложени тактики за отстраняване на ефекта на вълната

22.

Едно от нещата от които архитектурата на микроуслуги се различава от един монолит е че

a)

сложността при дефинирането на една система (модули и под-модули) е (обикновено) по голяма при микроуслугите.

b)

различните под-модули на една монолитна система могат да се имплементират от различни технологии (пр. един модул на C++, друг на Java и т.н.), докато при микроуслигите сме ограничени само до една

c)

независимото съхранение на данни от всяка микроуслуга улеснява изпълнението на сложни транзакции (които включват повече от една микроуслуга)

d)

при монолитните системи мрежовата комуникация между модулите добавя допълнителна сложност.

23.

Кои от следните подходи се прилагат за постигане на usability в софтуерните системи?

a)

Локализиране на промените

b)

Следене на процесите

c)

Увеличаване на броя на потребителите

d)

Намаляване на броя на потребителите

e)

Използване на модели на потребителите

24.

Кое от следните може да се класифицира като подход за осигуряване на изправност (dependability) на софтуерни системи?

a)

Въвеждане на репликация (увеличаване на копията) на компонентите в архитектурата

b)

Въвеждане на репликация (увеличаване на копията) на кода

c)

Въвеждане на репликация чрез разнородни копия на компонентите в архитектурата

d)

Намаляване на броя на редовете код за реализация на софтуерната система

25.

В процеса на проектиране на софтуерната архитектура, след създаване на пъвроначалния прототип, архитектурата може да промени изискванията към системата.

a)

Истина

b)

Лъжа

26.

Отлагане на свързването е

a)

Нито едно от посочените не е вярно

b)

Тактика за постигане на сигурност при която се изключва употребата на автентикация на потребителите

c)

Тактика за постигане на производителност при която модулите управляват ефективността на комуникацията помежду си

d)

Тактика за постигане на изменяемост при която промените в системата се правят от потребителите

27.

Кои от следните са характерни за многослойния архитектурен стил:

a)

Увеличава производителността

b)

Реализира тактиката за скриване на информация

c)

Осъществява предотвратяване на ефекта на вълната

d)

Прилагането му на практика силно зависи от броя на заинтересованите лица

e)

Всички са верни

28.

Езиците за Описание на Архитектури (ADLs)

a)

могат да бъдат лесно четени както от хора, така и от машини.

b)

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

c)

могат да улеснят комуникацията на архитектурата между заинтересованите лица

d)

всички от посочените.

29.

Каква структура на софтуерната архитектура е подходящо да се потърси в документацията, когато за системата която разглеждаме, ни интересува в кой модул е реализирана дадена функционалност?

a)

Структура на декомпозиция на модулите

b)

Структура на инсталацията

c)

Структура на употреба на модулите

d)

Структура на взаимодействията

30.

Шаблонът фасада (façade), както е показан на фигурата може да се използва за предотвратяване на ефекта на вълната в системата

a)

Истина

b)

Лъжа

31.

Кое от следните твърдения е вярно за външните (external) и вътрешните (internal) Домейн Специфични Езици (DSLs), относно дефинирането на граматиката?

a)

при вътрешните, даден хост език, поставя ограничения само относно семантиката.

b)

обикновено няма значителна разлика във времето което отнема дефинирането при външни и вътрешни.

c)

при вътрешните имаме по голяма гъвкавост при дефинирането.

d)

при външните имаме по голяма гъвкавост при дефинирането.

32.

Основна цел за Езиците за Описание на Архитектури (ADLs) е дефинирането на системи на високо ниво, без да се грижат толкова за детайли на ниво имплементация (пр. детайлно описание на класове).

a)

Истина

b)

Лъжа

33.

Коя архитектурна структура представят структурирането на системата като набор от елементи, които имат поведение на изпълнение и взаимодействия?

a)

Структурите на слоевете

b)

Структурата на класовете

c)

Структурата на употреба на модулите

d)

Структурата на поток на данните

e)

Структурата на декомпозицията на модули

34.

При избора на архитектурен стил може да повлияят следните фактори:

a)

Технологиите, които ще бъдат използвани за реализация на системата

b)

Заинтересованите лица

c)

Качествените характеристики, които архитектурния стил повлява отрицателно

d)

Качествените характеристики, които архитектурния стил повлява положително

e)

Размерът на кода на системата

35.

Архитектурният стил хранилище (repository, виж фигурата), се характеризира със:

a)

Възможност да се повиши ефективността при обмен на големи масиви от данни между компонентите

b)

Лесно се реализира разпределеност на данните

c)

Данните се съхраняват на много логически места

d)

Е подходящ при големи системи и не се прилага в малки по размер системи

36.

Кое от следните не е вярно за архитектурния стил Pipe-FIlter:

a)

Няма възможност за паралелна обработка на информацията

b)

Има трудности при реализацията на интерактивни приложения

c)

Структурата му е идентична със структурата на повечето стандартни бизнес процеси в организациите

d)

Води до прости за проектиране и реализация архитектури

37.

В анализа на софтуерната архитектура (CBAM) се прави оценка на бизнес-ползата от реализацията на дадена архитектура.

a)

Истина

b)

Лъжа

38.

Чрез използването на обвивни модули (посредник/mediator/wrapper) при проектиране на софтуерна архитектура се постига следното:

a)

не се подобрява изменяемостта на системата, но се повишава производителността.

b)

не се подобрява нито изменяемостта на системата, нито производителността.

c)

подобрява се както изменяемостта на системата, така и производителността

d)

подобрява се изменяемостта на системата, но не се повишава производителността.

39.

За кои от следните архитектурни стилове може да се твърди, че подобряват сигурността на софтуерните системи?

a)

Обвивни модули (wrappers)

b)

Отлагане на свързването

c)

Shared data

d)

Model-View-Controller

e)

Опашка с регистриране на заявките от потенциални хакери

40.

Кое от следните не е пример за архитектурен похват за постигане на надеждност в софтуерните системи?

a)

Използване на повече копия на даден елемент от системата с цел излишък

b)

Връщане към предишно стабилно състояние на системата

c)

Изпращане на съобщения през точно определен, постоянен интервал от време

d)

Използване на единствен конектор, който да приема данни от даден компонент и да ги изпраща до останалите компоненти в системата

41.

За документацията на софтуерната архитектура е характерно

a)

Включването на уводни секции, които описват отделните раздели на документацията

b)

Разделите на документацията се оформят изцяло според вижданията, опита и квалификацията на софтуерния архитект

c)

Минимизация на текста с цел по-лесно възприемане от заинтересованите лица

d)

Използването на архитектурна обосновка, която описва отделните раздели на документацията

42.

Производителност и отказоустойчивост (fault-tolerance) са две качествени характеристики, решенията за удовлетворяване на които, често си противоречат.

a)

Истина

b)

Лъжа

43.

Кои от следните може да представляват модулна структура на софтуерната архитектура?

a)

UML activity диаграма

b)

Дървовидно представяне на вложените компоненти

c)

UML class диаграма

d)

UML use-case диаграма

44.

Кои от следните са характерни за архитектурния стил Pipe-and-filter?

a)

Данните се подават от един компонент към следващия в произволна последователност

b)

Компонентите са свързани в точно определена последователност

c)

Архитектурата на системата се опростява

d)

Подобрява се производителността на системата

45.

Софтуерната архитектура може да се променя и след създаването на първите прототипи на системата.

a)

Истина

b)

Лъжа

46.

Външните (external) Домейн Специфични Езици (DSLs):

a)

имат голяма гъвкъвост при дефинирането на синтаксиса и семантиката.

b)

всички от посочените.

c)

обикновено дефинирането им отнема повече време, в сравнение с това на вътрешните (internal).

d)

са независими от всеки език.

47.

Абстракцията е основен подход за постигане на висока изменяемост, като с прилагането ѝ се увеличава и производителността на системата

a)

Истина

b)

Лъжа

48.

Кои от следните твърдения по отношение на тактиките за сигурност са верни?

a)

За повишаване на сигурността може целенасочено да се увеличи времето за обработка на чувствителните данни

b)

За повишаване на сигурността може да се използват обвивни модули

c)

При повишаване на сигурността е възможно да се намали usability-то на софтуера

d)

При повишаване на сигурността се увеличава и производителността на софтуера

49.

Кои от следните архитектурни стилове са подходящи, когато е необходимо да подобрим изменчивостта (modifyability) на системата?

a)

Circuit Breaker

b)

Многослоен (Layered)

c)

Кеш (Cache)

d)

Неявно извикване (Implicit invocation)

50.

Съдържанието на документацията на софтуерната архитектура

a)

определя кои архитектурни стилове ще бъдат използвани

b)

се определя от самата софтуерна архитектура

c)

задължително се контролира от всички заинтересовани лица

d)

трябва да се създаде възможно най-бързо

51.

Излишъкът (redundancy) представлява:

a)

Тактика за увеличване на печалбата чрез продажба на повече функционалности на потребителите

b)

Тактика за постигане на изправност, при която се увеличава броят на обвивните модули

c)

Нито едно от посочените

d)

Тактика за постигане на изменяемост при която се включват повече от едно идентични копия на дадед модул

52.

Кои от следните имат влияние върху софтуерната архитектура?

a)

Организационната структура

b)

Декомпозицията на модули от програмистите

c)

Потребителските изисквания

d)

Големината на кода на системата

53.

Смисълът на обвивните модули в софтуерната архитектура е

a)

да служат като посредници между даден компонент и програмистите с цел осигуряване на сигурност

b)

да намаляват себестойността на прототипа на системата

c)

да служат като посредници между даден компонент и обкръжаващата го среда с цел осигуряване на производителност

d)

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

54.

Домейн Специфичните Езици (DSLs):

a)

могат да се използват за решението на всякакви проблеми.

b)

са по мощни от Езиците с Общо Предназначение (GPLs) като C и Java.

c)

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

d)

обикновено имат много добра поддръжка относно документацията им и техните инструменти.

55.

Архитектурният стил е:

a)

Конвенция за проектиране софтуерната архитектура

b)

Модел за генерация на UML диаграми

c)

Шаблон за документация на софтуерната архитектура

d)

Архитектурна конфигурация, която решава определен стандартен проблем

56.

Кои от следните може да характеризират надеждност на системата?

a)

процент успешни извиквания

b)

вероятност за отказ

c)

латентност

d)

време за изпълнение

57.

Архитектурният стил sharding се характеризира с

a)

разделяне на информацията на блокове с разнороднни данни

b)

възможност за съхранение и бърз достъп до голямо количество данни

c)

елиминират се проблемите с балансирането на натоварването

d)

аналогичен е на стилът pipe-filter

58.

Cost Benefit Analysis Method (CBAM) e процес при който:

a)

се проверява дали проектираната вече архитектура удовлетворява поставените изисквания

b)

се оценява производителността на системата

c)

се определят най-важните изисквания към документацията на архитектурата

d)

нито едно от изброените не е вярно

59.

Кое от изброените не влияе върху избора на архитектурни тактики?

a)

Броят и квалификацията на наличните разработчици

b)

Бъдещи планове за развитие на организацията

c)

Наличие на наследен (legacy) софтуер

d)

Квалификацията на мениджъра на проекта

60.

От какво зависи подреждането на качествените изисквания по приоритет според процеса за анализ на архитектурата (ATAM)?

a)

От мнението на екипа от архитекти

b)

От мнението на всички заинтересовани лица

c)

От сложността на системата

d)

От най-важните технологии, които ще бъдат използвани.

61.

Архитектурният стил Circuit Breaker:

a)

Подобрява само надеждността на системата

b)

Подобрява надеждността и производителността на системата

c)

Намалява значително изменяемостта на системата

d)

Значително подобрява изменяемостта на системата

62.

Шаблоните за документация на софтуерната архитектура

a)

Описват стандартна структура за описание на структурите, включени в софтуерната архитектура

b)

Описват стандартни решения за дадено качествено изискване

c)

Съдържат секции за описание на интерфейсите на модулите в системата

d)

Съдъжат множество предварително описани структури на софтуерната архитектура

63.

Какво представляват архитектурните драйвери, с които започва процесът за проектиране на архитектурата (Attribute Driven Design)?

a)

Най-важните изисквания към системата според заинтересованите лица

b)

Най-важните технологии, които ще бъдат използвани.

c)

Резултатът от приоритизирането на сценариите на употреба по време на анализа на архитектурата

d)

Най-важните изисквания към системата според екипа от архитекти

64.

Производителност и изменчивост (modifyability) са две качествени характеристики, решенията за удовлетворяване на които, често си противоречат.

a)

Истина

b)

Лъжа

65.

При тактиките за производителност често се използва паралелно изпълнение на заявките. Коe от следните e характернo в този случай?

a)

Има репликация на код

b)

Няма репликация на ресурси

c)

Контролира се изпълнението на процесите в зависимост от техните времеви граници и приоритети

d)

Не се контролира достъпа на процесите до данните в системата

66.

Кои от следните може да се използват за подобряване на производителността?

a)

закупуване на скъп хардуер

b)

пропускане на обработката на някои периодични събития

c)

използване на защитна стена (firewall)

d)

въвеждане на допълнителни интерфейси

e)

декомпозиция на модулите

67.

Едно описание на архитектура от Език за Описание на Архитектури (ADL) представлява:

a)

нито едно от посочените

b)

текстово и/или визуално описание на архитектурата, според дефиницията (синтактични и семантични правила) на езика.

c)

дефиниция на дадена архитектура използвайки свободен текс

d)

текстово описание и програмен код, който трябва задължително да се компилира до изпълним такъв

68.

Кривите на полезност от Cost Benefit Analysis Method (CBAM) представляват

a)

Функция на ползата от софтуерната система спрямо промяната на количественото измерване на дадено качество на системата

b)

Оценка за успеха разпространение на системата сред потребителите

c)

Средство за оценка на възвръщаемостта на разходите направени за реализацията на дадена архитектура

d)

Мярка за ползата от участието на заинтересованите лица в дизайна на софтуерната система

69.

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

a)

Истина

b)

Лъжа

70.

Кои от следните архитектурни стилове са подходящи за подобряване на производителността на системата?

a)

Обвивен модул (wrapper)

b)

Circuit breaker

c)

Кеш (Cache)

d)

Shared data

71.

Контролните точки (checkpoint) като тактика за постигане на наличност (availability) представляват съхранение на последното стабилно състояние на системата.

a)

Истина

b)

Лъжа

72.

Коя от следните групи съдържа само Домейн Специфични Езици (DSLs)?

a)

CSS, ACME, SQL, AADL

b)

SQL, C, HTML, π-ADL

c)

C++, HTML, CSS, SQL.

d)

Java, C#, xADL, Python.

73.

При постигането на изменяемост чрез използване на репликация, с паралелно изпълняващи се компоненти, се използва допълнителен модул за взимане на решение как да се формира резултатът от изпълнението на компонентите.

a)

Истина

b)

Лъжа

74.

Ping е тактика за постигане на изменяемост (modifyability) на софтуернтата архитектура, при която даден компонент изпраща съобщение (сигнал) до друг компонент и чака точно определено време за отговор.

a)

Истина

b)

Лъжа

75.

Външните (external) Домейн Специфични Езици (DSLs) са ограничени относно граматиката им от даден хост език.

a)

Истина

b)

Лъжа

76.

Кое от следните изречения е вярно относно разпределението на екипи при Микроуслугите:

a)

Всеки екип може да взема (до някаква степен) изолирани архитектурни решения, които не влияят на цялата система (isolated impact).

b)

Екипите трябва да управляват работата си по еднакъв начин.

c)

нито едно от посочените

d)

Нови разработчици могат по трудно да се присъединят, в сравнение с екипите при един монолит.

77.

Кои от следните представляват структури на софтуерната архитектура?

a)

Документ, който показва времето за релизация на отделните модули в системата

b)

Документ, който показва разделението на системата на по-малки функционалности

c)

Документ, който показва на кой процесор се изпълнява даден процес

d)

Документ, който показва резултатите от тестването на системата

78.

Кое е общото между двете тактики за постигане на изправност (dependability), наречени keepalive и ping?

a)

Няма ограничение по отношение на бързодействието на реализацията

b)

Характеризират се с крайно време за изпращане на съобщение от участващите компоненти (т.нар. timeout)

c)

И двете тактики се базират на стандартни шаблони на проектирането (design patterns)

d)

Задължително е да се реализират чрез алгоритми с ниска сложност

79.

В стилът неявно извикване (implicit invocation), компонентите взаимодействат помежду си чрез:

a)

Нито един от посочените

b)

Изпращане на т.нар. събития, при които конекторът има информация за получателя.

c)

Изпращане на т.нар. събития, при които конекторът не знае нищо за получателя.

d)

Изпращане на т.нар. събития, при които получателят задължително има информация за изпращащият компонент