Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OPI_konspekt.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
5.78 Mб
Скачать

7. Навчально-методичні рекомендації до вивчення дисцілини «Основи програмної інженерії.»

7.1. Анотація навчальної дісциплини. Галузь знань – 0501 «Інформатика та обчислювальна техника» Напрям підготовки - 6.050103 «Програмна інженерія»

Обсяг курсу 180 год., у тому числі: лекцій 70 год., лабораторних занять 52 год., практичних робіт 18 год, самостійної роботи 40 год, залік 3 сем., іспит 4 сем.

Програмна Інженерія (Software Engineer ing) - наука побудови комп'ютерних програмних систем (ПС), що містить у собі теоретичні концепції, методи і засоби програмування, технологію програмування, системи та інструменти їхньої підтримки, сучасні стандарти, зокрема, процеси життєвого циклу (ЖЦ), вимірювання, оцінювання якості розробки ПС. Головне призначення програмної інженерії - побудова ПС, починаючи з аналізу предметної області (ПрО) і закінчуючи виготовленням вихідного коду для виконання на комп'ютері. Фундаментальну основу побудови ПС становлять: теорія алгоритмів, математична логіка, теорія обчислень, теорія керування й ін.

Колективне розроблення великих проектів ПС обумовило розвиток інженерних, технологічних методів і засобів регламентованого проектування ПС із урахуванням організаційних процесів ЖЦ: інженерія вимог, керування ризиком і якістю, планування і регулювання ресурсів, оцінювання процесів ЖЦ та показників якості, вартості і строків виготовлення програмного продукту.

