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

Вид материалаДокументы

Содержание


Назва теми та її зміст
Дисципши програмної інженерії 1 області ядра знань - swebok.
Стандарт і моделі життєвого циклу.
Аналіз та визначення вимог до програмних систем.
Методи об'єктного аналізу і моделювання.
Прикладні й теоретичні методи програмування.
Методи доведення, верифікації і тестування програм.
Інтерфейси, взаємодія, еволюція програм і даних.
Інженерія виробництва програмних продуктів.
Моделі якості та надійності програмних систем.
7.4. Тематичний план лекцій.
7.5. Тематичний план лабораторних робіт.
7.6. Тематичний план практичних робіт.
Стандарт і моделі життєвого циклу.
Методи об'єктного аналізу і моделювання.
Подобный материал:
1   ...   7   8   9   10   11   12   13   14   15


7.3. Тематичний план курсу.



Назва теми та її зміст





Змістовний модуль 1

1

ДИСЦИПШИ ПРОГРАМНОЇ ІНЖЕНЕРІЇ 1 ОБЛАСТІ ЯДРА ЗНАНЬ - SWEBOK.

Загальне визначення дисциплін програмної інженерії. Програмна інженерія як наукова дисципліна. Програмна інженерія як інженерна дисципліна. Програмна інженерія як виробнича дисципліна. Дисципліна керування. Економічна дисципліна.


Характеристика областей знань з інженерії програмного забезпечення – SWEBOK. Інженерія вимог. Проектування програмного забезпечення. Конструювання програмного забезпечення. Тестування програмного забезпечення. Супровід програмного забезпечення. Керування конфігурацією. Керування інженерією програмного забезпечення. Процес інженерії. Методи і інструменти інженерії. Якість програмного забезпечення.

2

СТАНДАРТ І МОДЕЛІ ЖИТТЄВОГО ЦИКЛУ.

Характеристика життєвого никлу стандарти 1SO/IEC 12207.

Формування прикладних моделей життєвого циклу.

Типи моделей життєвого циклу. Каскадна модель. Інкрементна модель. Спіральна модель. Еволюційна модель.

3

АНАЛІЗ ТА ВИЗНАЧЕННЯ ВИМОГ ДО ПРОГРАМНИХ СИСТЕМ.

Загальні підходи до визначення вимог. Класифікація вимог. Аналіз і збирання вимог. Інженерія вимог. Фіксація вимог. Трасування вимог.

Об'єктно-орієнтована інженерія вимог. Візуальний підхід. Текстовий підхід.

4

МЕТОДИ ОБ'ЄКТНОГО АНАЛІЗУ І МОДЕЛЮВАННЯ.

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

Проектування архітектури програмних систем. Загальні підходи до проектування програмних систем. Проектування різних видів архітектур програмних систем.




Змістовний модуль 2

5

ПРИКЛАДНІ Й ТЕОРЕТИЧНІ МЕТОДИ ПРОГРАМУВАННЯ.

Прикладне (систематичне) програмування. Структурне програмування. Об'єктно-орієнтоване програмування. UML-метод моделювання. Компонентне програмування. Аспектно-орієнтоване програмування. Генерувальне (порождувальне) програмування. Сервісно-оріентоване програмування. Агентне програмування

Теоретичне програмування. Алгебраїчне та інсерційне програмування. Ексіїлікативне, номінативне програмування. Алгоритмічні алгебри.

6

МЕТОДИ ДОВЕДЕННЯ, ВЕРИФІКАЦІЇ І ТЕСТУВАННЯ ПРОГРАМ.

Мови специфікації програм і їхня класифікація. Мова формальної специфікацій – VDM. Мова формальної специфікації-RAISE. Концепторна мова специфікації. Звичайна мова специфікації Spec#.

Методи доведення правильності програм. Базові методи доведення. Модель доведення програми за твердженнями.

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

Тестування програмних систем. Статичні методи тестування. Динамічні методи тестування. Функціональне тестування.

Інфраструктура перевірки правильності програмних систем. Класифікація помилок і методи їхнього пошуку. Процес тестування за життєвим циклом. Інженерія керування тестуванням.

7

ІНТЕРФЕЙСИ, ВЗАЄМОДІЯ, ЕВОЛЮЦІЯ ПРОГРАМ І ДАНИХ.

Визначення інтерфейсуу програмуванні. Інтерфейс в ООП і в сучасних середовищах. Інтерфейс між клієнтом і сервером.

Інтерфейс мов програмування. Інтерфейс і взаємозв'язок мов програмування. Взаємодія різномовних програм. Стандарт 1SO/IEC 11404-96 з незалежних від мов типів даних.

Перетворення даних за інтерфейсом. Перетворення форматів даних. Перетворення даних баз даних.

Методи еволюційного змінювання компонентів і систем. Реінженерія програмних систем. Рефакторінг компонентів. Реверсна інженерія.

8

ІНЖЕНЕРІЯ ВИРОБНИЦТВА ПРОГРАМНИХ ПРОДУКТІВ.

Інженерія компонентів повторного використання. Специфікація КПВ. Репозітарій компонентів. Мова опису інтерфейсу компонентів.

Прикладна інженерія та інженерія предметної області. Прикладна інженерія. Інженерія сімейства систем домена. Стандартизація процесів інженерії домену.

