Програмні платформи інформаційно-комунікаційних систем

Спеціальність: Інформаційно-комунікаційні системи
Код дисципліни: 6.126.02.E.058
Кількість кредитів: 5.00
Кафедра: Телекомунікації
Лектор: д.т.н., доц. Демидов І.В.
Семестр: 5 семестр
Форма навчання: денна
Мета вивчення дисципліни: Метою викладання дисципліни є підготовка студентів до розроблення (програмування) та підтримки програмних платформ розподілених інформаційно-комунікаційних систем та мереж, з урахуванням аспектів їх безпеки.
Завдання: Вивчення навчальної дисципліни передбачає формування у здобувачів освіти компетентностей: інтегральна - здатність розв’язувати складні спеціалізовані задачі та практичні проблеми в області інформаційних систем та технологій, або в процесі навчання, що характеризуються комплексністю та невизначеністю умов, які потребують застосування теорій та методів інформаційних технологій. загальні компетентності: 1. Здатність до абстрактного мислення, аналізу та синтезу; 2. Здатність застосовувати знання у практичних ситуаціях; 3. Здатність до розуміння предметної області та професійної діяльності; 4. Здатність спілкуватися іноземною мовою; 5. Здатність до пошуку, оброблення та узагальнення інформації з різних джерел; 6. Здатність оцінювати та забезпечувати якість виконуваних робіт; 7. Здатність зберігати та примножувати моральні, культурні, наукові цінності і досягнення суспільства на основі розуміння історії та закономірностей розвитку; фахові компетентності: 1. Здатність аналізувати об’єкт проектування або функціонування та його предметну область; 2. Здатність до проектування, розробки, налагодження та вдосконалення системного, комунікаційного та програмно-апаратного забезпечення інформаційних систем та технологій, Інтернету речей (ІоТ), комп’ютерно-інтегрованих систем та системної мережної структури, управління ними; 3. Здатність проектувати, розробляти та використовувати засоби реалізації інформаційних систем, технологій та інфокомунікацій (методичні, інформаційні, алгоритмічні, технічні, програмні та інші); 4. Здатність оцінювати та враховувати економічні, соціальні, технологічні та екологічні фактори на всіх етапах життєвого циклу інфокомунікаційних систем; 5. Здатність використовувати сучасні інформаційні системи та технології (виробничі, підтримки прийняття рішень, інтелектуального аналізу даних та інші), методики й техніки кібербезпеки під час виконання функціональних завдань та обов’язків; 6. Здатність вибору, проектування, розгортання, інтегрування, управління, адміністрування та супроводжування інформаційних систем, технологій та інфокомунікацій, сервісів та інфраструктури організації; 7. Здатність вибору, проектування, розгортання, інтегрування, управління, адміністрування та супроводжування інформаційних систем, технологій та інфокомунікацій, сервісів та інфраструктури організації; 8. Здатність управляти та користуватися сучасними інформаційно-комунікаційними системами та технологіями (у тому числі такими, що базуються на використанні Інтернет); 9. Здатність проводити обчислювальні експерименти, порівнювати результати експериментальних даних і отриманих рішень.
Результати навчання: Результати навчання даної дисципліни деталізують такі програмні результати навчання: • Застосовувати знання фундаментальних і природничих наук, системного аналізу та технологій моделювання, стандартних алгоритмів та дискретного аналізу при розв’язанні задач проектування і використання інформаційних систем та технологій; • Використовувати базові знання інформатики й сучасних інформаційних систем та технологій, навички програмування, технології безпечної роботи в комп'ютерних мережах, методи створення баз даних та інтернет-ресурсів, технології розроблення алгоритмів і комп’ютерних програм мовами високого рівня із застосуванням об’єктно-орієнтованого програмування для розв’язання задач проектування і використання інформаційних систем та технологій; • Проводити системний аналіз об’єктів проектування та обґрунтовувати вибір структури, алгоритмів та способів передачі інформації в інформаційних системах та технологіях; • Аргументувати вибір програмних та технічних засобів для створення інформаційних систем та технологій на основі аналізу їх властивостей, призначення і технічних характеристик з урахуванням вимог до системи і експлуатаційних умов; мати навички налагодження та тестування програмних і технічних засобів інформаційних систем та технологій; • Демонструвати знання сучасного рівня технологій інформаційних систем, практичні навички програмування та використання прикладних і спеціалізованих комп’ютерних систем та середовищ з метою їх запровадження у професійній діяльності; • Обґрунтовувати вибір технічної структури та розробляти відповідне програмне забезпечення, що входить до складу інформаційних систем та технологій. В результаті вивчення дисципліни, фахівець повинен знати: • особливості об’єктно-орієнтованого та функціонального програмування телекомунікаційних системних платформ (інфокомунікаційних систем); • основні підходи до створення розподіленої сервісної архітектури, зокрема крос-платформної; • основи розроблення, налагодження та підтримки ефективних інфокомунікаційних програмних рішень на основі застосування мов паралельного програмування у складних розподілених інфокомунікаційних системних платформах; • мови і алгоритми програмування; операційні системи та мережні технології; комп’ютерні методи збору, оброблення, аналізу, передавання та зберігання інформації; методи і засоби розподілених систем та паралельних обчислень; • методи та засоби інформаційних технологій; технології та інструменти розроблення інформаційних систем у різних галузях економіки; • математичні методи, комп’ютерні моделі, мови моделювання та програмні інструменти для виконання практичних завдань з даної спеціальності; • інформаційні технології для розв’язування завдань класифікації, розроблення, розгортання та експлуатації різноманітних інформаційних систем і їх складових. Підготовлений фахівець повинен вміти: • обирати найбільш ефективну програмну платформу для реалізації необхідного інфокомунікаційного рішення за критеріями ефективності/надійності; • застосовувати навички паралельного програмування розподілених інфокомунікаційних платформ та крос-платформних систем; • створювати розподілені клієнт-серверні рішення інфокомунікаційного призначення; • інтегрувати неоднорідні технології системного програмування в єдиній інфокомунікаційній програмній платформі із застосуванням СУБД; • формулювати нові завдання та ідеї в області інтелектуальних інформаційних технологій, обирати належні напрями і відповідні методи для їхнього розв’язання; • застосовувати методи та засоби сучасних інформаційних технологій для проектування, розроблення та розгортання прикладних інформаційних систем в різних галузях; • застосовувати методи та засоби сучасних інформаційних технологій для моделювання, проектування та розроблення комунікаційних систем, Web-орієнтованих систем, смарт систем, сенсорних систем, вбудованих систем, мікро- /нано- систем та їх аналогів; • розгортати, адмініструвати та супроводжувати інформаційні системи на основі мережних технологій та вміння розробляти технічну документацію; • розробляти функціональні середовища з застосуванням відкритих систем, інтерфейсів прикладного програмування, прикладних програм і додатків з властивостями: розширюваності, масштабованості, інтероперабельності, інтегрованості та надійності.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Попередні навчальні дисципліни: Операційні системи; Алгоритмізація та програмування; Системне програмування. Супутні і наступні навчальні дисципліни: Web-орієнтовані інформаційні системи; Проектування підсистеми інформаційної безпеки; Практикум з розробки програмних платформ інформаційно-комунікаційних систем; Технології програмування інформаційних систем.
Короткий зміст навчальної програми: В даний час апаратні та програмні платформи і технології стрімко розвиваються, безперервно з'являються все нові і нові можливості. У той же час, існує відома тенденція до інтероперабельності (interoperability) платформ і забезпечення сумісності технологій. У межах цієї дисципліни розглядаються основні тенденції цього розвитку. Вивчивши навчальний матеріал цього курсу, студенти дізнаються або доповнять свої знання про те, які існують на сьогоднішній день основні програмні і апаратні платформи, архітектурні особливості їх реалізації; дізнаються або доповнять свої знання про основні крос платформні технології (зокрема технології CORBA, SOAP, COM/DCOM, .NET, EJB, JINI, Web-технології тощо), мову IDL, особливості прикладного використання технології Enterprise Java Beans, технології JNDI, мережного протоколу LDAP. Увесь курс побудований на основі розгляду конкретних прикладів. В межах власне лекційного курсу розглядаються наступні питання: • Основні програмні платформи і технології: основні апаратні і програмні платформи; архітектура процесора; платформи Microsoft (Windows NT / XP / ...); крос-платформні технології. • Технології: CORBA; SOAP; COM / DCOM і .NET 8; Enterprise Java Beans; JINI 10. • Web-технології; CGI-скрипти; спеціальні інтерпретовані мови скриптів. • Аплети; Сервлети. • Технологія CORBA: основи технології CORBA; архітектура CORBA. • Мова IDL: зв'язування з IDL; cтворення CORBA-систем; приклади. • Java Stored Procedures. • Додаток: словник термінів CORBA 71. • Технологія Enterprise Java Beans. Частина 1: історія і необхідність появи EJB; загальний опис архітектури EJB; сеансові компоненти; приклади. • Технологія Enterprise Java Beans. Частина 2: об'єктні компоненти; приклади; компоненти, керовані повідомленнями. • Механізм транзакцій в EJB. • Безпека в EJB. • Приклад: обмеження доступу до методів EJB. • JNDI і додатки: JNDI. Загальні зведення про JNDI. Приклад: використання JNDI для доступу до DataSource. • Загальні відомості про LDAP. Приклад: система авторизації користувачів на основі LDAP. • Особливості установлення і налаштування програмного забезпечення: установка бази даних Oracle 9i; установка Eclipse-WTP; установка XDoclet. • Безпека програмних платформ Java і .NET.
Опис: Основні програмні платформи і технології: основні апаратні і програмні платформи; архітектура процесора; платформи Microsoft (Windows NT / XP / ...); крос-платформні технології. Технології: CORBA; SOAP; COM / DCOM і .NET 8; Enterprise Java Beans; JINI 10. Web-технології. CGI-скрипти; спеціальні інтерпретовані мови скриптів. Аплети. Сервлети. Технологія CORBA: основи технології CORBA; архітектура CORBA. Мова IDL: зв'язування з IDL; cтворення CORBA-систем; приклади. Особливості застосування Java Stored Procedures. Технологія Enterprise Java Beans. Частина 1: історія і необхідність появи EJB; загальний опис архітектури EJB; сеансові компоненти; приклади. Технологія Enterprise Java Beans. Частина 2: об'єктні компоненти; приклади; компоненти, керовані повідомленнями. Механізм транзакцій в EJB. Безпека в EJB. JNDI і додатки: JNDI. Загальні відомості про JNDI. Приклад: використання JNDI для доступу до DataSource. Загальні відомості про LDAP. Приклад: система авторизації користувачів на основі LDAP. Приклади розроблення Web-додатків в J2EE і .NET Безпека програмних платформ Java і .NET.
Методи та критерії оцінювання: Під час навчання студенти виконують лабораторний практикум, що містить десятки різноманітних практично-орієнтованих завдань, розв’язання яких вимагає вагомої теоретичної підготовки відповідно до цієї програми. Оцінювання результатів виконання лабораторних робіт передбачене в якості основної форми поточного контролю. Передбачене також бліц-тестування на лекційних та лабораторних заняттях. Оцінювання результатів виконання індивідуального науково-дослідного завдання шляхом їх захисту дозволяє мотивувати студентів з метою більш якісного навчання та отримання додаткових балів. Семестровий екзаменаційний контроль проводиться в письмовій формі на основі розробленого комплекту екзаменаційних білетів, який затверджується на відповідному засіданні кафедри.
Критерії оцінювання результатів навчання: Під час навчання студенти виконують лабораторний практикум, що містить десятки різноманітних практично-орієнтованих завдань, розв’язання яких вимагає вагомої теоретичної підготовки відповідно до цієї програми. Оцінювання результатів виконання лабораторних робіт передбачене в якості основної форми поточного контролю. Передбачене також бліц-тестування на лекційних та лабораторних заняттях. Оцінювання результатів виконання індивідуального науково-дослідного завдання шляхом їх захисту дозволяє мотивувати студентів з метою більш якісного навчання та отримання додаткових балів. Семестровий екзаменаційний контроль проводиться в письмовій формі на основі розробленого комплекту екзаменаційних білетів, який затверджується на відповідному засіданні кафедри. 6. Критерії оцінювання результатів навчання студентів Максимальна оцінка в балах Поточний контроль (ПК) Екзаменаційний контроль Разом за дисципліну • Оцінювання лабораторних занять – до 25 балів; • Потокове бліц-тестування – до 10 балів; • Оцінювання індивідуального науково-дослідного завдання (захист) - до 20 балів. Разом за ПК письмова компонента усна компонента 40 45 15 100
Порядок та критерії виставляння балів та оцінок: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 – 50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: 1. Томпсон С., Чезарини Ф. Программирование в Erlang / Пер. с англ. Холомьёва А. О. - М.: ДМК Пресс, 2012. - 488 с.: ил. (Серия "Функциональное программирование"). 2. Armstrong J. Programming Erlang. Software for a Concurrent World. Dallas, TX: The Pragmatic Bookshelf, 2007. – 519 pp.: illustrated. 3. Фримен А. Pro .NET 4 Parallel Programming in C#. М.: Apress, 2010. – 328 c.: ил. 4. Neward T. Server-Based Java Programming. Grinwich: Manning, 2013. – 556 pp. 5. В.В. Кулямин. Технологии программирования. Компонентный подход. М.: Бином, 2014. – 464 с. 6. И. Соммервилл. Инженерия программного обеспечения. М.: Вильямс, 2002. 7. Г. Буч. Объектно-ориентированный анализ и проектирование с примерами приложений на C++. Второе издание. М.: Бином, СПб.: Невский диалект, 2000. 8. У. Ройс. Управление проектами по созданию программного обеспечения. М.: Лори, 2002. 9. А. Якобсон, Г. Буч, Дж. Рамбо. Унифицированный процесс разработки программного обеспечения. СПб.: Питер, 2002. 10. К. Бек. Экстремальное программирование. СПб.: Питер, 2002. 11. E. Yourdon. Modern Structured Analysis. Prentice Hall, 1988. 12. T. DeMarco. Structured Analysis and System Specification. A Yourdon Book, Yourdon Inc., NY, 1979. 13. C. Sarson, T. Gane. Structured Systems Analysis. Englewood Cliffs, NJ.: Prentice-Hall, 1979.
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).