Файл: Проектирование и разработка информационных систем Экзамен 26. 06. 2023 ауд. 1121 Начало экзамена в 10 10.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 26.10.2023

Просмотров: 87

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Паттерн MVVM широко используется в разработке приложений с графическим интерфейсом, особенно в технологиях, поддерживающих привязку данных, таких как WPF (Windows Presentation Foundation) и Xamarin.

  1. Событийно-ориентированная архитектура.

Событийно-ориентированная архитектура (Event-Driven Architecture, EDA) - это подход к проектированию и организации систем, в которых основной упор делается на обработку и передачу событий. В EDA событие представляет собой важное уведомление о каком-либо изменении или действии, которое происходит в системе. События являются основным механизмом коммуникации и взаимодействия между различными компонентами системы.

Вот основные принципы и концепции, связанные с событийно-ориентированной архитектурой:

Событие (Event):

Событие представляет важное уведомление о каком-либо происшествии или изменении в системе. Оно может быть создано компонентами системы или внешними источниками.

События обычно содержат информацию о событии (данные), типе события и метаинформацию, такую как время возникновения и идентификатор.

Событийный источник (Event Source):

Событийный источник является компонентом или сервисом, который генерирует события и уведомляет другие компоненты о происшедших событиях.

Событийные источники определяют, какие события генерируются, когда они генерируются и какая информация передается событию.

Событийный обработчик (Event Handler):

Событийный обработчик - это компонент или сервис, который реагирует на возникновение события и выполняет соответствующую логику или действия в ответ на событие.

Событийные обработчики подписываются на определенные типы событий и выполняют нужные операции при возникновении этих событий.

Событийная шина (Event Bus):

Событийная шина - это механизм, который служит для передачи событий между различными компонентами системы.

Событийная шина принимает события от источников и распространяет их по всей системе тем компонентам, которые заинтересованы в этих событиях.

Преимущества событийно-ориентированной архитектуры включают
:

Раз loose-связность: Компоненты системы взаимодействуют через события, что позволяет им быть слабо связанными и независимыми друг от друга.

Масштабируемость: Событийная архитектура облегчает горизонтальное масштабирование системы, так как компоненты могут быть добавлены или удалены без серьезных изменений взаимодействия.

Гибкость: События позволяют легко добавлять новые функции и изменять поведение системы без внесения существенных изменений в существующие компоненты.

Событийно-ориентированная архитектура широко используется в различных областях, таких как системы реального времени, распределенные системы, микросервисы, обработка сообщений и другие системы, где взаимодействие и обработка событий играют важную роль.

Практические вопросы (UML)

  1. Создать диаграмму вариантов использования интернет-магазина компьютерной техники.

  2. Создать диаграмму последовательности интернет-магазина компьютерной техники.

  3. Создать диаграммы состояний двух процессов интернет-магазина компьютерной техники.

  4. Создать диаграмму классов интернет-магазина компьютерной техники.

  5. Создать диаграмму деятельности (активности) интернет-магазина компьютерной техники.

  6. Создать диаграмму вариантов использования системы поддержки принятия решений клиент-менеджера.

  7. Создать диаграмму последовательности системы поддержки принятия решений клиент-менеджера.

  8. Создать диаграммы состояний двух процессов системы поддержки принятия решений клиент-менеджера.

  9. Создать диаграмму классов системы поддержки принятия решений клиент-менеджера.

  10. Создать диаграмму деятельности (активности) системы поддержки принятия решений клиент-менеджера.

Тестирование информационных систем

Теория

1. Что такое функциональное тестирование, и какие аспекты приложения оно проверяет?

2. Что такое нефункциональное тестирование, и какие аспекты приложения оно проверяет?

3. Какие инструменты используются для автоматизации тестирования программного обеспечения?

4. Что такое тест-кейсы и зачем они нужны?

5. Что такое позитивное и негативное тестирование?

6. Какие методы можно использовать для генерации тестовых данных?

7. Для чего может использоваться программное обеспечение Selenium?

8. Что такое альфа- и бета-тестирование, и как они проводятся?



9. Что такое тестирование с использованием инструментов виртуализации, и какие преимущества оно предоставляет?

10. Что такое тестирование методоми "черного ящика" и "белого ящика"?

11. Какие методы и техники тестирования могут быть применены при разработке мобильных приложений?

12. Для чего используется программное обеспечение Postman?

13. Каким образом можно тестировать работу программного кода?

14. Что такое Docker и какие основные преимущества он предоставляет для разработки и тестирования приложений?

15. Что такое контейнер в Docker, и как он отличается от виртуальной машины?

16. Что такое Docker Compose, и как он помогает в управлении и развертывании множества контейнеров?

