
- •Лекція 1. Тема: ядра знань swebok
- •1.1. Аналіз і характеристика областей знань swebok
- •1.1.1 Основи програмних вимог (Software Requirements)
- •1.1.2. Проектування пз (Software design)
- •1.1.3. Конструювання пз (Software Construction)
- •1.1.4 Тестування пз (Software Testing)
- •1.1.5 Супровід пз (Software maintenance)
- •1.1.6. Управління конфігурацією пз (Software Configuration Management– scm)
- •1.1.7. Управління інженерією пз (Software Engineering Management)
- •1.1.8. Процес інженерії пз (Software Engineering Process)
- •1.1.9. Методи і засоби інженерії пз (Software Engineering Tools and Methods)
- •Лекція 2. Тема: життєвий цикл і етапи розробки програмного забезпечення
- •Лекція 3. Тема: еволюція моделей життєвого циклу програмного забезпечення
- •1.6. Прискорення розробки пз.
- •Лекція 4. Тема: оцінка якості процесів створення програмного забезпечення
- •Лекція 5. Тема: визначення вихідних даних для проектування програмного забезпечення
- •5.1 Визначення вимог до пз
- •5.2 Формування і аналіз вимог
- •5.2.1 Опорні точки зору
- •5.2.2 Сценарії
- •5.2.3 Етнографічний метод
- •5.3 Специфікація вимог
- •5.4 Атестація вимог
- •5.5 Класифікація програмних продуктів за функціональною ознакою
- •5.6 Основні експлуатаційні вимоги до програмних продуктів
- •5.7 Передпроектні дослідження предметної області
- •Лекція 6. Тема: розробка технічного завдання
- •2. Підстави для розробки
- •3. Призначення
- •4. Вимоги до програми або програмного виробу
- •5. Вимоги до програмної документації
- •1. Вступ
- •2. Підстава для розробки
- •3. Призначення
- •4. Вимоги до програми або програмного виробу
- •4.1. Вимоги до функціональних характеристик
- •Лекція 7. Тема: принципові рішення початкових етапів проектування
- •Контрольні питання і завдання
- •Аналіз вимог і визначення специфікацій програмного забезпечення при структурному підході
- •Лекція 8. Тема: Специфікації програмного забезпечення при структурному підході
- •Flow-форми
- •Діаграми Насси-Шнейдермана
- •Контрольні питання та завдання:
- •Лекція 9. Тема: діаграми потоків даних
- •Словник даних
- •Вміст словника даних
- •Лекція 10. Тема: діаграми «сутність-зв’язок»
- •Лекція 11. Тема: приклади побудови діаграм та специфікації процесів
- •Лекція 12 Тема: діаграми переходів станів
- •13.1. Структурна схема майбутнього програмного забезпечення
- •13.2 Використання методу покрокової деталізації для проектування структури програмного забезпечення
- •13.3 Структурні карти Константайна
- •13.4.Структурні карти Джексона
- •13.5 Характеристики хорошої моделі реалізації
- •Зчеплення
- •Зв’язаність
- •13.6 Функціональна схема
- •Лекція 14. Тема: методології структурного аналізу і проектування
- •Контрольні питання та завдання
- •Лекція 15. Тема: синтаксис діаграм
- •Контрольні питання та завдання
- •Лекція 16. Тема: Синтаксис діаграм
- •Збір інформації
- •Контрольні питання та завдання:
- •Лекція 17. Тема: побудова sadt-діаграм
- •17.2. Побудова sadt-діаграми для процесу “Побудова таблиць/графіків функцій однієї змінної”
- •Типи зв'язків між функціями
- •Лекція 18. Тема: доповнення до діаграм і моделей
- •Критерії оцінки і вибору
- •Функціональні характеристики
- •3. Загальні функції:
Контрольні питання та завдання:
Які методи використовує SADT-аналітик для вивчення предметної області?
Що є джерелами інформації?
Як проводити процес опитування? Що потрібно пам’ятати при опитуванні?
З чого починається моделювання SADT?
Що означає декомпозиція діаграми?
Лекція 17. Тема: побудова sadt-діаграм
17.1 Побудова SADT-діаграми для процесу "Скласти навчальний розклад"
Опишемо весь процес моделювання, використовуючи SADT-методологію, на прикладі процесу "скласти навчальний розклад".
Нагадаємо про допущення зроблені в цьому завданні. Для простоти завдання вважатимемо, що в нашому випадку завжди є вільні викладачі, вільні аудиторії.
Спершу складемо список даних і список функцій, які є в даному процесі (рис17.1).
Список даних |
Список функций |
|
|
Рисунок 17.1 – Організувати процес “Скласти розклад занять”
Рисунок 17.2 – Діаграма А0
Р
исунок
17.3 – Діаграма А-О
Рисунок 17.4 – Декомпозиція блоку А3
17.2. Побудова sadt-діаграми для процесу “Побудова таблиць/графіків функцій однієї змінної”
Розробимо функціональну діаграму на прикладі уточнення специфікацій програми побудови таблиць/графіків функцій однієї змінної. Діаграма, показана на рис. 17.5, а, є діаграмою верхнього рівня. На ній добре видно, що є початковими даними для програми, і яких результатів роботи від неї чекають.
Діаграма, представлена на рис. 17.5, б, уточнює функції програми. На ній показані чотири блоки: Введення/вибір функцій і її розбір, Додавання функції в список, Побудову таблиці значень і Побудова графіка функції. Для кожного блоку визначені початкові дані, керуючі дії і результати. Згідно правилам найменування входів/виходів, що мають продовження на батьківській діаграмі, на діаграмі використані наступні позначення:
I1 - функція
I2 - відрізок
I3 – крок
С1 - вигляд графік/таблиця
О1 - графік функції на відрізку
О2 - таблиця значень функції на відрізку.
С
ловник
в цьому випадку повинен містити опис
всіх даних, що використовуються в
системі.
Функціональну модель доцільно застосовувати для визначення специфікацій програмного забезпечення, що не передбачає роботу з складними структурами даних оскільки вона орієнтована на декомпозицію функцій. SADT-модель – це ще не специфікація. Вона містить добре організовану і точну сукупність інформації, за допомогою якої можна створити специфікацію.
Типи зв'язків між функціями
На SADT-діаграмах явно не вказані ні послідовність, ні час. Проте, зворотні зв'язки, ітерації, процеси, що продовжуються, і функції, що перекриваються (за часом), можуть бути зображені за допомогою дуг. Розрізняють сім типів зв’язування.
Тип випадкового зв'язування
Зв'язок між функціями малий або повністю відсутній.
Рисунок
17.6 – Випадкове зв’язування
Тип логічного зв'язування.
Дані і функції потрапляють в загальний клас або набір елементів, але функціональних відносин між ними немає.
Тип тимчасового зв'язування.
Функції зв’язані в часі, коли їх дані використовуються одночасно або функції включаються паралельно, а не послідовно.
Тип процедурного зв'язування.
Функції виконуються протягом однієї і тієї ж частини циклу або процесу (рис.17.7).
Рисунок
17.7 - Процедурне зв’язування
Тип комунікаційного зв'язування.
Блоки використовують одні і ті ж вхідні дані і/або проводять одні і ті ж вихідні дані (рис.17.8).
Рисунок
17.8 – Комунікаційне зв’язування
Тип послідовного зв'язування.
Вихід однієї функції служить вхідними даними для наступної функції. Моделює причинно-наслідкові залежності (рис.17.9).
Рисунок
17.9 – Послідовне зв’язування
Тип функціонального зв'язування.
Відображає наявність повної залежності однієї функції від іншої. (рис.17.10).
Рисунок
17.10 – Функціональне зв’язування
Функціональний зв'язок, показаний на рисунку, в математичних термінах може мати вигляд: C = g(B)= g(f(A)).