Проблема підтримки версій системи дистанційної освіти Moodle в медичному вищому навчальному закладі

Система дистанційної освіти Moodle як один із лідерів серед вільно-розповсюджуваного програмного забезпечення, аналіз етапів становлення. Характеристика проблем підтримки версій системи дистанційної освіти Moodle в медичному вищому навчальному закладі.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык украинский
Дата добавления 04.11.2018
Размер файла 1,8 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Проблема підтримки версій системи дистанційної освіти Moodle в медичному вищому навчальному закладі

Вступ

дистанційний освіта медичний

Система дистанційної освіти Moodle -- один із лідерів серед вільно-розповсюджуваного програмного забезпечення, що використовується для підтримки навчального процесу. У роботі вивчено проблему оновлення застарілої версії системи дистанційної освіти Moodle. Показано приклад успішної реалізації процедури оновлення на прикладі Тернопільського державного медичного університету ім. І. Я. Горбачевського. Описано основі етапи процесу оновлення й перенесення СДО Moodle на новий сервер. Наведено приклади застосування технології віртуалізації і системи контролю версій у задачах системного адміністрування СДО Moodle. Представлено рекомендації зі здійснення оптимізації програмного оточення СДО Moodle.

Постановка проблеми. Інформатизація системи охорони здоров'я належить до числа ключових загальнодержавних завдань. Від успішного й ефективного їх розв'язання залежить перспектива України в досяжному майбутньому зайняти достойне місце серед розвинутих країн з високим рівнем соціального захисту населення. Наразі галузь медичної освіти має забезпечити підготовку фахівців, здатних ефективно використовувати можливості сучасних медичних інформаційних систем, і брати участь у їх розробці і супроводженні [1].

Застосування вільно-розповсюджуваного програмного забезпечення (ПЗ) з відкритим кодом -- важливий елемент сучасного підходу до реалізації навчального процесу в медичній освіті. Підтримка вільно-розповсюджуваного ПЗ в актуальному стані -- обов' язкова умова забезпечення його ефективного, надійного та безпечного використання.

Аналіз останніх досліджень і публікацій. Інформатизація медичної освіти ґрунтується, у першу чергу, на впровадженні ПЗ інформаційних систем (ІС) керування навчанням (СКН чи LMS -- Learning Management System), які часто ще називають системами дистанційної освіти (СДО), та систем керування навчальними матеріалами (СКНМ або LCMS -- Learning Content Management System).

У роботі [2] було детально розглянуто концептуальні підходи до автоматизації освітніх процесів у медичному навчальному закладі. Вказано як переваги, так і недоліки застосування з цією метою вільно-розповсюджуваного ПЗ СКН/СДО/СКНМ з відкритим кодом.

