неділя, 16 лютого 2020 р.

ОПІ Тематика лекцій, ПР та ЛР

Лекція 1. Поняття програмної інженерії. Ядро знань SWEBOK.
Поняття програмної інженерії (ПІ). Зміст ПІ за дисциплінами. Область дії ПІ. ПІ - інженерна дисципліна. Цілі діяльності програмних інженерів. Якісний програмний продукт. Моделі якості розроблення програмного продукту. Розробка вимог до програмного забезпечення. Інженерія програмного забезпечення: пряма, зворотна та емпірична. Моделювання у ПІ Ядро знань SWEBOK. Ядро знань по керуванню проектами (PMBOK).
Для самостійного вивчення (2 години): загальне визначення дисциплін програмної інженерії, характеристика областей знань з інженерії програмного забезпечення за SWEBOK (Лавріщева К.М. Програмна інженерія. Електронний підручник розділ 1.1., 1.2.).
Література [1-5,13, 21].
Контрольні запитання.
1.  Дайте визначення програмної інженерії.
2.  Визначте особливості методів програмної інженерії.
3. Загальна характеристика програмної інженерії, як галузі, її порівняння із іншими інженеріями та теоретичною основою – комп‘ютерними науками.
4.  В чому полягає проектування у програмної інженерії?
5.  Визначте область дії програмної інженерії.
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?
4.  Які основні принципи стандарту ISO / IEC15504?
5.  Як визначається незріла компанія за стандартом СММ?
6.  Як визначається зріла компанія за стандартом СММ?

7.  В чому полягають принципи каскадної моделі?

8.  В чому різниця між ітеративною та  інкрементною моделлю?

9.   Що спільного в спіральній, еволюційній моделях та моделі еволюційного прототипування?
10. Охарактеризуйте V-подібну модель
11. Які основні риси адаптивних моделей?
Практична робота №2. Стандарт і моделі життєвого циклу. 
Мета: Навчитися обирати модель ЖЦ ПЗ та застосовувати стандарти на прикладі розроблення ПЗ власного проекту або  для оброблення результатів опитування з використанням мета описів інформації та виконання дій (при відсутності власного проекту). 
Методичні рекомендації до виконання практичної роботи
1.  Обрати модель ЖЦ ПЗ для власного проекту та надати обґрунтування вибору, визначивши причини, з яких інші моделі недоцільно обирати.
2.  Відповідно до обраної моделі накреслити схему її реалізації.
3.  Визначити склад бізнес-процесів основних та допоміжних, вказавши перелік допоміжних процесів на кожному етапі ЖЦ ПЗ.
4.   Оформити результати у вигляді документу / звіту.
Мінімальні вимоги (необхідні для захисту роботи).
   Назва практичної роботи.
   Прізвище, група

  Назва проекту, його мета, результати і вхідні дані, основні функції, які реалізовує ПЗ у вигляді структурної схеми.

  Обрана модель ЖЦ ПЗ для власного проекту та обґрунтування вибору, визначенням причин, з яких інші моделі недоцільно обирати (п.1)..
   Схема реалізації обраної моделі (п.2).
   Надати склад бізнес-процесів основних та допоміжних (п.3). 
Лекція 3. Методи, засоби та інструменти програмної інженерії. 
Загальне визначення цільових об’єктів ПІ. Етапи становлення ПІ та вироблені методи (евристичні, формальні методи, метод прототипування). Компоненти методів ПІ. Методи ПІ, надані теорією програмування. Методи керування проектом. Емпіричні методи ПІ. CASE-засоби. Інструменти інженерії ПЗ для автоматизованої підтримки процесів розроблення ПЗ.
Для самостійного вивчення: класифікація в swebok загальних інструментів, рекомендованих для застосування стосовно всіх видів об’єктів у процесах ЖЦ.
Література [1-7,9,11-16].
Контрольні запитання.
1.  Визначте основні цільових об’єктів ПІ та їх спосіб виготовлення.

2.  На які категорії поділяють методи ПІ?
3.  В яких галузях рентабельні формальні методи? 
4.  Які методології евристичних методів Вам знайомі?
5.  Коли доцільно використовувати методи прототипування?
6.  Визначте компоненти методів інженерії ПЗ?
7.  Які методи теорії програмування використовує ПІ? 
8. Які методи та інструменти використовуються для перевірки правильності компонентів / програм? 
9.  Як визначається масштаб проекту?
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      



