Програмні платформи інформаційно-комунікаційних систем
Спеціальність: Інформаційно-комунікаційні системи
Код дисципліни: 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).