Технології розроблення програмного забезпечення. Курсова робота

Робоча програма навчальної дисципліни (Силабус)

|

Реквізити навчальної дисципліни

Рівень вищої освіти Перший (бакалаврський)
Галузь знань 12 Інформаційні технології
Спеціальність 126 Інформаційні системи та технології
Освітня програма Інтегровані інформаційні системи
Статус дисципліни Нормативна
Форма навчання очна(денна)/заочна
Рік підготовки, семестр 3 курс, осінній семестр
Обсяг дисципліни 1кредит ECTS/30 годин (30 годин – СРС)
Семестровий контроль/ контрольні заходи Захист курсової роботи
Розклад занять консультації
Мова викладання Українська
Інформація про керівника курсу / викладачів

к.т.н., Олександр Амонс, o.amons@kpi.ua ,
Валерій Колеснік
Євген Вовк

Розміщення курсу https://campus.kpi.ua
https://ist.kpi.ua/syllabuses/uk/Index

Програма навчальної дисципліни

1.Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання

Опис дисципліни.

Силабус освітнього компонента «Технології розроблення програмного забезпечення. Курсова робота» складено відповідно до освітньої програми підготовки бакалаврів «Інформаційні технології» спеціальності 126 – Інформаційні системи та технології.

Мета навчальної дисципліни є формування та закріплення у студентів наступних компетентностей: (КЗ2) Здатність застосовувати знання у практичних ситуаціях; (КЗ3) Здатність застосовувати знання у практичних ситуаціях; (КЗ6) Здатність до пошуку, оброблення та узагальнення інформації з різних джерел; (КС2) Здатність застосовувати стандарти в області інформаційних систем та технологій при розробці функціональних профілів, побудові та інтеграції систем, продуктів, сервісів і елементів інфраструктури організації; (КС3) Здатність до проектування, розробки, налагодження та вдосконалення системного, комунікаційного та програмно-апаратного забезпечення інформаційних систем та технологій, Інтернету речей (ІоТ), комп'ютерно-інтегрованих систем та системної мережної структури, управління ними; (КС4) Здатність проектувати, розробляти та використовувати засоби реалізації інформаційних систем, технологій та інфокомунікацій (методичні, інформаційні, алгоритмічні, технічні, програмні та інші); (КС7) Здатність застосовувати інформаційні технології у ході створення, впровадження та експлуатації системи менеджменту якості та оцінювати витрати на її розроблення та забезпечення; (КС8) Здатність управляти якістю продуктів і сервісів інформаційних систем та технологій протягом їх життєвого циклу; (КС10) Здатність вибору, проектування, розгортання, інтегрування, управління, адміністрування та супроводжування інформаційних систем, технологій та інфокомунікацій, сервісів та інфраструктури організації.

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

Програмні результати навчання, на формування та покращення яких спрямована дисципліна: (ПРН3) Використовувати базові знання інформатики й сучасних інформаційних систем та технологій, навички програмування, технології безпечної роботи в комп'ютерних мережах, методи створення баз даних та інтернет-ресурсів, технології розроблення алгоритмів і комп'ютерних програм мовами високого рівня із застосуванням об'єктно-орієнтованого програмування для розв'язання задач проектування і використання інформаційних систем та технологій; (ПРН5) Аргументувати вибір програмних та технічних засобів для створення інформаційних систем та технологій на основі аналізу їх властивостей, призначення і технічних характеристик з урахуванням вимог до системи і експлуатаційних умов; мати навички налагодження та тестування програмних і технічних засобів інформаційних систем та технологій; (ПРН6) Демонструвати знання сучасного рівня технологій інформаційних систем, практичні навички програмування та використання прикладних і спеціалізованих комп'ютерних систем та середовищ з метою їх запровадження у професійній діяльності; (ПРН7) Обґрунтовувати вибір технічної структури та розробляти відповідне програмне забезпечення, що входить до складу інформаційних систем та технологій; (ПРН8) Застосовувати правила оформлення проектних матеріалів інформаційних систем та технологій, знати склад та послідовність виконання проектних робіт з урахуванням вимог відповідних нормативно-правових документів для запровадження у професійній діяльності; (ПРН14) Демонструвати вміння аналізувати вимоги та розробляти веб-додатки, веб-сервіси, веб-сайти з використанням базових принципів, сучасних технологій та мов програмування для створення веб-застосувань, як інтерфейсу доступу до сервісів ІТ-інфраструктури; (ПРН19) Застосовувати знання складу, структури, принципів реалізації та функціонування інформаційно-керуючих систем та виконувати розроблення, підтримку та супроводження інформаційних та програмно-технічні засобів, оцінювати ефективність використання інформаційно-керуючих систем на підприємствах.