Інженерія Індустріального виробництва програмних продуктів. Структура лінії виробництва програмних продуктів. Конвеєрне виготовлення систем у середовищі Microsoft. Загальна характеристика інструментів Rational Rose. Засоби підтримки процесу RUP. Середовище розроблення систем – CORBA. JAVA-технологія.

Оцінювання вартості системи з компонентів.

9

МОДЕЛІ ЯКОСТІ ТА НАДІЙНОСТІ ПРОГРАМНИХ СИСТЕМ.

Модель якості програмних систем. Стандартні показники якості. Метрики якості. Стандартна оцінка показників якості. Керування якістю програмних систем.

Моделі оцінки надійності програмних систем. Ґрунтовні поняття проблематики надійності. Класифікація моделей надійності. Маяковські та пуассонівські моделі надійності. Процеси оцінки надійності.

Сертифікація програмного продукту.

10

Розділ 10. МЕТОДИ КЕРУВАННЯ ПРОГРАМНИМ ПРОЕКТОМ.

Менеджмент проекту. Основні поняття та задачі . Головні цілі менеджменту проекту. Процес менеджменту проекту. Модель процесу керування проектом. Інфраструктура програмного проекту.

Методи керування і планування проектом. Метод критичного шляху –СРМ. Метод аналізу й оцінки проекту-PERT. Планування і контроль проекту. Оцінювання вартості проекту.

Методи керування ризиками у проекті.

Керування конфігурацією системи. Формування версій й контроль конфігурації. Облік статусу й аудит конфігурації.


7.4. Тематичний план лекцій.


Питання, які вивчаються на заняттях

Змістовний модуль 1

Загальне визначення дисциплін програмної інженерії.

Характеристика областей знань з інженерії програмного забезпечення – SWEBOK.

Характеристика життєвого никлу стандарти 1SO/IEC 12207.

Формування прикладних моделей життєвого циклу.

Типи моделей життєвого циклу. Каскадна модель. Інкрементна модель.

Спіральна модель. Еволюційна модель.

Загальні підходи до визначення вимог. Класифікація вимог. Аналіз і збирання вимог.

Інженерія вимог. Фіксація вимог. Трасування вимог.

Об'єктно-орієнтована інженерія вимог.

Візуальний підхід.

Текстовий підхід.

Методи об’єктного аналізу і моделювання.

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

Основні поняття об'єктно-орієнтованих методів аналізу.

Метод побудови об'єктної моделі предметної області.

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

Загальні підходи до проектування програмних систем.

Проектування різних видів архітектур програмних систем.

Змістовний модуль 2

Прикладне (систематичне) програмування.

UML-метод моделювання.

Теоретичне програмування.

Мови специфікації програм. Класифікація.

Методи доведення правильності програм. Базові методи доведення. Модель доведення програми за твердженнями.

Тестування програмних систем. Статичні методи тестування. Динамічні методи тестування. Функціональне тестування.

Визначення інтерфейсуу програмуванні. Інтерфейс в ООП і в сучасних середовищах. Інтерфейс між клієнтом і сервером.

Інтерфейс мов програмування. Інтерфейс і взаємозв'язок мов програмування. Взаємодія різномовних програм. Стандарт 1SO/IEC 11404-96 з незалежних від мов типів даних.

Методи еволюційного змінювання компонентів і систем

Прикладна інженерія та інженерія предметної області. Прикладна інженерія.

Оцінювання вартості системи з компонентів.

Модель якості програмних систем.

Моделі оцінки надійності програмних систем.

Сертифікація програмного продукту.

Менеджмент проекту. Основні поняття та задачі.

Методи керування і планування проектом.

Методи керування ризиками у проекті.


7.5. Тематичний план лабораторних робіт.


Питання, які вивчаються на заняттях

Змістовний модуль 1

Пошук нормативно правової інформації за фахом.

Візуальні технологія розробки гіпертекстових сторінок

Колективна розробка програмного забезпечення

Змістовний модуль 2

UML-метод моделювання

Тестування програмних систем

Інтерфейс і взаємозв'язок мов програмування.

Методи керування і планування програмним проектом



7.6. Тематичний план практичних робіт.


Питання, які вивчаються на заняттях

Змістовний модуль 1

SWEBOK. Інженерія вимог. Проектування програмного забезпечення. Конструювання програмного забезпечення. Тестування програмного забезпечення. Супровід програмного забезпечення. Керування конфігурацією. Керування інженерією програмного забезпечення. Процес інженерії. Методи і інструменти інженерії. Якість програмного забезпечення.

СТАНДАРТ І МОДЕЛІ ЖИТТЄВОГО ЦИКЛУ.

Формування прикладних моделей життєвого циклу.

АНАЛІЗ ТА ВИЗНАЧЕННЯ ВИМОГ ДО ПРОГРАМНИХ СИСТЕМ.

Загальні підходи до визначення вимог. Класифікація вимог. Аналіз і збирання вимог. Інженерія вимог. Фіксація вимог. Трасування вимог.

Об'єктно-орієнтована інженерія вимог. Візуальний підхід. Текстовий підхід.

МЕТОДИ ОБ'ЄКТНОГО АНАЛІЗУ І МОДЕЛЮВАННЯ.

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

Проектування архітектури програмних систем. Загальні підходи до проектування програмних систем. Проектування різних видів архітектур програмних систем.