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