Конструювання ПЗ
Анотація навчальної дисципліни
Мета дисципліни:
розвиток у студентів здатності застосовувати знання для рішення практичних задач, формулювати вимоги до програмного забезпечення, набуття знань та умінь у моделюванні та проектуванні на різних фазах життєвого циклу програмних продуктів, одержання знань та навичок з тестування та налагодженні модулів програмного продукту, одержання навичок у створенні програмної документації.
Завдання дисципліни:
- розвити уміння виявляти і формулювати вимоги до програмного забезпечення
- розвити уміння застосовувати моделі та технології конструювання програмного забезпечення;
- вміти застосовувати інструментальні засоби проектування;
- оволодіти практикою побудови різних моделей у процесі конструювання;
- оволодіти практикою створення інтерфейсу користувача програмних продуктів;
- оволодіти методами та практикою тестування моделей та модулів;
- оволодіти практикою застосування шаблонів конструювання програмного забезпечення;
- оволодіти технологією підвищення якості створеного програмного коду.
Основні результати навчання
Знати кодекс професійної етики, розуміти соціальну значимість та
культурні аспекти інженерії програмного забезпечення і дотримуватись їх в професійній діяльності.
Знати основні процеси, фази та ітерації життєвого циклу програмного забезпечення.
ПР04. Знати і застосовувати професійні стандарти і інші нормативно-правові документи в галузі інженерії програмного забезпечення.
Знати і застосовувати відповідні математичні поняття, методи
доменного, системного і об’єктно-орієнтованого аналізу та математичного моделювання для розробки програмного забезпечення.
Вміти вибирати та використовувати відповідні задачі методологію
створення програмного забезпечення.
Знати і застосовувати на практиці фундаментальні концепції,
парадигми і основні принципи функціонування мовних, інструментальних і обчислювальних засобів інженерії програмного забезпечення.
Вміти розробляти людино-машинний інтерфейс.
Знати та вміти використовувати методи та засоби збору,
формулювання та аналізу вимог до програмного забезпечення.
Проводити передпроєктне обстеження предметної області, системний
аналіз об'єкта проектування.
Вибирати вихідні дані для проектування, керуючись формальними
методами опису вимог та моделювання.
Застосовувати на практиці ефективні підходи щодо проектування
програмного забезпечення.
Знати і застосовувати методи розробки алгоритмів, конструювання
програмного забезпечення та структур даних і знань.
Застосовувати на практиці інструментальні програмні засоби
доменного аналізу, проектування, тестування, візуалізації,
вимірювань та документування програмного забезпечення.
Мати навички командної розробки, погодження, оформлення і
випуску всіх видів програмної документації.
Знати та вміти застосовувати інформаційні технології обробки, зберігання та передачі даних.
Знати та вміти застосовувати методи верифікації та валідації програмного забезпечення.
Знати підходи щодо оцінки та забезпечення якості програмного
забезпечення.
Вміти проводити розрахунок економічної ефективності програмних
систем.
Здатність до ефективної роботи в команді
1 тиждень Уточнення завдання.
2 тиждень Коригування документу «Бачення», побудова словника предметної області.
3 – 4 тиждні Створення моделі предметної області. Опис варіантів використання. Складання технічного завдання.
5 тиждень Визначення концептуальних класів, побудова моделі концептуальних класів.
6 – 7 тиждні Опис системних операцій, розробка діаграм взаємодії.
8 тиждень Складання специфікацій програмних класів. Побудова діаграми програмних класів.
9 тиждень Розробка коду програмних класів.
10 тиждень Розробка інтерфейсу користувачів.
11 тиждень Тестування методів класів. Розробка драйверів і заглушок.
12 тиждень Тестування окремих класів і програмного продукту.
13 тиждень Оформлення пояснювальної записки.
14 тиждень Захист курсового проекту.
Процедура оцінювання
Система оцінювання рівня навчальних досягнень ґрунтується на принципах ЄКТС та є накопичувальною.
Для забезпечення оперативного контролю за успішністю та якістю рівня навчальних досягнень здобувачів вищої освіти дисципліна поділяється на два семестрові модулі.
Першій модуль оцінюється у максимально можливі 35 балів.
Студент отримує по 5 балів за бездоганне виконання кожного з наступних етапів:
• уточнення завдання, коригування документу «Бачення», побудова словника предметної області;
• створення моделі предметної області;
• опис варіантів використання, складання технічного завдання;
• визначення концептуальних класів, побудова моделі концептуальних класів;
• опис системних операцій;
• розробка діаграм взаємодії;
• складання специфікацій програмних класів, побудова діаграми програмних класів.
Другий модуль оцінюється у максимально можливі 65 балів.
Студент отримує по 5 балів за бездоганне виконання кожного з наступних етапів:
• розробка коду програмних класів;
• розробка інтерфейсу користувачів;
• тестування методів класів. Розробка драйверів і заглушок;
• тестування окремих класів і програмного продукту.
За бездоганне оформлення пояснювальної записки студент отримує 15 балів.
За демонстрацію розробленого програмного забезпечення з пояснюванням роботи його функціоналу та особливостей використання відповідних мов програмування та інструментів розробки студент отримує 20 балів.
За презентацію вирішеного завдання з демонстрацією відповідних завданню практик інженерії програмного забезпечення студент отримує 20 балів.
Максимальна оцінка, яку може отримати здобувач за всі виконані види робіт – 100 балів.
Умови допуску до підсумкового контролю
До захисту курсового проекту (демонстрація розробленого програмного забезпечення та презентація використаних практик інженерії програмного забезпечення) допускаються здобувачі вищої освіти, які виконали всі види навчальних елементів навчальної дисципліни на не менш, ніж на 60%.
Політика освітнього процесу
Здобувач зобов’язаний своєчасно та якісно виконувати всі отримані завдання; за необхідністю з метою з’ясування всіх незрозумілих під час самостійної та індивідуальної роботи питань, відвідувати консультації викладача. Дотримуватись принципів академічної доброчесності.
Виконаний не свій варіант завдання здобувачем не оцінюється.
Робота, яка виконана після встановлених викладачем термінів, не приймається.
Відсутність здобувача на захисті курсового проекту відповідає оцінці «0».
Складання/перескладання захисту курсового проекту – за встановленим деканатом розкладом.
Під час захисту курсового проекту здійснювати телефонні дзвінки забороняється.
Заборонено використання будь-яких підручників, посібників, конспектів лекцій, шпаргалок під час проходження захисту курсового проекту з дисципліни.
Документи (файли), що додаються: Робоча програма навчальної дисципліни.
Література
1. О.Б. Кунгурцев, С.Л. Зіноватна. Об’єктно-орієнтована технологія конструювання програмних продуктів. Одеса: «Удача», 2013. – 232 с.
2. Кунгурцев О.Б., Зіноватна С.Л. Робота з вимогами до програмного забезпечення. Навчальний посібник. Одеса. «Астропринт».2019. – 232 с.
3. Табунщик Г. В. Проектування та моделювання програмного забезпечення сучасних інформаційних систем / Г. В. Табунщик, Т.І. Каплієнко, О.А. Петрова − Запоріжжя : Дике Поле, 2016. – 250 c. ISBN 978-966-2752-07-0
4. Тихонов Є. С. Навчально –методичні матеріали до вивчення дисципліни «Конструювання програмного забезпечення. JAVA» Київ 2018.- 92 с. http://www.dut.edu.ua/uploads/l_1356_40861555.pdf
5. Організація баз даних : навч. посібник / О. Г. Трофименко, Ю. В. Прокоп, Н. І. Логінова, І. М. Копитчук. 2-ге вид. виправ. і доповн. – Одеса : Фенікс, 2019. – 246 с. ISBN 978-966-928-395-5
6. Method for defining conceptual classes in the description of use cases / Kungurtsev, O., Novikova, N., Reshetnyak M., Cherepinina Ya., Gromaszek, K. & Jarykbassov, D .// Proc. SPIE 11176, Photonics Applications in Astronomy, Communications, Industry, and High-Energy Physics Experiments 2019, 1117624 (6 November 2019); doi: 10.1117/12.2537070
7. О. Kungurtsev, N. Novikova Identification of class models imperfection / // Herald of Advanced Information Technology. – Odessa, 2020 –№2. – С. 13-22, DOI: 10.15276/hait.02.2020.1
8. Авраменко А.С., Авраменко В.С., Косенюк Г.В. Тестування програмного забезпечення. Навчальний посібник. – Черкаси: ЧНУ імені Богдана Хмельницького, 2017. – 284 с.
9. Погромська Г.С. Програмні проекти: управління та розробка. Навчальнометодичний посібник / Г. С. Погромська, Н.А. Махровська. – Миколаїв. 2017. – 153 с. УДК 004.655(076.5) ББК 32.81
Методична література
1. Кунгурцев О.Б. Конспект лекцій з дисципліни «Конструювання програмного забезпечення» для студентів спеціальності 121 – Інженерія програмного забезпечення, – Одеса: ОНПУ, 2019. - 68 с. (КЛ11061)
2. Кунгурцев О.Б Методичні вказівки до практичних занять з дисципліни «Конструювання програмного забезпечення» для студентів спеціальності 121 - Інженерія програмного. – Одеса: ОНПУ, 2019. - 39 с. (МВ11063)
3. Кунгурцев О.Б Методичні вказівки до курсової роботи з дисципліни «Конструювання програмного забезпечення» для студентів спеціальності 121 – «Інженерія програмного забезпечення. - Одеса; ОНПУ, 2017. - 16 с. (МВ08562)
4. Кунгурцев О.Б Методичні вказівки до самостійної роботи студентів з дисципліни «Конструювання програмного забезпечення» для студентів спеціальності 121 – «Інженерія програмного забезпечення. - Одеса; ОНПУ, 2019. - 11 с. (МВ11065)
Додаткова література
1. Орлов С.А. Программная инженерия.Технология разработки программного обеспечения. Учебник для вузов. 5-е издание обновленное и дополненное. Издательский дом «Питер» 2018. – 640 с.
2. Черткова Е.А. Программная инженерия. Визуальное моделирование программных систем 2-е изд., испр. и доп. Учебник для вузов. Бакалавр.2017, - 169 с.
3. Лаврищева Е.М. Технология программирования и программная инженерия. Учебник для вузов. Профессиональное образованиею. 2017
4. Системная инженерия. Принциры и практика. /Александр Косяков, Уильям Н. Свит, Сэмюэль Дж. Сеймур, Стивен М. БимерДМК Пресс. 2017. - 624 с.
5. Тамре Луиза. Тестирование программного обеспечения. Вильямс, 2017. – 368 с.
6. Крэг Ларман. Применение UML 2.0 и шаблонов проектирования. Практическое руководство. 3-е издание/ Крэг Ларман. – М.: Издательский дом "Вильямс", 2013. – 736с.
7. Остроух А.В., Суркова Н.Е. Проектирование информационніх систем. Лань. 2019. – 164 с.
8. Моделювання та аналіз програмного забезпечення: навчальній посібник / В.В. Завгородній, К.М. Ялова. – Кам’янське: ДДТУ, 2017. – 378с. (Лист МОН України № 1/11-10993 від 12.08.2016)
9. Технології створення OLAP-систем: навчальний посібник / В.В. Завгородній, Г.А. Завгородня. – Київ: ДУІТ, 2018. – 195с.
10. Бородкіна І, Бородкин Г. Інженерія програмного забезпечення. Посібник для студентів вищих навчальних закладів Центр навчальної літератури. 2018.- 204 с. ISBN 978-611-01-1232-1
11. Ковалевський В.М. Технологія розробки програмного забезпечення. Завдання і алгоритми команд до програмування прикладних програм в С++ Builder. КПІ ім. Ігоря Сікорського. .2017.- 185 с. https://ela.kpi.ua/handle/123456789/22325
12. Золотухіна О.А., Негоденко О.В., Резник С.Ю., Разіна С.Я.. «Якість та тестування інформаційних систем». (3.6 Мб).- 2020.
13. Бек К. Экстремальное программирование/ К. Бек. – СПБ : Питер, 2002. – 224 с.
14. Борисов М. Scrum: гибкое управление разработкой/ М. Борисов. – Журнал «Открытые системы». №4, 2007.
15. Фаулер Мартин. Рефакторинг. Улучшение существующего кода/ Мартин Фаулер .- СПб. : Издательство «Символ-Плюс», 2003. – 432 с. (1 примірник)
16. Тамре Л. Введение в тестирование программного обеспечения/Л. Тамре. – М. : Издательский дом «Вильямс», 2003. – 368с.
17. Дубина О. Обзор паттернов проектирования. Шестнадцатая техническая конференция «Корпоративные базы данных-2011»/ О. Дубина. – Москва, 14–15 апреля, 2005 г.
18. Файзрахманов, Р.А. Проектирование автоматизированных информационных сис¬тем на основе объектно ориентированного подхода: учеб, пособие / Р.А. Файзрахманов, А.В. Архипов. Электронный ресурс: Пермь: Изд-во Перм. гос. техн. ун-та, 2011. - 223 с. Електронний примірник http://elib.pstu.ru/docview/?id=2719.pdf