Бізнес вимоги:
- Система майданчика повинна використовувати централізований endpoint permitions як єдине джерело прав доступу
Усі бізнес-рішення щодо доступу до:
оголошення процедур,
подання заявок,
роботи з реєстрами,
- подачі заяв на об'єкти оренди,
- створення дій над об'єктами оренди,
- створення контрактів для Малої та Великої приватизації
- створення викупу для Малої та Великої приватизації
- створення Інфораційних повідомлень для Малої та Великої приватизації
- створення об'єктів для Малої та Великої приватизації
повинні базуватись виключно на даних permitions, отриманих з endpoint.
- Майданчик не має права надавати функціональність, яка не підтверджена permitions.
Функціональні вимоги
Інтеграційні вимоги
- Майданчик повинен виконувати запит до endpoint permitions не рідше ніж 1 раз на добу (наразі о 05:00).
- Майданчик повинен обробляти успішну відповідь endpoint та зчитувати всі передані permitions.
- Отримані permitions повинні зберігатись локально для подальшого використання бізнес-логікою та UI.
- Система повинна зберігати останню валідну версію permitions у разі тимчасової недоступності endpoint.
Валідація permitions
Система повинна перевіряти цілісність структури permitions, зокрема:
наявність ключа
permitions;наявність секцій
procedures,jobber,registry(за потреби);допустимі значення (
procedure,bids,object).
- У разі виявлення невалідної структури permitions система повинна зафіксувати помилку.
Доступ до процедур
- Система повинна дозволяти оголошення аукціонів організаторами, якщо permitions.procedures.<procedure_name> = procedure
Система повинна дозволяти подання заявок учасниками, якщо permitions.procedures.<procedure_name> = bids
- За відсутності відповідного значення permitions функціональність повинна бути недоступною як на UI, так і на API-рівні.
Доступ до дій з Реєстром об’єктів оренди
Система повинна дозволяти:
Створення Об'єкту оренди, якщо: permitions.registry.object = object
- Створення Дії до об'єкту оренди, якщо: permitions.registry.action = object
- Створення Заяв до об'єкту оренди, якщо: permitions.registry.lease_request = object
Доступ до створення Інформаційних повідомлень, контрактів, об'єктів, викупу Малої приватизації
Система повинна дозволяти:
Створення Об'єкту Малої приватизації, якщо: permitions.registry.asset= object
- Створення Контракту Малої приватизації, якщо: permitions.registry.execution = object
- Створення Інформаційного повідомлення Малої приватизації, якщо: permitions.jobber.announcement = object
- Створення Викупу Малої приватизації, якщо: permitions.jobber.redemption= object
- В разі відсутності : permitions.jobber.announcement = object, організатор не може створити ІП та відповідно не буде автоматично створено процедуру
Доступ до створення Інформаційних повідомлень, контрактів, об'єктів, викупу Великої приватизації
Система повинна дозволяти:
Створення Об'єкту Малої приватизації, якщо: permitions.registry.large_asset= object
- Створення Контракту Малої приватизації, якщо: permitions.registry.large_execution = object
- Створення Інформаційного повідомлення Малої приватизації, якщо: permitions.jobber.large_announcement = object
- Створення Викупу Малої приватизації, якщо: permitions.jobber.large_redemption= object
- В разі відсутності : permitions.jobber.large_announcement = object, організатор не може створити ІП та відповідно не буде автоматично створено процедуру
UI та відображення
- UI майданчика повинен динамічно відображати або приховувати функціональність відповідно до permitions.
Користувачі не повинні бачити дій, які їм недоступні згідно permitions.
- UI та API повинні використовувати одну й ту саму логіку перевірки permitions
Обробка змін і відсутніх permitions
- У разі втрати або несподіваної зміни permitions система повинна зафіксувати інцидент.
- Менеджмент ЕТМ повинен мати можливість ініціювати звернення через WF (“Приватні запити”).
Нефункціональні вимоги
Обробка permitions не повинна впливати на продуктивність UI.
- Використання permitions повинно бути ідемпотентним (однакові дані → однаковий результат).
- Логіка permitions повинна бути розширюваною для нових напрямків без зміни існуючих UC.
Усі перевірки permitions повинні логуватись для аудиту. - Чи потрібно ?
Вимоги до помилок і стабільності
У разі недоступності endpoint:
використовується остання валідна версія permitions;
користувачі не отримують помилок UI.
Система не повинна надавати нові доступи без підтверджених permitions.
- Будь-яка критична невідповідність permitions повинна бути видимою для відповідальних осіб.
UseCase
Use Case 1. Отримання permitions з системного endpoint
Назва | Отримання permitions з системного endpoint |
| Актори |
|
Передумови |
|
Основний хід подій (дій) |
|
Альтернативні шляхи, помилки, крайові випадки |
|
Результат (Постумови) | Отримано відповідь endpoint або зафіксовано помилку |
Інші вимоги | Endpoint викликається планово (наразі 1 раз на добу о 05:00) |
Use Case 2. Отримання та збереження permitions майданчиком
Назва | Отримання та локальне збереження permitions |
| Актори |
|
Передумови |
|
Основний хід подій (дій) |
|
Альтернативні шляхи, помилки, крайові випадки |
|
Результат (Постумови) | Майданчик має локально доступний перелік permitions |
Інші вимоги | Повинна зберігатись попередня версія permitions (за потреби) |
Use Case 3. Валідація цілісності permitions
Назва | Валідація структури та цілісності permitions |
| Актори |
|
Передумови |
|
Основний хід подій (дій) |
|
Альтернативні шляхи, помилки, крайові випадки |
|
Результат (Постумови) | Permitons визнані валідними або невалідними |
Інші вимоги | Результат валідації має логуватись |
Use Case 4. Визначення доступу до оголошення аукціонів
Назва | Визначення права організатора на оголошення аукціонів |
| Актори |
|
Передумови |
|
Основний хід подій (дій) |
|
Альтернативні шляхи, помилки, крайові випадки |
|
Результат (Постумови) | Організатор може або не може створювати аукціони |
Інші вимоги | Логіка повинна застосовуватись для кожного напрямку окремо |
Use Case 5. Визначення доступу до подання заявок (bids)
Назва | Визначення права користувачів на подання заявок |
| Актори |
|
Передумови |
|
Основний хід подій (дій) |
|
Альтернативні шляхи, помилки, крайові випадки |
|
Результат (Постумови) | Учасник може або не може подати заявку |
Інші вимоги | Має узгоджуватись з UI та API |
Use Case 6. Доступ до оголошення JAS і подальшого автоматичного створення процедур SP*
Назва | Визначення доступу до оголошення JAS (Інформаційного повідомлення) |
| Актори |
|
Передумови |
|
Основний хід подій (дій) |
|
Альтернативні шляхи, помилки, крайові випадки |
|
Результат (Постумови) | Доступ до SP* процедур дозволено або заборонено |
Інші вимоги |
|
Use Case 7. Доступ до внесення об’єктів у реєстр Малої приватизації (RAS)
Назва | Визначення доступу до внесення об’єктів до реєстру Малої приватизації |
| Актори |
|
Передумови |
|
Основний хід подій (дій) |
|
Альтернативні шляхи, помилки, крайові випадки |
|
Результат (Постумови) | Доступ до створення об'єктів реєстру дозволено або заборонено |
Інші вимоги |
|
Use Case 8. Доступ до створення execution Малої приватизації (RES)
Назва | Визначення доступу до створення execution Малої приватизації |
| Актори |
|
Передумови |
|
Основний хід подій (дій) |
|
Альтернативні шляхи, помилки, крайові випадки |
|
Результат (Постумови) | Доступ до створення об'єктів реєстру дозволено або заборонено |
Інші вимоги |
|
Use Case 9. Доступ до створення redemption Малої приватизації (JRS)
Назва | Визначення доступу до створення redemption Малої приватизації |
| Актори |
|
Передумови |
|
Основний хід подій (дій) |
|
Альтернативні шляхи, помилки, крайові випадки |
|
Результат (Постумови) | Доступ до створення об'єктів реєстру дозволено або заборонено |
Інші вимоги |
|
Use Case 10. Доступ до оголошення JAL і подальшого автоматичного створення процедур LP*
Назва | Визначення доступу до оголошення JAL (Інформаційного повідомлення) |
| Актори |
|
Передумови |
|
Основний хід подій (дій) |
|
Альтернативні шляхи, помилки, крайові випадки |
|
Результат (Постумови) | Доступ до створення JAL дозволено або заборонено |
Інші вимоги |
|
Use Case 11. Доступ до внесення об’єктів до реєстру Великої приватизації (RAL)
Назва | Визначення доступу до внесення об’єктів до реєстру Великої приватизації |
| Актори |
|
Передумови |
|
Основний хід подій (дій) |
|
Альтернативні шляхи, помилки, крайові випадки |
|
Результат (Постумови) | Доступ до створення об'єктів реєстру дозволено або заборонено |
Інші вимоги |
|
Use Case 12. Доступ до створення execution Великої приватизації (REL)
Назва | Визначення доступу до створення executionВеликої приватизації |
| Актори |
|
Передумови |
|
Основний хід подій (дій) |
|
Альтернативні шляхи, помилки, крайові випадки |
|
Результат (Постумови) | Доступ до створення об'єктів реєстру дозволено або заборонено |
Інші вимоги |
|
Use Case 13. Доступ до створення redemption Великої приватизації (JRL)
Назва | Визначення доступу до створення redemption Великої приватизації |
| Актори |
|
Передумови |
|
Основний хід подій (дій) |
|
Альтернативні шляхи, помилки, крайові випадки |
|
Результат (Постумови) | Доступ до створення об'єктів реєстру дозволено або заборонено |
Інші вимоги |
|
Use Case 14. Доступ до внесення об’єктів у реєстр оренди (RGL)
Назва | Визначення доступу до внесення об'єктів до реєстру оренди |
| Актори |
|
Передумови |
|
Основний хід подій (дій) |
|
Альтернативні шляхи, помилки, крайові випадки |
|
Результат (Постумови) | Доступ до створення об'єктів реєстру дозволено або заборонено |
Інші вимоги |
|
Use Case 15. Доступ до створення Дій до об'єктів реєстру оренди (RGLA)
Назва | Визначення доступу до створення Дій до об'єктів реєстру оренди |
| Актори |
|
Передумови |
|
Основний хід подій (дій) |
|
Альтернативні шляхи, помилки, крайові випадки |
|
Результат (Постумови) | Доступ до створення об'єктів реєстру дозволено або заборонено |
Інші вимоги |
|
Use Case 16. Доступ до створення Заяв до об'єктів реєстру оренди (RGLR)
Назва | Визначення доступу до створення Заяв до об'єктів реєстру оренди |
| Актори |
|
Передумови |
|
Основний хід подій (дій) |
|
Альтернативні шляхи, помилки, крайові випадки |
|
Результат (Постумови) | Доступ до створення об'єктів реєстру дозволено або заборонено |
Інші вимоги |
|
Use Case 17. Керування відображенням функціоналу на сайті
Назва | Керування UI відповідно до permitions |
| Актори |
|
Передумови |
|
Основний хід подій (дій) |
|
Альтернативні шляхи, помилки, крайові випадки |
|
Результат (Постумови) | Користувачі бачать лише дозволений функціонал |
Інші вимоги | UI та API мають бути синхронні |
Use Case 18. Обробка відсутніх або змінених permitions
Назва | Ескалація проблем з permitions |
| Актори |
|
Передумови |
|
Основний хід подій (дій) |
|
Альтернативні шляхи, помилки, крайові випадки |
|
Результат (Постумови) | Причина відсутності permitions з’ясована |
Інші вимоги | Всі звернення мають трасуватись |