SoftwareEngeneering_7_a.ppt
- Количество слайдов: 43
Проектування ПЗ Зміст процесу
життєвий цикл ПЗ Етапи розробки: • визначення вимог • • специфікування проектування написання команд – програмування компонування тестування – налагодження документування введення до експлуатації за ЄСПД: розробка технічного завдання ескізний проект технічний проект робочий проект впровадження
Проектування ПЗ SWEBOK. 1 : Визначення базової структури системи на архітектурному й деталізованому рівнях, розбивка на модулі, визначення інтерфейсів модулів і вибір алгоритмів усередині модулів.
Проектування ПЗ SE 2004* (Області навчального матеріалу ): Проектування програмного забезпечення займається проблемами, методами, стратегіями, поданнями й шаблонами, використовуваними для визначення способу реалізації компоненти або системи. Проектування має відповідати функціональним вимогам у межах обмежень, що накладають іншими вимогами, такими як ресурси, продуктивність, надійність і безпека. Дана галузь також містить у собі специфікацію внутрішніх інтерфейсів між компонентами програмного забезпечення, архітектурне проектування, проектування даних, проектування користувальницького інтерфейсу, засоби проектування й оцінку проектування.
Три складові проектування : • ухвалення рішення • структуризація • подання (опис) • • • Аспекти подання ПО: структура ПО; структура даних; потоки даних у програмній системі; стани ПО; опис функціонування.
Послідовний хід процесу проектування • Процес проектування починається після визначення вимог до системи й розвивається, охоплюючи усе більш дрібні його етапи. • Проектування пов'язане з розглядом різних підходів до розв'язання проблеми й із з'ясуванням, чи можуть вони привести нас до цього розв'язання. Цей крок часто пов'язаний із застосуванням методів проб і помилок, повернень до попереднього кроку.
Послідовний хід процесу проектування • Треба проробити ще один крок, щоб зробити отриманий проект більше компактним, чітким, легким для розуміння й пояснення й, отже, для реалізації. Часто цей крок, пов'язаний із синтезацією і зменшенням об'єму проекту, пропускається. • На наступному кроці створюється проект верхнього рівня. Положення, сформульовані в ньому, слугують вихідними вимогами для робіт зі створення проектів, більш низьких рівнів. Повторним застосуванням цьго кроку до більш низьких рівнів проекту ми створюємо цілу серію проектів. Це триває доти, поки не буде створений проект самого нижнього рівня.
Процес проектування
Рівні проекту
Методології проектування програмного забезпечення "зверху вниз", "знизу нагору", "розширення ядра".
Метод спадного проектування подібний до методу одержання детального зображення з більше загального виду за допомогою телескопічного збільшення. На початковому кроці формується пропозиція, що описує функцію всієї програми. Потім визначаються її підфункції. Ця процедура є рекурсивної, тобто, кожна з підфункцій може розчленовуватися доти, поки її складові частини не будуть остаточно уточнені.
• При використанні методу висхідного проектування в першу чергу визначаються допоміжні функції, які можуть знадобитися для проектованої програми. • Метод розширення ядра відрізняється від способу спадного проектування: а в ньому більше уваги спочатку приділяється виявленню множини допоміжних функцій, а не визначенню функції всієї програми в цілому.
Засоби подання проекту ПЗ Структура програми
Діаграми потоків даних Data Flow Diagrams (DFD)
Діаграми потоків даних є засобами опису структури програмного забезпечення. З їхньою допомогою вимоги розбиваються на функціональні компоненти (процеси) і представляються у вигляді мережі, зв'язаної потоками даних. Головна мета таких засобів - продемонструвати, як кожний процес перетворить свої вхідні дані у вихідні, а також виявити відносини між цими процесами. Компонентами моделі є: ü діаграми; ü словники даних; ü специфікації процесів.
Для зображення DFD традиційно використовуються дві різні нотації: Йодана (Yourdon) і Гейна-Сарсона (Gane-Sarson)
DFD в нотації Гейна-Сарсона
Словник даних певним чином організований список всіх елементів дані системи з їхніми точними визначеннями. Для кожного потоку даних у словнику необхідно зберігати ім'я потоку , його тип й атрибути. По типу потік може бути • простий або груповий • внутрішній або зовнішній • потік даних або управління • безперервний або дискретний
Атрибути потоку даних включають: • імена-синоніми потоку даних відповідно до вузлів зміни імені • БНФ-визначення у випадку групового потоку • одиниці виміру потоку • діапазон значень для безперервного потоку • список значень для дискретного потоку • список номерів діаграм, у яких потік зустрічається • список потоків, у які даний потік входить (як елемент БНФ- нотації)
Специфікація процесу використовується для опису функціонування процесу у випадку відсутності необхідності деталізувати його за допомогою DFD. Фактично специфікація являє собою алгоритм опису задач, виконуваних процесами. Множина всіх специфікацій процесу є повною специфікацією системи. Специфікація процесу містить: • номер й/ або ім'я процесу; • списки вхідних і вихідних даних; • тіло (опис) процесу. Відомі наступні методи специфікацій процесу: текстовий опис, структурована природна мова, таблиця рішень, дерево рішень, візуальна мова, мова програмування
Мова структурного аналізу (SA)
Блок дії
Мова структурного аналізу (SA)
Мова структурного аналізу (SA) Ієрархія діаграм (SA)
Мова SDL (Specification and Description Language) а) діаграми опису систем середовище система канал зв'язку блок = підсистемний процес
Мова SDL (Specification and Description Language) а) діаграми процесів process Lift const N=20; /* число поверхів */ TYPE FLOOR = 1. . N; /* поверх */ VAR X : FLOOR; /* поверх лифту */ Y : FLOOR; /* поверх виклику */ INSIGNAL S(FLOOR); /* з'являється при натиску кнопки, несе номер поверху */ E(FLOOR); /* з'являється при перетину поверху, несе номер поверху */ OUTSIGNAL UP; /* команда рухатися вгору */ DOWN; /* команда рухатися донизу */ STOP; /* зупинитися */
Мова SDL (Specification and Description Language) а) діаграми процесів початковий стан рух вгору рух вниз
Схеми Варньє Орра
Схеми HIPO ( Hierarchy Input Processing Output -- Ієрархія ввід обробка вивід)
Схеми HIPO
Схеми HIPO
Функціональні схеми
Структура даних нотація Джексона послідовність вибір повторення
Приклад: Програма підготовки звіту
Структурні схеми
Інші засоби • • Блок - схеми Діаграми Нассі – Шнейдермана Р- схеми то що
Подання станів системи
Діаграми станів
Діаграми станів (інша нотація)
Діаграми станів (UML)
Діаграми станів (UML)
Мережі Петрі
Мережі Петрі Послідовність станів мережі Петрі


