From 3e7355bfc2ae550aef81460490e7d1e78ebf0ef9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=BB=D0=B0=D0=B4=D0=B8=D0=BC=D0=B8=D1=80=20=D0=A8?= =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=BB=D0=B8=D0=BD=D0=B3?= Date: Thu, 28 Dec 2023 17:37:29 +0000 Subject: [PATCH] add readme --- README.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..1add527 --- /dev/null +++ b/README.md @@ -0,0 +1,38 @@ +# Практическая работа. Gena's Phones + +Гена любит создавать и поддерживать эффективные и надёжные распределённые системы хранения и обработки данных, и сегодня на работе ему поручили проанализировать новую распределённую автоматизированную систему тестирования Android приложений на предмет отказоустойчивости. + +Гена знает, что при реальной работе моменты отправки посылок в систему тестирования приложений могут хорошо описываться пуассоновским процессом. Сформировав реалистичный сценарий работы с системой на основе статистических закономерностей её использования, он решил провести нагрузочное тестирование. + +Вместо моделирования количества посылок в систему за определённый промежуток времени (эта величина может описываться распределением Пуассона), будет удобнее рассчитывать временные интервалы между **k** посылками в систему (эта величина имеет распределение Эрланга). + +Гена будет ставить секундомер, ориентируясь на число в очередной строке списка, и с определённой частотой отправлять решения нескольких практических задач в систему. Конечно, он автоматизирует сам процесс отправки решений, но времени на другую важную часть у него не останется, поэтому он просит вас помочь ему с генерацией списка n случайных чисел. + +Моделировать распределенную по Эрлангу случайную величину можно с помощью формулы (1). + +$\xi^{мод}\left( k, \lambda \right) = -\frac{1}{\lambda}\sum_{i=1}^{k}\ln \gamma_{i}, \gamma_{i}\sim R\left[ 0,1 \right]$ + +Здесь $R\left[ 0,1 \right]$ обозначает равномерное распределение на отрезке $\left[ 0,1 \right]$, а $\ln \gamma$ – натуральный логарифм числа $\gamma$. Можно считать, что $\gamma_{i}\in (0, 1)$, так как вероятность попасть в 0 или 1 равна 0. + +Интерфейс приложения должен содержать элементы, перечисленные в табл. 1. + +| № | View | id | Описание | +| :-: | ---- | -- | -------- | +| 0 | *EditText* | `size_param` | n | +| 1 | *EditText* | `shape_param` | k | +| 2 | *EditText* | `rate_param` | λ | +| 3 | *Button* | `get_random_nums` | | +| 4 | *RecyclerView* | `generated_list` | | +| 5 | *TextView* | `random_number_result` | | + +*Таблица 1. Элементы пользовательского интерфейса* + +При вводе двух чисел: значения параметра «формы» **k** и параметра **λ** и нажатия на кнопку с `@id/get_random_nums` открывается новая активность приложения, в которой имеется список *RecyclerView* с текстовыми полями с идентификаторами `@id/random_number_result`. + +Рекомендуется использовать Android Studio Chipmunk 2021.2.1. В проекте gradle version 7.5, gradle plugin version 7.3.0, Java SE 11. + +Сдать в систему тестирования необходимо zip архив, в корневом каталоге которого располагается дополненный проект Android Studio/IntelliJ IDEA. После загрузки zip архива приложение будет запущено в системе автоматического тестирования для проверки на соответствие техническому заданию. + +Допускается использовать язык Java и/или Kotlin. При сборке проекта вcе изменения в файле build.gradle будут проигнорированы – будут использованы зависимости только из шаблона-заготовки; не изменяйте пакет приложения. + +Тестирование одной посылки может длиться до 5 минут, после завершения тестирования будет доступна информация об общем числе тестов и числе пройденных тестов. Количество посылок в систему не ограничено. Штраф за повторные попытки не начисляется. \ No newline at end of file