загрузка...
загрузка...
На головну

Лекція № 11. Структурний підхід. Проектування програмного забезпечення

  1.  VII. Матеріали методичного забезпечення заняття.
  2.  АВТОМАТИЗОВАНЕ ПРОЕКТУВАННЯ ТЕХНОЛОГІЇ І ОБЛАДНАННЯ
  3.  Адміністративно-правова організація в сфері забезпечення державної безпеки.
  4.  Аналіз забезпечення ресурсами
  5.  Аналіз вимог і визначення специфікацій програмного забезпечення при об'єктному підході
  6.  Анатомо-фізіологічні механізми забезпечення безпеки і захисту людини від негативних впливів
  7.  Антонов А. І., Борисов В. А. Лекції по демографії. М., 2011. Лекція 7. С. 373-416.

Зміст лекції: розробка структурної і функціональної схем; проектування структур даних.

Мета лекції: ознайомитися з проектуванням ПО при структурному підході.

Процес проектування складного програмного забезпечення починають з уточнення його структури, т. Е. Визначення структурних компонентів і зв'язків між ними. Результат уточнення структури може бути представлений у вигляді структурної і / або функціональної схем і опису (специфікацій) компонентів.

структурної називають схему, яка відображатиме склад і взаємодія з управління частин розробляється ПО. Структурні схеми пакетів програм не інформативні, оскільки організація програм в пакети не передбачає передачі управління між ними. Тому структурні схеми розробляють для кожної програми пакета, а список програм пакета визначають, аналізуючи функції, зазначені в технічному завданні.

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

Малюнок 11.1 - Приклад схем програмного комплексу: а) структурної;

б) функціональної

Структурна схема програмної системи показує наявність підсистем або інших структурних компонентів. На відміну від програмного комплексу окремі частини (підсистеми) програмної системи інтенсивно обмінюються даними між собою і з основною програмою. Структурна схема програмної системи цього не показує (рисунок 11.2а).

Малюнок 11.2 - Приклад схем програмної системи: а) структурної;

б) функціональної

Більш повне уявлення про проектований ПО з точки зору взаємодії його компонентів між собою і з зовнішнім середовищем дає функціональна схема. функціональна схема (схема даних, ГОСТ 19.701-90) - схема взаємодії компонентів ПО з описом інформаційних потоків, складу даних в потоках і зазначенням використовуваних файлів і пристроїв. Для зображення функціональних схем використовують спеціальні позначення, встановлені стандартом. Основні позначення схем даних наведені в таблиці Г.1. Функціональні схеми більш інформативні, ніж структурні. На малюнках 11.1б і 11.2б наведені функціональні схеми програмних комплексів і систем. Всі компоненти структурних і функціональних схем повинні бути описані. Слід ретельно опрацьовувати специфікації міжпрограмних інтерфейсів, так як від якості їх опису залежить кількість найдорожчих помилок, до яких відносяться помилки, які виявляються при комплексному тестуванні.

Структурний підхід до програмування спочатку пропонував здійснювати декомпозицію програм методом покрокової деталізації. Результат - структурна схема програми, т. Е багаторівнева ієрархічна схема взаємодії підпрограм з управління. Мінімально така схема відображає два рівня ієрархії (показує загальну структуру програми). Той же метод дозволяє отримати структурні схеми з великою кількістю рівнів. Розбиття на модулі виконується евристичний, виходячи з рекомендованих розмірів модулів (20-60 рядків) і складності структури (2-3 вкладених керуючих конструкції). Для аналізу технологічності ієрархії модулів використовують методики Константайна або Джексона [4].

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

Практично одночасно з'явилися методики проектування ПО Джексона и Варнье-Орра, Також засновані на декомпозиції даних. Обидві методики призначені для створення «простих» програм, які працюють зі складними, але ієрархічно організованими структурами даних. При розробці програмних систем пропонується спочатку розбити систему на окремі програми, а потім використовувати ці методики. Вони можуть використовуватися тільки в тому випадку, якщо дані розроблюваних програм можуть бути представлені у вигляді ієрархії або сукупності ієрархій.

Методика Джексона заснована на пошуку відповідників структур вихідних даних і результатів. Однак при її застосуванні можливі ситуації, коли на якихось рівнях відповідності відсутні. Наприклад, записи вихідного файлу сортовані не в тому порядку, в якому відповідні рядки повинні з'являтися в звіті. Такі ситуації були названі «зіткненнями».

