Розробка адаптивного інтерфейсу користувача для програмного забезпечення наближення експериментальних даних
Розробка архітектури та побудова компонентної об'єктної моделі уніфікованого та функціонально відкритого інтерфейсу користувача. Проектування методики автоматизованого формування адаптивного інтерфейсу за формалізованим описом предметної області.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | автореферат |
Язык | украинский |
Дата добавления | 22.06.2014 |
Размер файла | 43,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
НАЦІОНАЛЬНА АКАДЕМІЯ НАУК УКРАЇНИ
ІНСТИТУТ ПРОБЛЕМ МОДЕЛЮВАННЯ В ЕНЕРГЕТИЦІ ім. Г.Є.ПУХОВА
УДК 681.3.06
АВТОРЕФЕРАТ
дисертації на здобуття наукового ступеня кандидата технічних наук
РОЗРОБКА АДАПТИВНОГО ІНТЕРФЕЙСУ КОРИСТУВАЧА ДЛЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ НАБЛИЖЕННЯ ЕКСПЕРИМЕНТАЛЬНИХ ДАНИХ
01.05.03 - Математичне та програмне забезпечення обчислювальних машин і систем
КОВАЛЬЧУК Андрій Михайлович
Київ - 2002
Дисертацією є рукопис.
Робота виконана в Житомирському інженерно-технологічному інституті Міністерства освіти і науки України.
Науковий керівник: кандидат технічних наук, доцент, Колодницький Микола Михайлович, Житомирський інженерно-технологічний інститут Міністерства освіти і науки України, професор кафедри автоматизації та комп'ютеризованих технологій.
Офіційні опоненти:
доктор технічних наук, професор, Самойлов Віктор Дмитрович, Інститут проблем моделювання в енергетиці ім. Г.Є. Пухова НАН України, завідуючий відділом імітаційного моделювання;
кандидат технічних наук, доцент, Савицький Артем Йосипович, Національний технічний університет України “Київський політехнічний інститут”, доцент кафедри технічної кібернетики.
Провідна установа:
Інститут проблем математичних машин і систем НАН України, відділ інтелектуальних систем математичного моделювання складних об'єктів та процесів.
Захист відбудеться “ 12 ” вересня 2002 р. о 14 годині на засіданні спеціалізованої вченої ради Д 26.185.01 в Інституті проблем моделювання в енергетиці ім. Г.Є. Пухова НАН України за адресою: 03164, м. Київ - 164, вул. Генерала Наумова, 15.
З дисертацією можна ознайомитись у бібліотеці Інституту проблем моделювання в енергетиці ім. Г.Є. Пухова НАН України за адресою: 03164, м. Київ - 164, вул. Генерала Наумова, 15.
Автореферат розісланий “ 16 ” липня 2002 р.
Вчений секретар
спеціалізованої вченої ради
кандидат технічних наук Семагіна Е.П.
ЗАГАЛЬНА ХАРАКТЕРИСТИКА РОБОТИ
Актуальність теми. За останні роки програмні системи (ПС) чисельного аналізу набули широкого використання не тільки як інструментарій для вирішення різноманітних наукових, технічних та навчальних задач, але й як засоби, що можуть бути використані для організації науково-дослідницького процесу.
Сучасний рівень розвитку комп'ютерно-інформаційних технологій та обчислювальної техніки надає нові можливості щодо використання програмних засобів в задачах чисельного аналізу даних, зокрема в області наближення експериментальних даних. Однак, основні ідеї, що були закладені при створенні існуючих програмних систем чисельного аналізу, використовуються вже тривалий час і на сьогодні не завжди відповідають сучасному рівню розвитку інформаційних технологій та вимогам, які висуваються користувачами. Одним з недоліків такого програмного забезпечення (ПЗ), на думку автора, є не завжди задовільна організація інтерфейсу користувача (ІК). Можливим варіантом вирішення даної проблеми є створення методів адаптації формування ІК до задач предметної області, а зокрема, до задачі наближення даних. В даному випадку, вважатимемо адаптивним такий ІК програмного забезпечення, який пристосовується до зміни задач, що вирішує програмна система, та їх властивостей. Головним в процесі адаптації є збереження необхідного рівня якості спілкування ПЗ та користувача шляхом зміни структури та параметрів інтерфейсу.
Зв'язок роботи з науковими програмами, планами, темами. Дана робота виконувалась в рамках дослідницької та науково-методичної роботи по проектуванню та розробці програмного забезпечення для чисельного аналізу математичних задач. Робота проводилася на кафедрі програмного забезпечення Житомирського інженерно-технологічного інституту, а також у рамках досліджень, підтриманих міжнародним проектом Tempus ТACIS JEP-10435-98 “Наука про навколишнє середовище у частині визначення впливу на здоров'я людини”. Зв'язок роботи з вказаним проектом полягає в розробці ІК програмного забезпечення для визначення дозового навантаження на організм людини від лісових продуктів, а саме: для наближення кількісних характеристик даних моніторингу. ПЗ розроблене за результатами роботи вирішує проблему простеження динаміки накопичення радіонуклідів в продуктах лісу і дозового накопичення в організмі людини. Результати роботи були використані також в рамках науково-дослідної, дослідницько-конструкторської роботи “Розробка програмно-апаратного комплексу для автоматизованого визначення терапевтичних доз випромінювання при лікуванні онкохворих в радіологічних відділеннях” № 14 РК 0199U001682.
Мета і задачі дослідження. Метою роботи є розробка методики створення та архітектури адаптивного та відкритого інтерфейсу користувача для програмного забезпечення наближення експериментальних даних.
Для досягнення вказаної мети були поставлені та вирішені наступні основні задачі:
1. Провести дослідження існуючих підходів до створення ІК та методів їх модифікації в прикладних програмних системах, які можуть бути використані для наближення експериментальних даних. Розглянути особливості представлення предметної області наближення даних в ІК. Проаналізувати можливість використання існуючих методик створення ІК для прикладних програмних систем.
2. Створити формальний опис складових частин ІК та розробити формалізоване представлення предметної області для побудови ІК програмного забезпечення наближення експериментальних даних.
3. В процесі формування множин параметрів ІК (тобто множини методів наближення) провести модифікацію існуючих алгоритмів наближення експериментальних даних шляхом реалізації використання визначених користувачем множин базисних функцій.
4. Побудувати модель поведінки інтерфейсу користувача програмного забезпечення наближення експериментальних даних та розробити діаграму варіантів використання інтерфейсу.
5. Розробити архітектуру та побудувати компонентну об'єктну модель уніфікованого та функціонально відкритого ІК, який буде адаптуватися до потреб користувача в залежності від виду задачі, що вирішується.
6. Спроектувати методику автоматизованого формування адаптивного інтерфейсу користувача за формалізованим описом предметної області, реалізувати інструментальний засіб автоматизованого створення та модифікації інтерфейсу користувача.
7. Реалізувати розроблену схему формування ІК в інструментальному засобі об'єктно-орієнтованої візуалізації результатів наближення експерименталь-них даних, реалізувати методи адаптації ІК даного інструментального засобу.
Об'єктом дослідження є програмне забезпечення для наближення експериментальних даних.
Предметом дослідження є адаптивний інтерфейс користувача прикладного програмного забезпечення наближення експериментальних даних.
Методи дослідження. Теоретичні, методичні та практичні аспекти розробки архітектури адаптивного інтерфейсу користувача були сформовані автором після вивчення ряду наукових праць вітчизняних вчених: В.М. Глушкова, О.А. Летичевського, Г.О. Цейтлина, Ю.В. Капітонової, І.М. Парасюка, О.І. Провотаря, Ю.Л. Перевозчикової, Н.П. Бусленко, В.Н. Редька, а також закордонних вчених Н. Вірта, Г. Буча, І. Джекобсона, Дж. Румбаха, Д. Харела, Э. Йордона. Розробку адаптивного інтерфейсу користувача програмного забезпечення наближення експериментальних даних виконано на основі запропонованої архітектури та компонентної моделі інтерфейсу користувача. Візуальне представлення результатів чисельного аналізу проводиться на основі об'єктно-орієнтованої методики візуалізації наукових даних. Методи наближення експериментальних даних створено на основі запропонованих модифікацій алгоритмів, що використовують базисні функції, які визначені користувачем.
Наукова новизна одержаних результатів полягає в наступному:
Розроблено формалізоване представлення множин задач, видів та методів наближення даних, підсистем та їх параметрів для формування ІК; для множини методів наближення проведено модифікацію процедури обчислення коефіцієнтів сплайну n-го степеня, яка відрізняється від існуючих використанням базисних функцій, що визначені користувачем.
Запропоновано архітектуру адаптивного інтерфейсу користувача для програмної системи наближення експериментальних даних, що відрізняється від існуючих підходів даної предметної області використанням клієнт-серверної моделі для формування інтерфейсів користувача складної системи з інтерфейсів простих компонент.
Розроблено нову для предметної області наближення експериментальних даних методику автоматизованого формування та адаптації інтерфейсу користувача програмного забезпечення.
Згідно з розробленою схемою формування адаптивного ІК розроблено узагальнену схему модифікації ІК для засобу об'єктно-орієнтованої візуалізації результатів наближення експериментальних даних.
Практичне значення одержаних результатів:
1) Запропонована в дисертаційній роботі методика розробки адаптивного інтерфейсу користувача та архітектура ІК надають можливість створити адаптивний та відкритий інтерфейс користувача. Апробація головних особливостей методики була проведена в процесі розробки програмного забезпечення чисельного аналізу математичних задач, яка проводиться на кафедрі програмного забезпечення обчислювальної техніки Житомирського інженерно-технологічного інституту. Завдяки запропонованій методиці та архітектурі ІК вдається досягти:
ь адаптивності та уніфікованості інтерфейсу програмного забезпечення шляхом розподілу процесу аналізу на етапи та використанням спеціалізованих програмних компонент на кожному з етапів аналізу;
ь відкритості та модифікованості інтерфейсу користувача програмної системи шляхом використання систем керування базами даних та алгоритмів автоматизованого формування інтерфейсу.
Завдяки представленому способу розробки та модифікації інтерфейсу користувача програмної системи підвищується зручність та ефективність процесу створення прикладного програмного забезпечення. В той же час використання фіксованої множини програмних компонент дозволяє отримати інтерфейс, який є уніфікованим для різних методів наближення даних, що значно полегшує користувачеві вивчення та використання програмного продукту. Запропоновані автором методи формування та адаптації ІК успішно застосовуються при розробці програмного забезпечення в навчальному курсі “Системне програмування та операційні системи” в Житомирському інженерно-технологічному інституті.
2) Розроблена на основі запропонованої архітектури інтерфейсу підсистема візуального представлення результатів чисельного аналізу є ефективним інструментальним засобом для візуалізації результатів наближення експериментальних даних. Підсистема має адаптивний інструментарій керування процесом візуалізації, що дозволяє суттєво скоротити час на опанування даного засобу та полегшує його використання. Використання сучасних технологій візуалізації, багатопочної обробки даних, механізмів динамічного обміну даними дозволяє забезпечити інтерактивність процесу візуалізації результатів наближення експериментальних даних.
3) Програмне забезпечення для наближення даних, що було розроблено в рамках даної роботи, має практичне застосування в задачах дослідження закономірностей міграції радіонуклідів в лісових екосистемах Поліського регіону в рамках програмної системи чисельного аналізу “DSR Open Lab 1.0”. Дослідження проводились за сприяння міжнародного проекту Tempus ТACIS JEP-10435-98 “Наука про навколишнє середовище у частині визначення впливу на здоров'я людини” в Житомирському інженерно-технологічному інституті у співробітництві з поліським філіалом науково-дослідного інституту лісового господарства та агролісомеліорації ім. Г.М. Висоцького.
Особистий внесок здобувача. У публікаціях, написаних у співавторстві, здобувачеві належить: в роботі [1] - розробка архітектури адаптивного інтерфейсу користувача програмної системи чисельного аналізу математичних задач; в роботі [2] - розробка методики формування, модифікації та адаптації ІК програмної системи наближення експериментальних даних; в роботі [3] - проектування компонентної архітектури адаптивного інтерфейсу користувача; в роботах [7-8] - особливості проектування та розробки адаптивного інтерфейсу користувача для програмного забезпечення чисельного аналізу математичних задач.
Апробація результатів дисертації. Результати дисертаційної роботи доповідалися на 21-й Міжнародній конференції “Інтерфейси інформаційних технологій” (Пула, Хорватія, 1997); 2-й Міській міжвузівській науково-практичній конференції студентів та молодих вчених (Житомир, Україна, 1999); 4-й Міжнародній конференції “Азіатська конференція технологій в математиці” (Гуанджоу, Китай, 1999); 5-й Міжнародній конференції “Азіатська конференція технологій в математиці” (Чіанг-Мей, Таїланд, 2000); 4-й Міжнародній конференції “Азіатський симпозіум з комп'ютерів в математиці” (Чіанг-Мей, Таїланд, 2000); 3-й Міській міжвузівській науково-практичній конференції студентів та молодих вчених (Житомир, Україна, 2000); 2-й науково-методичній конференції “Інформаційні технології в освіті та управлінні” (Нова Каховка, Україна, 2000); 4-й Міській міжвузівській науково-практичній конференції студентів та молодих вчених (Житомир, Україна, 2001); 3-й науково-практичній конференції “Інформаційні технології в освіті та управлінні” (Нова Каховка, Україна, 2001); 3-й Національній науково-практичній конференції студентів та аспірантів “Системний аналіз та інформаційні технології” (Київ, Україна, 2001); 2-му Міжнародному симпозіумі з обробки та аналізу зображень і сигналів (Пула, Хорватія, 2001); Міжнародному семінарі “Методи інтелектуального збору даних та удосконалених комп'ютерних систем: Технології та використання” (Форос, Україна, 2001); 4-й науково-практичній конференції “Інформаційні технології в освіті та управлінні” (Нова Каховка, Україна, 2002).
Публікації. З теми дисертації надруковано 14 наукових праць, із них 2 -монографія в 2-х томах, 6 - у фахових виданнях, 5 - у матеріалах конференцій, 1 - у тезах конференцій. Основний зміст роботи викладено в публікаціях [1-8].
Структура та обсяг роботи. Дисертація включає вступ, чотири спеціальні розділи, висновки та список використаних джерел. Матеріал дисертації викладений на 131 сторінці. Робота містить 32 малюнки та 12 таблиць. Бібліографічний список налічує 131 назву.
ОСНОВНИЙ ЗМІСТ РОБОТИ
У вступі сформульовано мету роботи, відображено наукову новизну, практичну цінність та достовірність результатів роботи. Стисло викладено зміст роботи за розділами.
В першому розділі проведено огляд літературних джерел та матеріалів всесвітньої мережі Internet. Згідно з темою дисертаційної роботи розглянуто способи організації інтерфейсу користувача сучасних програмних засобів чисельного аналізу математичних задач. З результатів огляду зроблено висновок про незадовільне вирішення проблеми організації діалогу з користувачем в існуючих універсальних прикладних програмних системах наближення експериментальних даних. Головною причиною такої оцінки, на думку автора, є складність формалізації відношень між людиною та обчислювальною системою, що навряд чи дозволить вирішити найближчим часом питання організації ІК в повному обсязі. Однак, відзначимо, що наявність будь-яких засобів автоматизованого формування чи адаптації ІК в програмному засобі значно підвищує його експлуатаційні якості (як наприклад в MATLAB, де реалізовано засоби розробки та модифікації ІК).
В розділі проведено короткий огляд методів наближення експериментальних даних в існуючих програмних системах статистичного аналізу та програмних системах чисельного аналізу математичних задач. Відзначено відсутність реалізованих методів наближення користувацькими базисними функціями в існуючих системах чисельного аналізу (за виключенням методів середньо-квадратичного наближення).
Також розглянуто найпоширеніші з існуючих методів моделювання інтерфейсу користувача в програмних системах. За результатами огляду, для проведення моделювання, створення архітектури та розробки методів адаптації ІК програмного забезпечення було обрано математичний апарат теорії складних систем та універсальну мову моделювання.
В другому розділі проведено аналіз предметної області наближення експериментальних даних в частині задачі формування та адаптації ІК програмного забезпечення. При розгляданні задачі адаптації ІК як підбору множин програмних підсистем та їх параметрів для відображення даних, процесів тощо, визначаються множини параметрів ІК та методів наближення, які необхідні для наближення експериментальних даних.
Формально задачу наближення експериментальних даних можна представити у вигляді множини математичних задач F, де кожен елемент F зв'язаний з підмножиною видів аналізу (наближення) множини A. Будь-який з елементів A зв'язаний з підмножиною чисельних методів з множини M, за допомогою яких проводиться наближення даних. В загальному випадку для кожного чисельного методу існує унікальна послідовність маніпуляцій для того, щоб описати задачу, провести її аналіз, отримати та переглянути результати досліджень. Проведення таких маніпуляцій вимагає введення в інтерфейс користувача програмної системи відповідної множини візуальних засобів або використання внутрішньої мови. Таким чином, програмна система, що орієнтована на вирішення великої кількості видів математичних задач повинна мати величезну кількість візуальних засобів або надскладну внутрішню мову. Інтерфейси, що мають велику кількість візуальних засобів (такі як Mathcad) чи занадто ускладнену мову (MATLAB та MATEMATICA) є незручними у використанні. Для вирішення даної проблеми, автором була використана ідея адаптивного розподілу управління процесом вирішення математичної задачі між лінгвістичним та візуальним інтерфейсом програмної системи. В подальшому розвитку даної ідеї було запропоновано розділити весь процес аналізу математичної задачі на декілька етапів, кожен з яких відповідає за вирішення окремої частини задачі. Кількість етапів (тобто степінь деталізації процесу опису, аналізу, представлення результатів та надання допомоги) залежить від виду задачі, що вирішується. Далі конструктивно визначимо множини, які дають можливість формально представити ІК ПЗ, тобто множини, що необхідні в процесі формування та адаптації інтерфейсу.
Множина математичних задач F в даному випадку складається з наступних елементів: F1 - “наближення двовимірних даних”, F2 - “наближення тривимірних даних”. Далі представлено множину видів аналізу A для видів задач F: інтерполяція за Лагранжем та Ермітом (звичайними поліномами, дробно-раціональними поліномами), середньо-квадратичне наближення, середньо-квадратичне наближення з використанням похідних n-го степеня, рівномірне наближення, сплайни.
Для видів наближення з множини A пропонується використовувати множину методів наближення M, що складається з таких елементів: інтерполяція степеневими, тригонометричними, експоненціальними поліномами, визначеними користувачем базисними функціями; інтерполяція за допомогою кінцевих різниць; середньо-квадратичне наближення степеневими, тригонометричними, експоненціальними, визначеними користувачем базисними функціями; середньо-квадратичне наближення з використанням похідних n-го степеня степеневими, тригонометричними, експоненціальними або визначеними користувачем базисними функціями; сплайни - лінійні, кубічні, ермітові, n-го степеня визначеними користувачем базисними функціями, В-сплайни. Множини задач та видів наближення були сформовані з урахуванням огляду методів наближення, які розроблені та реалізовані в існуючих універсальних програмних системах чисельного аналізу.
Для означених множин запропоновано використовувати множину станів інтерфейсу користувача Q, що необхідні в процесі наближення даних, а саме: “вибір виду задачі”; “вибір виду наближення”; “опис задачі”; “визначення порядку полінома”; “вибір методу наближення”; “опис системи базисних функцій”; “опис додаткових умов”; “покроковий аналіз”; “перегляд результатів”; “створення звіту”; “збереження опису та результатів аналізу задачі”; “завантаження опису та результатів аналізу задачі” тощо. Тобто, в загальному випадку, множина станів інтерфейсу користувача складається зі станів, орієнтованих на процес чисельного аналізу задачі, та предметно-орієнтованих станів. Кожен вид наближення з множини А буде використовувати різні комбінації станів, що необхідні для вирішення задачі наближення даних. Для визначених методів наближення необхідно формувати ІК з урахуванням особливостей предметної області наближення експериментальних даних, що передбачає використання спеціалізованих засобів опису задачі, управління процесом обчислення та представлення результатів аналізу. З огляду на існуючі способи візуального представлення задач наближення даних пропонується виділити окрему множину програмних підсистем для формування візуального інтерфейсу, що буде складатися з елементів: “табличний процесор”, “підсистема визначення методів наближення”, “підсистема редагування математичних виразів”, “підсистема графічного відображення результатів”, “підсистема формування звітів” тощо.
В огляді існуючого ПЗ, що може бути використано для наближення експериментальних даних, було відзначено відсутність методів наближення базисними функціями, які визначені користувачем. Визначення множини базисних функцій в сучасному ПЗ відбувається конструктивним способом, що не завжди достатньо для вирішення задач наближення. Поєднання візуальних засобів ІК та лінгвістичного забезпечення наближення експериментальних даних надає можливість визначати множини базисних функцій дескриптивним способом. В свою чергу, це приводить до необхідності створення нереалізованих в існуючих системах алгоритмів наближення базисними функціями, що визначені користувачем. В розділі в процесі формування множини методів наближення проведено удосконалення процедури обчислення коефіцієнтів сплайн-функцій. Формується система лінійних алгебраїчних рівнянь AЧX = B для обчислення коефіцієнтів сплайну виду Sm, k (x) = aj - 1, i ц i (x -xj -1), де x О [xj - 1, xj); що використовує визначені користувачем множини базисних функцій ц i ,
Запропоновано обчислювати значення базисних функцій як функції від двох змінних - F( x, i ) та функції від трьох змінних - F( x,n, i ), де x - значення аргументу, i - значення номеру функції в базисі, n - порядок похідної. В загальному випадку F представляється у вигляді рекурсивної функції
F( x, n , i) = G(x, n, i, F( x,n - 1, i )), де G(x,n, i, F( x,n - 1, i )) = V(x,n, i, G(x,n, i - 1, F( x,n - 1, i )).
В розділі наведено приклади запису степеневих, тригонометричних, експоненціальних базисів та базисів визначених за допомогою функцій Чебишева у вигляді функцій векторного аргументу.
В третьому розділі представлено методи формування та адаптації ІК, визначено архітектуру ІК програмного забезпечення наближення експериментальних даних.
Для кожного елементу з множини чисельних методів M інтерфейс користувача може бути представлений у вигляді множини інтерфейсів I, де елементи I - це ІК на кожному етапі аналізу задачі. Таким чином ІК для i-ї математичної задачі, j-го виду аналізу, k-го методу аналізу може бути представлений у вигляді
Iijk = <Fi, Aj, Mk, I, R>,
де R - послідовність попередніх маніпуляцій користувача. Множину інтерфейсів I визначаємо як <V, L, Q>, де V - непуста скінчена підмножина візуальних інтерфейсів, L - скінчена підмножина мовних інтерфейсів, а Q - непуста скінчена множина станів ІК. Всі представлені в програмній системі види аналізу об'єднані в підмножини G = {G1, G2, … , Gp}, яким відповідають однакові підмножини візуальних інтерфейсів. Процес адаптації ІК до математичної задачі, яку вирішує користувач, використовує також ряд множин, що вміщують інформацію довідникового характеру щодо ієрархії задач, видів та методів аналізу, візуальних інтерфейсів і підсистем формування ІК:
1. Ієрархія математичних задач і відповідних елементів їх візуального представлення складає множину кортежів
DF = {<IDM, P, O, N, M, I>},
де IDM - унікальний номер, що ідентифікує математичну задачу (FIDMОF); P - номер, що вказує на ідентифікатор батьківської задачі більш високого рівня ієрархії (FPОF); O - порядковий номер задачі серед задач такого ж рівня ієрархії; N - назва задачі; I - графічне представлення (зображення) задачі, M - номер підмножини методів аналізу.
2. Ієрархія видів аналізу для математичних задач і відповідних елементів їх візуального представлення складає множину кортежів
DA = {<IDA, IDM, P, O, N, I, G, S>},
де IDA - унікальний номер, що ідентифікує вид аналізу для математичної задачі (AIDAОA); IDM - номер, що ідентифікує задачу (FIDMОF); P - номер, що вказує на ідентифікатор батьківського виду аналізу більш високого рівня ієрархії (APОA); O - порядковий номер виду аналізу серед задач такого ж рівня ієрархії; N - назва виду аналізу; I - графічне представлення виду аналізу; G - номер підмножини видів аналізу, якім відповідають однакові підмножини візуальних інтерфейсів; S - підмножина станів ІК (S М Q).
3. Ієрархія математичних методів проведення аналізу для математичних задач і відповідних елементів їх візуального представлення складає множину кортежів
DM = {<MM, IDA, MS, N, I>},
де MM - унікальний номер математичного методу (MMMОM); IDA - номер, що ідентифікує вид аналізу для математичної задачі (AIDAОA); MS - номер підмножини математичних методів, які використовуються в даному методі; N - назва математичного методу; I - графічне представлення математичного методу.
4. Ієрархія взаємного використання математичних методів складає множину кортежів
DMS = {<MM, MS>},
де MM - номер математичного методу (MMMОM); MS - номер підмножини математичних методів, до складу якої входить даний метод.
5. Зв'язки станів і множин підсистем формування ІК складають множину кортежів
DSK = {<SI, K, O, N, I>},
де SI - стан ІК (SI О Q); K - номер, що визначає підмножину підсистем формування ІК; O - пріоритет підмножини підсистем формування ІК в даному стані; N - назва підмножини підсистем формування ІК; I - графічне представлення підмножини підсистем формування ІК.
6. Візуальні інтерфейси підсистем формування ІК складають множину кортежів
DV = {<KI, V>},
де KI - унікальний номер підсистеми формування ІК; V - візуальний інтерфейс користувача.
Для процесу адаптації інтерфейсу програмної системи шляхом автоматизованого формування Iijk з відповідної множини візуальних інтерфейсів V та множини маніпуляцій R виділимо основні етапи розв'язку задачі, елементи множини формування візуальних інтерфейсів V та критерії адаптації інтерфейсу. Визначимо, що множина V є об'єднанням двох підмножин
Vfx та Vad,
де Vfx -- це підмножина незмінного ІК, а Vad --підмножина ІК, яка адаптує інтерфейс програмної системи до виду задачі, що вирішується.
Далі використовуємо йота-оператор (ix)P(x) для позначення вибору точно одного об'єкту, який задовольняє заданому предикату P(x); якщо не існує жодного такого об'єкту або таких об'єктів більше, ніж один, вираз не визначено.
1) Вибір виду математичної задачі. Підмножина візуального інтерфейсу Vm М Vfx представляє множину задач F у вигляді позначеного впорядкованого дерева (так зване, дерево математичних задач), вершинами якого є елементи множини кортежів DF. При цьому:
позначення кореня дерева задається як
(ix)[xОDF Щ x = <IDM, P, O, N, M, I> Щ P = 0];
якщо піддерево dl, над яким домінує y (прямий нащадок кореня дерева) має корінь x, то
("x"y)[ yОDF Щ y = <IDM1, P1, O1, N1, M1, I1> Щ xОDF Щ
x = <IDM2, P2, O2, N2, M2, I2> Щ IDM1 = P2];
причому dl складається з єдиної вершини, позначеної x, тільки якщо виконується умова
xОDF Щ x = <IDM1, P1, O1, N1, M1, I1> Щщ ($z)[ zОDA Щ
z = <IDM2, P2, O2, N2, M2, I2> Щ IDM1 = P2].
Підмножина маніпуляцій користувача Rm М R містить засоби навігації по дереву математичних задач, вибору моделі або відмови від її вибору. Критерієм допустимості вибору є відсутність нащадків у вибраної вершини дерева. За видом вибраної користувачем математичної задачі (dkОDF) з множини візуальних інтерфейсів Vfx формується підмножина візуальних інтерфейсів Va М Vfx програмної системи та допустимих маніпуляцій користувача Ra М R для стану ІК вибору виду аналізу.
Таким чином, перший крок адаптивної організації ІК можна описати відношенням
ChFA : DF ґVm ґRm > Fi ґVa ґRa, де i = (iIDM)[dk = <IDM, P, O, N, M, I>].
2) Вибір виду аналізу задачі. Підмножина візуального інтерфейсу Va М Vfx представляє підмножину видів аналізу AjМ A у вигляді позначеного впорядкованого дерева, вершинами якого є елементи множини кортежів DA. При цьому:
позначення кореня дерева вводиться як фіктивний вид аналізу
(ix)[xОDA Щ x = <IDA, IDM, P, O, N, I, G, S> Щ IDA = 0 Щ i = IDM],
де Fi -- математична задача, вибрана на попередньому кроці адаптації ІК;
якщо піддерево dl, над яким домінує y, прямий нащадок кореня дерева, має корінь x, то
("x"y)[ yОDA Щy = <IDA1, IDM1, P1, O1, N1, I1, G1, S1> Щ xОDA Щ
x = <IDA2, IDM2, P2, O2, N2, I2, G2, S2> Щ IDA1 = P2 Щ i = IDM1 Щ i = IDM2];
причому dl складається з єдиної вершини, позначеної x, тільки якщо виконується умова
xОDA Щ x = <IDA1, IDM1, P1, O1, N1, I1, G1, S1> Щщ ($z)[ zОDA Щ
z = <IDA2, IDM2, P2, O2, N2, I2, G2, S2> Щ IDA1 = P2 Щ i = IDM1 Щ i = IDM2].
З множини Aj М A користувачеві надається можливість провести вибір одного або декількох видів аналізу, номери яких визначаються за виглядом вибраних листків дерева видів аналізу (множина кортежів DFU М DA), для яких повинна виконуватись умова рівності відповідних множин станів ІК:
("x"y)[x О DFU Щ y О DFU Ю x = <IDA1, IDM1, P1, O1, N1, I1, G1, S1> Щ
y = <IDA2, IDM2, P2, O2, N2, I2, G2, S2> Щ i = IDM1 Щ i = IDM2 Щ G1 = G2 Щ S1 = S2].
Підмножина інтерфейсів користувача Vs М Vad, що формується для множини DFU, використовується для подальшого візуального представлення та аналізу задачі. Критерієм вибору інтерфейсів з множини Vad до відповідної підмножини Vs є виконання умови:
("V)[VОVs Ю ($x$y$z)(x О DFU Щ x = <IDA, IDM, P, O, N, I, G, S> Щ
y О DSK Щ y = <SI, K, O1, N1, I1> Щ z О DV Щ z = <KI, V> Щ SI О S Щ KI О K)].
Таким чином ми адаптуємо множину візуальних інтерфейсів Vad та допустимих маніпуляцій користувача R до виду вибраної користувачем підмножини видів аналізу. Отже, другий крок адаптивної організації ІК можна описати функціональним відношенням
ChAGr : Fi ґVa ґRa > DFU ґVs ґRg,
де Rg М R - підмножина подальших допустимих дій користувача, яка визначається за виглядом множини візуальних інтерфейсів Vs. Крім того, вибір елементів множини Vs визначає також лінгвістичні інтерфейси, асоційовані з відповідними візуальним інтерфейсами.
Метою наступних трьох кроків адаптивної організації ІК є виділення з множини Vs підмножин візуальних інтерфейсів: а) опису умови математичної задачі VDs М Vs; б) аналізу (розв'язання) задачі VAs М Vs та в) представлення результатів аналізу задачі VRs М Vs.
3) Опис задачі. Уточнення підмножини візуальних інтерфейсів опису умови математичної задачі VDs відбувається за допомогою сформованої на попередньому кроці множини DFU. При цьому використовується одномісний предикат is-description, областю значень змінної якого є Q -- множина станів ІК. Значення is-description(x) дорівнює “істина”, якщо стан x інтерфейсу користувача використовується для етапу опису умови математичної задачі, та “хибно” в іншому випадку.
Таким чином, множина VDs М Vs формується з умови:
("V)[VО VDs Ю ($x$y$z)(x О DFU Щ x = <IDA, IDM, P, O, N, I, G, S> Щ y О DSK Щ
y = <SI, K, O1, N1, I1> Щ z О DV Щ z = <KI, V> Щ SI О S Щ KI О K Щ is-description(SI))].
Даний крок адаптації ІК описується функціональним відношенням, що має вигляд
ChDT : DFU ґRg > VDs ґRg1,
де Rg1 М Rg - підмножина подальших допустимих дій користувача, яка визначається за виглядом множини візуальних інтерфейсів VDs.
4) Аналіз задачі. Уточнення підмножини візуальних інтерфейсів аналізу задачі VAs М Vs відбувається за допомогою сформованої на другому кроці множини DFU. При цьому використовується одномісний предикат is-solve, областю значень змінної якого є Q -- множина станів ІК. Значення is-solve(x) дорівнює “істина”, якщо стан x інтерфейсу користувача використовується для етапу аналізу задачі, та “хибно” в іншому випадку.
Таким чином, множина VAs М Vs формується з умови:
("V)[VО VAs Ю ($x$y$z)(x О DFU Щ x = <IDA, IDM, P, O, N, I, G, S> Щ y О DSK Щ y = <SI, K, O1, N1, I1> Щ z О DV Щ z = <KI, V> Щ SI О S Щ KI О K Щ is-solve(SI))].
Даний крок адаптації ІК описується функціональним відношенням, що має вигляд
ChM : DFU ґRg > MA ґVAs ґRg2,
де Rg2 М Rg - підмножина подальших допустимих дій користувача, яка визначається за виглядом множини візуальних інтерфейсів VAs; MA -- множина математичних методів, які використовуються у видах аналізу з множини DFU (MA М M). Множина MA формується за умовою:
("MM)[MMMОMA Ю ($x$y)(x О DFU Щ x = <IDA, IDM, P, O, N, I, G, S> Щ
y О DM Щ y = <MM, IDA1, MS, N1, I1> Щ IDA1 О IDA)].
Множина математичних методів MA представляється в ІК у вигляді позначеного впорядкованого дерева, вершинами якого є елементи множини кортежів DM. При цьому:
позначення кореня дерева вводиться як фіктивний метод
(ix)[xОDM Щ x = <MM, IDA, MS, N, I> Щ
($y)(yОDFU Щ y = <IDA1, IDM, P, O, N, I, G, S> Щ IDA = IDA1) Щ MS = 0];
якщо піддерево dl, над яким домінує y, прямий нащадок кореня дерева, має корінь x, то
("x"y)[ yОDM Щ y = <MM1, IDA1, MS1, N1, I1>ЩxОDM Щx = <MM2, IDA2, MS2, N2, I2> Щ
($z)(z О DMS Щ z = <MM2, MS1>) Щ
($a)(aОDFU Щ a = <IDA3, IDM3, P3, O3, N3, I3, G3, S3> Щ IDA3 = IDA1) Щ ($b)(bОDFU Щ b = <IDA4, IDM4, P4, O4, N4, I4, G4, S4> Щ IDA4 = IDA2)];
причому dl складається з єдиної вершини, позначеної x, тільки якщо виконується умова
xОDM Щ x = <MM1, IDA1, MS1, N1, I1> Щ MS1 = 1 Щ
($y)[yОDFU Щ y = <IDA2, IDM2, P2, O2, N2, I2, G2, S2> Щ IDA1 = IDA2].
5) Представлення результатів. Уточнення підмножини візуальних інтерфейсів представлення результатів аналізу задачі VRs відбувається за допомогою сформованої на другому кроці множини DFU.
При цьому використовується одномісний предикат is-report, областю значень змінної якого є Q -- множина станів ІК.
Значення is-report(x) дорівнює “істина”, якщо стан x інтерфейсу користувача використовується для етапу представлення результатів аналізу задачі.
Таким чином, множина VRs М Vs формується з умови:
("V)[VО VRs Ю ($x$y$z)(x О DFU Щ x = <IDA, IDM, P, O, N, I, G, S> Щ y О DSK Щ y = <SI, K, O1, N1, I1> Щ z О DV Щ z = <KI, V> Щ SI О S Щ KI О K Щ is-report(SI))].
Даний крок адаптації ІК описується функціональним відношенням, що має вигляд
ChREP: DFU ґRg > VRs ґRg3,
де Rg3 М Rg - підмножина подальших допустимих дій користувача, яка визначається за виглядом множини візуальних інтерфейсів VRs.
За результатами проведеної формалізації адаптивної організації ІК до процесу аналізу математичних задач було створено діаграму станів програмного засобу, яка є однією з діаграм універсальної мови моделювання, необхідних для створення концептуальної моделі інтерфейсу користувача програмної системи.
Згідно наведеної вище процедури адаптації ІК, множина підсистем формування ІК Ks, яка використовується при вирішенні математичної задачі для видів аналізу з множини DFU, формується за умовою:
("KI)[KIОKs Ю ($x$y$z)(x О DFU Щ x = <IDA, IDM, P, O, N, I, G, S> Щ
y О DSK Щ y = <SI, K, O1, N1, I1> Щ z О DV Щ z = <KI, V> Щ SI О S Щ KI О K)].
Аналіз предметної області наближення даних свідчить, що одні й ті ж підсистеми формування ІК можуть бути використані одразу для задач декількох видів, тобто потужність перетину підмножин Ks, побудованих для різних елементів множини DFU, в загальному випадку ненульова (зазвичай, це досить значна величина для вирішення багатьох математичних задач). Це підтверджує припущення про доцільність використання для візуального відображення процесу аналізу математичної задачі множини програмних підсистем - засобів відображення, які далі будемо називати програмними компонентами.
Подальша деталізація запропонованого способу адаптації ІК приводить до архітектури, яка носить компонентний характер, а саме: кожен стан ІК програмної системи представляється за допомогою спеціальних компонент (в процесі деталізації крім діаграми станів було створено діаграму варіантів використання ПЗ). Використання математичного апарату теорії агрегативних систем для представлення ІК, дає можливість спроектувати архітектуру спільного інтерфейсу користувача для аналізу математичних задач різних видів, у якому адаптація під конкретну задачу буде проводитись за рахунок зміни наповнення компонентів цього інтерфейсу.
Структурна схема взаємодії між підсистемою-клієнтом з підсистемами-серверами, що приймають участь у формуванні інтерфейсу користувача. На схемі представлено зв'язки між підсистемами, що необхідні для створення та адаптації ІК. Функціональне призначення підсистем, що приймають участь у формуванні візуального інтерфейсу користувача: S1 - підсистема побудови математичних виразів; S2 - табличний процесор; S3 - підсистема формування завдання на аналіз; S4 - підсистема управління методами аналізу; S5 - підсистема формування та адаптації ІК (клієнт); S6 - підсистема візуалізації результатів аналізу; S7 - підсистема формування звітів; S8 - підсистема взаємодії з базою даних для формування ІК. Підсистема S0 вводиться для відображення взаємодії ІК програмної системи з зовнішнім середовищем (користувачем в даному випадку).
Види інформації, яка передається по каналу, що зв'язує одну підсистему з іншою, перерахуємо по вихідним контактам підсистем S0 - S8; S0: 1 - множина маніпуляцій користувача; S1: 1 - інтерфейс користувача; 2 - результати опису задачі; S2: 1 - інтерфейс користувача; 2 - результати опису задачі; S3: 1 - інтерфейс користувача; 2 - метод аналізу задачі та вид представлення результатів; 3 - результати опису задачі; S4: 1 - інтерфейс користувача; 2 - режим аналізу задачі; S5: 1 - управління підсистемами; 2 - результати опису задачі; 3 - підмножини математичних задач, видів та методів аналізу, підсистем формування ІК; 4 - управління підсистемою аналізу БД ІК; 5 - інтерфейс користувача; S6: 1 - інтерфейс користувача; S7: 1 - інтерфейс користувача; S8: 1 - дерево видів математичних задач; 2 - дерево видів аналізу; 3 - підмножина методів аналізу; 4 - підмножина станів системи; 5 - підмножина підсистем.
Пропонується, уніфікувати множини вхідних і управляючих контактів для підсистем S1 - S4, S6 - S7 шляхом введення для деяких з них фіктивних контактів. Це надасть можливість використовувати однакову множину контактів для перерахованих компонент, що в свою чергу дозволить створити уніфіковані програмні інтерфейси взаємодії підсистем (тобто зробить архітектуру відкритою для введення нових компонент, які підтримують означені інтерфейси). Для компоненти S5 створимо множину вихідних контактів, відповідну множині вхідних контактів підсистем S1 - S4, S6 - S7, та додатковий вихідний контакт, який буде визначати активну на даний момент підсистему (відповідно для підсистем S1 - S4, S6 - S7 вводиться додатковий управляючий контакт). Зв'язки між підсистемами S0, S5 та S8 залишимо незмінними.
На основі компонентної моделі об'єкта з урахуванням інформації, що передається по кожному каналу поєднаємо множини контактів підсистем S1 - S4, S6 - S7, S8 та S5 у програмні інтерфейси: I1: S5(1), S5(4) та додатковий канал вибору активної підсистеми; I2: S1(1) - S4(1), S6(1), S7(1), S5(4); I3: S1(2), S2(2), S3(2), S3(3), S4(2), S5(2); I4: S5(3); I5: S8(1); I6: S8(2); I7: S8(3); I8: S8(4); I9: S8(5). Таким чином відбувається перехід від структурної схеми зв'язків між підсистемами до діаграми компонент, що формують інтерфейс користувача.
Автоматизація процесу формування ІК ПЗ базується на формалізованому описі області наближення даних та множині програмних інтерфейсів, що об'єднують вхідні та вихідні канали підсистем формування ІК.
Розподіл інтерфейсу на дві частини: першу - жорстку (або фіксовану) частину, другу - адаптивну частину, відбувається за рахунок програмних інтерфейсів I1, I3, I4. Фіксовані частини інтерфейсу відповідають за загальносистемні дії, а саме: підключення зовнішніх бібліотек, створення адаптивної частини інтерфейсу користувача (формування дерева математичних задач та видів аналізу, майстра моделі, підключення та активізацію програмних компонент, управління панелями інструментів тощо), збереження-зчитування даних. Адаптивна частина інтерфейсу ПЗ формується в процесі виконання за формалізованим описом ІК, який зберігається окремо від програмного коду.
На основі запропонованих множин кортежів (довідникової інформації щодо деталей ІК) спроектовано структури даних для зберігання, поновлення та доповнення інформації про програмно-незалежну частину інтерфейсу для автоматизованого формування ІК. Зберігання інформації про компоненти та їх параметри, що необхідні для формування ІК, у базі даних дозволяє модифікувати інтерфейс користувача, не змінюючи програмний код. Для вирішення даної задачі було спроектовано та програмно реалізовано інструментальний засіб автоматизації процесу формування ІК.
В підсумку визначимо методику адаптивної організації ІК, як таку, що складається з етапів:
1. Створення формалізованого опису ІК для автоматизованого формування ІК програмного забезпечення.
2. Модифікація існуючих або створення нових правил формування та адаптації ІК ПЗ наближення експериментальних даних на основі запропонованих структур даних.
3. Розробка діаграми станів ІК, діаграми компонент ІК та множин програмних зв'язків між компонентами, які нададуть можливість реалізувати правила адаптації ІК.
4. Аналіз множини зв'язків між підсистемами та формування, на їх основі, множини програмних інтерфейсів, розробка програмних компонент.
Відзначимо, що запропонована методика побудови ІК може бути узагальнена для предметної області чисельного аналізу математичних задач. При апробації даної методики було сформовано ІК для задач чисельного аналізу функцій, абстрактних множини, числових системи, векторного простору, алгебраїчних систем, поліномів, систем лінійних та нелінійних алгебраїчних рівнянь, логічних дискретних моделей, систем звичайних диференціальних рівнянь.
...Подобные документы
Проектування інтерфейсу користувача. Стилі взаємодії користувача з програмними системами. Стилі представлення інформації і доцільність графічного представлення даних. Правила проектування засобів підтримки користувача, вбудованих в програмне забезпечення.
доклад [1,2 M], добавлен 08.12.2008Характеристика функціональної структури предметної області програмного комплексу. Розробка архітектури програмної системи. Вибір типу архітектури й зразків проектування. Опис декомпозиції, залежностей та інтерфейсу. Детальне проектування модулів та даних.
курсовая работа [462,2 K], добавлен 19.12.2013Етапи розробки проекту. Вимоги до апаратного і програмного забезпечення, до користувача. Специфікація та структура даних, які мають бути розміщеними в системі. Вигляд інтерфейсу системи програмного забезпечення. Розробка бази даних косметичного салону.
дипломная работа [1,8 M], добавлен 21.02.2015Виявлення основних сутностей предметної області. Побудова схеми реляційної бази даних. Вбудовані процедури і тригери. Опис архітектури програмної системи і концептуальної моделі бази даних, програмної реалізації та інтерфейсу користувача додатку.
курсовая работа [4,3 M], добавлен 05.12.2012Методи первинної обробки даних - згладжування та характеристика сплайнів. Загальна характеристика об'єктно-орієнтованої мови Java. Принципи побудови графічного інтерфейсу. Розробка алгоритму програми та інтерфейсу користувача програмного продукту.
дипломная работа [3,3 M], добавлен 10.10.2013Аналіз технічного забезпечення, вибір інструментального програмного забезпечення та середовища розробки програм. Створення класів для реалізації необхідних функцій для роботи програмного засобу. Розробка інтерфейсу для користувача та лістинг програми.
курсовая работа [343,9 K], добавлен 24.08.2012Проектування та реалізація бази даних на фізичному рівні. Формування сутності з їх атрибутами. Вибір засобів розробки даного програмного забезпечення. Створення інтерфейсу для роботи з базою даних. Інструкція користувача, головне функціональне вікно.
курсовая работа [1,7 M], добавлен 26.09.2013Проектування бази даних для КП "ВодГео" - комунального підприємства у сфері водопостачання та водовідведення в м. Сміла. Предметна область, вимоги до продукту. Розробка інтерфейсу програми. Вибір архітектури та сервера бази даних, її логічна структура.
курсовая работа [1,2 M], добавлен 14.07.2015Розробка програми для автоматизованого розрахунку продажів у крамниці спорттоварів. Розробка концептуальної та логічної моделей бази даних. Автоматизація обробки інформації. Ядро програмного прикладного забезпечення. Розробка візуального інтерфейсу.
курсовая работа [2,3 M], добавлен 26.12.2014Розробка інтерфейсу програми "Автоматизована інформаційна система автошколи". Вибір архітектури, характеристика користувача. Генерація, проектування схеми бази даних, детальне програмування. Розробка структури таблиць. Лістинг програми, результат роботи.
курсовая работа [2,7 M], добавлен 11.09.2015Аналіз формування податкової звітності. Розробка проекту інтерфейсу, інформаційної, статичної та динамічної моделей програмного забезпечення. Розрахунок економічної ефективності впровадження програмного забезпечення формування податкової звітності.
дипломная работа [3,5 M], добавлен 26.04.2012Розробка програмного забезпечення для автоматизації процесів обслуговування клієнтів в агентстві нерухомості. Характеристика сутностей та атрибутів предметної області, проектування бази даних. Основні функції та лістинг програми, інтерфейс користувача.
курсовая работа [1,5 M], добавлен 10.06.2013Первинний опис програмного забезпечення графічний редактор. Функціональна специфікація класів. Проектування архітектури програми, структури даних та графічного інтерфейсу. Опис алгоритму природною мовою. Аналіз впливу зміни вимог на зміну архітектури.
курсовая работа [2,4 M], добавлен 07.10.2014Системний аналіз бази даних за вхідною та вихідною документацією, визначення сутностей, атрибутів, зв’язків. Створення логічної моделі бази даних із застосуванням нормалізації, алгоритм її роботи. Розробка програмного забезпечення та інтерфейсу СУБД.
курсовая работа [946,8 K], добавлен 02.07.2015Розробка та проектування інтерфейсу користувача у середовищі Microsoft Visual Studio 2010 з використання Visaul C#. Введення, додавання, вилучення даних. Пошук і фільтрація потрібних записів за допомогою запитів. Реалізація валідації, обробка виключень.
курсовая работа [1,5 M], добавлен 29.03.2017Загальна характеристика методів проектування та документації додатків. Розробка інтерфейсу програми для медичного діагностичного центру. Вибір архітектури. Описання логічної структури програми. Розробка структури бази даних проекту, полів таблиць.
курсовая работа [2,0 M], добавлен 21.08.2015Визначення вимог до програмного забезпечення. Проектування архітектури програми, структури даних та інтерфейсу. Програмування графічного редактора, специфікація його класів та алгоритм роботи. Зміна архітектури редактора згідно нових вимог замовника.
дипломная работа [1,2 M], добавлен 05.01.2014Сучасні тенденції у галузі розподілених систем виявлення комп’ютерних атак. Обґрунтування вибору програмного середовища та мови програмування для розробки підсистеми. Розробка узгодженого інтерфейсу взаємодії користувача з підсистемою, візуалізації даних.
дипломная работа [2,4 M], добавлен 16.07.2014Формування валютних операцій. Організація проведення контролю та аналізу валютних операцій. Характеристика автоматизованих систем валютних операцій. Обґрунтування вибору середовища розробки. Розробка програмного модуля. Реалізація інтерфейсу користувача.
курсовая работа [1,1 M], добавлен 03.06.2012Програми лінійної та розгалуженої структури. Програмна реалізація функцій для роботи з датою та часом. Робота з візуальними компонентами керування. Створення інтерфейсу користувача стандартними подіями. Глобальні ідентифікатори Screen, Mouse, Application.
отчет по практике [1,3 M], добавлен 24.02.2015