Дослідження і проєктування програмних систем

Спеціальність: Системне програмування
Код дисципліни: 7.123.02.O.009
Кількість кредитів: 5.00
Кафедра: Електронні обчислювальні машини
Лектор: д.ф., Гаваньо Б.І.
Семестр: 2 семестр
Форма навчання: денна
Мета вивчення дисципліни: Виробити у студентів систематизоване уявлення про концепції, методи та засоби проектування та дослідження програмних систем. Ознайомити студентів із сучасними засобами дослідження та проектування програмних систем та надати їм можливість отримати практичні навички із застосування цих засобів.
Завдання: Здатність розв’язувати складні спеціалізовані задачі та практичні проблеми під час професійної діяльності у галузі інформаційних технологій або у процесі навчання, що передбачає застосування теорій та методів комп’ютерної інженерії і характеризуються комплексністю та невизначеністю умов. ЗК2. Здатність до абстрактного мислення, аналізу і синтезу. ЗК3. Здатність проводити дослідження на відповідному рівні. ЗК7. Здатність приймати обґрунтовані рішення. СК1. Здатність до визначення технічних характеристик, конструктивних особливостей, застосування і експлуатації програмних, програмно-технічних засобів, комп’ютерних систем та мереж різного призначення. СК2. Здатність розробляти алгоритмічне та програмне забезпечення, компоненти комп’ютерних систем та мереж, Інтернет додатків, кіберфізичних систем з використанням сучасних методів і мов програмування, а також засобів і систем автоматизації проектування. СК5. Здатність будувати архітектуру та створювати системне і прикладне програмне забезпечення комп’ютерних систем та мереж. СК8. Здатність забезпечувати якість продуктів і сервісів інформаційних технологій на протязі їх життєвого циклу.
Результати навчання: РН1. Застосовувати загальні підходи пізнання, методи математики, природничих та інженерних наук до розв’язання складних задач комп’ютерної інженерії. РН4. Застосовувати спеціалізовані концептуальні знання, що включають сучасні наукові здобутки у сфері комп’ютерної інженерії, необхідні для професійної діяльності, оригінального мислення та проведення досліджень, критичного осмислення проблем інформаційних технологій та на межі галузей знань. РН6. Аналізувати проблематику, ідентифікувати та формулювати конкретні проблеми, що потребують вирішення, обирати ефективні методи їх вирішення. РН8. Застосовувати знання технічних характеристик, конструктивних особливостей, призначення і правил експлуатації програмно-технічних засобів комп’ютерних систем та мереж для вирішення складних задач комп’ютерної інженерії та дотичних проблем. РН9. Розробляти програмне забезпечення для вбудованих і розподілених застосувань, мобільних і гібридних систем.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Об’єктно-орієнтоване програмування, Комп’ютерні системи, Дослідження і проектування комп’ютерних систем та мереж.
Короткий зміст навчальної програми: Отримання завдання та його аналіз. Побудова діаграми варіантів використання у відповідності із завданням. Визначення переліку діаграм ,необхідних для повного представлення структури проекту, який розробляється, та їх побудова. Визначення засобів, необхідних для реалізації проекту.
Опис: Методологія ООП. Основні принципи ООП. Методологія ООАП ( об’єктно- орієнтованого аналізу та проектування). Засоби дослідження і проектування програмних систем. Мова проектування UML. Її призначення. Розвиток мови UML. Основні засоби та загальна структура мови UML. Пакети в мові UML. Структура пакетів. Діаграми в мові UML. Інтегрована модель складної системи. Рекомендації щодо графічного представлення діаграм. Діаграма варіантів використання (ДВВ). Варіанти використання. Актори. Відношення. Рекомендації з розробки ДВВ. Діаграми класів. Клас. Відношення між класами. Об’єкти. Шаблони або параметризовані класи. Діаграма станів. Автомати. Переходи. Складний стан та підстани. Діаграма діяльності. Стан дії. Переходи. Доріжки. Діаграма послідовності. Лінія життя. Фокус керування. Повідомлення. Розгалуження потоку керування. Діаграма кооперації. Кооперації. Об’єкти. Зв’язки. Діаграма компонентів .Компоненти. Інтерфейси. Залежності. . Діаграма розгортання. Вузол. З’єднання.Зразки та каркаси. Механізми. Системи та моделі. Структуровані системи та моделі. Особливості реалізації UML.
Методи та критерії оцінювання: Оцінювання здійснюється за результатами виконання лекційних та семестрового тесту у віртуальному навчальному середовищі університету, а також за результатами виконання лабораторних робіт.
Критерії оцінювання результатів навчання: Максимальна оцінка в балах Поточний контроль (ПК) Лаб. роботи 30 Разом за ПК 30 Екзаменаційний контроль письмова компонента 60 усна компонента 10 Разом за дисципліну 100
Порядок та критерії виставляння балів та оцінок: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 – 50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: 1. Стівен Ф. Лотт, Mastering Object-oriented Python, 2014. 2. Ерік Еванс, Предметно-орієнтоване проектування (DDD): структуризація складних програмних систем, 2017р. 3. Ірина Бородкіна, Георгій Бородкин, Книга Інженерія програмного забезпечення. Посібник для студентів вищих навчальних закладів, 2018р. 4. Ambler. S. W. Agile Database Techniques: Effective Strategies for the Agile Software Develo per.John Wiley & Sons, 2003. – 416 рр. 5. Stanislaw Wrycza, Bartosz Marcinkowski. Towards a Light Version of UML2.X: Appraisal and Model, 2007.
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).

