Ви переглядаєте архівну версію офіційного сайту НУЛП (2005-2020р.р.). Актуальна версія: https://lpnu.ua
Програмні платформи інформаційно-комунікаційних систем
Спеціальність: Інформаційно-комунікаційні системи
Код дисципліни: 6.126.02.E.113
Кількість кредитів: 5
Кафедра: Телекомунікації
Лектор: д.т.н., доц. Демидов І.В.
Семестр: 5 семестр
Форма навчання: денна
Результати навчання:
Результати навчання даної дисципліни деталізують такі програмні результати навчання:
• Застосовувати знання фундаментальних і природничих наук, системного аналізу та технологій моделювання, стандартних алгоритмів та дискретного аналізу при розв’язанні задач проектування і використання інформаційних систем та технологій;
• Використовувати базові знання інформатики й сучасних інформаційних систем та технологій, навички програмування, технології безпечної роботи в комп'ютерних мережах, методи створення баз даних та інтернет-ресурсів, технології розроблення алгоритмів і комп’ютерних програм мовами високого рівня із застосуванням об’єктно-орієнтованого програмування для розв’язання задач проектування і використання інформаційних систем та технологій;
• Проводити системний аналіз об’єктів проектування та обґрунтовувати вибір структури, алгоритмів та способів передачі інформації в інформаційних системах та технологіях;
• Аргументувати вибір програмних та технічних засобів для створення інформаційних систем та технологій на основі аналізу їх властивостей, призначення і технічних характеристик з урахуванням вимог до системи і експлуатаційних умов; мати навички налагодження та тестування програмних і технічних засобів інформаційних систем та технологій;
• Демонструвати знання сучасного рівня технологій інформаційних систем, практичні навички програмування та використання прикладних і спеціалізованих комп’ютерних систем та середовищ з метою їх запровадження у професійній діяльності;
• Обґрунтовувати вибір технічної структури та розробляти відповідне програмне забезпечення, що входить до складу інформаційних систем та технологій.
В результаті вивчення дисципліни, фахівець повинен знати:
• особливості об’єктно-орієнтованого та функціонального програмування телекомунікаційних системних платформ (інфокомунікаційних систем);
• основні підходи до створення розподіленої сервісної архітектури, зокрема крос-платформної;
• основи розроблення, налагодження та підтримки ефективних інфокомунікаційних програмних рішень на основі застосування мов паралельного програмування у складних розподілених інфокомунікаційних системних платформах;
• мови і алгоритми програмування; операційні системи та мережні технології; комп’ютерні методи збору, оброблення, аналізу, передавання та зберігання інформації; методи і засоби розподілених систем та паралельних обчислень;
• методи та засоби інформаційних технологій; технології та інструменти розроблення інформаційних систем у різних галузях економіки;
• математичні методи, комп’ютерні моделі, мови моделювання та програмні інструменти для виконання практичних завдань з даної спеціальності;
• інформаційні технології для розв’язування завдань класифікації, розроблення, розгортання та експлуатації різноманітних інформаційних систем і їх складових.
Підготовлений фахівець повинен вміти:
• обирати найбільш ефективну програмну платформу для реалізації необхідного інфокомунікаційного рішення за критеріями ефективності/надійності;
• застосовувати навички паралельного програмування розподілених інфокомунікаційних платформ та крос-платформних систем;
• створювати розподілені клієнт-серверні рішення інфокомунікаційного призначення;
• інтегрувати неоднорідні технології системного програмування в єдиній інфокомунікаційній програмній платформі із застосуванням СУБД;
• формулювати нові завдання та ідеї в області інтелектуальних інформаційних технологій, обирати належні напрями і відповідні методи для їхнього розв’язання;
• застосовувати методи та засоби сучасних інформаційних технологій для проектування, розроблення та розгортання прикладних інформаційних систем в різних галузях;
• застосовувати методи та засоби сучасних інформаційних технологій для моделювання, проектування та розроблення комунікаційних систем, Web-орієнтованих систем, смарт систем, сенсорних систем, вбудованих систем, мікро- /нано- систем та їх аналогів;
• розгортати, адмініструвати та супроводжувати інформаційні системи на основі мережних технологій та вміння розробляти технічну документацію;
• розробляти функціональні середовища з застосуванням відкритих систем, інтерфейсів прикладного програмування, прикладних програм і додатків з властивостями: розширюваності, масштабованості, інтероперабельності, інтегрованості та надійності.
• Застосовувати знання фундаментальних і природничих наук, системного аналізу та технологій моделювання, стандартних алгоритмів та дискретного аналізу при розв’язанні задач проектування і використання інформаційних систем та технологій;
• Використовувати базові знання інформатики й сучасних інформаційних систем та технологій, навички програмування, технології безпечної роботи в комп'ютерних мережах, методи створення баз даних та інтернет-ресурсів, технології розроблення алгоритмів і комп’ютерних програм мовами високого рівня із застосуванням об’єктно-орієнтованого програмування для розв’язання задач проектування і використання інформаційних систем та технологій;
• Проводити системний аналіз об’єктів проектування та обґрунтовувати вибір структури, алгоритмів та способів передачі інформації в інформаційних системах та технологіях;
• Аргументувати вибір програмних та технічних засобів для створення інформаційних систем та технологій на основі аналізу їх властивостей, призначення і технічних характеристик з урахуванням вимог до системи і експлуатаційних умов; мати навички налагодження та тестування програмних і технічних засобів інформаційних систем та технологій;
• Демонструвати знання сучасного рівня технологій інформаційних систем, практичні навички програмування та використання прикладних і спеціалізованих комп’ютерних систем та середовищ з метою їх запровадження у професійній діяльності;
• Обґрунтовувати вибір технічної структури та розробляти відповідне програмне забезпечення, що входить до складу інформаційних систем та технологій.
В результаті вивчення дисципліни, фахівець повинен знати:
• особливості об’єктно-орієнтованого та функціонального програмування телекомунікаційних системних платформ (інфокомунікаційних систем);
• основні підходи до створення розподіленої сервісної архітектури, зокрема крос-платформної;
• основи розроблення, налагодження та підтримки ефективних інфокомунікаційних програмних рішень на основі застосування мов паралельного програмування у складних розподілених інфокомунікаційних системних платформах;
• мови і алгоритми програмування; операційні системи та мережні технології; комп’ютерні методи збору, оброблення, аналізу, передавання та зберігання інформації; методи і засоби розподілених систем та паралельних обчислень;
• методи та засоби інформаційних технологій; технології та інструменти розроблення інформаційних систем у різних галузях економіки;
• математичні методи, комп’ютерні моделі, мови моделювання та програмні інструменти для виконання практичних завдань з даної спеціальності;
• інформаційні технології для розв’язування завдань класифікації, розроблення, розгортання та експлуатації різноманітних інформаційних систем і їх складових.
Підготовлений фахівець повинен вміти:
• обирати найбільш ефективну програмну платформу для реалізації необхідного інфокомунікаційного рішення за критеріями ефективності/надійності;
• застосовувати навички паралельного програмування розподілених інфокомунікаційних платформ та крос-платформних систем;
• створювати розподілені клієнт-серверні рішення інфокомунікаційного призначення;
• інтегрувати неоднорідні технології системного програмування в єдиній інфокомунікаційній програмній платформі із застосуванням СУБД;
• формулювати нові завдання та ідеї в області інтелектуальних інформаційних технологій, обирати належні напрями і відповідні методи для їхнього розв’язання;
• застосовувати методи та засоби сучасних інформаційних технологій для проектування, розроблення та розгортання прикладних інформаційних систем в різних галузях;
• застосовувати методи та засоби сучасних інформаційних технологій для моделювання, проектування та розроблення комунікаційних систем, Web-орієнтованих систем, смарт систем, сенсорних систем, вбудованих систем, мікро- /нано- систем та їх аналогів;
• розгортати, адмініструвати та супроводжувати інформаційні системи на основі мережних технологій та вміння розробляти технічну документацію;
• розробляти функціональні середовища з застосуванням відкритих систем, інтерфейсів прикладного програмування, прикладних програм і додатків з властивостями: розширюваності, масштабованості, інтероперабельності, інтегрованості та надійності.
Необхідні обов'язкові попередні та супутні навчальні дисципліни:
Попередні навчальні дисципліни:
Операційні системи;
Алгоритмізація та програмування;
Системне програмування.
Супутні і наступні навчальні дисципліни:
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.
Рекомендована література:
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. 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.
Методи і критерії оцінювання:
Під час навчання студенти виконують лабораторний практикум, що містить десятки різноманітних практично-орієнтованих завдань, розв’язання яких вимагає вагомої теоретичної підготовки відповідно до цієї програми. Оцінювання результатів виконання лабораторних робіт передбачене в якості основної форми поточного контролю. Передбачене також бліц-тестування на лекційних та лабораторних заняттях. Оцінювання результатів виконання індивідуального науково-дослідного завдання шляхом їх захисту дозволяє мотивувати студентів з метою більш якісного навчання та отримання додаткових балів. Семестровий екзаменаційний контроль проводиться в письмовій формі на основі розробленого комплекту екзаменаційних білетів, який затверджується на відповідному засіданні кафедри.