17. Опишите три типа тестирования, которые вы знаете. В каких случаях они применяются?

18. Что такое тестовая документация, и какие элементы она должна включать?
Практика

1. Составьте тест-кейс для проверки регистрации нового пользователя на веб-сайте.

2. Создайте тест-кейс для проверки функциональности добавления товара в список желаний в интернет-магазине.

3. Составьте тест-кейс для проверки функции сортировки результатов поиска на веб-сайте.

4. Создайте тест-кейс для проверки функции восстановления пароля в приложении.

5. Составьте тест-кейс для проверки функциональности загрузки файлов на файловый хостинг.

6. Создайте тест-кейс для проверки функции редактирования профиля пользователя в социальной сети.

7. Составьте тест-кейс для проверки функции оформления заказа на онлайн-платформе.

8. Создайте тест-кейс для проверки функциональности публикации новой статьи на блоговом сайте.

9. Составьте тест-кейс для проверки функции отправки сообщений через мессенджер.

10. Создайте тест-кейс для проверки функциональности добавления события в календарь на мобильном приложении.

11. Составьте тест-кейс для проверки функции добавления товара в корзину на мобильном приложении.

12. Создайте тест-кейс для проверки функциональности фильтрации данных в таблице на веб-странице.

13. Составьте тест-кейс для проверки функции регистрации нового автомобиля в системе управления автопарком.

14. Создайте тест-кейс для проверки функциональности подписки на новостную рассылку на веб-сайте.

15. Составьте тест-кейс для проверки функции добавления комментария к статье на новостном портале.


16. Создайте тест-кейс для проверки функциональности воспроизведения видео на видеохостинге.

17. Составьте тест-кейс для проверки функции добавления контакта в адресную книгу на электронной почте.

18. Создайте тест-кейс для проверки функциональности создания нового проекта в управлении проектами.

ПМ.05

Соадминистрирование и автоматизация баз данных и серверов

Экзамен 28.06.2023 ауд. 1121

Начало экзамена в 10:10

Сертификация ИС

  1. Расскажите про два основных способа доступа к данным из клиентских приложений.

Два основных способа доступа к данным из клиентских приложений - это использование клиент-серверной архитектуры и локальное хранение данных на клиентском устройстве.

Клиент-серверная архитектура:

Клиент-серверная архитектура предполагает, что клиентское приложение взаимодействует с сервером для получения или отправки данных.

Клиентское приложение обычно отправляет запросы на сервер, используя сетевой протокол, такой как HTTP. Запросы могут содержать параметры или данные, которые нужно передать на сервер.

Сервер обрабатывает запросы, выполняет операции чтения или записи данных в базе данных или других источниках данных, и возвращает ответ клиентскому приложению с необходимыми данными.

Примеры клиент-серверной архитектуры включают веб-приложения, мобильные приложения, где клиентское приложение взаимодействует с веб-сервером, и клиенты баз данных, где клиентское приложение взаимодействует с сервером баз данных.


Локальное хранение данных на клиентском устройстве:

В некоторых случаях клиентское приложение может хранить данные локально на клиентском устройстве, без необходимости постоянного взаимодействия с сервером.

Локальное хранение данных может быть реализовано с использованием различных механизмов, таких как файловая система, базы данных на клиентском устройстве или использование кэша.

Клиентское приложение может загружать данные с сервера при первом запуске или при необходимости обновления данных, а затем хранить их локально для последующего использования.

Этот подход может быть полезен в случаях, когда клиентское приложение работает в автономном режиме, имеет ограниченное или медленное соединение с сервером или требует быстрого доступа к данным без задержек сети.

Выбор между этими двумя способами зависит от требований приложения, его характеристик и контекста использования. Клиент-серверная архитектура предоставляет более гибкий и динамичный доступ к данным, в то время как локальное хранение данных может обеспечить более быстрый доступ и работу в оффлайн-режиме.

  1. Расскажите про способы взлома баз данных при помощи инъекций кода.

Инъекция кода (Code Injection) - это атака на систему, при которой злоумышленник внедряет и выполняет вредоносный код или команды в приложение или базу данных. Инъекции кода могут быть использованы для взлома баз данных с целью получения несанкционированного доступа, изменения данных или совершения других вредоносных действий.

Ниже приведены несколько распространенных способов взлома баз данных при помощи инъекций кода:

SQL-инъекции:

SQL-инъекции являются одним из наиболее распространенных методов взлома баз данных. Злоумышленник внедряет SQL-код в пользовательский ввод, который затем выполняется базой данных без должной фильтрации и валидации.

Часто злоумышленник использует специально сформированные строки ввода, содержащие SQL-код, чтобы выполнить действия, такие как обход аутентификации