2.Пререквізити та постреквізити дисципліни

Для успішного засвоєння дисципліни студент повинен володіти освітніми компонентами «Операційні системи», «Програмування – 1. Основи програмування», «Програмування – 2. Структури даних та алгоритми», «Дискретна математика», «Бази даних», «Технології розроблення програмного забезпечення».

3.Зміст навчальної дисципліни

Курсова робота є індивідуальним завданням з дисципліни «Бази даних» і готується до захисту в завершальний період теоретичного навчання. Курсова робота повинна бути підготовлена до захисту в термін, встановлюваний викладачем. До захисту курсової роботи представляється пояснювальна записка.

Пояснювальна записка включає такі компоненти: титульний лист, завдання на курсову роботу, зміст, що включає найменування всіх розділів і пунктів із зазначенням номерів сторінок, введення, в якому вказуються мета і завдання курсової роботи; основні розділи: Вступ, Проектування, Реалізація, Список використаних джерел. В кінці пояснювальної записки представляється висновок за результатами роботи.

Розділ "Проектування" повинен містити:

  • Огляд існуючих рішень

  • Загальний опис проєкту

  • Вимоги до застосунку/ків/системи

-- функціональні вимоги

-- нефункціональні вимоги

Вимоги подаються у вигляді UseCase діаграм з описом

  • Опис сценаціїв використання

тут подаються сценарії для варіантів використання, із попереднього параграфа

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

  • підрозділ Концептуальна модель системи повинен містити: діаграми класів, що описують предметну область з описом діаграм.

  • підрозділ вибір БД повинен містити: Вибір мови програмування та середовища розробки

  • підрозділ проектування розгортання повинен мистити діаграму розгортання системи з текстовим описом.

Розділ "Реалізація" повинен містити:

  • Структура БД

  • Архітектура системи

-- специфікація системи

діаграми класів що описують систему на різних рівнях

-- Вибір та обгрунтування патернів реалізації

  • Інструкція користувача

Надіслати викладачу на перевірку два файли. Перший з розширенням docx та іменем ПрізвищеІП (наприклад, ІванченкоАВ.docx) зі змістом самої пояснювальної записки (курсової роботи) та другий файл – архів що містить дві папки – одну зі скомпілоьованим проектом, який можна запустити При необхідності можна додавати інсталятор, друга папка містить репозіторій з вихідними кодами розробленої ситем. Також в архіві має бути файл Readme.txt, в якому подати короткий опис системи, та інструкцію по запуску та компіляції.

4.Навчальні матеріали та ресурси

Базова література

  1. Grady Booch, Robert A. Maksimchuk, Michael W. Engle, Bobbi J. Young, Jim Conallen, Kelli A. Houston. Object-Oriented Analysis and Design with Applications (3rd Edition) – Addison-Wesley Professional, 2007 – 697
  2. Буч Г., Рамбо Д., Джекобсон И. UML. Руководство пользователя: Пер. с англ. – М.: ДМК, 2006. – 496 с.
  3. М. Фаулер. Рефакторинг: улучшение существующего кода. – Пер. С англ.. – Изд-во Вильямс, 2016. – 893с.
  4. Martin Fowler. UML Distilled: A Brief Guide to the Standard Object Modeling Language, 3rd Edition – Print2print, 2016. – 208
  5. Ерік Фрімен, Елізабет Робсон. Head First. Патерни проєктування – Фабула, 2020 – 672с
  6. Роман Піхлер. Agile продукт-менеджмент за допомогою Scrum – Фабула, 2019 – 128с

Допоміжна література

  1. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++, 3-е изд. / Пер. с англ. – Изд-во Вильямс, 2010. – 720 с.
  2. Боггс У., Боггс М. UML и Rational Rose: Пер. с англ. – М.: Лори, 2000. – 582 с.
  3. Роман Піхлер. Agile продукт-менеджмент за допомогою Scrum. Створення продуктів, що подобаються клієнтам. Пер. с англ. – видавництво Фабула: - 2019 – 128 с.
  4. Майк Кон. Оцінювання і планування в Agile. Пер. с англ. – видавництво Фабула, 2019. – 336 с.

