Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л04-5_Методи і мистецтво програмування. Особлив...doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
186 Кб
Скачать
☆

4. Проблеми проектування складних програмних систем

Найбільш істотні риси складних систем:

  1. Наявність загального завдання і єдиної мети програмування для всіх компонент системи.

  2. Велика кількість взаємодіючих частин.

  3. Можливість декомпозиції на функціональні підсистеми.

  4. Ієрархічна структура зв'язку підсистем.

  5. Складність поведінки системи унаслідок випадкового характеру зовнішніх дій і великої кількості зворотних зв'язків усередині системи.

  6. Стійкість ПЗ відношенню до внутрішніх і зовнішніх перешкод, адаптація до зовнішніх обурень.

  7. Висока надійність системи в цілому, побудованою з не абсолютно надійних частин.

Програмні засоби володіють всіма рисами програмних складних систем. Незавершені програмні засоби, що знаходяться на стадії розробки, називаються комплексом програм.

На етапі проектування програмного засобу, система управління або обробки інформації розробляється при обмеженнях двох типів:

  1. Рівень сучасних знань теорії і методів рішення задач, а також принципів побудови алгоритмів.

  2. Технічні параметри засобів і ресурсів:

    • пам'ять;

    • швидкодія;

    • способи обміну інформацією;

    • кадри розробників;

    • фінанси.

5. Основні проблеми при проектуванні програмних засобів

  1. Проблема раціональної структурної побудови комплексу програм (КП). Аспекти:

    • оптимізація структури КП з погляду максимального ефективного використання ресурсів;

    • організація послідовного рішення функціональних задач і оперативної взаємодії із зовнішніми абонентами;

    • контроль обчислювального процесу і забезпечення надійності;

    • контроль достовірності і адаптації;

    • можливість простого коректування КП.

  2. Проблема технології розробки програмного засобу. Аспекти:

  • оптимізація структури КП з погляду максимального ефективного використання ресурсів;

  • організація послідовного рішення функціональних задач і оперативної взаємодії із зовнішніми абонентами;

  • контроль обчислювального процесу і забезпечення надійності;

  • контроль достовірності і адаптації;

  • можливість простого коректування КП.

  1. Проблема стандартизації програмного засобу. Аспекти:

  • стандартизація і автоматизація технічних процесів в створенні програм;

  • стандартизація структури і форми документації на програмні засоби (ЕСПД - єдина система програмної документації).

  • стандартизація правил сполучення програм - міжмодульного інтерфейсу;

  • використання статистичного підходу до оцінки якості програмного засобу

скорочення числа мов програмування, використовуваних при розробці програмного засобу.

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

Весь процес ділиться на робоче і технічне проектування.

Технічне проектування:

1. Розробка технічного завдання. Перелік питань, відбиваних в ТЗ:

  • найменування розробки;

  • джерела розробки;

  • мета і призначення розробки;

  • підстава для розробки;

  • технічні умови (software: операційне середовище, система програмування модулів, система розробки призначеного для користувача інтерфейсу, засоби розробки системи управління даними; hardware: обчислювальна система);

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

  • стадії і етапи розробки (стадії розробки: ознайомлення з технічним завданням; структурне проектування; технічне проектування; документування; приймання-здача; етапи розробки: розробка системи баз даних; розробка призначеного для користувача інтерфейсу і системи допомоги; програмування модулів);

  • терміни розробки, порядок контролю і приймання.

  1. Структурне проектування (визначення структури КП, модулів, розподіл продуктивності комплексу і оцінка пам'яті).

  2. Підготовка технологічних засобів (організація баз даних проекту КП, адаптація систем програмування).

Робоче проектування:

  • Розробка програми (розробка специфікацій на модулі і групи програм, компіляція і компоновка).

  • Налагодження програм в статиці (планування налагодження, тестування програм, локалізація помилок і коректування, комплексування програм).

  • Комплексне динамічне налагодження(вибір засобів для імітації абонентів, розробка програм імітації, створення програм обробки результатів, налагодження КП в реальному масштабі часу).

  • Випуск машинних носіїв і документування (розробка програми-інсталятора, виготовлення дистрибутивних носіїв інформації, виготовлення експлуатаційних, технічних (керівництво програміста) і дослідницьких документів).

  • Випробування програмного засобу (випробування на повноту функціонування, на надійність функціонування, обробка результатів випробувань і розробка сертифікату).

7. СТИЛЬ ПРОГРАМУВАННЯ

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

Основний прийом програмування - включення коментарів в програму. Коментарів повинно бути більше, ніж це здається необхідним. Коментарі не повинні перефразовувати програму, а повинні давати додаткову інформацію. Коментарі бувають ввідні, блокові і операторні. Ввідні коментарі описують призначення і іншу необхідну інформацію для всього програмного засобу; вони передують всім елементам головного файлу програми.

Зміст ввідного коментара:

  1. призначення програми;

  2. вказівка ПЗ виклику програми і її використання;

  3. список і призначення основних змінних і масивів вказівки ПЗ обміну із зовнішніми пристроями, список всіх файлів;

  4. список використовуваних процедур і функцій;

  5. найменування вживаних математичних методів, посилання на літературні джерела, в яких міститься їх опис;

  6. зведення про час виконання програми;

  7. спеціальні вказівки операторам;

  8. необхідний об'єм пам'яті;

  9. відомості про авторів, дата написання або останньої модифікації програми.

Блоковий коментар супроводжує окремі модулі і блоки програми. Операторний коментар описує призначення окремого оператора (коментар з мінімальною інформацією). Коментарі розташовуються так, щоб програма виглядала наочніше.

Пропуск рядків - виділення логічно зв'язаних блоків програми, виділення важливіших коментарів.

Велике значення мають відступи - легко читабельна програма. Число рівнів вкладеності не більше два-три. Останній рівень не виходить за рамки екрану. Середній крок табуляції 3-5.

Перенесення: у арифметичних виразах перенесення виконується після знаку операції, в списках перенесення виконується після роздільника.

Пропуски: виділяють всі конструкції програми (ключові слова, ідентифікатори, знаки операції, окремі оператори, елементи списку і т.д.).

Необхідне використання дужок.

Імена:

  1. Змістовність імен (ім'я нагадує відповідну змінну в початковій програмі;

  2. правила формування імен:

  • включення максимальної інформації про даний об'єкт;

  • для скорочення імені використовувати абревіатуру, яка виключає голосні із слова;

  • при найменуванні об'єктів бажано використовувати префікс або постфікс.

Число операторів в рядку зазвичай один, але допускається декілька.

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

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

  1. Розмір модуля 10-15 непорожніх рядків

  2. Розмір імен 5-10 символів

  3. Коментарі 15-25% від розмірів модуля

  4. Відступи 24-48%

  5. Порожні рядки 15-30%

  6. Довжина рядка 15-25 символів

  7. Пропуски в рядку 4-10

  8. Ідентифіковані константи 15-25%