1 of 12

Харківський національний�університет радіоелектроніки�

Веб-додаток «Розподіл робіт між виконавцями»

РОЗРОБИВ:

СТ. ГР. ІТУ-21-3

Мартов В.О.

КЕРІВНИК:

ас. каф. ІУС�Малькова І. А.

2 of 12

Актуальність задачі

  • У наш час з’являється все більше підприємств, що виконують збирання та налаштування комп’ютерів. Навіть незважаючи на те, що більшість людей здатні зробити це самостійно, деякі задачі вузької спеціалізації, наприклад, створення програм із штучним інтелектом, потребують досвіду у налаштуванні для них комп’ютера.
  • Однак, гостро стоїть інша проблема – зрив термінів при розробці програмного забезпечення, зокрема сайтів. Буває так, що співробітники можуть виконувати будь-який із етапів при розробці сайту, однак вони обов’язково роблять це із різною ефективністю. Правильне призначення працівників на задачі дозволяє значно прискорити процес розробки.

3 of 12

Призначення і мета розробки

  • Веб-додаток призначений для розподілу робіт між виконавцями. Додаток розв’язує наступні задачі: знаходження максимальної кількість комп’ютерів, що збирають за один день та визначення мінімального часу на розробку сайту.
  • Як інструмент оптимізації використовується метод динамічного програмування.
  • Мета розробки – підвищення ефективності виконання задач, пов’язаних із збиранням комп’ютерів та розробки сайтів, заощадження часу на виконання завдання, збільшення оперативності і швидкості обробки розрахунків, а також можливість підтримування даних в актуальному стані.

4 of 12

Технології та програмні засоби

Програмний модуль розроблено за допомогою середовища розробки PyCharm, мови розмітки HTML, мови стилів CSS та мови програмування JavaScript.

5 of 12

Опис програми

  • Веб-застосунок дозволяє розрахувати максимальну можливу кількість зібраних комп’ютерів за один день, а також мінімальну необхідну кількість годин для розробки веб-сайту, за допомогою методу динамічного програмування.
  • Користувач має змогу на одній сторінці обирати опції того, що саме необхідно обчислити. Далі він може ввести числові значення у поля форми. При натисканні кнопки «Обчислити» програма виконує призначення для кожного співробітника, а також видає результат (максимальної ефективності або мінімальних витрат часу)

6 of 12

Приклад задачі максимізації кількості зібраних комп’ютерів

  • Компанія пропонує послуги із збирання комп’ютерів. Між чотирма працівниками планується розділити роботу зі збирання різних видів персональних комп'ютерів. Необхідно розподілити роботи таким чином, щоб загальна кількість зібраних комп'ютерів за 1 день була максимальною.
  • Нижче наведено таблицю кількості комп’ютерів, що збирає кожен із працівників за 1 день:

7 of 12

Приклад задачі мінімізації часу на розробку сайту

  • IT-компанія займається розробкою інтернет-магазину. Між п’ятьма особами планується відповідно розподілити п’ять задач: розробка моделі бази даних, створення дизайну головної сторінки, серверної логіки, тестів та ревью коду. Необхідно розподілити програмістів таким чином, щоб виконання розробки сайту займало якомога менше часу.
  • Таблицю часу виконання кожної з цих задач конкретним працівником наведено нижче:

8 of 12

Введення даних (задача на максимум)

9 of 12

Результат розв’язання задачі на максимум

10 of 12

Введення даних (задача на мінімум)

11 of 12

Результат розв’язання задачі на мінімум

12 of 12

Переваги розробки

  • Простий та зрозумілий інтерфейс

  • Висока швидкість роботи

  • Кросплатфомність