неділя, 9 лютого 2020 р.

ОПІ Рекомендовані джерела інформації

Рекомендовані джерела інформації..
Основні
1. Лавріщева К.М. Програмна інженерія. Електронний підручник. URL:  http://csc.knu.ua/uk/library/books/lavrishcheva-6.pdf.
2.  Лавріщева К.М. Програмна інженерія. – Підручник.–К.:Академперіодика, 2008.–415с.
3. Бабенко Л.П., Лавріщева К.М. Основи програмної інженерії.– Навч. посібник.–К.: Знання, 2001.– 269с.
4. Проектування інформаційних систем: Посібник // За редакцією Пономаренка В.С. – К.: Видавничий центр "Академія". 2002. ­ 488 с. URL: http://www.dut.edu.ua/uploads/l_874_10304054.pdf.
5.  И. Соммервиль. Инженерия программного обеспечения, 6 изд. – И.д. "Вильямс", 2002. URL: https://www.studmed.ru/download/sommervill-ian-inzheneriya-programmnogo-obespecheniya_4935164f089.html
6.  Г.Буч. Об‘єктно-орієнтоване проектування з прикладами застосування. – К.: Видавничий центр "Академія". 2002. ­ 499 с.
7.Якобсон А. Унифицированный процесс разработки программного обеспечения / А.Якобсон, Г.Буч, Д.Рамбо. –СПб.: Питер, 2002. – 496 с.
8.  Мацяшек, Лешек А. Анализ требований и проектирование систем : Разраб. информ. систем с использованием UML / Лешек А. Мацяшек; [Пер. с англ. и ред. В.М. Неумоина]. - М. [и др.] : Вильямс, 2002. - 428 с. : ил.
9.    Тамре Л. Введение в тестирование программного обеспечения / Л. Тамре. –М.: Издательский дом «Вильямс», 2003. –368 с.
10.Сайкс Д. Тестирование объектно-ориентированного программного обеспечения. Практическое пособие / Д.Сайкс, Д.Макгрегор. –К.: Диасофт, 2002. –432 с.
11.  Г. Буч, Дж. Рамбо , А. Джекобсон Язьік UML. Руководство пользователя.: Пер. с англ. - М.: ДМК, 2000. - 432с. URL: http://www.dut.edu.ua/uploads/l_1508_23942623.pdf, http://bourabai.kz/dbt/uml/content.html
12.           Фолк Д. Тестирование программного обеспечения / Д.Фолк, Е.К. Нгуен, С.Канер. – К.: Диасофт, 2003. –400 с.
Додаткові
13. Лаврищева Е.М., Грищенко В.Н. Области знаний программной инженерии – SWEBOK и подход к обучению этой дисциплине// Управляющие системы и машины.– 2005.– №1.– С.38-54.
14.  Лавріщева К.М. Основні напрямки досліджень в програмній інженерії і шляхи їхнього розвитку // Проблеми програмування.– 2003. – № 3–4.– С.44-58.
15.   Лаврищева Е.М. Методы программирования. Теория, инженерия, практика. – К.: Наук. думка, 2006.– 450с.
16.    Основы инженерии качества программных систем / Ф.И.Андон, Г.И.Коваль, Т.М. Коротун, Е.М.Лаврищева, В.Ю. Суслов – К.: Академпериодика.– 2007. – 678с.
17. Лаврищева Е.М., Коваль Г.И., Коротун Т.М. Подход к управлению качеством программных систем обработки данных // Кибернетика и системный анализ.– 2006.– № 5.–С.174-185.
18. Фредерик Брукс. Мифический человеко-месяц или как создаются программные системы. Пер. с англ. – СПб.: из-во «Символ», 2001.
19. Уокер Ройс. Управление проектами по созданию программного обеспечения. Пер. с англ. – М.: из-во «Лори», 2002
20. Кендалл С. Унифицированный процесс. Основные концепции.–М.–СПб.– Киев.–2002.– 157с.
22.   Боэм Б. Инженерное проектирование программного обеспечения. — М.: Радио и связь, 1985.
23. Вендров A.M. CASE-технологии. Современные методы и средства проектирования информационных систем. - М.: Финансы и статистика, 1998.
24.  ДСТУ 2873-94. Системи обробки інформації. Програмування. Терміни та визначення. - К.: Держстандарт України, 1994.
25. ДСТУ 2941-94. Системи оброблення інформації. Розроблення систем. Терміни та визначення. - К.: Держстандарт України, 1994.
26. ДСТУ 4302:2004. Інформаційні технології. Настанови щодо документування комп’ютерних програм. - К.: Держстандарт України, 2004.
27. ДСТУ ISO/IEC 12119:2003. Інформаційні технології. Пакети програм тестування і вимоги до якості. - К.: Держстандарт України, 2003.
28. ДСТУ ISO/IEC 14764:2002. Інформаційні технології. Супроводження програмного забезпечення. - К.: Держстандарт України, 2002.
29. ДСТУ ISO/IEC 90003:2006. Програмна інженерія. Настанови щодо застосування ІSO 9001:2000 до програмного забезпечення (ІSO/ІЕС 90003:2004, IDT) - К.: Держстандарт України, 2006.
30. ДСТУ ISO/IEC TR 12182:2004. Інформаційні технології. Класифікація програмних засобів (ISO/IEC TR 12182:1998, IDT) - К.: Держстандарт України, 2004.
31. ДСТУ ISO/IEC 14598-1:2004. Інформаційні технології. Оцінювання програмного продукту. Частина 1. Загальний огляд (ISO/IEC 14598-1:1999, IDT) - К.: Держстандарт України, 2004.
32.  ДСТУ ISO/IEC 15288:2005. Інформаційні технології. Процеси життєвого циклу системи (ISO/IEC 15288:2002, IDT) - К.: Держстандарт України, 2005.
33.  ДСТУ ISO/IEC 15939:2008. Інженерія систем і програмних засобів. Процес вимірювання. - К.: Держстандарт України, 2008.
34. ДСТУ 3327-96. Методика випробування процесорів мов програмування. Загальні вимоги. - К.: Держстандарт України, 1996.
35. ДСТУ ISO/IEC TR 14369:2003. Інформаційні технології. Мови програмування, їхнє середовище та системний інтерфейс. Настанова щодо підготовки незалежних від мов специфікацій послуг. - К.: Держстандарт України, 2003.
36. ДСТУ 4072:2001. Інформаційні технології. Мови програмування, їхнє середовище та системний інтерфейс. Настанова щодо підготовки незалежних від мов виклик процедур. - К.: Держстандарт України, 2001.
37. ДСТУ ISO/IEC 2382-15:2005. Інформаційні технології. Словник термінів. Частина 15. Мови програмування (ISO/IEC 2382-15:1999, IDT) - К.: Держстандарт України, 2005.
38. ДСТУ 3008-95. "Документація. Звіти у сфері науки і техніки Структура і правила оформлення". К.: Держстандарт України,1995. – 75 с.
39. ГОСТ 2.106-96. Единая система конструкторской документации. Текстовые документы. Изд. Офиц – К.: Госстандарт Украины, 1998. – 47 с.
40.    ГОСТ 2.109-73 ЕСКД. Основные требования к чертежам – М., 1978.
41. ГОСТ 2.105-95. Единая система конструкторской документации. Общие требования к текстовым документам. Изд. Офиц – К.: Госстандарт Украины, 1996.
42. ДСТУ ГОСТ 7.1:2006. Система стандартів з інформації, бібліотечної та видавничої справі. Загальні вимоги та правіла складання. - К.: Держстандарт України, 2007. – 47 с.
43.  ДСТУ ГОСТ 2.104:2006. ЕСКД. Основні написи. - К.: Держстандарт України, 2006.
44.  ДСТУ ISO/IEC/IEEE 15289:2019 (ISO/IEC/IEEE 15289:2017, IDT) Інженерія систем і програмних засобів. Уміст інформаційних об’єктів життєвого циклу. - К.: Держстандарт України, 2019. 
Інформаційні ресурси
1.     Верховна Рада України. URL:  https://rada.gov.ua/
2.     Кабінет міністрів України. URL:  https://www.kmu.gov.ua/ua
3.     Міністерство розвитку економіки, торгівлі та сільського господарства України. URL:  http://www.me.gov.ua
4.     Законодавство України. URL:   https://zakon.rada.gov.ua