Лекція 1.
Поняття програмної інженерії. Ядро знань SWEBOK.
Поняття
програмної інженерії (ПІ). Зміст ПІ за дисциплінами. Область дії ПІ. ПІ -
інженерна дисципліна. Цілі діяльності програмних інженерів. Якісний програмний продукт. Моделі якості розроблення програмного продукту. Розробка
вимог до програмного забезпечення. Інженерія програмного забезпечення: пряма, зворотна та
емпірична. Моделювання у ПІ Ядро знань SWEBOK. Ядро знань по
керуванню проектами (PMBOK).
Для самостійного вивчення (2 години): загальне визначення дисциплін програмної інженерії, характеристика
областей знань з інженерії програмного забезпечення за SWEBOK (Лавріщева К.М.
Програмна інженерія. Електронний підручник розділ 1.1., 1.2.).
Література [1-5,13, 21].
Контрольні запитання.
1. Дайте визначення програмної
інженерії.
2. Визначте особливості методів програмної
інженерії.
3. Загальна характеристика
програмної інженерії, як галузі, її порівняння із іншими інженеріями та
теоретичною основою – комп‘ютерними науками.
4. В чому полягає
проектування у програмної інженерії?
5. Визначте область
дії програмної інженерії.
6. Надайте характеристику областей знань SWEBOK.
6. Надайте характеристику областей знань SWEBOK.
Практична
робота №1. Ядро професійних знань
SWEBOK як основа проектування програмного забезпечення.
Мета:ознайомитися з основними документом SWEBOK.
Методичні рекомендації до виконання практичної роботи
1. Проаналізувати SWEBOK,
визначити базові аспекти та мету їх застосування для створення Вашого власного
проекту з області знань «Проектування ПЗ» за такими розділами:
• базові концепції проектування ПЗ (Software Design Basic Concepts)
• ключові питання проектування ПЗ (Key Issue in Software Design)
• структура і архітектура ПЗ (Software Structure and Architecture)
• аналіз і оцінка якості проектування ПЗ (Software Design Quality Analysis
and Evaluation),
• нотації проектування ПЗ (Software Design Notations)
• стратегія і методи проектування ПЗ (Software Design Strategies and
Methods).
2. Які ще положення з інших областей знань SWEBOK Вам будуть потрібні для
Вашого проекту? Надайте коротке пояснення.
3. Оформити результати
у вигляді документу / звіту. Звіт має містити номер і назву практичної роботи; прізвище та номер групи студента; два блоки
визначень та пояснень.
Контрольні
питання і завдання
1. Назвіть області знань SWEBOK інженерії розробки ПЗ.
2. Приведіть базові поняття SWEBOK.
3. Визначите цілі і завдання області знань – проектування ПЗ.
4. З якими стандартами узгоджуються ядра знань SWEBOK.
5. Який міжнародний стандарт визначає перелік і зміст процесів ЖЦ
програмного продукту?
6. Які розділи ядра знань і стандарту найбільш необхідні при розробці
програмних систем?
7. В чому різниця між програмним забезпеченням і програмним продуктом?
Лекція 2. Стандарт і моделі життєвого циклу.
Поняття життєвого циклу програмного забезпечення (ЖЦ ПЗ) та необхідності його стандартизації. Стандарт ISO / IEC 12207 (поділ процесів ЖЦ ПЗ на групи: основні, допоміжні, організаційні та опис складу; атестація процесів ЖЦ). Принципи стандарту ISO / IEC15504. Стандарт зрілості компанії-розробника ПЗ CMM (ознаки зрілої та незрілої організації, п'ять рівнів технологічної зрілості компанії, переваги та недоліки СММ). Огляд основних моделей ЖЦ ПЗ (каскадна, ітеративна, інкрементна, спіральна, еволюційна, модель еволюційного прототипування (макетування), V-подібна модель, адаптивні моделі). Адаптивна розробка ПЗ. Методології DSDM та FDD.
Для самостійного вивчення (2 години): Вивчення лекційного матеріалу та додаткових джерел. Розгляд запитань і виконання завдань для самостійної роботи, запропонованих на лекції
Література [1-2, 4-5, 19, 32].
Контрольні запитання
1. Дайте визначення життєвого циклу програмного продукту.
2. Які основні результати створення стандарту ISO / IEC 12207?
3. На які групи діляться процеси ЖЦ ПЗ за стандартом ISO / IEC 12207?
Поняття життєвого циклу програмного забезпечення (ЖЦ ПЗ) та необхідності його стандартизації. Стандарт ISO / IEC 12207 (поділ процесів ЖЦ ПЗ на групи: основні, допоміжні, організаційні та опис складу; атестація процесів ЖЦ). Принципи стандарту ISO / IEC15504. Стандарт зрілості компанії-розробника ПЗ CMM (ознаки зрілої та незрілої організації, п'ять рівнів технологічної зрілості компанії, переваги та недоліки СММ). Огляд основних моделей ЖЦ ПЗ (каскадна, ітеративна, інкрементна, спіральна, еволюційна, модель еволюційного прототипування (макетування), V-подібна модель, адаптивні моделі). Адаптивна розробка ПЗ. Методології DSDM та FDD.
Для самостійного вивчення (2 години): Вивчення лекційного матеріалу та додаткових джерел. Розгляд запитань і виконання завдань для самостійної роботи, запропонованих на лекції
Література [1-2, 4-5, 19, 32].
Контрольні запитання
1. Дайте визначення життєвого циклу програмного продукту.
2. Які основні результати створення стандарту ISO / IEC 12207?
3. На які групи діляться процеси ЖЦ ПЗ за стандартом ISO / IEC 12207?
4. Які основні принципи стандарту ISO / IEC15504?
5. Як визначається незріла компанія за стандартом СММ?
6. Як визначається зріла компанія за стандартом СММ?
6. Як визначається зріла компанія за стандартом СММ?
7. В чому полягають принципи каскадної моделі?
8. В чому різниця між ітеративною та інкрементною моделлю?
9. Що спільного в спіральній, еволюційній моделях та моделі еволюційного прототипування?
10. Охарактеризуйте V-подібну модель
11. Які основні риси адаптивних моделей?
Практична робота №2. Стандарт і моделі життєвого циклу.
Мета: Навчитися обирати модель ЖЦ ПЗ та
застосовувати стандарти на прикладі розроблення ПЗ власного проекту або для оброблення результатів опитування з
використанням мета описів інформації та виконання дій (при відсутності власного
проекту).
Методичні рекомендації до виконання практичної роботи
1. Обрати модель ЖЦ ПЗ для власного проекту та надати обґрунтування вибору, визначивши причини, з яких інші моделі недоцільно обирати.
Методичні рекомендації до виконання практичної роботи
1. Обрати модель ЖЦ ПЗ для власного проекту та надати обґрунтування вибору, визначивши причини, з яких інші моделі недоцільно обирати.
2.
Відповідно до обраної моделі накреслити схему її
реалізації.
3.
Визначити склад бізнес-процесів
основних та допоміжних, вказавши перелік допоміжних процесів на кожному етапі ЖЦ ПЗ.
4. Оформити результати у вигляді документу / звіту.
4. Оформити результати у вигляді документу / звіту.
Мінімальні вимоги
(необхідні для захисту роботи).
• Назва практичної роботи.
• Прізвище, група
• Назва проекту, його мета, результати і
вхідні дані, основні функції, які реалізовує ПЗ у вигляді структурної схеми.
• Обрана модель
ЖЦ ПЗ для власного проекту та обґрунтування вибору, визначенням причин, з яких
інші моделі недоцільно обирати (п.1)..
• Схема реалізації обраної моделі (п.2).
• Надати склад бізнес-процесів
основних та допоміжних (п.3).
Лекція 3. Методи, засоби та інструменти програмної інженерії.
Загальне визначення цільових об’єктів ПІ. Етапи становлення ПІ та вироблені методи (евристичні, формальні методи, метод прототипування). Компоненти методів ПІ. Методи ПІ, надані теорією програмування. Методи керування проектом. Емпіричні методи ПІ. CASE-засоби. Інструменти інженерії ПЗ для автоматизованої підтримки процесів розроблення ПЗ.
Для самостійного вивчення: класифікація в swebok загальних інструментів, рекомендованих для застосування стосовно всіх видів об’єктів у процесах ЖЦ.
Література [1-7,9,11-16].
Контрольні запитання.
1. Визначте основні цільових об’єктів ПІ та їх спосіб виготовлення.
Лекція 3. Методи, засоби та інструменти програмної інженерії.
Загальне визначення цільових об’єктів ПІ. Етапи становлення ПІ та вироблені методи (евристичні, формальні методи, метод прототипування). Компоненти методів ПІ. Методи ПІ, надані теорією програмування. Методи керування проектом. Емпіричні методи ПІ. CASE-засоби. Інструменти інженерії ПЗ для автоматизованої підтримки процесів розроблення ПЗ.
Для самостійного вивчення: класифікація в swebok загальних інструментів, рекомендованих для застосування стосовно всіх видів об’єктів у процесах ЖЦ.
Література [1-7,9,11-16].
Контрольні запитання.
1. Визначте основні цільових об’єктів ПІ та їх спосіб виготовлення.
2. На які категорії поділяють методи ПІ?
3. В яких галузях рентабельні формальні методи?
4. Які методології евристичних методів Вам знайомі?
4. Які методології евристичних методів Вам знайомі?
5. Коли доцільно використовувати методи прототипування?
6. Визначте компоненти методів
інженерії ПЗ?
7. Які методи теорії програмування використовує ПІ?
8. Які методи та інструменти використовуються для перевірки правильності компонентів / програм?
8. Які методи та інструменти використовуються для перевірки правильності компонентів / програм?
9. Як визначається масштаб проекту?
10.Які методи використовують в емпіричних дослідженнях ПІ ?
10.Які методи використовують в емпіричних дослідженнях ПІ ?
11.Поясніть призначення CASE систем?
12.На які групи можна поділити інструменти
інженерії ПЗ?
Практична робота №3.
Поточний контроль у формі обговорення
теоретичних питань.
Лекція 4. Методи об‘єктного
аналізу та моделювання.
Мета об’єктно-орієнтованого аналізу. Огляд об’єктно-орієнтованих методів аналізу і побудови моделей. Основні
поняття об’єктно-орієнтованих методів аналізу. Поняття інформаційної моделі. Об’єкти
інформаційної моделі, їх атрибути і зв’язки. Засоби
моделювання даних. Діаграми потоків даних – DFD. Метод SADT. Діаграми «сутність-зв’язок» (ER-діаграми). Уніфікована
мова моделювання UML.
Для самостійного вивчення (2 години): Вивчення лекційного
матеріалу та додаткових джерел. Розгляд запитань і виконання завдань для
самостійної роботи, запропонованих на лекції.
Література [1-2, 5, 7, 11].
Контрольні запитання.
1.
Визначте задачі аналізу предметної області.
2. На які етапи можна розкласти аналіз предметної
області?
3. Надайте визначення інформаційної моделі та
визначте, що може бути її об’єктами.
4. Які атрибути можуть бути у об’єктів предметної
області?
5.
Чим характеризуються семантичні зв’язки між об’єктами
предметної області ?
6.
З якою метою використовують DFD –
діаграми?
7. В чому полягає метод SADT?
8. В чому сутність ER - діаграм?
9. Які цілі ставились при розробці UML?
Подальші лекції, практичні і лабораторні роботи розташовуються на платформі коледжу за адресою:
https://github.com/omc-college/ipz3-Software-Engineering
Тематика рефератів
1. Технологічні методи і засоби
розробки програмного забезпечення
2. Якість і ефективність
програмного забезпечення
3. Розробка і модифікація програм
4. Компоненти об‘єктної моделі
складних систем.
5. Моделювання інформаційних систем(ІПЗ-31 Красноперов)
6. Технологія побудови об‘єктної
моделі складних систем
7. Побудова динамічної та функціональної
моделі інформаційної системи
8. Розробка архітектури інформаційної
системи
9. Розробка концепції архітектури
інформаційної системи
10.Методи і інструменти програмної
інженерії та способи їх застосування
11. Ядро
професійних знань програмної інженерії
12. Керування інженерією програмного
забезпечення
13.Типи моделей життєвого
циклу програмного забезпечення
14. Ризики програмного проекту та
методи керування ними
15. Посібник користувача як
ефективний інструмент супроводу (на прикладі програмного продукту )
ВИМОГИ до оформлення реферату див.
https://ru.calameo.com/read/002828893b19e88726053
та https://helpiks.org/5-99435.html,
до оформлення списків літератури -
.http://vippo.org.ua/files/pedposhyk/spuslit-1557135224.pdf