За останні роки в галузі медичної освіти України суттєво активізувалася діяльність з упровадження ІС СКН/СДО/СКНМ [3, 4, 5]. Безперечними лідерами серед ПЗ СКН/СДО/СКНМ з відкритим кодом є СДО Moodle (http://moodle.org/) й aTutor (http://atutor.ca/), що мають величезний набір функцій і широко застосовуються в навчальних закладах багатьох країн світу. Зокрема, на сайті спільноти Moodle лише офіційно зареєстровано понад 300 українських навчальних закладів, що використовують СДО Moodle [6], а реально їх набагато більше.

Упровадження СДО Moodle в навчальний процес Тернопільського державного медичного університету ім. І. Я. Горбачевського розпочалося у 2006 році з версії Moodle 1.6 . Використовувалося СДО Moodle, в основному, для здійснення тестового контролю під час самопідготовки студентів до занять у рамках кредитно-модульної системи організації навчального процесу (КМСОНП) [7, 8].

Мета статті. Як було вказано вище, однією з обов'язкових умов ефективного використання вільно-розповсюджуваного ПЗ СКН/СДО/СКНМ є підтримка його в актуальному стані шляхом своєчасного встановлення необхідних оновлень. Проте статистичні дані свідчать про поширену практику застосування застарілих версій різноманітного ПЗ. Не виключенням є і напрям інформатизації освітніх процесів. За даними [9] половину з майже 65000 зареєстрованих копій СДО Moodle становлять застарілі версії (1.9.х). Ця обставина свідчить про високу актуальність розробки методик проведення оновлення й модернізації ПЗ СДО Moodle з метою приведення його до актуального стану. У процесі оновлення ПЗ адміністратор СДО Moodle стикається з комплексом різноманітних проблем, спричинених конкретними особливостями наявних апаратно-програмних засобів.

Метою роботи є презентація досвіду успішного здійснення оновлення застарілої версії СДО Moodle в Тернопільському державному медичному університеті ім. І. Я. Горбачевського. Процес оновлення ПЗ ускладнювався наявністю незадокументованих модифікацій програмного коду. Представлено загальні рекомендації і приклад детальної покрокової інструкції з оновлення СДО Moodle для вказаних умов.

1.Методи дослідження

1.1 Підстави і планування оновлення СДО Moodle в ТДМУ

Восени 2012 року комп'ютерна мережа ТДМУ стала ціллю серйозної хакерської атаки. Під час ліквідації наслідків атаки було розроблено план реорганізації інформаційної системи ТДМУ. Один з кроків передбачав оновлення СДО Moodle, оскільки наявна версія 1.9.1+ (збірка 20080618) вже не підтримувалася розробниками й містила відомі суттєві вразливості. Попри це, у 2010 році на тому самому апаратному сервері було паралельно встановлено окрему копію (уже версії 2.1) СДО Moodle для потреб ННІ медсестринства і центру дистанційного навчання університету. Ця обставина додатково ускладнила процеси адміністрування серверу. Враховуючи суттєвий обсяг даних у СДО Moodle ТДМУ [2], автор запропонував поданий нижче порядок оновлення СДО Moodle.

1. Створення копії головного серверу на основі повної резервної копії.

2. Інвентаризація змін програмного коду і системних налаштувань серверу СДО Moodle.

3. Перенесення СДО Moodle ННІ медсестринства на окремий виділений сервер.

4. Розробка детальної покрокової інструкції процесу оновлення головного серверу.

5. Застосування розробленої інструкції для оновлення головного серверу СДО Moodle.

6. Оновлення СДО Moodle ННІ медсестринства до версії, що використовується на головному сервері СДО Moodle. Інша мета роботи -- стандартизувати програмне середовище обох копій СДО Moodle для полегшення його адміністрування і супроводження в майбутньому.

1.2 Підготовчий етап -- резервне копіювання й інвентаризація налаштувань серверу

Резервне копіювання. Повну резервну копію вдалося створити лише з використанням LiveCD на основі ОС Linux -- за допомогою програми dd. Інші засоби резервування, такі як Acronis Rescue Media 2012 і Paragon Hard Disk Manager Suite 2011, наявні в автора, не змогли без помилок скопіювати жорсткий диск з партиціями, що відформатовані у файлову систему ext4.

Інвентаризація програмного коду СДО Moodle. Кількісний склад модулів залишався стандартним, однак програмісти ТДМУ внесли низку значних модифікацій до програмного коду деяких із них. Слід відзначити негативний факт -- документування змін практично не велося. Це призвело до того, що оновлювати програмний код СДО Moodle стало неможливо. Повну інвентаризацію змін програмного коду СДО Moodle вдалося здійснити лише за допомогою системи контролю версій (СКВ) git (http://git-scm.com/), розмістивши код на особистому ПК автора. Вказана процедура детально описана в роботі [10].

Інвентаризація налаштувань серверу. Інвентаризація системних налаштувань (і спілкування з попереднім адміністратором) показала наявність такої конфігурації серверу СДО Moodle ТДМУ (перелічено лише окремі найсуттєвіші параметри конфігурації ПЗ):

¦ ОС: Debian 6;

¦ веб-сервер: nginx версії 0.9.6. Виконує сайти:

- /var/www/nursery/htdocs -- сайт СДО Moodle ННІ медсестринства ТДМУ, версія 2.1.1 (збірка 20110801);

- /var/www/moodle/moodle -- основний сайт СДО Moodle ТДМУ, версія 1.9.1+ (збірка 20080618);

¦ дві версії процесора скриптів PHP:

- 5.2.1 -- модифікована вручну попереднім адміністратором серверу шляхом компіляції з вихідних кодів, застосовується з основним сайтом СДО Moodle ТДМУ;

- 5.3.3 -- працює в режимі FastCGI, встановлена з репозиторію, застосовується із сайтом СДО Moodle ННІ медсестринства;

¦ СУРБД MySql версії 5.1.55. Наявні дві БД:

- dl (формат InnoDB) -- застосовується із сайтом СДО Moodle ННІ медсестринства ТДМУ;

- moodle (формат MyISAM) -- застосовується з основним сайтом СДО Moodle ТДМУ.

2.Результати дослідження. реалізація процедури оновлення СДО Moodle

2.1 Перша спроба -- оновлення серверу СДО Moodle в цілому

На першому етапі автором було зроблено спробу оновлення існуючого серверу в цілому. Для цього новостворену резервну копію було розгорнуто на окремому фізичному комп'ютері-сервері. Запуск копії сервера пройшов штатно.

Тестова спроба здійснити оновлення основного сайту СДО Moodle відповідно до рекомендацій [11, 12, 13] уже на першому кроці показала необхідність додавання низки php-бібліотек, зокрема iconv, curl, xmlrpc та dom. Оновлення РНР шляхом компіляції з вихідних кодів є складною процедурою [14]. Враховуючи це, й усвідомлюючи таку саму складність кожної наступної спроби оновлення в майбутньому, особливо під час переходу на новіші версії процесора скриптів PHP, автором було прийнято рішення про недоцільність оновлення існуючого серверу СДО Moodle в цілому.

Перенесення СДО Moodle на новий сервер

Крок 1 -- оновлення СДО Moodle до версії 1.9.19

Враховуючи вищесказане, автором було розпочато процедуру перенесення СДО Moodle на новий фізичний сервер. Тимчасово було використано ПК на базі процесора AMD Opteron 4122 (4 ядерний) з ОЗП 8 Гб (DDR3) та двома накопичувачами ємністю по 500 Гб. Операційна система -- Ubuntu Server 12.04 LTS. Дані зі старого сервера мали такий обсяг:

- резервна копія програмного коду СДО Moodle -- 90 Мб;

- дані курсів (папка moodledata) -- 21 Гб (в архіві -- 5,5 Гб);

- дамп бази даних (БД) -- 10 ГБ (в архіві -- 1,5 Гб).

Згідно рекомендацій [7, 9] спершу було виконано оновлення СДО Moodle до версії 1.9.19. Вказана операція пройшла штатно і без помилок. Зазвичай, модифікації, зроблені програмістами ТДМУ, були при цьому втрачені. Однак на даному етапі це визнано несуттєвим фактом, оскільки робота з інвентаризації змін програмного коду СДО Moodle велася одночасно [10].

Ідентифіковано і видалено вбудованими засобами керування 2 блоки сторонніх розробників, несумісних із новими версіями СДО Moodle: "Академічні групи" і "Choice to group". За допомогою інструменту керування СУРБД MySql -- PhpMyAdmin -- очищено таблицю mdl_question_states. Обсяг БД зменшився до 8,8 Гб.

На цьому перший етап перенесення було завершено. Дану резервну копію серверу СДО Moodle пізніше було розгорнуто в мережевому кластері ТДМУ з використанням окремого доменного імені. Вказаний сервер працює в режимі "лише для читання", що усуває необхідність у спеціально модифікованому програмному коді. Такі кроки були спричинені поданими далі вимогами.

1. Необхідністю зберегти попередні оцінки студентів.

2. Неможливістю їх перенесення під час оновлення СДО Moodle до версії > 2.0 згідно даних [11, 13, 15].

Ще одна тестова спроба оновлення СДО Moodle до версії 2.2 згідно [12] на даному етапі також завершилася невдало з численними помилками БД. Сервер повторно відновлено до вказаного вище стану з використанням резервної копії.

Крок 2 -- очистка блоків і видів активності

Було визначено, що основну цінність в існуючій БД СДО Moodle становить структура курсів і банк тестових завдань. Вирішено всі зусилля спрямувати на їх збереження під час оновлення. Тому наступним етапом було очищення СДО Moodle від неактуальних і помилкових інстанцій блоків і видів діяльності.

1. Видалено імплементації з курсів такого переліку блоків (Керування -- Modules -- Blocks -- Manage blocks) -- Course/site Description, Global search, Loan calculator, Mentees, Messages, Quiz results, HTML blocks, Random glossary entry, Remore RSS, Tags, Section Links, Social tasks -- сумарно близько 60 шт.

2. Видалено імплементації з курсів наступного переліку видів діяльності (Керування -- Modules -- Ресурси курсу -- Manage activities) -- База даних, Урок, Чат -- сумарно близько 20 шт.

3. Видалено самі види діяльності (Керування -- Modules -- Ресурси курсу -- Manage activities) і їх файли із сервера (згідно рекомендацій [9]): Hot Potatoes Quiz, LAMS, Workshop, Journal. Додатково видалено види діяльності, що додавалися автором [4]: Checklist і Scheduler.

Вказані операції дозволили також незначно зменшити обсяг БД. Цей крок також завершено створенням резервної копії БД та файлів.

Крок 4 -- перетворення БД у формат InnoDB

Версії СДО Moodle > 2.0 працюють виключно з форматом баз даних InnoDB. Відносно великий обсяг БД СДО Moodle ТДМУ і наявні в ній помилки структур даних призвели до того, що спроби застосувати наведені в [16] методи автоматичного конвертування вбудованими засобами СДО Moodle завершувалися невдало. Авторові довелося здійснювати конвертування в ручному режимі.

1. Проведено максимально можливу очистку БД з метою зменшення її обсягу й

усунення можливих помилок у структурах даних. Очищено вміст таких таблиць: mdl_log, mdl_backup_log, mdlquestionstates, mdl_question_session,

mdl_question_attempts, mdl_event_all, mdl_message, mdl_message_read, mdl_user_last_access, mdl_cache_text, mdl_cache_blogs, mdl_cache_filters,

mdl grade grades, mdl grade grades history, mdl grade items history,

mdl grade categories history, mdl quiz grades, mdl_quiz_attempts, mdl_quizfeedback. У результаті розмір БД було зменшено до 3,3 Гб. З них 2,5 Гб склав обсяг таблиць, що містять тестові завдання.

2. Визначено таблиці й поля в них, що мають невідповідне кодування за допомогою SQL-запитів:

SELECT table_schema, table_name, table_collation FROM information_schema.tables WHERE table_schema = 'your_database'

AND table_collation != 'utf8_general_ci';

і, відповідно для полів таблиць:

SELECT table_schema, table_name, column_name, collation_name FROM information_schema.columns WHERE table_schema = 'your_database'

AND collation_name != 'utf8_general_ci';

Знайдені об'єкти БД приведено до стандартного, у сучасних версіях СДО Moodle, кодування utf8_general_ci за допомогою SQL-запиту:

ALTER TABLE 'tablename' CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

3.Конвертування таблиць БД у формат здійснювалося за допомогою такого SQL- запиту

ALTER TABLE table_name ENGINE=InnoDB;

Як аргумент вказувався відразу список з багатьох таблиць. Виключення склали таблиці mdl_question, mdl_question_answers та mdl_question_multichoice -- через великий розмір, кожна з них оброблялася окремо.

4. Виправлено останніх кілька помилок у БД, що були виявлені раніше, зокрема, у таблиці mdl_resource для поля reference повторно встановлено тип даних varchar(255), а в таблиці mdl_context видалено рядок з дублікатом значення "10" для поля contextlevel. Останній параметр критичний для оновлення, так само, як і роль таблиці mdl_context для функціонування СДО Moodle в цілому. Слід бути обережними під час внесення змін до цієї таблиці.

5. За результатами роботи зроблено чергову резервну копію БД.

Четвертий крок -- оновлення до актуальної версії

Після вищевказаних робіт, чергова спроба здійснити оновлення до версії 2.2.5 відповідно до вказівок [12] завершилася успішно. Оновлення здійснювалося з використанням термінального інтерфейсу і відповідних засобів адміністрування [17]. Цей варіант має кілька переваг -- він зручний під час використання системи контролю версій і оновлення сайтів з БД великого обсягу. Слід зазначити, що процес оновлення до версії 2.2.5 тривав близько 2 годин часу за 100 % завантаження тестового сервера.

За результатами вищеперелічених кроків (пп. 3.2.1-3.2.4) автором складено покрокову і деталізовану інструкцію процесу оновлення. Ця інструкція була надалі практично застосована в оновленні головного серверу СДО Moodle ТДМУ.

Віртуалізація, оновлення, налаштування та оптимізація головного серверу СДО Moodle ТДМУ

Віртуалізація. Після завершення осіннього семестру 2012-2013 н. р., розроблену вище інструкцію було застосовано до оновлення головного серверу СДО Moodle ТДМУ. Для цього в мережевому кластері ТДМУ [2] створено новий віртуальний сервер. Основні параметри апаратного забезпечення:

- фізична нода -- 2* Intel Xeon E5-2609 (2,4 ГГц, 4 ядра), 64 Гб ОЗП, 4 накопичувачі: 2*500Гб (10000 об/хв) RAID0 + 2*2Тб (7200 об/хв). Середовище віртуалізації -- Proxmox VE;

- віртуальний сервер -- 1 процесор (фізичний), 32 Гб ОЗП, обсяг накопичувача -- 400 Гб. Операційна система -- Ubuntu Server 12.04 LTS.

Оновлення. На цьому віртуальному сервері розгорнуто актуальну резервну копію СДО Moodle, яка була згідно розробленої інструкції послідовно оновлена:

- до версії 1.9.19 ;

- до версії 2.2.7 -- максимально можливої під час оновлення з 1.9.х

- до версії 2.4.1, актуальної на момент здійснення оновлення (лютий 2013 р.).

Слід відзначити, що надалі процес оновлення СДО Moodle вже не викликав таких серйозних проблем, зокрема, протягом 2013 року оновлення здійснювалося ще тричі:

- червень 2013 -- оновлення до версії 2.4.4+ ;

- вересень 2013 -- оновлення до версії 2.5.2 ;

- січень 2014 -- оновлення до версії 2.6.1 .

У подальшому автором заплановано здійснювати оновлення двічі на рік -- під час зимових і літніх канікул, щоб не спричиняти незручностей здійснення навчального процесу у ВНЗ.

Налаштування. Після завершення процедури оновлення, здійснено процес базового налаштування СДО Moodle відповідно до вимог ТДМУ.

1. Застосовано версію скриптів програмного коду СДО Moodle з модифікаціями для ТДМУ. Для цього використано функціональні можливості створеного, за результатами роботи [10], спеціально для потреб ТДМУ, репозиторію на сервері GitHub (https://github.com/semteacher/moodle/).

2. Встановлено модулі діяльності "Контрольний список" і "Розклад" з модифікаціями для ТДМУ [18, 19] з відповідних репозиторіїв автора на сервері GitHub (https://github.com/semteacher/moodle-checklist і https://github.com/semteacher/moodle-mod_scheduler).

3. Встановлено необхідні адміністративні параметри. Зокрема, задано час зберігання лотів (максимум 6 місяців) -- для запобігання надмірного зростання БД. Також, налаштовано виконання скрипту автоматизації операцій Cron згідно [20], що є необхідною умовою для надсилання email повідомлень, збору статистичних даних, виконання адміністративних задач за розкладом.

4. Запроваджено використання домашньої сторінки користувача, яка містить перелік і надає швидкий доступ до курсів, у яких бере участь користувач.

5. Здійснено численні дрібні налаштування, що стосуються деталей відображення блоків на сторінках сайту СДО Moodle.

Оптимізація. Упродовж перших днів експлуатації оновленого СДО Moodle ТДМУ було виявлено серйозні проблеми з продуктивністю сервера. У першу чергу -- використання великої кількості ОЗП і надмірне навантаження на процесори сервера. На рис. 1 показано навантаження на сервер за одночасної роботи більше 400 користувачів.

Рис. 1. Навантаження оновленого серверу СДО Moodle ТДМУ до здійснення

Ключові параметри оптимізації налаштувань самого СДО Moodle розглянуто детально в документації [21, 22]. Необхідно також здійснити низку налаштувань, як описано в [23, 24], програмного оточення самого сервера, на якому працює СДО Moodle.?

Процес оптимізації зайняв доволі тривалий період часу. У результаті вдалося добитися параметрів навантаження на сервер, близьких до описаних в [22] (див. рис. 2). На рис. 3 показано типову активність користувачів СДО Moodle ТДМУ на прикладі інтервалу в 2 тижні.

Для збереження конфігураційних файлів серверу створено спеціальний репозиторій СКВ на сервері GitHub (https://github.com/semteacher/moodle_settings), у який поміщено подане далі.

1. Конфігураційні файли веб-сервера Apache і окремих його додатків -- процесора скриптів PHP і модуля кешування даних АРС.

2. Конфігураційний файл СУРБД MySql.

3. Конфігураційний файл мережевих налаштувань.

Рис. 2. Навантаження оновленого серверу СДО Moodle ТДМУ після здійснення оптимізації налаштувань (> 450 користувачів одночасно)

Рис. 3. Середня активність користувачів СДО Moodle ТДМУ (період спостереження -- 2 тижні)

Висновки

Застосування вільно-розповсюджуваного ПЗ з відкритим кодом -- важливий елемент сучасного підходу до реалізації навчального процесу в медичній освіті. СДО Moodle -- один із лідерів серед вільно-розповсюджуваного ПЗ СКН/СДО/СКНМ з відкритим кодом. Підтримка ПЗ, що використовується в освітньому процесі в актуальному стані -- обов'язкова умова забезпечення його ефективного й безпечного використання.

1. У роботі показано досвід успішного здійснення оновлення СДО Moodle від застарілої версії 1.9 до актуальної 2.6.1, у Тернопільському державному медичному університеті ім. І. Я. Горбачевського. Представлено загальні рекомендації і приклад детальної покрокової інструкції з оновлення СДО Moodle для вказаних умов. Актуальність інструкції підтверджується статистичними даними про використання аналогічних застарілих версій СДО Moodle великою кількістю навчальних закладів.

2. Наведено додаткові рекомендації загального плану, що сприяють успішному проведенню оновлення застарілих версій вільно-розповсюджуваного ПЗ з відкритим кодом (на прикладі СДО Moodle), зокрема:

- наявність тестового апаратно-програмного середовища для безпечного проведення експериментів;

- застосування системи контролю версій для модифікації програмного коду (за можливості -- також і налаштувань ПЗ);

- необхідність документування змін як в програмному коді, так і параметрів налаштування ПЗ.

3. Продемонстровано переваги використання засобів віртуалізації апаратних засобів серверів у процесі розгортання, оновлення та експлуатації СДО Moodle в умовах медичного ВНЗ.

Список використаних джерел

1.Качмар В. О. Медичні інформаційні системи -- стан розвитку в Україні. / В. О. Качмар // Український журнал телемедицини та медичної телематики. -- 2010. -- Том 8. -- № 1. -- С. 6773.

2.Семенець А. В. Впровадження інформаційно-комунікаційних технологій -- необхідна умова ефективної розробки та супроводження сучасних програмних продуктів. / А. В. Семенець // Кредитно-модульна система організації навчального процесу у вищих медичних (фармацевтичних) навчальних закладах України на новому етапі : матеріали Х ювілейної Всеукр. навч.-наук. конф. з міжнар. участю (Тернопіль, 18-19 квіт. 2013 р.) : у 2 ч. / Терноп. держ. мед. унт ім. І. Я. Горбачевського. -- Тернопіль : ТДМУ, 2013. -- Ч. 1. -- С. 455-463.

3.Фетісов В. С. Комп'ютерні технології в тестуванні / В. С. Фетісов

4.Центри ДО в Україні // Освітній портал / [Електронний ресурс].

5.Дистанційна Освіта в Україні [Електронний ресурс]. -- Режим доступу до документу : http://lib.if.ua/publish2008/1217424966.html.

6.Moodle.org: Registered sites [Електронний ресурс]. -- Режим доступу до документу : https://moodle.org/sites/index.php?country=UA.

7.Ковальчук Л. Я. Комп'ютерні технології в медичній освіті / Л. Я. Ковальчук, В. П. Марценюк // Медична інформатика та інженерія. -- 2008. -- № 1. -- С. 14-16.

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.