Навчальний контент

5.Методика опанування навчальної дисципліни (освітнього компонента)

Тиждень семестру Назва етапу роботи
4 Отримання теми та завдання на курсову роботу
5-7 Підбір та вивчення літератури
8-11 Виконання розділу 1
12-15 Виконання розділу 2
16 Подання курсової роботи на перевірку
17 Захист курсової роботи

Самостійна робота студента

№ з/п Назва теми, що виноситься на самостійне опрацювання Кількість годин СРС
1 Отримання теми та завдання на курсову роботу 2
2 Підбір та вивчення літератури 4
3 Виконання розділу 1 10
4 Виконання розділу 2 10
5 Подання курсової роботи на перевірку 2
6 Захсит курсової роботи 2

Політика та контроль

6.Політика навчальної дисципліни (освітнього компонента)

Оформлення курсової роботи має відповідати вимогам до звітів про НДР (ДСТУ 3008-2015 «Державний стандарт України. Документація. Звіти в сфері науки і техніки. Структура і правила оформлення»).

Ілюстративний матеріал для захисту курсової роботи може бути виконаний у вигляді плакатів, креслень і подаватися за допомогою комп'ютерних засобів. Зміст ілюстративного матеріалу має з достатньою повнотою відображати основні положення, які виносяться на захист.

7.Види контролю та рейтингова система оцінювання результатів навчання (РСО)

Поточний рейтинг студента з кредитного модуля RD курсової роботи складається з балів, що він отримує за:

  • виконання графіку курсової роботи;
  • виконання розділу 1 (розроблення бізнес-логіки системи);
  • виконання розділу 2 (розроблення веб-інтерфейсу системи);
  • відповіді на запитання.

При цьому враховуються заохочувальні (зі знаком "плюс") та штрафні (зі знаком "мінус") бали.

Система рейтингових балів та критерії оцінювання

  1. Виконання графіку курсової роботи. Ваговий бал – 10. Максимальна кількість балів = 10 балів.
Критерії оцінювання Бали
Студент чітко дотримувався графіку виконання курсової роботи. 10
Студент не дотримувався графіку виконання курсової роботи при виконаннітеоретичної та практичної частин, але вчасно подав курсову роботу наперевірку. 5-9
Студент не дотримувався графіку виконання курсової роботи при виконаннітеоретичної та практичної частин, не подав курсову роботу на перевірку увстановлений термін, але представив роботу до терміну захисту. 1-4
Студент не подав курсову в день захисту 0

2. Виконання розділу 1 (теоретичного) курсової роботи. Ваговий бал – 30 балів.

Максимальна кількість балів = 30 балів.

Критерії оцінювання Бали
Студент при виконанні теоретичного розділу курсової роботи показав глибоке знання предмету, повно і чітко розкрив поставлене питання, проаналізував практичний досвід. 25-30
Оцінка знижується на 6-15 балів у випадку, коли виконано всі переліченівище вимоги, але по деяким показникам мають місце недоліки непринциповогохарактеру. 15-24
Студент отримує від 5 до 14 балів, коли теоретичне питання викладенозагалом правильною, але неповною. 5-14
Теоретична частина роботи студента оцінюється 1-4 балами у випадку колипитання викладено поверхнево, студент показав низькі знання предметноїобласті. 1-4
В інших випадках. 0

3. Виконання розділу 2 (практичного). Ваговий бал – 30. Максимальна кількість = 30 балів.
Критерії оцінювання Бали
Студент при виконанні другого розділу курсової роботи показав глибоке знання предмету, повно і чітко розкрив поставлене питання і при цьому реалізував як обов'язкову так і опціональну частину функціональності. 25-30
Виконано всі перелічені вище вимоги, але опціональна частина функціональності реалізована не в повному обсязі. 15-24
Обов'язкова частина функціональності реалізована не в повному обсязі 5-14
Обов'язкова частина функціональності не реалізована або реалізована з істотними помилками, що унеможливлюють можливість її використання. 0