Методика Варнье-Орра базується на тому ж положенні, що і методика Джексона, але основними при побудові програми вважаються структури вихідних даних і, якщо структури вхідних даних не відповідають структурам вихідних, то їх допускається змінювати. Таким чином, ліквідується основна причина зіткнень. Однак на практиці не завжди існує можливість перегляду структур вхідних даних: ці структури вже можуть бути строго задані, наприклад, якщо дані отримані при виконанні інших програм, тому цю методику застосовують рідше.

під проектуванням структур даних розуміють розробку їх уявлень в пам'яті [6]. Основними параметрами, які необхідно враховувати при проектуванні структур даних, є:

вид інформації, що зберігається кожного елемента даних - визначає тип відповідного поля пам'яті;

зв'язку елементів даних і вкладених структур, а також сукупність операцій над ними - визначають структури пам'яті, що використовуються для представлення даних;

час зберігання даних структури ( «час життя») - враховується при розміщенні даних в статичної або динамічної пам'яті, а також у зовнішній пам'яті.

Розрізняють дві базові структури організації даних в оперативній пам'яті: векторну и списковую. векторна структура - Сукупність електронних даних пам'яті, які використовуються для розміщення полів даних. Послідовне розміщення організованих структур даних дозволяє здійснювати прямий доступ до елементів: за індексом (в масивах або рядках) або по імені поля (в записах або об'єктах). Однак виконання операцій додавання і видалення елементів для розміщення елементів масивів вимагає здійснення багаторазових зрушень елементів. Розташування векторних уявлень в динамічної пам'яті дозволяє істотно збільшити ефективність використання оперативної пам'яті. спискові структури будують зі спеціальних елементів, що включають крім інформаційної частини один або кілька покажчиків - адрес елементів або вкладених структур, пов'язаних з цим елементом. Розміщуючи їх в динамічної пам'яті, організовують різні внутрішні структури. Зазвичай векторне подання використовують для зберігання статичних множин, таблиць (одновимірних і багатовимірних: матриць, рядків, записів), а також графів, представлених матрицею суміжності, матрицею інцидентності або аналітично [10]. Спискові уявлення зручно для зберігання динамічних (змінних) структур і структур зі складними зв'язками.

Сучасні операційні системи підтримують два способи організації даних у зовнішній пам'яті: послідовний и з прямим доступом. При послідовному доступі до даних можливе виконання тільки послідовного читання елементів даних або послідовна їх запис (робота з клавіатурою або дисплеєм, обробка текстових файлів або файлів, формат записів яких змінюється в процесі роботи). прямий доступ можливий тільки для дискових файлів, обмін інформацією з якими здійснюється записами фіксованої довжини (виконавчі файли З або типізовані файли Pascal). Адреса запису такого файлу можна визначити по її номеру, що і дозволяє безпосередньо звертатися до потрібного запису. В оперативній пам'яті розміщують дані, до яких Ви хочете отримувати швидкий доступ як для читання, так і для їх зміни; у зовнішній - дані, які потрібно буде відновити після завершення програми.

Можливо, що під час роботи дані доцільно зберігати в оперативній пам'яті для прискорення доступу до них, а при її завершенні - переписувати в зовнішню пам'ять для тривалого зберігання. Саме цей спосіб використовують більшість текстових редакторів: під час роботи з текстом він весь або його частина розміщується в оперативній пам'яті, звідки при необхідності переписується в зовнішню пам'ять. У подібних випадках розробляють два представлення даних: в оперативній і у зовнішній пам'яті.

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

Додаткову інформацію по темі можна отримати в [1, 4, 6, 8, 10].





 Лекція № 2. Розробка складних програмних систем |  Лекція № 3. Життєвий цикл програмного забезпечення |  Лекція № 4. Швидка розробка додатків. Технологічність програмного забезпечення |  Лекція № 6. Структурний і «Неструктурні» програмування |  Лекція № 7. Визначення вимог до програмного забезпечення та вихідних даних для його проектування |  Лекція № 8. Принципові рішення початкових етапів проектування |  Лекція № 9. Алгоритмічні мови та вимоги до них |  Лекція № 13. Інтерфейси |  Лекція № 14. Особливості розробки призначених для користувача інтерфейсів |  Лекція № 15. Компоненти для користувача інтерфейсів. Технологія Drag & Drop |

загрузка...
© um.co.ua - учбові матеріали та реферати