НОВІТНІ ПРОГРАМНО-ТЕХНІЧНІ ЗАСОБИ ПРОЕКТУВАННЯ ІНФОРМАЦІЙНИХ СИСТЕМ - Робоча програма навчальної дисципліни (Силабус)
Реквізити навчальної дисципліни
Рівень вищої освіти | Третій (доктор філософії) |
---|---|
Галузь знань | 12 Інформаційні технології1 |
Спеціальність | 126 Інформаційні системи та технології |
Освітня програма | ІНФОРМАЦІЙНІ СИСТЕМИ ТА ТЕХНОЛОГІЇ |
Статус дисципліни | Нормативна |
Форма навчання | очна(денна)/очна(вечірня)/заочна |
Рік підготовки, семестр | 2 курс, весняний семестр |
Обсяг дисципліни | 4 кредити (120 годин) |
Семестровий контроль/ контрольні заходи | екзамен |
Розклад занять | Перший та другий тиждень: Лекція/лабораторна робота, четвер, 10-25, on-line |
Мова викладання | Українська |
Інформація про керівника курсу / викладачів |
Лектор: д.т.н., доцент Дорогий Ярослав Юрійович, контактні дані2: y.dorogoy@kpi.ua Практичні : д.т.н., доцент Дорогий Ярослав Юрійович, контактні дані3: y.dorogoy@kpi.ua |
Розміщення курсу | Посилання на дистанційний ресурс (Moodle, Google classroom, тощо): |
Програма навчальної дисципліни
Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання
Дисципліна «Новітні програмно-технічні засоби проектування інформаційних систем» (Н5) є нормативною дисципліною навчального плану підготовки докторів філософії з спеціальності «Інформаційні системи та технології» і грає важливу роль у підготовці фахівців.
Метою навчальної дисципліни є формування у аспірантів компетентностей та підготовка науковця, здатного вирішувати складні задачі і практичні проблеми використання новітніх технологій та засобів проектування інформаційних систем та здійснювати професійну діяльність з моделювання, проектування, реалізації та адміністрування проектів з проектування інформаційних систем.
Метою кредитного модуля є формування у аспірантів загальних та спеціальних (фахових, предметних) компетентностей:
ЗК01 – здатність до абстрактного мислення, аналізу та синтезу;
ЗК03 – здатність розробляти проекти та управляти ними;
СК01 – здатність планувати та виконувати оригінальні дослідження, досягати наукових результатів, які створюють нові знання у ІСТ та дотичних до них міждисциплінарних напрямах з ІТ та суміжних галузей;
СК03 – здатність створювати і застосовувати сучасні інформаційні технології, архітектури і спеціалізоване програмне забезпечення у науковій та освітній діяльності, керувати інформаційними ресурсами, інформаційними системами та цифровими сервісами;
СК05 – здатність розвивати теоретичні засади, створювати моделі інформаційних технологій, проектувати та створювати інформаційні системи і цифрові сервіси та їх прототипи;
СК06 – здатність застосовувати сучасні методи дослідження, синтезу, проектування інформаційних систем і технологій у науковій та науково-педагогічній діяльності;
СК-08 – здатність створювати сучасні інформаційні системи з використанням технологій штучного інтелекту.
Програмні результати навчання:
Згідно з вимогами програми навчальної дисципліни аспіранти після засвоєння кредитного модуля мають продемонструвати такі результати навчання:
РН04 – розробляти та досліджувати концептуальні, математичні і комп’ютерні моделі процесів і систем, використовувати їх для отримання нових знань та/або створення інноваційних продуктів у сфері ІСТ та дотичних міждисциплінарних напрямах;
РН05 – планувати і виконувати експериментальні та/або теоретичні дослідження інформаційних систем і технологій з використанням сучасних методів дослідження, технічних, програмних засобів та з дотриманням норм академічної і професійної етики;
РН08 – розробляти програмне забезпечення інформаційних систем у відповідності з принципами сервіс-орієнтованої архітектури розподілених програмних систем, проводити реінжиніринг прикладного інформаційного забезпечення;
РН09 – застосовувати сучасні програмно-технічні засоби, зокрема для реалізації методів захисту комп’ютерної інформації при проектуванні інформаційних систем та цифрових сервісів в різних предметних областях;
РН12 – здатність використовувати сучасні методи та інструменти для проведення інтелектуального аналізу даних, включаючи здатність визначати й інтерпретувати ключові закономірності, виявляти складні зв'язки та здійснювати компетентну оцінку результатів аналізу для вирішення проблемних ситуацій в інформаційних системах.
.
Пререквізити та постреквізити дисципліни (місце в структурно-логічній схемі навчання за відповідною освітньою програмою)
Пререквізити: здатність застосовувати знання у практичних ситуаціях, навички використання інформаційних і комунікаційних технологій. Цей курс базується на таких забезпечуючих дисциплінах: тенденції розвитку інформаційних систем та технологій, сучасні концепції створення інтелектуальних систем, проектування інформаційних систем.
Постреквізити: Перелік напрямків діяльності, що забезпечуються: педагогічна практика, захист дисертаційної роботи.
Зміст навчальної дисципліни
Розділ 1. Вступ до дисципліни.
Тема 1.1. Вступ до проєктування інформаційних систем.
Тема 1.2. Огляд інструментів та технологій проєктування.
Тема 1.3. Вибір інструментів для проєктування.
Тема 1.4. Інтеграція інструментів у процесі розробки.
Розділ 2. Моделювання та проектування інформаційних систем. Інструментарій, моделі, підходи, технології.
2.1 Методології проєктування.
2.2. Архітектурні підходи.
2.3. Мови моделювання та їх використання.
2.4. Технології для архітектурного проєктування.
2.5. Інструменти для дизайну інтерфейсу користувача.
2.6. Інструменти для проєктування баз даних.
Модуль 3: Інструментарій для програмування та розробки інформаційних систем.
3.1. Вибір мов програмування та фреймворків.
3.2. Інструменти розробки та оточення.
3.3. Інструментарій для Web-розробки.
3.4. Інструменти для збору та управління вимогами.
3.5. Інтеграція та обмін даними між системами.
3.6. Інструменти для автоматизованого тестування.
3.7. Техніки та інструменти для тестування продуктивності.
3.8. Засоби версійного контролю.
3.9. Автоматизована збірка та розгортання.
Модуль 4: Інструменти безпеки інформаційних систем.
4.1. Інструменти для виявлення та виправлення уразливостей.
4.2. Інструменти для моніторингу та аудиту безпеки.
Навчальні матеріали та ресурси
Базова
Мінухін С. В. Методи і моделі проектування на основі сучасних CASE–засобів. Навчальний посібник / С.В. Мінухін, О.М. Беседовський, С. В. Знахур. – Харків: Вид. ХНЕУ, 2008. – 272 с. (укр. мов.)
Xu A. System Design Interview – An insider's guide. - Independently published, 2020. – 320 с.
Klepmann M. Designing Data-Intensive Applications. - O’Reilly Media, 2017. – 590 c.
Авраменко В.С., Авраменко А.С. Проектування інформаційних систем: навчальний посібник / В.С. Авраменко, А.С. Авраменко. – Черкаси: Черкаський національний університет ім. Б. Хмельницького, 2017. – 434 с.: іл.
Навчальна платформа Coursera, Secure Software Design [Електронний ресурс]. – Режим доступу до ресурсу: https://www.coursera.org/programs/program-natsional-nii-tiekhnichnii-univiersitiet-ukrayini-kiyivs-kii/specializations/secure-software-design.
Навчальна платформа Coursera, Information Systems [Електронний ресурс]. – Режим доступу до ресурсу: https://www.coursera.org/programs/program-natsional-nii-tiekhnichnii-univiersitiet-ukrayini-kiyivs-kii/specializations/information-systems.
Навчальна платформа Udemy, Software Architecture & System Design Practical Case Studies [Електронний ресурс]. – Режим доступу до ресурсу: https://ua.udemy.com/course/software-architecture-system-design-practical-case-studies.
Навчальна платформа Udemy, Software Architecture & Design of Modern Large Scale Systems [Електронний ресурс]. – Режим доступу до ресурсу: https://ua.udemy.com/course/software-architecture-design-of-modern-large-scale-systems/.
Навчальна платформа Udemy, Software Architecture & Technology of Large-Scale Systems [Електронний ресурс]. – Режим доступу до ресурсу: https://ua.udemy.com/course/developer-to-architect/.
Навчальна платформа Wintellectnow, Architecting Distributed Cloud Applications [Електронний ресурс]. – Режим доступу до ресурсу: https://www.wintellectnow.com/Home/SeriesDetail? seriesId=architecting-distributed-cloud-applications.
Навчальна платформа Pluralsight.com, DevOps: The Big Picture [Електронний ресурс]. – Режим доступу до ресурсу: https://app.pluralsight.com/library/courses/devops-big-picture/table-of-contents.
Навчальна платформа Pluralsight.com, Implementing DevOps in the Real World [Електронний ресурс]. – Режим доступу до ресурсу: https://app.pluralsight.com/library/courses/implementing-devops-real-world/table-of-contents.
Додаткова
Richards M., Ford N. Fundamentals of Software Architecture: A Comprehensive Guide to Patterns, Characteristics, and Best Practices. - O'Reilly Media, 2020. – 396 c.
Wixom D., Roth R. System Analysis and Design. - John Wiley & Sons, Inc., 2012. – 596 c.
Навчальний контент
Методика опанування навчальної дисципліни(освітнього компонента)
№ з/п |
Назва теми лекції та перелік основних питань (дидактичні матеріали: презентація Power Point, відеолекції.) |
---|---|
1 | 2 |
1 | Розділ 1. Вступ до дисципліни. Лекція 1. Огляд інструментів та технологій проєктування. Основні концепції та терміни. Роль і значення інформаційних систем в організаціях. Основні етапи життєвого циклу інформаційних систем. Роль інструментів у процесі проєктування. Огляд CASE-інструментів. Визначення та роль CASE-інструментів в процесі розробки. Популярні CASE-інструменти: Visual Paradigm, Sparx Systems Enterprise Architect. Функціональність CASE-інструментів. Моделювання UML-діаграм. Підтримка процесів аналізу та проєктування в CASE-середовищі. Інструменти для моделювання процесів. Огляд інструментів для моделювання процесів: Lucidchart, Draw.io, StarUML. Практичні аспекти вибору інструментів. Спільна робота команди. Важливість інтеграції інструментів для колективної розробки. Порівняння та аналіз інструментів для вибору оптимального варіанту. Література: 1-3. Самостійна робота: Ознайомлення з CASE-інструментами для проектування інформаційних систем. Підготовка до лабораторної роботи. |
Розділ 2. Моделювання та проектування інформаційних систем. Інструментарій, моделі, підходи, технології. | |
---|---|
2 | Лекція 2. Методології проєктування. Архітектурні підходи. Мови моделювання та їх використання. Методології проєктування. Водопадна модель. Методології гнучкого розроблення. Основні принципи Agile. Характеристики Scrum та Kanban. Вибір методології в залежності від проекту. Методології спрямовані на об'єктно-орієнтоване проєктування. Моделі керування проектами (PMI, PRINCE2). Вибір моделі керування проектом залежно від типу та масштабу проекту. Архітектурні підходи. Монолітні та розподілені архітектури. Мікросервісна архітектура. Клієнт-серверна архітектура. Мови моделювання та їх використання. UML. BPMN. Література: 1-3. Самостійна робота: Створення моделей бізнес-процесів інформаційної системи для своєї дисертації. Підготовка до лабораторної роботи. |
3 | Лекція 3. Технології для архітектурного проєктування. ArchiMate для архітектурного моделювання. Огляд ArchiMate. Призначення та основні концепції. Види діаграм та їх призначення. Використання ArchiMate в архітектурному моделюванні. TOGAF та його роль в архітектурному проєктуванні. Огляд TOGAF. Мета та завдання TOGAF. Структура TOGAF Architecture Development Method (ADM). Роль TOGAF в архітектурному проєктуванні. Забезпечення стандартизації та високої якості архітектурних рішень. Інтеграція TOGAF в процес розробки програмного забезпечення. Література: 1-4. Самостійна робота: Використання архітектурного моделювання при підготовці дисертаційної роботи. Підготовка до лабораторної роботи |
4 | Лекція 4. Інструменти для дизайну інтерфейсу користувача. Інструменти для дизайну інтерфейсу користувача. Sketch та Figma для UX/UI дизайну. Огляд Sketch та його використання. Інтерфейс та основні функції Sketch. Створення дизайну інтерфейсу за допомогою Sketch. Figma: Інтерактивний UX/UI дизайн. Переваги та особливості використання Figma. Спільна робота та взаємодія в команді. Інтеграція дизайну та розробки. Оптимальне використання інструментів. Підвищення ефективності через інтеграцію Sketch та Figma з розробкою. Взаємодія дизайнерів та розробників у процесі проєктування. Література: 2, 5-6. Самостійна робота: використання інструментальних засобів дизайну інтерфейсу користувача при розробленні інформаційної системи. Підготовка до лабораторної роботи |
5 | Лекція 5. Інструменти для проєктування баз даних. Сучасні інструменти для моделювання ER-діаграми. Lucidchart, Draw.io, SmartUML. UML-діаграми для баз даних. Застосування UML-діаграм для моделювання баз даних. Інструменти підтримки: Visual Paradigm, Sparx Systems Enterprise Architect. Інструменти для нормалізації. Використання DbSchema для визначення нормальних форм. Ручна та автоматична генерація SQL-скриптів. Аналіз та нормалізація баз даних в Navicat Data Modeler. Вбудовані функції для аналізу та нормалізації. Інтеграція інструментів у процесі розробки. Інтеграція баз даних у розробку. MySQL Workbench. Експорт та імпорт моделей баз даних. Підтримка спільної роботи над проектами. Oracle SQL Developer. Інтеграція з іншими інструментами для обміну моделями баз даних. Література: 1-9. Самостійна робота: використання інструментальних засобів проєктування баз даних при розробленні інформаційної системи. Підготовка до лабораторної роботи |
Розділ 3. Інструментарій для програмування та розробки інформаційних систем. | |
6 | Лекція 6. Оцінка вимог проєкту. Вибір IDE. Інструментарій для Web-розробки. Обгрунтування вибору мови програмування. Оцінка вимог проекту. Адаптація мови до функціональних вимог. Швидкість та продуктивність. Підтримка бібліотек та фреймворків. Тип проекту та його складність. Вибір мови з урахуванням типу застосунка та його розміру. Спільнота та екосистема. Фреймворки для розробки веб-застосунків та мобільних застосунків. Front-end фреймворки: React, Angular, Vue.js - порівняння та вибір. Back-end фреймворки: Django, Flask, Ruby on Rails - характеристики та використання. Інструменти розробки та оточення. IDE. Огляд найпопулярніших IDE для різних мов програмування: Visual Studio Code, IntelliJ IDEA, PyCharm. Адаптація до вимог розробки. Системи автоматизованої збірки (CI/CD). Інструментарій для Web-розробки. Технології веб-серверів. Вибір та конфігурація веб-сервера: Apache, Nginx - порівняння та використання. Література: 6-9. Самостійна робота: використання IDE при проєктуванні інформаційних систем. Підготовка до лабораторної роботи |
7 | Лекція 7. Інструменти для збору та управління вимогами. Інтеграція та обмін даними між системами. Інструменти для автоматизованого тестування. Техніки та інструменти для тестування продуктивності. Інструменти для збору та управління вимогами. Огляд популярних систем управління проектами. Jira. Функціонал та можливості для ефективного управління вимогами. Trello. Принцип роботи та використання для невеликих проектів. Redmine. Інтеграція та основні функції для збору вимог. Техніки визначення та документування вимог. Методології збору вимог. Експертні інтерв'ю, анкетування, спостереження. Використання кейсів та сценаріїв для документування. Інтеграція та обмін даними між системами. ETL-інструменти (Extract, Transform, Load). Огляд основних ETL-інструментів: Informatica, Microsoft SSIS, Apache Nifi. Застосування в реальних проектах для обміну даними. RESTful API та веб-служби. Інструменти для автоматизованого тестування. Selenium. Функціонал та використання для автоматизації тестів. JUnit та TestNG. Основні функції та переваги використання в юніт-тестуванні. Інтеграція тестування у CI/CD. Організація автоматичного тестування в процесі CI/CD. Jenkins, GitLab CI - інтеграція та автоматизація тестового процесу. Техніки та інструменти для тестування продуктивності. Apache JMeter. Створення та виконання тестів для оцінки продуктивності. LoadRunner. Визначення навантаження та оцінка реакції системи. Аналіз продуктивності за допомогою Profilers. Література: 6-9. Самостійна робота: використання інструментів автоматизованого тестування та CI/CD. Підготовка до лабораторної роботи. |
8 | Лекція 8. Засоби версійного контролю. Інструментарій автоматизованої збірки та розгортання. Засоби версійного контролю. Огляд систем версійного контролю. Git. Основні концепції та переваги використання. Відгалудження та злиття гілок в Git. Автоматизована збірка та розгортання. Інтеграція засобів автоматизованої збірки в процес розробки. Jenkins. Настройка та використання для автоматизації збірки. Travis CI. Інтеграція з GitHub та автоматизація тестування. GitLab CI. Використання в інтегрованому середовищі GitLab. Деплоймент у хмарні сервіси. Література: 9-12. Самостійна робота: використання інструментарію CI/CD для розгортання інформаційної системи при підготовці дисертаційної роботи. Підготовка до лабораторної роботи |
Розділ 4. Інструменти безпеки інформаційних систем. | |
9 | Лекція 9. Інструменти безпеки інформаційних систем. Інструменти для виявлення та виправлення уразливостей. OWASP ZAP. Функціональні можливості та переваги. Процес виявлення та аналізу уразливостей. Burp Suite. Застосування та використання в практичних завданнях. Інтеграція з іншими інструментами безпеки. Перевірка безпеки коду. Статичний та динамічний аналіз коду. Засоби виявлення вразливостей в програмному коді. Процес виправлення та усунення виявлених проблем. Інструменти для моніторингу та аудиту безпеки. SIEM-системи (Security Information and Event Management). Огляд SIEM-систем. Збір, агрегація та аналіз інформації про події безпеки. Виявлення аномальної активності та реагування на інциденти. Моніторинг доступу та журналювання. Огляд засобів контролю доступу до інформаційних ресурсів. Методи журналювання подій та їх аналіз.. Література: 5, 7. Самостійна робота: використання інструментів безпеки інформаційних систем на етапі створення. Підготовка до лабораторної роботи. |
Лабораторні заняття
№ з/п |
Назва лабораторної роботи (комп'ютерного практикуму) | Кількість ауд. годин |
1 | Лабораторна робота 1. Використання StarUML для створення моделі інформаційної системи в нотації UML. Література: 1-3. |
2 |
2 | Лабораторна робота 2. Використання LucidChart для створення моделі бізнес-процесів інформаційної системи в нотації BPMN. Література: 1-3. |
2 |
3 | Лабораторна робота 3. Використання Archi для створення архітектури проєкту інформаційної системи в парадигмі ArchiMate. Література: 1-4. |
2 |
4 | Лабораторна робота 4. Використання Figma для створення протитипу інтерфейсу користувача для інформаційної системи. Література: 2, 5-6. |
2 |
5 | Лабораторна робота 5. Використання MySQL Workbench для створення моделі бази даних для інформаційної системи. Література: 1-9. |
2 |
6 | Лабораторна робота 6. Огляд сучасних IDE для розробки програмного забезпечення інформаційних систем. Література: 6-9. |
2 |
7 | Лабораторна робота 7. Використання систем управління проєктами Jira та Trello для створення проєкту інформаційної системи. Література: 6-9. |
2 |
8 | Лабораторна робота 8. Використання Git для управління версійністю програмного забезпечення при створенні проєкту інформаційної системи. Література: 9-12. |
2 |
9 | Лабораторна робота 9. Використання Burp Suite для визначення безпеки коду проєкту інформаційної системи. Література: 5-7. |
2 |
Самостійна робота аспіранта
№ з/п | Назви тем і питань, що виноситься на самостійне опрацювання та посилання на навчальну літературу | Кількість годин СРС |
---|---|---|
1 | 2 | 2 |
1 | Методології гнучкого розроблення [1-3] | 8 |
2 | Мови моделювання та їх використання [1-3] | 8 |
3 | Технології для архітектурного проєктування [1-4] | 8 |
4 | Інструменти для дизайну інтерфейсу користувача [2, 5-6] | 8 |
5 | Інструменти для проєктування баз даних [1-9] | 8 |
6 | Інструменти для збору та управління вимогами [6-9] | 8 |
7 | Інструменти для автоматизованого тестування [1-11] | 12 |
8 | Автоматизована збірка та розгортання [9-12] | 12 |
9 | OWASP ZAP, Burp Suite [5-7] | 12 |
Політика та контроль
Політика навчальної дисципліни (освітнього компонента)
Рейтинг аспіранта з дисципліни складається з балів, що він отримує за:
1) індивідуальне завдання на проектування інформаційної системи;
2) виконання комп’ютерних практикумів;
3) відповідь на екзамені.
1. Модульний контроль
Ваговий бал – 55. Кожний аспірант виконує індивідуальне завдання щодо розробки інформаційної системи (програмного забезпечення) в рамках свого дисертаційного дослідження, яке передбачає використання всієї низки програмно-технічного інструментарію, що вивчається в рамках курсу.
2. Робота на комп’ютерних практичних заняттях
Ваговий бал – 5. Максимальна кількість балів на всіх практичних заняттях дорівнює 5*9= 45 балів.
Штрафні та заохочувальні бали за:
- виконання завдань із удосконалення дидактичних матеріалів з дисципліни надається від 2 до 5 заохочувальних балів.
Бали по екзаменаційних питаннях:
Кількість балів по відповіді на кожне питання визначається викладачем з врахуванням складності питання та якості відповіді. Максимальна кількість балів 55.
Розрахунок шкали (R) рейтингу
Сума вагових балів контрольних заходів протягом семестру складає:
RС = 55 + 45 = 100 балів.
Для отримання аспірантом відповідних оцінок (ЕСТS та традиційних) його рейтингова оцінка R переводиться згідно з таблицею відповідності рейтингових балів оцінкам за університетською шкалою.
Види контролю та рейтингова система оцінювання результатів навчання (РСО)
Календарний контроль: провадиться двічі на семестр як моніторинг поточного стану виконання вимог силабусу.
Семестровий контроль: екзамен
Умови допуску до семестрового контролю: мінімально позитивна оцінка за індивідуальне завдання /зарахування усіх практичних робіт/ семестровий рейтинг більше 30 балів.
Таблиця відповідності рейтингових балів оцінкам за університетською шкалою:
Кількість балів | Оцінка |
100-95 | Відмінно |
94-85 | Дуже добре |
84-75 | Добре |
74-65 | Задовільно |
64-60 | Достатньо |
Менше 60 | Незадовільно |
Не виконані умови допуску | Не допущено |
Додаткова інформація з дисципліни (освітнього компонента)
можливість зарахування сертифікатів проходження дистанційних чи онлайн курсів за тематикою дисципліни «Новітні програмно-технічні засоби проектування інформаційних систем»;
інша інформація для аспірантів щодо особливостей опанування навчальної дисципліни:
Застосовуються стратегії активного і колективного навчання, які визначаються наступними методами і технологіями:
1) кредитно-модульна технологія навчання;
2) особистісно-орієнтовані (розвиваючі) технології, засновані на активних формах і методах навчання ( «аналіз ситуацій» ділові, імітаційні ігри, дискусія, експрес-конференція, навчальні дебати.);
3) інформаційно-комунікаційні технології, що забезпечують проблемно-дослідницький характер процесу навчання та активізацію самостійної роботи аспірантів (електронні презентації для лекційних занять, використання аудіо-, відео-підтримки навчальних занять, розробка і застосування на основі комп'ютерних і мультимедійних засобів творчих завдань, доповнення традиційних навчальних занять засобами взаємодії на основі мережевих комунікаційних можливостей).
Робочу програму навчальної дисципліни (силабус):
Складено доцентом кафедри ІСТ, д.т.н., доцентом Дорогий Ярославом Юрійовичем.
Ухвалено: кафедрою ІСТ (протокол № 21 від 29.06.2023 р.)
Погоджено: Методичною комісією факультету[1] (протокол № 11 від 29.06.2023 р.)
[1] Методичною радою університету– для загальноуніверситетських дисциплін.