py-khpi.github.io

Проектування серверних додатків

<Aim>
Мета


<Tools>
Програмні засоби та інструменти

  1. Python - у комплекті надається інтегроване середовище розробки.

  2. Python style guide checker - перевірка початкового кода на відповідність PEP 8.

  3. Doxygen - система документування початкового коду. Додатково встановити:

    • Graphviz - Graph Visualization Software;
    • Mscgen - Message Sequence Chart Renderer.

<Guidelines>
Рекомендації

  1. Використовувати:
  2. Ознайомитись:

<Practice>
Лабораторні роботи

Тема
1 Основы языка Python
2 Модули. Строки
3 ABC-классы. Списки
4 Кортежи. Диапазоны. Двоичные последовательности
5 Множества. Словари. Генераторы
6 Разработка функций и модулей пользователя
7 Разработка CGI скриптов на языке Python
8 Работа с файлами на языке Python
9 Регулярные выражения
10 Использование технологии AJAX при разработке клиент-серверного приложения
11 Создание пользовательских классов
12 Наследование классов
13 Разработка графического интерфейса

<Tasks>
Спільні завдання

Завдання
1 Розробити програму для рішення індивідуального завдання
2 Виконати рефакторинґ з урахуванням загальних вимог
3 Підготувати до перевірки опис розробленої програми у вигляді звіту
4 Виправити програму з урахуванням отриманих зауважень

<Requirements>
Вимоги

  1. Проекти розміщувати в директоріях surname/src/surnameXX, де:
    • surname - назва особистої директорії;
    • XX - номер роботи.
  2. Звіти розташовувати в директоріях surname/doc/surnameXX.

  3. Назву особистої директорії surname з відповідним номером роботи XX використовувати для іменування директорій рішен, проектів і звітів лабораторних робіт. Наприклад:
    • студент з особистим каталогом shevchenko
    • для проектів двох лабораторних робіт використовує наступні шляхи і назви файлів:
      shevchenko/src/shevchenko01/shevchenko01.py
      shevchenko/src/shevchenko02/shevchenko02.py
      
    • для звітів:
      shevchenko/doc/shevchenko01/shevchenko01.odt
      shevchenko/doc/shevchenko01/shevchenko01.pdf
      shevchenko/doc/shevchenko02/shevchenko02.odt
      shevchenko/doc/shevchenko02/shevchenko02.pdf
      
  4. Дотримуватися принципів, що виводяться інтерпретатором Python по команді import this.

  5. Коментувати текст програми для обробки пакетом Doxygen.

<Report>
Звіт

  1. Оформляється українською мовою та надається у форматі Markdown, або у вигляді електронних документів:
    • що редагується - odt/docx/doc/html,
    • та що зручно проглядається - pdf/djvu.
  2. Формат документа, що друкується:
    • A4 з полями: 2.5 см зліва, 2 см праворуч, 2 см зверху, 2 см знизу;
    • гарнітура: Times New Roman; кегль: 14; міжрядковий інтервал: одинарний;
    • відступ першого рядка абзацу: 1.25 см; вирівнювання: у ширину;
  3. Структура звіту:
Обов’язковий розділ Зауваження
X. Тема Номер і тема роботи. Відповідає меті та завданню
Мета: … Перелік напрямків і галузей для дослідження. Відповідає темі та завданню
1 ІНДИВІДУАЛЬНЕ ЗАВДАННЯ Повне формулювання завдання. Відповідає темі та меті
   1.1 Розробник Інформація про розробника: чи є студентом, прізвище, ім’я, по батькові; назва академічної групи; номер варіанту
   1.2 Вимоги Зауваження, загальне завдання та вимоги
   1.3 Задача Прикладна задача відповідно до варіанта
2 РОЗРОБКА ПРОГРАМИ Особливості рішення, структура проекту, схеми та ілюстрації
   2.1 Засоби Python Особливості Python, що використовувалися
   2.2 Опис програми Коментарі до програми
   2.3 Важливі фрагменти програми Частини тексту програми, що демонструють рішення задачі
3 РЕЗУЛЬТАТИ РОБОТИ Копії екрану (screenshots) та їхній опис
ВИСНОВКИ Заключення стосовно повноти досягнення мети

<Additional>
Розрахункове завдання

  1. Розробити програму для перетворення слів української мови латиницею відповідно до правил транслітерації (вікі, перевірка).

    GUI (Graphical User Interface) програми повинен містити:

    • панель для введення текста українською мовою;
    • панель для відображення результатів транслітерації;
    • інформацію про кількість символів, слів та рядків початкового та перетвореного тексту.

    Перетворення має виконуватися синхронно, або після натиснення відповідної кнопки.

  2. Звіт, що відповідає типовій структурі, надати у вигляді електронного документа.

  3. Початковий код і звіт розмістити у відповідному проекті GitLab та забезпечити до нього доступ викладачу.