Гераймович Юрій Дмитрович, керівник проекту, кт.н.Марченко Дмитро Володимирович, заступник директора ТОВ «ЛІРА софт»
На ринку країн СНД давнім і заслуженим попитом користуються програмні продукти – ЛІРА, МОНОМАХ і електронний довідник інженера (ЕСПРІ), які розроблені компанією ТОВ «ЛІРА софт», м.Київ, Україна. З моменту виходу першого програмного комплексу (ПК) ЛІРА пройшло досить багато років і зрозуміло, що закладені в той час концепції ПК сильно застаріли і потребують суттєвої переробки та модернізації. Попередня розробка велася без будь-якого використання програмної інженерії – методом "code and fix" (кодування і виправлення помилок), що сильно знижувало швидкість розробки, і багато якісних побажань користувачів або не впроваджувалися взагалі, або тривалий час чекали свого впровадження. За цей час в ІТ-індустрії з'явилися нові методи та технології створення прикладного програмного забезпечення (ПЗ), які не знайшли свого застосування при розробці зазначених вище програмних продуктів. Виробництво сучасного ПО відбувається на тлі високих вимог до його якості, так як складність і відповідальність виконуваних ним функцій безперервно зростає. Створення якісної програми, як і будь-якого іншого продукту, залежить не тільки від досвіду розробника, але і від інструменту, яким він користується.
Накопичений до теперішнього часу досвід створення систем ПЗ показує, що це складна і трудомістка робота, що вимагає високої кваліфікації фахівців, що беруть участь у ній. Однак до теперішнього часу створення таких систем нерідко виконується на інтуїтивному рівні із застосуванням неформалізованих методів, що ґрунтуються на мистецтві, практичному досвіді, експертних оцінках і дорогих експериментальних перевірках якості функціонування ПО [1].
Постійне зростання конкуренції в умовах сучасного ринку, а також використання піратського програмного забезпечення змушує виробників програмного забезпечення прагнути до безперервного скорочення витрат на вдосконалення та термінів випуску нових версій. За останні 5 років удосконалення в ПК ЛІРА можна перерахувати по пальцях:
- адаптація під Windows Vista і Windows 7;
- ізополя і мозаїки напружень в арматурі для фізично нелінійних балок-стінок і об'ємних елементів;
- реалізація модулів динаміки, з'явилися в нормах країн СНД;
- розв'язання задачі повзучості;
- аналіз чутливості для стійкості;
- динаміка і стійкість в системі МОНТАЖ;
- врахування ортотропії в пластинчастих і об'ємних скінченних елементах;
- абсолютно жорсткі вставки з площини пластинчастих елементів;
- візуалізація прискорень від пульсації вітрового потоку – ось власне і все.
ТОВ «ЛІРА софт» – власник майнових прав на торговельні марки та вихідні коди. Провідні розробники ПК ЛІРА за підсумками порівняльного аналізу з аналогічними програмними комплексами прийшли до невтішного висновку – ПК ЛІРА відстає від сучасних програмних комплексів. Маючи потужний розрахунковий процесор, в ПК ЛІРА версії 9.6 немає сучасного інструменту для створення і коректування розрахункової схеми. Візуалізація результатів також залишає бажати кращого, а документування взагалі на зародковому рівні.
Перераховані міркування зайвий раз підкреслюють важливість комплексного підходу до концепції майбутнього програмного комплексу, тобто програмуванню має передувати проектування [2]. Тому було прийнято рішення про створення "з нуля" програмного комплексу, який повинен суттєво перевершити ПК ЛІРА версії 9.6.
Сучасний ПК складається з п'яти основних частин:
- препроцесор (задання і коректування вихідних даних);
- розрахунковий процесор (розв'язання задач механіки суцільного середовища методом скінченних елементів);
- конструюючі системи (проектування залізобетонних та металевих конструкцій);
- постпроцесор (аналіз результатів розрахунку і результатів підбору конструювальних систем);
- система документування (документування вихідних даних, результатів розрахунку і результатів підбору конструювальних систем).
Нова версія, а по суті новий програмний продукт ПК ЛІРА версії 10 з'явиться найближчим часом. ПК ґрунтується на технології .NET Framework: Windows Forms, Windows Presentation Foundation (WPF) і використовує об'єктну модель даних. Нова версія ПК відразу вийде для процесорів на базі архітектур x86 і x64. У 64-бітній версії ПК дійсно вдалося зняти обмеження на розмір створюваних задач, для 32-бітної версії – це природне обмеження, пов'язане з адресацією в оперативній пам'яті.
Препроцесор
Користувальницький інтерфейс став об'єктом особливої уваги, саме зараз з'явилася можливість спроектувати користувальницький інтерфейс з чистого аркуша і застосувати в ньому багато тих речей, яким ми навчилися за всі ці роки, і тих технологій [3], які з'явилися за ці роки і добре зарекомендували себе. Мета, полягає в тому, щоб зробити користувальницький інтерфейс простішим у використанні і більш інтерактивним і зрозумілим, щоб за його допомогою можна швидко і ефективно створювати, редагувати розрахункові моделі, робити моніторинг і діагностувати задачі.
За формування зображення тепер відповідає OpenGL (раніше використовувався GDI). Завдяки оптимізації графічної частини значно зросла продуктивність при роботі з великими розрахунковими схемами та зменшено мерехтіння при операціях переміщення, масштабування, обертання. Отже, забезпечено велика комфортність користувача.
На малюнку 1 показаний графічний інтерфейс користувача, який складається з спадаючого меню, панелей інструментів, стека активних режимів, панелі команд активного режиму, робочої області та рядка стану.
Рис. 1. Графічний інтерфейс користувача програми.
Всі інструменти можуть бути активізовані через пункти меню, панелі інструментів, панелі команд активного режиму і "гарячі" клавіші.
На малюнку 1 показане перспективне зображення будівлі, що розраховується, на малюнку 2 — аксонометрія цієї ж будівлі. Редагування розрахункової схеми доступне для обох видів. Використання сіток, будівельних осей, точок «захоплення» і величезний набір засобів редагування: копіювання, переміщення, обертання, масштабування, вставка фрагментів з різних прототипів конструкцій і з досить великого списку форматів, дроблення, перетин — все це спрощує створення розрахункової моделі. На основі мінімальних вхідних параметрів прототипів конструкцій графічний препроцесор дає можливість сформувати розрахункові схеми таких об'єктів, як рами, ферми, плити, балки-стінки, оболонки, різні види кривих і поверхонь. Реалізований в препроцесор підхід збору розрахункової схеми з фрагментів дозволяє досить швидко створити розрахункову схему навіть складної конструкції, при цьому в якості фрагментів можуть виступати раніше створені і збережені у файл розрахункові схеми. У режимі діалогу можна вельми просто призначити і проконтролювати такі параметри розрахункової схеми, як перерізи, матеріали та параметри конструювання елементів, в'язі та об'єднання переміщень у вузлах, різні види статичних і динамічних навантажень, шарніри, жорсткі вставки, абсолютно жорсткі тіла і т.п.
Рис. 2. Аксонометрія будівлі.
При редагуванні моделі додана можливість роботи з розрахунковою схемою з контурними (дротяними), напівпрозорими і залитими скінченними елементами (рис. 3).
Рис. 3. Різне подання пластинчастих скінченних елементів.
Крім головного виду є можливість створювати необмежену кількість проекцій для яких розрахункова схема може бути подана різними видами, з різною виведеною інформацією, по різному фрагментована і т.д. Єдине що об'єднує "Головний вид" і "Проекції" – це виділені елементи. "Проекції" дозволяють розглядати об'єкт, що проектується, з різних ракурсів, вносити необхідні коректування в розрахункову схему, індивідуально керувати видимістю, редагувати візуальні властивості і ефективно працювати з важливими групами скінченних елементів. Слід зазначити, що виділення та зміна ракурсу може відбуватися в процесі редагування, не перериваючи його, що сприяє більш ефективній роботі.
Для більшості режимів редагування введені індикація і політика призначення. Індикація служить для візуального відображення призначуваних параметрів. Політика призначення визначає як діяти в конфліктних ситуаціях.
Програма окрім "Головного виду" і "Проекцій" структурно складається з чотирьох редакторів:
- редактора перерізів (рис. 4);
- редактора матеріалів (рис. 5);
- редактора завантажень (рис. 6);
- і редактора параметрів конструювання (рис. 7).
У новій версії програми жорсткісні характеристики поділені на два поняття "перерізи" і "матеріали".
Рис. 4. Редактор перерізів.
У верхній частині редактора перерізів (рис. 4) розташовуються заготовки для створення параметричних залізобетонних, прокатних сталевих, спеціальних і користувальницьких типів перерізів. З лівого боку в клітинках таблиці знаходяться вже задані перерізи при вказуванні, на які з правого боку стає доступною панель редагування заданого перерізу.
Рис. 5. Редактор матеріалів.
За допомогою редактора матеріалів (рис. 5) можна задавати лінійні, нелінійні, спеціальні та матеріали з бази даних (для бетону, арматури і сталі).
Рис. 6. Редактор завантажень.
Призначаючи перерізам і матеріалам різні кольори за допомогою візуальних атрибутів розрахункову схему легко контролювати на коректність задання перерізів і матеріалів.
За рахунок більш ретельного аналізу вихідних даних по завантаженням і кращого початкового планування програми вдалося всі дані про завантаження об'єднати в єдиному вікні (рис. 6).
Рис. 7. Редактор параметрів конструювання.
Всі дані необхідні для роботи конструювальних систем задаються в редакторі параметрів конструювання (рис. 7).
Графічний інтерфейс користувача включив в себе кращі аспекти традиційної розробки для Windows з безліччю нововведень [4].
Розрахунковий процесор
Реалізовані в процесорі методи оптимізації дозволяють істотно скоротити час розв'язання задач великої розмірності. Процесор має розвинену систему контролю вхідної інформації та діагностики помилок. Передбачені режими розрахунку дають можливість вирішення задачі в цілому, виконання повторного розрахунку зі зміненими вхідними даними. Крім того, перевагами процесора є висока швидкість розрахунків великих задач і практично повна відсутність обмежень на їх розмірність. Фактичним обмеженням розмірності служать ефективність центрального процесора і об'єм жорсткого диска.
Наявність режимів, що реалізують розрахунок у нелінійній постановці, дає можливість проаналізувати поведінку конструкції з урахуванням реальних властивостей матеріалу (фізична нелінійність), за деформованою схемою (геометрична нелінійність), а також з моделюванням зон контакту односторонніми в'язями При розрахунку з урахуванням реальних властивостей матеріалу (наприклад, залізобетону) передбачена можливість задання схеми розташування арматури в поперечному перерізі.
Розрахунковий процесор порадує користувачів наступними нововведеннями:
- пластинчастими і об'ємними скінченними елементами з вузлами на серединах сторін;
- стержнем змінного перерізу;
- стержнем з секторіальним моментом інерції (теорія Власова);
- згинальними фізично нелінійними елементами (стержневими і пластинчастими) для кроково-ітераційного методу і ДИНАМІКИ+;
- розрахунком по сейсмограмах землетрусів;
- і звичайно ж покращеною продуктивністю розрахунку (особливо для процесорів на базі архітектури x64).
Конструюючі системи
Конструюючі системи дозволяють проектувати металеві та залізобетонні конструкції з можливістю автоматичного перенесення підібраних перерізів у вихідні дані для повторного розрахунку зусиль. Конструюючі системи можуть працювати як в режимі перевірки заданих перерізів, так і в режимі підбору мінімально необхідного перерізу для сталевих елементів і мінімально необхідної площі армування для залізобетонних елементів.
У першій версії ПК будуть реалізовані нормативні документи колишнього Радянського Союзу, України та Російської Федерації. Зроблена спроба розрахунку довільного поперечного перерізу, як для металевих, так і для залізобетонних перерізів.
Результати підбору конструювальних систем відображаються у вигляді таблиць і картинок. В "підозрілих" випадках для конкретного елемента можна отримати протокол розрахунку в символьному вигляді і з підставленими значеннями, що дасть користувачам можливість перевіряти отримані результати, і не просто довіряти "чорному ящику".
Постпроцесор
Основним кроком було опрацювання потужної системи аналізу отриманих результатів за різними параметрами, щоб від уваги користувача не вислизнула жодна деталь – аж до розподілу напружень в стержневих елементах.
Графічний постпроцесор дозволяє здійснити повний аналіз результатів розрахунку, у тому числі відображення деформованих схем, мозаїк, ізоліній та ізополів переміщень і напружень, епюр внутрішніх зусиль, форм власних коливань, а також форм втрати стійкості, як для всієї схеми, так і для будь-якого її фрагмента . Будь-яке зображення або таблицю можна зберегти у графічний файл, передати на принтер або в звіт. Результати подаються одночасно у вигляді таблиць, графіків і картинок на екрані.
Рис. 8. Мозаїка переміщень.
Система документування
Це найболючіше місце в ПК ЛІРА версії 9.6, тому йому придається велике значення. Прототип системи документування – повний набір заготовок (шаблонів) документів зі стандартними елементами змісту і вставленими підказками щодо заповнення, упорядкованих за ієрархічним принципом. Прототип включає в себе заготовки не тільки таблиць результатів розрахунку, а й також таблиць вихідних даних. Система документування створена як для аналізу результатів розрахунку (для перегляду – таблиці з можливістю сортування та фільтрації даних, гістограми і картинки фрагментів конструкції у високій роздільній здатності), так і для генерування наскрізного звіту, існуючого спочатку у вигляді вмісту сформованого користувачем, а потім заповнюваного табличними даними , картинками і текстом.
Рис. 9. Таблиці результатів.
Головну ідею, яку хотілося закласти в концепцію нового ПК ЛІРА – щоб об'єктна модель даних завжди була готова до будь-яких змін, доповнень і модифікацій і графічний інтерфейс користувача був людиноорієнтованим.
У першій версії нового ПК ЛІРА звичайно досить складно охопити всі можливості, але це не означає, що новий продукт матиме недостатній набір функцій – єдине від чого довелося відмовитися – від суперелементов. Надалі ми просто продовжимо надбудовувати і покращувати програмний комплекс, додавати нову функціональність і реалізовувати нові потреби та побажання користувачів.
15 листопада 2011 у м. Москва на семінарі «Комп'ютерні конструкторські програми», організованому групою компаній «ІНФАРС» вперше був проведений попередній показ нового продукту клієнтам і дилерам – вони були заінтриговані.
Ми намагаємося зробити все можливе, щоб полегшити користувачам перехід на нову версію ПК ЛІРА. Інша справа, що колишнім фахівцям доведеться докласти певних зусиль при освоєнні нових інструментів під час переходу на нову технологію. Новий інтерфейс ПК ЛІРА може здатися незвичним, але його можна освоїти практично всього за тиждень, причому без спеціального навчання. Також буде забезпечена сумісність зі старим форматом вихідних даних.
Компанія «ЛІРА софт» спільно з групою компаній «ІНФАРС» продовжує підтримку та супровід ПК ЛІРА версії 9.6, при цьому розробка нової версії ведеться досить динамічно, і немає ніяких сумнівів у тому, що новий ПК ЛІРА надасть своїм користувачам переваги простого і зрозумілого інтерфейсу в поєднанні з якісним постпроцесором і документуванням. Кожен день нам дзвонять користувачі і діляться власними ідеями щодо покращення ПЗ. Ми, у свою чергу, намічаючи першочергові цілі і вектор подальшого розвитку ПК прислухаємося до побажань користувачів. Розробники не збираються зупинятися на досягнутому – наша команда сповнена ентузіазмом.
1. Вендров А.М. Сучасні технології створення програмного забезпечення. Огляд. – Jet Info, інформаційний бюлетень №4, 2004 р.
2. Купер Алан. Психіатрична лікарня в руках пацієнтів – Видавництво: Символ-Плюс, 2005 р. – 336 с.
3. Джеф Раскін. Інтерфейс: нові напрямки в проектуванні комп'ютерних систем – Видавництво: Символ-Плюс, 2004 – 272 с.
4. Константайн Л., Локвуд Л. Розробка програмного забезпечення – Видавництво: Питер, 2004 г. – 592 с.