Оптимізаційні методи в інженерії програмного забезпечення
Спеціальність: Інженерія програмного забезпечення
Код дисципліни: 7.121.01.E.017
Кількість кредитів: 6.00
Кафедра: Програмне забезпечення
Лектор: Професор Базилевич Роман Петрович
Семестр: 2 семестр
Форма навчання: денна
Завдання: ІНТ. Здатність ефективно розв’язувати спеціалізовані задачі та практичні проблеми інноваційного характеру під час професійної діяльності, пов’язаної зі всіма аспектами виробництва програмного забезпечення від початкових стадій створення специфікації до супроводу системи після здачі в експлуатацію.
ФКС2.3. Володіння поглибленими знаннями і вміннями
ефективної організації обчислень у комп’ютерних системах й
методології оптимізації продуктивності програмного
забезпечення.
Результати навчання: РНС2.4. Вміти застосовувати методи лінійного, нелінійного програмування, дискретної оптимізації, метаевристик, меметики, поведінки живих організмів та інших на всіх етапах інженерії програмного забезпечення.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Пререквізити: Методи та засоби наукових досліджень в інженерії програмного забезпечення
Кореквізити: Виконання та захист магістерської кваліфікаційної роботи
Короткий зміст навчальної програми: Дисципліна необхідна для отримання загальних та фахових компетентностей в напрямі оптимізаційних методів, алгоритмів в інженерії програмного забезпечення. Вивчаються алгоритми розв’язування важковирішуваних задач дискретної оптимізації: пожадливі алгоритми, гілок та границь, найближчого сусіда, моделювання відпалу, забороненого пошуку, еволюційні, нейромережеві, колективної поведінки, імунні, меметичні, гібридні, поведінки живих організмів, що використовуються на етапах інженерії вимог до програмного продукту, проектування програмних систем, розроблення коду, тестування, верифікації, атестації та супроводу ПЗ.
Опис: Фундаментальні поняття і визначення основ оптимізаційних методів. Критерії оптимізації.
Оптимізаційні методи організації обчислювальних процесів при розв’язувані задач в інженерії ПЗ. Стан та сучасні інноваційні тренди в розробленні та тестуванні ПЗ. Декомпозиція, агрегатування та макромоделювання. Багаторівнева декомпозиція.
Формулювання поліноміальних та неполіноміальних проблем. Поліноміальні задачі. Недетерміновані алгоритми. Неполіноміальні задачі. NP - повні проблеми. Шляхи подолання труднощів при розв’язувані неполіноміальних проблем високої розмірності: багаторівнева декомпозиція, ієрархічна кластеризація.
Методи та алгоритми лінійного, нелінійного програмування та дискретної оптимізації: пожадливі алгоритми, гілок та границь, найближчого сусіда, моделювання відпалу, еволюційні, нейромережеві, імунні, поведінки живих організмів, в тому числі колективної та індивідуальної, меметичні, гібридні.
Застосування методів для оцінки вартості розроблення програмних продуктів (СОСОМО1, СОСОМО2, нейромережеві, нечіткої логіки, функціональних точок, поведінки живих організмів).
Застосування оптимізаційних методів на етапах інженерії вимог до програмного продукту, проектування програмних систем та розроблення програмного коду, верифікації, атестації, тестування та супроводу програмного забезпечення.
Методи та критерії оцінювання: 1. Опрацювання наукових статей та їх презентація.
2. Участь в обговоренні матеріалів лекцій та статей.
4. Захист лабораторних робіт.
5. Екзаменаційний контроль (письмова компонента, усна компонента).
Критерії оцінювання результатів навчання: Поточний контроль: 50% (виступ з презентацією – 15%, лабораторні роботи – 30% (5 лабораторних робіт по 6% кожна), участь в дискусіях на заняттях 5%)
Екзаменаційний контроль: 50% (письмова компонента 40%, усна компонента 10%)
Порядок та критерії виставляння балів та оцінок: 100-88 балів - атестований з оцінкою «відмінно» - Високий рівень: здобувач освіти демонструє поглиблене володіння поняттєвим та категорійним апаратом навчальної дисципліни, системні знання, вміння і навички їх практичного застосування. Освоєні знання, вміння і навички забезпечують можливість самостійного формулювання цілей та організації навчальної діяльності, пошуку та знаходження рішень у нестандартних, нетипових навчальних і професійних ситуаціях. Здобувач освіти демонструє здатність робити узагальнення на основі критичного аналізу фактичного матеріалу, ідей, теорій і концепцій, формулювати на їх основі висновки. Його діяльності ґрунтується на зацікавленості та мотивації до саморозвитку, неперервного професійного розвитку, самостійної науково-дослідної діяльності, що реалізується за підтримки та під керівництвом викладача. 87-71 балів - атестований з оцінкою «добре» - Достатній рівень: передбачає володіння поняттєвим та категорійним апаратом навчальної дисципліни на підвищеному рівні, усвідомлене використання знань, умінь і навичок з метою розкриття суті питання. Володіння частково-структурованим комплексом знань забезпечує можливість їх застосування у знайомих ситуаціях освітнього та професійного характеру. Усвідомлюючи специфіку задач та навчальних ситуацій, здобувач освіти демонструє здатність здійснювати пошук та вибір їх розв’язання за поданим зразком, аргументувати застосування певного способу розв’язання задачі. Його діяльності ґрунтується на зацікавленості та мотивації до саморозвитку, неперервного професійного розвитку. 70-50 балів - атестований з оцінкою «задовільно» - Задовільний рівень: окреслює володіння поняттєвим та категорійним апаратом навчальної дисципліни на середньому рівні, часткове усвідомлення навчальних і професійних задач, завдань і ситуацій, знання про способи розв’язання типових задач і завдань. Здобувач освіти демонструє середній рівень умінь і навичок застосування знань на практиці, а розв’язання задач потребує допомоги, опори на зразок. В основу навчальної діяльності покладено ситуативність та евристичність, домінування мотивів обов’язку, неусвідомлене застосування можливостей для саморозвитку. 49-00 балів - атестований з оцінкою «незадовільно» - Незадовільний рівень: свідчить про елементарне володіння поняттєвим та категорійним апаратом навчальної дисципліни, загальне уявлення про зміст навчального матеріалу, часткове використання знань, умінь і навичок. В основу навчальної діяльності покладено ситуативно-прагматичний інтерес.
Рекомендована література: 1. Harman M., Mansouri, S.A., Zhang, Y. Search-based software engineering: Trends, techniques and applications. ACM Computing Surveys 45(1), 11, 2012, pp.11:1-61.
2. Harman M. The Current State and Future of Search Based Software Engineering. FOSE '07 2007 Future of Software Engineering. Pp. 342-357. IEEE Computer Society Washington, DC, doi>10.1109/FOSE.2007.29. www0.cs.ucl.ac.uk/staff/mharman/icse07.ps.
3. Hifza Afaq, and Sanjay Saini. Swarm Intelligence based Soft Computing Techniques for the Solutions to Multiobjective Optimization Problems. IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 3, No. 2, May 2011. www.IJCSI.org 498 .
4. Mark Harman and Afshin Mansouri. Search Based Software Engineering: Introduction to the Special Issue of the IEEE Transactions on Software Engineering. IEEE transactions on software engineering, vol. 36, no. 6, november/december 2010.
5. Mark Harman. 2013. Software engineering: an ideal set of challenges for evolutionary computation. In Proceedings of the 15th annual conference companion on Genetic and evolutionary computation (GECCO '13 Companion), Christian Blum (Ed.). ACM, New York, NY, USA, 1759-1760. DOI: https://doi.org/10.1145/2464576.2480770.
6. McMinn. Search-Based Software Testing Past, Present and Future. 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops.
7. Changhai Nie, Huayao Wu, Yalan Liang, Hareton Leung, Fei-Ching Kuo, Zheng Li, "Search Based Combinatorial Testing", Software Engineering Conference (APSEC) 2012 19th Asia-Pacific, vol. 1, pp. 778-783, 2012. View Article Full Text: PDF (205KB) Google Scholar.
8. 2. Bogdan Marculescu, Robert Feldt, Richard Torkar, "Practitioner-Oriented Visualization in an Interactive Search-Based Software Test Creation Tool", Software Engineering Conference (APSEC) 2013 20th Asia-Pacific, vol. 2, pp. 87-92, 2013.
9. Christian Blum and Andrea Roli. 2003. Metaheuristics in combinatorial optimization: Overview and conceptual comparison. ACM Comput. Surv. 35, 3 (September 2003), 268-308. DOI: https://doi.org/10.1145/937503.937505.
10. Edmund K. Burke and Graham Kendall. 2013. Search Methodologies: Introductory Tutorials in Optimization and Decision Support Techniques (2nd ed.). Springer Publishing Company, Incorporated.
11. Bazylevych R., Bazylevych*** L., Wrzesien*** M. A set of nets planarization for electronic devices’ physical design automation // Комп’ютерні науки та інформа-ційні технології : матеріали XV Міжнародної науково-технічної конференції CSIT-2020 (Збараж, 23–26 вересня 2020 р.). – 2020. – C. 192–195. 0,18 ум.д.ар. (За іншою тематикою) (SciVerse SCOPUS).
12. Bazylevych R., Czarnul*** P., Franko** A. Unit test generation in a cluster using parallel computations and contro flow graph analysis // Комп’ютерні науки та інфо-рмаційні технології : матеріали XV Міжнародної науково-технічної конферен-ції CSIT-2020 (Збараж, 23–26 вересня 2020 р.). – 2020. – C. 407–410. 0,4 ум.д.ар. [н.к. – Базилевич Р.П.] (SciVerse SCOPUS).
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою:
вул. Карпінського, 2/4, І-й н.к., кімн. 112
E-mail: nolimits@lpnu.ua
Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).