Дослідження і проєктування програмних систем (курсова робота)

Спеціальність: Системне програмування
Код дисципліни: 7.123.02.O.011
Кількість кредитів: 2.00
Кафедра: Електронні обчислювальні машини
Лектор: д.ф., Гаваньо Б.І.
Семестр: 2 семестр
Форма навчання: денна
Мета вивчення дисципліни: Виробити у студентів систематизоване уявлення про концепції, методи та засоби проектування та дослідження програмних систем. Ознайомити студентів із сучасними засобами дослідження та проектування програмних систем та надати їм можливість отримати практичні навички із застосування цих засобів.
Завдання: Здатність розв’язувати складні спеціалізовані задачі та практичні проблеми під час професійної діяльності у галузі інформаційних технологій або у процесі навчання, що передбачає застосування теорій та методів комп’ютерної інженерії і характеризуються комплексністю та невизначеністю умов. ЗК2. Здатність до абстрактного мислення, аналізу і синтезу. ЗК3. Здатність проводити дослідження на відповідному рівні. ЗК7. Здатність приймати обґрунтовані рішення. СК1. Здатність до визначення технічних характеристик, конструктивних особливостей, застосування і експлуатації програмних, програмно-технічних засобів, комп’ютерних систем та мереж різного призначення. СК2. Здатність розробляти алгоритмічне та програмне забезпечення, компоненти комп’ютерних систем та мереж, Інтернет додатків, кіберфізичних систем з використанням сучасних методів і мов програмування, а також засобів і систем автоматизації проектування. СК5. Здатність будувати архітектуру та створювати системне і прикладне програмне забезпечення комп’ютерних систем та мереж. СК8. Здатність забезпечувати якість продуктів і сервісів інформаційних технологій на протязі їх життєвого циклу.
Результати навчання: РН1. Застосовувати загальні підходи пізнання, методи математики, природничих та інженерних наук до розв’язання складних задач комп’ютерної інженерії. РН4. Застосовувати спеціалізовані концептуальні знання, що включають сучасні наукові здобутки у сфері комп’ютерної інженерії, необхідні для професійної діяльності, оригінального мислення та проведення досліджень, критичного осмислення проблем інформаційних технологій та на межі галузей знань. РН6. Аналізувати проблематику, ідентифікувати та формулювати конкретні проблеми, що потребують вирішення, обирати ефективні методи їх вирішення. РН8. Застосовувати знання технічних характеристик, конструктивних особливостей, призначення і правил експлуатації програмно-технічних засобів комп’ютерних систем та мереж для вирішення складних задач комп’ютерної інженерії та дотичних проблем. РН9. Розробляти програмне забезпечення для вбудованих і розподілених застосувань, мобільних і гібридних систем.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Об’єктно-орієнтоване програмування, Комп’ютерні системи, Дослідження і проектування комп’ютерних систем та мереж.
Короткий зміст навчальної програми: Отримання завдання та його аналіз. Побудова діаграми варіантів використання у відповідності із завданням. Визначення переліку діаграм ,необхідних для повного представлення структури проекту, який розробляється, та їх побудова. Визначення засобів, необхідних для реалізації проекту.
Опис: Методологія ООП. Основні принципи ООП. Методологія ООАП ( об’єктно- орієнтованого аналізу та проектування). Засоби дослідження і проектування програмних систем. Мова проектування UML. Її призначення. Розвиток мови UML. Основні засоби та загальна структура мови UML. Пакети в мові UML. Структура пакетів. Діаграми в мові UML. Інтегрована модель складної системи. Рекомендації щодо графічного представлення діаграм. Діаграма варіантів використання (ДВВ). Варіанти використання. Актори. Відношення. Рекомендації з розробки ДВВ. Діаграми класів. Клас. Відношення між класами. Об’єкти. Шаблони або параметризовані класи. Діаграма станів. Автомати. Переходи. Складний стан та підстани. Діаграма діяльності. Стан дії. Переходи. Доріжки. Діаграма послідовності. Лінія життя. Фокус керування. Повідомлення. Розгалуження потоку керування. Діаграма кооперації. Кооперації. Об’єкти. Зв’язки. Діаграма компонентів .Компоненти. Інтерфейси. Залежності. . Діаграма розгортання. Вузол. З’єднання.Зразки та каркаси. Механізми. Системи та моделі. Структуровані системи та моделі. Особливості реалізації UML.
Методи та критерії оцінювання: Оцінювання здійснюється за результатами виконання курсового проекту, його оформлення та захисту.
Критерії оцінювання результатів навчання: Фактична кількість балів за кожним із параметрів курсової роботи визначається шляхом знаходження відсоткової частки від максимальної кількості балів: – 100%, якщо студент вміє творчо мислити, узагальнювати вивчений матеріал, використовує для цього теоретичні положення і конкретні параметри, чітко, вичерпно, глибоко розуміє і знає матеріал і вміє їм користуватися в межах вимог програми курсу, вміє вести співбесіду з членами комісії, при відповідях на навідні і додаткові питання самостійно виправляє окремі допущені неточності, якісно й у повному обсязі виконав розрахункові і графічні роботи, що входять у курсову роботу. – 70%, коли за перерахованими показниками є окремі несуттєві недоліки, наприклад, чіткість і повнота звітів не цілком достатні, маються дрібні недоліки в розрахунках і конструкторській документації, деяка недбалість оформлення тощо; 24 – 30%, при наявності істотних недоліків за перерахованими показниками, що студент самостійно виправити не міг, навіть якщо окремі відповіді були гарними; – 0%, якщо студент виявив нерозуміння і незнання основного змісту курсової роботи, допустив грубі помилки в пояснювальній записці, розрахунках, у креслярській документації, не зміг правильно відповісти на питання комісії.
Порядок та критерії виставляння балів та оцінок: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 – 50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: 1. І.М.Дудзяний.Об’єктно-орієнтоване моделювання програмних систем. – Львів: Видавництво ЛНУ, 2007 – 108 с. 2. Паул Генгсен. Підручник з UmbrelloUML Modeller. Переклад Юрій Чорноіван. Docs.kde.org. – 2014. -37c. 3. Гради Буч, Джеймс Ромбо, Ивар Якобсон. Введение в UML. ДМК Пресс, 2015 – 496 с. 4. Литвинов В.В., Голуб С.В. Об’єктно-орієнтоване моделювання при проектуванні вбудованих систем і систем реального часу. – Черкаси: ЧНУ ім. Богдана Хмельницького, 2011. – 376 с. 5. Ambler. S. W. Agile Database Techniques: Effective Strategies for the Agile Software Develo per.John Wiley & Sons, 2003. – 416 рр. 6. Stanislaw Wrycza, Bartosz Marcinkowski. Towards a Light Version of UML2.X: Appraisal and Model, 2007.
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).