Завдання на лабораторну роботу з дисципліни "Компоненти ПЗ" для груп КП-61, КП-62

Завдання на лабораторну роботу №1
Засоби підтримки процесу розробки мовою Python

Мета роботи - оволодіти сучасним інструментарієм створення, розробки та підтримки програмних проектів з використанням мови програмування Python.

Етапи виконання роботи

1. Встановити програмні засоби для створення віртуального середовища virtualenv.
2. Створити віртуальне середовище для нового проекту.
3. Розробити програмні засоби (ПЗ) згідно з варіантом завдання, наведеним нижче.
4. Розроблені ПЗ повинні бути оформлені у вигляді пакета, написаного мовою Python.
5. Додати до директорії проекту файл requirements.txt зі списком необхідних пакетів.
6. Створити набір модульних тестів для перевірки правильності роботи ПЗ.
7. Перевірити покриття проекту тестами за допомогою утиліти coverage. Покриття повинне бути не менше за 85%.
8. Перевірити відповідність розробленого програмного коду конвенціям PEP8 за допомогою утиліти pep8.

Варіанти завдань

1. ПЗ для побудови частотного словника україномовних текстів для заданого списку документів. Список документів подається на вхід у вигляді url, збережених у xml-файлі. Отримати частотний словник і записати його у файл в форматі xml. Слова української мови привести до базової форми за допомогою словників Hunspell, і лише потім заносити у словник.
2. ПЗ для пошуку дублікатів новин. Новини отримуються з RSS-каналів, url яких задані у вхідному xml-файлі. За допомогою алгоритму шинглів необхідно знайти схожі новини з різних сайтів і розрахувати відсоток дублювань. Результат записати у файл в форматі xml.
3. ПЗ для пошуку e-mail. Реалізувати проходження по сторінкам з набору url, які задані у вхідному xml-файлі, а також по сторінкам, на які є посилання з цих сторінок з заданою глибиною вкладеності. На всіх цих сторінках знайти всі e-mail-адреси та зберігти їх у файл в форматі xml. Урахувати те, що e-mail-адреси можуть бути записані у прихованому форматі, наприклад name(at)example.org.
4. ПЗ для пошуку географічних назв у новинах. Новини отримуються з RSS-каналів, url яких задані у вхідному xml-файлі. Використовуючи базу географічних назв України підрахувати частоту згадування кожного населеного пункту в новинах протягом доби. Результат записати у файл в форматі xml.
5. ПЗ для створення плейлистів. Реалізувати проходження по сторінкам з набору url, які задані у вхідному xml-файлі, а також по сторінкам, на які є посилання з цих сторінок з заданою глибиною вкладеності. На всіх цих сторінках знайти всі посилання на mp3-файли, знайдені файли відфільтрувати за заданим жанром, який зберігається у ID3-запису, та результат зберігти у файл в форматі xml.
6. ПЗ для аналізу кольорової гами. Список сторінок подається на вхід у вигляді url, збережених у xml-файлі. На всіх вказаних сторінках знайти всі зображення та за допомогою бібліотеки PIL розрахувати їх інтегральну яскравість. Розбити весь діапазон яскравості на декілька піддіапазонів та визначити кількість зображень, які відповідають кожному діапазону. Результат записати у файл в форматі xml.
7. ПЗ для аналізу курсів валют. Курси валют отримувати з сайтів банків, url яких задані у вхідному xml-файлі. Додатково в xml-файлі зберігати xpath-шлях до блоку сторінки, який містить дані про курс. Результат записати у файл в форматі xml.
ПЗ для порівняння цін на електронну техніку. Ціни на товари отримувати з сайтів електронних магазинів, url яких задані у вхідному xml-файлі. У випадку, якщо однакові товари в різних магазинах мають різну назву, співставляти їх за відстанню Лівештейна. Список товарів з діапазоном цін записати у файл в форматі xml.
8. ПЗ для аналізу спортивних подій. Новини отримуються зі спортивних RSS-каналів, url яких задані у вхідному xml-файлі. З отриманих новин виділити повідомлення про результати завершення спортивних подій за певним шаблоном, наприклад Атлетико - Реал 4:0. Знайдені результати записати у файл в форматі xml.
9. ПЗ для аналізу телевізійної програми. Телепрограми отримати з сайтів телеканалів, url яких задані у вхідному xml-файлі. З отриманих телепрограм виділити телесеріали, показ яких триває впродовж заданого інтервалу часу. Знайдені результати записати у файл в форматі xml.

Вимоги до виконання лабораторної роботи

1. Робота виконується бригадами по 2 особи.
2. Звіт з лабораторної роботи повинен містити:
- титульний аркуш;
- варіант завдання;
- посилання на репозиторій проекту на github або ішний подібний сервіс;
- приклади вхідного та вихідного xml-файлів;
- звіт програми coverage;
- звіт програми pep8;
- порівняння швидкодії першої та другої версії ПЗ.

escort çeşme escort karabük escort kilis escort ıgdır