4. Відповіді на запитання. Ваговий бал – 30. Максимальна кількість = 30 балів.
Критерії оцінювання Бали
Студент при відповіді на запитання показав глибоке знання предмету, повно і чітко відповів на всі запитання, задані викладачем. 25-30
Студент при відповіді на запитання показав глибоке знання предмету, повно і чітко відповів на всі запитання, задані викладачем, але по деяким питанням мають місце недоліки непринципового характеру. 15-24
Студент відповів не на всі запитання і продемонстрував слабкі знання предметної області. 5-14
Студент не зміг продемонструвати знання предметної області. 0

Штрафні та заохочувальні бали.

Заохочувальні бали нараховуються за виконання творчих і наукових робіт у межах навчальної дисципліни: + (1…5) балів.

Поточна рейтингова шкала RD з кредитного модуля дорівнює сумі вагових балів контрольних заходів таз критеріїв оцінювання:

RD = 10 + 30 + 30 + 30 = 100 балів.

Необхідною умовою допуску до захисту курсової роботи є представлення пояснювальної записки у визначений термін.

В заліково-екзаменаційну відомість виставляються оцінки згідно з таблицею:

Кількість балів Оцінка
95-100 Відмінно
85-94 Дуже добре
75-84 Добре
65-74 Задовільно
60-64 Достатньо
Менше 60 Незадовільно
Невиконання умов допуску до захисту Не допущено
  • Паттерн не використано, але розроблені інші діаграми з незначними помилками – 4-6 балів;

  • Патерн не використано, діаграми не розроблені, або розроблені частково – 0-3 балів;

8.Додаткова інформація з дисципліни (освітнього компонента)

Перелік тем

  1. Музичний програвач (iterator, command, memento, facade, visitor, client-server)

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

  1. HTTP-сервер (state, builder, factory method, mediator, composite, p2p)