Ціль даної дисципліни - представити методи і засоби програмної інженерії в структурованому і систематизованому вигляді для теоретичного й практичного навчання процесам проектування, тестування і оцінювання якості програмних систем. У дисципліні відображено зміст програмної інженерії з урахуванням базового ядра знань SWEBOK (http://www.swebok.org) та програми навчання Computing Curricula - 2001, 2004, що застосовується на факультетах інформатики в міжнародних навчальних закладах понад 20 років. Навчання програмній інженерії є запорукою успішного освоєння накопичених міжнародною спільнотою знань з інженерії побудови програмних продуктів.

Студенти повинні отримати теоретичні й інженерні знання з процесів розроблення програмних систем, практики подання програм для їхнього опрацювання у середовищі сучасних інструментальних систем провідних фірм: Microsoft, IBM, Rational тощо. Крім того, вони повинні навчитись методам верифікації, валідації та тестування програм, метричного аналізу, виміру, оцінки показників якості та продуктивності продукту, а також перенесення його на іньши платформи.

7.2. Необхідність та задачі навчальної дісциплини. Ії місце в учбовому процесі.

Дисципліна «Основи програмної інженерії» входить до «Обов’язкового переліку навчальних дисциплін і практик» циклу професійно-орієнтованої та практичної підготовки згідно Освітньо-професійної програми підготовки бакалавра за фаховим спрямуванням 6.050103 «Програмна інженерія»

Згідно додатку Б до пункту 6 Освітньо-професійної програми підготовки бакалавра за фаховим спрямуванням 6.050103 «Програмна інженерія» дисципліна включає наступні блоки:

3.01

Основи програмної інженерії

Інженерні основи програмного забезпечення

1.ПФ.Е.03.01.01

Основи моделювання

1.ПФ.Е.02.02.01

Технології розробки ПЗ

1.ПФ.Е.03.01.02

Основи інженерії вимог до ПЗ

1.ПФ.Е.02.01.02

Письмова комунікація

4.ПФ.С.02.01.02

Система змістових модулів дисципліни, щодо складових узагальнених структур діяльності, згідно додатку А до пункту 5 Освітньо-професійної програми підготовки бакалавра за фаховим спрямуванням 6.050103 «Програмна інженерія», наступна:

Зміст уміння, що забезпечується

Шифр уміння

Назва змістового модуля

Шифр змістового модуля

Здійснювати аналіз вимог, розробляти специфікацію програмних вимог, виконувати їхню верифікацію та атестацію

1.ПФ.Е.02.01

Типи вимог, функціональні, не функціональні, атрибути якості

1.ПФ.Е.02.01.01

Основи інженерії вимог до ПЗ

1.ПФ.Е.02.01.02

Узгодження вимог і управління ризиками

1.ПФ.Е.02.01.03

Моделювати різні аспекти системи, для якої створюється ПЗ

1.ПФ.Е.02.02

Основи моделювання

1.ПФ.Е.02.02.01

Типи моделей

1.ПФ.Е.02.02.02

Основні концепції уніфікованої мови моделювання UML

1.ПФ.Е.02.02.03

Проектувати компоненти архітектурного рішення

1.ПФ.Е.03.01

Інженерні основи програмного забезпечення

1.ПФ.Е.03.01.01

Технології розробки ПЗ

1.ПФ.Е.03.01.02

Структура та архітектура ПЗ

1.ПФ.Е.03.01.03

Стратегії і методи проектування ПЗ

1.ПФ.Е.03.01.04

Аналіз якості та оцінка програмного дизайну

1.ПФ.Е.03.01.05

Нотації та засоби підтримки проектування

1.ПФ.Е.03.01.06

Створювати чітку, стислу та точну технічну документацію у відповідності до діючих стандартів

4.ПФ.С.02.01

Рецензувати письмову технічну документацію з метою виявлення різного роду проблем

4.ПФ.С.02.01.01

Письмова комунікація

4.ПФ.С.02.01.02

У дисципліні відображено зміст програмної інженерії з урахуванням базового ядра знань SWEBOK (http://www.swebok.org) та програми навчання Computing Curricula

Мета: представити методи і засоби програмної інженерії в структурованому і систематизованому вигляді для теоретичного й практичного навчання процесам проектування, тестування і оцінювання якості програмних систем.

Завдання: Студенти повинні отримати теоретичні й інженерні знання з процесів розроблення програмних систем, практики подання програм для їхнього опрацювання у середовищі сучасних інструментальних систем провідних фірм: Microsoft, IBM, Rational тощо. Крім того, вони повинні навчитись методам верифікації, валідації та тестування програм, метричного аналізу, виміру, оцінки показників якості та продуктивності продукту, а також перенесення його на іньши платформи.

Зміст дисципліни розкривається в темах:

1. Дисципліни програмної інженерії і області ядра знань -SWEBOK. Визначення програмної інженерії та її дисциплін, зміст та основні складові цих дисциплін, загальний зміст областей ядра знань-SWEBOK.

2. Стандарт і моделі життєвого циклу. Характеристики базових моделей ЖЦ, що використовуються на практиці. Основні положення стандарту 1SO/IEC 12207 і підходи до формування на його основі робочих моделей ЖЦ.

3. Аналіз та визначення вимог до програмних систем. Загальні підходи, методи аналізу предметної області та формування вимог до ПС.

4. Методи об'єктного аналізу і моделювання. Огляд методів об'єктного аналізу, побудови моделей предметних областей та проектування архітектури системи.

5. Прикладні і теоретичні методи програмування. Аналіз прикладних, теоретичних і формальних методів програмування, а також огляд їхніх засобів щодо подання та розробки ПС.

6. Методи доведення, верифікації і тестування програм. Визначення формального апарату специфікації, доведення, верифікації і тестування програм. Класифікація помилок, що виявляються при перевірці правильності програм. Інженерію тестування різних програмних об'єктів.

7. Інтерфейс, взаємодія, еволюція програм та даних. Методи інтеграції, проблеми взаємодії різномовних програм і даних у сучасних середовищах, а також методи еволюційної зміни компонентів і систем, характеристика стандарту ISO/IEC 11404-96 з опису даних, незалежних мов програмування.

8. Інженерія виробництва програмних продуктів. Базові характеристики інженерії виробництва компонентів, предметної області готових компонентів та лінії виробництва програмних продуктів, особливості сучасних середовищ для колективного виробництва ПС.

9. Моделі якості та надійності програмних систем. Моделі якості, метрики і методи виміру показників якості ПС. Класифікація математичних моделей надійності та підходи до оцінки надійності програмного продукту за деякими моделями.

10. Методи керування програмним проектом. Аналіз менеджменту програмних проектів, опис інженерних методів планування, керування роботами, ризиками та конфігурацією проекту, оцінки вартості та строків.

У результаті вивчання даної дисципліни студенти повинні:

  • знати базові поняття комп’ютерних дисциплін, основні етапи розвитку програмної інженерії , принципи програмної інженерії, моделі життєвого циклу програмного забезпечення;

  • уміти застосовувати базові поняття програмної інженерії та інших дисциплін комп’ютингу у процесах життєвого циклу програмного забезпечення.

Дисціплина підтримується курсами Основи програмування, Об’єктно-орієнтоване програмування.

Форма контролю.

В процесі викладання дисципліни проводяться лекції, лабораторні та практичні заняття в лекційних та комп’ютерних класах, виконання самостійної роботи студента. При цьому використовуються наступні методи оцінювання навчальної роботи студента: поточне тестування та опитування, захист лабораторних робіт, оцінювання виконання СРС, підсумковий іспит. Підсумковий бал за 100-бальною шкалою з дисципліни визначається як середньозважена величина, в залежності від питомої ваги кожної складової залікового кредиту.

Співвідношення оцінок за національною шкалою (чотирибальною), шкалою ECTS (семибальною) та шкалою навчального закладу (стобальною) наступне:

За національною шкалою

За шкалою навчального закладу

Шкалою ECTS

Відмінно

90-100

90-100

А

Добре

75-89

85-89

В

75-84

С

Задовільно

60-74

67-74

D

60-66

E

Незадовільно

( з можливістю повторного складання)

35-59

35-59

FX

Незадовільно

( з обов’язковим повторним курсом)

1-34

1-34

F

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]