Розробка на основі вимог (RDD) — це підхід до розробки програмного забезпечення, який наголошує на тісному узгодженні процесу розробки з вимогами бізнесу. Це гарантує, що кожен етап розробки, від планування до реалізації, керується чітко визначеними та задокументованими вимогами. RDD тісно інтегровано з методами розробки вимог, такими як виявлення вимог, специфікація вимог і збір вимог, щоб гарантувати, що кінцевий продукт відповідає як бізнес-цілям, так і потребам користувачів.
У середовищі програмного забезпечення, що швидко розвивається, розробка, орієнтована на вимоги, відіграє вирішальну роль у забезпеченні наскрізного покриття вимог протягом життєвого циклу розробки. Він зосереджений на забезпеченні структурованого, відстежуваного та повторюваного процесу для керування вимогами, покращуючи як відстежуваність вимог, так і можливість повторного використання вимог. Ця методологія бездоганно інтегрується з фреймворками Agile Requirements Gathering і Agile Development, пропонуючи командам гнучкість для адаптації, зосереджуючись на результатах, керованих бізнесом.
У цьому посібнику розглядаються принципи розроблення, керованого вимогами, його зв’язок із гнучкими практиками та те, як інструменти керування вимогами та програмне забезпечення для розробки вимог можуть покращити їх реалізацію. Ми також розглянемо ключові переваги та проблеми RDD і як успішно інтегрувати його в сучасні проекти програмного забезпечення.
Що таке розробка, керована вимогами (RDD)?
Розробка, керована вимогами (RDD) — це методологія розробки програмного забезпечення, у якій процеси проектування, розробки та тестування в основному керуються визначеними бізнес-технічними вимогами. На відміну від інших підходів, де функціональність може розвиватися на основі ітераційних циклів або змін у технології, RDD гарантує, що кожне рішення, від початкового планування до кінцевого постачання продукту, безпосередньо відповідає конкретним потребам, викладеним у специфікації вимог.
У RDD вимоги вважаються основою всього процесу розробки. Починаючи з чіткого та детального набору вимог, команди можуть уникнути двозначності, зменшити ризик і покращити комунікацію протягом життєвого циклу розробки. Ця методологія гарантує, що кінцевий продукт відповідає очікуванням, цілям і вимогам клієнта.
Зв'язок між збором вимог, аналізом вимог і специфікацією вимог
Процеси збору вимог, аналізу вимог і специфікації вимог є важливими компонентами розробки вимог, які забезпечують ясність і точність у визначенні того, що потрібно створити.
- Вимоги Збір: це перший крок у RDD, який передбачає визначення потреб, очікувань і обмежень зацікавлених сторін, клієнтів і користувачів. Цей процес збирає бізнес-вимоги, вимоги користувачів і системні вимоги, щоб сформувати комплексну основу для процесу розробки. Інструменти збору ефективних вимог допомагають охопити та задокументувати ці вимоги структурованим способом.
- Аналіз вимог: Після збору вимог наступним кроком є аналіз вимог, де інформація перевіряється, уточнюється та розставляється за пріоритетністю. Мета полягає в тому, щоб перетворити необроблені дані в чіткі, дієві та здійсненні вимоги, які можуть стимулювати проектування та розробку. Цей процес гарантує, що кожна вимога є чітко визначеною, досяжною та узгодженою з обсягом і цілями проекту.
- Специфікація вимог: Фаза специфікації вимог передбачає документування уточнених і підтверджених вимог у формалізований спосіб, створюючи комплексний документ специфікації вимог до програмного забезпечення (SRS). Цей документ стає критично важливою довідкою протягом життєвого циклу розробки, забезпечуючи відстеження та запобігаючи розповзанню обсягу.
Забезпечуючи надійність, чіткість і взаємопов’язаність кожної з цих фаз, розробка на основі вимог гарантує, що процес розробки залишається зосередженим, а вимоги постійно керують проектуванням, тестуванням і валідацією.
Як розробка, орієнтована на вимоги, узгоджується з життєвим циклом вимог?
Життєвий цикл вимог відноситься до ряду фаз, через які вимоги розвиваються, від початку до впровадження та обслуговування. У RDD життєвий цикл структурований таким чином:
- Виявлення початкових вимог: на початку проекту відбувається збір вимог. Це передбачає тісну співпрацю із зацікавленими сторонами для визначення потреб і визначення цілей високого рівня. Ці початкові вимоги закладають основу для всіх майбутніх розробок.
- Аналіз та уточнення: після того, як вимоги зібрано, вони проходять аналіз вимог, щоб переконатися в здійсненності, усунути неоднозначності та визначити їх пріоритетність на основі бізнес-потреб і технічних обмежень. Цей процес гарантує, що вимоги не тільки чіткі, але й узгоджені з цілями організації.
- Специфікація та документація: після аналізу специфікація вимог перетворює уточнені вимоги на офіційні документи, такі як SRS. Ці документи служать основою для відстеження вимог протягом усього циклу розробки.
- Впровадження та перевірка: на цьому етапі розробники починають будувати систему на основі заданих вимог. Відстеження вимог гарантує, що кожна функція чи функція відповідає задокументованим вимогам, пропонуючи перевірку та підтвердження відповідності кінцевого продукту початковим потребам.
- Після впровадження та обслуговування: Навіть після поставки програмного забезпечення вимоги продовжують розвиватися. Керування життєвим циклом поточних вимог забезпечує інтеграцію нових або змінених вимог у систему без порушення її функціональності.
Протягом усього життєвого циклу вимог RDD наголошує на наскрізній відстежуваності, гарантуючи, що жодна вимога не буде втрачена чи неправильно інтерпретована під час переходів від однієї фази до іншої. Таке узгодження забезпечує узгодженість, покращує спілкування між членами команди та зменшує ризик дорогих помилок або зміни масштабу під час розробки.
Таким чином, розробка, орієнтована на вимоги, гарантує, що кожна фаза проекту, від збору вимог до остаточного впровадження, безпосередньо узгоджується з чітко визначеними та задокументованими вимогами, підтримуючи весь життєвий цикл вимог від початку до кінця.
Ключові принципи розробки на основі вимог (RDD)
Розробка на основі вимог (RDD) побудована на принципах, які забезпечують узгодження з бізнес-цілями, підтримують повну відстежуваність вимог і підтримують повторне використання вимог протягом життєвого циклу. Ці принципи керують процесом розробки та допомагають зменшити ризики, забезпечуючи відповідність кінцевого продукту очікуванням зацікавлених сторін.
Узгодження розвитку з потребами бізнесу
Ключовим принципом RDD є узгодження розвитку з бізнес-цілями. Це гарантує, що кожен етап процесу розробки безпосередньо підтримує стратегічні цілі проекту.
- Узгодження бізнес-вимог: раннє визначення та визначення пріоритетів бізнес-вимог допомагає зосередити розвиток на досягненні цінності.
- Залучення зацікавлених сторін: безперервна співпраця забезпечує розвиток продукту відповідно до потреб бізнесу.
- Дизайн, орієнтований на клієнта: регулярні відгуки гарантують, що продукт відповідає потребам користувачів і залишається на меті з бізнес-цілями.
Цей принцип мінімізує розповзання обсягу та гарантує, що продукт забезпечує цінність і відповідає очікуванням клієнтів.
Відстеження вимог і наскрізне покриття
Відстеження вимог є життєво важливим у RDD. Він забезпечує відстеження кожної вимоги від визначення до впровадження та тестування, забезпечуючи:
- Очистити посилання на результати: кожна функція пов’язана з певною вимогою, що забезпечує виконання всіх вимог.
- Управління змінами: якщо вимоги змінюються, їхній вплив легко контролювати через проектування, впровадження та тестування.
- Гарантія якості: Простежуваність допомагає переконатися, що всі вимоги ретельно перевірені та дотримані, забезпечуючи якість продукції.
Підтримуючи наскрізне покриття вимог, RDD гарантує, що жодна вимога не буде пропущена або неправильно зрозуміла.
Забезпечення повторного використання вимог
Повторне використання вимог підвищує ефективність і зменшує надмірність:
- Багаторазові компоненти: чітко визначені вимоги можна повторно використовувати в різних проектах або фазах, заощаджуючи час і зусилля.
- Модульні вимоги: Вимоги організовані таким чином, щоб їх можна було адаптувати для майбутніх проектів або функцій, підвищуючи ефективність.
- Узгодженість між проектами: Вимоги щодо багаторазового використання забезпечують послідовність, допомагаючи відповідати стандартам якості та відповідності.
Повторне використання також дозволяє командам швидко адаптуватися до нових потреб бізнесу, скорочуючи час розробки.
Основні принципи розробки, орієнтованої на вимоги, — узгодження розробки з потребами бізнесу, підкреслення можливості відстеження вимог і забезпечення повторного використання — створюють ефективний, цілеспрямований процес розробки. Ці принципи сприяють підвищенню якості програмного забезпечення, яке відповідає очікуванням як бізнесу, так і користувачів, одночасно підвищуючи ефективність проекту та адаптивність.
Розробка на основі вимог проти гнучкої розробки
Розробка на основі вимог (RDD) і гнучка розробка — це дві різні методології, які зосереджуються на тому, як керуються вимогами та як інтегруються в процес розробки. Хоча обидва націлені на створення високоякісного програмного забезпечення, вони відрізняються підходом до обробки вимог і гнучкості.
Порівняння розробки, керованої вимогами, з гнучкою розробкою
- Структура проти гнучкості:
- RDD є більш структурованим, із сильним наголосом на зборі, аналізі та документуванні вимог наперед. Він зосереджений на суворому узгодженні розробки з визначеними вимогами та забезпеченні повної відстежуваності протягом життєвого циклу.
- Спритний розвиток, з іншого боку, є більш гнучким, заохочуючи ітераційну розробку з частими коригуваннями на основі відгуків клієнтів. Agile наголошує на адаптивності та постійному вдосконаленні, коли вимоги змінюються з часом, а не повністю визначаються на початку.
- Документація:
- In RDD, вичерпна специфікація вимог і документація мають вирішальне значення. Кожне рішення пов’язане із задокументованою вимогою, що забезпечує відстеження та підзвітність.
- Перевірений надає перевагу робочому програмному забезпеченню над великою документацією, віддаючи перевагу співпраці з клієнтами та адаптивному плануванню над жорсткою практикою документування.
- Процес розробки:
- RDD дотримується лінійного, поетапного підходу до збору, аналізу та реалізації вимог, гарантуючи, що всі вимоги охоплені та повністю перевірені.
- Перевірений використовує спринт або ітерації, що дозволяє командам створювати програмне забезпечення поступово. Вимоги можуть змінюватися під час кожного спринту на основі відгуків зацікавлених сторін, зосереджуючись на забезпеченні функціональних приростів, а не на суворому дотриманні початкового набору вимог.
Як RDD інтегрується в Agile Requirements Gathering і Agile Requirements Elicitation?
Незважаючи на відмінності, RDD і Agile можуть доповнювати один одного, особливо в контексті Agile Requirements Gathering і Agile Requirements Elicitation.
- Agile Requirements Gathering: у Agile збір вимог є постійним процесом, який адаптується до змін. Завдяки інтеграції RDD у Agile Requirements Gathering команди гарантують, що навіть із зміною вимог усі виявлені потреби фіксуються та документуються, зберігаючи можливість відстеження протягом усього проекту.
- Виявлення гнучких вимог: RDD може підтримувати Agile Requirements Elicitation, гарантуючи, що вимоги чітко визначені та пріоритетні на початку. У той час як Agile заохочує безперервний зворотній зв’язок і ітерації, RDD гарантує, що будь-які зміни у вимогах відстежуються та узгоджуються із загальними бізнес-цілями, забезпечуючи ясність і напрямок.
Переваги поєднання обох методологій для розробки гнучких вимог
Поєднання RDD із гнучкою розробкою вимог дає кілька переваг:
- Чітке узгодження з потребами бізнесу: RDD гарантує, що бізнес-вимоги чітко визначені з самого початку, і, поєднуючи це з ітераційною розробкою Agile, команди можуть коригувати рішення, зберігаючи проект у відповідності з бізнес-цілями.
- Покращена відстежуваність і звітність: Відстежуваність вимог є відмінною рисою RDD. При інтеграції з Agile це гарантує, що кожна вимога відстежується та перевіряється, навіть у проекті, що постійно розвивається. Це забезпечує як гнучкість, так і підзвітність.
- Краще управління ризиками: використовуючи RDD для встановлення чіткого набору початкових вимог і використовуючи адаптивність Agile, команди можуть ефективніше керувати змінами, зменшуючи ризик втрати критичних функцій, забезпечуючи виконання всіх вимог.
- Швидша доставка зі стабільною якістю: Agile Requirements Development отримує переваги від структурованих детальних вимог, наданих RDD. Команди можуть впевнено працювати над збільшенням, знаючи, що кожен спринт керується чіткими перевіреними вимогами, які сприяють досягненню загальних цілей проекту.
- Постійне вдосконалення з чіткими вимогами: поєднання постійного циклу зворотного зв’язку Agile з чіткою документацією RDD дозволяє постійно вдосконалювати продукт без шкоди для узгодження з початковими бізнес- і технічними цілями.
Хоча розробка, орієнтована на вимоги (RDD) і гнучка розробка, мають різні підходи, їх поєднання може дати значні переваги. RDD пропонує структуру та відстежуваність, тоді як Agile забезпечує гнучкість і реакцію на зміни. Інтеграція RDD із Agile Requirements Gathering і Agile Requirements Elicitation гарантує, що вимоги залишаються чіткими, простежуваними та узгодженими з потребами бізнесу, забезпечуючи при цьому гнучкість і адаптивність, які сприяє Agile-розробка. Цей гібридний підхід покращує якість, зменшує ризики та прискорює надання цінності зацікавленим сторонам.
Найкращі методи розробки на основі вимог (RDD)
Розробка на основі вимог (RDD) — це структурований підхід, який забезпечує відповідність кінцевого продукту як потребам бізнесу, так і очікуванням зацікавлених сторін. Щоб досягти успіху, важливо дотримуватися цих спрощених найкращих практик.
Ретельний збір вимог
- Завчасно залучайте зацікавлених сторін: Залучайте зацікавлених сторін на ранній стадії, щоб отримати докладні вимоги.
- Використовуйте кілька прийомів: використовуйте інтерв’ю, опитування та семінари для повного розуміння.
- Пріоритезація вимог: Спершу зосередьтеся на вимогах високого пріоритету, щоб задовольнити критичні потреби бізнесу.
Чітка та детальна специфікація вимог
- Документ точно: Забезпечте ясність за допомогою узгодженої термінології та вимірюваних критеріїв.
- Використовуйте шаблони: Стандартизуйте документацію для узгодженості.
- Додайте критерії прийняття: Визначте умови, які мають бути виконані для кожної вимоги.
Забезпечення відстеження вимог
- Карта результатів: Пов’яжіть вимоги з фазами проектування, розробки та тестування.
- Використовуйте інструменти: Впровадити такі інструменти, як Вимоги до Visure Платформа ALM для автоматизації відстеження.
- Оновити матрицю відстеження: постійно оновлюйте матрицю, щоб відстежувати стан і узгодження вимог.
Ефективно керуйте змінами
- Процедури контролю змін: Запровадити офіційний процес для оцінки та документування змін вимог.
- Повідомте про зміни: Інформуйте зацікавлених сторін про будь-які зміни та їхній вплив.
Сприяти повторному використанню вимог
- Визначте вимоги до багаторазового використання: Визначте стандартні вимоги, які можна повторно використовувати в проектах.
- Підтримувати репозиторій: Створіть центральне сховище для зберігання багаторазових вимог для майбутнього використання.
Безперервна перевірка та перевірка
- Тест на відповідність вимогам: переконайтеся, що кожну вимогу перевірено за допомогою відповідних тестів.
- Регулярні огляди: Проводьте періодичні перевірки для забезпечення узгодженості та виявлення розбіжностей.
- Включіть відгук: Регулярно збирайте відгуки від зацікавлених сторін, щоб забезпечити постійне узгодження.
Гнучка інтеграція з RDD
- Ітеративна розробка: Використовуйте менші ітераційні цикли для коригування на основі зворотного зв’язку.
- Зберігайте гнучкість: залишайтеся адаптованими до змін, дотримуючись визначених вимог.
- Спільне спілкування: сприяйте постійному спілкуванню між усіма членами команди, щоб оперативно вносити зміни.
Дотримання цих найкращих практик розробки, орієнтованої на вимоги, гарантує, що проекти залишаються узгодженими з бізнес-цілями, підтримують відстеження та забезпечують високоякісні результати. Включення принципів Agile, таких як ітеративна розробка та гнучкість, може ще більше покращити RDD, дозволяючи командам адаптуватися до змін, зберігаючи структуру та зосередженість.
Інструменти та програмне забезпечення для розробки на основі вимог (RDD)
Розробка, орієнтована на вимоги (RDD), потребує надійних інструментів і програмного забезпечення для підтримки всього процесу розробки вимог, від збору та аналізу до перевірки та відстеження. Правильні інструменти спрощують керування вимогами, покращують співпрацю та забезпечують повну відповідність нормам. Одним із таких інструментів є Вимоги до Visure Платформа ALM, який надає комплексне рішення для RDD.
Вимоги до Visure Платформа ALM
Команда Вимоги до Visure Платформа ALM є провідним інструментом, розробленим для задоволення складних потреб розробки, орієнтованої на вимоги. Він поєднує в собі широкий спектр функцій, які підтримують життєвий цикл розробки вимог і забезпечують успішну реалізацію проектів, дотримуючись як ділових, так і технічних вимог.
Основні характеристики Visure Requirements ALM Platform
- Повний процес розробки вимог – Visure підтримує весь процес розробки вимог, від збору вимог до специфікації вимог, відстеження та управління. Це гарантує, що всі вимоги фіксуються, документуються та пов’язуються протягом життєвого циклу, гарантуючи, що жодна вимога не залишиться без уваги.
- Інтегрована допомога AI – Платформа інтегрує допомогу на основі ШІ для підвищення продуктивності та точності керування вимогами. Функції, керовані штучним інтелектом, допомагають автоматизувати такі завдання, як категоризація вимог, аналіз впливу та перевірка, оптимізуючи загальний процес керування вимогами.
- Найкращі практики Agile – Visure створено для підтримки Agile Requirements Development, що дозволяє легко адаптуватись до ітераційних і інкрементальних робочих процесів. Платформа підтримує збір вимог Agile, визначення вимог і аналіз вимог за допомогою інструментів, які сприяють співпраці, гнучкості та постійному зворотному зв’язку протягом усього циклу розробки.
- Підтримка дотримання нормативних вимог – Visure гарантує, що ваш процес управління вимогами відповідає нормативним стандартам і найкращим галузевим практикам. Платформа надає вбудовані функції відповідності, які допомагають керувати нормативними вимогами, такими як вимоги ISO, FDA та інших регуляторних органів, гарантуючи, що всі результати проекту відповідають необхідним стандартам відповідності.
- Наскрізне відстеження – Наскрізне відстеження є основною функцією Visure Requirements ALM. Платформа гарантує, що кожна вимога простежується протягом усього життєвого циклу, від початкового визначення до впровадження, тестування та перевірки. Ця відстежуваність дозволяє краще керувати ризиками, контролювати зміни та перевіряти, забезпечуючи дотримання всіх вимог проекту та належне керування будь-якими змінами.
Чому варто вибрати Visure Requirements ALM Platform for RDD?
Команда Вимоги до Visure Платформа ALM виділяється як комплексне рішення для розробки на основі вимог. Його надійні функції гарантують, що команди можуть ефективно керувати всім життєвим циклом розробки вимог, зберігаючи відстежуваність, відповідність і узгодженість з бізнес-цілями. Інтеграція штучного інтелекту та підтримка Agile-методологій роблять його ідеальним інструментом для команд, які прагнуть поєднати структуроване управління вимогами з гнучкістю та ітераційним характером Agile-розробки.
Надаючи централізовану платформу для виконання всіх вимог, Visure допомагає зменшити кількість помилок, оптимізувати комунікацію та гарантувати, що продукти постачаються вчасно та відповідають очікуванням зацікавлених сторін.
Які виклики виникають у розробці на основі вимог (RDD)? Як їх подолати?
Розробка, орієнтована на вимоги (RDD), може зіткнутися з кількома проблемами, які впливають на успіх проекту. Ось основні проблеми та стратегії їх подолання:
Неоднозначність у вимогах
- Виклики: Нечіткі або незрозумілі вимоги призводять до непорозумінь і неузгоджених результатів.
- Рішення: Забезпечте точну, зрозумілу документацію за допомогою структурованих шаблонів і вимірюваних критеріїв для усунення неоднозначності.
Збір неповних вимог
- Виклики: відсутність критичних вимог призводить до неповних функцій або переробки.
- Рішення: Залучайте зацікавлених сторін на ранній стадії, використовуйте різні методи виявлення та визначайте пріоритети критичних вимог, щоб уникнути прогалин.
Управління змінами у вимогах
- Виклики: Постійні зміни у вимогах можуть спричинити розповзання та затримки.
- Рішення: Запровадити формальний процес контролю змін, щоб оцінити та задокументувати зміни та забезпечити гнучкість, зберігаючи чітку документацію.
Забезпечення простежуваності
- Виклики: Вимоги щодо відстеження протягом життєвого циклу можуть бути складними.
- Рішення: використовуйте такі інструменти відстеження, як Вимоги до Visure Платформа ALM для автоматизації відстеження та підтримки оновленої матриці відстеження.
Збалансування RDD із гнучкими методами
- Виклики: Інтеграція структурованого підходу RDD із гнучкістю Agile може створити конфліктні процеси.
- Рішення: інтегруйте такі принципи Agile, як ітеративна розробка та цикли зворотного зв’язку, зосереджуючись на чітких, чітко визначених вимогах.
Щоб подолати труднощі розробки на основі вимог, забезпечте чіткість документації, залучайте зацікавлених сторін на ранній стадії та використовуйте правильні інструменти для відстеження та керування змінами. Поєднання цих методів із гнучкістю Agile може досягти успіху, зберігаючи структуру та відповідність бізнес-цілям.
Майбутнє розробки, орієнтованої на вимоги (RDD)
З розвитком технологій розробка на основі вимог (RDD) розвивається з новими тенденціями:
Розвиваються тенденції в інженерних рішеннях і інструментах для розробки вимог
- Інтеграція з ALM: Інструменти розробки сучасних вимог все більше інтегруються з платформами керування життєвим циклом додатків (ALM), що спрощує процес розробки.
- Хмарні рішення: Хмарні інструменти для спільної роботи покращують командну роботу в реальному часі, необхідну для Agile та розподілених команд.
Роль штучного інтелекту та автоматизації в оптимізації виявлення та управління вимогами
- Виявлення, кероване ШІ: штучний інтелект автоматизує такі завдання, як збір і аналіз даних, покращуючи точність і швидкість виявлення вимог.
- Автоматизоване керування вимогами: Інструменти автоматизації оптимізують керування вимогами, включаючи відстеження та контроль версій, зменшуючи ручні зусилля та забезпечуючи точність.
Як RDD вписується в наскрізне управління вимогами
- Покриття життєвого циклу: RDD забезпечує наскрізне керування вимогами, підтримуючи відстежуваність від збору до тестування та перевірки.
- Синергія Agile та RDD: RDD все більше інтегруватиметься з методологіями Agile, поєднуючи гнучкість із структурованим керуванням вимогами.
Майбутнє розробки, орієнтованої на вимоги, відзначатиметься більшою інтеграцією ШІ, автоматизації та хмарних інструментів для спільної роботи. Оскільки попит на наскрізне керування вимогами зростатиме, RDD продовжуватиме розвиватися, щоб включати більш гнучкі, автоматизовані та інтелектуальні системи, які підвищують ефективність, зберігаючи сувору структуру, необхідну для успішної розробки програмного забезпечення.
Висновок
Розробка на основі вимог (RDD) залишається фундаментальним підходом до забезпечення відповідності програмного забезпечення бізнес-цілям і потребам зацікавлених сторін. Зосереджуючись на чіткій документації, надійній відстежуваності та ефективному управлінні змінами, RDD покращує узгодження розробки з вимогами протягом усього життєвого циклу проекту. У міру розвитку галузі інтеграція штучного інтелекту, автоматизації та хмарних рішень оптимізує процеси, роблячи RDD ще більш ефективним і адаптованим, особливо в поєднанні з гнучкими методологіями.
Впровадження найкращих практик і використання правильних інструментів, наприклад Вимоги до Visure Платформа ALM— може допомогти вам оптимізувати ваш процес RDD, забезпечуючи повну відстежуваність, відповідність і безперебійну реалізацію проекту.
Готові вивести управління вимогами на новий рівень? Перевірте 14-денна безкоштовна пробна версія Visure і на власні очі відчуйте, як наша платформа може покращити ваші процеси розробки вимог і підтримувати наскрізне керування життєвим циклом.