Сервер повинен мати можливість розпізнавати вхідні запити і формувати коректні відповіді (згідно протоколу НТТР), надавати сторінки chtml (html сторінки з додаванням найпростіших C# конструкцій на розсуд студента), вести статистику вхідних запитів, обробку запитів у багатопотоковому/подієвому режимах.

  1. Текстовий редактор (strategy, command, observer, template method, flyweight, SOA)

Текстовий редактор повинен вміти розпізнавати текстові файли в будь-якій кодуванні, мати розширені функції редагування: макроси, сніппети, підказки, закладки, перехід на рядок / сторінку, підсвічування синтаксису (для однієї мови програмування або розмітки на розсуд студента).

  1. Графічний редактор (proxy, prototype, decorator, bridge, flyweight, SOA)

Графічний редактор повинен вміти створювати / редагувати растрові (або векторні на розсуд студента) зображення в 2-3 основних популярних форматах (bmp, png, jpg), мати панель інструментів для створення графічних примітивів, вибору кольорів, нанесення тексту, додавання найпростіших візуальних ефектів (ч/б растр, інфрачервоний растр, 2-3 на вибір учня), роботи з шарами.

  1. Аудіо редактор (singleton, adapter, observer, mediator, composite, client-server)

Аудіо редактор повинен володіти наступним функціоналом: представлення аудіо даних будь-якого формату в WAVE-формі, вибір і подальші операції копіювання / вставки / вирізання / деформації по сегменту аудіозапису, можливість роботи з декількома звуковими доріжками, кодування в найбільш поширених форматах (ogg, flac, mp3).

  1. Web-browser (proxy, chain of responsibility, factory method, template method, visitor, p2p)

Веб-браузер повинен мати можливість зробити наступне: мати адресний рядок для введення адреси сайту, переміщатися і відображати структуру html документа, переглядати підключений javascript та css файли, перегляд всіх підключених ресурсів (зображень), коректна обробка відповідей з сервера (коди відповідей HTTP) - переходи при перенаправленнях, відображення сторінок 404 і 502/503.

  1. Редактор зображень (state, prototype, memento, facade, composite, client-server)

Редактор зображень має такі функціональні можливості: відкриття/збереження зображень у найпопулярніших форматах (5 на вибір студента), застосування ефектів, наприклад поворот, розтягування, стиснення, кадрування зображення, можливість створення колажів шляхом «нашарування» зображень.

  1. Powershell terminal (strategy, command, abstract factory, bridge, interpreter, client-server)

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

  1. Sql IDE (singleton, command, observer, bridge, visitor, SOA)

Інтегроване середовище розробки скриптів SQL повинна вміти працювати з більшістю сучасних баз даних (Microsoft SQL server, Oracle, IBM DB2, MySQL, PostgreSQL), виділяти синтаксичні одиниці конструкцій, виконувати і показувати результат їх виконання, отримувати схеми даних з джерела (список таблиць, стовпців, ключів і т.д.), порівнювати схеми даних з різних джерел.

  1. VCS all-in-one (iterator, adapter, factory method, facade, visitor, p2p)

Клієнт для всіх систем контролю версій повинен підтримувати основні команди і дії (commit, update, push, pull, fetch, list, log, patch, branch, merge, tag) для 3-х основних систем управління версіями (svn, git, mercurial), а також мати можливість вести реєстр репозиторіїв (і їх типів) і відображати дерева фіксації графічно.

  1. Web crawler (proxy, chain of responsibility, memento, template method, composite, p2p)

Веб-сканер повинен вміти розпізнавати структуру сторінок сайту, переходити за посиланнями, збирати необхідну інформацію про зазначений термін, видаляти не семантичні одиниці (рекламу, об'єкти javascript і т.д.), зберігати знайдені дані у вигляді структурованого набору html файлів вести статистику відвіданих сайтів і метадані.

  1. CI server (state, command, decorator, mediator, visitor, soa)

Сервер безперервної інтеграції повинен володіти наступними характеристиками: можливість вести облік перебудовуваних проектів і продуктів, автоматично вирішувати завдання залежностей між проектами при побудові, компілювати проєкт для обраної мови програмування, виконувати тестування, розпізнавати build-скрипти (написані на відповідній мові; для C# - NAnt / MSBuild, для Java - Maven / Ant, для Ruby - rubygems / etc.), Вести статистику успішних / невдалих збірок.

  1. Office communicator (strategy, adapter, abstract factory, bridge, composite, client-server)

Мережевий комунікатор для офісу повинен нагадувати функціонал програми Skype з можливостями голосового / відео / конференц-зв'язку, відправки текстових повідомлень і файлів (можливо, оффлайн), веденням організованого списку груп / контактів.

  1. Архіватор (strategy, adapter, factory method, facade, visitor, p2p)

Архіватор повинен являти собою візуальний додаток з можливістю створення і редагування архівів різного типу (.tar.gz, .zip, .rar, .ace) - додавання/ видалення файлів / папок, редагування метаданих (по можливості), перевірка checksum архівів, тестування архівів на наявність пошкоджень, розбиття архівів на частини.

  1. E-mail клієнт (singleton, builder, decorator, template method, interpreter, SOA)

Поштовий клієнт повинен нагадувати функціонал поштових програм Mozilla Thunderbird, The Bat і т.д. Він повинен сприймати і коректно обробляти pop3/smtp/imap протоколи, мати функції автонастройки основних поштових провайдерів для України (gmail, ukr.net, i.ua), розділяти повідомлення на папки/категорії/важливість, зберігати чернетки незавершених повідомлень, прикріплювати і обробляти прикріплені файли.

  1. NAnt script builder (proxy, chain of responsibility, decorator, mediator, flyweight, client-server)

Візуальна утиліта для створення скриптів NAnt збірки шляхом редагування текстового представлення xml-скрипта (з підсвічуванням синтаксису і доповненням коду) або шляхом «перетягування» відповідних елементів; Також мати можливість автоматичного перетворення файлів .sln проектів в скрипти збірки (шляхом аналізу проектів і їх залежностей).

  1. System activity monitor (iterator, command, abstract factory, bridge, visitor, SOA)

Монітор активності системи повинен зберігати і запам'ятовувати статистику використовуваних компонентів системи, включаючи навантаження на процесор, обсяг займаної оперативної пам'яті, натискання клавіш на клавіатурі, дії миші (переміщення, натискання), відкриття вікон і зміна вікон; будувати звіти про використання комп'ютера за різними критеріями (% часу перебування у веб-браузері, середнє навантаження на процесор по годинах, середній час роботи комп'ютера по днях і т.д.); правильно поводитися з «простоюванням» системи – відсутністю користувача.

  1. Shell (total commander) (state, prototype, factory method, template method, interpreter, client-server)

Оболонка повинна вміти виконувати основні дії в системі - перегляд файлів папок в файлової системі, перемикання між дисками, копіювання, видалення, переміщення об'єктів, пошук.

  1. IRC client (singleton, builder, abstract factory, template method, composite, client-server)

Клієнт для IRC-чатів з можливістю вказівки порту і адреси з'єднання, підтримка базових команд (підключення до чату, створення чату, установка імені, реєстрація, допомога і т.д.), отримання метаданих про канал.

  1. Mind-mapping software (strategy, prototype, abstract factory, bridge, composite, SOA)

Візуальний додаток для складання "карт пам'яті" з можливістю роботи з декількома картами (у вкладках), автоматичного промальовування ліній, додавання вкладених файлів, картинок, відеофайлів (попередній перегляд); можливість додавання значків категорій / терміновості, обведення областей карти (поділ пунктирною лінією).

  1. Online radio station (iterator, adapter, factory method, facade, visitor, client-server)

Додаток повинен служити сервером для радіостанції з можливістю мовлення на радіостанцію (64, 92, 128, 196, 224 kb/s) в потоковому режимі; вести облік підключених користувачів і статистику відвідувань і прослуховувань; налаштувати папки з піснями і можливість вести списки програвання або playlists (не відтворювати всі пісні).

  1. FTP-server (state, builder, memento, template method, visitor, client-server)

FTP-сервер повинен вміти коректно обробляти і відправляти відповіді по протоколу FTP, з можливістю створення користувачів (з паролями) і доступних їм папок, розподілу прав за стандартною схемою (rwe), ведення статистики з'єднань, обмеження максимальної кількості підключень і максимальної швидкості поширення глобально і окремо для кожного облікового запису.

  1. Project Management software (proxy, chain of responsibility, abstract factory, bridge, flyweight, client-server)

Програмне забезпечення для управління проектами повинно мати наступні функції: супровід завдань/вимог/проектів, списків команд, поточних завдань, планування за методологіями agile/kanban/rup (включаючи дошку завдань, ітерації тощо), мати можливість прикріплювати вкладені файли до завдань та посилатися на конкретні версії програми, зберігати виконувані файли для кожної версії.

  1. Flexible automation tool (strategy, command, abstract factory, facade, interpreter, SOA)

Інструмент автоматизації повинен забезпечувати найпростіші автоматичні дії для зручності користувача: завантаження нових фільмів / книг / файлів при випуску (наприклад, щоп'ятниці з'являються нові серії улюблених серіалів); встановити статуси в комунікаторах (skype - away при нульовій активності на тривалий час) і т.д. Автоматизація забезпечується шляхом введення правил (на зразок IFTTT.com сервісу), запису макросів (натискання клавіш, дії миші), планувальника завдань (о 5 ранку - початок роздачі торрент-файлів).

  1. Installer generator (iterator, builder, factory method, bridge, interpreter, client-server)

Генератор інсталяційних пакетів повинен мати якийсь спосіб налаштування файлів, що входять в установку, установки вікон з інтерактивними можливостями (галочка - створити ярлик на робочому столі; ввести в текстове поле деякі дані, наприклад, ліцензійний ключ і т.д.). Генератор повинен вивести один файл .exe або .msi.

  1. Download manager (iterator, command, observer, template method, composite, p2p)

Інструмент для скачування файлів з інтернету по протоколах http або https з можливістю продовження завантаження в зупиненому місці, розподілу швидкостей активним завантаженням, ведення статистики завантажень, інтеграції в основні браузери (firefox, opera, internet explorer, chrome).

  1. Особиста бухгалтерія (state, prototype, decorator, bridge, flyweight, SOA)

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

  1. JSON Tool (ENG) (strategy, command, observer, template method, flyweight)

Display JSON schema with syntax highlight. Validate JSON schema and display errors. Create user friendly table\list box\other for read and update JSON schema properties metadata (description, example, data type, format, etc.). Auto save\restore when edit, maybe history. Can check JSON value by schema (Put schema and JSON = valid\invalid, display errors). Export schema as markdown table. JSON to "flat" view.

  1. Ваш варіант (тему узгодити із викладачем)

Робочу програму навчальної дисципліни (Сілабус):

Складено доцент, к.т.н., Амонс Олександр Анатолійович

Ухвалено кафедрою ICT (протокол 21 від 29.06.2023.)

Погоджено Методичною комісією факультету (протокол 11 від 29.06.2023.)