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

Спеціальність: Комп'ютерні системи та мережі
Код дисципліни: 7.123.01.O.009
Кількість кредитів: 5.00
Кафедра: Електронні обчислювальні машини
Лектор: д.ф., Гаваньо Б.І.
Семестр: 2 семестр
Форма навчання: денна
Мета вивчення дисципліни: Виробити у студентів систематизоване уявлення про концепції, методи та засоби проектування та дослідження програмних систем. Ознайомити студентів із сучасними засобами дослідження та проектування програмних систем та надати їм можливість отримати практичні навички із застосування цих засобів.
Завдання: Здатність розв’язувати складні спеціалізовані задачі та практичні проблеми під час професійної діяльності у галузі інформаційних технологій або у процесі навчання, що передбачає застосування теорій та методів комп’ютерної інженерії і характеризуються комплексністю та невизначеністю умов. ЗК2. Здатність до абстрактного мислення, аналізу і синтезу. ЗК3. Здатність проводити дослідження на відповідному рівні. ЗК7. Здатність приймати обґрунтовані рішення. СК1. Здатність до визначення технічних характеристик, конструктивних особливостей, застосування і експлуатації програмних, програмно-технічних засобів, комп’ютерних систем та мереж різного призначення. СК2. Здатність розробляти алгоритмічне та програмне забезпечення, компоненти комп’ютерних систем та мереж, Інтернет додатків, кіберфізичних систем з використанням сучасних методів і мов програмування, а також засобів і систем автоматизації проектування. СК5. Здатність будувати архітектуру та створювати системне і прикладне програмне забезпечення комп’ютерних систем та мереж. СК8. Здатність забезпечувати якість продуктів і сервісів інформаційних технологій на протязі їх життєвого циклу.
Результати навчання: РН1. Застосовувати загальні підходи пізнання, методи математики, природничих та інженерних наук до розв’язання складних задач комп’ютерної інженерії. РН4. Застосовувати спеціалізовані концептуальні знання, що включають сучасні наукові здобутки у сфері комп’ютерної інженерії, необхідні для професійної діяльності, оригінального мислення та проведення досліджень, критичного осмислення проблем інформаційних технологій та на межі галузей знань. РН6. Аналізувати проблематику, ідентифікувати та формулювати конкретні проблеми, що потребують вирішення, обирати ефективні методи їх вирішення. РН8. Застосовувати знання технічних характеристик, конструктивних особливостей, призначення і правил експлуатації програмно-технічних засобів комп’ютерних систем та мереж для вирішення складних задач комп’ютерної інженерії та дотичних проблем. РН9. Розробляти програмне забезпечення для вбудованих і розподілених застосувань, мобільних і гібридних систем.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Об’єктно-орієнтоване програмування, Комп’ютерні системи, Дослідження і проектування комп’ютерних систем та мереж.
Короткий зміст навчальної програми: Отримання завдання та його аналіз. Побудова діаграми варіантів використання у відповідності із завданням. Визначення переліку діаграм ,необхідних для повного представлення структури проекту, який розробляється, та їх побудова. Визначення засобів, необхідних для реалізації проекту.
Опис: ОСНОВНІ ПОНЯТТЯ ТЕХНОЛОГІЇ ПРОЕКТУВАННЯ ПС. Тенденції розвитку інформаційних технологій. Поняття програмної системи. . Етапи розвитку програмних систем. Порівняння ПС з традиційними програмними продуктами. Класифікація програмних систем. Сфери застосування і приклади реалізації ПС МЕТОДОЛОГІЇ І ТЕХНОЛОГІЇ РОЗРОБКИ ПС Організація процесу розробки. Життєвий цикл програмного забезпечення ПС. Моделі життєвого циклу ПС. ТЕХНОЛОГІЇ СТВОРЕННЯ ПС Канонічне проектування ПС. Уніфікований процес Rational. Екстремальне програмування (ХР-процес). Scrum методологія. УПРАВЛІННЯ ПРОЕКТОМ ПРИ РОЗРОБЦІ ПС Основні поняття управління проектом. Планування програмного проекту. Управління персоналом. Процес розробки. Прогнозуюче і адаптивне планування. Вибір процесу розробки. Налаштування UML під процес. Управління конфігурацією. ОСНОВНІ ВІДОМОСТІ ПРО МОВУ UML Поняття UML. Призначення UML. Модель і її елементи. Загальні діаграми. Спеціальні діаграми. Моделі і їх представлення. ПРАКТИКА ЗАСТОСУВАННЯ UML Рівні моделювання. Практика застосування елементів UML. Вплив UML на процес розробки. ОГЛЯД CASE-ЗАСОБІВ ДЛЯ ПОБУДОВИ ДІАГРАМ UML IBM Rational Rose. Borland Together. Microsoft Visio. StarUML, Dia, Draw.io. Основні відомості про CASE-засоби Rational Rose. ЗАСТОСУВАННЯ СТРУКТУРНОГО ПІДХОДУ В АНАЛІЗІ ВИМОГ І ВИЗНАЧЕННІ СПЕЦИФІКАЦІЙ ПЗ Основні відомості. Діаграми переходів станів. Функціональні діаграми. Діаграми потоків даних. Діаграма «сутність-зв’язок». ПРОЕКТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ПРИ СТРУКТУРНОМУ ПІДХОДІ Структурна схема. Функціональна схема. ОБ’ЄКТНО-ОРІЄНТОВАНА РОЗРОБКА ВИМОГ Моделювання предметної області. Формування та аналіз вимог. Формування вимог за допомогою діаграми Use Case. Аналіз вимог за допомогою діаграм діяльності. Аналіз вимог за допомогою діаграм взаємодії. Принципи моделювання структури. Архітектурне проектування. Детальне проектування. Розгортання програмної системи на апаратних засобах. МОДЕЛЮВАННЯ ПОВЕДІНКИ СИСТЕМИ Модель поведінки. Діаграма кінцевого автомата. Дії в станах. Умовні переходи. Композитні (складені) стани. Псевдостани управління. Застосування діаграм кінцевих автоматів. Діаграми діяльності. Діаграми взаємодії.
Методи та критерії оцінювання: Оцінювання здійснюється за результатами виконання лекційних та семестрового тесту у віртуальному навчальному середовищі університету, а також за результатами виконання лабораторних робіт.
Критерії оцінювання результатів навчання: Максимальна оцінка в балах Поточний контроль (ПК) Лаб. роботи 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.01.O.011
Кількість кредитів: 2.00
Кафедра: Електронні обчислювальні машини
Лектор: д.ф., Гаваньо Б.І.
Семестр: 2 семестр
Форма навчання: денна
Мета вивчення дисципліни: Виробити у студентів систематизоване уявлення про концепції, методи та засоби проектування та дослідження програмних систем. Ознайомити студентів із сучасними засобами дослідження та проектування програмних систем та надати їм можливість отримати практичні навички із застосування цих засобів.
Завдання: Здатність розв’язувати складні спеціалізовані задачі та практичні проблеми під час професійної діяльності у галузі інформаційних технологій або у процесі навчання, що передбачає застосування теорій та методів комп’ютерної інженерії і характеризуються комплексністю та невизначеністю умов. ЗК2. Здатність до абстрактного мислення, аналізу і синтезу. ЗК3. Здатність проводити дослідження на відповідному рівні. ЗК7. Здатність приймати обґрунтовані рішення. СК1. Здатність до визначення технічних характеристик, конструктивних особливостей, застосування і експлуатації програмних, програмно-технічних засобів, комп’ютерних систем та мереж різного призначення. СК2. Здатність розробляти алгоритмічне та програмне забезпечення, компоненти комп’ютерних систем та мереж, Інтернет додатків, кіберфізичних систем з використанням сучасних методів і мов програмування, а також засобів і систем автоматизації проектування. СК5. Здатність будувати архітектуру та створювати системне і прикладне програмне забезпечення комп’ютерних систем та мереж. СК8. Здатність забезпечувати якість продуктів і сервісів інформаційних технологій на протязі їх життєвого циклу.
Результати навчання: РН1. Застосовувати загальні підходи пізнання, методи математики, природничих та інженерних наук до розв’язання складних задач комп’ютерної інженерії. РН4. Застосовувати спеціалізовані концептуальні знання, що включають сучасні наукові здобутки у сфері комп’ютерної інженерії, необхідні для професійної діяльності, оригінального мислення та проведення досліджень, критичного осмислення проблем інформаційних технологій та на межі галузей знань. РН6. Аналізувати проблематику, ідентифікувати та формулювати конкретні проблеми, що потребують вирішення, обирати ефективні методи їх вирішення. РН8. Застосовувати знання технічних характеристик, конструктивних особливостей, призначення і правил експлуатації програмно-технічних засобів комп’ютерних систем та мереж для вирішення складних задач комп’ютерної інженерії та дотичних проблем. РН9. Розробляти програмне забезпечення для вбудованих і розподілених застосувань, мобільних і гібридних систем.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Об’єктно-орієнтоване програмування, Комп’ютерні системи, Дослідження і проектування комп’ютерних систем та мереж.
Короткий зміст навчальної програми: Отримання завдання та його аналіз. Побудова діаграми варіантів використання у відповідності із завданням. Визначення переліку діаграм ,необхідних для повного представлення структури проекту, який розробляється, та їх побудова. Визначення засобів, необхідних для реалізації проекту.
Опис: ОСНОВНІ ПОНЯТТЯ ТЕХНОЛОГІЇ ПРОЕКТУВАННЯ ПС. Тенденції розвитку інформаційних технологій. Поняття програмної системи. . Етапи розвитку програмних систем. Порівняння ПС з традиційними програмними продуктами. Класифікація програмних систем. Сфери застосування і приклади реалізації ПС МЕТОДОЛОГІЇ І ТЕХНОЛОГІЇ РОЗРОБКИ ПС Організація процесу розробки. Життєвий цикл програмного забезпечення ПС. Моделі життєвого циклу ПС. ТЕХНОЛОГІЇ СТВОРЕННЯ ПС Канонічне проектування ПС. Уніфікований процес Rational. Екстремальне програмування (ХР-процес). Scrum методологія. УПРАВЛІННЯ ПРОЕКТОМ ПРИ РОЗРОБЦІ ПС Основні поняття управління проектом. Планування програмного проекту. Управління персоналом. Процес розробки. Прогнозуюче і адаптивне планування. Вибір процесу розробки. Налаштування UML під процес. Управління конфігурацією. ОСНОВНІ ВІДОМОСТІ ПРО МОВУ UML Поняття UML. Призначення UML. Модель і її елементи. Загальні діаграми. Спеціальні діаграми. Моделі і їх представлення. ПРАКТИКА ЗАСТОСУВАННЯ UML Рівні моделювання. Практика застосування елементів UML. Вплив UML на процес розробки. ОГЛЯД CASE-ЗАСОБІВ ДЛЯ ПОБУДОВИ ДІАГРАМ UML IBM Rational Rose. Borland Together. Microsoft Visio. StarUML, Dia, Draw.io. Основні відомості про CASE-засоби Rational Rose. ЗАСТОСУВАННЯ СТРУКТУРНОГО ПІДХОДУ В АНАЛІЗІ ВИМОГ І ВИЗНАЧЕННІ СПЕЦИФІКАЦІЙ ПЗ Основні відомості. Діаграми переходів станів. Функціональні діаграми. Діаграми потоків даних. Діаграма «сутність-зв’язок». ПРОЕКТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ПРИ СТРУКТУРНОМУ ПІДХОДІ Структурна схема. Функціональна схема. ОБ’ЄКТНО-ОРІЄНТОВАНА РОЗРОБКА ВИМОГ Моделювання предметної області. Формування та аналіз вимог. Формування вимог за допомогою діаграми Use Case. Аналіз вимог за допомогою діаграм діяльності. Аналіз вимог за допомогою діаграм взаємодії. Принципи моделювання структури. Архітектурне проектування. Детальне проектування. Розгортання програмної системи на апаратних засобах. МОДЕЛЮВАННЯ ПОВЕДІНКИ СИСТЕМИ Модель поведінки. Діаграма кінцевого автомата. Дії в станах. Умовні переходи. Композитні (складені) стани. Псевдостани управління. Застосування діаграм кінцевих автоматів. Діаграми діяльності. Діаграми взаємодії.
Методи та критерії оцінювання: Оцінювання здійснюється за результатами виконання курсового проекту, його оформлення та захисту.
Критерії оцінювання результатів навчання: Фактична кількість балів за кожним із параметрів курсової роботи визначається шляхом знаходження відсоткової частки від максимальної кількості балів: – 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).