- •Лекція 0. Вступ. Цілі, завдання і місце курсу
- •1. Мета викладання курсу
- •2. Завдання вивчення курсу
- •3. Дисципліни, засвоєння яких необхідне при вивченні курсу
- •4. Характеристика курсу
- •5.1. Література
- •5.2. Інформаційні ресурси мережі Інтернет
- •Лекція 1. Введення у технологію програмування
- •1. Термінологія індустрії ПЗ
- •1.1. Програмування
- •1.2. IT-проекти
- •1.3. Програми і програмне забезпечення (програмні продукти)
- •2. Бізнес і IT-проекти. Ринок ПЗ.
- •3. Про предмет
- •5. Виникнення Технології розробки ПЗ
- •5.1. Коротка історія програмування
- •5.2. Терміни “Технологія”, “Методологія” і “Програмна інженерія”
- •5.3. Стратегії розробки ПЗ
- •6. Огляд технологій програмування
- •6.1. Структурне програмування
- •6.2. Модульне програмування
- •6.4. Компонентне програмування
- •6.5. Висновки з лекції
- •Лекція 2. Елементи програмної інженерії
- •1. Програмна інженерія, основні поняття
- •1.1. Інженери і програмні інженери
- •1.2. Програмна інженерія як інженерна дисципліна
- •1.3. Область дії програмної інженерії
- •2. Цілі програмних інженерів
- •2.1. Поняття “якості” програмного продукту
- •2.2. Створення ПЗ повинно вкладатися до бюджету
- •2.3. Створення ПЗ повинно вкладатися в терміни
- •3. Забезпечення надійності розробки ПЗ
- •3.1. Забезпечення точності інтерпретації
- •3.2. Подолання бар'єру між користувачем і розробником
- •3.3. Контроль ухвалюваних рішень
- •3.4. Програмні інженери і наукове середовище
- •4. Складність програмної системи
- •4.1. Методи боротьби зі складністю
- •5. Моделі якості процесів розроблення ПЗ
- •Лекція 3. Організація технологічного процесу розробки ПЗ
- •1. Процес створення програмного забезпечення
- •1.1. Основні стадії типового процесу створення ПП
- •2. Життєвий цикл та моделі процесу розробки ПЗ
- •2.1. Каскадна модель (Waterfall model)
- •2.2. Макетування (прототипіювання)
- •2.3. Інкрементна модель
- •2.4. Модель Швидкої Розробки (RAD)
- •2.5. Спіральна модель
- •3. “Важкі” і “полегшені” процеси
- •4. ХР-процесс
- •Лекція 4. Оцінка програмного проекту по СОСОМО
- •1. Процес управління проектом
- •1.1. Початок проекту
- •1.2. Оцінювання, заходи і метрики
- •1.3. Процес оцінки
- •1.4. Аналіз ризиків
- •1.5. Планування
- •1.6. Трасування і контроль
- •2. Планування проектних завдань
- •3. Розмірно-орієнтовані метрики
- •4. Функціонально-орієнтовані метрики
- •5. Оцінка проекту на основі LOC- і FP-метрик
- •Лекція 5. Проектування програмних систем
- •1. Особливості процесу синтезу програмних систем
- •2. Особливості етапу проектування
- •3. Структуризація системи
- •4. Моделювання управління
- •5. Декомпозиція підсистем на модулі
- •6. Модульність
- •7. Інформаційна закритість
- •8. Зв'язність модуля
- •8.1. Функціональна зв'язність
- •8.2. Інформаційна зв'язність
- •8.3. Комунікативна зв'язність
- •8.4. Процедурна зв'язність
- •8.5. Часова зв'язність
- •8.7. Випадкова Зв'язність
- •8.8. Визначення зв'язності модуля
- •9. Зчеплення модулів
- •10. Складність програмної системи
- •11. Характеристики ієрархічної структури програмної системи
- •Лекція 6. ПОБУДОВА АРХІТЕКТУРИ ПП
- •1. Поняття архітектури програмного засобу.
- •2. Основні принципи проектування архітектури
- •3. Основні питання архітектора ПП
- •4. Архітектурні стилі (шаблони) ПП
- •5. Поєднання архітектурних стилів
- •6. Основні класи архітектур ПП
- •6.1. Цілісна програма
- •6.2. Архітектура ППП
- •6.3. Архітектура, заснована на шині повідомлень
- •6.4. Архітектура клієнт/сервер
- •6.6. Багатошарова архітектура
- •6.8. Компонентна архітектура
- •6.10. Сервісно-орієнтована архітектура
- •7. 4. Контроль архітектури ПП
- •Лекція 7. Розробка Програм, Модульне Програмування
- •1. Поняття модульного програмування
- •1.1. Основні характеристики програмного модуля.
- •1.2. Методи розробки структури програми.
- •1.3. Контроль структури програми.
- •2. Розроблення програмних модулів
- •2.1. Порядок розробки програмного модуля
- •2.2. Структурне програмування модуля
- •2.3. Покрокова деталізація і поняття про псевдокод.
- •Лекція 8. Тестування і відлагодження ПЗ
- •1. Основні поняття тестування і відлагодження
- •2. Основні підходи і принципи відлагодження.
- •2.1. Заповіді відлагодження.
- •2.2. Автономна відладка модулів
- •2.3. Проміжна відладка програмного засобу
- •2.4. Комплексна відладка програмного засобу.
- •3. Організація процесу тестування ПЗ
- •3.1. Тестування елементів
- •3.2. Інтегральне Тестування ПП
- •3.3. Низхідне тестування інтеграції
- •3.4. Висхідне тестування інтеграції
- •3.5. Порівняння низхідного і висхідного тестування інтеграції
- •4. Види Тестування
- •4.1. Тестування правильності
- •4.2. Системне тестування
- •4.3. Тестування відновлення
- •4.4. Тестування безпеки
- •4.5. Стресове тестування
- •4.6. Тестування продуктивності
Лекція 4. Управління програмним проектом.
5. Оцінка проекту на основі LOC- і FP-метрик
Мета цієї діяльності — сформувати попередні оцінки, які дозволять:
пред'явити замовникові коректні вимоги за вартістю і витратами на розробку програмного продукту;
скласти план програмного проекту.
При виконанні оцінки можливі два варіанти використання LOC- і FP-данных: як оцінні змінні, що визначають розмір кожного елементу продукту; як метрики, що зібраних за минулі проекти і входять в метричний базис фірми.
Обговоримо кроки процесу оцінки.
Крок 1. Область призначення проектованого продукту розбивається на ряд функцій, кожну з яких можна оцінити індивідуально:
f1, f2, fn.
Крок 2. Для кожної функції fi, планувальник формує кращу LOC+ (FР+), гіршу LOC- (FР-) і вірогідну оцінку LOC0 (FР0). Використовуються досвідчені дані (з метричного базису) або інтуїція. Діапазон значення оцінок відповідає ступеню передбаченої невизначеності.
Крок 3. Для кожної функції, відповідно до розподілу, обчислюється очікуване значення LOC (або FP) оцінки:
LOCоч =(LOC+ + LOC- +4*LOC0 )/ 6.
Крок 4. Визначається значення LOC або FP продуктивності розробки функції.
Використовується один з трьох підходів:
1)для всіх функцій приймається одна і та ж метрика середньої продуктивності Продср, узята з метричного базису;
2)для i-ї функції на основі метрики середньої продуктивності обчислюється величина продуктивності, що настроюється:
Продi =Продср * (LOCср /LOCоч i),
де LOCcp — середня LOC оцінка, узята з метричного базису (відповідає середній продуктивності);
3)для i-ї функції величина продуктивності, що настроюється, обчислюється по аналогу, узятому з метричного базису:
Продi =Продан i * (LOCан i /LOCоч i).
Перший підхід забезпечує мінімальну точність (при максимальній простоті обчислень), а третій підхід — максимальну точність (при максимальній складності обчислень).
Крок 5. Обчислюється загальна оцінка витрат на проект: для першого підходу
ЗАТРАТИ = (∑n LOCочi ) / Продср[люд.- міс];
i=1
для другого і третього підходів
ЗАТРАТИ = ∑n (LOCочi / Продi )[люд.- міс].
i=1
Крок 6. Обчислюється загальна оцінка вартості проекту: для першого і другого підходів
ВАРТІСТЬ = (∑n LOCочi ) ×ПИТ_ВАРТІСТЬср ,
i=1
де ПИТ_ВАРТІСТЬср — метрика середньої вартості одного рядка, узята з метричного базису. для третього підходу
ВАРТІСТЬ = ∑n (LOCочi ×ПИТ_ВАРТІСТЬанi ),
i=1
де ПИТ_ВАРТІСТЬан i — метрика вартості одного рядка аналога, узята з метричного базису.
42
